Skip to content

Commit

Permalink
Merge pull request #418 from FFXIV-CombatReborn/targetting-update
Browse files Browse the repository at this point in the history
Add new enum value and update targeting conditions
  • Loading branch information
LTS-FFXIV authored Sep 28, 2024
2 parents 52acb5a + 06531ef commit 4aac445
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 3 deletions.
8 changes: 7 additions & 1 deletion RotationSolver.Basic/Data/TargetHostileType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,16 @@ public enum TargetHostileType : byte
/// </summary>
[Description("Only attack targets in your parties enemy list")]
TargetIsInEnemiesList,

/// <summary>
/// All targets when solo, or only attack targets in your parties enemy list.
/// </summary>
[Description("All targets when solo, or only attack targets in your parties enemy list")]
AllTargetsWhenSoloTargetIsInEnemiesList,

/// <summary>
/// All targets when solo in duty, or only attack targets in your parties enemy list.
/// </summary>
[Description("All targets when solo in duty, or only attack targets in your parties enemy list")]
AllTargetsWhenSoloInDutyTargetIsInEnemiesList,
}
5 changes: 3 additions & 2 deletions RotationSolver.Basic/Helpers/ObjectHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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,
};
}
Expand Down

0 comments on commit 4aac445

Please sign in to comment.