From 138adf72d498e17d071cc3de33119339879c9442 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Fri, 14 Jan 2022 09:36:03 -0300 Subject: Instance Porthos and add placeholder NPC --- npc/001-14/_import.txt | 3 +++ npc/001-14/ctrl.txt | 16 ++++++++++++++++ npc/001-14/hocus.txt | 17 +++++++++++++++++ npc/001-14/mapflags.txt | 1 + npc/003-1/events.txt | 2 ++ npc/functions/aurora.txt | 19 +++++++++++++++---- 6 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 npc/001-14/ctrl.txt create mode 100644 npc/001-14/hocus.txt create mode 100644 npc/001-14/mapflags.txt diff --git a/npc/001-14/_import.txt b/npc/001-14/_import.txt index d304c1aa5..530b09c87 100644 --- a/npc/001-14/_import.txt +++ b/npc/001-14/_import.txt @@ -1,3 +1,6 @@ // Map 001-14: Porthos - The Town Of Portals // This file is generated automatically. All manually added changes will be removed when running the Converter. "npc/001-14/_warps.txt", +"npc/001-14/ctrl.txt", +"npc/001-14/hocus.txt", +"npc/001-14/mapflags.txt", diff --git a/npc/001-14/ctrl.txt b/npc/001-14/ctrl.txt new file mode 100644 index 000000000..f676b90cc --- /dev/null +++ b/npc/001-14/ctrl.txt @@ -0,0 +1,16 @@ +// TMW2 script +// Author: +// Jesusalva +// Description: +// Magic Olympics + +001-14,91,90,0 script #MOLY_Sign00 NPC_NO_SPRITE,{ + dispbottom l("Welcome to Porthos - The Town of Portals (Kaizei's æther / Moubootaur Legends)"); + end; + +OnInit: + .distance=2; + end; +} + + diff --git a/npc/001-14/hocus.txt b/npc/001-14/hocus.txt new file mode 100644 index 000000000..0508f7668 --- /dev/null +++ b/npc/001-14/hocus.txt @@ -0,0 +1,17 @@ +// TMW2 script +// Author: +// Jesusalva +// Description: +// Magic Olympics + +001-14,89,89,0 script Hocus Pocus NPC_BLACKWIZARD,{ + mesn; + mesq l("Greetings, %s %s, I am Hocus Pocus the Grandmaster.", academicrank(), strcharinfo(0)); + close; + +OnInit: + .distance=5; + end; +} + + diff --git a/npc/001-14/mapflags.txt b/npc/001-14/mapflags.txt new file mode 100644 index 000000000..7f9ecdac4 --- /dev/null +++ b/npc/001-14/mapflags.txt @@ -0,0 +1 @@ +001-14 mapflag zone MMO diff --git a/npc/003-1/events.txt b/npc/003-1/events.txt index 6175b9ebd..644ea2101 100644 --- a/npc/003-1/events.txt +++ b/npc/003-1/events.txt @@ -335,6 +335,8 @@ L_Aurora: .@WHAT$=l("dream tower apparition"); } else if ($EVENT$ == "Raid") { .@WHAT$=l("boss raid"); + } else if ($EVENT$ == "Olympics") { + .@WHAT$=l("magic olympics"); } mesn; diff --git a/npc/functions/aurora.txt b/npc/functions/aurora.txt index bbb707b40..af0592bcd 100644 --- a/npc/functions/aurora.txt +++ b/npc/functions/aurora.txt @@ -606,7 +606,7 @@ function script FYE_Olympics_MX { function script FYE_Olympics_CH { if ($EVENT$ != "Olympics") return; - // FIXME: Change based on using different verbs/adjectives? + // TODO: Change based on using different verbs/adjectives? FYMOLY_CHANTI += 1; setq Q_AuroraEvent, getq2(Q_AuroraEvent) + 1; return; @@ -626,8 +626,19 @@ function script FYE_Olympics_AL { function script FYE_Olympics_TO { if ($EVENT$ != "Olympics") return false; - // FIXME: Instancing - warp "001-14", 92, 90; + .@m$ = "moly@"+getcharid(0); + if (instanceowner(@olympics) != getcharid(3)) { + .@id = instance_create("moly@"+getcharid(0), getcharid(3), IOT_CHAR); + if (.@id < 0) return false; + .@mp$ = instance_attachmap("001-14", .@id, 0, .@m$); + @olympics = .@id; + // It'll be self-destroyed when time runs out (30 minutes) + instance_set_timeout(1800, 1800, .@id); + instance_init(.@id); + } else { + instance_set_timeout(1800, 1800, @olympics); + } + warp .@m$, 92, 90; return true; } @@ -704,7 +715,7 @@ function script FYE_Submit { // Stops any Aurora Event function script FYStopEvent { - setarray .@av$, "Kamelot", "Regnum", "Expo", "Fishing", "Candor", "Mining", "Tower", "Raid"; + setarray .@av$, "Kamelot", "Regnum", "Expo", "Fishing", "Candor", "Mining", "Tower", "Raid", "Olympics"; if (array_find(.@av$, $EVENT$) >= 0) { sClear(); $EVENT$=""; -- cgit v1.2.3-60-g2f50