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));
}