guard recall off city grid

This commit is contained in:
2023-04-17 21:31:56 -05:00
parent aa3c70ae31
commit 259025d572
3 changed files with 13 additions and 10 deletions
+7 -7
View File
@@ -506,13 +506,8 @@ public class MobileFSM {
CheckForRespawn(mob);
return;
}
if (mob.getLoc().distanceSquared2D(mob.npcOwner.getLoc()) > sqr(2000)) {
MovementManager.translocate(mob,((Mob)mob.npcOwner).building.getLoc(),null);
mob.setAggroTargetID(0);
mob.setCombatTarget(null);
}
CheckToSendMobHome(mob);
if(mob.npcOwner.isAlive() == false){
CheckToSendMobHome(mob);
CheckForPlayerGuardAggro(mob);
CheckMobMovement(mob);
if(mob.getCombatTarget() != null){
@@ -599,7 +594,6 @@ public class MobileFSM {
}
mob.updateLocation();
if (mob.isPet() == false && mob.isSummonedPet() == false && mob.isNecroPet() == false) {
if (mob.getCombatTarget() == null) {
patrol(mob);
} else {
@@ -673,6 +667,12 @@ public class MobileFSM {
mobAttack(mob);
}
private static void CheckToSendMobHome(Mob mob) {
if(mob.isPlayerGuard() && ZoneManager.getCityAtLocation(mob.getLoc()).equals(mob.getGuild().getOwnedCity()) == false){
PowersBase recall = PowersManager.getPowerByToken(-1994153779);
PowersManager.useMobPower(mob, mob, recall, 40);
mob.setAggroTargetID(0);
mob.setCombatTarget(null);
}
if (mob.getLoc().distanceSquared2D(mob.getBindLoc()) > sqr(2000)) {
PowersBase recall = PowersManager.getPowerByToken(-1994153779);
PowersManager.useMobPower(mob, mob, recall, 40);