From 4e8726d29e9f92142deb033b54d4ef259d4b0312 Mon Sep 17 00:00:00 2001 From: Nazrin Date: Sat, 20 May 2023 08:42:26 -0700 Subject: [PATCH] Partially fix Chasing Shadows (#2159) * Partially fix Chasing Shadows * Go ahead and move it before the return before Magix tells me to. --- src/main/java/emu/grasscutter/game/player/PlayerProgress.java | 4 ++++ src/main/java/emu/grasscutter/game/quest/GameQuest.java | 1 + .../emu/grasscutter/game/quest/content/ContentFinishPlot.java | 4 ++-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/emu/grasscutter/game/player/PlayerProgress.java b/src/main/java/emu/grasscutter/game/player/PlayerProgress.java index 1ef978d5b..c8bca3c1f 100644 --- a/src/main/java/emu/grasscutter/game/player/PlayerProgress.java +++ b/src/main/java/emu/grasscutter/game/player/PlayerProgress.java @@ -78,6 +78,10 @@ public class PlayerProgress { return questProgressCountMap.merge(progressId, count, Integer::sum); } + public int resetCurrentProgress(int progressId) { + return questProgressCountMap.merge(progressId,0,Integer::min); + } + @Entity @NoArgsConstructor public static class ItemEntry { diff --git a/src/main/java/emu/grasscutter/game/quest/GameQuest.java b/src/main/java/emu/grasscutter/game/quest/GameQuest.java index cc1001d5e..c3e72e140 100644 --- a/src/main/java/emu/grasscutter/game/quest/GameQuest.java +++ b/src/main/java/emu/grasscutter/game/quest/GameQuest.java @@ -173,6 +173,7 @@ public class GameQuest { finishTime = 0; acceptTime = 0; startTime = 0; + this.getOwner().getPlayerProgress().resetCurrentProgress(this.subQuestId); if (oldState == QuestState.QUEST_STATE_UNSTARTED) { return false; } diff --git a/src/main/java/emu/grasscutter/game/quest/content/ContentFinishPlot.java b/src/main/java/emu/grasscutter/game/quest/content/ContentFinishPlot.java index 83e7621e3..1e2a4c031 100644 --- a/src/main/java/emu/grasscutter/game/quest/content/ContentFinishPlot.java +++ b/src/main/java/emu/grasscutter/game/quest/content/ContentFinishPlot.java @@ -16,7 +16,7 @@ public class ContentFinishPlot extends BaseContent { MainQuestData.TalkData talkData = quest.getMainQuest().getTalks().get(Integer.valueOf(params[0])); GameQuest subQuest = quest.getMainQuest().getChildQuestById(params[0]); - return talkData != null && subQuest != null - || condition.getParamStr().equals(paramStr) && condition.getParam()[0] == params[0]; + return (talkData != null && subQuest != null + || condition.getParamStr().equals(paramStr)) && condition.getParam()[0] == params[0]; } }