|
|
|
@ -410,85 +410,6 @@ public class MobileFSM {
@@ -410,85 +410,6 @@ public class MobileFSM {
|
|
|
|
|
mob.lastPatrolPointIndex += 1; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
private static void guardPatrol(Mob aiAgent) { |
|
|
|
|
if (aiAgent.isCombat() && aiAgent.getCombatTarget() == null) { |
|
|
|
|
aiAgent.setCombat(false); |
|
|
|
|
UpdateStateMsg rwss = new UpdateStateMsg(); |
|
|
|
|
rwss.setPlayer(aiAgent); |
|
|
|
|
DispatchMessage.sendToAllInRange(aiAgent, rwss); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (aiAgent.npcOwner == null) { |
|
|
|
|
|
|
|
|
|
if (!aiAgent.isWalk() || (aiAgent.isCombat() && aiAgent.getCombatTarget() == null)) { |
|
|
|
|
aiAgent.setWalkMode(true); |
|
|
|
|
aiAgent.setCombat(false); |
|
|
|
|
UpdateStateMsg rwss = new UpdateStateMsg(); |
|
|
|
|
rwss.setPlayer(aiAgent); |
|
|
|
|
DispatchMessage.sendToAllInRange(aiAgent, rwss); |
|
|
|
|
} |
|
|
|
|
Building barrack = aiAgent.building; |
|
|
|
|
|
|
|
|
|
if (barrack == null) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int patrolRandom = ThreadLocalRandom.current().nextInt(1000); |
|
|
|
|
|
|
|
|
|
if (patrolRandom <= 10) { |
|
|
|
|
int buildingHitBox = (int) CombatManager.calcHitBox(barrack); |
|
|
|
|
if (MovementUtilities.canMove(aiAgent)) { |
|
|
|
|
MovementUtilities.aiMove(aiAgent, MovementUtilities.randomPatrolLocation(aiAgent, aiAgent.getBindLoc(), buildingHitBox * 2), true); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!aiAgent.isWalk() || (aiAgent.isCombat() && aiAgent.getCombatTarget() == null)) { |
|
|
|
|
aiAgent.setWalkMode(true); |
|
|
|
|
aiAgent.setCombat(false); |
|
|
|
|
UpdateStateMsg rwss = new UpdateStateMsg(); |
|
|
|
|
rwss.setPlayer(aiAgent); |
|
|
|
|
DispatchMessage.sendToAllInRange(aiAgent, rwss); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Building barrack = ((Mob) aiAgent.npcOwner).building; |
|
|
|
|
|
|
|
|
|
if (barrack == null) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (barrack.getPatrolPoints() == null) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (barrack.getPatrolPoints().isEmpty()) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (aiAgent.isMoving()) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int patrolRandom = ThreadLocalRandom.current().nextInt(1000); |
|
|
|
|
|
|
|
|
|
if (patrolRandom <= 10) { |
|
|
|
|
if (aiAgent.getPatrolPointIndex() < barrack.getPatrolPoints().size()) { |
|
|
|
|
Vector3fImmutable patrolLoc = barrack.getPatrolPoints().get(aiAgent.getPatrolPointIndex()); |
|
|
|
|
aiAgent.setPatrolPointIndex(aiAgent.getPatrolPointIndex() + 1); |
|
|
|
|
if (aiAgent.getPatrolPointIndex() == barrack.getPatrolPoints().size()) |
|
|
|
|
aiAgent.setPatrolPointIndex(0); |
|
|
|
|
|
|
|
|
|
if (patrolLoc != null) { |
|
|
|
|
if (MovementUtilities.canMove(aiAgent)) { |
|
|
|
|
MovementUtilities.aiMove(aiAgent, patrolLoc, true); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
public static boolean canCast(Mob mob) { |
|
|
|
|
|
|
|
|
|
// Performs validation to determine if a
|
|
|
|
@ -645,7 +566,6 @@ public class MobileFSM {
@@ -645,7 +566,6 @@ public class MobileFSM {
|
|
|
|
|
CheckForAttack(mob); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static void CheckForAggro(Mob aiAgent) { |
|
|
|
|
//looks for and sets mobs combatTarget
|
|
|
|
|
if (!aiAgent.isAlive()) { |
|
|
|
@ -815,5 +735,4 @@ public class MobileFSM {
@@ -815,5 +735,4 @@ public class MobileFSM {
|
|
|
|
|
aiAgent.setCombatTarget(null); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |