rendered paste bodyIndex: C:/Development/l2j/eclipse/workspace/L2_GameserverSVN/java/net/sf/l2j/gameserver/model/quest/Quest.java
===================================================================
--- C:/Development/l2j/eclipse/workspace/L2_GameserverSVN/java/net/sf/l2j/gameserver/model/quest/Quest.java (revision 1707)
+++ C:/Development/l2j/eclipse/workspace/L2_GameserverSVN/java/net/sf/l2j/gameserver/model/quest/Quest.java (working copy)
@@ -143,7 +143,7 @@
* @return QuestState : QuestState created
*/
public QuestState newQuestState(L2PcInstance player) {
- QuestState qs = new QuestState(this, player, getInitialState(), false);
+ QuestState qs = QuestStateManager.getInstance().addQuestState(this, player, getInitialState(), false);
Quest.createQuestInDb(qs);
return qs;
}
Index: C:/Development/l2j/eclipse/workspace/L2_GameserverSVN/java/net/sf/l2j/gameserver/model/quest/QuestStateManager.java
===================================================================
--- C:/Development/l2j/eclipse/workspace/L2_GameserverSVN/java/net/sf/l2j/gameserver/model/quest/QuestStateManager.java (revision 1712)
+++ C:/Development/l2j/eclipse/workspace/L2_GameserverSVN/java/net/sf/l2j/gameserver/model/quest/QuestStateManager.java (working copy)
@@ -40,12 +40,15 @@
// Method - Public
/**
* Add QuestState for the specified player instance
+ * Return QuestState instance
*/
- public void addQuestState(Quest quest, L2PcInstance player, State state, boolean completed)
+ public QuestState addQuestState(Quest quest, L2PcInstance player, State state, boolean completed)
{
- QuestState qs = getQuestState(player);
+ QuestState qs = getQuestState(quest, player);
if (qs == null)
qs = new QuestState(quest, player, state, completed);
+
+ return qs;
}
/**
@@ -85,11 +88,13 @@
/**
* Return QuestState for specified player instance
*/
- public QuestState getQuestState(L2PcInstance player)
+ public QuestState getQuestState(Quest quest, L2PcInstance player)
{
for (int i = 0; i < getQuestStates().size(); i++)
{
- if (getQuestStates().get(i).getPlayer() != null && getQuestStates().get(i).getPlayer().getObjectId() == player.getObjectId())
+ if (getQuestStates().get(i).getQuest().getQuestIntId() == quest.getQuestIntId() &&
+ getQuestStates().get(i).getPlayer() != null &&
+ getQuestStates().get(i).getPlayer().getObjectId() == player.getObjectId())
return getQuestStates().get(i);
}