Ver código fonte

BETA: Minor fix for L2AttackableAI and L2RaidBossInstance.
* Attackables shouldn't add Static Objects like possible targets.
* Unharcoding Gordon in L2RaidBossInstance.

nonom 12 anos atrás
pai
commit
04605799aa

+ 4 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/ai/L2AttackableAI.java

@@ -46,6 +46,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2RaidBossInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2RiftInvaderInstance;
+import com.l2jserver.gameserver.model.actor.instance.L2StaticObjectInstance;
 import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
 import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate.AIType;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
@@ -428,8 +429,10 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
 			
 			for (L2Object obj : objs)
 			{
-				if (!(obj instanceof L2Character))
+				if (!(obj instanceof L2Character) || (obj instanceof L2StaticObjectInstance))
+				{
 					continue;
+				}
 				L2Character target = (L2Character) obj;
 				
 				/*

+ 3 - 5
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/instance/L2RaidBossInstance.java

@@ -129,12 +129,10 @@ public class L2RaidBossInstance extends L2MonsterInstance
 	
 	protected void checkAndReturnToSpawn()
 	{
-		if (isDead() || isMovementDisabled())
-			return;
-		
-		// Gordon does not have permanent spawn
-		if (getNpcId() == 29095)
+		if (isDead() || isMovementDisabled() || !canReturnToSpawnPoint())
+		{
 			return;
+		}
 		
 		final L2Spawn spawn = getSpawn();
 		if (spawn == null)