guard aggro logic

This commit is contained in:
2023-04-16 18:58:55 -05:00
parent 0ee7507467
commit eb20d926e3
+10 -4
View File
@@ -523,9 +523,6 @@ public class MobileFSM {
return; return;
} }
if (mob.isPet() == false && mob.isSummonedPet() == false && mob.isNecroPet() == false) { if (mob.isPet() == false && mob.isSummonedPet() == false && mob.isNecroPet() == false) {
//if (mob.BehaviourType != null && mob.BehaviourType == MobBehaviourType.None) {
// return;
//}
//TEST CODE FOR BEHAVIOUR CHANGING START //TEST CODE FOR BEHAVIOUR CHANGING START
if (mob.BehaviourType == null || mob.BehaviourType.ordinal() == MobBehaviourType.None.ordinal()) { if (mob.BehaviourType == null || mob.BehaviourType.ordinal() == MobBehaviourType.None.ordinal()) {
mob.BehaviourType = MobBehaviourType.Simple; mob.BehaviourType = MobBehaviourType.Simple;
@@ -544,8 +541,12 @@ public class MobileFSM {
return; return;
} }
//check for players that can be aggroed if mob is agressive and has no target //check for players that can be aggroed if mob is agressive and has no target
if (mob.BehaviourType.isAgressive && mob.getCombatTarget() == null) { if (mob.BehaviourType.isAgressive && mob.getCombatTarget() == null && mob.BehaviourType != MobBehaviourType.SimpleStandingGuard) {
//normal aggro
CheckForAggro(mob); CheckForAggro(mob);
} else if(mob.BehaviourType == MobBehaviourType.SimpleStandingGuard){
//safehold guard
SafeGuardAggro(mob);
} }
//check if mob can move for patrol or moving to target //check if mob can move for patrol or moving to target
if (mob.BehaviourType.canRoam) { if (mob.BehaviourType.canRoam) {
@@ -736,4 +737,9 @@ public class MobileFSM {
} }
} }
} }
private static void SafeGuardAggro(Mob mob){
for(Entry<Integer,Boolean> entry : mob.playerAgroMap.entrySet()){
}
}
} }