summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--world/map/conf/magic-base.sex234
-rw-r--r--world/map/data/028-1.wlkbin25126 -> 25126 bytes
-rw-r--r--world/map/npc/028-1/Portal.txt135
-rw-r--r--world/map/npc/028-1/_import.txt5
-rw-r--r--world/map/npc/028-1/_mobs.txt2
-rw-r--r--world/map/npc/028-1/_warps.txt2
-rw-r--r--world/map/npc/028-1/mapflags.txt1
-rw-r--r--world/map/npc/028-1/portal.txt16
-rw-r--r--world/map/npc/028-3/_import.txt3
-rw-r--r--world/map/npc/028-3/_mobs.txt2
-rw-r--r--world/map/npc/028-3/_warps.txt2
-rw-r--r--world/map/npc/028-3/mapflags.txt1
-rw-r--r--world/map/npc/functions/gm_island.txt64
-rw-r--r--world/map/npc/scripts.conf3
14 files changed, 94 insertions, 376 deletions
diff --git a/world/map/conf/magic-base.sex b/world/map/conf/magic-base.sex
index 8f3b9978..986e2ce1 100644
--- a/world/map/conf/magic-base.sex
+++ b/world/map/conf/magic-base.sex
@@ -3126,240 +3126,6 @@
30)
(message p "You notice a strange smell all around you.")))))
-(SPELL (NONMAGIC SILENT) world-shift "#alonzialonzo" ()
- (=>
- (GUARD
- (REQUIRE
- (&&
- (==
- (&
- (>>
- (script_int caster "Easter_2010_QuestState")
- 16)
- 1)
- 1)
- (==
- (&
- (>>
- (script_int caster "Easter_2010_QuestState")
- 7)
- 3)
- 2))) "Travel only works when you have both helped the doctor at least thrice and have defeated the invader - top level requirement." )
- (|
- (=>
- (GUARD
- (REQUIRE
- (&&
- (&&
- (count_item caster "DarkPetal")
- (!=
- (map_nr
- (location caster))
- 52))
- (!=
- (map_nr
- (location caster))
- 5698))) "Allow unlimited travel with the petal, 52 Do not allow if player is in Illia island, 5698 Do not allow if player is in botcheck area" )
- (|
- (=>
- (GUARD
- (REQUIRE
- (<
- (rdistance
- (location caster)
- (@ "028-1.gat" 69 70))
- 5)))
- (EFFECT
- (sfx
- (location caster)
- SFX_TELEPORT
- 200)
- (WAIT 8000)
- (SCRIPT "{
- savepoint \"009-1\", 52, 39;
- }")
- (warp caster
- (@ "009-1.gat" 55 37))
- (sfx
- (location caster)
- SFX_TELEPORT
- 200)))
- (=>
- (GUARD
- (REQUIRE
- (!=
- (map_nr
- (location caster))
- 28)))
- (EFFECT
- (SET inithp
- (hp caster)) "Store this value."
- (sfx
- (location caster)
- SFX_TELEPORT
- 200)
- (IF (||
- (||
- (||
- (==
- (map_nr
- (location caster))
- 9)
- (==
- (map_nr
- (location caster))
- 1))
- (==
- (map_nr
- (location caster))
- 21))
- (==
- (map_nr
- (location caster))
- 20))
- (WAIT 8000)
- (WAIT 20000))
- (IF (<
- (hp caster)
- inithp)
- (ABORT)) "Cancel teleport if the player took damage during channel time (hacky, but for most purposes should work.)"
- (SCRIPT "{
- savepoint \"028-1\", 69, 71;
- }")
- (warp caster
- (@ "028-1.gat" 69 70))
- (sfx
- (location caster)
- SFX_TELEPORT
- 200)))))
- (|
- (=>
- (REQUIRE
- (<
- (rdistance
- (location caster)
- (@ "028-1.gat" 69 70))
- 5))
- (EFFECT
- (set_script_variable caster "Easter_2010_QuestState"
- (|
- (script_int caster "Easter_2010_QuestState")
- (<< 1 17)))
- (sfx
- (location caster)
- SFX_TELEPORT
- 200)
- (WAIT 8000)
- (SCRIPT "{
- savepoint \"009-1\", 52, 39;
- }")
- (warp caster
- (@ "009-1.gat" 55 37))
- (sfx
- (location caster)
- SFX_TELEPORT
- 200)))
- (=>
- (GUARD
- (REQUIRE
- (&&
- (!=
- (map_nr
- (location caster))
- 28)
- (==
- (&
- (>>
- (script_int caster "Easter_2010_QuestState")
- 17)
- 1)
- 0))) "Allow for one free warp home without the petal" )
- (EFFECT
- (SET inithp
- (hp caster)) "Store this value."
- (sfx
- (location caster)
- SFX_TELEPORT
- 200)
- (IF (||
- (||
- (||
- (==
- (map_nr
- (location caster))
- 9)
- (==
- (map_nr
- (location caster))
- 1))
- (==
- (map_nr
- (location caster))
- 21))
- (==
- (map_nr
- (location caster))
- 20))
- (WAIT 8000)
- (WAIT 20000))
- (IF (<
- (hp caster)
- inithp)
- (ABORT)) "Cancel teleport if the player took damage during channel time (hacky, but for most purposes should work.)"
- (set_script_variable caster "Easter_2010_QuestState"
- (|
- (script_int caster "Easter_2010_QuestState")
- (<< 1 17)))
- (SCRIPT "{
- savepoint \"028-1\", 69, 70;
- }")
- (warp caster
- (@ "028-1.gat" 69 70))
- (sfx
- (location caster)
- SFX_TELEPORT
- 200)))))))
-
-(SPELL (NONMAGIC SILENT) easter-get-debug "#e" (PC p)
- (=>
- (GUARD
- (REQUIRE
- (||
- (==
- (name_of caster)
- "Freeyorp")
- (==
- (name_of caster)
- "Xakelbael the Dark"))))
- (EFFECT
- (SCRIPT "{
- message strcharinfo(0), \"Global state egg1: \"+ $Easter_2010_Egg_Loc_State1;
- message strcharinfo(0), \"Global state egg2: \"+ $Easter_2010_Egg_Loc_State2;
- message strcharinfo(0), \"Global state egg3: \"+ $Easter_2010_Egg_Loc_State3;
- message strcharinfo(0), \"Global state egg4: \"+ $Easter_2010_Egg_Loc_State4;
- message strcharinfo(0), \"Global state egg5: \"+ $Easter_2010_Egg_Loc_State5;
- message strcharinfo(0), \"Global npc state1: \"+ $Easter_2010_Npc_State1;
- message strcharinfo(0), \"Global npc state2: \"+ $Easter_2010_Npc_State2;
- }")
- (message caster
- (+ "Local state egg1: "
- (script_int p "Easter_2010_EggState1")))
- (message caster
- (+ "Local state egg2: "
- (script_int p "Easter_2010_EggState2")))
- (message caster
- (+ "Local state egg3: "
- (script_int p "Easter_2010_EggState3")))
- (message caster
- (+ "Local state egg4: "
- (script_int p "Easter_2010_EggState4")))
- (message caster
- (+ "Local state egg5: "
- (script_int p "Easter_2010_EggState5")))
- (message caster
- (+ "Local state quest: "
- (script_int p "Easter_2010_QuestState"))))))
-
(PROCEDURE hug_tree (target)
(IF (||
(||
diff --git a/world/map/data/028-1.wlk b/world/map/data/028-1.wlk
index bb8b802a..eee89eff 100644
--- a/world/map/data/028-1.wlk
+++ b/world/map/data/028-1.wlk
Binary files differ
diff --git a/world/map/npc/028-1/Portal.txt b/world/map/npc/028-1/Portal.txt
deleted file mode 100644
index 71810ec5..00000000
--- a/world/map/npc/028-1/Portal.txt
+++ /dev/null
@@ -1,135 +0,0 @@
-028-1.gat,69,71,0|script|Portal#_M|400,
-{
- if (isin("028-1.gat",65,67,73,73)) goto L_Main;
- mes "There is something there, but you aren't quite close enough to see exactly what it is.";
- close;
-
-L_Main:
- mes "[Portal]";
- mes "";
- mes "A strange field hovers about waist high above the ground.";
- next;
- mes "[Portal]";
- mes "";
- mes "You sense a feeling of familiarity radiating out from it.";
- mes "";
- mes "It looks just wide enough to jump through.";
- next;
- mes "[Portal]";
- mes "";
- mes "You're not quite sure if there will be a way to return once you enter, though.";
- next;
- mes "[Portal]";
- mes "";
- mes "What do you do?";
- menu
- "Jump through, without looking back.", L_No_Hesitation,
- "Take one more look around.", L_Look,
- "Leave it alone.", L_Close;
-
-L_No_Hesitation:
- mes "There has been quite enough of this harsh place. You jump through without hesitation...";
- next;
- mes "...and fall, and fall...";
- next;
- mes "Dizzying colors whirl around you. You collapse.";
- savepoint "009-1", 52, 39;
- itemheal -hp -1, 0;
- close;
-
-L_Look:
- mes "[Portal]";
- mes "";
- mes "There was a lot here. You don't know where it came from, or quite how you ended up here.";
- if ((Easter_2010_QuestState >> E10_STATE_ROSE_SHIFT) & E10_STATE_ROSE_MASK == E10_STATE_ROSE_ROSE_COMPLETE)
- goto L_Full_Helped;
- if ((Easter_2010_QuestState >> E10_HELPED_DOCTOR_SHIFT) & E10_HELPED_DOCTOR_MASK)
- goto L_Somewhat_Helped;
- if ((Easter_2010_QuestState >> E10_FLAG_KNOWS_DOCTOR_SHIFT) & E10_FLAG_KNOWS_DOCTOR)
- goto L_Met;
- if ((Easter_2010_QuestState >> E10_FLAG_RETURN_READY_SHIFT) & E10_FLAG_RETURN_READY_MASK)
- goto L_Unknown_Defeat;
-
- mes "Come to think of it, there is still quite a lot you're not sure about. There was talk about something big, but you must have missed it... whatever it was, it seems gone now.";
- goto L_Post_Look;
-
-
-L_Full_Helped:
- if ((Easter_2010_QuestState >> E10_FLAG_RETURN_READY_SHIFT) & E10_FLAG_RETURN_READY_MASK)
- goto L_Full_Helped_Defeat;
- mes "Your assistance was helpful, you know that much. If only you could have faced the darkness that plagued this world more directly...";
- goto L_Post_Look;
-
-L_Full_Helped_Defeat:
- mes "You know you have done everything that you could have. Your determination will have surely meant the world will be restored, once more.";
- goto L_Post_Look;
-
-L_Somewhat_Helped:
- if ((Easter_2010_QuestState >> E10_FLAG_RETURN_READY_SHIFT) & E10_FLAG_RETURN_READY_MASK)
- goto L_Somewhat_Helped_Defeat;
- mes "You feel your help was not for nothing, though you can't quite shake the feeling there was still something more to do.";
- goto L_Post_Look;
-
-L_Somewhat_Helped_Defeat:
- mes "Your help was not for nothing. Your destruction of evil would surely help heal this world!";
- goto L_Post_Look;
-
-L_Met:
- if ((Easter_2010_QuestState >> E10_FLAG_RETURN_READY_SHIFT) & E10_FLAG_RETURN_READY_MASK)
- goto L_Met_Defeat;
- mes "While you only met the Doctor briefly, he seemed to think there was something wrong. If only there was a way you could have helped, somehow.";
- goto L_Post_Look;
-
-L_Met_Defeat:
- mes "Striking down that evil, dark, figure would surely make a difference. While you only met the Doctor briefly, he seemed to think there was something wrong... with any luck, this defeat would be, at the very least, a significant setback.";
- goto L_Post_Look;
-
-L_Unknown_Defeat:
- mes "Striking down that evil, dark, figure would surely make a difference. You just wish you knew what that was about... if only there had been someone that could have explained it all.";
- goto L_Post_Look;
-
-L_Post_Look:
- next;
- mes "What do you do?";
- menu
- "Jump through", L_Jump,
- "Leave it alone", L_Close;
-
-L_Jump:
- mes "[Portal]";
- mes "";
- mes "A tingling sensation surrounds you as you enter.";
- next;
- mes "[Portal]";
- mes "";
- mes "Inside, your senses seem heightened, sharpened...";
- next;
- mes "[Portal]";
- mes "";
- mes "You can detect many entities all around you, yet you are not quite sure how.";
- next;
- mes "[Portal]";
- mes "";
- mes "Colors swirl around you. There is a sensation of great speed, of great power, of energy...";
- next;
- mes "[Portal]";
- mes "";
- mes "A tearing motion. The blobs of color skew, and stretch into long thin lines... and somehow, a taste of peanuts.";
- next;
- mes "[Portal]";
- mes "";
- mes "A mass of green and yellow, moving at high speed... or perhaps it is you who is moving?";
- next;
- mes "[Portal]";
- mes "";
- mes "Whichever it is, one of you slows just as you begin to recognise some details...";
- warp "009-1.gat", 52, 39;
- savepoint "009-1", 52, 39;
- mes "[Home]";
- mes "";
- mes "You land softly. It is good to be home...";
- close;
-
-L_Close:
- close;
-}
diff --git a/world/map/npc/028-1/_import.txt b/world/map/npc/028-1/_import.txt
index db87b93f..b4ffaa86 100644
--- a/world/map/npc/028-1/_import.txt
+++ b/world/map/npc/028-1/_import.txt
@@ -1,6 +1,7 @@
-// Map 028-1: Easter Island
+// Map 028-1: GM Island
// This file is generated automatically. All manually changes will be removed when running the Converter.
map: 028-1.gat
-npc: npc/028-1/Portal.txt
npc: npc/028-1/_mobs.txt
npc: npc/028-1/_warps.txt
+npc: npc/028-1/mapflags.txt
+npc: npc/028-1/portal.txt
diff --git a/world/map/npc/028-1/_mobs.txt b/world/map/npc/028-1/_mobs.txt
index 6fc2f19f..c6d333a2 100644
--- a/world/map/npc/028-1/_mobs.txt
+++ b/world/map/npc/028-1/_mobs.txt
@@ -1,5 +1,5 @@
// This file is generated automatically. All manually changes will be removed when running the Converter.
-// Easter Island mobs
+// GM Island mobs
028-1.gat,121,75,27,25|monster|SpikyMushroom|1019,18,20000,15000,Mob028-1::On1019
028-1.gat,89,72,25,19|monster|Bat|1017,18,100000,10000,Mob028-1::On1017
diff --git a/world/map/npc/028-1/_warps.txt b/world/map/npc/028-1/_warps.txt
index 3158dba2..0fcbb24a 100644
--- a/world/map/npc/028-1/_warps.txt
+++ b/world/map/npc/028-1/_warps.txt
@@ -1,4 +1,4 @@
// This file is generated automatically. All manually changes will be removed when running the Converter.
-// Easter Island warps
+// GM Island warps
028-1.gat,120,125|warp|To Easter Island Cave|-1,-1,028-3.gat,33,77
diff --git a/world/map/npc/028-1/mapflags.txt b/world/map/npc/028-1/mapflags.txt
new file mode 100644
index 00000000..1bc5647d
--- /dev/null
+++ b/world/map/npc/028-1/mapflags.txt
@@ -0,0 +1 @@
+028-1.gat|mapflag|nosave|009-1,53,40
diff --git a/world/map/npc/028-1/portal.txt b/world/map/npc/028-1/portal.txt
new file mode 100644
index 00000000..0b510214
--- /dev/null
+++ b/world/map/npc/028-1/portal.txt
@@ -0,0 +1,16 @@
+//Leave GM Island
+028-1,98,37,0|script|Exit|400,0,0,
+{
+ mes "[Exit]";
+ mes "Would you like to leave this place?";
+ menu
+ "Yes.", L_Leave,
+ "No.", L_Close;
+
+L_Leave:
+ warp getsavepoint(0), getsavepoint(1), getsavepoint(2);
+ goto L_Close;
+
+L_Close:
+ close;
+}
diff --git a/world/map/npc/028-3/_import.txt b/world/map/npc/028-3/_import.txt
index 38108e9f..d7d975d4 100644
--- a/world/map/npc/028-3/_import.txt
+++ b/world/map/npc/028-3/_import.txt
@@ -1,5 +1,6 @@
-// Map 028-3: Easter Island Cave
+// Map 028-3: GM Island Cave
// This file is generated automatically. All manually changes will be removed when running the Converter.
map: 028-3.gat
npc: npc/028-3/_mobs.txt
npc: npc/028-3/_warps.txt
+npc: npc/028-3/mapflags.txt
diff --git a/world/map/npc/028-3/_mobs.txt b/world/map/npc/028-3/_mobs.txt
index c5fdba04..150ac53e 100644
--- a/world/map/npc/028-3/_mobs.txt
+++ b/world/map/npc/028-3/_mobs.txt
@@ -1,5 +1,5 @@
// This file is generated automatically. All manually changes will be removed when running the Converter.
-// Easter Island Cave mobs
+// GM Island Cave mobs
028-3.gat,51,49,22,15|monster|Silkworm|1035,10,30000,3000,Mob028-3::On1035
028-3.gat,43,35,1,1|monster|EvilMushroom|1013,3,40000,5000,Mob028-3::On1013
diff --git a/world/map/npc/028-3/_warps.txt b/world/map/npc/028-3/_warps.txt
index 559eafd8..89342982 100644
--- a/world/map/npc/028-3/_warps.txt
+++ b/world/map/npc/028-3/_warps.txt
@@ -1,4 +1,4 @@
// This file is generated automatically. All manually changes will be removed when running the Converter.
-// Easter Island Cave warps
+// GM Island Cave warps
028-3.gat,33,78|warp|To Easter Island|-1,-1,028-1.gat,120,126
diff --git a/world/map/npc/028-3/mapflags.txt b/world/map/npc/028-3/mapflags.txt
new file mode 100644
index 00000000..131f100f
--- /dev/null
+++ b/world/map/npc/028-3/mapflags.txt
@@ -0,0 +1 @@
+028-3.gat|mapflag|nosave|009-1,53,40
diff --git a/world/map/npc/functions/gm_island.txt b/world/map/npc/functions/gm_island.txt
new file mode 100644
index 00000000..cae9bdb0
--- /dev/null
+++ b/world/map/npc/functions/gm_island.txt
@@ -0,0 +1,64 @@
+// Add Localized Warp in town centers and Message to GM Island
+-|script|#GmConfig|-1,
+{
+ end;
+
+OnInit:
+ disablenpc "Gm Event#1";
+ disablenpc "Gm Event#2";
+ disablenpc "Gm Event#3";
+ end;
+}
+function|script|GmWarp|,
+{
+ warp "028-1", 110, 30;
+ return;
+}
+function|script|GmDebug|,
+{
+ if (getgmlevel() < 60)
+ goto L_Return;
+ goto L_Main;
+
+L_Main:
+ mes "[Gm Debug]";
+ mes "What do you want to do?";
+ menu
+ "Start Event.", L_GmStart,
+ "Stop Event.", L_GmStop;
+
+L_GmStart:
+ enablenpc "Gm Event#1";
+ enablenpc "Gm Event#2";
+ enablenpc "Gm Event#3";
+ goto L_Return;
+
+L_GmStop:
+ disablenpc "Gm Event#1";
+ disablenpc "Gm Event#2";
+ disablenpc "Gm Event#3";
+ goto L_Return;
+
+L_Return:
+ return;
+}
+017-9.gat,32,21,0|script|Gm Event Debug|368,
+{
+ callfunc "GmDebug";
+ close;
+}
+001-1.gat,49,68,0|script|Gm Event#1|368,0,0,
+{
+ callfunc "GmWarp";
+ end;
+}
+009-1.gat,46,30,0|script|Gm Event#2|368,0,0,
+{
+ callfunc "GmWarp";
+ end;
+}
+020-1.gat,67,89,0|script|Gm Event#3|368,0,0,
+{
+ callfunc "GmWarp";
+ end;
+}
diff --git a/world/map/npc/scripts.conf b/world/map/npc/scripts.conf
index 1458423b..254f1357 100644
--- a/world/map/npc/scripts.conf
+++ b/world/map/npc/scripts.conf
@@ -36,6 +36,9 @@ npc: npc/items/unequipcb.txt
npc: npc/items/launcher_ammo.txt
import: npc/_import.txt
+// GM Events
+npc: npc/functions/gm_island.txt
+
npc: npc/annuals/fathertime.txt
// Annual Christmas
npc: npc/annuals/xmas/config.txt