All pastes #31911 Raw Edit

Something

public text v1 · immutable
#31911 ·published 2005-12-01 01:35 UTC
rendered paste body
Index: 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);
                 
         }