Para que los BOSS vuelvan a su localización de spawn cuando no ocurre nada.
Index: java/com/l2jserver/gameserver/model/actor/L2Attackable.java
===================================================================
--- java/com/l2jserver/gameserver/model/actor/L2Attackable.java (revision 5622)
+++ java/com/l2jserver/gameserver/model/actor/L2Attackable.java (working copy)
@@ -2363,7 +2363,7 @@
public void returnHome()
{
clearAggroList();
-
+ setisReturningToSpawnPoint(true);
if (hasAI() && getSpawn() != null)
getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new L2CharPosition(getSpawn().getLocx(), getSpawn().getLocy(), getSpawn().getLocz(), 0));
}
Index: java/com/l2jserver/gameserver/model/actor/L2Character.java
===================================================================
--- java/com/l2jserver/gameserver/model/actor/L2Character.java (revision 5622)
+++ java/com/l2jserver/gameserver/model/actor/L2Character.java (working copy)
@@ -61,6 +61,7 @@
import com.l2jserver.gameserver.model.L2World;
import com.l2jserver.gameserver.model.L2WorldRegion;
import com.l2jserver.gameserver.model.Location;
+import com.l2jserver.gameserver.model.actor.instance.L2GrandBossInstance;
import com.l2jserver.gameserver.model.actor.instance.L2NpcInstance;
import com.l2jserver.gameserver.model.actor.instance.L2NpcWalkerInstance;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
@@ -793,6 +794,11 @@
if (isAttackingDisabled())
return;
+ if (target instanceof L2GrandBossInstance && ((L2Attackable) target).isReturningToSpawnPoint())
+ {
+ return;
+ }
+
if(!fireAttackListeners(target))
{
return;
@@ -6768,6 +6774,14 @@
return;
}
+ if (target instanceof L2GrandBossInstance && ((L2Attackable) target).isReturningToSpawnPoint())
+ {
+ abortAttack();
+ abortCast();
+ getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
+ return;
+ }
+
// Check if over-hit is possible
if (skill.isOverhit())
{