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
|
// 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;
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)
// Continue the execution
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;
setarray .Novice_Ammo, 40, 40, 40, 50, 40, 80, 20, 20, 10, 90,
30, 30, 25, 10, 40, 10, 15, 50;
end;
// Respawn Arrays (Manual)
OnNovice0:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[20]), .Novice_Mobs[20], .Novice_Ammo[20], "#HH_CONTROLLER01::OnNovice20"; end;
// Controls logic for each instance
OnInstanceInit:
//if (instance_mapname("0018-2-2"))
// HH_NOVICE
if (instance_id() == $@HHMD_INSTID1) {
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);
}
end;
}
|