From 611e1b56c574437ceefc52b6d22ae2dfdd87ec02 Mon Sep 17 00:00:00 2001 From: xanunderscore <149614526+xanunderscore@users.noreply.github.com> Date: Thu, 6 Feb 2025 18:40:53 -0500 Subject: [PATCH] pld wings direction override --- BossMod/ActionQueue/Tanks/PLD.cs | 8 ++++++++ BossMod/ActionTweaks/ClassActions/PLDConfig.cs | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/BossMod/ActionQueue/Tanks/PLD.cs b/BossMod/ActionQueue/Tanks/PLD.cs index f2961df589..287fee4029 100644 --- a/BossMod/ActionQueue/Tanks/PLD.cs +++ b/BossMod/ActionQueue/Tanks/PLD.cs @@ -151,6 +151,14 @@ public void Dispose() { } private void Customize(ActionDefinitions d) { + d.Spell(AID.PassageOfArms)!.TransformAngle = (ws, player, _, _) => _config.Wings switch + { + PLDConfig.WingsBehavior.CharacterForward => player.Rotation + 180.Degrees(), + PLDConfig.WingsBehavior.CameraBackward => ws.Client.CameraAzimuth + 180.Degrees(), + PLDConfig.WingsBehavior.CameraForward => ws.Client.CameraAzimuth, + _ => null + }; + d.Spell(AID.Intervention)!.SmartTarget = ActionDefinitions.SmartTargetCoTank; d.Spell(AID.HolySpirit)!.ForbidExecute = (ws, player, _, _) => _config.ForbidEarlyHolySpirit && !player.InCombat && ws.Client.CountdownRemaining > 1.75f; d.Spell(AID.ShieldLob)!.ForbidExecute = (ws, player, _, _) => _config.ForbidEarlyShieldLob && !player.InCombat && ws.Client.CountdownRemaining > 0.7f; diff --git a/BossMod/ActionTweaks/ClassActions/PLDConfig.cs b/BossMod/ActionTweaks/ClassActions/PLDConfig.cs index 4f6300b8a0..57e0dc75e7 100644 --- a/BossMod/ActionTweaks/ClassActions/PLDConfig.cs +++ b/BossMod/ActionTweaks/ClassActions/PLDConfig.cs @@ -8,4 +8,22 @@ class PLDConfig : ConfigNode [PropertyDisplay("Prevent use of 'Shield Lob' too early when in pre-pull (if Holy Spirit is not unlocked)")] public bool ForbidEarlyShieldLob = true; + + public enum WingsBehavior : uint + { + [PropertyDisplay("Game default (character-relative, backwards)")] + Default = 0, + + [PropertyDisplay("Character-relative, forwards")] + CharacterForward = 1, + + [PropertyDisplay("Camera-relative, backwards")] + CameraBackward = 2, + + [PropertyDisplay("Camera-relative, forwards")] + CameraForward = 3, + } + + [PropertyDisplay("Passage of Arms direction")] + public WingsBehavior Wings = WingsBehavior.Default; }