mob ai Chase state work

This commit is contained in:
2023-03-14 18:39:59 -05:00
parent dcac0634a8
commit 531cd52664
2 changed files with 17 additions and 17 deletions
+15 -5
View File
@@ -1730,13 +1730,23 @@ public class MobileFSM {
mob.nextCallForHelp = System.currentTimeMillis() + 60000;
}
public static void handleMobChase(Mob mob){
if(CombatUtilities.inRange2D(mob,mob.getCombatTarget(),mob.getRange()) == true) {
MovementUtilities.moveToLocation(mob, mob.getLoc(), 0);
if (!MovementUtilities.inRangeDropAggro(mob, (PlayerCharacter) mob.getCombatTarget())) {
mob.setAggroTargetID(0);
mob.setCombatTarget(null);
MovementUtilities.moveToLocation(mob, mob.getTrueBindLoc(), 0);
mob.setState(STATE.Awake);
return;
}
float range = mob.getRange();
float distance = mob.getLoc().distanceSquared2D(mob.getCombatTarget().getLoc());
boolean inRange = mob.getLoc().inRange2D(mob.getCombatTarget().getLoc(),range);
if(range > distance) {
mob.stopMovement(mob.getLoc());
mob.setState(STATE.Attack);
}
else{
mob.destination = MovementUtilities.GetDestinationToCharacter(mob, (AbstractCharacter) mob.getCombatTarget());
MovementUtilities.moveToLocation(mob, mob.destination, mob.getRange());
else if(mob.isMoving() == true){
mob.destination = mob.getCombatTarget().getLoc();//MovementUtilities.GetDestinationToCharacter(mob, (AbstractCharacter) mob.getCombatTarget());
MovementUtilities.moveToLocation(mob, mob.destination, mob.getRange());
}
}
}