diff --git a/RotationSolver.Basic/Data/TargetHostileType.cs b/RotationSolver.Basic/Data/TargetHostileType.cs index 48f85e1af..b20ed5a98 100644 --- a/RotationSolver.Basic/Data/TargetHostileType.cs +++ b/RotationSolver.Basic/Data/TargetHostileType.cs @@ -34,10 +34,16 @@ public enum TargetHostileType : byte /// [Description("Only attack targets in your parties enemy list")] TargetIsInEnemiesList, - + /// /// All targets when solo, or only attack targets in your parties enemy list. /// [Description("All targets when solo, or only attack targets in your parties enemy list")] AllTargetsWhenSoloTargetIsInEnemiesList, + + /// + /// All targets when solo in duty, or only attack targets in your parties enemy list. + /// + [Description("All targets when solo in duty, or only attack targets in your parties enemy list")] + AllTargetsWhenSoloInDutyTargetIsInEnemiesList, } \ No newline at end of file diff --git a/RotationSolver.Basic/Helpers/ObjectHelper.cs b/RotationSolver.Basic/Helpers/ObjectHelper.cs index 0fa594a24..6d6300b6e 100644 --- a/RotationSolver.Basic/Helpers/ObjectHelper.cs +++ b/RotationSolver.Basic/Helpers/ObjectHelper.cs @@ -113,10 +113,11 @@ internal static bool IsAttackable(this IBattleChara battleChara) TargetHostileType.AllTargetsCanAttack => true, TargetHostileType.TargetsHaveTarget => battleChara.TargetObject is IBattleChara, TargetHostileType.AllTargetsWhenSolo => DataCenter.PartyMembers.Length < 2 || battleChara.TargetObject is IBattleChara, - TargetHostileType.AllTargetsWhenSoloInDuty => (DataCenter.PartyMembers.Length < 2 && Svc.Condition[ConditionFlag.BoundByDuty]) + TargetHostileType.AllTargetsWhenSoloInDuty => (DataCenter.PartyMembers.Length < 2 && (Svc.Condition[ConditionFlag.BoundByDuty] || Svc.Condition[ConditionFlag.BoundByDuty56])) || battleChara.TargetObject is IBattleChara, TargetHostileType.TargetIsInEnemiesList => battleChara.TargetObject is IBattleChara target && target.IsInEnemiesList(), - TargetHostileType.AllTargetsWhenSoloTargetIsInEnemiesList => DataCenter.PartyMembers.Length < 2 || battleChara.TargetObject is IBattleChara target && target.IsInEnemiesList(), + TargetHostileType.AllTargetsWhenSoloTargetIsInEnemiesList => (DataCenter.PartyMembers.Length < 2 && (Svc.Condition[ConditionFlag.BoundByDuty] || Svc.Condition[ConditionFlag.BoundByDuty56])) || battleChara.TargetObject is IBattleChara target && target.IsInEnemiesList(), + TargetHostileType.AllTargetsWhenSoloInDutyTargetIsInEnemiesList => DataCenter.PartyMembers.Length < 2 || battleChara.TargetObject is IBattleChara target && target.IsInEnemiesList(), _ => true, }; }