From 3816e1c5bd106b59abe85ec4360027da8ed8ae19 Mon Sep 17 00:00:00 2001 From: Arthur Charlton Date: Mon, 3 Jul 2023 18:25:14 -0400 Subject: [PATCH 1/2] Add the warp party function that the scripts use --- src/main/java/scripting/AbstractPlayerInteraction.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/scripting/AbstractPlayerInteraction.java b/src/main/java/scripting/AbstractPlayerInteraction.java index 3f8cd0626b..3e54e94043 100644 --- a/src/main/java/scripting/AbstractPlayerInteraction.java +++ b/src/main/java/scripting/AbstractPlayerInteraction.java @@ -133,6 +133,16 @@ public class AbstractPlayerInteraction { warpParty(id, portalId, mapid, mapid); } + public void warpParty(int map, String portalName) { + + int mapid = getMapId(); + var warpMap = c.getChannelServer().getMapFactory().getMap(map); + var portal = warpMap.getPortal(portalName).getId(); + + warpParty(map, portal, mapid, mapid); + + } + public void warpParty(int id, int fromMinId, int fromMaxId) { warpParty(id, 0, fromMinId, fromMaxId); } From b935725096e79b57ea2712a105f6b3847ef86993 Mon Sep 17 00:00:00 2001 From: Arthur Charlton Date: Mon, 10 Jul 2023 17:01:48 -0400 Subject: [PATCH 2/2] Handle the potentially null portal based on the name. Matches the behavior of warping a character to a named portal. --- .../java/scripting/AbstractPlayerInteraction.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/scripting/AbstractPlayerInteraction.java b/src/main/java/scripting/AbstractPlayerInteraction.java index 3e54e94043..f388e70f81 100644 --- a/src/main/java/scripting/AbstractPlayerInteraction.java +++ b/src/main/java/scripting/AbstractPlayerInteraction.java @@ -137,9 +137,16 @@ public class AbstractPlayerInteraction { int mapid = getMapId(); var warpMap = c.getChannelServer().getMapFactory().getMap(map); - var portal = warpMap.getPortal(portalName).getId(); - warpParty(map, portal, mapid, mapid); + var portal = warpMap.getPortal(portalName); + + if (portal == null) { + portal = warpMap.getPortal(0); + } + + var portalId = portal.getId(); + + warpParty(map, portalId, mapid, mapid); }