summaryrefslogtreecommitdiff
path: root/npc/000-2-1/rumly.txt
blob: b2d59620834906b2a4fa0ef3994c64b7e587095b (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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
// Evol scripts.
// Authors:
//    Vasily_Makarov
// Description:
//    Stat resetter.
// Variables:
//    General_Rumly
// Values:
//    0  Player hasn't met Rumly
//    1  Last time player has told that he will never come back
//    2  Last time player has told that he will come back later
// Others:
// .@visited - Rumly actual variable
// .@wasSP - free status points before reset

000-2-1,67,25,0	script	Rumly	NPC_RUMLY,{

    setnpcdir "Rumly", 2;
    stopnpctimer;
    initnpctimer;

    speech 4,
        l("Hey do you have any plushrooms on you?");

L_Menu:
    .@visited = getq(General_Rumly);

    menuint
        l("Plushrooms you say?"), 0,
        l("Who are you?"), 1,
        rif(.@visited >  0, l("Can you reset my stats please?")), 2,
        lg("You are weird, I have to go sorry."), 3;

    switch (@menuret)
    {
        case 0:
            speech 5,
                l("Wind and grass is nice and cool, so juicy sweet..."),
                l("Our only wish to eat a plush, so juicy sweet...");
            goto L_Menu;
        case 1:
            speech 5,
                l("Why are you asking? And who are you too? I've never seen you around before..."),
                l("Wait, are you one of those from the Legion of Aemil? I didn't do anything wrong I promise!"),
                l("I... I just like to eat the purple and delightful... And natural, and...");

            switch (select(l("Chill out I won't say anything."),
                           l("Yes, you are going to face justice!")))
            {
                case 1: break;
                case 2:
                    speech 5,
                        l("No! No, no my precious plushrooms! Don’t take me to them, they wants my precious.");
                    goto L_Quit;
            }

            speech 5,
                l("I won't forget it, I swear on my precious plushrooms."),
                l("There is an unknown side effect to these plushrooms, they can free you from your past bad choice."),
                l("You can use it to clear your stats, to start freshly if you see what I mean..."),
                l("Bring me some of these plushrooms and I will show you how it works!");

            menuint
                lg("Sounds well!"), 0,
                rif(countitem(Plushroom) == 1, lg("I already have some plushroom on me.")), 1,
                rif(countitem(Plushroom) > 1, lg("I already have some plushrooms on me.")), 1,
                lg("We will talk about it later."), 2,
                lg("My stats are too good, I won't need it."), 3;

            switch (@menuret)
            {
                case 0:
                    setq General_Rumly, 2;

                    speech 5,
                        l("Great! Can't wait for tasty mushrooms!");

                    goto L_Menu;
                case 1:
                    goto L_ResetStats;
                case 2:
                    goto L_Later;
                case 3:
                    goto L_Never;
            }

        case 2:
            goto L_ResetStats;
        case 3:
            if (.@visited != 2) goto L_Quit;
                
            speech 5,
                l("See you! And come back with the plushrooms!");

            goto L_Quit;
    }

L_ResetStats:
    if (.@visited == 1)
    {
        speech 5,
            lg("Changed your mind, uh?"),
            l("Very good."),
            l("Status point reset can't be undone. Do you really want this?"),
            lg("Are you sure about this?");
    }
    else
    {
        speech 5,
            lg("Are you sure about this?");
    }

L_ConfirmReset:
    switch (select(lg("Yes, I am sure."),
                   lg("I need to think about it a bit more..."),
                   lg("I won't need it thank you.")))
    {
        case 1:
            speech 5,
                l("Then give me one @@ and we will start!", getitemlink(Plushroom));

            menuint
                rif(countitem(Plushroom) >= 1, l("Here you go, take this one.")), 0,
                rif(countitem(Plushroom) == 0, lg("I don't have any plushrooms on me.")), 1,
                lg("I have to go sorry."), 1;

            switch (@menuret)
            {
                case 0:
                    delitem Plushroom, 1;

                    speech 5,
                        l("Thank you."),
                        l("Now stand still... It should not take much time...");

                    .@wasSP = StatusPoint;
                    resetstatus;

                    if (StatusPoint == .@wasSP)
                    {
                        speech 4,
                            l("It seems that you have no status points to reset!"),
                            lg("But the plushroom you brought was really awesome you know."),
                            lg("Come back when you will really need me. And bring more plushrooms with you!");
                    }
                    else
                    {
                        speech 4,
                            l("Let's see... @@ of your status points have just been reset!", StatusPoint - .@wasSP),
                            l("Spend it wisely this time."),
                            lg("But you are welcome to reset your stats again if you bring me more plushrooms!");
                    }
                    goto L_Quit;
                case 1:
                    goto L_Later;
            }
        case 2:
            goto L_Later;
        case 3:
            goto L_Never;
    }

L_Later:
    setq General_Rumly, 2;

    speech 5,
        l("Come back soon! And bring a plushroom with you!");

    goto L_Quit;

L_Never:
    setq General_Rumly, 1;

    speech 5,
        lg("I am sure that you will change your mind.");

    goto L_Quit;

L_Quit:
    setnpcdir "Rumly", 4;
    stopnpctimer;
    initnpctimer;

    goodbye;


OnTimer1800:
    stopnpctimer;

    if (getnpcdir ("Rumly") == 2) setnpcdir "Rumly", 6;
    if (getnpcdir ("Rumly") == 4) setnpcdir "Rumly", 8;

    end;

OnInit:
    .sex = G_MALE;
    end;
}