diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java index 1aa914ff96..b488bd6d10 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java @@ -23,7 +23,6 @@ import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; import org.l2jmobius.commons.util.Rnd; -import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.model.actor.Npc; /** @@ -43,22 +42,10 @@ public class RandomAnimationTaskManager if (time > entry.getValue()) { final Npc npc = entry.getKey(); - if (!npc.isInActiveRegion()) - { - continue; - } - - // Cancel further animation schedules until intention is changed to ACTIVE again. - if (npc.isAttackable() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ACTIVE)) - { - continue; - } - - if (!npc.isDead() && !npc.hasBlockActions()) + if (npc.isInActiveRegion() && !npc.isDead() && !npc.isInCombat() && !npc.isMoving() && !npc.hasBlockActions()) { npc.onRandomAnimation(Rnd.get(2, 3)); } - PENDING_ANIMATIONS.put(npc, time + (Rnd.get((npc.isAttackable() ? Config.MIN_MONSTER_ANIMATION : Config.MIN_NPC_ANIMATION), (npc.isAttackable() ? Config.MAX_MONSTER_ANIMATION : Config.MAX_NPC_ANIMATION)) * 1000)); } } diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java index 1aa914ff96..b488bd6d10 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java @@ -23,7 +23,6 @@ import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; import org.l2jmobius.commons.util.Rnd; -import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.model.actor.Npc; /** @@ -43,22 +42,10 @@ public class RandomAnimationTaskManager if (time > entry.getValue()) { final Npc npc = entry.getKey(); - if (!npc.isInActiveRegion()) - { - continue; - } - - // Cancel further animation schedules until intention is changed to ACTIVE again. - if (npc.isAttackable() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ACTIVE)) - { - continue; - } - - if (!npc.isDead() && !npc.hasBlockActions()) + if (npc.isInActiveRegion() && !npc.isDead() && !npc.isInCombat() && !npc.isMoving() && !npc.hasBlockActions()) { npc.onRandomAnimation(Rnd.get(2, 3)); } - PENDING_ANIMATIONS.put(npc, time + (Rnd.get((npc.isAttackable() ? Config.MIN_MONSTER_ANIMATION : Config.MIN_NPC_ANIMATION), (npc.isAttackable() ? Config.MAX_MONSTER_ANIMATION : Config.MAX_NPC_ANIMATION)) * 1000)); } } diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java index 1aa914ff96..b488bd6d10 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java @@ -23,7 +23,6 @@ import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; import org.l2jmobius.commons.util.Rnd; -import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.model.actor.Npc; /** @@ -43,22 +42,10 @@ public class RandomAnimationTaskManager if (time > entry.getValue()) { final Npc npc = entry.getKey(); - if (!npc.isInActiveRegion()) - { - continue; - } - - // Cancel further animation schedules until intention is changed to ACTIVE again. - if (npc.isAttackable() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ACTIVE)) - { - continue; - } - - if (!npc.isDead() && !npc.hasBlockActions()) + if (npc.isInActiveRegion() && !npc.isDead() && !npc.isInCombat() && !npc.isMoving() && !npc.hasBlockActions()) { npc.onRandomAnimation(Rnd.get(2, 3)); } - PENDING_ANIMATIONS.put(npc, time + (Rnd.get((npc.isAttackable() ? Config.MIN_MONSTER_ANIMATION : Config.MIN_NPC_ANIMATION), (npc.isAttackable() ? Config.MAX_MONSTER_ANIMATION : Config.MAX_NPC_ANIMATION)) * 1000)); } } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java index 1aa914ff96..b488bd6d10 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java @@ -23,7 +23,6 @@ import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; import org.l2jmobius.commons.util.Rnd; -import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.model.actor.Npc; /** @@ -43,22 +42,10 @@ public class RandomAnimationTaskManager if (time > entry.getValue()) { final Npc npc = entry.getKey(); - if (!npc.isInActiveRegion()) - { - continue; - } - - // Cancel further animation schedules until intention is changed to ACTIVE again. - if (npc.isAttackable() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ACTIVE)) - { - continue; - } - - if (!npc.isDead() && !npc.hasBlockActions()) + if (npc.isInActiveRegion() && !npc.isDead() && !npc.isInCombat() && !npc.isMoving() && !npc.hasBlockActions()) { npc.onRandomAnimation(Rnd.get(2, 3)); } - PENDING_ANIMATIONS.put(npc, time + (Rnd.get((npc.isAttackable() ? Config.MIN_MONSTER_ANIMATION : Config.MIN_NPC_ANIMATION), (npc.isAttackable() ? Config.MAX_MONSTER_ANIMATION : Config.MAX_NPC_ANIMATION)) * 1000)); } } diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java index 1aa914ff96..b488bd6d10 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java @@ -23,7 +23,6 @@ import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; import org.l2jmobius.commons.util.Rnd; -import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.model.actor.Npc; /** @@ -43,22 +42,10 @@ public class RandomAnimationTaskManager if (time > entry.getValue()) { final Npc npc = entry.getKey(); - if (!npc.isInActiveRegion()) - { - continue; - } - - // Cancel further animation schedules until intention is changed to ACTIVE again. - if (npc.isAttackable() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ACTIVE)) - { - continue; - } - - if (!npc.isDead() && !npc.hasBlockActions()) + if (npc.isInActiveRegion() && !npc.isDead() && !npc.isInCombat() && !npc.isMoving() && !npc.hasBlockActions()) { npc.onRandomAnimation(Rnd.get(2, 3)); } - PENDING_ANIMATIONS.put(npc, time + (Rnd.get((npc.isAttackable() ? Config.MIN_MONSTER_ANIMATION : Config.MIN_NPC_ANIMATION), (npc.isAttackable() ? Config.MAX_MONSTER_ANIMATION : Config.MAX_NPC_ANIMATION)) * 1000)); } } diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java index 1aa914ff96..b488bd6d10 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java @@ -23,7 +23,6 @@ import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; import org.l2jmobius.commons.util.Rnd; -import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.model.actor.Npc; /** @@ -43,22 +42,10 @@ public class RandomAnimationTaskManager if (time > entry.getValue()) { final Npc npc = entry.getKey(); - if (!npc.isInActiveRegion()) - { - continue; - } - - // Cancel further animation schedules until intention is changed to ACTIVE again. - if (npc.isAttackable() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ACTIVE)) - { - continue; - } - - if (!npc.isDead() && !npc.hasBlockActions()) + if (npc.isInActiveRegion() && !npc.isDead() && !npc.isInCombat() && !npc.isMoving() && !npc.hasBlockActions()) { npc.onRandomAnimation(Rnd.get(2, 3)); } - PENDING_ANIMATIONS.put(npc, time + (Rnd.get((npc.isAttackable() ? Config.MIN_MONSTER_ANIMATION : Config.MIN_NPC_ANIMATION), (npc.isAttackable() ? Config.MAX_MONSTER_ANIMATION : Config.MAX_NPC_ANIMATION)) * 1000)); } } diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java index 1aa914ff96..b488bd6d10 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java @@ -23,7 +23,6 @@ import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; import org.l2jmobius.commons.util.Rnd; -import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.model.actor.Npc; /** @@ -43,22 +42,10 @@ public class RandomAnimationTaskManager if (time > entry.getValue()) { final Npc npc = entry.getKey(); - if (!npc.isInActiveRegion()) - { - continue; - } - - // Cancel further animation schedules until intention is changed to ACTIVE again. - if (npc.isAttackable() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ACTIVE)) - { - continue; - } - - if (!npc.isDead() && !npc.hasBlockActions()) + if (npc.isInActiveRegion() && !npc.isDead() && !npc.isInCombat() && !npc.isMoving() && !npc.hasBlockActions()) { npc.onRandomAnimation(Rnd.get(2, 3)); } - PENDING_ANIMATIONS.put(npc, time + (Rnd.get((npc.isAttackable() ? Config.MIN_MONSTER_ANIMATION : Config.MIN_NPC_ANIMATION), (npc.isAttackable() ? Config.MAX_MONSTER_ANIMATION : Config.MAX_NPC_ANIMATION)) * 1000)); } } diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java index f51a034211..512c1636de 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java @@ -23,8 +23,6 @@ import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; import org.l2jmobius.commons.util.Rnd; -import org.l2jmobius.gameserver.ai.CtrlIntention; -import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.instance.NpcInstance; /** @@ -44,22 +42,10 @@ public class RandomAnimationTaskManager if (time > entry.getValue()) { final NpcInstance npc = entry.getKey(); - if (!npc.isInActiveRegion()) - { - continue; - } - - // Cancel further animation schedules until intention is changed to ACTIVE again. - if ((npc instanceof Attackable) && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ACTIVE)) - { - continue; - } - - if (!npc.isDead() && !npc.isStunned() && !npc.isSleeping() && !npc.isParalyzed()) + if (npc.isInActiveRegion() && !npc.isDead() && !npc.isInCombat() && !npc.isMoving() && !npc.isStunned() && !npc.isSleeping() && !npc.isParalyzed()) { npc.onRandomAnimation(Rnd.get(2, 3)); } - PENDING_ANIMATIONS.put(npc, time + (Rnd.get((npc.isAttackable() ? Config.MIN_MONSTER_ANIMATION : Config.MIN_NPC_ANIMATION), (npc.isAttackable() ? Config.MAX_MONSTER_ANIMATION : Config.MAX_NPC_ANIMATION)) * 1000)); } } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java index 760a028257..54591ce074 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java @@ -23,7 +23,6 @@ import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; import org.l2jmobius.commons.util.Rnd; -import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.model.actor.Npc; /** @@ -43,22 +42,10 @@ public class RandomAnimationTaskManager if (time > entry.getValue()) { final Npc npc = entry.getKey(); - if (!npc.isInActiveRegion()) - { - continue; - } - - // Cancel further animation schedules until intention is changed to ACTIVE again. - if (npc.isAttackable() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ACTIVE)) - { - continue; - } - - if (!npc.isDead() && !npc.isStunned() && !npc.isSleeping() && !npc.isParalyzed()) + if (npc.isInActiveRegion() && !npc.isDead() && !npc.isInCombat() && !npc.isMoving() && !npc.isStunned() && !npc.isSleeping() && !npc.isParalyzed()) { npc.onRandomAnimation(Rnd.get(2, 3)); } - PENDING_ANIMATIONS.put(npc, time + (Rnd.get((npc.isAttackable() ? Config.MIN_MONSTER_ANIMATION : Config.MIN_NPC_ANIMATION), (npc.isAttackable() ? Config.MAX_MONSTER_ANIMATION : Config.MAX_NPC_ANIMATION)) * 1000)); } } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java index 1aa914ff96..b488bd6d10 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java @@ -23,7 +23,6 @@ import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; import org.l2jmobius.commons.util.Rnd; -import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.model.actor.Npc; /** @@ -43,22 +42,10 @@ public class RandomAnimationTaskManager if (time > entry.getValue()) { final Npc npc = entry.getKey(); - if (!npc.isInActiveRegion()) - { - continue; - } - - // Cancel further animation schedules until intention is changed to ACTIVE again. - if (npc.isAttackable() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ACTIVE)) - { - continue; - } - - if (!npc.isDead() && !npc.hasBlockActions()) + if (npc.isInActiveRegion() && !npc.isDead() && !npc.isInCombat() && !npc.isMoving() && !npc.hasBlockActions()) { npc.onRandomAnimation(Rnd.get(2, 3)); } - PENDING_ANIMATIONS.put(npc, time + (Rnd.get((npc.isAttackable() ? Config.MIN_MONSTER_ANIMATION : Config.MIN_NPC_ANIMATION), (npc.isAttackable() ? Config.MAX_MONSTER_ANIMATION : Config.MAX_NPC_ANIMATION)) * 1000)); } } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java index 1aa914ff96..b488bd6d10 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java @@ -23,7 +23,6 @@ import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; import org.l2jmobius.commons.util.Rnd; -import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.model.actor.Npc; /** @@ -43,22 +42,10 @@ public class RandomAnimationTaskManager if (time > entry.getValue()) { final Npc npc = entry.getKey(); - if (!npc.isInActiveRegion()) - { - continue; - } - - // Cancel further animation schedules until intention is changed to ACTIVE again. - if (npc.isAttackable() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ACTIVE)) - { - continue; - } - - if (!npc.isDead() && !npc.hasBlockActions()) + if (npc.isInActiveRegion() && !npc.isDead() && !npc.isInCombat() && !npc.isMoving() && !npc.hasBlockActions()) { npc.onRandomAnimation(Rnd.get(2, 3)); } - PENDING_ANIMATIONS.put(npc, time + (Rnd.get((npc.isAttackable() ? Config.MIN_MONSTER_ANIMATION : Config.MIN_NPC_ANIMATION), (npc.isAttackable() ? Config.MAX_MONSTER_ANIMATION : Config.MAX_NPC_ANIMATION)) * 1000)); } } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java index 1aa914ff96..b488bd6d10 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java @@ -23,7 +23,6 @@ import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; import org.l2jmobius.commons.util.Rnd; -import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.model.actor.Npc; /** @@ -43,22 +42,10 @@ public class RandomAnimationTaskManager if (time > entry.getValue()) { final Npc npc = entry.getKey(); - if (!npc.isInActiveRegion()) - { - continue; - } - - // Cancel further animation schedules until intention is changed to ACTIVE again. - if (npc.isAttackable() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ACTIVE)) - { - continue; - } - - if (!npc.isDead() && !npc.hasBlockActions()) + if (npc.isInActiveRegion() && !npc.isDead() && !npc.isInCombat() && !npc.isMoving() && !npc.hasBlockActions()) { npc.onRandomAnimation(Rnd.get(2, 3)); } - PENDING_ANIMATIONS.put(npc, time + (Rnd.get((npc.isAttackable() ? Config.MIN_MONSTER_ANIMATION : Config.MIN_NPC_ANIMATION), (npc.isAttackable() ? Config.MAX_MONSTER_ANIMATION : Config.MAX_NPC_ANIMATION)) * 1000)); } } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java index 1aa914ff96..b488bd6d10 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java @@ -23,7 +23,6 @@ import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; import org.l2jmobius.commons.util.Rnd; -import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.model.actor.Npc; /** @@ -43,22 +42,10 @@ public class RandomAnimationTaskManager if (time > entry.getValue()) { final Npc npc = entry.getKey(); - if (!npc.isInActiveRegion()) - { - continue; - } - - // Cancel further animation schedules until intention is changed to ACTIVE again. - if (npc.isAttackable() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ACTIVE)) - { - continue; - } - - if (!npc.isDead() && !npc.hasBlockActions()) + if (npc.isInActiveRegion() && !npc.isDead() && !npc.isInCombat() && !npc.isMoving() && !npc.hasBlockActions()) { npc.onRandomAnimation(Rnd.get(2, 3)); } - PENDING_ANIMATIONS.put(npc, time + (Rnd.get((npc.isAttackable() ? Config.MIN_MONSTER_ANIMATION : Config.MIN_NPC_ANIMATION), (npc.isAttackable() ? Config.MAX_MONSTER_ANIMATION : Config.MAX_NPC_ANIMATION)) * 1000)); } } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java index 1aa914ff96..b488bd6d10 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java @@ -23,7 +23,6 @@ import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; import org.l2jmobius.commons.util.Rnd; -import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.model.actor.Npc; /** @@ -43,22 +42,10 @@ public class RandomAnimationTaskManager if (time > entry.getValue()) { final Npc npc = entry.getKey(); - if (!npc.isInActiveRegion()) - { - continue; - } - - // Cancel further animation schedules until intention is changed to ACTIVE again. - if (npc.isAttackable() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ACTIVE)) - { - continue; - } - - if (!npc.isDead() && !npc.hasBlockActions()) + if (npc.isInActiveRegion() && !npc.isDead() && !npc.isInCombat() && !npc.isMoving() && !npc.hasBlockActions()) { npc.onRandomAnimation(Rnd.get(2, 3)); } - PENDING_ANIMATIONS.put(npc, time + (Rnd.get((npc.isAttackable() ? Config.MIN_MONSTER_ANIMATION : Config.MIN_NPC_ANIMATION), (npc.isAttackable() ? Config.MAX_MONSTER_ANIMATION : Config.MAX_NPC_ANIMATION)) * 1000)); } }