Meet condition for talk and custom objs, fixes #1943

This commit is contained in:
PikaMug 2022-05-06 12:10:52 -04:00
parent 68a626b117
commit e40a00b236
2 changed files with 8 additions and 1 deletions

View File

@ -213,6 +213,9 @@ public class CustomObjective implements ICustomObjective, Listener {
final Quester quester = plugin.getQuester(player.getUniqueId());
if (quester != null) {
if (quester.hasCustomObjective(quest, obj.getName())) {
if (!quester.meetsCondition(quest, true)) {
return;
}
int index = -1;
final LinkedList<Integer> customObjCounts = quester.getQuestData(quest).customObjectiveCounts;
for (final ICustomObjective co : quester.getCurrentStage(quest).getCustomObjectives()) {

View File

@ -190,6 +190,9 @@ public class NpcListener implements Listener {
}
boolean hasObjective = false;
for (final IQuest quest : quester.getCurrentQuestsTemp().keySet()) {
if (!quester.meetsCondition(quest, true)) {
continue;
}
if (quester.getCurrentStage(quest).containsObjective(ObjectiveType.TALK_TO_NPC)) {
if (quester.getCurrentStage(quest).getNpcsToInteract().contains(evt.getNPC().getUniqueId())) {
final int npcIndex = quester.getCurrentStage(quest).getNpcsToInteract().indexOf(evt.getNPC()
@ -206,8 +209,9 @@ public class NpcListener implements Listener {
boolean hasAtLeastOneGUI = false;
final LinkedList<IQuest> npcQuests = new LinkedList<>();
for (final IQuest q : plugin.getLoadedQuests()) {
if (quester.getCurrentQuestsTemp().containsKey(q))
if (quester.getCurrentQuestsTemp().containsKey(q)) {
continue;
}
if (q.getNpcStart() != null && q.getNpcStart().getId() == evt.getNPC().getId()) {
if (plugin.getSettings().canIgnoreLockedQuests()
&& (!quester.getCompletedQuestsTemp().contains(q)