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
|
// TMW-2 Script.
// Editor: Jesusalva
//
// Evol scripts.
// Authors:
// Ablu
// Qwerty Dragon
// Description:
// Introduction NPC
002-1,49,36,0 script LeftDoorCheck NPC_HIDDEN,0,0,{
if (!#TUTORIAL_DONE)
#TUTORIAL_DONE = true;
.@q = getq(ShipQuests_Arpan);
if (.@q == 5) doevent instance_npcname("Magic Arpan")+"::OnTalk";
close;
}
002-1,54,36,0 script RightDoorCheck NPC_HIDDEN,0,0,{
if (!#TUTORIAL_DONE)
#TUTORIAL_DONE = true;
.@q = getq(ShipQuests_Arpan);
if (.@q == 5) doevent instance_npcname("Magic Arpan")+"::OnTalk";
close;
}
002-1,49,33,0 script Magic Arpan NPC_MAGIC_ARPAN,{
showavatar NPC_MAGIC_ARPAN;
.@q = getq(ShipQuests_Arpan);
.@s = getq2(ShipQuests_Arpan);
.@n = getq(General_Narrator);
.@q_julia = getq(ShipQuests_Julia);
OnTalk:
showavatar NPC_MAGIC_ARPAN;
mesn;
if (.@q > 5) goto L_Menu;
setq ShipQuests_Arpan, 6;
deltimer("Magic Arpan::OnSlow");
mesq lg("Yeye, are you finally ready to go?");
if (!TUTORIAL)
mesc l("Protip: You skipped the tutorial. A lot of tutorial related dialog and quests will be skipped. You can change this anytime in %s > Game Settings.", b("@ucp"));
next;
select
l("Yes, I want to find out who I am."),
l("No, but what option do I have? I'm being railroaded!");
mes "";
if (@menu == 2) {
mesn;
mesq l("Ye not paying for your food and ye isn't a sailor like us! Ye should be standing on your own two feet.");
next;
mesn strcharinfo(0);
mesq l("Thanks for your honesty, I guess.");
next;
}
mes "";
mesn;
mesq l("Anyway, you should be thanking Juliet, she's the one who patched you up.");
next;
mesn;
if (.@q_julia == 0)
setq ShipQuests_Julia, 1;
mesq lg("Yaya, you should go see her! She'll be happy to help you again.");
next;
mesc b(l(".:: Main Quest 1-1 ::.")), 3;
msObjective(false, l("Talk to @@", l("Juliet")));
tutmes l("Juliet is east (right) of %s.", .name$), l("Protip"), false;
next;
// Friendly reminder to new players
if (StatusPoint == 48 && BaseLevel < 2) {
mesc l("Remember to assign status points before fighting. By default, it can be done with %s.", b("F2")), 1;
}
goto L_Menu;
L_Menu:
mesq l("What-yeye could I do for you today?");
next;
menu
rif(.@q_julia < 2, lg("Where can I find Juliet?")), L_Julia,
rif(!.@n, l("Can you tell me where I am?")), L_Where,
rif(!.@n, l("Who are you?")), L_Who,
rif(!.@n, l("I need a tutorial, where can I find help?")), L_Trainer,
rif(!getq(ShipQuests_ArpanMoney), l("Do you know what happened to the gold I had on me when I was rescued?")), L_WhereMoney,
rif(getq(ShipQuests_ArpanMoney), l("Can you teach me magic?")), L_Magic,
l("Nothing, sorry."), -;
closedialog;
close;
L_Trainer:
mes "";
mesn;
mesq l("There is an NPC called Trainer, just outside the ship.");
next;
mesn;
mesq l("Just use the arrow key--, err, I mean, just walk to the door on the right. It's the one not guarded by Peter.");
next;
mesn;
mesq lg("Make sure you're dressed and then speak with the captain. He'll give you a mission and unlock the ship's main door.");
next;
mesn;
mesq l("All you need to do is walk outside, enter the biggest house, and speak with the Trainer. He'll teach you everything you need to know.");
next;
goto L_Menu;
L_Where:
mes "";
mesn;
mesq lg("You're aboard our ship. We made port to a little island and we're actually yeye-ending our long merchant travelling adventure at the city of Tulimshar.");
next;
mesq l("We will be yeye-ing there in a few days, so we'll part ways there.");
next;
mesq l("You will notice the citizens are polite and they might help you find a job or help you figure out what happened to you out at sea.");
next;
goto L_Menu;
L_Julia:
mes "";
mesn;
mesq lg("Just go right, yeye can't miss her. She's the only girl in this crew, oh well, except for you now yeyeye!", "Just go right, yeye can't miss her. She's the only girl in this crew.");
next;
mesn "Narrator";
mesc l("Use the arrow keys to walk over to the right and meet Juliet.");
next;
goto L_Menu;
L_Who:
mes "";
mesn;
mesq l("Sorry! Allow me to introduce myself. My name is Arpan, but the other sailors call me Magic Arpan because I know one or two ya-ing magic tricks.");
next;
mesn;
mesq l("They're not magic, but yayaya, people like to say it is! Yeyeye!");
next;
goto L_Menu;
L_WhereMoney:
mes "";
mesn;
mesq l("Oh right, I almost forgot, here you go!");
next;
if (BaseLevel < 4) goto L_Apana;
setq ShipQuests_ArpanMoney, 1;
Zeny = Zeny + 35;
message strcharinfo(0), l("You receive @@ GP!", 35);
goto L_BeforeMenu;
L_Apana:
mesn;
mesq l("On second thought, come see me when you've gained a few levels. We can't have cheaters, ya know?");
tutmes l("You need to have level %d or above.", 4);
next;
goto L_Menu;
L_Magic:
if (getskilllv(TMW2_PARLORTRICK) >= 10) {
mesn;
mesq l("I have already teached you everything which could be teached.");
next;
goto L_Menu;
}
mesn;
mesq l("Again, no, magic is extremely rare, all I know is a few ya-ing water tricks!");
next;
mesn;
mesq l("I could teach you a trick, though it'll be relatively weak, specially if it is not raining. It's a parlor trick, after all.");
next;
if (getq(CandorQuest_Rosen) <= 4) {
mesn;
mesq l("To be honest, you should show %s a %s and ask for a bow. It'll be more reliable for ranged damage this early on.", b(l("Rosen")), getitemlink(TolchiArrow));
if (getq(CandorQuest_Rosen) < 3 || getq(ShipQuests_ChefGado) < 2)
mesc b(l("Although you'll need to help Rosen first!"));
next;
}
// Amount can be as high as 32,768!
.@p1 = 2 ** ((1+getskilllv(TMW2_PARLORTRICK))*3/2);
// Bonification for **new** players
if (!getq(General_Narrator))
.@p1 = max(1, .@p1 - 1);
// Decide the item
switch (season()) {
case SUMMER: .@it = CherryCocktail; break;
case WINTER: .@it = Snowflake; break;
case AUTUMN: .@it = PumpkandySeed; break; //.@p1 *= 2; break;
case SPRING: .@it = Blueberries; break;
}
mesn;
mesq l("Bring me %s %s and I'll teach you the trick.", fnum(.@p1), getitemlink(.@it));
if (countitem(.@it) < .@p1) {next; goto L_Menu;}
select
l("I'll bring them."),
l("I have them here with me."),
l("I changed my mind.");
mes "";
if (@menu != 2) {mes ""; goto L_Menu;}
delitem .@it, .@p1;
skill TMW2_PARLORTRICK, getskilllv(TMW2_PARLORTRICK)+1, 0;
if (getskilllv(TMW2_PARLORTRICK) == 1) {
mesc l("* Magic Arpan teached you a parlor trick!");
tutmes l("You can press %s to show all your skills. It is advised to drag the skill to the quick bar (%s) so you can use the skill with the associated shortcut.\n\n%s", b("F5"), b("F8"), l("Do note that the cooldown is not currently displayed on quick menu."));
tutmes l("There are over %d skills, but most of these require magic which you will not have access for a while. However, if you proceed in the game, you'll naturally learn if magic is or isn't so difficult as the world populace believes.", 80);
//tutmes l("Talk to the %s and %s in Candor for a more detailed explanation on using skills!", b(l("Trainer")), b(l("Morgan")));
} else {
mesc l("* Magic Arpan improved your trick!");
}
mes "%%H";
next;
goto L_Menu;
L_BeforeMenu:
mesn;
goto L_Menu;
OnSlow:
npctalk3 l("@@, do you need help? Are you lost? Click me!", strcharinfo(0));
/*
setcamnpc;
showavatar NPC_MAGIC_ARPAN;
mesn;
mesq l("Yayaya, @@ is surely slow. Don't you remember how to walk? You can use arrow keys for that!", strcharinfo(0));
next;
mesn;
mesc l("Here, speak to me, Magic Arpan! I'll help you get dressed."), 1;
*/
addtimer(90000,"Magic Arpan::OnSlow");
close;
OnInit:
.sex = G_MALE;
.distance = 6;
end;
}
|