summaryrefslogtreecommitdiff
path: root/world/map/npc
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc')
-rw-r--r--world/map/npc/functions/soul_menhir.txt10
-rw-r--r--world/map/npc/items/warpTowels.txt37
2 files changed, 28 insertions, 19 deletions
diff --git a/world/map/npc/functions/soul_menhir.txt b/world/map/npc/functions/soul_menhir.txt
index e5ec9f4a..0af50a74 100644
--- a/world/map/npc/functions/soul_menhir.txt
+++ b/world/map/npc/functions/soul_menhir.txt
@@ -10,7 +10,13 @@ function|script|SoulMenhir|,
"I lost my towel...", L_Towel;
L_Towel:
+ if (TowelLastUsed > (gettimetick(2) - 1800))
+ goto L_DontPanic;
callfunc "MultiWarpTowel";
+ set TowelLastUsed, gettimetick(2);
+ mes "[Soul Menhir]";
+ mes "(You touch the mysterious stone. Somehow it feels hard and soft at the same time.)";
+ next;
getitem "HitchhikersTowel", 1;
goto L_Return;
@@ -44,6 +50,10 @@ L_Save:
goto L_FindPoint;
goto L_Do_Save;
+L_DontPanic:
+ message strcharinfo(0), "(A strange barrier keeps you from touching the stone at this time.)";
+ goto L_Return;
+
L_Do_Save:
savepoint @map$, @x, @y;
goto L_Return;
diff --git a/world/map/npc/items/warpTowels.txt b/world/map/npc/items/warpTowels.txt
index 1a9c8bcd..c3045899 100644
--- a/world/map/npc/items/warpTowels.txt
+++ b/world/map/npc/items/warpTowels.txt
@@ -1,7 +1,15 @@
// See #TravelConfig
function|script|WarpTowel|,
{
+ if (TowelLastUsed > (gettimetick(2) - 1800))
+ goto L_DontPanic;
+ if (isin("botcheck.gat",25,27,51,47))
+ goto L_Prison;
+ if (getmapflag(getmap(), MF_NOSAVE))
+ goto L_Forbid;
+
callfunc "MultiWarpTowel";
+
if (@warpTowelName$ == "HitchhikersTowel")
goto L_Save;
if(@warpTowelName$ == "WhiteHitchhikersTowel")
@@ -31,85 +39,76 @@ L_White:
set @NextLocationMap$, "035-2.gat";
set @NextLocationX, 20;
set @NextLocationY, 21;
- goto L_WarpChecks;
+ goto L_WarpPlayer;
L_Red:
// Barbarians
set @NextLocationMap$, "033-1.gat";
set @NextLocationX, 66;
set @NextLocationY, 33;
- goto L_WarpChecks;
+ goto L_WarpPlayer;
L_Green:
// Candor
set @NextLocationMap$, "029-1.gat";
set @NextLocationX, 69;
set @NextLocationY, 69;
- goto L_WarpChecks;
+ goto L_WarpPlayer;
L_Blue:
// Blue Sages
set @NextLocationMap$, "048-2.gat";
set @NextLocationX, 26;
set @NextLocationY, 47;
- goto L_WarpChecks;
+ goto L_WarpPlayer;
L_Yellow:
// Tulimshar Mines
set @NextLocationMap$, "002-2.gat";
set @NextLocationX, 27;
set @NextLocationY, 28;
- goto L_WarpChecks;
+ goto L_WarpPlayer;
L_Purple:
// Dimonds Inn
set @NextLocationMap$, "010-1.gat";
set @NextLocationX, 27;
set @NextLocationY, 97;
- goto L_WarpChecks;
+ goto L_WarpPlayer;
L_Orange:
// Graveyard
set @NextLocationMap$, "027-1.gat";
set @NextLocationX, 70;
set @NextLocationY, 100;
- goto L_WarpChecks;
+ goto L_WarpPlayer;
L_Pink:
// Terranite Cave
set @NextLocationMap$, "012-3.gat";
set @NextLocationX, 448;
set @NextLocationY, 66;
- goto L_WarpChecks;
+ goto L_WarpPlayer;
L_Teal:
// Mana Seed
set @NextLocationMap$, "012-3.gat";
set @NextLocationX, 64;
set @NextLocationY, 130;
- goto L_WarpChecks;
+ goto L_WarpPlayer;
L_Lime:
// Pachua
set @NextLocationMap$, "006-1.gat";
set @NextLocationX, 28;
set @NextLocationY, 97;
- goto L_WarpChecks;
+ goto L_WarpPlayer;
L_Save:
// Soul Menhir
set @NextLocationMap$, getsavepoint(0);
set @NextLocationX, getsavepoint(1);
set @NextLocationY, getsavepoint(2);
- goto L_WarpChecks;
-
-L_WarpChecks:
- if (TowelLastUsed > (gettimetick(2) - 1800))
- goto L_DontPanic;
- if (isin("botcheck.gat",25,27,51,47))
- goto L_Prison;
- if (getmapflag(getmap(), MF_NOSAVE))
- goto L_Forbid;
goto L_WarpPlayer;
L_WarpPlayer: