summaryrefslogtreecommitdiff
path: root/npc/033-1/misc.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/033-1/misc.txt')
-rw-r--r--npc/033-1/misc.txt111
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;
+}
+