From 6e22ff53d7ec16dd39c842867323e7c7224f7516 Mon Sep 17 00:00:00 2001 From: FatBoy-DOTC Date: Sat, 28 Oct 2023 00:14:36 -0500 Subject: [PATCH] region work --- .../mobileAI/utilities/MovementUtilities.java | 78 +------------------ 1 file changed, 2 insertions(+), 76 deletions(-) diff --git a/src/engine/mobileAI/utilities/MovementUtilities.java b/src/engine/mobileAI/utilities/MovementUtilities.java index e97f7957..94561854 100644 --- a/src/engine/mobileAI/utilities/MovementUtilities.java +++ b/src/engine/mobileAI/utilities/MovementUtilities.java @@ -13,19 +13,15 @@ import engine.Enum; import engine.Enum.GameObjectType; import engine.Enum.ModType; import engine.Enum.SourceType; -import engine.InterestManagement.WorldGrid; import engine.exception.MsgSendException; import engine.gameManager.BuildingManager; -import engine.gameManager.ChatManager; import engine.gameManager.MovementManager; import engine.gameManager.ZoneManager; import engine.math.Bounds; -import engine.math.Vector3f; import engine.math.Vector3fImmutable; import engine.mobileAI.Threads.MobAIThread; import engine.net.client.msg.MoveToPointMsg; import engine.objects.*; -import engine.server.MBServerStatics; import org.pmw.tinylog.Logger; import java.util.ArrayList; @@ -35,7 +31,8 @@ import static engine.math.FastMath.sqr; import static engine.math.FastMath.sqrt; public class MovementUtilities { -private static final int cellGap = 1; + private static final int cellGap = 1; + private static final int stepHeight = 1; public static boolean inRangeOfBindLocation(Mob agent) { @@ -117,38 +114,6 @@ private static final int cellGap = 1; } - public static Vector3fImmutable GetMoveLocation(Mob aiAgent, AbstractCharacter aggroTarget) { - - // Player isnt moving and neither is mob. Just return - // the mobile's current location. Ain't goin nowhere! - // *** Refactor: Check to ensure methods calling us - // all don't sent move messages when not moving. - - if ((aggroTarget.isMoving() == false)) - return aggroTarget.getLoc(); - - if (aggroTarget.getEndLoc().x != 0) { - - float aggroTargetDistanceSquared = aggroTarget.getLoc().distanceSquared2D(aggroTarget.getEndLoc()); - float aiAgentDistanceSquared = aiAgent.getLoc().distanceSquared2D(aggroTarget.getEndLoc()); - - if (aiAgentDistanceSquared >= aggroTargetDistanceSquared) - return aggroTarget.getEndLoc(); - else { - float distanceToMove = sqrt(aggroTargetDistanceSquared + aiAgentDistanceSquared) * .5f; - - return aggroTarget.getFaceDir().scaleAdd(distanceToMove, aggroTarget.getLoc()); - - } - } - - // One of us is moving so let's calculate our destination loc for this - // simulation frame. We will simply project our position onto the - // character's movement vector and return the closest point. - - return aiAgent.getLoc().ClosestPointOnLine(aggroTarget.getLoc(), aggroTarget.getEndLoc()); - } - public static void moveToLocation(Mob agent, Vector3fImmutable newLocation, float offset, boolean isWalking) { try { @@ -166,7 +131,6 @@ private static final int cellGap = 1; } } - public static boolean canMove(Mob agent) { if (agent.getMobBase() != null && Enum.MobFlagType.SENTINEL.elementOf(agent.getMobBase().getFlags())) return false; @@ -174,21 +138,6 @@ private static final int cellGap = 1; return (agent.isAlive() && !agent.getBonuses().getBool(ModType.Stunned, SourceType.None) && !agent.getBonuses().getBool(ModType.CannotMove, SourceType.None)); } - public static Vector3fImmutable randomPatrolLocation(Mob agent, Vector3fImmutable center, float radius) { - - //Determing where I want to move. - return new Vector3fImmutable((center.x - radius) + ((ThreadLocalRandom.current().nextFloat() + .1f * 2) * radius), - center.y, - (center.z - radius) + ((ThreadLocalRandom.current().nextFloat() + .1f * 2) * radius)); - } - - public static Long estimateMovementTime(Mob agent) { - if (agent.getEndLoc().x == 0 && agent.getEndLoc().y == 0) - return 0L; - - return (long) ((agent.getLoc().distance2D(agent.getEndLoc()) * 1000) / agent.getSpeed()); - } - public static void aiMove(Mob agent, Vector3fImmutable vect, boolean isWalking) { //update our walk/run state. @@ -275,24 +224,6 @@ private static final int cellGap = 1; return character.getLoc(); } - public static boolean updateMovementToCharacter(Mob aiAgent, AbstractCharacter aggroTarget) { - - if (aiAgent.destination.equals(Vector3fImmutable.ZERO)) - return true; - - if (!aiAgent.isMoving()) - return true; - - - if (aggroTarget.isMoving()) { - return !aiAgent.destination.equals(aggroTarget.getEndLoc()) && !aiAgent.destination.equals(aggroTarget.getLoc()); - } else { - if (aiAgent.destination.equals(aggroTarget.getLoc())) - return false; - } - - return false; - } public static void pathfind(AbstractCharacter character, Vector3fImmutable goal){ try { @@ -440,11 +371,6 @@ private static final int cellGap = 1; if(building == null) return false;//no building at this location means nothing obstructing the walking path - //Regions region = Regions.getRegionAtLocation(point); - //if(region != null) - // if(region.lerpY(point) <= point.y) - // return false; - Zone currentZone = ZoneManager.findSmallestZone(point); if(currentZone == null) return false;