
# 所有NPC台词检查长度（≤12词）
npc_all = [
    (4, "Jay", "A customer is here!"),
    (6, "Lin", "Oh. It's you..."),
    (7, "Lin", "What are you here for?"),
    (9, "User", "This is my new robot friend, Bingo."),
    (10, "User", "He needs to charge."),
    (11, "User", "Do you have a charger?"),
    (12, "Lin", "Charger?!"),
    (13, "Lin", "We don't even have one for Eleven!"),
    (15, "User", "What?! What happened to you?"),
    (17, "Jay", "Waaah!"),
    (18, "Lin", "Waaah!"),
    (20, "Jay", "This month...We only made eighty Vala coins..."),
    (23, "Lin", "That's not a lot!"),
    (24, "Jay", "You don't understand!"),
    (25, "User", "Oh, I'm sorry... And then?"),
    (26, "Lin", "And then... We slept too long."),
    (27, "Lin", "Boss got angry."),
    (28, "Jay", "Very very angry!!!"),
    (29, "Lin", "So he took seventy!"),
    (30, "Lin", "Now we only have ten."),
    (31, "Jay", "Only ten!"),
    (35, "User", "Oh... I'm sorry to hear that..."),
    (36, "Lin", "And that's not all."),
    (37, "Lin", "Eleven has already..."),
    (39, "User", "What?! What are you doing to Eleven?!"),
    (40, "User", "Stop it! Let Eleven go!"),
    (42, "Jay", "No no no! We are not hurting it!"),
    (43, "Jay", "Potato can help Eleven!"),
    (44, "User", "What?"),
    (45, "Lin", "Yes. Eleven can only use potato power now."),
    (47, "User", "Potato... can charge?!"),
    (48, "Jay", "Yes! It is slow, but it works!"),
    (49, "Lin", "That helps a lot for Eleven."),
    (50, "User", "Wow..."),
    (52, "User", "Oh! Jay, Lin."),
    (54, "Lin", "What?"),
    (56, "User", "We tried a lot of chargers."),
    (57, "User", "But none of them worked for him."),
    (59, "Bingo", "Please help Bingo..."),
    (60, "Jay", "Oh... pool Bingo..."),
    (61, "Jay", "Sure! We can help!"),
    (62, "Lin", "But we need to make some new potato chargers."),
    (64, "User", "But... I have no potatoes..."),
    (65, "Jay", "Don't worry!"),
    (66, "Jay", "We have about seventy potatoes here!"),
    (70, "Jay", "I got this!"),
    (72, "Jay", "Oh no!"),
    (74, "Lin", "Hey, how long is this going to take!"),
    (77, "Jay", "Good idea!"),
    (84, "Jay", "They are up there!"),
    (85, "Jay", "I'll get it."),
    (87, "Jay", "Let me try..."),
    (88, "User", "Watch out, Jay!"),
    (90, "Jay", "Ow!"),
    (92, "User", "Jay, are you ok?"),
    (94, "Jay", "I'm... O...OK... Ow!"),
    (95, "Lin", "Who told you to put the chip up so high?"),
    (96, "Lin", "I can't get it either!"),
    (99, "Lin", "Oh, good."),
    (100, "Lin", "Let me try."),
    (102, "Lin", "Here you are."),
    (103, "User", "Thank you!"),
    (106, "Jay", "These are all our chips..."),
    (107, "Jay", "Don't waste them."),
    (109, "User", "I will!"),
    (110, "Lin", "Now... last one."),
    (111, "Lin", "We need Wires."),
    (112, "User", "Where are the wires?"),
    (113, "Jay", "We don't have wires any more..."),
    (115, "Lin", "We have to take them from our machines."),
    (116, "Jay", "No!"),
    (118, "Jay", "This is all we have!"),
    (120, "Bingo", "Bingo... Need... Power..."),
    (121, "Eleven", "Bip-Bop... Eleven...too..."),
    (122, "Lin", "See?! We have to!"),
    (123, "Lin", "For Eleven! For Bingo!"),
    (125, "Jay", "OK! I'll help too."),
    (126, "Jay", "Waaah!"),
    (127, "Lin", "Waaah!"),
    (131, "Jay", "Seventy... not enough..."),
    (132, "Lin", "One more... come on..."),
    (133, "Lin", "The last one!"),
    (134, "Lin", "...Goodbye, my machines."),
    (135, "Lin", "Now we can make potato chargers."),
    (136, "Jay", "Let me tell you how to make it!"),
    (139, "Lin", "We all done! Let's charge him!"),
    (142, "User", "It's going up!"),
    (144, "Jay", "Great! Don't stop!"),
    (147, "User", "Bingo is almost full!"),
    (148, "Jay", "Great! Keep going!"),
    (149, "Lin", "Oh no!!!"),
    (150, "User", "What happened?"),
    (152, "Jay", "The potatoes... All gone?!"),
    (153, "Lin", "That's all our potatoes for a month!"),
    (155, "Eleven", "Bip-Bop..."),
    (156, "Eleven", "Eleven is... going to be... a no-power bear..."),
    (157, "Jay", "Eleven! No!!!"),
    (159, "Lin", "We used everything to help Bingo..."),
    (160, "Lin", "And now Eleven has nothing..."),
    (162, "Bingo", "You helped me."),
    (163, "Bingo", "I want to help you too."),
    (164, "Bingo", "But... I don't know how..."),
    (166, "User", "Wow!!"),
    (167, "Lin", "Bingo is going down... Eleven is going up..."),
    (169, "User", "The power is moving!"),
    (170, "Eleven", "Bip-Bop... I feel better now!"),
    (172, "Bingo", "Hoo-Hooray!"),
    (173, "Eleven", "Bip-Bop...But Bingo still has no power."),
    (174, "Eleven", "What should we do?"),
    (175, "User", "Humm... I don't know if Vicky found a way…"),
    (176, "User", "Come on, Bingo, let's go to Vicky's home."),
]

print("=" * 60)
print("台词长度检查（NPC单句≤12词）")
print("=" * 60)

for line_no, char, text in npc_all:
    # 去掉省略号等不算词
    clean = text.replace("...", " ").replace("?!", " ").replace("!", "").replace("?", "").replace(",", "").strip()
    words = [w for w in clean.split() if w]
    if len(words) > 12:
        print(f"❌ 行{line_no} ({char}, {len(words)}词): {text}")

print("\n" + "=" * 60)
print("拼写检查")
print("=" * 60)

# 检查常见拼写错误
for line_no, char, text in npc_all:
    if "pool " in text.lower() and "pool" in text.lower():
        # pool vs poor
        if "pool bingo" in text.lower() or "pool eleven" in text.lower():
            print(f"❌ 行{line_no} ({char}): 'pool' 应为 'poor' → {text}")
    if "wires" in text.lower() and text[0].isupper():
        # Wires 不需要大写
        if "Wires" in text and "We need Wires" in text:
            print(f"⚠️ 行{line_no} ({char}): 'Wires' 不需要大写 → {text}")
    if "humm" in text.lower():
        print(f"⚠️ 行{line_no} ({char}): 'Humm' 通常拼写为 'Hmm' → {text}")

# 检查 "We all done" 语法
for line_no, char, text in npc_all:
    if "We all done" in text:
        print(f"⚠️ 行{line_no} ({char}): 'We all done' 应为 'We're all done' 或 'All done' → {text}")

