summaryrefslogtreecommitdiff
path: root/npc/002-4/nard.txt
blob: 29f3d00023eb5f8fd8204a01be57431d2a749a05 (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
// 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-4,25,26,0	script	Nard	NPC_NARD,{
    showavatar NPC_NARD;  // this is handled by avatars.xml

    .@narrator = getq(General_Narrator);
    .@price=1500;

L_Checker:
    if (.@narrator) goto L_Travel;
    if (LOCATION$ != "") goto L_NotYet;

    // Referral program
    if (#REFERRAL_PROG == 0 && $REFERRAL_ENABLED) {
        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 here!"), 3;
        mesc l("If this is not the case, just click on \"Send\"."), 3;
        .@ref$="";
        do
        {
            input .@ref$;
            debugmes "Hercules is bugged: "+.@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$ == "");
    }

    // 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 have a new member in the crew!");
    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;

L_Menu:
    menu
        lg("I feel ok."), L_Ok,
        l("Who's this Juliet?"), L_Juliet,
        lg("I'm a bit sick..."), -;

    mes "";
    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;

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!");
    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";

    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_Ok:
    mes "";
    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;

    goto L_SpecialTask;

L_Juliet:
    mes "";
    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;

L_SpecialTask:
    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;

    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 community lives here.");
    next;
    mesq l("If they were any bigger, monsters would come and kill everyone.");
    next;

    goto L_MenuQuest;

L_NotYet:
    mesn;
    menu
        l("I've brought the money you've asked for."),-,
        l("Please excuse me, captain."), L_Close;

    mes "";
    if (Zeny >= .@price) {
        mesq l("Ten, fifty, thousand... Yep, this is the amount I've asked for.");
        next;
        setq General_Narrator, 1;
        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;
        Zeny = Zeny-.@price;
        LOCATION$="Tulim";
        mesq l("You can explore the city as you want, but if I were you, I would visit the townhall first.");
        next;
        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;
        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.");
        next;
        mesq l("You still need @@ GP for the trip to Tulimshar.", (.@price-Zeny));
    }
    close;

L_Travel:
    if (nard_reputation() >= 14)
            .@price-=1250;
    if (nard_reputation() >= 12)
            .@price-=1000;
    else if (nard_reputation() >= 10)
            .@price-=750;
    else if (nard_reputation() >= 8)
            .@price-=500;
    else if (nard_reputation() >= 6)
            .@price-=250;
    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 (Zeny >= .@price) {
        menu
            rif(LOCATION$ != "Candor", l("To Candor Island.")), L_TCandor,
            rif(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;
}