From db9a1bc00fb878efb3c89906e1d30a3df61f4ad1 Mon Sep 17 00:00:00 2001 From: Thomas Date: Tue, 17 Jan 2023 21:39:47 -0600 Subject: [PATCH 1/2] Summoner Ruin/Outburst Combos This PR adds a new combo option for Summoner. This will replace Ruin with the appropriate Topaz/Ruby/Emerald Ruin and will replace Outburst with the appropriate Topaz/Ruby/Emerald Outburst or Disaster, as appropriate for your level and current Avatar attunement. --- .../Configuration/CustomComboPreset.cs | 5 +- XIVComboPlugin/IconReplacer.cs | 66 +++++++++++++++++++ XIVComboPlugin/JobActions/SMN.cs | 24 ++++++- 3 files changed, 93 insertions(+), 2 deletions(-) diff --git a/XIVComboPlugin/Configuration/CustomComboPreset.cs b/XIVComboPlugin/Configuration/CustomComboPreset.cs index 52570eac3..2a8fcb94f 100644 --- a/XIVComboPlugin/Configuration/CustomComboPreset.cs +++ b/XIVComboPlugin/Configuration/CustomComboPreset.cs @@ -128,7 +128,10 @@ public enum CustomComboPreset : long [CustomComboInfo("ES Painflare", "Change Painflare into Energy Syphon when out of Aetherflow stacks", 27)] SummonerESPainflareCombo = 1L << 40, - + + [CustomComboInfo("Ruin/Outburst", "Change Ruin/Outburst into Topaz/Emerald/Ruby Ruin/Outburst while attuned", 27)] + SummonerRuinOutburstCombo = 1L << 41, + // SCHOLAR [CustomComboInfo("Seraph Fey Blessing/Consolation", "Change Fey Blessing into Consolation when Seraph is out", 28)] ScholarSeraphConsolationFeature = 1L << 29, diff --git a/XIVComboPlugin/IconReplacer.cs b/XIVComboPlugin/IconReplacer.cs index 618a052e4..c9e2d22a8 100644 --- a/XIVComboPlugin/IconReplacer.cs +++ b/XIVComboPlugin/IconReplacer.cs @@ -632,6 +632,72 @@ private ulong GetIconDetour(byte self, uint actionID) return SMN.Painflare; } + // Change Ruin/Outburst into Topaz/Emerald/Ruby Ruin/Outburst + if (Configuration.ComboPresets.HasFlag(CustomComboPreset.SummonerRuinOutburstCombo)) + { + if (actionID == SMN.Ruin1) + { + if (XIVComboPlugin.JobGauges.Get().IsTitanAttuned) + switch (level) + { + case >= 72: + return SMN.TopazRite; + case >= 54: + return SMN.TopazRuin3; + case >= 30: + return SMN.TopazRuin2; + default: + return SMN.TopazRuin; + } + if (XIVComboPlugin.JobGauges.Get().IsGarudaAttuned) + switch (level) + { + case >= 72: + return SMN.EmeraldRite; + case >= 54: + return SMN.EmeraldRuin3; + case >= 30: + return SMN.EmeraldRuin2; + default: + return SMN.EmeraldRuin; + } + if (XIVComboPlugin.JobGauges.Get().IsIfritAttuned) + switch (level) + { + case >= 72: + return SMN.RubyRite; + case >= 54: + return SMN.RubyRuin3; + case >= 30: + return SMN.RubyRuin2; + default: + return SMN.RubyRuin; + } + } + if (actionID == SMN.Outburst) + { + switch (level) + { + case >= 74: + if (XIVComboPlugin.JobGauges.Get().IsTitanAttuned) + return SMN.TopazDisaster; + if (XIVComboPlugin.JobGauges.Get().IsGarudaAttuned) + return SMN.EmeraldDisaster; + if (XIVComboPlugin.JobGauges.Get().IsIfritAttuned) + return SMN.RubyDisaster; + break; + default: + if (XIVComboPlugin.JobGauges.Get().IsTitanAttuned) + return SMN.TopazOutburst; + if (XIVComboPlugin.JobGauges.Get().IsGarudaAttuned) + return SMN.EmeraldOutburst; + if (XIVComboPlugin.JobGauges.Get().IsIfritAttuned) + return SMN.RubyOutburst; + break; + } + } + } + // SCHOLAR // Change Fey Blessing into Consolation when Seraph is out. diff --git a/XIVComboPlugin/JobActions/SMN.cs b/XIVComboPlugin/JobActions/SMN.cs index 5018101e1..b59c71654 100644 --- a/XIVComboPlugin/JobActions/SMN.cs +++ b/XIVComboPlugin/JobActions/SMN.cs @@ -17,6 +17,28 @@ public const uint Fester = 181, EnergyDrain = 16508, Painflare = 3578, - EnergySyphon = 16510; + EnergySyphon = 16510, + Gemshine = 25883, + RubyRuin = 25808, + RubyRuin2 = 25811, + RubyRuin3 = 25817, + TopazRuin = 25809, + TopazRuin2 = 25812, + TopazRuin3 = 25818, + EmeraldRuin = 25810, + EmeraldRuin2 = 25813, + EmeraldRuin3 = 25819, + RubyRite = 25823, + TopazRite = 25824, + EmeraldRite = 25825, + Outburst = 16511, + RubyOutburst = 25814, + TopazOutburst = 25815, + EmeraldOutburst = 25816, + AstralImpulse = 25820, + TriDisaster = 25826, + RubyDisaster = 25827, + TopazDisaster = 25828, + EmeraldDisaster = 25829; } } From 674d337f1e0e5a288f77da7aad704938ae6c8906 Mon Sep 17 00:00:00 2001 From: Thomas Date: Tue, 17 Jan 2023 22:29:04 -0600 Subject: [PATCH 2/2] Added "Catastrophe" Spells Forgot to add "Catastrophe" Spells starting at level 82. --- XIVComboPlugin/IconReplacer.cs | 8 ++++++++ XIVComboPlugin/JobActions/SMN.cs | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/XIVComboPlugin/IconReplacer.cs b/XIVComboPlugin/IconReplacer.cs index c9e2d22a8..bcb941b57 100644 --- a/XIVComboPlugin/IconReplacer.cs +++ b/XIVComboPlugin/IconReplacer.cs @@ -678,6 +678,14 @@ private ulong GetIconDetour(byte self, uint actionID) { switch (level) { + case >= 82: + if (XIVComboPlugin.JobGauges.Get().IsTitanAttuned) + return SMN.TopazCatastrophe; + if (XIVComboPlugin.JobGauges.Get().IsGarudaAttuned) + return SMN.EmeraldCatastrophe; + if (XIVComboPlugin.JobGauges.Get().IsIfritAttuned) + return SMN.RubyCatastrophe; + break; case >= 74: if (XIVComboPlugin.JobGauges.Get().IsTitanAttuned) return SMN.TopazDisaster; diff --git a/XIVComboPlugin/JobActions/SMN.cs b/XIVComboPlugin/JobActions/SMN.cs index b59c71654..1bf12579e 100644 --- a/XIVComboPlugin/JobActions/SMN.cs +++ b/XIVComboPlugin/JobActions/SMN.cs @@ -39,6 +39,9 @@ public const uint TriDisaster = 25826, RubyDisaster = 25827, TopazDisaster = 25828, - EmeraldDisaster = 25829; + EmeraldDisaster = 25829, + RubyCatastrophe = 25832, + TopazCatastrophe = 25833, + EmeraldCatastrophe = 25834; } }