summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2022-01-14 09:36:03 -0300
committerJesusaves <cpntb1@ymail.com>2022-01-14 09:36:03 -0300
commit138adf72d498e17d071cc3de33119339879c9442 (patch)
treed626a6db86cb1e21ae779a694b3ade1175838dd0
parent95c4f412c9422806b7e9d801f4c342700a89bf70 (diff)
downloadserverdata-138adf72d498e17d071cc3de33119339879c9442.tar.gz
serverdata-138adf72d498e17d071cc3de33119339879c9442.tar.bz2
serverdata-138adf72d498e17d071cc3de33119339879c9442.tar.xz
serverdata-138adf72d498e17d071cc3de33119339879c9442.zip
Instance Porthos and add placeholder NPC
-rw-r--r--npc/001-14/_import.txt3
-rw-r--r--npc/001-14/ctrl.txt16
-rw-r--r--npc/001-14/hocus.txt17
-rw-r--r--npc/001-14/mapflags.txt1
-rw-r--r--npc/003-1/events.txt2
-rw-r--r--npc/functions/aurora.txt19
6 files changed, 54 insertions, 4 deletions
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$="";