Sfoglia il codice sorgente

BETA: Fix for cubics being removed at olympiad:
* Thanks Endrance and Tavo22 for report.
* Closing #DP5305
* Thanks Tavo22 for testing.

Zoey76 13 anni fa
parent
commit
9db0d25eb0

+ 12 - 3
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java

@@ -25,6 +25,7 @@ import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Collection;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -9855,16 +9856,24 @@ public final class L2PcInstance extends L2Playable
 	{
 		if (!_cubics.isEmpty())
 		{
-			for (L2CubicInstance cubic : _cubics.values())
+			final Iterator<L2CubicInstance> iter = _cubics.values().iterator();
+			L2CubicInstance cubic;
+			boolean broadcast = false;
+			while(iter.hasNext())
 			{
+				cubic = iter.next();
 				if (cubic.givenByOther())
 				{
 					cubic.stopAction();
 					cubic.cancelDisappear();
+					iter.remove();
+					broadcast = true;
 				}
 			}
-			_cubics.clear();
-			broadcastUserInfo();
+			if (broadcast)
+			{
+				broadcastUserInfo();
+			}
 		}
 	}