|
|
|
@ -724,8 +724,8 @@ public class MobAI {
@@ -724,8 +724,8 @@ public class MobAI {
|
|
|
|
|
DefaultLogic(mob); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
if(mob.isAlive()) |
|
|
|
|
RecoverHealth(mob); |
|
|
|
|
//if(mob.isAlive())
|
|
|
|
|
// RecoverHealth(mob);
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
Logger.info(mob.getObjectUUID() + " " + mob.getName() + " Failed At: DetermineAction" + " " + e.getMessage()); |
|
|
|
|
} |
|
|
|
@ -1102,17 +1102,17 @@ public class MobAI {
@@ -1102,17 +1102,17 @@ public class MobAI {
|
|
|
|
|
if (mob.getCombatTarget() == null) |
|
|
|
|
CheckForPlayerGuardAggro(mob); |
|
|
|
|
|
|
|
|
|
AbstractWorldObject newTarget = ChangeTargetFromHateValue(mob); |
|
|
|
|
//AbstractWorldObject newTarget = ChangeTargetFromHateValue(mob);
|
|
|
|
|
|
|
|
|
|
if (newTarget != null) { |
|
|
|
|
//if (newTarget != null) {
|
|
|
|
|
|
|
|
|
|
if (newTarget.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)) { |
|
|
|
|
if (GuardCanAggro(mob, (PlayerCharacter) newTarget)) |
|
|
|
|
mob.setCombatTarget(newTarget); |
|
|
|
|
} else |
|
|
|
|
mob.setCombatTarget(newTarget); |
|
|
|
|
// if (newTarget.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)) {
|
|
|
|
|
// if (GuardCanAggro(mob, (PlayerCharacter) newTarget))
|
|
|
|
|
// mob.setCombatTarget(newTarget);
|
|
|
|
|
// } else
|
|
|
|
|
// mob.setCombatTarget(newTarget);
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
//}
|
|
|
|
|
CheckMobMovement(mob); |
|
|
|
|
CheckForAttack(mob); |
|
|
|
|
} catch (Exception e) { |
|
|
|
@ -1202,21 +1202,21 @@ public class MobAI {
@@ -1202,21 +1202,21 @@ public class MobAI {
|
|
|
|
|
if (mob.getCombatTarget() != null && mob.playerAgroMap.containsKey(mob.getCombatTarget().getObjectUUID()) == false) |
|
|
|
|
mob.setCombatTarget(null); |
|
|
|
|
|
|
|
|
|
if (mob.BehaviourType.isAgressive) { |
|
|
|
|
//if (mob.BehaviourType.isAgressive) {
|
|
|
|
|
|
|
|
|
|
AbstractWorldObject newTarget = ChangeTargetFromHateValue(mob); |
|
|
|
|
// AbstractWorldObject newTarget = ChangeTargetFromHateValue(mob);
|
|
|
|
|
|
|
|
|
|
if (newTarget != null) |
|
|
|
|
mob.setCombatTarget(newTarget); |
|
|
|
|
else { |
|
|
|
|
if (mob.getCombatTarget() == null) { |
|
|
|
|
if (mob.BehaviourType == Enum.MobBehaviourType.HamletGuard) |
|
|
|
|
SafeGuardAggro(mob); //safehold guard
|
|
|
|
|
else |
|
|
|
|
CheckForAggro(mob); //normal aggro
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
// if (newTarget != null)
|
|
|
|
|
// mob.setCombatTarget(newTarget);
|
|
|
|
|
// else {
|
|
|
|
|
// if (mob.getCombatTarget() == null) {
|
|
|
|
|
// if (mob.BehaviourType == Enum.MobBehaviourType.HamletGuard)
|
|
|
|
|
// SafeGuardAggro(mob); //safehold guard
|
|
|
|
|
// else
|
|
|
|
|
// CheckForAggro(mob); //normal aggro
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
//check if mob can move for patrol or moving to target
|
|
|
|
|
|
|
|
|
|