diff options
Diffstat (limited to 'world/map/npc')
-rw-r--r-- | world/map/npc/functions/soul_menhir.txt | 10 | ||||
-rw-r--r-- | world/map/npc/items/warpTowels.txt | 37 |
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: |