summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Petithory <vincent.petithory@gmail.com>2012-09-24 18:02:25 +0200
committerVincent Petithory <vincent.petithory@gmail.com>2012-12-17 13:25:08 +0100
commita6910cd696eccbef6f056fb0f7f4d0f2b72a2ede (patch)
tree82abd66fededf44e6cd44f43d697cf83d5b2b7b6
parent3556738b24848b62b47ed0226fa1b9e6d8e82fcb (diff)
downloadserverdata-a6910cd696eccbef6f056fb0f7f4d0f2b72a2ede.tar.gz
serverdata-a6910cd696eccbef6f056fb0f7f4d0f2b72a2ede.tar.bz2
serverdata-a6910cd696eccbef6f056fb0f7f4d0f2b72a2ede.tar.xz
serverdata-a6910cd696eccbef6f056fb0f7f4d0f2b72a2ede.zip
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)
-rw-r--r--world/map/conf/magic.conf.template1
-rw-r--r--world/map/npc/items/warpTowels.txt60
2 files changed, 61 insertions, 0 deletions
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.";