summaryrefslogtreecommitdiff
path: root/npc/029-0/mobs.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/029-0/mobs.txt')
-rw-r--r--npc/029-0/mobs.txt170
1 files changed, 170 insertions, 0 deletions
diff --git a/npc/029-0/mobs.txt b/npc/029-0/mobs.txt
new file mode 100644
index 000000000..b35138188
--- /dev/null
+++ b/npc/029-0/mobs.txt
@@ -0,0 +1,170 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Fires of Steam: The Death of Andrei Sakar
+
+//////////////////////////////////////////
+// Monster Control
+- script SteamFire#Ctrl 32767,{
+ function SFsetup1;
+ function SFsetup2;
+ function SFsetup3;
+ function SFsetup4;
+ function SFsetup5;
+ function SFsetup6;
+ function SFsetup7;
+ function SFsetup8;
+ function SFreset;
+ end;
+
+OnInit:
+ .e1$="SteamFire#Ctrl::OnEvent1";
+ .e2$="SteamFire#Ctrl::OnEvent2";
+ .e3$="SteamFire#Ctrl::OnEvent3";
+ .e4$="SteamFire#Ctrl::OnEvent4";
+ .e5$="SteamFire#Ctrl::OnEvent5";
+ .e6$="SteamFire#Ctrl::OnEvent6";
+ .e7$="SteamFire#Ctrl::OnEvent7";
+ .e8$="SteamFire#Ctrl::OnEvent8";
+ SFsetup1();
+ SFsetup2();
+ SFsetup3();
+ SFsetup4();
+ SFsetup5();
+ SFsetup6();
+ SFsetup7();
+ SFsetup8();
+ end;
+
+function SFsetup1 {
+ areamonster("029-1", 15, 15, 77, 120, strmobinfo(1, Scar), Scar, 60, .e1$);
+ areamonster("029-1", 15, 15, 255, 255, strmobinfo(1, Crafty), Crafty, 320, .e1$);
+ areamonster("029-1", 15, 15, 255, 255, strmobinfo(1, GiantMutatedBat), GiantMutatedBat, 30, .e1$);
+ areamonster("029-1", 195, 15, 290, 100, strmobinfo(1, Forain), Forain, 54, .e1$);
+ areamonster("029-1", 77, 15, 195, 75, strmobinfo(1, GreenDragon), GreenDragon, 45, .e1$);
+ areamonster("029-1", 75, 75, 205, 100, strmobinfo(1, EliteDuck), EliteDuck, 40, .e1$);
+ areamonster("029-1", 15, 90, 75, 280, strmobinfo(1, Terranite), Terranite, 90, .e1$);
+ areamonster("029-1", 177, 140, 280, 280, strmobinfo(1, JackO), JackO, 80, .e1$);
+ areamonster("029-1", 175, 75, 280, 200, strmobinfo(1, RedSkullSlime), RedSkullSlime, 60, .e1$);
+ areamonster("029-1", 75, 175, 185, 280, strmobinfo(1, Michel), Michel, 60, .e1$);
+ areamonster("029-1", 80, 100, 180, 160, strmobinfo(1, CopperSkullSlime), CopperSkullSlime, 60, .e1$);
+ // MAP BOSS
+ monster("029-1", 147, 153, "Level Boss", MonsterGeneral, 1, .e1$);
+ return;
+}
+
+function SFsetup2 {
+ return;
+}
+
+function SFsetup3 {
+ return;
+}
+
+function SFsetup4 {
+ return;
+}
+
+function SFsetup5 {
+ return;
+}
+
+function SFsetup6 {
+ return;
+}
+
+function SFsetup7 {
+ return;
+}
+
+function SFsetup8 {
+ return;
+}
+
+
+// SFreset(map, state)
+function SFreset {
+ .@m$=getarg(0);
+ .@s=getarg(1);
+ .@m=mobcount(.@m$, "all");
+ if (!.@m) {
+ if ($FIRESOFSTEAM == .@s) {
+ $FIRESOFSTEAM+=1;
+ $FIRESOFSTEAM_CD=gettimetick(2)+10800; // 3 hours cooldown (180 min)
+ return 2;
+ } else {
+ return 1;
+ }
+ } else if (.@m % 25 == 0) {
+ mapannounce(.@m$, sprintf("%s monster(s) left", fnum(.@m)), 0);
+ }
+ return 0;
+}
+
+OnEvent1:
+ .@f=SFreset("029-1", .e1$, 1);
+ if (.@f == 2)
+ mapannounce("029-1", "Dracula's Castle magical seal has dissipated!", 0);
+ if (.@f)
+ SFsetup1();
+ end;
+
+OnEvent2:
+ .@f=SFreset("029-2", .e2$, 2);
+ if (.@f == 2)
+ mapannounce("029-2", "Map cleared!", 0);
+ if (.@f)
+ SFsetup2();
+ end;
+
+OnEvent3:
+ .@f=SFreset("029-3", .e3$, 3);
+ if (.@f == 2)
+ mapannounce("029-3", "Map cleared!", 0);
+ if (.@f)
+ SFsetup3();
+ end;
+
+OnEvent4:
+ .@f=SFreset("029-4", .e4$, 4);
+ if (.@f == 2)
+ mapannounce("029-4", "Map cleared!", 0);
+ if (.@f)
+ SFsetup4();
+ end;
+
+OnEvent5:
+ .@f=SFreset("029-5", .e5$, 5);
+ if (.@f == 2)
+ mapannounce("029-5", "Map cleared!", 0);
+ if (.@f)
+ SFsetup5();
+ end;
+
+OnEvent6:
+ .@f=SFreset("029-6", .e6$, 6);
+ if (.@f == 2)
+ mapannounce("029-6", "Map cleared! You'll need a Druid Tree Branch to use the tree warp to next area.", 0);
+ if (.@f)
+ SFsetup6();
+ end;
+
+OnEvent7:
+ .@f=SFreset("029-7", .e7$, 7);
+ if (.@f == 2)
+ mapannounce("029-7", "Swamps cleared! Meet Andrei Sakar on the other side!", 0);
+ if (.@f)
+ SFsetup7();
+ end;
+
+OnEvent8:
+ .@f=SFreset("029-8", .e8$, 8);
+ if (.@f == 2)
+ mapannounce("029-8", "Map cleared! Contact a GM in Migglemire Town!", 0);
+ if (.@f)
+ SFsetup8();
+ end;
+}
+
+