guards use city player memory to determine whether they go idle or not

This commit is contained in:
2023-09-09 22:10:10 -05:00
parent cae5c36d84
commit 501e8c937f
+12 -2
View File
@@ -578,14 +578,24 @@ public class MobAI {
return;
}
//no players loaded, no need to proceed
//no players loaded, no need to proceed unless it's a player guard
boolean bypassLoadedPlayerCheck = false;
if(mob.isPlayerGuard()) {
if (mob.playerAgroMap.isEmpty()) {
if (mob.guardedCity != null) {
if (!mob.guardedCity._playerMemory.isEmpty()) {
bypassLoadedPlayerCheck = true;
}
}
}
if (mob.playerAgroMap.isEmpty() && !bypassLoadedPlayerCheck) {
if (mob.getCombatTarget() != null)
mob.setCombatTarget(null);
return;
}
if (mob.agentType.equals(Enum.AIAgentType.PET) == false)
CheckToSendMobHome(mob);