diff options
Diffstat (limited to 'npc/033-1/misc.txt')
-rw-r--r-- | npc/033-1/misc.txt | 111 |
1 files changed, 97 insertions, 14 deletions
diff --git a/npc/033-1/misc.txt b/npc/033-1/misc.txt index f57cc03..608cc1f 100644 --- a/npc/033-1/misc.txt +++ b/npc/033-1/misc.txt @@ -44,21 +44,69 @@ OnTouch: function script SetPorthosPortal { .@id = getarg(0); mesn l("Portal %02d", .@id); - mes l("Do you want to activate an event?"); + switch (.@id) { + case 6: + mesc l("Event: Moubootaur Showdown"), 1; break; + case 7: + mesc l("Warp: TMW Classic"), 1; close; + case 8: + mesc l("Event: Blanc's Showdown"), 1; break; + case 9: + mesc l("Warp: TMW ML"), 1; close; + default: + mesc l("This portal has not been coded yet."); close; + } next; - select - l("Cancel"), - l("Moubootaur Showdown"); - mes ""; - switch (@menu) { - case 2: + mes l("Do you want to activate the event?"); + if (askyesno() == ASK_NO) close; + switch (.@id) { + case 6: setd(sprintf("$@EVENT_%02d", .@id), PORTHOS_ACTIVE); setd(sprintf("$@EVENT_%02d_M$", .@id), "001-13-2"); setd(sprintf("$@EVENT_%02d_X", .@id), 47); setd(sprintf("$@EVENT_%02d_Y", .@id), 52); break; + case 8: + // Clean-up 001-3 in case there are already mobs there + killmonsterall("001-3"); + // Environment Monsters, they do not respawn + .@m$="001-3"; + // Thematic mobs + areamonster(.@m$, 20, 20, getmapinfo(MAPINFO_SIZE_X, .@m$), getmapinfo(MAPINFO_SIZE_Y, .@m$), strmobinfo(1, Thug), Thug, 150); + areamonster(.@m$, 20, 20, getmapinfo(MAPINFO_SIZE_X, .@m$), getmapinfo(MAPINFO_SIZE_Y, .@m$), strmobinfo(1, Swashbuckler), Swashbuckler, 150); + areamonster(.@m$, 20, 20, getmapinfo(MAPINFO_SIZE_X, .@m$), getmapinfo(MAPINFO_SIZE_Y, .@m$), strmobinfo(1, Grenadier), Grenadier, 140); + areamonster(.@m$, 20, 20, getmapinfo(MAPINFO_SIZE_X, .@m$), getmapinfo(MAPINFO_SIZE_Y, .@m$), strmobinfo(1, OceanPirate), OceanPirate, 100); + // There's `Marley` but they're listed as boss + // We'll likely use them in the mazes, as your target? + // Environment runt + areamonster(.@m$, 20, 20, getmapinfo(MAPINFO_SIZE_X, .@m$), getmapinfo(MAPINFO_SIZE_Y, .@m$), strmobinfo(1, DeathCat), DeathCat, 100); + areamonster(.@m$, 20, 20, getmapinfo(MAPINFO_SIZE_X, .@m$), getmapinfo(MAPINFO_SIZE_Y, .@m$), strmobinfo(1, BlackSlime), BlackSlime, 90); + areamonster(.@m$, 20, 20, getmapinfo(MAPINFO_SIZE_X, .@m$), getmapinfo(MAPINFO_SIZE_Y, .@m$), strmobinfo(1, SmallFrog), SmallFrog, 80); + areamonster(.@m$, 20, 20, getmapinfo(MAPINFO_SIZE_X, .@m$), getmapinfo(MAPINFO_SIZE_Y, .@m$), strmobinfo(1, BigFrog), BigFrog, 80); + // The lower tier + areamonster(.@m$, 20, 20, getmapinfo(MAPINFO_SIZE_X, .@m$), getmapinfo(MAPINFO_SIZE_Y, .@m$), strmobinfo(1, WickedMushroom), WickedMushroom, 50); + areamonster(.@m$, 20, 20, getmapinfo(MAPINFO_SIZE_X, .@m$), getmapinfo(MAPINFO_SIZE_Y, .@m$), strmobinfo(1, Forain), Forain, 50); + areamonster(.@m$, 20, 20, getmapinfo(MAPINFO_SIZE_X, .@m$), getmapinfo(MAPINFO_SIZE_Y, .@m$), strmobinfo(1, Assassin), Assassin, 50); + // The mid tier + areamonster(.@m$, 20, 20, getmapinfo(MAPINFO_SIZE_X, .@m$), getmapinfo(MAPINFO_SIZE_Y, .@m$), strmobinfo(1, HoodedNinja), HoodedNinja, 30); + // The high tier + areamonster(.@m$, 20, 20, getmapinfo(MAPINFO_SIZE_X, .@m$), getmapinfo(MAPINFO_SIZE_Y, .@m$), strmobinfo(1, BlackSlimeMother), BlackSlimeMother, 10); + // The boss level spawns + areamonster(.@m$, 20, 20, getmapinfo(MAPINFO_SIZE_X, .@m$), getmapinfo(MAPINFO_SIZE_Y, .@m$), strmobinfo(1, Reaper), Reaper, 2); + areamonster(.@m$, 20, 20, getmapinfo(MAPINFO_SIZE_X, .@m$), getmapinfo(MAPINFO_SIZE_Y, .@m$), strmobinfo(1, NightmareDragon), NightmareDragon, 2); + areamonster(.@m$, 20, 20, getmapinfo(MAPINFO_SIZE_X, .@m$), getmapinfo(MAPINFO_SIZE_Y, .@m$), strmobinfo(1, Mandragora), Mandragora, 1); + areamonster(.@m$, 20, 20, getmapinfo(MAPINFO_SIZE_X, .@m$), getmapinfo(MAPINFO_SIZE_Y, .@m$), strmobinfo(1, SiegeTower), SiegeTower, 1); + areamonster(.@m$, 20, 20, getmapinfo(MAPINFO_SIZE_X, .@m$), getmapinfo(MAPINFO_SIZE_Y, .@m$), strmobinfo(1, Golem), Golem, 2); + areamonster(.@m$, 20, 20, getmapinfo(MAPINFO_SIZE_X, .@m$), getmapinfo(MAPINFO_SIZE_Y, .@m$), strmobinfo(1, ShadowTortuga), ShadowTortuga, 1); + // Set everything up + setd(sprintf("$@EVENT_%02d", .@id), PORTHOS_ACTIVE); + setd(sprintf("$@EVENT_%02d_M$", .@id), "001-3"); + setd(sprintf("$@EVENT_%02d_X", .@id), 164); + setd(sprintf("$@EVENT_%02d_Y", .@id), 33); + kamibroadcast("Blanc's Showdown was enabled."); + break; default: - mes l("Ok."); + mes l("Error."); break; } close; @@ -66,25 +114,40 @@ function script SetPorthosPortal { } -033-1,72,190,0 script #Porthos01 NPC_NO_SPRITE,0,0,{ +// Shortcut to TMW Classic? +033-1,85,227,0 script #Porthos07 NPC_NO_SPRITE,0,0,{ + end; +OnTouch: + slide 85, 228; + mes l("Do you want to visit The Mana World: Classic?"); + next; + if (askyesno() == ASK_YES) + MirrorLakeSendTo(MLP_TMW, 0); + closeclientdialog; + end; +} + +// Event: Blanc's Manhunt +033-1,72,190,0 script #Porthos08 NPC_NO_SPRITE,0,0,{ end; OnTouch: - if ($@EVENT_01 == PORTHOS_BUSY) { + if ($@EVENT_06 == PORTHOS_BUSY) { dispbottom l("This portal is currently busy - an event must be in progress."); end; } - if ($@EVENT_01 == PORTHOS_UNUSED) { + // 001-3 portals + if ($@EVENT_08 == PORTHOS_UNUSED) { if (is_admin() || is_master()) - SetPorthosPortal(1); + SetPorthosPortal(8); dispbottom l("This portal is not currently active."); end; } - warp $@EVENT_01_M$, $@EVENT_01_X, $@EVENT_01_Y; + warp $@EVENT_08_M$, $@EVENT_08_X, $@EVENT_08_Y; end; } // Shortcut to Moubootaur Legends? -033-1,31,155,0 script #Porthos02 NPC_NO_SPRITE,0,0,{ +033-1,31,155,0 script #Porthos09 NPC_NO_SPRITE,0,0,{ end; OnTouch: slide 31, 156; @@ -96,3 +159,23 @@ OnTouch: end; } +// TODO: Event: Zax De'Kagen Showdown +// Event: Moubootaur Showdown +// This is a draft in npc/config/events.txt +033-1,154,238,0 script #Porthos06 NPC_NO_SPRITE,0,0,{ + end; +OnTouch: + if ($@EVENT_06 == PORTHOS_BUSY) { + dispbottom l("This portal is currently busy - an event must be in progress."); + end; + } + if ($@EVENT_06 == PORTHOS_UNUSED) { + if (is_admin() || is_master()) + SetPorthosPortal(6); + dispbottom l("This portal is not currently active."); + end; + } + warp $@EVENT_06_M$, $@EVENT_06_X, $@EVENT_06_Y; + end; +} + |