From 88dabab27518069439145376dd94ea1e32a8caab Mon Sep 17 00:00:00 2001 From: Khayle Date: Tue, 31 Dec 2024 19:41:34 +0100 Subject: [PATCH] v2.0.1.4 : Fix SGE, add PLD feat "Fixed SGE's Eukrasian Prognosis feature.", "Added PLD's Shield Lob to Holy Spirit feature.", "Sorry New Year!" --- XIVComboExpanded/Combos/PLD.cs | 16 +++++++ XIVComboExpanded/Combos/SGE.cs | 40 ++++++++--------- XIVComboExpanded/CustomComboPreset.cs | 56 +++++++++++++----------- XIVComboExpanded/Interface/Changelog.cs | 8 ++++ XIVComboExpanded/XIVComboExpanded.csproj | 2 +- 5 files changed, 76 insertions(+), 46 deletions(-) diff --git a/XIVComboExpanded/Combos/PLD.cs b/XIVComboExpanded/Combos/PLD.cs index a5e84eb8..0dd358ee 100644 --- a/XIVComboExpanded/Combos/PLD.cs +++ b/XIVComboExpanded/Combos/PLD.cs @@ -375,6 +375,22 @@ protected override uint Invoke(uint actionID, uint lastComboMove, float comboTim } } +internal class PaladinShieldLobHolySpirit : PaladinCombo +{ + protected internal override CustomComboPreset Preset { get; } = CustomComboPreset.PaladinShieldLobDivineMightFeature; + + protected override uint Invoke(uint actionID, uint lastComboMove, float comboTime, byte level) + { + if (actionID == PLD.ShieldLob + && level >= PLD.Levels.HolySpirit + && this.HasMp(PLD.HolySpirit) + && HasEffect(PLD.Buffs.DivineMight)) + return PLD.HolySpirit; + + return actionID; + } +} + internal class PaladinRequiescat : PaladinCombo { protected internal override CustomComboPreset Preset { get; } = CustomComboPreset.PldAny; diff --git a/XIVComboExpanded/Combos/SGE.cs b/XIVComboExpanded/Combos/SGE.cs index c0d142ff..8370f0e0 100644 --- a/XIVComboExpanded/Combos/SGE.cs +++ b/XIVComboExpanded/Combos/SGE.cs @@ -226,26 +226,26 @@ protected override uint Invoke(uint actionID, uint lastComboMove, float comboTim { if(HasEffect(SGE.Buffs.Eukrasia)) { - if (IsEnabled(CustomComboPreset.SageEukrasianDosisFeature)) - { - return OriginalHook(SGE.EukrasianDosis); - } - - if (IsEnabled(CustomComboPreset.SageEukrasianDiagnosisFeature)) - { - return OriginalHook(SGE.EukrasianDiagnosis); - } - if (IsEnabled(CustomComboPreset.SageEukrasianPrognosisFeature)) - { - return OriginalHook(SGE.EukrasianPrognosis); - } - - if (IsEnabled(CustomComboPreset.SageEukrasianDyskrasiaFeature)) - { - if (level >= SGE.Levels.Dyskrasia) - return OriginalHook(SGE.EukrasianDyskrasia); - } - } + if (IsEnabled(CustomComboPreset.SageEukrasianDosisFeature)) + { + return OriginalHook(SGE.Dosis); + } + + if (IsEnabled(CustomComboPreset.SageEukrasianDiagnosisFeature)) + { + return OriginalHook(SGE.Diagnosis); + } + if (IsEnabled(CustomComboPreset.SageEukrasianPrognosisFeature)) + { + return OriginalHook(SGE.Prognosis); + } + + if (IsEnabled(CustomComboPreset.SageEukrasianDyskrasiaFeature)) + { + if (level >= SGE.Levels.Dyskrasia) + return OriginalHook(SGE.Dyskrasia); + } + } } diff --git a/XIVComboExpanded/CustomComboPreset.cs b/XIVComboExpanded/CustomComboPreset.cs index f374ee27..7280d326 100644 --- a/XIVComboExpanded/CustomComboPreset.cs +++ b/XIVComboExpanded/CustomComboPreset.cs @@ -1400,6 +1400,12 @@ public enum CustomComboPreset [CustomComboInfo("Royal Authority Divine Might Feature", "Replace Royal Authority with Holy Spirit when Divine Might is active.", PLD.JobID)] PaladinRoyalAuthorityDivineMightFeature = 1912, + [IconsCombo([PLD.ShieldLob, UTL.ArrowLeft, PLD.HolySpirit, UTL.Blank, PLD.Buffs.DivineMight, UTL.Checkmark])] + [SectionCombo("Single Target")] + [AccessibilityCustomCombo] + [CustomComboInfo("Shield Lob to Holy Spirit", "Replace Shield Lob with Holy Spirit when Divine Might is active and you can use it.", PLD.JobID)] + PaladinShieldLobDivineMightFeature = 1925, + [IconsCombo([PLD.Prominence, UTL.ArrowLeft, PLD.TotalEclipse])] [SectionCombo("Area of Effect")] [CustomComboInfo("Prominence Combo", "Replace Prominence with its combo chain.", PLD.JobID)] @@ -2034,31 +2040,31 @@ public enum CustomComboPreset [CustomComboInfo("Soteria Kardia Feature", "Replace Soteria with Kardia when off cooldown and missing Kardion.", SGE.JobID)] SageSoteriaKardionFeature = 4006, - [IconsCombo([SGE.Eukrasia, UTL.ArrowLeft, SGE.Dosis, UTL.Blank, SGE.Buffs.Eukrasia, UTL.Checkmark])] - [SectionCombo("Eukrasia")] - [AccessibilityCustomCombo] - [CustomComboInfo("Eukrasian Dosis", "Replace Eukrasia with Dosis when Eukrasia is active. Conflicts with the other Eukrasian options.", SGE.JobID)] - SageEukrasianDosisFeature = 4020, - - [IconsCombo([SGE.Eukrasia, UTL.ArrowLeft, SGE.Diagnosis, UTL.Blank, SGE.Buffs.Eukrasia, UTL.Checkmark])] - [SectionCombo("Eukrasia")] - [AccessibilityCustomCombo] - [CustomComboInfo("Eukrasian Diagnosis", "Replace Eukrasia with Diagnosis when Eukrasia is active. Conflicts with the other Eukrasian options.", SGE.JobID)] - SageEukrasianDiagnosisFeature = 4017, - - [IconsCombo([SGE.Eukrasia, UTL.ArrowLeft, SGE.Prognosis, UTL.Blank, SGE.Buffs.Eukrasia, UTL.Checkmark])] - [SectionCombo("Eukrasia")] - [AccessibilityCustomCombo] - [CustomComboInfo("Eukrasian Prognosis", "Replace Eukrasia with Prognosis when Eukrasia is active. Conflicts with the other Eukrasian options.", SGE.JobID)] - SageEukrasianPrognosisFeature = 4018, - - [IconsCombo([SGE.Eukrasia, UTL.ArrowLeft, SGE.Dyskrasia, UTL.Blank, SGE.Buffs.Eukrasia, UTL.Checkmark])] - [SectionCombo("Eukrasia")] - [AccessibilityCustomCombo] - [CustomComboInfo("Eukrasian Dyskrasia", "Replace Eukrasia with Dyskrasia when Eukrasia is active. Conflicts with the other Eukrasian options.", SGE.JobID)] - SageEukrasianDyskrasiaFeature = 4019, - - [IconsCombo([SGE.Druochole, UTL.ArrowLeft, SGE.Taurochole, UTL.Blank, SGE.Druochole, UTL.Checkmark])] + [IconsCombo([SGE.Eukrasia, UTL.ArrowLeft, SGE.Dosis, UTL.Blank, SGE.Buffs.Eukrasia, UTL.Checkmark])] + [SectionCombo("Eukrasia")] + [AccessibilityCustomCombo] + [CustomComboInfo("Eukrasian Dosis", "Replace Eukrasia with Dosis when Eukrasia is active. Conflicts with the other Eukrasian options.", SGE.JobID)] + SageEukrasianDosisFeature = 4020, + + [IconsCombo([SGE.Eukrasia, UTL.ArrowLeft, SGE.Diagnosis, UTL.Blank, SGE.Buffs.Eukrasia, UTL.Checkmark])] + [SectionCombo("Eukrasia")] + [AccessibilityCustomCombo] + [CustomComboInfo("Eukrasian Diagnosis", "Replace Eukrasia with Diagnosis when Eukrasia is active. Conflicts with the other Eukrasian options.", SGE.JobID)] + SageEukrasianDiagnosisFeature = 4017, + + [IconsCombo([SGE.Eukrasia, UTL.ArrowLeft, SGE.Prognosis, UTL.Blank, SGE.Buffs.Eukrasia, UTL.Checkmark])] + [SectionCombo("Eukrasia")] + [AccessibilityCustomCombo] + [CustomComboInfo("Eukrasian Prognosis", "Replace Eukrasia with Prognosis when Eukrasia is active. Conflicts with the other Eukrasian options.", SGE.JobID)] + SageEukrasianPrognosisFeature = 4018, + + [IconsCombo([SGE.Eukrasia, UTL.ArrowLeft, SGE.Dyskrasia, UTL.Blank, SGE.Buffs.Eukrasia, UTL.Checkmark])] + [SectionCombo("Eukrasia")] + [AccessibilityCustomCombo] + [CustomComboInfo("Eukrasian Dyskrasia", "Replace Eukrasia with Dyskrasia when Eukrasia is active. Conflicts with the other Eukrasian options.", SGE.JobID)] + SageEukrasianDyskrasiaFeature = 4019, + + [IconsCombo([SGE.Druochole, UTL.ArrowLeft, SGE.Taurochole, UTL.Blank, SGE.Druochole, UTL.Checkmark])] [SectionCombo("Addersgall")] [ExpandedCustomCombo] [CustomComboInfo("Druochole into Taurochole Feature", "Replace Druochole with Taurochole when off cooldown.\nWarning: This will limit your abiility to use Druochole.", SGE.JobID)] diff --git a/XIVComboExpanded/Interface/Changelog.cs b/XIVComboExpanded/Interface/Changelog.cs index 728c86f8..d536d42c 100644 --- a/XIVComboExpanded/Interface/Changelog.cs +++ b/XIVComboExpanded/Interface/Changelog.cs @@ -12,6 +12,14 @@ public static Dictionary GetChangelog() { return new Dictionary() { + { + "v2.0.1.4", + [ + "Fixed SGE's Eukrasian Prognosis feature.", + "Added PLD's Shield Lob to Holy Spirit feature.", + "Sorry New Year!" + ] + }, { "v2.0.1.3", [ diff --git a/XIVComboExpanded/XIVComboExpanded.csproj b/XIVComboExpanded/XIVComboExpanded.csproj index 471dc2d5..70cc95da 100644 --- a/XIVComboExpanded/XIVComboExpanded.csproj +++ b/XIVComboExpanded/XIVComboExpanded.csproj @@ -3,7 +3,7 @@ attick, daemitus, Khayle - - 2.0.1.3 + 2.0.1.4 This plugin condenses combos and mutually exclusive abilities onto a single button. Copyleft attick 2020 baybeeee https://github.com/daemitus/XIVComboPlugin