Browse Source

guard walking bug fix

feature-workorder
FatBoy-DOTC 1 year ago
parent
commit
d66a7049e8
  1. 8
      src/engine/mobileAI/MobAI.java
  2. 4
      src/engine/mobileAI/utilities/MovementUtilities.java

8
src/engine/mobileAI/MobAI.java

@ -740,7 +740,7 @@ public class MobAI {
return; return;
mob.destination = mob.guardCaptain.getLoc(); mob.destination = mob.guardCaptain.getLoc();
MovementUtilities.moveToLocation(mob, mob.destination, 5); MovementUtilities.moveToLocation(mob, mob.destination, 5, false);
} else } else
chaseTarget(mob); chaseTarget(mob);
break; break;
@ -891,7 +891,7 @@ public class MobAI {
if (CombatUtilities.inRange2D(mob, mob.getCombatTarget(), mob.getRange()) == false) { if (CombatUtilities.inRange2D(mob, mob.getCombatTarget(), mob.getRange()) == false) {
if (mob.getRange() > 15) { if (mob.getRange() > 15) {
mob.destination = mob.getCombatTarget().getLoc(); mob.destination = mob.getCombatTarget().getLoc();
MovementUtilities.moveToLocation(mob, mob.destination, 0); MovementUtilities.moveToLocation(mob, mob.destination, 0, false);
} else { } else {
//check if building //check if building
@ -900,11 +900,11 @@ public class MobAI {
case PlayerCharacter: case PlayerCharacter:
case Mob: case Mob:
mob.destination = MovementUtilities.GetDestinationToCharacter(mob, (AbstractCharacter) mob.getCombatTarget()); mob.destination = MovementUtilities.GetDestinationToCharacter(mob, (AbstractCharacter) mob.getCombatTarget());
MovementUtilities.moveToLocation(mob, mob.destination, mob.getRange() + 1); MovementUtilities.moveToLocation(mob, mob.destination, mob.getRange() + 1, false);
break; break;
case Building: case Building:
mob.destination = mob.getCombatTarget().getLoc(); mob.destination = mob.getCombatTarget().getLoc();
MovementUtilities.moveToLocation(mob, mob.getCombatTarget().getLoc(), 0); MovementUtilities.moveToLocation(mob, mob.getCombatTarget().getLoc(), 0, false);
break; break;
} }
} }

4
src/engine/mobileAI/utilities/MovementUtilities.java

@ -147,7 +147,7 @@ public class MovementUtilities {
return aiAgent.getLoc().ClosestPointOnLine(aggroTarget.getLoc(), aggroTarget.getEndLoc()); return aiAgent.getLoc().ClosestPointOnLine(aggroTarget.getLoc(), aggroTarget.getEndLoc());
} }
public static void moveToLocation(Mob agent, Vector3fImmutable newLocation, float offset) { public static void moveToLocation(Mob agent, Vector3fImmutable newLocation, float offset, boolean isWalking) {
try { try {
//don't move farther than 30 units from player. //don't move farther than 30 units from player.
@ -158,7 +158,7 @@ public class MovementUtilities {
agent.setFaceDir(newLoc.subtract2D(agent.getLoc()).normalize()); agent.setFaceDir(newLoc.subtract2D(agent.getLoc()).normalize());
aiMove(agent, newLoc, false); aiMove(agent, newLoc, isWalking);
} catch (Exception e) { } catch (Exception e) {
Logger.error(e.toString()); Logger.error(e.toString());
} }

Loading…
Cancel
Save