Potentially fix issues with regions

This commit is contained in:
KingRainbow44 2023-05-31 23:34:43 -04:00
parent 083e9ba422
commit 84e3823695
No known key found for this signature in database
GPG Key ID: FC2CB64B00D257BE

View File

@ -710,13 +710,10 @@ public class Player implements PlayerHook, FieldFetch {
this.getQuestManager().forEachActiveQuest(quest -> { this.getQuestManager().forEachActiveQuest(quest -> {
if (quest.getTriggerData() != null && if (quest.getTriggerData() != null &&
quest.getTriggers().containsKey("ENTER_REGION_"+ region.config_id)) { quest.getTriggers().containsKey("ENTER_REGION_"+ region.config_id)) {
// If trigger hasn't been fired yet
if (!Boolean.TRUE.equals(quest.getTriggers().put("ENTER_REGION_" + region.config_id, true))) {
this.getSession().send(new PacketServerCondMeetQuestListUpdateNotify()); this.getSession().send(new PacketServerCondMeetQuestListUpdateNotify());
this.getQuestManager().queueEvent(QuestContent.QUEST_CONTENT_TRIGGER_FIRE, this.getQuestManager().queueEvent(QuestContent.QUEST_CONTENT_TRIGGER_FIRE,
quest.getTriggerData().get("ENTER_REGION_" + region.config_id).getId(), 0); quest.getTriggerData().get("ENTER_REGION_" + region.config_id).getId(), 0);
} }
}
}); });
} }
@ -724,13 +721,10 @@ public class Player implements PlayerHook, FieldFetch {
public void onLeaveRegion(SceneRegion region) { public void onLeaveRegion(SceneRegion region) {
this.getQuestManager().forEachActiveQuest(quest -> { this.getQuestManager().forEachActiveQuest(quest -> {
if (quest.getTriggers().containsKey("LEAVE_REGION_" + region.config_id)) { if (quest.getTriggers().containsKey("LEAVE_REGION_" + region.config_id)) {
// If trigger hasn't been fired yet
if (!Boolean.TRUE.equals(quest.getTriggers().put("LEAVE_REGION_" + region.config_id, true))) {
this.getSession().send(new PacketServerCondMeetQuestListUpdateNotify()); this.getSession().send(new PacketServerCondMeetQuestListUpdateNotify());
this.getQuestManager().queueEvent(QuestContent.QUEST_CONTENT_TRIGGER_FIRE, this.getQuestManager().queueEvent(QuestContent.QUEST_CONTENT_TRIGGER_FIRE,
quest.getTriggerData().get("LEAVE_REGION_" + region.config_id).getId(), 0); quest.getTriggerData().get("LEAVE_REGION_" + region.config_id).getId(), 0);
} }
}
}); });
} }