diff --git a/Dalamud/Game/ClientState/JobGauge/Types/ASTGauge.cs b/Dalamud/Game/ClientState/JobGauge/Types/ASTGauge.cs index 45175344f..14b2ff19f 100644 --- a/Dalamud/Game/ClientState/JobGauge/Types/ASTGauge.cs +++ b/Dalamud/Game/ClientState/JobGauge/Types/ASTGauge.cs @@ -22,7 +22,13 @@ namespace Dalamud.Game.ClientState.JobGauge.Types /// Gets the currently drawn . /// /// Currently drawn . - public CardType DrawnCard => (CardType)this.Struct->Card; + public CardType DrawnCard => (CardType)(this.Struct->Card & 0xF); + + /// + /// Gets the currently drawn crown . + /// + /// Currently drawn crown . + public CardType DrawnCrownCard => (CardType)(this.Struct->Card - (this.Struct->Card % 10)); /// /// Check if a is currently active on the divination gauge. diff --git a/Dalamud/Game/ClientState/JobGauge/Types/RDMGauge.cs b/Dalamud/Game/ClientState/JobGauge/Types/RDMGauge.cs index 63c8b6a20..af16ee031 100644 --- a/Dalamud/Game/ClientState/JobGauge/Types/RDMGauge.cs +++ b/Dalamud/Game/ClientState/JobGauge/Types/RDMGauge.cs @@ -25,5 +25,10 @@ namespace Dalamud.Game.ClientState.JobGauge.Types /// Gets the level of the Black gauge. /// public byte BlackMana => this.Struct->BlackMana; + + /// + /// Gets the amount of mana stacks. + /// + public byte ManaStacks => this.Struct->ManaStacks; } } diff --git a/Dalamud/Game/ClientState/JobGauge/Types/RPRGauge.cs b/Dalamud/Game/ClientState/JobGauge/Types/RPRGauge.cs new file mode 100644 index 000000000..b423691c8 --- /dev/null +++ b/Dalamud/Game/ClientState/JobGauge/Types/RPRGauge.cs @@ -0,0 +1,24 @@ +using System; + +namespace Dalamud.Game.ClientState.JobGauge.Types +{ + /// + /// In-memory RPR job gauge. + /// + public unsafe class RPRGauge : JobGaugeBase + { + /// + /// Initializes a new instance of the class. + /// + /// Address of the job gauge. + internal RPRGauge(IntPtr address) + : base(address) + { + } + + /// + /// Gets the amount of Soul available. + /// + public byte Soul => this.Struct->Soul; + } +} diff --git a/Dalamud/Game/ClientState/JobGauge/Types/SGEGauge.cs b/Dalamud/Game/ClientState/JobGauge/Types/SGEGauge.cs new file mode 100644 index 000000000..e1a09bf7b --- /dev/null +++ b/Dalamud/Game/ClientState/JobGauge/Types/SGEGauge.cs @@ -0,0 +1,40 @@ +using System; + +namespace Dalamud.Game.ClientState.JobGauge.Types +{ + /// + /// In-memory SGE job gauge. + /// + public unsafe class SGEGauge : JobGaugeBase + { + /// + /// Initializes a new instance of the class. + /// + /// Address of the job gauge. + internal SGEGauge(IntPtr address) + : base(address) + { + } + + /// + /// Gets the amount of milliseconds elapsed until the next Addersgall is available. + /// This counts from 0 to 20_000. + /// + public short AddersgallTimer => this.Struct->AddersgallTimer; + + /// + /// Gets the amount of Addersgall available. + /// + public byte Addersgall => this.Struct->Addersgall; + + /// + /// Gets the amount of Addersting available. + /// + public byte Addersting => this.Struct->Addersting; + + /// + /// Gets a value indicating whether Eukrasia is activated. + /// + public bool Eukrasia => this.Struct->Eukrasia == 1; + } +} diff --git a/lib/FFXIVClientStructs b/lib/FFXIVClientStructs index d578045be..b4b577fce 160000 --- a/lib/FFXIVClientStructs +++ b/lib/FFXIVClientStructs @@ -1 +1 @@ -Subproject commit d578045bea85822bdf7853d3182c5b28d6fffd1c +Subproject commit b4b577fce3710e03db6cf50724b1b3f39b60f368