From bcb8d5f05db2627ef8bd2faee1151a19962d5593 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sun, 2 Jun 2024 21:16:22 -0300 Subject: Add a fallback to Warp Mage Warp Magic, but there's technically no error. --- npc/001-13/main.txt | 1 + npc/functions/util.txt | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/npc/001-13/main.txt b/npc/001-13/main.txt index d1557d273..cf1356523 100644 --- a/npc/001-13/main.txt +++ b/npc/001-13/main.txt @@ -267,4 +267,5 @@ OnClose: 001-13-0 mapflag zone MMO 001-13-1 mapflag zone MMO 001-13-2 mapflag zone MMO +001-13-3 mapflag zone MMO diff --git a/npc/functions/util.txt b/npc/functions/util.txt index 4e6494d34..2d834ea2d 100644 --- a/npc/functions/util.txt +++ b/npc/functions/util.txt @@ -1220,6 +1220,15 @@ function script TPToLoc { // Warps home and updates LOCATION$ function script teleporthome { warp "Save", 0, 0; + if (getmap() == "000-1") { + consolewarn("[WARN] Failed to teleporthome, map %s savepoint %s. Fallback to %s", getmap(), getsavepoint(0), LOCATION$); + // Fallback - attempt to spoof the original location as a last resort + .@lx=array_find($@LOCMASTER_LOC$, LOCATION$); + if (.@lx >= 0) { + warp $@LOCMASTER_MAP$[.@lx], $@LOCMASTER_X[.@lx], $@LOCMASTER_Y[.@lx]; + end; + } + } .@i=array_find($@LOCMASTER_MAP$, getmap()); if (.@i >= 0) EnterTown($@LOCMASTER_LOC$[.@i]); -- cgit v1.2.3-70-g09d2