Patrol wait determined by MBServerStatics.AI_PATROL_DIVISOR

mob cast chance now determined by MBStatics.AI_POWER_CHANCE

mob cast cooldown now determined by MBServerStatics.AI_POWER_DIVISOR
This commit is contained in:
2023-05-24 19:05:35 -05:00
parent 80d45f364a
commit d999d60e9a
2 changed files with 6 additions and 8 deletions
+5 -8
View File
@@ -180,9 +180,7 @@ public class MobileFSM {
mob.stopPatrolTime = System.currentTimeMillis();
return;
}
//wait between 10 and 15 seconds after reaching patrol point before moving
int patrolDelay = ThreadLocalRandom.current().nextInt(10000) + 5000;
if (mob.stopPatrolTime + patrolDelay > System.currentTimeMillis())
if (mob.stopPatrolTime + (MBServerStatics.AI_PATROL_DIVISOR * 1000) > System.currentTimeMillis())
//early exit while waiting to patrol again
return;
//guard captains inherit barracks patrol points dynamically
@@ -228,6 +226,9 @@ public class MobileFSM {
return false;
if (mob.mobPowers.isEmpty())
return false;
//added in cast chance for mobs, editable by MBServerStatics.AI_POWER_CHANCE
if(ThreadLocalRandom.current().nextInt(100) > MBServerStatics.AI_POWER_CHANCE)
return false;
if (mob.nextCastTime == 0)
mob.nextCastTime = System.currentTimeMillis();
return mob.nextCastTime <= System.currentTimeMillis();
@@ -273,11 +274,7 @@ public class MobileFSM {
msg.setUnknown04(2);
PowersManager.finishUseMobPower(msg, mob, 0, 0);
// Default minimum seconds between cast = 10
long coolDown = mobPower.getCooldown();
if (coolDown < 10000)
mob.nextCastTime = System.currentTimeMillis() + 10000 + coolDown;
else
mob.nextCastTime = System.currentTimeMillis() + coolDown;
mob.nextCastTime = System.currentTimeMillis() + (MBServerStatics.AI_POWER_DIVISOR * 1000);
return true;
}
return false;