guard reverse KoS logic

This commit is contained in:
2023-05-06 15:53:35 -05:00
parent 6cf599f6bc
commit 64bde9c197
2 changed files with 8 additions and 4 deletions
+7 -3
View File
@@ -336,8 +336,8 @@ public class MobileFSM {
rwss.setPlayer(mob); rwss.setPlayer(mob);
DispatchMessage.sendToAllInRange(mob, rwss); DispatchMessage.sendToAllInRange(mob, rwss);
} }
CheckToSendMobHome(mob);
mob.updateLocation(); mob.updateLocation();
CheckToSendMobHome(mob);
switch (mob.BehaviourType) { switch (mob.BehaviourType) {
case GuardCaptain: case GuardCaptain:
GuardCaptainLogic(mob); GuardCaptainLogic(mob);
@@ -390,7 +390,6 @@ public class MobileFSM {
} }
} }
private static void CheckMobMovement(Mob mob) { private static void CheckMobMovement(Mob mob) {
mob.updateLocation();
if (!MovementUtilities.canMove(mob)) if (!MovementUtilities.canMove(mob))
return; return;
switch(mob.BehaviourType){ switch(mob.BehaviourType){
@@ -412,6 +411,11 @@ public class MobileFSM {
case GuardMinion: case GuardMinion:
if (!mob.npcOwner.isAlive() || ((Mob)mob.npcOwner).despawned) if (!mob.npcOwner.isAlive() || ((Mob)mob.npcOwner).despawned)
randomGuardPatrolPoint(mob); randomGuardPatrolPoint(mob);
else{
if(mob.getCombatTarget() != null){
chaseTarget(mob);
}
}
break; break;
default: default:
if (mob.getCombatTarget() == null) { if (mob.getCombatTarget() == null) {
@@ -481,7 +485,7 @@ public class MobileFSM {
AttackTarget(mob, mob.getCombatTarget()); AttackTarget(mob, mob.getCombatTarget());
} }
private static void CheckToSendMobHome(Mob mob) { private static void CheckToSendMobHome(Mob mob) {
if (mob.isPlayerGuard()) { if (mob.isPlayerGuard() && !mob.despawned) {
City current = ZoneManager.getCityAtLocation(mob.getLoc()); City current = ZoneManager.getCityAtLocation(mob.getLoc());
if (current == null || current.equals(mob.getGuild().getOwnedCity()) == false || mob.playerAgroMap.isEmpty()) { if (current == null || current.equals(mob.getGuild().getOwnedCity()) == false || mob.playerAgroMap.isEmpty()) {
PowersBase recall = PowersManager.getPowerByToken(-1994153779); PowersBase recall = PowersManager.getPowerByToken(-1994153779);
+1 -1
View File
@@ -91,7 +91,7 @@ public class MobileFSMManager {
if (mob != null) if (mob != null)
MobileFSM.DetermineAction(mob); MobileFSM.DetermineAction(mob);
} catch (Exception e) { } catch (Exception e) {
Logger.error(e); Logger.error("Mob: " + mob.getName() + " UUID: " + mob.getObjectUUID() + " ERROR: " + e);
e.printStackTrace(); e.printStackTrace();
} }
} }