diff --git a/XIVComboVX/Combos/PCT.cs b/XIVComboVX/Combos/PCT.cs index 9ba98016..cab839f1 100644 --- a/XIVComboVX/Combos/PCT.cs +++ b/XIVComboVX/Combos/PCT.cs @@ -4,6 +4,7 @@ using System.Text; using System.Threading.Tasks; +using Dalamud.Game; using Dalamud.Game.ClientState.JobGauge.Types; namespace PrincessRTFM.XIVComboVX.Combos; @@ -23,7 +24,7 @@ public const uint ExtraBlizzardCyan = 34659, ExtraEarthYellow = 34660, ExtraThunderMagenta = 34661, - MiracleWhite = 34662, + HolyWhite = 34662, CometBlack = 34663, PomMotif = 34664, WingMotif = 34665, @@ -42,8 +43,7 @@ public const uint HammerStamp = 34678, HammerBrush = 34679, PolishingHammer = 34680, - StarPrism1 = 34681, - StarPrism2 = 34682, + StarPrism = 34681, SubtractivePalette = 34683, Smudge = 34684, TemperaCoat = 34685, @@ -105,7 +105,7 @@ public const byte ExtraThunderMagenta = 60, StarrySkyMotif = 70, LandscapeMotif = 70, - MiracleWhite = 80, + HolyWhite = 80, HammerBrush = 86, PolishingHammer = 86, TemperaGrassa = 88, @@ -117,8 +117,7 @@ public const byte FangedMuse = 96, StarryMuse = 70, Retribution = 96, - StarPrism1 = 100, - StarPrism2 = 100; + StarPrism = 100; } @@ -163,17 +162,51 @@ internal class PictomancerHammerCombo: CustomCombo { protected override uint Invoke(uint actionID, uint lastComboActionId, float comboTime, byte level) { PCTGauge gauge = GetJobGauge(); - if (IsEnabled(CustomComboPreset.PictomancerWeaponMotifCombo)) { - if (IsEnabled(CustomComboPreset.PictomancerHammerCombo) && SelfHasEffect(PCT.Buffs.HammerReady)) + if (IsEnabled(CustomComboPreset.PictomancerWeaponMotifCombo)) { + if (IsEnabled(CustomComboPreset.PictomancerHammerCombo) && SelfHasEffect(PCT.Buffs.HammerReady)) return OriginalHook(PCT.HammerStamp); if (gauge.WeaponMotifDrawn) return OriginalHook(PCT.SteelMuse); - - } + + } return OriginalHook(PCT.WeaponMotif); + } + + +internal class PictomancerScenicCombo: CustomCombo { + public override CustomComboPreset Preset { get; } = CustomComboPreset.PictomancerScenicCombo; + public override uint[] ActionIDs { get; } = [PCT.ScenicMuse]; + protected override uint Invoke(uint actionID, uint lastComboActionId, float comboTime, byte level) { + + PCTGauge gauge = GetJobGauge(); + if (IsEnabled(CustomComboPreset.PictomancerScenicCombo)) { + if (IsEnabled(CustomComboPreset.PictomancerStarPrismCombo) && (SelfHasEffect(PCT.Buffs.StarPrismReady) && (level == 100))) + return PCT.StarPrism; + if (gauge.LandscapeMotifDrawn) + return PCT.ScenicMuse; + } + return PCT.StarrySkyMotif; } } +} +/* +internal class PictomancerCreatureCombo: CustomCombo { + public override CustomComboPreset Preset { get; } = CustomComboPreset.PictomancerAOEComboFeature +} +*/ +internal class PictoimancerHolyCometCombo : CustomCombo { + public override CustomComboPreset Preset { get; } = CustomComboPreset.PictomancerHolyCometCombo; + public override uint[] ActionIDs { get; } = [PCT.HolyWhite]; + protected override uint Invoke(uint actionID, uint lastComboActionId, float comboTime, byte level) { + + PCTGauge gauge = GetJobGauge(); + if (SelfHasEffect(PCT.Buffs.SubtractivePaletteStack) && level >= PCT.Levels.CometBlack && SelfHasEffect(PCT.Buffs.InvertedColors)) { + return PCT.CometBlack; + } + return actionID; + } +} diff --git a/XIVComboVX/CustomComboPreset.cs b/XIVComboVX/CustomComboPreset.cs index a40e535b..85f33eaf 100644 --- a/XIVComboVX/CustomComboPreset.cs +++ b/XIVComboVX/CustomComboPreset.cs @@ -816,6 +816,19 @@ public enum CustomComboPreset { [CustomComboInfo("Hammer Combo", "When under the effects of Hammer Ready, also replace Weapon Motif/Muse combo with the hammer combo", PCT.JobID )] PictomancerHammerCombo = 4204, + [CustomComboInfo("Scenic Muse Combo", "Changes Scenic Muse into Scenic Motif when not drawn already.", PCT.JobID)] + PictomancerScenicCombo = 4205, + + [ParentPreset(PictomancerScenicCombo)] + [CustomComboInfo("Star Prism Combo", "When Star Prism is ready, will replace Scenic Muse with Star Prism", PCT.JobID)] + PictomancerStarPrismCombo = 4206, + + [CustomComboInfo("Holy Comet Combo", "When using Subtractive Palette at level 90+, turns Holy In White into Comet In Black", PCT.JobID)] + PictomancerHolyCometCombo = 4207, + + //[CustomComboInfo("Creature Motif/Muse Combo", "Changes Living Muse into Creature Motif when nothing is currently drawn")] + + #endregion // ==================================================================================== #region RED MAGE (35xx)