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
|
// Evol scripts.
// Authors:
// Qwerty Dragon
// Reid
// Description:
// Captain Nard dialogs.
// Nard is a fair merchant ship's captain.
// This quest is meant to teach the player how to use a weapon.
// 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.
002-4,25,26,0 script Nard NPC_NARD,{
.@nard = getq(ShipQuests_Nard);
.@gugli = getq(ShipQuests_Gugli);
.@gado = getq(ShipQuests_ChefGado);
.@narrator = getq(General_Narrator);
.@price=2000;
L_Checker:
if (getq(CandorQuest_Barrel) == 4 && getq(CandorQuest_HAS) == 3) .@price-=500; // Check Elmo's script. You can do quests later... FOR NOW.
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;
if (.@narrator == 1) goto L_Travel;
if (LOCATION$ != "") 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 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("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.");
mesn;
mesq l("Ship travels are not free. See if you can gather some money, and I'll bring you to Tulimshar!");
next;
mesn;
mesq l("Why Tulimshar, you say? Because well, believe me, if you want to find out anything, the best place to ask around is Tulim!");
LOCATION$ = "Candor";
//inventoryplace JohanneKey, 1;
//setq ShipQuests_Nard, 1;
//getitem JohanneKey, 1;
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;
if (Zeny >= .@price) {
mesq l("Ten, fifty, thousand... Yep, this is the amount I've asked for.");
next;
setq General_Narrator, 1;
set Zeny, Zeny-.@price;
LOCATION$="Tulim";
mesq l("Set sail! We're going to Tulimshar!");
} 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:
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,
l("No, I'll save my money."), -;
} else {
mes l("You still need @@ GP to afford it.", (.@price-Zeny));
}
close;
L_TCandor:
set Zeny, Zeny-.@price;
LOCATION$="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!");
close;
L_TTulim:
set Zeny, Zeny-.@price;
LOCATION$="Tulim";
mes "";
mesn;
mesq l("Tulimshar, right? The oldest human city-state!");
next;
mesq l("I was planning to go there soon, anyway. All aboard!");
close;
// Deprecated, will be removed later
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 Juliet 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_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;
}
closedialog;
close;
case 2:
closedialog;
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.");
closedialog;
close;
}
L_Reward:
mesn;
mesq l("You may already claim your reward.");
close;
OnInit:
.sex = G_MALE;
.distance = 5;
end;
}
|