summaryrefslogtreecommitdiff
path: root/npc/001-1/rumly.txt
blob: 43c1534d7b2a3826d1d851c04d23b147d1c8221f (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
// Evol scripts.
// Author:
//    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
//    3  Player has already reset his stat
// Others:
// .@visited - Rumly actual variable
// .@wasSP - free status points before reset

001-1,35,125,0	script	Rumly#001-1	NPC_RUMLY,{

    setnpcdir "Rumly#001-1", 2;
    stopnpctimer;
    initnpctimer;

    speech S_LAST_NEXT,
        l("Hey you, do you have any @@s?", getitemlink(Plushroom));

L_Menu:
    .@visited = getq(General_Rumly);
    .@plush_count = lognbaselvl(1, 10);

    if (.@visited >= 2) goto L_ResetStats;

    select
        l("Plushrooms you say?"),
        l("Who are you?"),
        l("You are weird, I have to go sorry.");

    switch (@menu)
    {
        case 1:
            speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
                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 2:
            speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
                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 Gasaron? 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 I am and you are going to face justice!")))
            {
                case 1: break;
                case 2:
                    speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
                        l("No! No, no, my precious plushrooms! Don’t take me to them, they wants my precious.");
                    goto L_Quit;
            }

            speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
                l("I won't forget it, I swear on my precious plushrooms!"),
                l("There is an unknown side effect to these plushrooms, they can make you more powerful."),
                l("Bring me some of these plushrooms and I will show you how it works!"),
                l("Although the more powerful you are, the more plushrooms you will need.");

            select
                l("Sounds good!"),
                l("We will talk about it later."),
                l("My stats are too good, I won't need it.");

            switch (@menu)
            {
                case 1:
                    if (.@visited < 2)
                    {
                        setq General_Rumly, 2;
                    }

                    speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
                        l("Great! Can't wait for some tasty mushrooms!");

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

        case 3:
            .@rand = any(true, false);

            if (.@rand)
            {
                speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
                    l("See you! And come back with the plushrooms!");
            }
            else
            {
                speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
                    l("Oh noes!"),
                    l("A rabbit!"),
                    l("He has a guns!"),
                    l("*Bang bang*");
                narrator S_LAST_NEXT,
                    l("Rumly is hiding behind the tree.");
            }

            goto L_Quit;
    }

L_ResetStats:
    mesn;
    mesq l("Did you brought me some %s?", getitemlink(Plushroom));
    next;
    if (askyesno() == ASK_YES) goto L_Exchange;
    mesn;
    mesq l("By the way, did you knew it is impossible to reassign your training?");
    next;
    mesn;
    mesq l("If you used swords during all your life, and decide to become a mage, you'll need to build your magic skills from ground up.");
    next;
    mesn;
    mesq l("However, unless you are reborn, you'll never forget what you've learned.");
    next;
    mesn;
    mesq l("I also heard different races had different affinities to the basic attributes, but I would not be able to say.");
    next;
    goto L_Quit;

L_Exchange:
    mes "";
    mesn;
    mesq l("Great! For %d %s, I'll show you the purple power!", .@plush_count);
    next;
    if (countitem(Plushroom) > .@plush_count) {
        mesc l("Deliver the %s?", getitemlink(Plushroom));
        if (askyesno() == ASK_YES) {
            mes "";
            delitem Plushroom, .@plush_count;
            getexp .@plush_count, 0;
            EXP_STR += BaseLevel / 3 + 1;
            EXP_AGI += BaseLevel / 3 + 1;
            EXP_DEX += BaseLevel / 3 + 1;
            EXP_VIT += BaseLevel / 3 + 1;
            EXP_INT += BaseLevel / 3 + 1;
            EXP_LUK += BaseLevel / 3 + 1;
            percentheal 100, 100;
    		sc_start SC_ATTHASTE_POTION1, 180000, 20;
            mesn;
            mesq l("Here, drink this. It is just a matter of time before you feel the power surging inside you.");
        }
    }
    goto L_Quit;

L_Later:
    if (.@visited < 2)
    {
        setq General_Rumly, 2;
    }
    speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
        l("Come back soon, and bring @@s!", getitemlink(Plushroom));

    goto L_Quit;

L_Never:
    if (.@visited < 2)
    {
        setq General_Rumly, 1;
    }

    speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
        l("I am sure that you will change your mind.");

    goto L_Quit;

L_Quit:
    setnpcdir "Rumly#001-1", 4;
    stopnpctimer;
    initnpctimer;

    goodbye;

OnTimer1800:
    stopnpctimer;

    if (getnpcdir("Rumly#001-1") == 2) setnpcdir "Rumly#001-1", 6;
    if (getnpcdir("Rumly#001-1") == 4) setnpcdir "Rumly#001-1", 8;

    end;

OnInit:
    end;
}