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
|
// TMW2 scripts.
// Author:
// Jesusalva
// Description:
// 023-3 Abandoned Ice Caves Configuration File
023-3 mapflag zone MMO
023-3,63,220,0 script #Exit0233 NPC_HIDDEN,0,0,{
end;
OnTouch:
.@q=getq(General_Narrator);
.@q2=getq2(General_Narrator);
// Cheater Detected
if (.@q < 15) {
warp "Save", 0, 0;
percentheal -100, -100;
return false;
}
mesc l("Return to Frostia's Castle?");
if (askyesno() == ASK_YES) {
.@mapn$="024-16";
warp .@mapn$, 30, 26;
}
closeclientdialog;
close;
}
023-3,48,22,0 script #Finish0233 NPC_HIDDEN,0,0,{
end;
OnTouch:
.@q=getq(General_Narrator);
.@q2=getq2(General_Narrator);
// Cheater Detected
if (.@q < 13) {
warp "Save", 0, 0;
percentheal -100, -100;
return false;
}
.@mapn$="001-7";
warp .@mapn$, 91, 90;
end;
}
001-7,91,89,0 script #Init0233 NPC_HIDDEN,0,0,{
end;
OnTouch:
.@q=getq(General_Narrator);
.@q2=getq2(General_Narrator);
// Cheater Detected
if (.@q < 13) {
warp "Save", 0, 0;
percentheal -100, -100;
return false;
}
if (.@q == 15) {
dispbottom lg("I'm not a coward! I must press forward!");
end;
}
.@mapn$="023-3";
warp .@mapn$, 48, 23;
end;
}
// A simple random treasure chest - to be sure players were introduced to this
// awesome system. Same rules as any treasure box still applies.
023-3,94,212,0 script #chest_02330 NPC_CHEST,{
TreasureBox();
specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
close;
OnInit:
.distance = 2;
end;
}
// Miniboss fight must be enabled on right npc. No passing before that.
023-3,120,103,0 script #MiniBossTrap0233 NPC_HIDDEN,0,2,{
end;
OnTouch:
.@q=getq(FrostiaQuest_Homunculus);
if (!.@q) {
dispbottom l("A powerful magic barrier repels you!");
getmapxy(.@m$, .@x, .@y, 0);
slide .@x-2, .@y;
sit();
}
end;
}
// TODO: The scout which went ahead of you (+ miniboss mechanics)
023-3,86,88,0 script Elite Scout#MB0233 NPC_DARKSABER,{
mesn;
mesq l("Uhm, I'm looking for a way out...");
close;
OnInit:
.distance = 5;
end;
}
// Cannot flee from Miniboss Fight
023-3,80,84,0 script #MiniBossTrapB0233 NPC_HIDDEN,5,0,{
end;
OnTouch:
.@q=getq(FrostiaQuest_Homunculus);
.@q2=getq(FrostiaQuest_Homunculus);
if (!.@q && .@q2) {
dispbottom l("A powerful magic barrier repels you!");
slide 81, 86;
sit();
}
end;
}
// A not-so-simple treasure chest from Sagratha's Dungeon
023-3,0,0,0 script #0233ChestCtrl NPC_HIDDEN,{
end;
OnDelay:
initnpctimer;
end;
OnTimer180000:
stopnpctimer;
OnInit:
setarray .@x, 189, 191, 193, 186;
setarray .@y, 44, 42, 43, 45;
.@r=rand2(getarraysize(.@x));
monster "023-3", .@x[.@r], .@y[.@r], "Treasure Chest", any(BronzeChest,BronzeMimic,SilverChest,SilverMimic,GoldenChest,GoldenMimic), 1, "#0233ChestCtrl::OnDelay";
end;
}
// TODO: Spike traps and etc. at the corritor
// TODO: Monsters natural presence in this cave
// TODO: Rolling Stone Trap
|