Переглянути джерело

BETA: Fixing more Summon related NPEs.
* Reported by: Sdw, mars8022

Rumen Nikiforov 11 роки тому
батько
коміт
edf85e4b44

+ 11 - 5
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/L2Summon.java

@@ -421,11 +421,14 @@ public abstract class L2Summon extends L2Playable
 	
 	public void deleteMe(L2PcInstance owner)
 	{
-		owner.sendPacket(new PetDelete(getSummonType(), getObjectId()));
-		final L2Party party = owner.getParty();
-		if (party != null)
+		if (owner != null)
 		{
-			party.broadcastToPartyMembers(owner, new ExPartyPetWindowDelete(this));
+			owner.sendPacket(new PetDelete(getSummonType(), getObjectId()));
+			final L2Party party = owner.getParty();
+			if (party != null)
+			{
+				party.broadcastToPartyMembers(owner, new ExPartyPetWindowDelete(this));
+			}
 		}
 		
 		// pet will be deleted along with all his items
@@ -435,7 +438,10 @@ public abstract class L2Summon extends L2Playable
 		}
 		decayMe();
 		getKnownList().removeAllKnownObjects();
-		owner.setPet(null);
+		if (owner != null)
+		{
+			owner.setPet(null);
+		}
 		super.deleteMe();
 	}
 	

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/instance/L2ServitorInstance.java

@@ -273,7 +273,7 @@ public class L2ServitorInstance extends L2Summon implements Runnable
 			return;
 		}
 		
-		if (getOwner().isInOlympiadMode())
+		if ((getOwner() == null) || getOwner().isInOlympiadMode())
 		{
 			return;
 		}