summaryrefslogtreecommitdiff
path: root/npc/000-1/gugli.txt
blob: b7c6d6bf242d2b05d2e6b0237d18b078e86edf0e (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
// Evol scripts.
// Authors:
//    Hal9000
//    Qwerty Dragon
//    Reid
// Description:
//    Elmo's twin
//    Charged of an important quest from Nard, he asks you to help other sailors to keep their box to the ship.
// Variable:
//    0   ShipQuests_Couwan
//    1   ShipQuests_Nard
//    2   ShipQuests_Gugli
// Values:
//    00   Never talked with Couwan.
//    01   Spoke, and received the quest scam.
//    02   Done quest scam.
//    10   Introduction of the box and Nard. This is displayed when the player never spoke to Nard or his box.
//    11   Nard spoke and gave access to the outdoor of the ship.
//    12   Completed the quest.
//    13   Opened the chest and finished the introduction.
//    20   Never talked with Gugli.
//    21   Gugli gives you the task.
//    22   Gave all of the box to Gugli.

000-1,85,108,0	script	Gugli	NPC_GUGLI,{

    if (getq(ShipQuests_Couwan) == 1)
    {
        speech S_LAST_NEXT,
            l("Great to see you! What can I do for you today?");
        goto L_Menu;
    }

    if (getq(General_Narrator) > 0)
    {
        sailortalk;
    }

OnTalk:
    mesn;
    .@nard = getq(ShipQuests_Nard);
    .@gugli = getq(ShipQuests_Gugli);
    .@gado = getq(ShipQuests_ChefGado);

    if (.@nard > 3) goto L_AllComplete;
    if (.@nard > 1 || .@gugli == 2) goto L_TaskCompleted;
    if (.@gugli == 1) goto L_TaskGiven;

    mesq lg("Hi @@, I heard the captain sent you down here, uh?", "Hi @@, I heard the captain sent you down here, uh?", strcharinfo(0));
    next;
    mesq l("What an unexpected pleasure, your help is always welcome!");
    next;
    mesq l("As you may know, we are explorers on a long distance voyage, and our swashbuckling mariners need to store enough food to survive. You don't know how dangerous the sea life can be.");
    next;

    select
        l("Actually, I have an in-depth knowledge of this type of life.");

    mes "";
    mesn;
    mesq lg("Well, even though you have been rescued by us, it doesn't make you an expert sailor, am I right?");
    next;
    mesq l("But let's talk about this island. We're docking here to find some fine quality goods.");
    next;
    mesq l("We usually dock around these small isles because they provide us some of the best food of all the archipelago.");
    next;
    mesq l("At the moment, our crew is busy collecting @@s, @@s and @@s.", getitemlink(Croconut), getitemlink(Plushroom), getitemlink(Aquada));
    next;

    select
        l("So, what can I do for you?");

    mes "";
    mesn;
    mesq l("Right! Ours is an earthsea realm. You see, sailors are swift at their tasks when out of sight of land, but docked by this verdant jewel, they have it so good, they are just taking too much time bringing all the food back to the ship. Maybe you can help them.");
    next;
    mesq l("The captain wants:");
    mesq l("- 2 @@es", getitemlink(AquadaBox));
    mesq l("- 2 @@es", getitemlink(CroconutBox));
    mesq l("- 2 @@es", getitemlink(PlushroomBox));
    next;
    mesq l("Ask sailors around here they shouldn't be so far away.");
    next;

    setq ShipQuests_Gugli, 1;
    close;

L_TaskGiven:
    mesq l("Great to see you! What can I do for you today?");
    next;

    if (getq(ShipQuests_Ale) == 1 && getq(ShipQuests_Astapolos) == 1 && getq(ShipQuests_Gulukan) == 1 && getq(ShipQuests_Jalad) == 1 && getq(ShipQuests_QMuller) == 1 && getq(ShipQuests_Tibbo) == 1) goto L_MenuDone;

L_Menu:
    menu
        rif(getq(ShipQuests_Couwan) == 1, l("Couwan gave me this box, it is for you.")), L_Couwan,
        rif(countitem(AquadaBox) > 0 || countitem(CroconutBox) > 0 || countitem(PlushroomBox) > 0, l("I have some food for you.")), L_CollectSmthing,
        rif(getq(ShipQuests_Gugli) < 2, l("Who should I search for?")), L_SailorNames,
        rif(getq(ShipQuests_Gugli) < 2, l("Where can I find your crew?")), L_Location,
        l("Bye!"), L_Quit;

L_MenuDone:
    menu
        rif(getq(ShipQuests_Couwan) == 1, l("Couwan gave me this box, it is for you.")), L_Couwan,
        l("I have collected all the boxes you needed."), L_TaskDone,
        l("See you!"), L_Quit;

L_SailorNames:
    mes "";
    mesn;
    mesq l("Ale and Tibbo should bring 2 boxes of @@s, Astapolos and Gulukan 2 of @@s and Jalad and Q'Muller were charged of the boxes of @@s.", getitemlink(Aquada), getitemlink(Croconut), getitemlink(Plushroom));
    next;
    mesq l("Do you need any other information?");
    next;

    goto L_Menu;

L_CollectSmthing:
    mes "";
    mesn;
    mesq l("Good job!");
    next;

    delitem AquadaBox, countitem(AquadaBox);
    delitem CroconutBox, countitem(CroconutBox);
    delitem PlushroomBox, countitem(PlushroomBox);

    mesq l("You still need to give me boxes from: ");
    if (getq(ShipQuests_Astapolos) == 0) mesq l("- Astapolos");
    if (getq(ShipQuests_Ale) == 0) mesq l("- Ale");
    if (getq(ShipQuests_Gulukan) == 0) mesq l("- Gulukan");
    if (getq(ShipQuests_Jalad) == 0) mesq l("- Jalad");
    if (getq(ShipQuests_QMuller) == 0) mesq l("- Q'Muller");
    if (getq(ShipQuests_Tibbo) == 0) mesq l("- Tibbo");

    close;

L_Couwan:
    mes "";
    mesn;
    mesq l("What?! This tritan is the worse shirker I ever met!");
    next;
    mesq l("Well, thanks for the box. But... He was supposed to bring it back to me himself. I never asked him to give it to you!");
    next;
    mesq l("Take these coins in exchange and be careful.");
    next;
    mesq l("Not everybody has a kind mind. Scammers can be anywhere, even among us!");
    next;
    mesq l("May this be a lesson for you.");

    if (countitem(FishBox) > 0) delitem FishBox, 1;
    setq ShipQuests_Couwan, 2;
    Zeny += 10;
    getexp 40, 0;
    message strcharinfo(0), l("You receive @@ E!", 10);

    close;

L_Location:
    mes "";
    mesn;
    mesq l("There are 6 sailors who will need your help. They are all around the island.");
    next;
    mesq l("I can't really help you find them since I've been checking the... Hmm... Landscape, since morning...");
    next;
    mesq l("You can try talking with some other sailors to get some information about that.");
    next;

    .@r = rand(3000)/1000;
    if (.@r == 1) goto L_Silvio;
    if (.@r == 2) goto L_Lean;

    setcamnpc "Sapartan";
    mesq l("Maxe and Sapartan for example?");
    next;

    restorecam;
    close;

L_Silvio:
    setcamnpc "Silvio";
    mesq l("Silvio for example?");
    next;

    restorecam;
    close;

L_Lean:
    setcamnpc "Lean";
    mesq l("Lean for example?");
    next;

    restorecam;
    close;

L_TaskDone:
    if (countitem(AquadaBox) == 2) delitem AquadaBox, 2;
    if (countitem(CroconutBox) == 2) delitem CroconutBox, 2;
    if (countitem(PlushroomBox) == 2) delitem PlushroomBox, 2;
    if (countitem(AquadaBox) == 1) delitem AquadaBox, 1;
    if (countitem(CroconutBox) == 1) delitem CroconutBox, 1;
    if (countitem(PlushroomBox) == 1) delitem PlushroomBox, 1;
    setq ShipQuests_Gugli, 2;

    Zeny += 250;
    getexp 50, 0;

    mes "";
    mesn;
    mesq l("Well done! The ship is now ready to sail again!");
    next;
    mesq l("You should inform Nard of the progress made in loading food and supplies on to the boat. He will be pleased to hear that good news!");

    close;

L_TaskCompleted:
    mesq l("You are now part of the crew... At least for us down here!");
    next;
    mesq l("You should inform Nard of the progress made in loading food and supplies on to the boat. He will be pleased to hear that good news!");
    next;
    mesq l("Tell him that everything went fine and that we're almost done with the requisitions.");
    next;

    goto L_Menu;

L_AllComplete:
    mesq l("Elmo told me what Nard said, congrats!");
    next;
    mesq lg("You're one of us now, that's great! I was sure that you were a kind lady when I first saw you!", "You're one of us now, that's great! I was sure that you were a good man when I first saw you!");
    next;

    goto L_Menu;

L_Quit:
    closeclientdialog;
    close;

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

000-1,83,107,0	script	GugliBarrierCheck	NPC_HIDDEN,2,0,{
    .@gugli = getq(ShipQuests_Gugli);
    if (.@gugli > 0) close;
    doevent "Gugli::OnTalk";
    close;
}