diff --git a/src/engine/mobileAI/MobAI.java b/src/engine/mobileAI/MobAI.java index 87b8b14b..a0eb9f37 100644 --- a/src/engine/mobileAI/MobAI.java +++ b/src/engine/mobileAI/MobAI.java @@ -584,7 +584,7 @@ public class MobAI { if(mob.isPlayerGuard() || mob.isSiege()) { bypassLoadedPlayerCheck = true; if(mob.combatTarget != null && mob.combatTarget.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)) - if(mob.combatTarget.loc.distanceSquared(mob.loc) > 62500) + if(mob.combatTarget.loc.distanceSquared(mob.loc) > 10000) mob.setCombatTarget(null); } diff --git a/src/engine/mobileAI/utilities/MovementUtilities.java b/src/engine/mobileAI/utilities/MovementUtilities.java index bd1a9f37..e95e6098 100644 --- a/src/engine/mobileAI/utilities/MovementUtilities.java +++ b/src/engine/mobileAI/utilities/MovementUtilities.java @@ -301,8 +301,6 @@ private static final int cellGap = 1; } public static void pathfind(AbstractCharacter character, Vector3fImmutable goal){ try { - if(character.isMoving()) - return; if(character.region == null && Regions.getRegionAtLocation(goal) != null) {//mover not inside a building Building building = BuildingManager.getBuildingAtLocation(goal); @@ -395,10 +393,14 @@ private static final int cellGap = 1; if (path.contains(cheapCorner)) { continue; }else { - path.add(cheapCorner); - current = cheapCorner; - continue; + path.add(cheapCorner); + current = cheapCorner; + continue; } + + + if (path.contains(point)) + continue; } if (path.contains(point)) @@ -406,8 +408,9 @@ private static final int cellGap = 1; Regions region = Regions.getRegionAtLocation(point); if(region != null) { - path.add(new Vector3fImmutable(region.center)); //only use center points when travelling through regions + path.add(new Vector3fImmutable(region.center.x,region.center.y,region.center.z)); //only use center points when travelling through regions continue; + } if (pointIsBlocked(point)) { diff --git a/src/engine/objects/Building.java b/src/engine/objects/Building.java index b174d4b7..d65ccb22 100644 --- a/src/engine/objects/Building.java +++ b/src/engine/objects/Building.java @@ -9,7 +9,6 @@ package engine.objects; -import com.sun.prism.Mesh; import engine.Enum; import engine.Enum.*; import engine.InterestManagement.RealmMap; @@ -1537,8 +1536,6 @@ public class Building extends AbstractWorldObject { } public void updateNavMesh(){ - - //TODO figure out how to subtract the mesh of the building form the navMesh for(Regions region : this.getBounds().getRegions()) this.parentZone.navMesh.add(region.getArea()); }