Browse Source

guard patrol point logic

master
FatBoy-DOTC 2 years ago
parent
commit
7e5cef2842
  1. 24
      src/engine/ai/MobileFSM.java

24
src/engine/ai/MobileFSM.java

@ -619,17 +619,19 @@ public class MobileFSM {
if (mob.BehaviourType.ordinal() == Enum.MobBehaviourType.GuardCaptain.ordinal()) { if (mob.BehaviourType.ordinal() == Enum.MobBehaviourType.GuardCaptain.ordinal()) {
for (Entry<Mob, Integer> minion : mob.siegeMinionMap.entrySet()) { for (Entry<Mob, Integer> minion : mob.siegeMinionMap.entrySet()) {
//make sure mob is out of combat stance //make sure mob is out of combat stance
if (minion.getKey().isCombat() && minion.getKey().getCombatTarget() == null) { if (minion.getKey().despawned == false) {
minion.getKey().setCombat(false); if (minion.getKey().isCombat() && minion.getKey().getCombatTarget() == null) {
UpdateStateMsg rwss = new UpdateStateMsg(); minion.getKey().setCombat(false);
rwss.setPlayer(minion.getKey()); UpdateStateMsg rwss = new UpdateStateMsg();
DispatchMessage.sendToAllInRange(minion.getKey(), rwss); rwss.setPlayer(minion.getKey());
} DispatchMessage.sendToAllInRange(minion.getKey(), rwss);
if (MovementUtilities.canMove(minion.getKey())) { }
Vector3f minionOffset = Formation.getOffset(2, minion.getValue() + 3); if (MovementUtilities.canMove(minion.getKey())) {
minion.getKey().updateLocation(); Vector3f minionOffset = Formation.getOffset(2, minion.getValue() + 3);
Vector3fImmutable formationPatrolPoint = new Vector3fImmutable(mob.destination.x + minionOffset.x, mob.destination.y, mob.destination.z + minionOffset.z); minion.getKey().updateLocation();
MovementUtilities.aiMove(minion.getKey(), formationPatrolPoint, true); Vector3fImmutable formationPatrolPoint = new Vector3fImmutable(mob.destination.x + minionOffset.x, mob.destination.y, mob.destination.z + minionOffset.z);
MovementUtilities.aiMove(minion.getKey(), formationPatrolPoint, true);
}
} }
} }
} }

Loading…
Cancel
Save