From ca04411fbf0f460b83fa6cd10f931d1b9602742b Mon Sep 17 00:00:00 2001 From: wushin Date: Wed, 25 Jun 2014 22:34:25 -0500 Subject: Place to host GM Events --- world/map/conf/magic-base.sex | 234 ---------------------------------- world/map/data/028-1.wlk | Bin 25126 -> 25126 bytes world/map/npc/028-1/Portal.txt | 135 -------------------- world/map/npc/028-1/_import.txt | 5 +- world/map/npc/028-1/_mobs.txt | 2 +- world/map/npc/028-1/_warps.txt | 2 +- world/map/npc/028-1/mapflags.txt | 1 + world/map/npc/028-1/portal.txt | 16 +++ world/map/npc/028-3/_import.txt | 3 +- world/map/npc/028-3/_mobs.txt | 2 +- world/map/npc/028-3/_warps.txt | 2 +- world/map/npc/028-3/mapflags.txt | 1 + world/map/npc/functions/gm_island.txt | 64 ++++++++++ world/map/npc/scripts.conf | 3 + 14 files changed, 94 insertions(+), 376 deletions(-) delete mode 100644 world/map/npc/028-1/Portal.txt create mode 100644 world/map/npc/028-1/mapflags.txt create mode 100644 world/map/npc/028-1/portal.txt create mode 100644 world/map/npc/028-3/mapflags.txt create mode 100644 world/map/npc/functions/gm_island.txt 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 Binary files a/world/map/data/028-1.wlk and b/world/map/data/028-1.wlk 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 -- cgit v1.2.3-70-g09d2