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
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
|
// TMW2/LoF scripts.
// Authors:
// TMW-LoF Team
// Jesusalva
// Description:
// Controls the four first levels from Heroes Hold
018-2-2,0,0,0 script #HH_CONTROLLER01 NPC_HIDDEN,{
end;
// Boss-Slaying related
function DungeonClear {
getmapxy(.@m$, .@x, .@y, 0);
areatimer(.@m$, .@x-15, .@y-15, .@x+15, .@y+15, 100, "#HH_CONTROLLER01::OnFinish");
}
OnFinish:
warp "018-2-1", 0, 0;
.@g=getq2(LoFQuest_HH);
setq2 LoFQuest_HH, .@g|@HH_LEVEL;
dispbottom l("Novice Dungeon cleared!");
getitem HeroCoin, @HH_LEVEL;
end;
OnNoviceBossKilled:
DungeonClear();
monster "018-2-2@No", 188, 29, "Novice Dungeon Boss", AlphaMouboo, 1, "#HH_CONTROLLER01::OnNoviceBossKilled";
end;
OnIntermedBossKilled:
DungeonClear();
monster "018-2-3@In", 52, 196, "Intermediary Dungeon Boss", FafiDragon, 1, "#HH_CONTROLLER01::OnIntermedBossKilled";
end;
OnAdvancedBossKilled:
DungeonClear();
monster "018-2-2@Ad", 52, 29, "Advanced Dungeon Boss", GiantMutatedBat, 1, "#HH_CONTROLLER01::OnAdvancedBossKilled";
end;
OnExpertBossKilled:
DungeonClear();
monster "018-2-3@Ex", 188, 196, "Expert Dungeon Boss", FallenKing1, 1, "#HH_CONTROLLER01::OnExpertBossKilled";
end;
OnMasterBossKilled:
DungeonClear();
monster "018-2-3", any(52,188), any(29,196), "Master Dungeon Boss", MonsterKing, 1, "#HH_CONTROLLER01::OnMasterBossKilled";
end;
// Everytime loop
OnPlayerCycle:
@HH_TIMER+=1;
// 20 minutes have passed. This should be 40 minutes, but the HH is not finished yet
if (@HH_TIMER >= 2400) {
warp "018-2-1", 0, 0;
dispbottom l("You were rescued by DUSTMAN.");
end;
}
// TODO: Handle traps (We'll use isin() command because you can give 3~4 steps each counter)
if (rand(0,1000) <= @HH_LEVEL) {
dispbottom l("You step on a trap!");
heal -(@HH_LEVEL*rand(2,5)), 0;
}
// Continue the execution
if (getmap() ~= "018-2-*")
addtimer(500, "#HH_CONTROLLER01::OnPlayerCycle");
end;
// Initialize Variables. Remember this causes a search for On<Difficulty><SeqNumber>. And keep same number or CRASH
OnInit:
// Novice
setarray .Novice_Mobs, AngryScorpion,CaveMaggot,MagicGoblin,ViciousSquirrel,AngryBat,RedSlime,AngryRedScorpion,Bandit,Skeleton,GreenSlime,
BlueSlime,LavaSlime,RedMushroom,RobinBandit,AngryYellowSlime,OldSnake,GrassSnake,BlackSlime,SmallMagicBif,BronzeChest;
setarray .Novice_Ammo, 40, 40, 40, 50, 40, 80, 20, 20, 10, 90,
30, 30, 25, 10, 40, 10, 15, 50, 7, 2;
// Intermediary
setarray .Interm_Mobs, RedSlime,AngryRedScorpion,Bandit,Skeleton,GreenSlime, BlueSlime,LavaSlime,RedMushroom,RobinBandit,
AngryYellowSlime,OldSnake,GrassSnake,BlackSlime,Wolvern,DarkLizard,BlackScorpion,DustRevolver,MagicBif,SilverChest;
setarray .Interm_Ammo, 80, 50, 50, 10, 90, 30, 60, 35, 20,
50, 20, 25, 50, 30, 20, 25, 5, 7, 2;
// Advanced
setarray .Advanc_Mobs, AngryYellowSlime,Snake,GrassSnake,BlackSlime,Wolvern,DarkLizard,BlackScorpion,DustRevolver,MagicBif,SilverChest,
MountainSnake, Yeti, WickedMushroom,Forain,GoldenChest,BigMagicBif,DustGatling;
setarray .Advanc_Ammo, 50, 30, 35, 90, 30, 30, 45, 15, 7, 2,
15, 10, 30, 5, 2, 1, 10;
// Expert
setarray .Expert_Mobs, MountainSnake, Yeti, WickedMushroom,Forain,GoldenChest,BigMagicBif,DustGatling,BlackMamba,Terranite, Wolvern,
PrismChest, BlueSlime, GreenDragon;
setarray .Expert_Ammo, 45, 30, 90, 35, 3, 7, 30, 20, 15, 10,
1, 140, 15;
// Master
setarray .Master_Mobs, SupremeChest,BlueSlime,MurdererScorpion,Tipiou,AlphaMouboo,BanditLord,Tipiu,GreenDragon,GiantMutatedBat,FallenKing1,
FallenKing2, EvilScythe, YetiKing, MonsterKing;
setarray .Master_Ammo, 1, 140, 20, 20, 20, 20, 20, 20, 20, 10,
10, 1, 7, 1;
end;
OnInterIfInit:
initnpctimer;
end;
// Controls logic for each instance (TODO)
// Initialize each instance (Currently waits 7 seconds, could work with just 4, but better safe than sorry)
OnTimer7000:
stopnpctimer;
debugmes "Heroes Hold Monsters: Initializing";
// HH_Novice
freeloop(true);
for (.@i=0;.@i<getarraysize(.Novice_Mobs);.@i++) {
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[.@i]), .Novice_Mobs[.@i], .Novice_Ammo[.@i], "#HH_CONTROLLER01::OnNovice"+.@i;
}
freeloop(false);
// HH_INTERMEDIARY
freeloop(true);
for (.@i=0;.@i<getarraysize(.Interm_Mobs);.@i++) {
areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[.@i]), .Interm_Mobs[.@i], .Interm_Ammo[.@i], "#HH_CONTROLLER01::OnInterm"+.@i;
}
freeloop(false);
// HH_ADVANCED
freeloop(true);
for (.@i=0;.@i<getarraysize(.Advanc_Mobs);.@i++) {
areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[.@i]), .Advanc_Mobs[.@i], .Advanc_Ammo[.@i], "#HH_CONTROLLER01::OnAdvanc"+.@i;
}
freeloop(false);
// HH_EXPERT
freeloop(true);
for (.@i=0;.@i<getarraysize(.Expert_Mobs);.@i++) {
areamonster "018-2-3@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[.@i]), .Expert_Mobs[.@i], .Expert_Ammo[.@i], "#HH_CONTROLLER01::OnExpert"+.@i;
}
freeloop(false);
// HH_MASTER
freeloop(true);
for (.@i=0;.@i<getarraysize(.Master_Mobs);.@i++) {
areamonster "018-2-3", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[.@i]), .Master_Mobs[.@i], .Master_Ammo[.@i], "#HH_CONTROLLER01::OnMaster"+.@i;
}
freeloop(false);
// Boss for each dungeon
monster "018-2-2@No", 188, 29, "Novice Dungeon Boss", AlphaMouboo, 1, "#HH_CONTROLLER01::OnNoviceBossKilled";
monster "018-2-3@In", 52, 196, "Intermediary Dungeon Boss", FafiDragon, 1, "#HH_CONTROLLER01::OnIntermedBossKilled";
monster "018-2-2@Ad", 52, 29, "Advanced Dungeon Boss", GiantMutatedBat, 1, "#HH_CONTROLLER01::OnAdvancedBossKilled";
monster "018-2-3@Ex", 188, 196, "Expert Dungeon Boss", FallenKing1, 1, "#HH_CONTROLLER01::OnExpertBossKilled";
monster "018-2-3", any(52,188), any(29,196), "Master Dungeon Boss", MonsterKing, 1, "#HH_CONTROLLER01::OnMasterBossKilled";
// TODO: We still need the main logic for this. I mean, what is the objective on each floor of Master Dungeon?
debugmes "Heroes Hold Monsters: Success";
end;
/////////////////////////////////////////////////////////////////////////////////
// Respawn Arrays (Autogenerated, Python Script at bottom. 14 pages worth.)
// Drop Chances are: 0.05% each luck point, 0.20% each mob level, 0.05% each job experience given
// So killing a Mouboo with 20 luck will give: 1% (luck) + 7% (level) + 0.3% (jexp) => 8.3% drop chance
OnNovice0:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Novice_Mobs[0])*4)+strmobinfo(7,.Novice_Mobs[0])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[0]), .Novice_Mobs[0], .Novice_Ammo[0], "#HH_CONTROLLER01::OnNovice0"; end;
OnNovice1:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Novice_Mobs[1])*4)+strmobinfo(7,.Novice_Mobs[1])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[1]), .Novice_Mobs[1], .Novice_Ammo[1], "#HH_CONTROLLER01::OnNovice1"; end;
OnNovice2:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Novice_Mobs[2])*4)+strmobinfo(7,.Novice_Mobs[2])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[2]), .Novice_Mobs[2], .Novice_Ammo[2], "#HH_CONTROLLER01::OnNovice2"; end;
OnNovice3:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Novice_Mobs[3])*4)+strmobinfo(7,.Novice_Mobs[3])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[3]), .Novice_Mobs[3], .Novice_Ammo[3], "#HH_CONTROLLER01::OnNovice3"; end;
OnNovice4:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Novice_Mobs[4])*4)+strmobinfo(7,.Novice_Mobs[4])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[4]), .Novice_Mobs[4], .Novice_Ammo[4], "#HH_CONTROLLER01::OnNovice4"; end;
OnNovice5:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Novice_Mobs[5])*4)+strmobinfo(7,.Novice_Mobs[5])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[5]), .Novice_Mobs[5], .Novice_Ammo[5], "#HH_CONTROLLER01::OnNovice5"; end;
OnNovice6:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Novice_Mobs[6])*4)+strmobinfo(7,.Novice_Mobs[6])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[6]), .Novice_Mobs[6], .Novice_Ammo[6], "#HH_CONTROLLER01::OnNovice6"; end;
OnNovice7:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Novice_Mobs[7])*4)+strmobinfo(7,.Novice_Mobs[7])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[7]), .Novice_Mobs[7], .Novice_Ammo[7], "#HH_CONTROLLER01::OnNovice7"; end;
OnNovice8:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Novice_Mobs[8])*4)+strmobinfo(7,.Novice_Mobs[8])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[8]), .Novice_Mobs[8], .Novice_Ammo[8], "#HH_CONTROLLER01::OnNovice8"; end;
OnNovice9:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Novice_Mobs[9])*4)+strmobinfo(7,.Novice_Mobs[9])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[9]), .Novice_Mobs[9], .Novice_Ammo[9], "#HH_CONTROLLER01::OnNovice9"; end;
OnNovice10:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Novice_Mobs[10])*4)+strmobinfo(7,.Novice_Mobs[10])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[10]), .Novice_Mobs[10], .Novice_Ammo[10], "#HH_CONTROLLER01::OnNovice10"; end;
OnNovice11:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Novice_Mobs[11])*4)+strmobinfo(7,.Novice_Mobs[11])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[11]), .Novice_Mobs[11], .Novice_Ammo[11], "#HH_CONTROLLER01::OnNovice11"; end;
OnNovice12:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Novice_Mobs[12])*4)+strmobinfo(7,.Novice_Mobs[12])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[12]), .Novice_Mobs[12], .Novice_Ammo[12], "#HH_CONTROLLER01::OnNovice12"; end;
OnNovice13:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Novice_Mobs[13])*4)+strmobinfo(7,.Novice_Mobs[13])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[13]), .Novice_Mobs[13], .Novice_Ammo[13], "#HH_CONTROLLER01::OnNovice13"; end;
OnNovice14:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Novice_Mobs[14])*4)+strmobinfo(7,.Novice_Mobs[14])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[14]), .Novice_Mobs[14], .Novice_Ammo[14], "#HH_CONTROLLER01::OnNovice14"; end;
OnNovice15:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Novice_Mobs[15])*4)+strmobinfo(7,.Novice_Mobs[15])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[15]), .Novice_Mobs[15], .Novice_Ammo[15], "#HH_CONTROLLER01::OnNovice15"; end;
OnNovice16:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Novice_Mobs[16])*4)+strmobinfo(7,.Novice_Mobs[16])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[16]), .Novice_Mobs[16], .Novice_Ammo[16], "#HH_CONTROLLER01::OnNovice16"; end;
OnNovice17:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Novice_Mobs[17])*4)+strmobinfo(7,.Novice_Mobs[17])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[17]), .Novice_Mobs[17], .Novice_Ammo[17], "#HH_CONTROLLER01::OnNovice17"; end;
OnNovice18:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Novice_Mobs[18])*4)+strmobinfo(7,.Novice_Mobs[18])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[18]), .Novice_Mobs[18], .Novice_Ammo[18], "#HH_CONTROLLER01::OnNovice18"; end;
OnNovice19:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Novice_Mobs[19])*4)+strmobinfo(7,.Novice_Mobs[19])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[19]), .Novice_Mobs[19], .Novice_Ammo[19], "#HH_CONTROLLER01::OnNovice19"; end;
OnNovice20:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Novice_Mobs[20])*4)+strmobinfo(7,.Novice_Mobs[20])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[20]), .Novice_Mobs[20], .Novice_Ammo[20], "#HH_CONTROLLER01::OnNovice20"; end;
OnIntermed0:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Intermed_Mobs[0])*4)+strmobinfo(7,.Intermed_Mobs[0])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
areamonster "018-2-2@In", 20, 20, 220, 220, strmobinfo(1, .Intermed_Mobs[0]), .Intermed_Mobs[0], .Intermed_Ammo[0], "#HH_CONTROLLER01::OnIntermed0"; end;
OnIntermed1:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Intermed_Mobs[1])*4)+strmobinfo(7,.Intermed_Mobs[1])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
areamonster "018-2-2@In", 20, 20, 220, 220, strmobinfo(1, .Intermed_Mobs[1]), .Intermed_Mobs[1], .Intermed_Ammo[1], "#HH_CONTROLLER01::OnIntermed1"; end;
OnIntermed2:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Intermed_Mobs[2])*4)+strmobinfo(7,.Intermed_Mobs[2])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
areamonster "018-2-2@In", 20, 20, 220, 220, strmobinfo(1, .Intermed_Mobs[2]), .Intermed_Mobs[2], .Intermed_Ammo[2], "#HH_CONTROLLER01::OnIntermed2"; end;
OnIntermed3:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Intermed_Mobs[3])*4)+strmobinfo(7,.Intermed_Mobs[3])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
areamonster "018-2-2@In", 20, 20, 220, 220, strmobinfo(1, .Intermed_Mobs[3]), .Intermed_Mobs[3], .Intermed_Ammo[3], "#HH_CONTROLLER01::OnIntermed3"; end;
OnIntermed4:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Intermed_Mobs[4])*4)+strmobinfo(7,.Intermed_Mobs[4])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
areamonster "018-2-2@In", 20, 20, 220, 220, strmobinfo(1, .Intermed_Mobs[4]), .Intermed_Mobs[4], .Intermed_Ammo[4], "#HH_CONTROLLER01::OnIntermed4"; end;
OnIntermed5:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Intermed_Mobs[5])*4)+strmobinfo(7,.Intermed_Mobs[5])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
areamonster "018-2-2@In", 20, 20, 220, 220, strmobinfo(1, .Intermed_Mobs[5]), .Intermed_Mobs[5], .Intermed_Ammo[5], "#HH_CONTROLLER01::OnIntermed5"; end;
OnIntermed6:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Intermed_Mobs[6])*4)+strmobinfo(7,.Intermed_Mobs[6])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
areamonster "018-2-2@In", 20, 20, 220, 220, strmobinfo(1, .Intermed_Mobs[6]), .Intermed_Mobs[6], .Intermed_Ammo[6], "#HH_CONTROLLER01::OnIntermed6"; end;
OnIntermed7:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Intermed_Mobs[7])*4)+strmobinfo(7,.Intermed_Mobs[7])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
areamonster "018-2-2@In", 20, 20, 220, 220, strmobinfo(1, .Intermed_Mobs[7]), .Intermed_Mobs[7], .Intermed_Ammo[7], "#HH_CONTROLLER01::OnIntermed7"; end;
OnIntermed8:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Intermed_Mobs[8])*4)+strmobinfo(7,.Intermed_Mobs[8])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
areamonster "018-2-2@In", 20, 20, 220, 220, strmobinfo(1, .Intermed_Mobs[8]), .Intermed_Mobs[8], .Intermed_Ammo[8], "#HH_CONTROLLER01::OnIntermed8"; end;
OnIntermed9:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Intermed_Mobs[9])*4)+strmobinfo(7,.Intermed_Mobs[9])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
areamonster "018-2-2@In", 20, 20, 220, 220, strmobinfo(1, .Intermed_Mobs[9]), .Intermed_Mobs[9], .Intermed_Ammo[9], "#HH_CONTROLLER01::OnIntermed9"; end;
OnIntermed10:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Intermed_Mobs[10])*4)+strmobinfo(7,.Intermed_Mobs[10])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
areamonster "018-2-2@In", 20, 20, 220, 220, strmobinfo(1, .Intermed_Mobs[10]), .Intermed_Mobs[10], .Intermed_Ammo[10], "#HH_CONTROLLER01::OnIntermed10"; end;
OnIntermed11:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Intermed_Mobs[11])*4)+strmobinfo(7,.Intermed_Mobs[11])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
areamonster "018-2-2@In", 20, 20, 220, 220, strmobinfo(1, .Intermed_Mobs[11]), .Intermed_Mobs[11], .Intermed_Ammo[11], "#HH_CONTROLLER01::OnIntermed11"; end;
OnIntermed12:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Intermed_Mobs[12])*4)+strmobinfo(7,.Intermed_Mobs[12])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
areamonster "018-2-2@In", 20, 20, 220, 220, strmobinfo(1, .Intermed_Mobs[12]), .Intermed_Mobs[12], .Intermed_Ammo[12], "#HH_CONTROLLER01::OnIntermed12"; end;
OnIntermed13:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Intermed_Mobs[13])*4)+strmobinfo(7,.Intermed_Mobs[13])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
areamonster "018-2-2@In", 20, 20, 220, 220, strmobinfo(1, .Intermed_Mobs[13]), .Intermed_Mobs[13], .Intermed_Ammo[13], "#HH_CONTROLLER01::OnIntermed13"; end;
OnIntermed14:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Intermed_Mobs[14])*4)+strmobinfo(7,.Intermed_Mobs[14])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
areamonster "018-2-2@In", 20, 20, 220, 220, strmobinfo(1, .Intermed_Mobs[14]), .Intermed_Mobs[14], .Intermed_Ammo[14], "#HH_CONTROLLER01::OnIntermed14"; end;
OnIntermed15:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Intermed_Mobs[15])*4)+strmobinfo(7,.Intermed_Mobs[15])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
areamonster "018-2-2@In", 20, 20, 220, 220, strmobinfo(1, .Intermed_Mobs[15]), .Intermed_Mobs[15], .Intermed_Ammo[15], "#HH_CONTROLLER01::OnIntermed15"; end;
OnIntermed16:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Intermed_Mobs[16])*4)+strmobinfo(7,.Intermed_Mobs[16])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
areamonster "018-2-2@In", 20, 20, 220, 220, strmobinfo(1, .Intermed_Mobs[16]), .Intermed_Mobs[16], .Intermed_Ammo[16], "#HH_CONTROLLER01::OnIntermed16"; end;
OnIntermed17:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Intermed_Mobs[17])*4)+strmobinfo(7,.Intermed_Mobs[17])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
areamonster "018-2-2@In", 20, 20, 220, 220, strmobinfo(1, .Intermed_Mobs[17]), .Intermed_Mobs[17], .Intermed_Ammo[17], "#HH_CONTROLLER01::OnIntermed17"; end;
OnIntermed18:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Intermed_Mobs[18])*4)+strmobinfo(7,.Intermed_Mobs[18])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
areamonster "018-2-2@In", 20, 20, 220, 220, strmobinfo(1, .Intermed_Mobs[18]), .Intermed_Mobs[18], .Intermed_Ammo[18], "#HH_CONTROLLER01::OnIntermed18"; end;
OnIntermed19:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Intermed_Mobs[19])*4)+strmobinfo(7,.Intermed_Mobs[19])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
areamonster "018-2-2@In", 20, 20, 220, 220, strmobinfo(1, .Intermed_Mobs[19]), .Intermed_Mobs[19], .Intermed_Ammo[19], "#HH_CONTROLLER01::OnIntermed19"; end;
OnAdvanc0:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Advanc_Mobs[0])*4)+strmobinfo(7,.Advanc_Mobs[0])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[0]), .Advanc_Mobs[0], .Advanc_Ammo[0], "#HH_CONTROLLER01::OnAdvanc0"; end;
OnAdvanc1:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Advanc_Mobs[1])*4)+strmobinfo(7,.Advanc_Mobs[1])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[1]), .Advanc_Mobs[1], .Advanc_Ammo[1], "#HH_CONTROLLER01::OnAdvanc1"; end;
OnAdvanc2:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Advanc_Mobs[2])*4)+strmobinfo(7,.Advanc_Mobs[2])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[2]), .Advanc_Mobs[2], .Advanc_Ammo[2], "#HH_CONTROLLER01::OnAdvanc2"; end;
OnAdvanc3:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Advanc_Mobs[3])*4)+strmobinfo(7,.Advanc_Mobs[3])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[3]), .Advanc_Mobs[3], .Advanc_Ammo[3], "#HH_CONTROLLER01::OnAdvanc3"; end;
OnAdvanc4:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Advanc_Mobs[4])*4)+strmobinfo(7,.Advanc_Mobs[4])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[4]), .Advanc_Mobs[4], .Advanc_Ammo[4], "#HH_CONTROLLER01::OnAdvanc4"; end;
OnAdvanc5:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Advanc_Mobs[5])*4)+strmobinfo(7,.Advanc_Mobs[5])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[5]), .Advanc_Mobs[5], .Advanc_Ammo[5], "#HH_CONTROLLER01::OnAdvanc5"; end;
OnAdvanc6:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Advanc_Mobs[6])*4)+strmobinfo(7,.Advanc_Mobs[6])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[6]), .Advanc_Mobs[6], .Advanc_Ammo[6], "#HH_CONTROLLER01::OnAdvanc6"; end;
OnAdvanc7:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Advanc_Mobs[7])*4)+strmobinfo(7,.Advanc_Mobs[7])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[7]), .Advanc_Mobs[7], .Advanc_Ammo[7], "#HH_CONTROLLER01::OnAdvanc7"; end;
OnAdvanc8:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Advanc_Mobs[8])*4)+strmobinfo(7,.Advanc_Mobs[8])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[8]), .Advanc_Mobs[8], .Advanc_Ammo[8], "#HH_CONTROLLER01::OnAdvanc8"; end;
OnAdvanc9:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Advanc_Mobs[9])*4)+strmobinfo(7,.Advanc_Mobs[9])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[9]), .Advanc_Mobs[9], .Advanc_Ammo[9], "#HH_CONTROLLER01::OnAdvanc9"; end;
OnAdvanc10:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Advanc_Mobs[10])*4)+strmobinfo(7,.Advanc_Mobs[10])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[10]), .Advanc_Mobs[10], .Advanc_Ammo[10], "#HH_CONTROLLER01::OnAdvanc10"; end;
OnAdvanc11:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Advanc_Mobs[11])*4)+strmobinfo(7,.Advanc_Mobs[11])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[11]), .Advanc_Mobs[11], .Advanc_Ammo[11], "#HH_CONTROLLER01::OnAdvanc11"; end;
OnAdvanc12:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Advanc_Mobs[12])*4)+strmobinfo(7,.Advanc_Mobs[12])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[12]), .Advanc_Mobs[12], .Advanc_Ammo[12], "#HH_CONTROLLER01::OnAdvanc12"; end;
OnAdvanc13:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Advanc_Mobs[13])*4)+strmobinfo(7,.Advanc_Mobs[13])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[13]), .Advanc_Mobs[13], .Advanc_Ammo[13], "#HH_CONTROLLER01::OnAdvanc13"; end;
OnAdvanc14:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Advanc_Mobs[14])*4)+strmobinfo(7,.Advanc_Mobs[14])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[14]), .Advanc_Mobs[14], .Advanc_Ammo[14], "#HH_CONTROLLER01::OnAdvanc14"; end;
OnAdvanc15:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Advanc_Mobs[15])*4)+strmobinfo(7,.Advanc_Mobs[15])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[15]), .Advanc_Mobs[15], .Advanc_Ammo[15], "#HH_CONTROLLER01::OnAdvanc15"; end;
OnAdvanc16:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Advanc_Mobs[16])*4)+strmobinfo(7,.Advanc_Mobs[16])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[16]), .Advanc_Mobs[16], .Advanc_Ammo[16], "#HH_CONTROLLER01::OnAdvanc16"; end;
OnAdvanc17:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Advanc_Mobs[17])*4)+strmobinfo(7,.Advanc_Mobs[17])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[17]), .Advanc_Mobs[17], .Advanc_Ammo[17], "#HH_CONTROLLER01::OnAdvanc17"; end;
OnExpert0:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Expert_Mobs[0])*4)+strmobinfo(7,.Expert_Mobs[0])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
areamonster "018-2-2@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[0]), .Expert_Mobs[0], .Expert_Ammo[0], "#HH_CONTROLLER01::OnExpert0"; end;
OnExpert1:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Expert_Mobs[1])*4)+strmobinfo(7,.Expert_Mobs[1])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
areamonster "018-2-2@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[1]), .Expert_Mobs[1], .Expert_Ammo[1], "#HH_CONTROLLER01::OnExpert1"; end;
OnExpert2:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Expert_Mobs[2])*4)+strmobinfo(7,.Expert_Mobs[2])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
areamonster "018-2-2@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[2]), .Expert_Mobs[2], .Expert_Ammo[2], "#HH_CONTROLLER01::OnExpert2"; end;
OnExpert3:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Expert_Mobs[3])*4)+strmobinfo(7,.Expert_Mobs[3])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
areamonster "018-2-2@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[3]), .Expert_Mobs[3], .Expert_Ammo[3], "#HH_CONTROLLER01::OnExpert3"; end;
OnExpert4:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Expert_Mobs[4])*4)+strmobinfo(7,.Expert_Mobs[4])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
areamonster "018-2-2@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[4]), .Expert_Mobs[4], .Expert_Ammo[4], "#HH_CONTROLLER01::OnExpert4"; end;
OnExpert5:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Expert_Mobs[5])*4)+strmobinfo(7,.Expert_Mobs[5])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
areamonster "018-2-2@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[5]), .Expert_Mobs[5], .Expert_Ammo[5], "#HH_CONTROLLER01::OnExpert5"; end;
OnExpert6:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Expert_Mobs[6])*4)+strmobinfo(7,.Expert_Mobs[6])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
areamonster "018-2-2@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[6]), .Expert_Mobs[6], .Expert_Ammo[6], "#HH_CONTROLLER01::OnExpert6"; end;
OnExpert7:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Expert_Mobs[7])*4)+strmobinfo(7,.Expert_Mobs[7])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
areamonster "018-2-2@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[7]), .Expert_Mobs[7], .Expert_Ammo[7], "#HH_CONTROLLER01::OnExpert7"; end;
OnExpert8:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Expert_Mobs[8])*4)+strmobinfo(7,.Expert_Mobs[8])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
areamonster "018-2-2@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[8]), .Expert_Mobs[8], .Expert_Ammo[8], "#HH_CONTROLLER01::OnExpert8"; end;
OnExpert9:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Expert_Mobs[9])*4)+strmobinfo(7,.Expert_Mobs[9])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
areamonster "018-2-2@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[9]), .Expert_Mobs[9], .Expert_Ammo[9], "#HH_CONTROLLER01::OnExpert9"; end;
OnExpert10:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Expert_Mobs[10])*4)+strmobinfo(7,.Expert_Mobs[10])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
areamonster "018-2-2@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[10]), .Expert_Mobs[10], .Expert_Ammo[10], "#HH_CONTROLLER01::OnExpert10"; end;
OnExpert11:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Expert_Mobs[11])*4)+strmobinfo(7,.Expert_Mobs[11])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
areamonster "018-2-2@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[11]), .Expert_Mobs[11], .Expert_Ammo[11], "#HH_CONTROLLER01::OnExpert11"; end;
OnExpert12:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Expert_Mobs[12])*4)+strmobinfo(7,.Expert_Mobs[12])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
areamonster "018-2-2@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[12]), .Expert_Mobs[12], .Expert_Ammo[12], "#HH_CONTROLLER01::OnExpert12"; end;
OnExpert13:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Expert_Mobs[13])*4)+strmobinfo(7,.Expert_Mobs[13])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
areamonster "018-2-2@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[13]), .Expert_Mobs[13], .Expert_Ammo[13], "#HH_CONTROLLER01::OnExpert13"; end;
OnExpert14:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Expert_Mobs[14])*4)+strmobinfo(7,.Expert_Mobs[14])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
areamonster "018-2-2@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[14]), .Expert_Mobs[14], .Expert_Ammo[14], "#HH_CONTROLLER01::OnExpert14"; end;
OnMaster0:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Master_Mobs[0])*4)+strmobinfo(7,.Master_Mobs[0])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
areamonster "018-2-2@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[0]), .Master_Mobs[0], .Master_Ammo[0], "#HH_CONTROLLER01::OnMaster0"; end;
OnMaster1:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Master_Mobs[1])*4)+strmobinfo(7,.Master_Mobs[1])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
areamonster "018-2-2@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[1]), .Master_Mobs[1], .Master_Ammo[1], "#HH_CONTROLLER01::OnMaster1"; end;
OnMaster2:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Master_Mobs[2])*4)+strmobinfo(7,.Master_Mobs[2])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
areamonster "018-2-2@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[2]), .Master_Mobs[2], .Master_Ammo[2], "#HH_CONTROLLER01::OnMaster2"; end;
OnMaster3:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Master_Mobs[3])*4)+strmobinfo(7,.Master_Mobs[3])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
areamonster "018-2-2@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[3]), .Master_Mobs[3], .Master_Ammo[3], "#HH_CONTROLLER01::OnMaster3"; end;
OnMaster4:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Master_Mobs[4])*4)+strmobinfo(7,.Master_Mobs[4])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
areamonster "018-2-2@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[4]), .Master_Mobs[4], .Master_Ammo[4], "#HH_CONTROLLER01::OnMaster4"; end;
OnMaster5:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Master_Mobs[5])*4)+strmobinfo(7,.Master_Mobs[5])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
areamonster "018-2-2@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[5]), .Master_Mobs[5], .Master_Ammo[5], "#HH_CONTROLLER01::OnMaster5"; end;
OnMaster6:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Master_Mobs[6])*4)+strmobinfo(7,.Master_Mobs[6])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
areamonster "018-2-2@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[6]), .Master_Mobs[6], .Master_Ammo[6], "#HH_CONTROLLER01::OnMaster6"; end;
OnMaster7:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Master_Mobs[7])*4)+strmobinfo(7,.Master_Mobs[7])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
areamonster "018-2-2@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[7]), .Master_Mobs[7], .Master_Ammo[7], "#HH_CONTROLLER01::OnMaster7"; end;
OnMaster8:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Master_Mobs[8])*4)+strmobinfo(7,.Master_Mobs[8])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
areamonster "018-2-2@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[8]), .Master_Mobs[8], .Master_Ammo[8], "#HH_CONTROLLER01::OnMaster8"; end;
OnMaster9:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Master_Mobs[9])*4)+strmobinfo(7,.Master_Mobs[9])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
areamonster "018-2-2@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[9]), .Master_Mobs[9], .Master_Ammo[9], "#HH_CONTROLLER01::OnMaster9"; end;
OnMaster10:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Master_Mobs[10])*4)+strmobinfo(7,.Master_Mobs[10])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
areamonster "018-2-2@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[10]), .Master_Mobs[10], .Master_Ammo[10], "#HH_CONTROLLER01::OnMaster10"; end;
OnMaster11:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Master_Mobs[11])*4)+strmobinfo(7,.Master_Mobs[11])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
areamonster "018-2-2@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[11]), .Master_Mobs[11], .Master_Ammo[11], "#HH_CONTROLLER01::OnMaster11"; end;
OnMaster12:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Master_Mobs[12])*4)+strmobinfo(7,.Master_Mobs[12])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
areamonster "018-2-2@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[12]), .Master_Mobs[12], .Master_Ammo[12], "#HH_CONTROLLER01::OnMaster12"; end;
OnMaster13:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Master_Mobs[13])*4)+strmobinfo(7,.Master_Mobs[13])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
areamonster "018-2-2@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[13]), .Master_Mobs[13], .Master_Ammo[13], "#HH_CONTROLLER01::OnMaster13"; end;
OnMaster14:
if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.Master_Mobs[14])*4)+strmobinfo(7,.Master_Mobs[14])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
areamonster "018-2-2@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[14]), .Master_Mobs[14], .Master_Ammo[14], "#HH_CONTROLLER01::OnMaster14"; end;
}
/*python
df=[('Novice', 21, 1),
('Intermed', 20, 2),
('Advanc', 18, 4),
('Expert', 15, 8),
('Master', 15, 16)]
for a in df:
i=0
while (i < a[1]):
print('On%s%d:' % (a[0], i))
print(' if (rand(0, 2000) >= readparam(Luk)+(strmobinfo(3,.%s_Mobs[%d])*4)+strmobinfo(7,.%s_Mobs[%d])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, %s, .@m$, .@x, .@y);}' % (a[0], i, a[0], i, a[2]))
print(' areamonster "018-2-2@%s", 20, 20, 220, 220, strmobinfo(1, .%s_Mobs[%d]), .%s_Mobs[%d], .%s_Ammo[%d], "#HH_CONTROLLER01::On%s%d"; end;' % (a[0][:2],a[0],i,a[0],i,a[0],i,a[0],i))
i+=1
*/
|