Noticias:

No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.

Menú Principal

Returning To Spawn Point

Iniciado por Swarlog, Jul 27, 2025, 12:31 AM

Tema anterior - Siguiente tema

Swarlog

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())
 					{