summaryrefslogtreecommitdiff
path: root/npc/017-3/doctor.txt
blob: c605e3d11798a0cabcf92b686ccd85ae82a1f192 (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
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
// TMW2/LoF scripts.
// Authors:
//    TMW-LoF Team
//    Jesusalva
// Description:
//    Part from THE EPISODE quest
// Reference:
//    http://forums.landoffire.org/viewtopic.php?f=7&t=1320&sid=80d2c735b55ccb06a39955a8fbca3913

017-3,75,68,0	script	The Doctor	NPC_LOF_DOCTOR,{
    showavatar NPC_LOF_DOCTOR;
    .@q=getq(LoFQuest_EPISODE);
    if (BaseLevel < 30) goto L_Weak;
    if (.@q == 13) goto L_Poison;
    if (.@q == 14) goto L_TimeFlask;
    if (.@q == 15) mesc l("You don't look so well, have you already used the %s to defeat the Soul Eater?", getitemlink(TimeFlask)), 1;
    if (.@q == 1) goto L_Check;
    if (.@q == 2 && BaseLevel >= 40) goto L_Miler;
    if (.@q >= 2) goto L_Tea;
    mesn;
    mesq l("Quite interesting, quite interesting indeed.");
    menu
        l("Um, might I ask, what is so interesting?"), L_Intro,
        l("Yes, uhh, very interesting indeed. Haha. I better leave..."), -;
    mes "";
    mesc l("@@ stares you as you slowly get away from him. Odd person.", .name$);
    close;

L_Intro:
    mes "";
    mesn;
    mesq l("Well, you are. You're quite interesting. I've been watching you for some time now, as you've been helping so many people: you're quite a master at what you do, you know.");
    menu
        l("Well, thanks."), L_IntroContinue,
        l("Ok then... Uh... Please excuse me....."), -;
    mes "";
    mesc l("@@ stares you as you slowly get away from him. Odd person.", .name$);
    close;

L_IntroContinue:
    mes "";
    mesn;
    mesq l("I don't suppose you have some herbs and a few bottles of potion with you, do you?");
    menu
        l("'Some herbs and potion'? Could you be more specific?"), L_IntroSpecify,
        l("Certainly not. Uhh, please excuse me."), -;
    mes "";
    mesc l("@@ stares you as you slowly get away from him. Odd person.", .name$);
    close;

L_IntroSpecify:
    mes "";
    mesn;
    mesq l("Ah, sorry, of course. I need quite a few herbs, look:");
    mesc l("@@/150 @@", countitem(MauveHerb), getitemlink(MauveHerb));
    mesc l("@@/150 @@", countitem(CobaltHerb), getitemlink(CobaltHerb));
    mesc l("@@/150 @@", countitem(GambogeHerb), getitemlink(GambogeHerb));
    mesc l("@@/100 @@", countitem(AlizarinHerb), getitemlink(AlizarinHerb));
    mesc l("@@/50 @@", countitem(ShadowHerb), getitemlink(ShadowHerb));
    mesc l("@@/10 @@", countitem(HastePotion), getitemlink(HastePotion));
    menu
        l("That shouldn't been too hard, but do I get something in return?"), L_IntroReward,
        l("O.o \"That's a lot. Maybe another day.\""), -;
    mes "";
    mesc l("@@ stares you as you slowly get away from him. Odd person.", .name$);
    close;

L_IntroReward:
    mes "";
    mesn;
    mesq l("I suppose, what would you like?");
    next;
    mesn;
    mesq l("Er, nevermind, I've thought of something to give you. You can go off now and get what I need.");
    setq LoFQuest_EPISODE, 1;
    close;

L_Check:
    mesn;
    mesq l("Did you brought what I asked for?");
    mesc l("@@/150 @@", countitem(MauveHerb), getitemlink(MauveHerb));
    mesc l("@@/150 @@", countitem(CobaltHerb), getitemlink(CobaltHerb));
    mesc l("@@/150 @@", countitem(GambogeHerb), getitemlink(GambogeHerb));
    mesc l("@@/100 @@", countitem(AlizarinHerb), getitemlink(AlizarinHerb));
    mesc l("@@/50 @@", countitem(ShadowHerb), getitemlink(ShadowHerb));
    mesc l("@@/10 @@", countitem(HastePotion), getitemlink(HastePotion));
    next;
    if (askyesno() != ASK_YES)
        close;
    inventoryplace HerbalTea, 5;
    if (
        countitem(MauveHerb) < 150 ||
        countitem(CobaltHerb) < 150 ||
        countitem(GambogeHerb) < 150 ||
        countitem(AlizarinHerb) < 100 ||
        countitem(ShadowHerb) < 50 ||
        countitem(HastePotion) < 10)
        goto L_Missing;
    delitem MauveHerb, 150;
    delitem CobaltHerb, 150;
    delitem GambogeHerb, 150;
    delitem AlizarinHerb, 100;
    delitem ShadowHerb, 50;
    delitem HastePotion, 10;
    getexp 7995, 0;
    setq LoFQuest_EPISODE, 2;
    getitem HerbalTea, 5;
    mesn;
    mesq l("Mmm, it's been so long since I have had herbal tea. You have my gratitude.");
    next;
    mesn strcharinfo(0);
    mesq l("Seriously? What sort of reward is that?");
    next;
    mesn;
    mesq l("Well, I suppose you can have some of my tea.");
    close;

L_Tea:
    mesn;
    mesq l("If you want, you can bring me some more of those herbs and potions.");
    mesc l("@@/30 @@", countitem(MauveHerb), getitemlink(MauveHerb));
    mesc l("@@/30 @@", countitem(CobaltHerb), getitemlink(CobaltHerb));
    mesc l("@@/30 @@", countitem(GambogeHerb), getitemlink(GambogeHerb));
    mesc l("@@/20 @@", countitem(AlizarinHerb), getitemlink(AlizarinHerb));
    mesc l("@@/10 @@", countitem(ShadowHerb), getitemlink(ShadowHerb));
    mesc l("@@/2 @@", countitem(HastePotion), getitemlink(HastePotion));
    menu
        l("Alright, I have them here!"), L_Check2,
        l("No thanks, see ya!"), -;
    close;

L_Check2:
    inventoryplace HerbalTea, 1;
    if (
        countitem(MauveHerb) < 30 ||
        countitem(CobaltHerb) < 30 ||
        countitem(GambogeHerb) < 30 ||
        countitem(AlizarinHerb) < 20 ||
        countitem(ShadowHerb) < 10 ||
        countitem(HastePotion) < 2)
        goto L_Missing;
    delitem MauveHerb, 30;
    delitem CobaltHerb, 30;
    delitem GambogeHerb, 30;
    delitem AlizarinHerb, 20;
    delitem ShadowHerb, 10;
    delitem HastePotion, 2;
    getexp 122, 12;
    getitem HerbalTea, 1;
    mesn;
    mesq l("Thanks, enjoy your tea! I will certainly enjoy mine!");
    close;

L_Weak:
    mesn;
    mesq l("Hmm, it's very interesting, very ... (mumbling).");
    close;

L_Missing:
    mesn;
    mesq l("Sorry, you do not have enough ingredients. You'd better search thoroughly.");
    close;

/////// Second Act
L_Miler:
    mesn;
    mesq l("Thank you for helping me make my tea. I hope the potions have been helpful...");
    next;
    mesn;
    mesq l("That reminds me. I have a friend in Nivalis named Miler who gave me some hints on the recipe. Would you take him a sample of what I gave you?");
    mesq l("If you've used all the ones I've given, you can always bring me more ingredients.");
    menu
        "I'll go right away.", -,
        "Ah, I suppose I need to gather more ingredients first...", -;
    setq LoFQuest_EPISODE, 3;
    close;

/////// Final Act
L_Poison:
    mesn;
    mesq l("%s, how in the world you got this status ailment?!", strcharinfo(0));
    next;
    select
        l("I don't know."),
        l("Henry gave something to drink.");
    mes "";
    mesn;
    mesq l("Listen, this is not a disease. No remedy can cure you, and it cannot be inflicted by consumables.");
    next;
    mesn;
    mesq l("Have you been fiddling with time? Anyway, this is not a disease, but a ##Bcomplex curse##b.");
    next;
    mesn;
    mesq l("This curse reclaims your soul to the Soul Eater. Except, she perished on the Great Fire.");
    next;
    mesn;
    mesq l("Meaning you must warp shortly before the Great Fire, defeat her, and be back before the Great Fire happen.");
    next;
    mesn;
    mesq l("For now, eat this. It'll improve your condition... for now. I don't know where you'll find a time travelling device, but if you find one, come to me. I'll help you.");
    setq LoFQuest_EPISODE, 14;
    sc_end SC_POISON;
    close;

L_TimeFlask:
    mesn;
    mesq l("If you don't defeat the Soul Eater before the Great Fire happens, which for the record, has already happened, your soul will slowly be reclaimed by her until your existence ceases to serve as fuel to bring back one of the greatest horrors of story.");
    next;
    if (!countitem(TimeFlask)) {
        mesn;
        mesq l("You better find a way to travel back in time soon!");
        close;
    }
    if (BaseLevel < 60) {
        mesn;
        mesq l("It'll be too dangerous if you're not at least level %d. But I'm sure you can grind the required level in no time; Don't let your body down! Exercise!", 60);
        close;
    }
    mesn;
    mesq l("This %s will do. I mean, it won't be a comfortable trip, but you are in an emergency situation.", getitemlink(TimeFlask));
    /* OVERRIDE */
    mesc l("WARNING: Quest in development."), 1;
    next;
    goto L_Tea;
    /* OVERRIDE */
    mesn;
    mesq l("Listen, I'll use a trick which I learned in, uh, a past life of mine, so if you die, reality resets your being.");
    next;
    mesn;
    mesq l("This means that if you die while in the past, you'll be brought back here as if you never traveled in time.");
    next;
    mesn;
    mesq l("Sounds awesome, but this will also reset a bunch of your progress... And with something as lame as a %s, you'll need quite a while to warp again. Uh, if you can, bring friends, the Soul Eater is... not to be trifled with.", getitemlink(TimeFlask));
    next;
    mesn;
    mesq l("I'll configure your flask to a few hours before the Great Fire breaks out. You're looking for \"The Queen's party\" hideout. Do you need a quick history lesson?");
    if (askyesno() == ASK_YES) {
        mes "";
        mesn;
        mesq l("Very well. The Platinum Red Queen died in her sleep and the Soul Eater took her role. But the Soul Eater was a tyrant and soon enough, \"she\" was murdered. A Council has taken over Tulimshar on the meanwhile and is doing intense research.");
        next;
        mesn;
        mesq l("This reseatch caused a lot of neglect, so expect poverty and people unwilling to talk. Benjamin, head of the council, is doing a \"breaktrhough\" in the most literal sense possible (breaking through the whole town finances instead of revolutionizing the world).");
        next;
        mesn;
        mesq l("The situation is grim, and some want the return of the Platinum Red Queen. The \"Soul Eater\" is back, pretending to be her ghost, and the Black Razor believed on it. They made \"The Queen's Party\" and want to reinstate the queen.");
        next;
        mesn;
        mesq l("They haven't found Mana Stones yet, so no magic, but alchemy is strong. I don't know what caused the Great Fire, and the whole event is time-locked. You can ask Falkrun for more about the Great Fire. That's what you need to know for now.");
        next;
    }
    mes "";
    mesn;
    mesq l("Good luck, %s. You'll need it.", strcharinfo(0));
    setq LoFQuest_EPISODE, 15;
    close;

OnInit:
    .sex=G_MALE;
    .distance=5;
    end;

}