From a55871c059af42d48977a5bfd2abe92c84558079 Mon Sep 17 00:00:00 2001 From: Charlie Unfricht Date: Fri, 19 Aug 2022 09:16:07 -0400 Subject: [PATCH 1/4] Update explorer quest infoNumber pointer progress --- src/main/java/scripting/map/MapScriptMethods.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/scripting/map/MapScriptMethods.java b/src/main/java/scripting/map/MapScriptMethods.java index ab6c68b8ff..f728cf52d2 100644 --- a/src/main/java/scripting/map/MapScriptMethods.java +++ b/src/main/java/scripting/map/MapScriptMethods.java @@ -114,6 +114,11 @@ public class MapScriptMethods extends AbstractPlayerInteraction { } String status = Integer.toString(qs.getMedalProgress()); String infoex = qs.getInfoEx(0); + + // explorer quests all have an infoex/infonumber requirement that points to another quest + // THAT quest's progress needs to be updated for Quest.canComplete() to return true + getPlayer().getQuest((int)quest.getInfoNumber(qs.getStatus())).setProgress(0, status); + getPlayer().announceUpdateQuest(DelayedQuestUpdate.UPDATE, qs, true); StringBuilder smp = new StringBuilder(); StringBuilder etm = new StringBuilder(); From 2d4f3eac49a173b335a20d003bc504ea9d7b909e Mon Sep 17 00:00:00 2001 From: Charlie Unfricht Date: Fri, 19 Aug 2022 09:38:30 -0400 Subject: [PATCH 2/4] Add missing Helios Tower Library map for Ludus Lake Explorer --- scripts/map/onUserEnter/explorationPoint.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/map/onUserEnter/explorationPoint.js b/scripts/map/onUserEnter/explorationPoint.js index 5e0f278385..07681da33e 100644 --- a/scripts/map/onUserEnter/explorationPoint.js +++ b/scripts/map/onUserEnter/explorationPoint.js @@ -31,7 +31,7 @@ function start(ms) { ms.explorerQuest(29014, "Sleepywood Explorer");//Sleepywood Explorer } else if (ms.getPlayer().getMapId() >= 200000000 && ms.getPlayer().getMapId() <= 211041800) { ms.explorerQuest(29006, "El Nath Mts. Explorer");//El Nath Mts. Explorer - } else if (ms.getPlayer().getMapId() >= 220000000 && ms.getPlayer().getMapId() <= 222010400) { + } else if (ms.getPlayer().getMapId() >= 220000000 && ms.getPlayer().getMapId() <= 222020000) { ms.explorerQuest(29007, "Ludus Lake Explorer");//Ludus Lake Explorer } else if (ms.getPlayer().getMapId() >= 230000000 && ms.getPlayer().getMapId() <= 230040401) { ms.explorerQuest(29008, "Undersea Explorer");//Undersea Explorer From 0eed00dd64ce450584472c79f676beac6c91602a Mon Sep 17 00:00:00 2001 From: Charlie Unfricht Date: Fri, 19 Aug 2022 09:42:32 -0400 Subject: [PATCH 3/4] Add check for completed explorer quest to not re-trigger --- src/main/java/scripting/map/MapScriptMethods.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/scripting/map/MapScriptMethods.java b/src/main/java/scripting/map/MapScriptMethods.java index f728cf52d2..fdfdfae666 100644 --- a/src/main/java/scripting/map/MapScriptMethods.java +++ b/src/main/java/scripting/map/MapScriptMethods.java @@ -103,6 +103,10 @@ public class MapScriptMethods extends AbstractPlayerInteraction { public void explorerQuest(short questid, String questName) { Quest quest = Quest.getInstance(questid); + if (isQuestCompleted(questid)) { + return; + } + if (!isQuestStarted(questid)) { if (!quest.forceStart(getPlayer(), 9000066)) { return; From f4c283890fffc63b83771adf8c3cec477e4830ef Mon Sep 17 00:00:00 2001 From: Charlie Unfricht Date: Fri, 19 Aug 2022 17:58:17 -0400 Subject: [PATCH 4/4] Condense --- src/main/java/scripting/map/MapScriptMethods.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/scripting/map/MapScriptMethods.java b/src/main/java/scripting/map/MapScriptMethods.java index fdfdfae666..e993115273 100644 --- a/src/main/java/scripting/map/MapScriptMethods.java +++ b/src/main/java/scripting/map/MapScriptMethods.java @@ -121,9 +121,8 @@ public class MapScriptMethods extends AbstractPlayerInteraction { // explorer quests all have an infoex/infonumber requirement that points to another quest // THAT quest's progress needs to be updated for Quest.canComplete() to return true - getPlayer().getQuest((int)quest.getInfoNumber(qs.getStatus())).setProgress(0, status); + getPlayer().setQuestProgress(quest.getId(), (int)quest.getInfoNumber(qs.getStatus()), status); - getPlayer().announceUpdateQuest(DelayedQuestUpdate.UPDATE, qs, true); StringBuilder smp = new StringBuilder(); StringBuilder etm = new StringBuilder(); if (status.equals(infoex)) {