diff --git a/XIVComboVX/Combos/DNC.cs b/XIVComboVX/Combos/DNC.cs index a0d4db41..4695cb0f 100644 --- a/XIVComboVX/Combos/DNC.cs +++ b/XIVComboVX/Combos/DNC.cs @@ -81,7 +81,8 @@ public const byte SaberDance = 76, // [sic] - should be Sabre but america Tillana = 82, FanDance4 = 86, - StarfallDance = 90; + StarfallDance = 90, + LastDance = 92; } } @@ -357,6 +358,19 @@ protected override uint Invoke(uint actionID, uint lastComboMove, float comboTim } } +internal class LastDanceFeature: DancerCombo { + public override CustomComboPreset Preset { get; } = CustomComboPreset.LastDanceFeature; + public override uint[] ActionIDs { get; } = [DNC.StandardStep]; + + protected override uint Invoke(uint actionID, uint lastComboMove, float comboTime, byte level) { + + if (level >= DNC.Levels.LastDance && SelfHasEffect(DNC.Buffs.LastDanceReady)) + return DNC.LastDance; + + return actionID; + } +} + internal class DancerDevilmentFeature: DancerCombo { public override CustomComboPreset Preset { get; } = CustomComboPreset.DancerDevilmentFeature; public override uint[] ActionIDs { get; } = [DNC.Devilment]; diff --git a/XIVComboVX/CustomComboPreset.cs b/XIVComboVX/CustomComboPreset.cs index 54ab504f..d831d7bb 100644 --- a/XIVComboVX/CustomComboPreset.cs +++ b/XIVComboVX/CustomComboPreset.cs @@ -284,6 +284,9 @@ public enum CustomComboPreset { [CustomComboInfo("Smart Dance", "Change your normal ST/AOE combos into the next dance steps (and then the finishers) while dancing.", DNC.JobID)] DancerSmartDanceFeature = 38014, + [CustomComboInfo("Last Dance Feature", "Change Standard Step into Last Dance when Last Dance Ready is active.", DNC.JobID)] + LastDanceFeature = 38026, + [CustomComboInfo("Devilment Feature", "Change Devilment into Starfall Dance after use.", DNC.JobID)] DancerDevilmentFeature = 38007,