Prechádzať zdrojové kódy

Fixed NPE and ClassCastException.

_DS_ 16 rokov pred
rodič
commit
c5f443fc82

+ 3 - 0
L2_GameServer/java/net/sf/l2j/gameserver/model/actor/L2Character.java

@@ -6345,6 +6345,9 @@ public abstract class L2Character extends L2Object
 			// Initial checks
 			for (L2Object trg : targets)
 			{
+				if (trg == null)
+					continue;
+
 				if (trg instanceof L2Character)
 				{
 					// Set some values inside target's instance for later use

+ 8 - 2
L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2FortSiegeGuardInstance.java

@@ -73,9 +73,15 @@ public class L2FortSiegeGuardInstance extends L2Attackable
     	if (!(attacker instanceof L2Playable) )
     		return false;
 
-        boolean isFort = ( getFort() != null && getFort().getFortId() > 0 
+    	boolean isDefender = false;
+    	if (attacker instanceof L2PcInstance)
+    		isDefender = getFort().getSiege().checkIsDefender(((L2PcInstance)attacker).getClan());
+    	else if (attacker instanceof L2Summon)
+    		isDefender = getFort().getSiege().checkIsDefender((((L2Summon)attacker).getOwner()).getClan());
+
+    	boolean isFort = ( getFort() != null && getFort().getFortId() > 0 
                 && getFort().getSiege().getIsInProgress()
-                && !getFort().getSiege().checkIsDefender(((L2PcInstance)attacker).getClan()));
+                && !isDefender);
         
         // Attackable during siege by all except defenders
 		return isFort;