Skip to content

Commit

Permalink
Merge pull request #337 from FFXIV-CombatReborn/WAR
Browse files Browse the repository at this point in the history
Track and display Warrior stacks; refactor action checks
  • Loading branch information
LTS-FFXIV authored Sep 7, 2024
2 parents bc328bb + db80a33 commit 04285c6
Showing 1 changed file with 35 additions and 4 deletions.
39 changes: 35 additions & 4 deletions RotationSolver.Basic/Rotations/Basic/WarriorRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,37 @@ partial class WarriorRotation
/// </summary>
public static byte BeastGauge => JobGauge.BeastGauge;

/// <summary>
/// Holds the remaining amount of InnerRelease stacks
/// </summary>
public static byte InnerReleaseStacks
{
get
{
byte stacks = Player.StatusStack(true, StatusID.InnerRelease);
return stacks == byte.MaxValue ? (byte)3 : stacks;
}
}

/// <summary>
/// Holds the remaining amount of Berserk stacks
/// </summary>
public static byte BerserkStacks
{
get
{
byte stacks = Player.StatusStack(true, StatusID.Berserk);
return stacks == byte.MaxValue ? (byte)3 : stacks;
}
}

/// <inheritdoc/>
public override void DisplayStatus()
{
ImGui.Text("InnerReleaseStacks: " + InnerReleaseStacks.ToString());
ImGui.Text("BerserkStacks: " + BerserkStacks.ToString());
}

private sealed protected override IBaseAction TankStance => DefiancePvE;

static partial void ModifyHeavySwingPvE(ref ActionSetting setting)
Expand Down Expand Up @@ -71,7 +102,7 @@ static partial void ModifyThrillOfBattlePvE(ref ActionSetting setting)

static partial void ModifyInnerBeastPvE(ref ActionSetting setting)
{
setting.ActionCheck = () => BeastGauge >= 50 || Player.HasStatus(true, StatusID.InnerRelease);
setting.ActionCheck = () => BeastGauge >= 50;
setting.UnlockedByQuestID = 66586;
}

Expand Down Expand Up @@ -101,7 +132,7 @@ static partial void ModifyHolmgangPvE(ref ActionSetting setting)

static partial void ModifySteelCyclonePvE(ref ActionSetting setting)
{
setting.ActionCheck = () => BeastGauge >= 50 || Player.HasStatus(true, StatusID.InnerRelease);
setting.ActionCheck = () => BeastGauge >= 50;
setting.CreateConfig = () => new ActionConfig()
{
AoeCount = 2,
Expand Down Expand Up @@ -132,7 +163,7 @@ static partial void ModifyInfuriatePvE(ref ActionSetting setting)

static partial void ModifyFellCleavePvE(ref ActionSetting setting)
{
setting.ActionCheck = () => BeastGauge >= 50 || Player.HasStatus(true, StatusID.InnerRelease);
setting.ActionCheck = () => BeastGauge >= 50 || InnerReleaseStacks > 0;
setting.UnlockedByQuestID = 66124;
setting.StatusProvide = [StatusID.BurgeoningFury];
}
Expand All @@ -153,7 +184,7 @@ static partial void ModifyEquilibriumPvE(ref ActionSetting setting)

static partial void ModifyDecimatePvE(ref ActionSetting setting)
{
setting.ActionCheck = () => BeastGauge >= 50 || Player.HasStatus(true, StatusID.InnerRelease);
setting.ActionCheck = () => BeastGauge >= 50 || InnerReleaseStacks > 0;
setting.UnlockedByQuestID = 66137;
setting.CreateConfig = () => new ActionConfig()
{
Expand Down

0 comments on commit 04285c6

Please sign in to comment.