From a6910cd696eccbef6f056fb0f7f4d0f2b72a2ede Mon Sep 17 00:00:00 2001 From: Vincent Petithory Date: Mon, 24 Sep 2012 18:02:25 +0200 Subject: Prevent players to warp from the Illia island (map 052 only): * Update the warp towels conditions * Update dark petal related spell. (#S00 or #alonzialonzo). (requires running build-magic.sh) --- world/map/conf/magic.conf.template | 1 + world/map/npc/items/warpTowels.txt | 60 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) (limited to 'world') diff --git a/world/map/conf/magic.conf.template b/world/map/conf/magic.conf.template index 5f459fd1..90ba4c7f 100644 --- a/world/map/conf/magic.conf.template +++ b/world/map/conf/magic.conf.template @@ -1475,6 +1475,7 @@ CONST E10_FLAG_USED_FREE_WARP_SHIFT = 17 NONMAGIC SILENT SPELL world-shift : "#S00" = (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. ( (REQUIRE (count_item(caster, "DarkPetal")) && # Allow unlimited travel with the petal + (map_nr(location(caster)) != 52) && # Do not allow if player is in Illia island (map_nr(location(caster)) != 5698) # Do not allow if player is in botcheck area ) => ((REQUIRE rdistance(location(caster), @("028-1.gat", 69, 70)) < 5) => diff --git a/world/map/npc/items/warpTowels.txt b/world/map/npc/items/warpTowels.txt index 21714ce3..30d29136 100644 --- a/world/map/npc/items/warpTowels.txt +++ b/world/map/npc/items/warpTowels.txt @@ -1,12 +1,18 @@ function|script|useWhiteWarpTowel|{ if (isin("botcheck.gat",25,27,51,47)) goto L_Botcheck; + if (isin("052-1.gat",1,1,100,80) || isin("052-2.gat",1,1,150,100)) + goto L_Illia; warp "020-1.gat",66,91; // Nivalis if (rand(15)) goto L_Keep; getitem "HitchhikersTowel", 1; end; +L_Illia: + message strcharinfo(0), "The strong barrier of this island prevents you to teleport!"; + goto L_Keep; + L_Botcheck: message strcharinfo(0), "You must be warped by a GM to leave the bot check area."; @@ -17,12 +23,18 @@ L_Keep: function|script|useRedWarpTowel|{ if (isin("botcheck.gat",25,27,51,47)) goto L_Botcheck; + if (isin("052-1.gat",1,1,100,80) || isin("052-2.gat",1,1,150,100)) + goto L_Illia; warp "009-1.gat",51,40; // Hurnscald if (rand(15)) goto L_Keep; getitem "HitchhikersTowel", 1; end; +L_Illia: + message strcharinfo(0), "The strong barrier of this island prevents you to teleport!"; + goto L_Keep; + L_Botcheck: message strcharinfo(0), "You must be warped by a GM to leave the bot check area."; @@ -33,12 +45,18 @@ L_Keep: function|script|useGreenWarpTowel|{ if (isin("botcheck.gat",25,27,51,47)) goto L_Botcheck; + if (isin("052-1.gat",1,1,100,80) || isin("052-2.gat",1,1,150,100)) + goto L_Illia; warp "003-1.gat",35,25; if (rand(15)) goto L_Keep; getitem "HitchhikersTowel", 1; end; +L_Illia: + message strcharinfo(0), "The strong barrier of this island prevents you to teleport!"; + goto L_Keep; + L_Botcheck: message strcharinfo(0), "You must be warped by a GM to leave the bot check area."; @@ -49,12 +67,18 @@ L_Keep: function|script|useBlueWarpTowel|{ if (isin("botcheck.gat",25,27,51,47)) goto L_Botcheck; + if (isin("052-1.gat",1,1,100,80) || isin("052-2.gat",1,1,150,100)) + goto L_Illia; warp "003-1.gat",35,25; if (rand(15)) goto L_Keep; getitem "HitchhikersTowel", 1; end; +L_Illia: + message strcharinfo(0), "The strong barrier of this island prevents you to teleport!"; + goto L_Keep; + L_Botcheck: message strcharinfo(0), "You must be warped by a GM to leave the bot check area."; @@ -65,12 +89,18 @@ L_Keep: function|script|useYellowWarpTowel|{ if (isin("botcheck.gat",25,27,51,47)) goto L_Botcheck; + if (isin("052-1.gat",1,1,100,80) || isin("052-2.gat",1,1,150,100)) + goto L_Illia; warp "001-1.gat",40,71; // Tulimshar if (rand(15)) goto L_Keep; getitem "HitchhikersTowel", 1; end; +L_Illia: + message strcharinfo(0), "The strong barrier of this island prevents you to teleport!"; + goto L_Keep; + L_Botcheck: message strcharinfo(0), "You must be warped by a GM to leave the bot check area."; @@ -81,12 +111,18 @@ L_Keep: function|script|usePurpleWarpTowel|{ if (isin("botcheck.gat",25,27,51,47)) goto L_Botcheck; + if (isin("052-1.gat",1,1,100,80) || isin("052-2.gat",1,1,150,100)) + goto L_Illia; warp "003-1.gat",35,25; if (rand(15)) goto L_Keep; getitem "HitchhikersTowel", 1; end; +L_Illia: + message strcharinfo(0), "The strong barrier of this island prevents you to teleport!"; + goto L_Keep; + L_Botcheck: message strcharinfo(0), "You must be warped by a GM to leave the bot check area."; @@ -97,12 +133,18 @@ L_Keep: function|script|useOrangeWarpTowel|{ if (isin("botcheck.gat",25,27,51,47)) goto L_Botcheck; + if (isin("052-1.gat",1,1,100,80) || isin("052-2.gat",1,1,150,100)) + goto L_Illia; warp "027-1.gat",70,100; // Graveyard if (rand(15)) goto L_Keep; getitem "HitchhikersTowel", 1; end; +L_Illia: + message strcharinfo(0), "The strong barrier of this island prevents you to teleport!"; + goto L_Keep; + L_Botcheck: message strcharinfo(0), "You must be warped by a GM to leave the bot check area."; @@ -113,12 +155,18 @@ L_Keep: function|script|usePinkWarpTowel|{ if (isin("botcheck.gat",25,27,51,47)) goto L_Botcheck; + if (isin("052-1.gat",1,1,100,80) || isin("052-2.gat",1,1,150,100)) + goto L_Illia; warp "012-3.gat",448,66; // Terranite Cave if (rand(15)) goto L_Keep; getitem "HitchhikersTowel", 1; end; +L_Illia: + message strcharinfo(0), "The strong barrier of this island prevents you to teleport!"; + goto L_Keep; + L_Botcheck: message strcharinfo(0), "You must be warped by a GM to leave the bot check area."; @@ -129,12 +177,18 @@ L_Keep: function|script|useTealWarpTowel|{ if (isin("botcheck.gat",25,27,51,47)) goto L_Botcheck; + if (isin("052-1.gat",1,1,100,80) || isin("052-2.gat",1,1,150,100)) + goto L_Illia; warp "003-1.gat",35,25; if (rand(15)) goto L_Keep; getitem "HitchhikersTowel", 1; end; +L_Illia: + message strcharinfo(0), "The strong barrier of this island prevents you to teleport!"; + goto L_Keep; + L_Botcheck: message strcharinfo(0), "You must be warped by a GM to leave the bot check area."; @@ -145,12 +199,18 @@ L_Keep: function|script|useLimeWarpTowel|{ if (isin("botcheck.gat",25,27,51,47)) goto L_Botcheck; + if (isin("052-1.gat",1,1,100,80) || isin("052-2.gat",1,1,150,100)) + goto L_Illia; warp "003-1.gat",35,25; if (rand(15)) goto L_Keep; getitem "HitchhikersTowel", 1; end; +L_Illia: + message strcharinfo(0), "The strong barrier of this island prevents you to teleport!"; + goto L_Keep; + L_Botcheck: message strcharinfo(0), "You must be warped by a GM to leave the bot check area."; -- cgit v1.2.3-60-g2f50