diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/ai/AbstractAI.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/ai/AbstractAI.java index a9b432b674..7a9fe10ac0 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/ai/AbstractAI.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/ai/AbstractAI.java @@ -599,6 +599,12 @@ public abstract class AbstractAI implements Ctrl */ public void clientStartAutoAttack() { + // Non monster NPCs should not get in combat. + if (_actor.isNpc() && !_actor.isMonster()) + { + return; + } + if (_actor.isSummon()) { final Summon summon = (Summon) _actor; @@ -608,6 +614,7 @@ public abstract class AbstractAI implements Ctrl } return; } + if (!_clientAutoAttacking) { if (_actor.isPlayer() && _actor.hasSummon()) @@ -623,6 +630,7 @@ public abstract class AbstractAI implements Ctrl _actor.broadcastPacket(new AutoAttackStart(_actor.getObjectId())); setAutoAttacking(true); } + AttackStanceTaskManager.getInstance().addAttackStanceTask(_actor); } diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/ai/AbstractAI.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/ai/AbstractAI.java index a9b432b674..7a9fe10ac0 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/ai/AbstractAI.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/ai/AbstractAI.java @@ -599,6 +599,12 @@ public abstract class AbstractAI implements Ctrl */ public void clientStartAutoAttack() { + // Non monster NPCs should not get in combat. + if (_actor.isNpc() && !_actor.isMonster()) + { + return; + } + if (_actor.isSummon()) { final Summon summon = (Summon) _actor; @@ -608,6 +614,7 @@ public abstract class AbstractAI implements Ctrl } return; } + if (!_clientAutoAttacking) { if (_actor.isPlayer() && _actor.hasSummon()) @@ -623,6 +630,7 @@ public abstract class AbstractAI implements Ctrl _actor.broadcastPacket(new AutoAttackStart(_actor.getObjectId())); setAutoAttacking(true); } + AttackStanceTaskManager.getInstance().addAttackStanceTask(_actor); } diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/ai/AbstractAI.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/ai/AbstractAI.java index a9b432b674..7a9fe10ac0 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/ai/AbstractAI.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/ai/AbstractAI.java @@ -599,6 +599,12 @@ public abstract class AbstractAI implements Ctrl */ public void clientStartAutoAttack() { + // Non monster NPCs should not get in combat. + if (_actor.isNpc() && !_actor.isMonster()) + { + return; + } + if (_actor.isSummon()) { final Summon summon = (Summon) _actor; @@ -608,6 +614,7 @@ public abstract class AbstractAI implements Ctrl } return; } + if (!_clientAutoAttacking) { if (_actor.isPlayer() && _actor.hasSummon()) @@ -623,6 +630,7 @@ public abstract class AbstractAI implements Ctrl _actor.broadcastPacket(new AutoAttackStart(_actor.getObjectId())); setAutoAttacking(true); } + AttackStanceTaskManager.getInstance().addAttackStanceTask(_actor); } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/ai/AbstractAI.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/ai/AbstractAI.java index a9b432b674..7a9fe10ac0 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/ai/AbstractAI.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/ai/AbstractAI.java @@ -599,6 +599,12 @@ public abstract class AbstractAI implements Ctrl */ public void clientStartAutoAttack() { + // Non monster NPCs should not get in combat. + if (_actor.isNpc() && !_actor.isMonster()) + { + return; + } + if (_actor.isSummon()) { final Summon summon = (Summon) _actor; @@ -608,6 +614,7 @@ public abstract class AbstractAI implements Ctrl } return; } + if (!_clientAutoAttacking) { if (_actor.isPlayer() && _actor.hasSummon()) @@ -623,6 +630,7 @@ public abstract class AbstractAI implements Ctrl _actor.broadcastPacket(new AutoAttackStart(_actor.getObjectId())); setAutoAttacking(true); } + AttackStanceTaskManager.getInstance().addAttackStanceTask(_actor); } diff --git a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/ai/AbstractAI.java b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/ai/AbstractAI.java index a9b432b674..7a9fe10ac0 100644 --- a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/ai/AbstractAI.java +++ b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/ai/AbstractAI.java @@ -599,6 +599,12 @@ public abstract class AbstractAI implements Ctrl */ public void clientStartAutoAttack() { + // Non monster NPCs should not get in combat. + if (_actor.isNpc() && !_actor.isMonster()) + { + return; + } + if (_actor.isSummon()) { final Summon summon = (Summon) _actor; @@ -608,6 +614,7 @@ public abstract class AbstractAI implements Ctrl } return; } + if (!_clientAutoAttacking) { if (_actor.isPlayer() && _actor.hasSummon()) @@ -623,6 +630,7 @@ public abstract class AbstractAI implements Ctrl _actor.broadcastPacket(new AutoAttackStart(_actor.getObjectId())); setAutoAttacking(true); } + AttackStanceTaskManager.getInstance().addAttackStanceTask(_actor); } diff --git a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/ai/AbstractAI.java b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/ai/AbstractAI.java index a9b432b674..7a9fe10ac0 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/ai/AbstractAI.java +++ b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/ai/AbstractAI.java @@ -599,6 +599,12 @@ public abstract class AbstractAI implements Ctrl */ public void clientStartAutoAttack() { + // Non monster NPCs should not get in combat. + if (_actor.isNpc() && !_actor.isMonster()) + { + return; + } + if (_actor.isSummon()) { final Summon summon = (Summon) _actor; @@ -608,6 +614,7 @@ public abstract class AbstractAI implements Ctrl } return; } + if (!_clientAutoAttacking) { if (_actor.isPlayer() && _actor.hasSummon()) @@ -623,6 +630,7 @@ public abstract class AbstractAI implements Ctrl _actor.broadcastPacket(new AutoAttackStart(_actor.getObjectId())); setAutoAttacking(true); } + AttackStanceTaskManager.getInstance().addAttackStanceTask(_actor); } diff --git a/L2J_Mobius_6.0_Fafurion/java/com/l2jmobius/gameserver/ai/AbstractAI.java b/L2J_Mobius_6.0_Fafurion/java/com/l2jmobius/gameserver/ai/AbstractAI.java index a9b432b674..7a9fe10ac0 100644 --- a/L2J_Mobius_6.0_Fafurion/java/com/l2jmobius/gameserver/ai/AbstractAI.java +++ b/L2J_Mobius_6.0_Fafurion/java/com/l2jmobius/gameserver/ai/AbstractAI.java @@ -599,6 +599,12 @@ public abstract class AbstractAI implements Ctrl */ public void clientStartAutoAttack() { + // Non monster NPCs should not get in combat. + if (_actor.isNpc() && !_actor.isMonster()) + { + return; + } + if (_actor.isSummon()) { final Summon summon = (Summon) _actor; @@ -608,6 +614,7 @@ public abstract class AbstractAI implements Ctrl } return; } + if (!_clientAutoAttacking) { if (_actor.isPlayer() && _actor.hasSummon()) @@ -623,6 +630,7 @@ public abstract class AbstractAI implements Ctrl _actor.broadcastPacket(new AutoAttackStart(_actor.getObjectId())); setAutoAttacking(true); } + AttackStanceTaskManager.getInstance().addAttackStanceTask(_actor); } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/ai/AbstractAI.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/ai/AbstractAI.java index a9b432b674..7a9fe10ac0 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/ai/AbstractAI.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/ai/AbstractAI.java @@ -599,6 +599,12 @@ public abstract class AbstractAI implements Ctrl */ public void clientStartAutoAttack() { + // Non monster NPCs should not get in combat. + if (_actor.isNpc() && !_actor.isMonster()) + { + return; + } + if (_actor.isSummon()) { final Summon summon = (Summon) _actor; @@ -608,6 +614,7 @@ public abstract class AbstractAI implements Ctrl } return; } + if (!_clientAutoAttacking) { if (_actor.isPlayer() && _actor.hasSummon()) @@ -623,6 +630,7 @@ public abstract class AbstractAI implements Ctrl _actor.broadcastPacket(new AutoAttackStart(_actor.getObjectId())); setAutoAttacking(true); } + AttackStanceTaskManager.getInstance().addAttackStanceTask(_actor); } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/ai/AbstractAI.java b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/ai/AbstractAI.java index a9b432b674..7a9fe10ac0 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/ai/AbstractAI.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/ai/AbstractAI.java @@ -599,6 +599,12 @@ public abstract class AbstractAI implements Ctrl */ public void clientStartAutoAttack() { + // Non monster NPCs should not get in combat. + if (_actor.isNpc() && !_actor.isMonster()) + { + return; + } + if (_actor.isSummon()) { final Summon summon = (Summon) _actor; @@ -608,6 +614,7 @@ public abstract class AbstractAI implements Ctrl } return; } + if (!_clientAutoAttacking) { if (_actor.isPlayer() && _actor.hasSummon()) @@ -623,6 +630,7 @@ public abstract class AbstractAI implements Ctrl _actor.broadcastPacket(new AutoAttackStart(_actor.getObjectId())); setAutoAttacking(true); } + AttackStanceTaskManager.getInstance().addAttackStanceTask(_actor); } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/ai/AbstractAI.java b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/ai/AbstractAI.java index a9b432b674..7a9fe10ac0 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/ai/AbstractAI.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/ai/AbstractAI.java @@ -599,6 +599,12 @@ public abstract class AbstractAI implements Ctrl */ public void clientStartAutoAttack() { + // Non monster NPCs should not get in combat. + if (_actor.isNpc() && !_actor.isMonster()) + { + return; + } + if (_actor.isSummon()) { final Summon summon = (Summon) _actor; @@ -608,6 +614,7 @@ public abstract class AbstractAI implements Ctrl } return; } + if (!_clientAutoAttacking) { if (_actor.isPlayer() && _actor.hasSummon()) @@ -623,6 +630,7 @@ public abstract class AbstractAI implements Ctrl _actor.broadcastPacket(new AutoAttackStart(_actor.getObjectId())); setAutoAttacking(true); } + AttackStanceTaskManager.getInstance().addAttackStanceTask(_actor); } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/ai/AbstractAI.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/ai/AbstractAI.java index a9b432b674..7a9fe10ac0 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/ai/AbstractAI.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/ai/AbstractAI.java @@ -599,6 +599,12 @@ public abstract class AbstractAI implements Ctrl */ public void clientStartAutoAttack() { + // Non monster NPCs should not get in combat. + if (_actor.isNpc() && !_actor.isMonster()) + { + return; + } + if (_actor.isSummon()) { final Summon summon = (Summon) _actor; @@ -608,6 +614,7 @@ public abstract class AbstractAI implements Ctrl } return; } + if (!_clientAutoAttacking) { if (_actor.isPlayer() && _actor.hasSummon()) @@ -623,6 +630,7 @@ public abstract class AbstractAI implements Ctrl _actor.broadcastPacket(new AutoAttackStart(_actor.getObjectId())); setAutoAttacking(true); } + AttackStanceTaskManager.getInstance().addAttackStanceTask(_actor); }