Browse Source

consolidated all guards to GuardLogic

combat-2
FatBoy-DOTC 1 year ago
parent
commit
96231260bc
  1. 41
      src/engine/mobileAI/MobAI.java

41
src/engine/mobileAI/MobAI.java

@ -616,10 +616,8 @@ public class MobAI {
switch (mob.behaviourType) { switch (mob.behaviourType) {
case GuardCaptain: case GuardCaptain:
case GuardMinion: case GuardMinion:
GuardLogic(mob);
break;
case GuardWallArcher: case GuardWallArcher:
GuardWallArcherLogic(mob); GuardLogic(mob);
break; break;
case Pet1: case Pet1:
case SiegeEngine: case SiegeEngine:
@ -953,37 +951,30 @@ public class MobAI {
public static void GuardLogic(Mob mob) { public static void GuardLogic(Mob mob) {
try { try {
if (mob.getCombatTarget() == null) if (mob.getCombatTarget() == null) {
CheckForPlayerGuardAggro(mob); CheckForPlayerGuardAggro(mob);
} else {
//do not need to look to change target if target is already null
AbstractWorldObject newTarget = ChangeTargetFromHateValue(mob);
AbstractWorldObject newTarget = ChangeTargetFromHateValue(mob); if (newTarget != null) {
if (newTarget != null) {
if (newTarget.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)) { if (newTarget.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)) {
if (GuardCanAggro(mob, (PlayerCharacter) newTarget)) if (GuardCanAggro(mob, (PlayerCharacter) newTarget))
mob.setCombatTarget(newTarget);
} else
mob.setCombatTarget(newTarget); mob.setCombatTarget(newTarget);
} else }
mob.setCombatTarget(newTarget);
} }
CheckMobMovement(mob); if(mob.behaviourType.canRoam)
CheckForAttack(mob); CheckMobMovement(mob);//all guards that can move check to move
} catch (Exception e) {
Logger.info(mob.getObjectUUID() + " " + mob.getName() + " Failed At: GuardLogic" + " " + e.getMessage());
}
}
public static void GuardWallArcherLogic(Mob mob) { if(mob.combatTarget != null)
CheckForAttack(mob); //only check to attack if combat target is not null
try {
if (mob.getCombatTarget() == null)
CheckForPlayerGuardAggro(mob);
else
CheckForAttack(mob);
} catch (Exception e) { } catch (Exception e) {
Logger.info(mob.getObjectUUID() + " " + mob.getName() + " Failed At: GuardWallArcherLogic" + " " + e.getMessage()); Logger.info(mob.getObjectUUID() + " " + mob.getName() + " Failed At: GuardLogic" + " " + e.getMessage());
} }
} }

Loading…
Cancel
Save