Browse Source

cleanup

hull4
FatBoy-DOTC 1 year ago
parent
commit
e128f60519
  1. 2
      src/engine/mobileAI/MobAI.java
  2. 15
      src/engine/mobileAI/utilities/MovementUtilities.java
  3. 3
      src/engine/objects/Building.java

2
src/engine/mobileAI/MobAI.java

@ -584,7 +584,7 @@ public class MobAI {
if(mob.isPlayerGuard() || mob.isSiege()) { if(mob.isPlayerGuard() || mob.isSiege()) {
bypassLoadedPlayerCheck = true; bypassLoadedPlayerCheck = true;
if(mob.combatTarget != null && mob.combatTarget.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)) if(mob.combatTarget != null && mob.combatTarget.getObjectType().equals(Enum.GameObjectType.PlayerCharacter))
if(mob.combatTarget.loc.distanceSquared(mob.loc) > 10000) if(mob.combatTarget.loc.distanceSquared(mob.loc) > 62500)
mob.setCombatTarget(null); mob.setCombatTarget(null);
} }

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

@ -301,6 +301,8 @@ private static final int cellGap = 1;
} }
public static void pathfind(AbstractCharacter character, Vector3fImmutable goal){ public static void pathfind(AbstractCharacter character, Vector3fImmutable goal){
try { try {
if(character.isMoving())
return;
if(character.region == null && Regions.getRegionAtLocation(goal) != null) {//mover not inside a building if(character.region == null && Regions.getRegionAtLocation(goal) != null) {//mover not inside a building
Building building = BuildingManager.getBuildingAtLocation(goal); Building building = BuildingManager.getBuildingAtLocation(goal);
@ -393,14 +395,10 @@ private static final int cellGap = 1;
if (path.contains(cheapCorner)) { if (path.contains(cheapCorner)) {
continue; continue;
}else { }else {
path.add(cheapCorner); path.add(cheapCorner);
current = cheapCorner; current = cheapCorner;
continue; continue;
} }
if (path.contains(point))
continue;
} }
if (path.contains(point)) if (path.contains(point))
@ -408,9 +406,8 @@ private static final int cellGap = 1;
Regions region = Regions.getRegionAtLocation(point); Regions region = Regions.getRegionAtLocation(point);
if(region != null) { if(region != null) {
path.add(new Vector3fImmutable(region.center.x,region.center.y,region.center.z)); //only use center points when travelling through regions path.add(new Vector3fImmutable(region.center)); //only use center points when travelling through regions
continue; continue;
} }
if (pointIsBlocked(point)) { if (pointIsBlocked(point)) {

3
src/engine/objects/Building.java

@ -9,6 +9,7 @@
package engine.objects; package engine.objects;
import com.sun.prism.Mesh;
import engine.Enum; import engine.Enum;
import engine.Enum.*; import engine.Enum.*;
import engine.InterestManagement.RealmMap; import engine.InterestManagement.RealmMap;
@ -1536,6 +1537,8 @@ public class Building extends AbstractWorldObject {
} }
public void updateNavMesh(){ public void updateNavMesh(){
//TODO figure out how to subtract the mesh of the building form the navMesh
for(Regions region : this.getBounds().getRegions()) for(Regions region : this.getBounds().getRegions())
this.parentZone.navMesh.add(region.getArea()); this.parentZone.navMesh.add(region.getArea());
} }

Loading…
Cancel
Save