Skip to content

Commit

Permalink
Add BioMove option, update logic, and enhance debug UI
Browse files Browse the repository at this point in the history
Added a new configuration option `BioMove` to the `MCH_Default` and `MCH_HighEnd` classes, allowing Bioblaster use while moving. Updated logic to check `BioMove` setting before using Bioblaster, ensuring it can be used if `BioMove` is enabled or if the player is not moving. Updated subproject commit reference in `ECommons` to `a1df6434ddac33eab306b3f4f605f59f0d0a7279`. Enhanced `RotationConfigWindow` to display stack count of statuses.
  • Loading branch information
LTS-FFXIV committed Feb 9, 2025
1 parent 1a3c1b1 commit 0b51c77
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 4 deletions.
5 changes: 4 additions & 1 deletion BasicRotations/Ranged/MCH_Default.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ public sealed class MCH_Default : MachinistRotation

[RotationConfig(CombatType.PvE, Name = "Prevent the use of defense abilties during hypercharge burst")]
private bool BurstDefense { get; set; } = false;

[RotationConfig(CombatType.PvE, Name = "Use Bioblaster while moving")]
private bool BioMove { get; set; } = true;
#endregion

#region Countdown logic
Expand Down Expand Up @@ -131,7 +134,7 @@ protected override bool GeneralGCD(out IAction? act)
if (HeatBlastPvE.CanUse(out act)) return true;

// drill's aoe version
if (BioblasterPvE.CanUse(out act, usedUp: true)) return true;
if ((BioMove || (!IsMoving && !BioMove)) && BioblasterPvE.CanUse(out act, usedUp: true)) return true;

// single target --- need to update this strange condition writing!!!
if (!SpreadShotPvE.CanUse(out _))
Expand Down
5 changes: 4 additions & 1 deletion BasicRotations/Ranged/MCH_HighEnd.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ public sealed class MCH_HighEnd : MachinistRotation

[RotationConfig(CombatType.PvE, Name = "Use burst medicine midfight when Air Anchor, Barrel Stabilizer, and Wildfire are about to come off cooldown")]
private bool MidfightBurstMeds { get; set; } = false;

[RotationConfig(CombatType.PvE, Name = "Use Bioblaster while moving")]
private bool BioMove { get; set; } = true;
#endregion

private const float HYPERCHARGE_DURATION = 8f;
Expand Down Expand Up @@ -147,7 +150,7 @@ protected override bool GeneralGCD(out IAction? act)
if (HeatBlastPvE.CanUse(out act)) return true;

// drill's aoe version
if (BioblasterPvE.CanUse(out act, usedUp: true)) return true;
if ((BioMove || (!IsMoving && !BioMove)) && BioblasterPvE.CanUse(out act, usedUp: true)) return true;

// single target --- need to update this strange condition writing!!!
if (!SpreadShotPvE.CanUse(out _))
Expand Down
2 changes: 1 addition & 1 deletion ECommons
4 changes: 3 additions & 1 deletion RotationSolver/UI/RotationConfigWindow.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2814,7 +2814,9 @@ private static unsafe void DrawStatus()
foreach (var status in Player.Object.StatusList)
{
var source = status.SourceId == Player.Object.GameObjectId ? "You" : Svc.Objects.SearchById(status.SourceId) == null ? "None" : "Others";
ImGui.Text($"{status.GameData.Value.Name}: {status.StatusId} From: {source}");
byte stacks = Player.Object.StatusStack(true, (StatusID)status.StatusId);
string stackDisplay = stacks == byte.MaxValue ? "N/A" : stacks.ToString(); // Convert 255 to "N/A"
ImGui.Text($"{status.GameData.Value.Name}: {status.StatusId} From: {source} Stacks: {stackDisplay}");
}
}

Expand Down

0 comments on commit 0b51c77

Please sign in to comment.