From fbe42e219c9c3bc092d54f5da68d9fb320af1690 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Wed, 10 Mar 2021 15:52:38 -0300 Subject: Fires of Steam - The Death of Andrei Sakar (initial version) Unfinished --- npc/029-0/mobs.txt | 170 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 npc/029-0/mobs.txt (limited to 'npc/029-0/mobs.txt') 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; +} + + -- cgit v1.2.3-60-g2f50