From 23c87015b635ce7fa58a6b3608a8e9b99c3ca3c3 Mon Sep 17 00:00:00 2001 From: Ethan Henderson Date: Sun, 23 Mar 2025 16:14:16 -0600 Subject: [PATCH] add(DRKGauge): Add `DeliriumComboStep`, and its enum `DeliriumStep` (#2198) --- .../JobGauge/Enums/DeliriumStep.cs | 19 +++++++++++++++++++ .../ClientState/JobGauge/Types/DRKGauge.cs | 17 ++++++++++++++++- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 Dalamud/Game/ClientState/JobGauge/Enums/DeliriumStep.cs diff --git a/Dalamud/Game/ClientState/JobGauge/Enums/DeliriumStep.cs b/Dalamud/Game/ClientState/JobGauge/Enums/DeliriumStep.cs new file mode 100644 index 000000000..cb35a83d2 --- /dev/null +++ b/Dalamud/Game/ClientState/JobGauge/Enums/DeliriumStep.cs @@ -0,0 +1,19 @@ +namespace Dalamud.Game.ClientState.JobGauge.Enums; + +public enum DeliriumStep +{ + /// + /// Scarlet Delirium can be used. + /// + SCARLET_DELIRIUM = 0, + + /// + /// Comeuppance can be used. + /// + COMEUPPANCE = 1, + + /// + /// Torcleaver can be used. + /// + TORCLEAVER = 2, +} diff --git a/Dalamud/Game/ClientState/JobGauge/Types/DRKGauge.cs b/Dalamud/Game/ClientState/JobGauge/Types/DRKGauge.cs index 834087040..c56d03db0 100644 --- a/Dalamud/Game/ClientState/JobGauge/Types/DRKGauge.cs +++ b/Dalamud/Game/ClientState/JobGauge/Types/DRKGauge.cs @@ -1,9 +1,12 @@ +using Dalamud.Game.ClientState.JobGauge.Enums; +using FFXIVClientStructs.FFXIV.Client.Game.Gauge; + namespace Dalamud.Game.ClientState.JobGauge.Types; /// /// In-memory DRK job gauge. /// -public unsafe class DRKGauge : JobGaugeBase +public unsafe class DRKGauge : JobGaugeBase { /// /// Initializes a new instance of the class. @@ -34,4 +37,16 @@ public unsafe class DRKGauge : JobGaugeBase /// true or false. public bool HasDarkArts => this.Struct->DarkArtsState > 0; + + /// + /// Gets the step of the Delirium Combo (Scarlet Delirium, Comeuppance, + /// Torcleaver) that the player is on.
+ /// Does not in any way consider whether the player is still under Delirium, or + /// if the player still has stacks of Delirium to use. + ///
+ /// + /// Value will persist until combo is finished OR + /// if the combo is not completed then the value will stay until about halfway into Delirium's cooldown. + /// + public DeliriumStep DeliriumComboStep => (DeliriumStep)this.Struct->DeliriumStep; }