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
|
// TMW2 Scripts
// Author:
// Jesusalva
// Description:
// Controls Elenium Mines, specially the instances
// Main Controller for Instanced maps
018-6-1,0,0,0 script #01861_InstCtrl NPC_HIDDEN,{
end;
// Map, x, y, width, height, mob, amount
function AreaMonsterB {
.@m$=getarg(0);
.@x1=getarg(1);
.@x2=.@x1+getarg(3);
.@y1=getarg(2);
.@y2=.@y1+getarg(4);
.@mi=getarg(5);
.@am=getarg(6);
areamonster(.@m$, .@x1, .@y1, .@x2, .@y2, strmobinfo(1, .@mi), .@mi, .@am, instance_npcname(.name$)+"::OnKill"+.@mi);
return;
}
// (var, value)
function SetIfVoid {
if (!getarg(0))
return getarg(1);
return 0;
}
// Bifs won't respawn
OnKill1226:
OnKill1227:
OnKill1228:
end;
// Others: Wait 30 seconds and respawn
OnKill1178:
.@mi=SetIfVoid(.@mi, 1178);
OnKill1051:
.@mi=SetIfVoid(.@mi, 1051);
OnKill1074:
.@mi=SetIfVoid(.@mi, 1074);
OnKill1123:
.@mi=SetIfVoid(.@mi, 1123);
OnKill1176:
.@mi=SetIfVoid(.@mi, 1176);
OnKill1026:
.@mi=SetIfVoid(.@mi, 1026);
// Common utils
getmapxy(.@m$, .@x, .@y, 0);
sleep(30000);
AreaMonsterB(.@m$, .@x-2, .@y-2, 4, 4, .@mi, 1);
end;
OnInstanceInit:
// Generate map ID
getmapxy(.@m$, .@x, .@y, UNITTYPE_NPC);
// Bif monsters
AreaMonsterB(.@m$, 40, 49, 7, 8, BigEleniumBif, 5);
AreaMonsterB(.@m$, 95, 51, 7, 8, BigEleniumBif, 5);
AreaMonsterB(.@m$, 145, 83, 6, 5, EleniumBif, 5);
AreaMonsterB(.@m$, 62, 86, 6, 5, EleniumBif, 5);
AreaMonsterB(.@m$, 65, 130, 6, 5, EleniumBif, 5);
AreaMonsterB(.@m$, 125, 158, 6, 5, SmallEleniumBif, 4);
AreaMonsterB(.@m$, 129, 183, 6, 5, SmallEleniumBif, 4);
AreaMonsterB(.@m$, 34, 181, 5, 5, SmallEleniumBif, 4);
// Common Monsters
AreaMonsterB(.@m$, 80, 172, 54, 25, BlackSlime, 16);
AreaMonsterB(.@m$, 89, 167, 54, 25, DarkLizard, 8);
AreaMonsterB(.@m$, 96, 103, 56, 29, BlackScorpion, 17);
AreaMonsterB(.@m$, 101, 105, 54, 25, MountainSnake, 9);
AreaMonsterB(.@m$, 70, 45, 44, 25, WickedMushroom, 14);
AreaMonsterB(.@m$, 68, 45, 31, 21, Archant, 7);
end;
}
/////////////////////////////
018-6-1,83,26,0 script #ToForgottenChamber NPC_SUMMONING_CIRC,0,0,{
dispbottom l("It looks dangerous.");
end;
OnTouch:
.@q=getq(LoFQuest_Barbara);
.@q2=getq2(LoFQuest_Barbara);
.@q3=getq3(LoFQuest_Barbara);
if (.@q >= 1) {
warp BarbaraInstCheck(0), 90, 91;
// Complete the first arc if possible
if (.@q == 1) {
setq1 LoFQuest_Barbara, 2;
setq3 LoFQuest_Barbara, 0;
}
// Update M0 NPCs based on quest state
if (.@q3 == 5)
enablenpc instance_npcname("#ToForgottenShrine", .@q2);
} else {
Exception("ERROR, YOU SHOULD NOT BEEN SEEING THIS. 018-6-1.TFC");
}
end;
OnInit:
disablenpc .name$;
end;
}
///////////////////////////// Minievents
|