summaryrefslogtreecommitdiff
path: root/npc/000-2-3/nard.txt
blob: f99f1144e15e64ec189d3dbd436aef2763ce0733 (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
341
342
// Evol scripts.
// Authors:
//    Qwerty Dragon
//    Reid
// Description:
//    Captain Nard dialogs.
//    Nard does the introduction with a small quest.
//    This quest is meant to teach the player how to use a weapon,and to bring food to the ship.
//    4 bits array:
//    ShipQuests
// Variable:
//    0    ShipQuests_Nard
//    1    ShipQuests_Gugli
//    2    ShipQuests_ChefGado
// Values:
//    00   Introduction of the boxes and Nard. This is displayed when the player never spoke to Nard or his box.
//    01   Nard spoke and gave access to the outdoor of the ship.
//    02   Completed the Gugli quest.
//    03   ChefGado Quest accepted.
//    04   ChefGado Quest completed and "Introduction" chapter finalized.
//    05   Reward taken from the box.
//    06   Intro finished
//    10   Never talked with Gugli.
//    11   Gugli gives you the task.
//    12   Gave all of the boxes to Gugli.

000-2-3,25,26,0	script	Nard	NPC_NARD,{
    .@nard = getq(ShipQuests_Nard);
    .@gugli = getq(ShipQuests_Gugli);
    .@gado = getq(ShipQuests_ChefGado);

L_Checker:
    if (.@gado > 3 && .@nard == 3) goto L_ChefQuestComplete;
    if (.@nard == 2) goto L_ChefQuestStart;
    if (.@nard == 3) goto L_ChefQuestGiven;
    if (.@nard == 4) goto L_Reward;
    if (.@nard > 5) goto L_GoBackArtis;
    if (.@nard > 4) goto L_Already;
    if (.@gugli == 2) goto L_Done;
    if (.@nard == 1) goto L_NotYet;

    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;

    setcamnpc "Elmo";
    mesn "Elmo";
    mesq l("Oh... Err, yes I did, or, well, good day to you!");
    next;
    restorecam;

    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 Julia did a marvelous job! You look like you're in good health now.");
    next;

L_Menu:
    menu
        lg("I feel ok."), L_Ok,
        rif(islegacyaccount(), l("I only want to reach Artis, can we skip this?")), L_Skip,
        l("Who's this Julia?"), L_Julia,
        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_DrasilIsland;

    mes "";
    mesn;
    mesq l("Oh! I like that sort of answer!");
    next;
    mesq lg("We need manpower on the island... Oh forgive me, women are also welcome, of course.", "We need manpower on the island.");
    next;

    goto L_NeedContent;

L_NeedHead:
    mes "";
    mesn;
    mesq l("Of course there is a reward for your task.");
    next;
    mesq l("Hard work always pays off!");
    next;
    mesq l("What? It's not good enough?");
    next;

L_NeedContent:
    mesq l("Our crew is like a family, and if you agree to help us, I would like to invite you to join our family!");
    next;
    mesq l("Hmm, I'll also give you one of these hats from the box near you, but only after you complete your task!");
    next;
    mesq l("Here, take this key, it opens all the doors on this ship.");
    next;
    mesq l("Now go outside and talk to Gugli, he'll tell you what we need.");
    next;

    inventoryplace JohanneKey, 1;

    setq ShipQuests_Nard, 1;
    getitem JohanneKey, 1;

    close;

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 Artis.");
    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_Julia:
    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 to give you a special task.");
    next;

    goto L_MenuQuest;

L_DrasilIsland:
    mes "";
    mesn;
    mesq l("To be honest, no, never.");
    next;
    mesq l("But discovering new territories is probably the best thing that can happen to sailors, don't you think?");
    next;
    mesq l("I'm really excited, this place reminds me of an ancient mythical tree, you might know what I'm talking about...");
    emotion E_WINK;
    next;
    mesq l("As captain of this ship, I officially name this newly discovered land the ##BDrasil Island##b!");
    next;
    mesq l("Now, lets get back to business.");
    next;

    goto L_NeedContent;

L_NotYet:
    mesn;
    mesq l("You still haven't completed your tasks.");
    close;

L_Done:
    mesn;
    mesq l("Hi @@.", strcharinfo(0));
    next;
    mesq l("Elmo and Gugli told me that you did all of the tasks outside, congrats!");

    setq ShipQuests_Nard, 2;
    next;
    goto L_ChefQuestRedir;

L_ChefQuestStart:
    mesn;
    mesq lg("Elmo told me you are now considered family and are numbered among us in our activities on the island. I do so very much appreciate the efforts you did down there.");
    next;

L_ChefQuestRedir:
    mesq l("Unfortunately, we still need help from you. This time it will be a delicate task, here onboard.");
    next;
    mesq l("Elmo brought reports to me about some frictions between my old and new lieutenants. You probably already met Julia and Chef Gado.");
    next;
    mesq l("They are each valued individuals and I need them both. In the past, I probably made my share of mistakes. I regret good management is so difficult. I was wondering if you could investigate and... Sort out this situation.");
    next;

    select
        l("Of the two of them, who has 'good' on their side?");

    mes "";
    mesq l("I do not want to go pointing my finger at someone. I want to be honorable and fair, and I sense the same quality in you, so I put my trust in you. I am sure you will be able to judge and solve this troubling situation.");

    setq ShipQuests_Nard, 3;

    close;

L_ChefQuestGiven:
    mesn;
    mesq l("It seems you still have some work to do.");

    close;

L_ChefQuestComplete:
    mesn;
    mesq l("Congratulations!");
    next;
    mesq l("You are now officially part of my crew! Thanks again for your help.");
    next;
    mesq l("Take your reward from the box next to my desk!");
    next;

    select
        l("I will take it! Thank you captain!");

    setq ShipQuests_Nard, 4;
    getexp 50, 0;

//  Need to add a skill for the crew at this line.
    mes "";

L_Skip:
    mesn;
    mesq l("Oh noes! I can't believe it!");
    next;
    mesn;
    mesq l("Well, I can bring you straight to Artis, but...");
    next;
    mesn;
    mesc l("\"You will forsake items, quests and experience from the tuto-- %s from my whole crew and whatnot.\"", "##9"+l("*cough cough*")+"##1"), 1;
    next;
    mesn;
    mesq l("Oh, and it is not only that.");
    next;
    mesn;
    mesc l("\"This decision cannot be reverted. Which means you may have extreme difficulty and end up losing this char!\""), 1;
    next;
    mesn;
    mesq l("And if that still wasn't enough to make you change your mind...");
    next;
    mesn;
    mesc l("\"Deleting this char may (read: will) destroy the Legacy data associated to it!!\""), 1;
    mesc l("i.e. Deleting the rEvolt char will delete the Legacy char associated to it. This includes levels and items."); // -- TRANSLATORS: i.e. = id est
    next;
    mesn;
    mesq l("Are you absolutely, totally, certainly, completely sure, that you want a free, effortless ride to Artis, as weak and poorly equipped as you currently are?");
    next;
    mesc l("This decision cannot be reverted. Think with attention!"), 1;
    select
        l("Actually, lets do the tutorial."),
        l("Lemme do Drasil Island!"),
        l("YES, BRING ME TO ARTIS."),
        l("I changed my mind.");
    mes "";
    if (@menu == 3) {
        // Skip Drasil
        setq ShipQuests_Julia, 2;
        setq ShipQuests_Arpan, 3;
        setq ShipQuests_Alige, 3;
        setq ShipQuests_Peter, 15;
        setq ShipQuests_Nard, 5; // NOTE: Completes the Beta
        setq ShipQuests_Knife, 1;
        setq ShipQuests_ArpanMoney, 3;
        setq ShipQuests_Door, 1;
        setq ShipQuests_Couwan, 2;
        setq ShipQuests_TreasureChest, 1;
        setq ShipQuests_Ale, 1;
        setq ShipQuests_Astapolos, 1;
        setq ShipQuests_Gulukan, 1;
        setq ShipQuests_Jalad, 1;
        setq ShipQuests_QMuller, 1;
        setq ShipQuests_Tibbo, 1;
        setq ShipQuests_Gugli, 2;
        // Give Gado and Julia equal chances of winnning
        setq ShipQuests_ChefGado, any(4,4,5,6);
        // Automatically advance
        mesc l("All Ship and Drasil Island Quests were auto-completed."), 1;
        next;
        goto L_Already;
    }
    mesn;
    mesq l("Good! I was going to ask you if you wanted to help the crew search for some food and explore the island out there.");
    next;
    goto L_MenuQuest;

L_Already:
    speech
        l("I recommend you to take a nap on the inferior level, we will soon leave this place.");

    close;

L_GoBackArtis:
    checkclientversion;
    speech S_LAST_NEXT,
        l("Enough of this island?"),
        l("Where would you like to go now?");
    switch (select(l("Let's go to Artis."),
                   l("Tell me, where are we right now?"),
                   l("I would like to stay here a bit more.")))
    {
        case 1:
            speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
                l("Let's set sail then!");

            savepoint "001-2-22", 50, 38;
            if (!getmapxy(.@map$, .@x, .@y, 0))
            {
                warp "001-2-24", .@x, .@y;
            }
            else
            {
                warp "001-2-24", 22, 27;
            }

            closeclientdialog;
            close;

        case 2:
            closeclientdialog;
            npctalk3 l("This is Drasil Island, I named it after an ancient mythical tree.");
            close;

        case 3:
            speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
                l("Ok I stay here with my paperwork if you need my help.");

            closeclientdialog;
            close;
    }

L_Reward:
    mesn;
    mesq l("Hey! There's a reward for you in the box next to me!");

    close;

OnInit:
    .bodytype = BODYTYPE_3;
    .distance = 5;
    end;
}