diff --git a/XIVComboExpanded/Combos/SAM.cs b/XIVComboExpanded/Combos/SAM.cs index 729ef5e41..4874c9c5e 100644 --- a/XIVComboExpanded/Combos/SAM.cs +++ b/XIVComboExpanded/Combos/SAM.cs @@ -303,6 +303,21 @@ protected override uint Invoke(uint actionID, uint lastComboMove, float comboTim return SAM.HissatsuGuren; } } + + if (IsEnabled(CustomComboPreset.SamuraiShintenIaijutsuFeature) && !IsOriginal(SAM.Iaijutsu)) + return OriginalHook(SAM.Iaijutsu); + + if (IsEnabled(CustomComboPreset.SamuraiShintenTsubameGaeshiFeature) && !IsOriginal(SAM.TsubameGaeshi)) + return OriginalHook(SAM.TsubameGaeshi); + + if (IsEnabled(CustomComboPreset.SamuraiShintenOgaNamikiriFeature)) + { + if (gauge.Kaeshi == Kaeshi.NAMIKIRI) + return SAM.KaeshiNamikiri; + + if (HasEffect(SAM.Buffs.OgiNamikiriReady)) + return SAM.OgiNamikiri; + } } return actionID; @@ -355,6 +370,21 @@ protected override uint Invoke(uint actionID, uint lastComboMove, float comboTim if (level >= SAM.Levels.HissatsuGuren && IsCooldownUsable(SAM.HissatsuGuren)) return SAM.HissatsuGuren; } + + if (IsEnabled(CustomComboPreset.SamuraiKyutenIaijutsuFeature) && !IsOriginal(SAM.Iaijutsu)) + return OriginalHook(SAM.Iaijutsu); + + if (IsEnabled(CustomComboPreset.SamuraiKyutenTsubameGaeshiFeature) && !IsOriginal(SAM.TsubameGaeshi)) + return OriginalHook(SAM.TsubameGaeshi); + + if (IsEnabled(CustomComboPreset.SamuraiKyutenOgaNamikiriFeature)) + { + if (gauge.Kaeshi == Kaeshi.NAMIKIRI) + return SAM.KaeshiNamikiri; + + if (HasEffect(SAM.Buffs.OgiNamikiriReady)) + return SAM.OgiNamikiri; + } } return actionID; diff --git a/XIVComboExpanded/CustomComboPreset.cs b/XIVComboExpanded/CustomComboPreset.cs index 0656e068f..91602ae22 100644 --- a/XIVComboExpanded/CustomComboPreset.cs +++ b/XIVComboExpanded/CustomComboPreset.cs @@ -1146,6 +1146,15 @@ public enum CustomComboPreset [CustomComboInfo("Shinten to Senei", "Replace Hissatsu: Shinten with Senei when available.", SAM.JobID)] SamuraiShintenSeneiFeature = 3414, + [CustomComboInfo("Shinten to Iaijutsu", "Replace Hissatsu: Shinten with Iaijutsu when available.", SAM.JobID)] + SamuraiShintenIaijutsuFeature = 3422, + + [CustomComboInfo("Shinten to Tsubame-gaeshi", "Replace Hissatsu: Shinten with Tsubame-gaeshi when available.", SAM.JobID)] + SamuraiShintenTsubameGaeshiFeature = 3423, + + [CustomComboInfo("Shinten to Oga Namikiri", "Replace Hissatsu: Shinten with Oga Namikiri when available.", SAM.JobID)] + SamuraiShintenOgaNamikiriFeature = 3424, + [CustomComboInfo("Senei to Guren Level Sync", "Replace Hissatsu: Senei with Guren when level synced below 72.", SAM.JobID)] SamuraiSeneiGurenFeature = 3418, @@ -1158,6 +1167,15 @@ public enum CustomComboPreset [CustomComboInfo("Kyuten to Guren", "Replace Hissatsu: Kyuten with Guren when available.", SAM.JobID)] SamuraiKyutenGurenFeature = 3415, + [CustomComboInfo("Shinten to Iaijutsu", "Replace Hissatsu: Shinten with Iaijutsu when available.", SAM.JobID)] + SamuraiKyutenIaijutsuFeature = 3425, + + [CustomComboInfo("Shinten to Tsubame-gaeshi", "Replace Hissatsu: Shinten with Tsubame-gaeshi when available.", SAM.JobID)] + SamuraiKyutenTsubameGaeshiFeature = 3426, + + [CustomComboInfo("Shinten to Oga Namikiri", "Replace Hissatsu: Shinten with Oga Namikiri when available.", SAM.JobID)] + SamuraiKyutenOgaNamikiriFeature = 3427, + [CustomComboInfo("Ikishoten Namikiri Feature", "Replace Ikishoten with Ogi Namikiri and then Kaeshi Namikiri when available.", SAM.JobID)] SamuraiIkishotenNamikiriFeature = 3411,