From 4e9f507f33ffd5ab1e5a53e3ca988b5e58fdfc08 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Tue, 26 Oct 2021 23:50:42 +0000 Subject: [PATCH] Proper random walking override. --- .../l2jmobius/gameserver/ai/AttackableAI.java | 2 +- .../gameserver/model/actor/Attackable.java | 10 -------- .../model/actor/instance/ChestInstance.java | 8 ++++++- .../instance/ControllableMobInstance.java | 6 +++++ .../actor/instance/FeedableBeastInstance.java | 6 +++++ .../instance/FestivalMonsterInstance.java | 4 ++-- .../instance/FortSiegeGuardInstance.java | 2 +- .../model/actor/instance/GourdInstance.java | 6 +++++ .../actor/instance/GrandBossInstance.java | 24 ++++++++++++++----- .../model/actor/instance/MonsterInstance.java | 6 +++++ .../model/actor/instance/NpcInstance.java | 11 +++++---- .../instance/PenaltyMonsterInstance.java | 6 +++++ .../actor/instance/SiegeGuardInstance.java | 2 +- .../RandomAnimationTaskManager.java | 2 +- .../l2jmobius/gameserver/ai/AttackableAI.java | 2 +- .../gameserver/model/actor/Attackable.java | 10 -------- .../model/actor/instance/ChestInstance.java | 8 ++++++- .../instance/ControllableMobInstance.java | 6 +++++ .../actor/instance/FeedableBeastInstance.java | 6 +++++ .../instance/FestivalMonsterInstance.java | 4 ++-- .../instance/FortSiegeGuardInstance.java | 2 +- .../model/actor/instance/GourdInstance.java | 6 +++++ .../actor/instance/GrandBossInstance.java | 24 ++++++++++++++----- .../model/actor/instance/MonsterInstance.java | 6 +++++ .../model/actor/instance/NpcInstance.java | 11 +++++---- .../instance/PenaltyMonsterInstance.java | 6 +++++ .../actor/instance/SiegeGuardInstance.java | 2 +- .../RandomAnimationTaskManager.java | 2 +- 28 files changed, 134 insertions(+), 56 deletions(-) diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/ai/AttackableAI.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/ai/AttackableAI.java index 7d498c9ba7..cf80af5257 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/ai/AttackableAI.java +++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/ai/AttackableAI.java @@ -539,7 +539,7 @@ public class AttackableAI extends CreatureAI } } // Order to the MonsterInstance to random walk (1/100) - else if (npc.hasRandomAnimation() && (npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0)) + else if (npc.isRandomWalkingEnabled() && (npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0)) { int x1; int y1; diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/Attackable.java index b6fb46c713..f298680007 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/Attackable.java +++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/Attackable.java @@ -2736,16 +2736,6 @@ public class Attackable extends NpcInstance return getTemplate().getAbsorbLevel(); } - /** - * Check if the server allows Random Animation.
- * This is located here because Monster and FriendlyMob both extend this class. The other non-pc instances extend either NpcInstance or MonsterInstance. - */ - @Override - public boolean hasRandomAnimation() - { - return (Config.MAX_MONSTER_ANIMATION > 0) && isMonster() && !(this instanceof GrandBossInstance); - } - protected void setCommandChannelTimer(CommandChannelTimer commandChannelTimer) { _commandChannelTimer = commandChannelTimer; diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/ChestInstance.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/ChestInstance.java index 21357d9e8e..f67170a70b 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/ChestInstance.java +++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/ChestInstance.java @@ -230,7 +230,13 @@ public class ChestInstance extends MonsterInstance } @Override - public boolean hasRandomAnimation() + public boolean isRandomAnimationEnabled() + { + return false; + } + + @Override + public boolean isRandomWalkingEnabled() { return false; } diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/ControllableMobInstance.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/ControllableMobInstance.java index 8f2561949b..5128408c93 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/ControllableMobInstance.java +++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/ControllableMobInstance.java @@ -52,6 +52,12 @@ public class ControllableMobInstance extends MonsterInstance return 500; } + @Override + public boolean isRandomWalkingEnabled() + { + return false; + } + public ControllableMobInstance(int objectId, NpcTemplate template) { super(objectId, template); diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/FeedableBeastInstance.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/FeedableBeastInstance.java index 792ddca0ff..422b2b6e41 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/FeedableBeastInstance.java +++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/FeedableBeastInstance.java @@ -27,4 +27,10 @@ public class FeedableBeastInstance extends MonsterInstance { super(objectId, template); } + + @Override + public boolean isRandomWalkingEnabled() + { + return false; + } } diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/FestivalMonsterInstance.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/FestivalMonsterInstance.java index 36e50efb11..dc054fe93e 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/FestivalMonsterInstance.java +++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/FestivalMonsterInstance.java @@ -78,10 +78,10 @@ public class FestivalMonsterInstance extends MonsterInstance /** * All mobs in the festival really don't need random animation. - * @return true, if successful + * @return false */ @Override - public boolean hasRandomAnimation() + public boolean isRandomAnimationEnabled() { return false; } diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/FortSiegeGuardInstance.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/FortSiegeGuardInstance.java index cc330033e1..13c84b82b2 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/FortSiegeGuardInstance.java +++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/FortSiegeGuardInstance.java @@ -94,7 +94,7 @@ public class FortSiegeGuardInstance extends Attackable } @Override - public boolean hasRandomAnimation() + public boolean isRandomAnimationEnabled() { return false; } diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/GourdInstance.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/GourdInstance.java index 00624997a8..368e75f87e 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/GourdInstance.java +++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/GourdInstance.java @@ -83,4 +83,10 @@ public class GourdInstance extends MonsterInstance } super.reduceCurrentHp(damage, attacker, awake); } + + @Override + public boolean isRandomWalkingEnabled() + { + return false; + } } diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/GrandBossInstance.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/GrandBossInstance.java index e86872077b..5b2ad745ed 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/GrandBossInstance.java +++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/GrandBossInstance.java @@ -111,15 +111,27 @@ public class GrandBossInstance extends MonsterInstance }, 60000, 20000); } - @Override - public boolean isRaid() - { - return true; - } - public void healFull() { super.setCurrentHp(super.getMaxHp()); super.setCurrentMp(super.getMaxMp()); } + + @Override + public boolean isRandomAnimationEnabled() + { + return false; + } + + @Override + public boolean isRandomWalkingEnabled() + { + return false; + } + + @Override + public boolean isRaid() + { + return true; + } } diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/MonsterInstance.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/MonsterInstance.java index badf689022..46810e29ce 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/MonsterInstance.java +++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/MonsterInstance.java @@ -291,6 +291,12 @@ public class MonsterInstance extends Attackable _minionList.clearRespawnList(); } + @Override + public boolean isRandomWalkingEnabled() + { + return Config.MAX_DRIFT_RANGE > 0; + } + @Override public boolean isMonster() { diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/NpcInstance.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/NpcInstance.java index eb20c0f0bb..35fcc4f266 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/NpcInstance.java +++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/NpcInstance.java @@ -151,15 +151,16 @@ public class NpcInstance extends Creature } } - /** - * Check if the server allows Random Animation. - * @return true, if successful - */ - public boolean hasRandomAnimation() + public boolean isRandomAnimationEnabled() { return Config.MAX_NPC_ANIMATION > 0; } + public boolean isRandomWalkingEnabled() + { + return false; + } + public class destroyTemporalNPC implements Runnable { private final Spawn _oldSpawn; diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/PenaltyMonsterInstance.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/PenaltyMonsterInstance.java index 7b937850ce..a19b44c82d 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/PenaltyMonsterInstance.java +++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/PenaltyMonsterInstance.java @@ -80,4 +80,10 @@ public class PenaltyMonsterInstance extends MonsterInstance } return true; } + + @Override + public boolean isRandomWalkingEnabled() + { + return false; + } } diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/SiegeGuardInstance.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/SiegeGuardInstance.java index 190a1138a3..4f0d6d7951 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/SiegeGuardInstance.java +++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/SiegeGuardInstance.java @@ -83,7 +83,7 @@ public class SiegeGuardInstance extends Attackable } @Override - public boolean hasRandomAnimation() + public boolean isRandomAnimationEnabled() { return false; } diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java index 301d022f64..98e9ce730f 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java +++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/taskmanager/RandomAnimationTaskManager.java @@ -67,7 +67,7 @@ public class RandomAnimationTaskManager implements Runnable public void add(NpcInstance npc) { - if (npc.hasRandomAnimation()) + if (npc.isRandomAnimationEnabled()) { PENDING_ANIMATIONS.putIfAbsent(npc, Chronos.currentTimeMillis() + (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/ai/AttackableAI.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/ai/AttackableAI.java index 7d498c9ba7..cf80af5257 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/ai/AttackableAI.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/ai/AttackableAI.java @@ -539,7 +539,7 @@ public class AttackableAI extends CreatureAI } } // Order to the MonsterInstance to random walk (1/100) - else if (npc.hasRandomAnimation() && (npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0)) + else if (npc.isRandomWalkingEnabled() && (npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0)) { int x1; int y1; diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/Attackable.java index 7562e6ddcb..230ad640a8 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/Attackable.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/Attackable.java @@ -3088,16 +3088,6 @@ public class Attackable extends NpcInstance return getTemplate().getAbsorbLevel(); } - /** - * Check if the server allows Random Animation.
- * This is located here because Monster and FriendlyMob both extend this class. The other non-pc instances extend either NpcInstance or MonsterInstance. - */ - @Override - public boolean hasRandomAnimation() - { - return (Config.MAX_MONSTER_ANIMATION > 0) && isMonster() && !(this instanceof GrandBossInstance); - } - protected void setCommandChannelTimer(CommandChannelTimer commandChannelTimer) { _commandChannelTimer = commandChannelTimer; diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/ChestInstance.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/ChestInstance.java index 21357d9e8e..f67170a70b 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/ChestInstance.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/ChestInstance.java @@ -230,7 +230,13 @@ public class ChestInstance extends MonsterInstance } @Override - public boolean hasRandomAnimation() + public boolean isRandomAnimationEnabled() + { + return false; + } + + @Override + public boolean isRandomWalkingEnabled() { return false; } diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/ControllableMobInstance.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/ControllableMobInstance.java index 8f2561949b..5128408c93 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/ControllableMobInstance.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/ControllableMobInstance.java @@ -52,6 +52,12 @@ public class ControllableMobInstance extends MonsterInstance return 500; } + @Override + public boolean isRandomWalkingEnabled() + { + return false; + } + public ControllableMobInstance(int objectId, NpcTemplate template) { super(objectId, template); diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/FeedableBeastInstance.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/FeedableBeastInstance.java index 792ddca0ff..422b2b6e41 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/FeedableBeastInstance.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/FeedableBeastInstance.java @@ -27,4 +27,10 @@ public class FeedableBeastInstance extends MonsterInstance { super(objectId, template); } + + @Override + public boolean isRandomWalkingEnabled() + { + return false; + } } diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/FestivalMonsterInstance.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/FestivalMonsterInstance.java index 36e50efb11..dc054fe93e 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/FestivalMonsterInstance.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/FestivalMonsterInstance.java @@ -78,10 +78,10 @@ public class FestivalMonsterInstance extends MonsterInstance /** * All mobs in the festival really don't need random animation. - * @return true, if successful + * @return false */ @Override - public boolean hasRandomAnimation() + public boolean isRandomAnimationEnabled() { return false; } diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/FortSiegeGuardInstance.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/FortSiegeGuardInstance.java index cc330033e1..13c84b82b2 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/FortSiegeGuardInstance.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/FortSiegeGuardInstance.java @@ -94,7 +94,7 @@ public class FortSiegeGuardInstance extends Attackable } @Override - public boolean hasRandomAnimation() + public boolean isRandomAnimationEnabled() { return false; } diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/GourdInstance.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/GourdInstance.java index 00624997a8..368e75f87e 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/GourdInstance.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/GourdInstance.java @@ -83,4 +83,10 @@ public class GourdInstance extends MonsterInstance } super.reduceCurrentHp(damage, attacker, awake); } + + @Override + public boolean isRandomWalkingEnabled() + { + return false; + } } diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/GrandBossInstance.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/GrandBossInstance.java index e86872077b..5b2ad745ed 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/GrandBossInstance.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/GrandBossInstance.java @@ -111,15 +111,27 @@ public class GrandBossInstance extends MonsterInstance }, 60000, 20000); } - @Override - public boolean isRaid() - { - return true; - } - public void healFull() { super.setCurrentHp(super.getMaxHp()); super.setCurrentMp(super.getMaxMp()); } + + @Override + public boolean isRandomAnimationEnabled() + { + return false; + } + + @Override + public boolean isRandomWalkingEnabled() + { + return false; + } + + @Override + public boolean isRaid() + { + return true; + } } diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/MonsterInstance.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/MonsterInstance.java index badf689022..46810e29ce 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/MonsterInstance.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/MonsterInstance.java @@ -291,6 +291,12 @@ public class MonsterInstance extends Attackable _minionList.clearRespawnList(); } + @Override + public boolean isRandomWalkingEnabled() + { + return Config.MAX_DRIFT_RANGE > 0; + } + @Override public boolean isMonster() { diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/NpcInstance.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/NpcInstance.java index 779a6b5e4e..2d811dea6c 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/NpcInstance.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/NpcInstance.java @@ -153,15 +153,16 @@ public class NpcInstance extends Creature } } - /** - * Check if the server allows Random Animation. - * @return true, if successful - */ - public boolean hasRandomAnimation() + public boolean isRandomAnimationEnabled() { return Config.MAX_NPC_ANIMATION > 0; } + public boolean isRandomWalkingEnabled() + { + return false; + } + public class destroyTemporalNPC implements Runnable { private final Spawn _oldSpawn; diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PenaltyMonsterInstance.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PenaltyMonsterInstance.java index 7b937850ce..a19b44c82d 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PenaltyMonsterInstance.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PenaltyMonsterInstance.java @@ -80,4 +80,10 @@ public class PenaltyMonsterInstance extends MonsterInstance } return true; } + + @Override + public boolean isRandomWalkingEnabled() + { + return false; + } } diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/SiegeGuardInstance.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/SiegeGuardInstance.java index 190a1138a3..4f0d6d7951 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/SiegeGuardInstance.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/SiegeGuardInstance.java @@ -83,7 +83,7 @@ public class SiegeGuardInstance extends Attackable } @Override - public boolean hasRandomAnimation() + public boolean isRandomAnimationEnabled() { return false; } 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 301d022f64..98e9ce730f 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 @@ -67,7 +67,7 @@ public class RandomAnimationTaskManager implements Runnable public void add(NpcInstance npc) { - if (npc.hasRandomAnimation()) + if (npc.isRandomAnimationEnabled()) { PENDING_ANIMATIONS.putIfAbsent(npc, Chronos.currentTimeMillis() + (Rnd.get((npc.isAttackable() ? Config.MIN_MONSTER_ANIMATION : Config.MIN_NPC_ANIMATION), (npc.isAttackable() ? Config.MAX_MONSTER_ANIMATION : Config.MAX_NPC_ANIMATION)) * 1000)); }