Improved QuestLink buypass handler.
This commit is contained in:
@@ -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;
|
||||||
|
@@ -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;
|
||||||
|
@@ -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;
|
||||||
|
Reference in New Issue
Block a user