diff --git a/pom.xml b/pom.xml
index d35027ef2..3b3c6ab8c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
me.blackvein.quests
quests
- 3.2.5
+ 3.2.6
quests
https://github.com/FlyingPikachu/Quests/
jar
diff --git a/src/main/java/me/blackvein/quests/NpcEffectThread.java b/src/main/java/me/blackvein/quests/NpcEffectThread.java
index 3b39bf30a..0b0917b98 100644
--- a/src/main/java/me/blackvein/quests/NpcEffectThread.java
+++ b/src/main/java/me/blackvein/quests/NpcEffectThread.java
@@ -51,7 +51,7 @@ public class NpcEffectThread implements Runnable {
NPC npc = plugin.citizens.getNPCRegistry().getNPC(e);
if (plugin.hasQuest(npc, quester)) {
showEffect(player, npc, Quests.effect);
- } else if (plugin.hasCompletedQuest(npc, quester)) {
+ } else if (plugin.hasCompletedRedoableQuest(npc, quester)) {
showEffect(player, npc, Quests.redoEffect);
}
}
diff --git a/src/main/java/me/blackvein/quests/Quests.java b/src/main/java/me/blackvein/quests/Quests.java
index 690cbbce3..75714ee3d 100644
--- a/src/main/java/me/blackvein/quests/Quests.java
+++ b/src/main/java/me/blackvein/quests/Quests.java
@@ -3966,6 +3966,7 @@ public class Quests extends JavaPlugin implements ConversationAbandonedListener
return false;
}
+ // Unused internally, left for external use
public boolean hasCompletedQuest(NPC npc, Quester quester) {
for (Quest q : quests) {
if (q.npcStart != null && quester.completedQuests.contains(q.name) == true) {
@@ -3978,6 +3979,19 @@ public class Quests extends JavaPlugin implements ConversationAbandonedListener
}
return false;
}
+
+ public boolean hasCompletedRedoableQuest(NPC npc, Quester quester) {
+ for (Quest q : quests) {
+ if (q.npcStart != null && quester.completedQuests.contains(q.name) == true && q.redoDelay > -1) {
+ if (q.npcStart.getId() == npc.getId()) {
+ if (ignoreLockedQuests == false || ignoreLockedQuests == true && q.testRequirements(quester) == true) {
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+ }
public static int getMCMMOSkillLevel(SkillType st, String player) {
McMMOPlayer mPlayer = UserManager.getPlayer(player);