summaryrefslogtreecommitdiff
path: root/npc/002-3/nard.txt
blob: d57961778f70fba9e3c158ef11adca086d1c828c (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
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
// TMW2 scripts.
// Authors:
//    Qwerty Dragon
//    Reid
//    Jesusalva
// Description:
//    Captain Nard dialogs.
//    Nard is a fair merchant ship's captain.
//    Original Nard's from Evol by Qwerty Dragon and Reid

002-3,36,25,0	script	Nard	NPC_NARD,{
    showavatar NPC_NARD;  // this is handled by avatars.xml

    .@narrator = getq(General_Narrator);

L_Checker:
    if (.@narrator) goto L_Travel;
    if (getq(ShipQuests_Julia) >= 3) goto L_NotYet;
    // Introduction
    mesn;
    mesq l("Hello.");
    next;
    mesq l("Let me introduce myself, I am Nard, captain of this ship.");
    next;
    mesq lg("I am pleased to see that you have woken up and are active. Elmo came here to tell me this good news!");
    next;
    mesn;
    mesq l("Hehehe, he is a bit nervous, please forgive him, it is not everyday we find someone on the sea!");
    next;
    mesq l("So, how do you feel? I see that Juliet did a marvellous job! You look like you're in good health now.");
    next;

    select
        lg("I feel ok."),
        l("Who's this Juliet?"),
        lg("I'm a bit sick...");
    mes "";
    switch (@menu) {
    case 1:
        mesn;
        mesq l("Good to know.");
        next;
        mesq l("We have made a stop at a little island, before making it on to the port of Tulimshar.");
        next;
        mesq l("It would be good for you to do some exercise, the ship isn't big enough for that.");
        next;
        mesq l("I know that you are just starting to feel better, but I'd like you to explore the island we're currently at.");
        next;
        break;
    case 2:
        mesn;
        mesq l("You have an awful case of amnesia.");
        next;
        mesq l("She is the nurse and shipkeeper of this ship.");
        next;
        mesq lg("But most important, she is the one who took care of you when you were unconscious.");
        next;
        mesq l("I know that you are just starting to feel better, but I'd like you to explore the island we're currently at.");
        next;
        break;
    case 3:
        mesn;
        mesq l("Oh, I was going to ask you if you wanted to help the crew search for some food and explore the island out there.");
        next;
        break;
    }

L_MenuQuest:
    menu
        l("What do you need?"), -,
        l("Is there a reward?"), L_NeedHead,
        l("Wait, you never came here before?"), L_CandorIsland;

    mes "";
    mesn;
    mesq l("Ship travels are not free. See if you can gather some money, and I'll bring you to Tulimshar!");
    next;
    showavatar NPC_ELMO;
    setcamnpc "Elmo";
    mesn l("Elmo");
    mesq l("I, Elmo, captain's deputy, will help you to make the maximum possible money in Candor!");
    mesc l("Talk to Elmo to get an EXP UP Boost until level 15!"), 2;
    next;
    showavatar NPC_NARD;
    mesn;
    mesq l("Why we're going Tulimshar, you may ask? Because well, believe me, if you want to find out anything, the best place to ask around is Tulim!");
    LOCATION$ = "Candor";
    setq ShipQuests_Julia, 3;
    next;
    .@price=1200;
    mesc b(l(".:: Main Quest 1-3 ::.")), 3;
    msObjective(getq(CandorQuest_HAS) >= 4, l("* Help Ayasha to take care of the kids."));
    msObjective(getq(CandorQuest_Trainer) >= 12, l("* Get trained by Valon, in the big house."));
    msObjective(getq(CandorQuest_Barrel) >= 4, l("* Ask Zegas, the mayoress, if she needs help."));
    msObjective(Zeny >= .@price, l("* Collect @@/@@ GP", Zeny, .@price));

L_Referral:
    // Referral program
    if (#REFERRAL_PROG == 0 && $REFERRAL_ENABLED) {
        next;
        clear;
        showavatar NPC_LOF_RICH;
        mesc l("But before, a message from our developers!"), 3;
        next;
        mesn l("TMW2 Staff");
        mesc l("Hello, and welcome to TMW2: Moubootaur Legends!"), 3;
        next;
        mesn l("TMW2 Staff");
        mesc l("Did you came here by someone advise? If yes, write their name down here!"), 3;
        next;
        mesc l("If this is not the case, just click on \"Send\"."), 3;
        .@ref$="";
        do
        {
            input .@ref$;
            //debugmes "Player invite: "+.@ref$;
            mes "";
            if (.@ref$ != "") {
                .@ref=gf_accid(strip(.@ref$));
                if (.@ref > 0) {
                    if (.@ref == getcharid(3)) {
                        mesn l("TMW2 Staff");
                        mesc l("Hahah, silly, that's yourself!"), 3;
                        mesc l("Try again!"), 3;
                        next;
                        .@ref$="";
                    } else {
                        #REFERRAL_PROG=.@ref;
                        getitembound FriendGift, 1, 1;
                        mesn l("TMW2 Staff");
                        mesc l("Well, welcome to the game! If you have any doubt, shout on #world for help!"), 3;
                        mesc l("Your friend also sent you a gift - open it when you get level 5!"), 3;
                        next;
                    }
                } else {
                    mesn l("TMW2 Staff");
                    mesc l("Oops, there is nobody known as @@ on this game.", .@ref$), 3;
                    mesc l("Could you try again? There could be a typo!"), 3;
                    next;
                    .@ref$="";
                }
            } else {
                .@ref$="None";
                mesn l("TMW2 Staff");
                mesc l("I see. Well, welcome to the game! If you have any doubt, shout on #world for help!"), 3;
                next;
            }
        } while (.@ref$ == "");
    showavatar NPC_NARD;
    }

    close;


L_NeedHead:
    mes "";
    mesn;
    mesq l("You're pretty much stranded on this forsaken island if you don't help me!");
    next;
    mesq l("Also, I believe hard work always pay off.");
    next;
    goto L_MenuQuest;

L_CandorIsland:
    mes "";
    mesn;
    mesq l("I never said that. I come here frequently to trade. It is you who should explore the island.");
    next;
    mesq l("This is ##BCandor Island##b. A very small rich community lives here.");
    next;
    mesq l("If they were any bigger, monsters would come and kill everyone.");
    next;
    if (getq(ShipQuests_Julia) < 3)
        goto L_MenuQuest;
    close;

L_NotYet:
    .@price=1200;
    mesc b(l(".:: Main Quest 1-1 ::.")), 3;
    msObjective(getq(CandorQuest_HAS) >= 4, l("* Help Ayasha to take care of the kids."));
    msObjective(getq(CandorQuest_Trainer) >= 12, l("* Get trained by Valon, in the big house."));
    msObjective(getq(CandorQuest_Barrel) >= 4, l("* Ask Zegas, the mayoress, if she needs help."));
    msObjective(Zeny >= .@price, l("* Collect @@/@@ GP", Zeny, .@price));
    mes "";
    select
        rif(Zeny >= .@price, l("I've brought the money you've asked for.")),
        rif(#REFERRAL_PROG == 0 && $REFERRAL_ENABLED && BaseLevel <= 10,
            l("I forgot to say earlier, but indeed, I was invited by someone!")),
        l("Captain, why have you brought me to a deserted boring island?!"),
        l("Please excuse me, captain.");

    mes "";
    if (@menu == 2)
        goto L_Referral;
    if (@menu == 3)
        goto L_CandorIsland;

    mesn;
    if (getq(CandorQuest_HAS)     < 4 ||
        getq(CandorQuest_Barrel)  < 4 ||
        getq(CandorQuest_Trainer) < 12) {
        mesq l("You didn't help all my friends yet, and without trainment, I can't send you to such dangerous place as Tulimshar.");
        close;
    }
    if (Zeny >= .@price) {
        mesq l("Ten, fifty, thousand... Yep, this is the amount I've asked for.");
        next;
        setq General_Narrator, 1;
        Zeny = Zeny-.@price;
        LOCATION$="Tulim";
        mesq l("Set sail! We're going to Tulimshar!");
        next;
        showavatar;
        setcam 0, 0;
        mesc l("Some time later...");
        next;
        restorecam;
        showavatar NPC_NARD;  // this is handled by avatars.xml
        mesn;
        mesq l("Welcome to Tulimshar, @@!", strcharinfo(0));
        next;
        mesn;
        mesq l("You can explore the city as you want, but if I were you, I would ##Btouch the Soul Menhir##b, north of here, to don't respawn at Candor.");
        next;
        mesn;
        mesq l("Other than that, you can explore the city as you want, but as you had a memory loss, You should visit the townhall.");
        next;
        mesn;
        mesq l("When you get out of the ship, it is the first building you'll see. Talk to ##BLua##b, she is an alliance representative.");
        next;
        mesn;
        mesq l("The Alliance have records of everyone. And if you need another trip, talk to me!");

    } else {
        mesq l("You still haven't completed your tasks.");
        mes "";
        mesc l("You still need @@ GP for the trip to Tulimshar.", (.@price-Zeny));
    }
    close;

L_Travel:
    // Current nard_reputation() value for 100% discount: 15
    .@price=800;
    .@price-=min(780, nard_reputation()*54);

    mesn;
    mesq l("Hi @@.", strcharinfo(0));
    next;
    mesq l("You are currently at @@.", LOCATION$);
    mes "";
    mes l("A ship travel will cost you @@ GP.", .@price);
    if (ST_TIER == 8)
        mesc l("What are you doing? Go talk to @@  and bring me a @@!", b("Elanore"), getitemlink(Lifestone));

    if (Zeny >= .@price || ((ST_TIER == 7 || ST_TIER == 9) && gettimetick(2) < QUEST_ELEVARTEMPO)) {
        menu
            rif(Zeny >= .@price && LOCATION$ != "Candor", l("To Candor Island.")), L_TCandor,
            rif(Zeny >= .@price && LOCATION$ != "Tulim", l("To Tulimshar.")), L_TTulim,
            rif(ST_TIER == 7 && gettimetick(2) < QUEST_ELEVARTEMPO ,l("Help me, I need Jesusaves Grimorie!")), L_Tier2,
            rif(ST_TIER == 9 && countitem(Lifestone) && gettimetick(2) < QUEST_ELEVARTEMPO ,l("Help me, I need Jesusaves Grimorie!")), L_Tier2Ok,
            l("No, I'll save my money."), -;
    } else {
        mes l("You still need @@ GP to afford it.", (.@price-Zeny));
    }

    close;

L_TCandor:
    Zeny=Zeny-.@price;
    PC_DEST$="Candor";

    mes "";
    mesn;
    mesq l("Candor Island, then? Yes, that is a pretty island, right?");
    next;
    mesq l("I was planning to go there soon, anyway. All aboard!");
    close2;
    addtimer nard_time(PC_DEST$), "#NardShip::OnEvent";
    @timer_navio_running = 1;
    warp "002-5", 39, 26;
    end;

L_TTulim:
    Zeny=Zeny-.@price;
    PC_DEST$="Tulim";
    @timer_navio_running = 1;

    mes "";
    mesn;
    mesq l("Tulimshar, right? The oldest human city-state!");
    next;
    mesq l("I was planning to go there soon, anyway. All aboard!");
    close2;
    addtimer nard_time(PC_DEST$), "#NardShip::OnEvent";
    @timer_navio_running = 1;
    warp "002-5", 39, 26;
    end;

L_Tier2:
    mes "";
    mesn;
    mesq l("WHAT?! ARE YOU OUT OF MIND?!?!");
    next;
    mesn;
    if (nard_reputation() < 8) {
        mesq l("THAT GRIMORIE IS A SUPER DUPER MEGA UPER RARE BOOK, I CANNOT GIVE IT TO ANYBODY ASKING ME ABOUT!!");
        next;
        mesn;
        mesq l("GET OUT OF HERE, YOUR NOBODY!");
        close;
    }
    mesq l("That is a rare, precious book, which writes itself!");
    next;
    mesn;
    mesq l("I cannot just give it to you for nothing. Run to Elanore and fetch me a @@. You need to make a new one, an old one I won't accept.", getitemlink(Lifestone));
    ST_TIER=8;
    close;

L_Tier2Ok:
    mes "";
    mesn;
    mesc l("*tut*");
    next;
    inventoryplace JesusalvaGrimorium, 1;
    delitem Lifestone, 1;
    getitem JesusalvaGrimorium, 1;
    getexp 200, 0;
    ST_TIER=10;
    mesn;
    mesq l("Here, take it. If the mana goes out of your body, I'll have your class master to return the book to me.");
    close;

L_Close:
    close;

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