null target check for mobs
This commit is contained in:
@@ -467,6 +467,9 @@ public class MobileFSM {
|
|||||||
//checks if mob can attack based on attack timer and range
|
//checks if mob can attack based on attack timer and range
|
||||||
if (mob.isAlive() == false)
|
if (mob.isAlive() == false)
|
||||||
return;
|
return;
|
||||||
|
if(mob.getCombatTarget() == null){
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (mob.getCombatTarget().getObjectType().equals(Enum.GameObjectType.PlayerCharacter) && MovementUtilities.inRangeDropAggro(mob, (PlayerCharacter)mob.getCombatTarget()) == false) {
|
if (mob.getCombatTarget().getObjectType().equals(Enum.GameObjectType.PlayerCharacter) && MovementUtilities.inRangeDropAggro(mob, (PlayerCharacter)mob.getCombatTarget()) == false) {
|
||||||
mob.setCombatTarget(null);
|
mob.setCombatTarget(null);
|
||||||
if (mob.isCombat()) {
|
if (mob.isCombat()) {
|
||||||
@@ -560,8 +563,7 @@ public class MobileFSM {
|
|||||||
if (mob.getCombatTarget() == null)
|
if (mob.getCombatTarget() == null)
|
||||||
CheckForPlayerGuardAggro(mob);
|
CheckForPlayerGuardAggro(mob);
|
||||||
CheckMobMovement(mob);
|
CheckMobMovement(mob);
|
||||||
if (mob.getCombatTarget() != null)
|
CheckForAttack(mob);
|
||||||
CheckForAttack(mob);
|
|
||||||
}
|
}
|
||||||
public static void GuardMinionLogic(Mob mob) {
|
public static void GuardMinionLogic(Mob mob) {
|
||||||
if (!mob.npcOwner.isAlive() && mob.getCombatTarget() == null) {
|
if (!mob.npcOwner.isAlive() && mob.getCombatTarget() == null) {
|
||||||
@@ -572,8 +574,7 @@ public class MobileFSM {
|
|||||||
else
|
else
|
||||||
mob.setCombatTarget(null);
|
mob.setCombatTarget(null);
|
||||||
CheckMobMovement(mob);
|
CheckMobMovement(mob);
|
||||||
if (mob.getCombatTarget() != null)
|
CheckForAttack(mob);
|
||||||
CheckForAttack(mob);
|
|
||||||
}
|
}
|
||||||
public static void GuardWallArcherLogic(Mob mob) {
|
public static void GuardWallArcherLogic(Mob mob) {
|
||||||
if (mob.getCombatTarget() == null)
|
if (mob.getCombatTarget() == null)
|
||||||
@@ -586,7 +587,6 @@ public class MobileFSM {
|
|||||||
mob.setCombatTarget(null);
|
mob.setCombatTarget(null);
|
||||||
if (MovementUtilities.canMove(mob) && mob.BehaviourType.canRoam)
|
if (MovementUtilities.canMove(mob) && mob.BehaviourType.canRoam)
|
||||||
CheckMobMovement(mob);
|
CheckMobMovement(mob);
|
||||||
if (mob.getCombatTarget() != null)
|
|
||||||
CheckForAttack(mob);
|
CheckForAttack(mob);
|
||||||
}
|
}
|
||||||
private static void HamletGuardLogic(Mob mob) {
|
private static void HamletGuardLogic(Mob mob) {
|
||||||
@@ -598,7 +598,6 @@ public class MobileFSM {
|
|||||||
SafeGuardAggro(mob);
|
SafeGuardAggro(mob);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (mob.getCombatTarget() != null)
|
|
||||||
CheckForAttack(mob);
|
CheckForAttack(mob);
|
||||||
}
|
}
|
||||||
private static void DefaultLogic(Mob mob) {
|
private static void DefaultLogic(Mob mob) {
|
||||||
|
|||||||
Reference in New Issue
Block a user