From f8cff7efd8fa628787d218e0af883e6094d6b48c Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Fri, 17 Jan 2020 14:35:15 -0300 Subject: Purge unused data from Constable Perry, strengthen AF King error handling. --- npc/003-1/constableperry.txt | 102 +++++++++++++++++++++++++++---------------- npc/024-7/afking.txt | 2 +- 2 files changed, 66 insertions(+), 38 deletions(-) diff --git a/npc/003-1/constableperry.txt b/npc/003-1/constableperry.txt index 934aa776d..95bbf9097 100644 --- a/npc/003-1/constableperry.txt +++ b/npc/003-1/constableperry.txt @@ -7,7 +7,7 @@ // Part of the THIEF/MERCHANT branches 003-1,47,75,0 script Constable Perry NPC_MOUBOO,{ - //if (JobLevel > 20 && THIEF_RANK == 0) goto L_Quest; + if (getequipid(EQI_HEAD_TOP) == AFKCap) goto L_Quest; L_Intro: mesn; @@ -26,54 +26,82 @@ L_Intro: close; L_Quest: - if (MERC_RANK == 0) - goto L_Recruit; - mesn; - mesq l("Hello there, @@, protector of law and order.", mercrank()); - if (MERC_RANK == 5) close; - mesq l("I see you have collected some experience. Let me try to rank you up!"); - next; - if (MERC_EXP > (MERC_RANK*2)**5) { - MERC_EXP-=(MERC_RANK*2)**5; - MERC_EXP=(MERC_EXP/20); // Penalty for postponing rank up (you keep 5%) - MERC_RANK+=1; + // Quest Requeriment of 48 hours + if (AFKING < 57600) { + npctalkonce l("What's that? He seems to be AFK but is not?"); + if (.@touchevent) + end; + else + goto L_Intro; + } + // No warning given + if (!@afkbotwarned) { mesn; - mesq l("Congrats! You rank up! You are now a(n) @@!", mercrank()); - if (MERC_RANK == 2) goto L_Rank2; - } else { + mesq l("Stop right there, meliant. I can see you're AFK, it is written in your hat!"); + next; mesn; - mesq l("Well, you need more experience. Keep trying!"); + mesq l("Moving while AFK is botting! I'll send you to a %s if you move while AFK! YOU HAVE BEEN WARNED!", b(l("cold, hard, iron cell"))); + @afkbotwarned=true; + close; } close; -L_Recruit: +L_NowYouHaveDoneIt: mesn; - mesq l("You seem to be doing some money. Would you consider fighting for good, and against all thieves?"); - mesq l("...Of course, Hasan is an exception."); - mesc l("Notice: If you join the ##BMerchants Guild Police##b now, you WON'T BE ABLE to be a thief later!"), 1; - next; - if (askyesno() == ASK_YES) { - MERC_EXP=0; - MERC_RANK=1; - mes ""; - mesn; - mesq l("Welcome to the ##BMerchant Guild Police##b! Capture anyone doing an evil-doing!"); - } else { - goto L_Intro; - } - close; - -// Learn ADD_WEIGHT -L_Rank2: - skill(ALL_INCCARRY,1,0); + mesq l("NOW YOU HAVE DONE IT! By the powers to me vested as a Constable and Game Master, I sentence you to HALF HOUR IN A %s!", b(strtoupper(l("cold, hard, iron cell")))); next; mesn; - mesq l("Now, you'll learn a merchant trick! This one allows you to carry more weight with you! Ka-pow! Amazing!"); + mesq l("Do you have any last wishes before being JAILED for your CRIMES?!"); next; + select + l("Please tell my mom I love her!"), + l("Pinkies forever! Oh yeah!"), + l("I did nothing wrong! I am not AFK!"), + l("Can I have a Blanket, at least?"), + l("Please tell everyone I am a rogue person who likes to break rules!"), + l("I am a thief! I want to repent for my sins!"), + l("No, sir."); + mes ""; mesn; - mesq l("With two extra kilograms you can trade more, or bring thief-killing items! Good luck!"); + switch (@menu) { + case 2: + mesq l("Hmph, you are the second activist I see today! TO THE BRIG!"); + break; + case 3: + mesq l("Every bot says that."); + break; + case 4: + .@q=getq(FrostiaQuest_AFKCap); + if (.@q == 2) { + mesq l("Uh, sure. We mouboos are not cruel. But it might not be your size."); + getitem Blanket, 1; + setq1 FrostiaQuest_AFKCap, 3; + } else { + mesq l("This is not the first time you're arrested for AFK botting, so, NO!"); + } + break; + case 5: + mesq l("Hmph, that would only incite bad behavior! No way!"); + break; + case 6: + mesq l("You have no proof that you have robbed vaults or sided with Ben Parkison, the Thieves Guild Master."); + break; + default: + mesq l("..."); + break; + } + atcommand("@jailfor 30mn "+strcharinfo(0)); + dispbottom l("Use %s to see how long you need to wait.", b("@jailtime")); close; +OnTouch: + .@touchevent=true; + if (@afkbotwarned) + goto L_NowYouHaveDoneIt; + if (getequipid(EQI_HEAD_TOP) == AFKCap) + goto L_Quest; + end; + OnInit: .sex = G_MALE; .distance = 5; diff --git a/npc/024-7/afking.txt b/npc/024-7/afking.txt index a27c62fd4..901440ece 100644 --- a/npc/024-7/afking.txt +++ b/npc/024-7/afking.txt @@ -54,7 +54,7 @@ case 1: // Mission accepted AFItemList(); break; - case 2: // Mission complete + default: // Mission complete npctalkonce l("*AFK: I am Away From Keyboard*"); end; break; -- cgit v1.2.3-70-g09d2