From 6723fa57f41d0cb004ba953e62503c396e6e5e3e Mon Sep 17 00:00:00 2001 From: SonicZeHedgehog Date: Fri, 12 Jul 2024 18:54:59 -0500 Subject: [PATCH] Update SamuraiRotation.cs Added new skills for Samurai. Tengetsu doesn't work at the moment and I have workaround for the missing Dalamud job gauge enums. --- .../Rotations/Basic/SamuraiRotation.cs | 53 ++++++++++++++++++- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/RotationSolver.Basic/Rotations/Basic/SamuraiRotation.cs b/RotationSolver.Basic/Rotations/Basic/SamuraiRotation.cs index 4e34be383..82bc940a7 100644 --- a/RotationSolver.Basic/Rotations/Basic/SamuraiRotation.cs +++ b/RotationSolver.Basic/Rotations/Basic/SamuraiRotation.cs @@ -67,12 +67,59 @@ static partial void ModifyShohaPvE(ref ActionSetting setting) // { // setting.ActionCheck = () => MeditationStacks == 3; // } - + + static partial void ModifyThirdEyePvE(ref ActionSetting setting) + { + setting.ComboIds = [ActionID.TengetsuPvE]; + } + + static partial void ModifyJinpuPvE(ref ActionSetting setting) + { + setting.ComboIds = [ActionID.HakazePvE, ActionID.GyofuPvE]; + } + + static partial void ModifyShifuPvE(ref ActionSetting setting) + { + setting.ComboIds = [ActionID.HakazePvE, ActionID.GyofuPvE]; + } + + static partial void ModifyYukikazePvE(ref ActionSetting setting) + { + setting.ComboIds = [ActionID.HakazePvE, ActionID.GyofuPvE]; + } + + static partial void ModifyTendoSetsugekkaPvE(ref ActionSetting setting) + { + setting.StatusNeed = [StatusID.Tendo]; + } + + static partial void ModifyTendoKaeshiSetsugekkaPvE(ref ActionSetting setting) + { + setting.ActionCheck = () => (byte)Kaeshi == 6; // Temporary until Dalamud enums are updated + } + + static partial void ModifyTendoKaeshiGokenPvE(ref ActionSetting setting) + { + setting.ActionCheck = () => (byte)Kaeshi == 5; // Temporary until Dalamud enums are updated + } + + static partial void ModifyTendoGokenPvE(ref ActionSetting setting) + { + setting.StatusNeed = [StatusID.Tendo]; + setting.IsFriendly = false; + } + static partial void ModifyMangetsuPvE(ref ActionSetting setting) { setting.ComboIds = [ActionID.FugaPvE, ActionID.FukoPvE]; } - + + static partial void ModifyZanshinPvE(ref ActionSetting setting) + { + setting.StatusNeed = [StatusID.ZanshinReady]; + setting.ActionCheck = () => Kenki >= 50; + } + static partial void ModifyOkaPvE(ref ActionSetting setting) { setting.ComboIds = [ActionID.FugaPvE, ActionID.FukoPvE]; @@ -138,6 +185,7 @@ static partial void ModifyHagakurePvE(ref ActionSetting setting) static partial void ModifyIkishotenPvE(ref ActionSetting setting) { setting.StatusProvide = [StatusID.OgiNamikiriReady]; + setting.StatusProvide = [StatusID.ZanshinReady]; setting.ActionCheck = () => InCombat; } @@ -198,6 +246,7 @@ protected sealed override bool DefenseAreaAbility(IAction nextGCD, out IAction? [RotationDesc(ActionID.ThirdEyePvE)] protected override bool DefenseSingleAbility(IAction nextGCD, out IAction? act) { + if (TengetsuPvE.CanUse(out act)) return true; if (ThirdEyePvE.CanUse(out act)) return true; return base.DefenseSingleAbility(nextGCD, out act); }