forked from MagicBane/Server
Null check is made before this method call.
This commit is contained in:
@@ -439,7 +439,7 @@ public class MobAI {
|
|||||||
msg.setUnknown04(2);
|
msg.setUnknown04(2);
|
||||||
|
|
||||||
PowersManager.finishUseMobPower(msg, mob, 0, 0);
|
PowersManager.finishUseMobPower(msg, mob, 0, 0);
|
||||||
long randomCooldown = (long)((ThreadLocalRandom.current().nextInt(10,15) * 1000) * MobAIThread.AI_CAST_FREQUENCY);
|
long randomCooldown = (long) ((ThreadLocalRandom.current().nextInt(10, 15) * 1000) * MobAIThread.AI_CAST_FREQUENCY);
|
||||||
|
|
||||||
mob.nextCastTime = System.currentTimeMillis() + randomCooldown;
|
mob.nextCastTime = System.currentTimeMillis() + randomCooldown;
|
||||||
return true;
|
return true;
|
||||||
@@ -575,7 +575,7 @@ public class MobAI {
|
|||||||
//no players loaded, no need to proceed
|
//no players loaded, no need to proceed
|
||||||
|
|
||||||
if (mob.playerAgroMap.isEmpty()) {
|
if (mob.playerAgroMap.isEmpty()) {
|
||||||
if(mob.getCombatTarget() != null)
|
if (mob.getCombatTarget() != null)
|
||||||
mob.setCombatTarget(null);
|
mob.setCombatTarget(null);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -722,16 +722,16 @@ public class MobAI {
|
|||||||
case Pet1:
|
case Pet1:
|
||||||
|
|
||||||
|
|
||||||
if ((PlayerCharacter) mob.guardCaptain == null)
|
if (mob.guardCaptain == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
||||||
if (!mob.playerAgroMap.containsKey(((PlayerCharacter) mob.guardCaptain).getObjectUUID())) {
|
if (!mob.playerAgroMap.containsKey(mob.guardCaptain.getObjectUUID())) {
|
||||||
|
|
||||||
//mob no longer has its owner loaded, translocate pet to owner
|
//mob no longer has its owner loaded, translocate pet to owner
|
||||||
|
|
||||||
|
|
||||||
MovementManager.translocate(mob, ((PlayerCharacter) mob.guardCaptain).getLoc(), null);
|
MovementManager.translocate(mob, mob.guardCaptain.getLoc(), null);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (mob.getCombatTarget() == null) {
|
if (mob.getCombatTarget() == null) {
|
||||||
@@ -739,11 +739,11 @@ public class MobAI {
|
|||||||
//move back to owner
|
//move back to owner
|
||||||
|
|
||||||
|
|
||||||
if (CombatUtilities.inRange2D(mob, (PlayerCharacter) mob.guardCaptain, 6))
|
if (CombatUtilities.inRange2D(mob, mob.guardCaptain, 6))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
||||||
mob.destination = ((PlayerCharacter) mob.guardCaptain).getLoc();
|
mob.destination = mob.guardCaptain.getLoc();
|
||||||
MovementUtilities.moveToLocation(mob, mob.destination, 5);
|
MovementUtilities.moveToLocation(mob, mob.destination, 5);
|
||||||
} else
|
} else
|
||||||
chaseTarget(mob);
|
chaseTarget(mob);
|
||||||
@@ -893,7 +893,7 @@ public class MobAI {
|
|||||||
mob.setCombatTarget(null);
|
mob.setCombatTarget(null);
|
||||||
|
|
||||||
for (Integer playerEntry : mob.playerAgroMap.keySet())
|
for (Integer playerEntry : mob.playerAgroMap.keySet())
|
||||||
mob.playerAgroMap.put(playerEntry,0f);
|
mob.playerAgroMap.put(playerEntry, 0f);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Logger.info(mob.getObjectUUID() + " " + mob.getName() + " Failed At: CheckToSendMobHome" + " " + e.getMessage());
|
Logger.info(mob.getObjectUUID() + " " + mob.getName() + " Failed At: CheckToSendMobHome" + " " + e.getMessage());
|
||||||
@@ -907,7 +907,7 @@ public class MobAI {
|
|||||||
float rangeSquared = mob.getRange() * mob.getRange();
|
float rangeSquared = mob.getRange() * mob.getRange();
|
||||||
float distanceSquared = mob.getLoc().distanceSquared2D(mob.getCombatTarget().getLoc());
|
float distanceSquared = mob.getLoc().distanceSquared2D(mob.getCombatTarget().getLoc());
|
||||||
|
|
||||||
if(mob.isMoving() == true && distanceSquared < rangeSquared - 50) {
|
if (mob.isMoving() == true && distanceSquared < rangeSquared - 50) {
|
||||||
mob.destination = mob.getLoc();
|
mob.destination = mob.getLoc();
|
||||||
MovementUtilities.moveToLocation(mob, mob.destination, 0);
|
MovementUtilities.moveToLocation(mob, mob.destination, 0);
|
||||||
} else if (CombatUtilities.inRange2D(mob, mob.getCombatTarget(), mob.getRange()) == false) {
|
} else if (CombatUtilities.inRange2D(mob, mob.getCombatTarget(), mob.getRange()) == false) {
|
||||||
@@ -1135,7 +1135,7 @@ public class MobAI {
|
|||||||
// Defer to captain if possible for current target
|
// Defer to captain if possible for current target
|
||||||
|
|
||||||
if (mob.agentType.equals(Enum.AIAgentType.GUARDMINION) &&
|
if (mob.agentType.equals(Enum.AIAgentType.GUARDMINION) &&
|
||||||
mob.combatTarget == null && mob.guardCaptain.isAlive()
|
mob.guardCaptain.isAlive()
|
||||||
&& mob.guardCaptain.combatTarget != null) {
|
&& mob.guardCaptain.combatTarget != null) {
|
||||||
mob.setCombatTarget(mob.guardCaptain.combatTarget);
|
mob.setCombatTarget(mob.guardCaptain.combatTarget);
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user