summaryrefslogtreecommitdiff
path: root/npc/003-1/constableperry.txt
blob: 95bbf90976053261e422f1f882c4f000ce1c9dc4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
// TMW2 Scripts.
// Author:
//    Saulc
//    Jesusalva
// Description:
//    Constable Perry invites players to the TMW2 Project
//    Part of the THIEF/MERCHANT branches

003-1,47,75,0	script	Constable Perry	NPC_MOUBOO,{
    if (getequipid(EQI_HEAD_TOP) == AFKCap) goto L_Quest;

L_Intro:
    mesn;
    mesq l("Hello there! I am a constable. I keep law and order here.");
    next;
    mesq l("Yes, I am a mouboo. Why? Can't a mouboo be a law and order enforcer?!");
    next;
    mesq l("Have you ever felt struck? Lost? Didn't know about a quest, or an item is troubling you?");
    mesq l("Have no idea where in the world you are? Or what a certain mob drops, or even if you should challenge it?");
    next;
    mesn;
    mesq l("Fear not! You can check our [@@https://gitlab.com/TMW2/Docs/wikis/home|Wiki@@] to find that and other awesome stuff!");
    mesc l("(To see the rules, use ##B@rules##b.)");
    next;
    mesq l("You can even join the project there. Contributors are greatly appreciated! %%N");
    close;

L_Quest:
    // 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("Stop right there, meliant. I can see you're AFK, it is written in your hat!");
        next;
        mesn;
        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_NowYouHaveDoneIt:
    mesn;
    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("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;
    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;
    end;
}