Improved QuestLink buypass handler.

This commit is contained in:
MobiusDev
2017-08-14 20:08:45 +00:00
parent 9848b6668c
commit 97f941cbaa
3 changed files with 48 additions and 36 deletions

View File

@@ -87,10 +87,9 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCanStart = new StringBuilder(128); final StringBuilder sbCanStart = new StringBuilder(128);
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
int availableQuestCounter = 0;
int inProgressQuestCounter = 0;
Quest lastSavedAvailableQuest = null; Quest lastSavedAvailableQuest = null;
Quest lastSavedProgressQuest = null; Quest lastSavedProgressQuest = null;
int questCounter = 0;
//@formatter:off //@formatter:off
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream()
@@ -127,8 +126,8 @@ public class QuestLink implements IBypassHandler
sbCanStart.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">"); sbCanStart.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
sbCanStart.append(quest.isCustomQuest() ? quest.getPath() : "<fstring>" + quest.getNpcStringId() + "01</fstring>"); sbCanStart.append(quest.isCustomQuest() ? quest.getPath() : "<fstring>" + quest.getNpcStringId() + "01</fstring>");
sbCanStart.append("</button></font>"); sbCanStart.append("</button></font>");
availableQuestCounter++;
lastSavedAvailableQuest = quest; lastSavedAvailableQuest = quest;
questCounter++;
} }
else else
{ {
@@ -136,6 +135,7 @@ public class QuestLink implements IBypassHandler
sbCantStart.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">"); sbCantStart.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
sbCantStart.append(quest.isCustomQuest() ? quest.getPath() : "<fstring>" + quest.getNpcStringId() + "01</fstring>"); sbCantStart.append(quest.isCustomQuest() ? quest.getPath() : "<fstring>" + quest.getNpcStringId() + "01</fstring>");
sbCantStart.append("</button></font>"); sbCantStart.append("</button></font>");
questCounter++;
} }
} }
else if (qs.isStarted()) else if (qs.isStarted())
@@ -144,8 +144,8 @@ public class QuestLink implements IBypassHandler
sbStarted.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">"); sbStarted.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
sbStarted.append(quest.isCustomQuest() ? quest.getPath() + " (In Progress)" : "<fstring>" + quest.getNpcStringId() + "02</fstring>"); sbStarted.append(quest.isCustomQuest() ? quest.getPath() + " (In Progress)" : "<fstring>" + quest.getNpcStringId() + "02</fstring>");
sbStarted.append("</button></font>"); sbStarted.append("</button></font>");
inProgressQuestCounter++;
lastSavedProgressQuest = quest; lastSavedProgressQuest = quest;
questCounter++;
} }
else if (qs.isCompleted()) else if (qs.isCompleted())
{ {
@@ -153,18 +153,22 @@ public class QuestLink implements IBypassHandler
sbCompleted.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">"); sbCompleted.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
sbCompleted.append(quest.isCustomQuest() ? quest.getPath() + " (Done) " : "<fstring>" + quest.getNpcStringId() + "03</fstring>"); sbCompleted.append(quest.isCustomQuest() ? quest.getPath() + " (Done) " : "<fstring>" + quest.getNpcStringId() + "03</fstring>");
sbCompleted.append("</button></font>"); sbCompleted.append("</button></font>");
questCounter++;
} }
} }
if ((availableQuestCounter == 0) && (inProgressQuestCounter == 1) && (lastSavedProgressQuest != null)) if (questCounter == 1)
{ {
showQuestWindow(player, npc, lastSavedProgressQuest.getName()); if (lastSavedProgressQuest != null)
return; {
} showQuestWindow(player, npc, lastSavedProgressQuest.getName());
if ((availableQuestCounter == 1) && (inProgressQuestCounter == 0) && (lastSavedAvailableQuest != null)) return;
{ }
showQuestWindow(player, npc, lastSavedAvailableQuest.getName()); if (lastSavedAvailableQuest != null)
return; {
showQuestWindow(player, npc, lastSavedAvailableQuest.getName());
return;
}
} }
String content; String content;

View File

@@ -87,10 +87,9 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCanStart = new StringBuilder(128); final StringBuilder sbCanStart = new StringBuilder(128);
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
int availableQuestCounter = 0;
int inProgressQuestCounter = 0;
Quest lastSavedAvailableQuest = null; Quest lastSavedAvailableQuest = null;
Quest lastSavedProgressQuest = null; Quest lastSavedProgressQuest = null;
int questCounter = 0;
//@formatter:off //@formatter:off
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream()
@@ -127,8 +126,8 @@ public class QuestLink implements IBypassHandler
sbCanStart.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">"); sbCanStart.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
sbCanStart.append(quest.isCustomQuest() ? quest.getPath() : "<fstring>" + quest.getNpcStringId() + "01</fstring>"); sbCanStart.append(quest.isCustomQuest() ? quest.getPath() : "<fstring>" + quest.getNpcStringId() + "01</fstring>");
sbCanStart.append("</button></font>"); sbCanStart.append("</button></font>");
availableQuestCounter++;
lastSavedAvailableQuest = quest; lastSavedAvailableQuest = quest;
questCounter++;
} }
else else
{ {
@@ -136,6 +135,7 @@ public class QuestLink implements IBypassHandler
sbCantStart.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">"); sbCantStart.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
sbCantStart.append(quest.isCustomQuest() ? quest.getPath() : "<fstring>" + quest.getNpcStringId() + "01</fstring>"); sbCantStart.append(quest.isCustomQuest() ? quest.getPath() : "<fstring>" + quest.getNpcStringId() + "01</fstring>");
sbCantStart.append("</button></font>"); sbCantStart.append("</button></font>");
questCounter++;
} }
} }
else if (qs.isStarted()) else if (qs.isStarted())
@@ -144,8 +144,8 @@ public class QuestLink implements IBypassHandler
sbStarted.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">"); sbStarted.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
sbStarted.append(quest.isCustomQuest() ? quest.getPath() + " (In Progress)" : "<fstring>" + quest.getNpcStringId() + "02</fstring>"); sbStarted.append(quest.isCustomQuest() ? quest.getPath() + " (In Progress)" : "<fstring>" + quest.getNpcStringId() + "02</fstring>");
sbStarted.append("</button></font>"); sbStarted.append("</button></font>");
inProgressQuestCounter++;
lastSavedProgressQuest = quest; lastSavedProgressQuest = quest;
questCounter++;
} }
else if (qs.isCompleted()) else if (qs.isCompleted())
{ {
@@ -153,18 +153,22 @@ public class QuestLink implements IBypassHandler
sbCompleted.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">"); sbCompleted.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
sbCompleted.append(quest.isCustomQuest() ? quest.getPath() + " (Done) " : "<fstring>" + quest.getNpcStringId() + "03</fstring>"); sbCompleted.append(quest.isCustomQuest() ? quest.getPath() + " (Done) " : "<fstring>" + quest.getNpcStringId() + "03</fstring>");
sbCompleted.append("</button></font>"); sbCompleted.append("</button></font>");
questCounter++;
} }
} }
if ((availableQuestCounter == 0) && (inProgressQuestCounter == 1) && (lastSavedProgressQuest != null)) if (questCounter == 1)
{ {
showQuestWindow(player, npc, lastSavedProgressQuest.getName()); if (lastSavedProgressQuest != null)
return; {
} showQuestWindow(player, npc, lastSavedProgressQuest.getName());
if ((availableQuestCounter == 1) && (inProgressQuestCounter == 0) && (lastSavedAvailableQuest != null)) return;
{ }
showQuestWindow(player, npc, lastSavedAvailableQuest.getName()); if (lastSavedAvailableQuest != null)
return; {
showQuestWindow(player, npc, lastSavedAvailableQuest.getName());
return;
}
} }
String content; String content;

View File

@@ -87,10 +87,9 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCanStart = new StringBuilder(128); final StringBuilder sbCanStart = new StringBuilder(128);
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
int availableQuestCounter = 0;
int inProgressQuestCounter = 0;
Quest lastSavedAvailableQuest = null; Quest lastSavedAvailableQuest = null;
Quest lastSavedProgressQuest = null; Quest lastSavedProgressQuest = null;
int questCounter = 0;
//@formatter:off //@formatter:off
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream()
@@ -127,8 +126,8 @@ public class QuestLink implements IBypassHandler
sbCanStart.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">"); sbCanStart.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
sbCanStart.append(quest.isCustomQuest() ? quest.getPath() : "<fstring>" + quest.getNpcStringId() + "01</fstring>"); sbCanStart.append(quest.isCustomQuest() ? quest.getPath() : "<fstring>" + quest.getNpcStringId() + "01</fstring>");
sbCanStart.append("</button></font>"); sbCanStart.append("</button></font>");
availableQuestCounter++;
lastSavedAvailableQuest = quest; lastSavedAvailableQuest = quest;
questCounter++;
} }
else else
{ {
@@ -136,6 +135,7 @@ public class QuestLink implements IBypassHandler
sbCantStart.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">"); sbCantStart.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
sbCantStart.append(quest.isCustomQuest() ? quest.getPath() : "<fstring>" + quest.getNpcStringId() + "01</fstring>"); sbCantStart.append(quest.isCustomQuest() ? quest.getPath() : "<fstring>" + quest.getNpcStringId() + "01</fstring>");
sbCantStart.append("</button></font>"); sbCantStart.append("</button></font>");
questCounter++;
} }
} }
else if (qs.isStarted()) else if (qs.isStarted())
@@ -144,8 +144,8 @@ public class QuestLink implements IBypassHandler
sbStarted.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">"); sbStarted.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
sbStarted.append(quest.isCustomQuest() ? quest.getPath() + " (In Progress)" : "<fstring>" + quest.getNpcStringId() + "02</fstring>"); sbStarted.append(quest.isCustomQuest() ? quest.getPath() + " (In Progress)" : "<fstring>" + quest.getNpcStringId() + "02</fstring>");
sbStarted.append("</button></font>"); sbStarted.append("</button></font>");
inProgressQuestCounter++;
lastSavedProgressQuest = quest; lastSavedProgressQuest = quest;
questCounter++;
} }
else if (qs.isCompleted()) else if (qs.isCompleted())
{ {
@@ -153,18 +153,22 @@ public class QuestLink implements IBypassHandler
sbCompleted.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">"); sbCompleted.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
sbCompleted.append(quest.isCustomQuest() ? quest.getPath() + " (Done) " : "<fstring>" + quest.getNpcStringId() + "03</fstring>"); sbCompleted.append(quest.isCustomQuest() ? quest.getPath() + " (Done) " : "<fstring>" + quest.getNpcStringId() + "03</fstring>");
sbCompleted.append("</button></font>"); sbCompleted.append("</button></font>");
questCounter++;
} }
} }
if ((availableQuestCounter == 0) && (inProgressQuestCounter == 1) && (lastSavedProgressQuest != null)) if (questCounter == 1)
{ {
showQuestWindow(player, npc, lastSavedProgressQuest.getName()); if (lastSavedProgressQuest != null)
return; {
} showQuestWindow(player, npc, lastSavedProgressQuest.getName());
if ((availableQuestCounter == 1) && (inProgressQuestCounter == 0) && (lastSavedAvailableQuest != null)) return;
{ }
showQuestWindow(player, npc, lastSavedAvailableQuest.getName()); if (lastSavedAvailableQuest != null)
return; {
showQuestWindow(player, npc, lastSavedAvailableQuest.getName());
return;
}
} }
String content; String content;