Skip to content

Commit

Permalink
Merge pull request #555 from Akechi-kun/hmph
Browse files Browse the repository at this point in the history
[Utility: DNC] Shield Samba CDPlanner fix
  • Loading branch information
awgil authored Dec 10, 2024
2 parents f9d9868 + f29ae38 commit 6dc2b72
Showing 1 changed file with 14 additions and 3 deletions.
17 changes: 14 additions & 3 deletions BossMod/Autorotation/Utility/ClassDNCUtility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,23 @@ public sealed class ClassDNCUtility(RotationModuleManager manager, Actor player)
{
public enum Track { CuringWaltz = SharedTrack.Count, ShieldSamba, Improvisation }

public enum SambaOption { None, Use87, Use88 }

public static readonly ActionID IDLimitBreak3 = ActionID.MakeSpell(DNC.AID.CrimsonLotus);

public static RotationModuleDefinition Definition()
{
var res = new RotationModuleDefinition("Utility: DNC", "Cooldown Planner support for Utility Actions.\nNOTE: This is NOT a rotation preset! All Utility modules are STRICTLY for cooldown-planning usage.", "Utility for planner", "xan", RotationModuleQuality.Excellent, BitMask.Build((int)Class.DNC), 100);
DefineShared(res, IDLimitBreak3);

DefineSimpleConfig(res, Track.CuringWaltz, "CuringWaltz", "Waltz", 400, DNC.AID.CuringWaltz);
DefineSimpleConfig(res, Track.ShieldSamba, "ShieldSamba", "Samba", 500, DNC.AID.ShieldSamba, 15);
DefineSimpleConfig(res, Track.CuringWaltz, "CuringWaltz", "C.Waltz", 400, DNC.AID.CuringWaltz);

res.Define(Track.ShieldSamba).As<SambaOption>("Shield Samba", "S.Samba", 500)
.AddOption(SambaOption.None, "None", "Do not use automatically")
.AddOption(SambaOption.Use87, "Use", "Use Shield Samba", 120, 15, ActionTargets.Self, 56, 87)
.AddOption(SambaOption.Use88, "Use88", "Use Shield Samba", 90, 15, ActionTargets.Self, 88)
.AddAssociatedActions(DNC.AID.ShieldSamba);

DefineSimpleConfig(res, Track.Improvisation, "Improvisation", "Improv", 300, DNC.AID.Improvisation, 15);

return res;
Expand All @@ -22,7 +30,10 @@ public override void Execute(StrategyValues strategy, Actor? primaryTarget, floa
{
ExecuteShared(strategy, IDLimitBreak3, primaryTarget);
ExecuteSimple(strategy.Option(Track.CuringWaltz), DNC.AID.CuringWaltz, Player);
ExecuteSimple(strategy.Option(Track.ShieldSamba), DNC.AID.ShieldSamba, Player);
ExecuteSimple(strategy.Option(Track.Improvisation), DNC.AID.Improvisation, Player);

var samba = strategy.Option(Track.ShieldSamba);
if (samba.As<SambaOption>() != SambaOption.None)
Hints.ActionsToExecute.Push(ActionID.MakeSpell(DNC.AID.ShieldSamba), Player, samba.Priority(), samba.Value.ExpireIn);
}
}

0 comments on commit 6dc2b72

Please sign in to comment.