Skip to content
This repository has been archived by the owner on Aug 28, 2024. It is now read-only.

Commit

Permalink
fix: Added PvP ActionID
Browse files Browse the repository at this point in the history
Added BLM,MNK,WAR,WHM ActionID for PvP
  • Loading branch information
IncognitoWater committed Nov 12, 2023
1 parent 9c7c3ee commit 7978be1
Show file tree
Hide file tree
Showing 4 changed files with 332 additions and 4 deletions.
103 changes: 102 additions & 1 deletion RotationSolver.Basic/Rotations/Basic/BLM_Base.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using ECommons.DalamudServices;
using Dalamud.Game.ClientState.Objects.SubKinds;
using ECommons.DalamudServices;
using ECommons.ExcelServices;
using RotationSolver.Basic.Traits;

Expand Down Expand Up @@ -488,6 +489,106 @@ public override bool CanUse(out IAction act, CanUseOption option = CanUseOption.
/// </summary>
public static IBaseTrait EnhancedEnochian3 { get; } = new BaseTrait(509);

#endregion

#region PvP

/// <summary>
///
/// </summary>
public static IBaseAction PvP_Fire { get; } = new BaseAction(ActionID.PvP_Fire);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Blizzard { get; } = new BaseAction(ActionID.PvP_Blizzard);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Burst { get; } = new BaseAction(ActionID.PvP_Burst,ActionOption.Defense);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Paradox { get; } = new BaseAction(ActionID.PvP_Paradox);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Nightwing { get; } = new BaseAction(ActionID.PvP_Nightwing);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_AetherialManipulation { get; } = new BaseAction(ActionID.PvP_AetherialManipulation);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Superflare { get; } = new BaseAction(ActionID.PvP_Superflare);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Fire4 { get; } = new BaseAction(ActionID.PvP_Fire4,ActionOption.Buff)
{
StatusNeed = new StatusID[] { StatusID.PvP_AstralFire2 },
};


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Flare { get; } = new BaseAction(ActionID.PvP_Flare)
{
StatusNeed = new StatusID[] { StatusID.PvP_AstralFire3 },
};


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Blizzard4 { get; } = new BaseAction(ActionID.PvP_Blizzard4,ActionOption.Buff)
{
StatusNeed = new StatusID[] { StatusID.PvP_UmbralIce2 },
};


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Freeze { get; } = new BaseAction(ActionID.PvP_Freeze)
{
StatusNeed = new StatusID[] { StatusID.PvP_UmbralIce3 },
};


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Foul { get; } = new BaseAction(ActionID.PvP_Foul)
{
StatusNeed = new StatusID[] { StatusID.PvP_Polyglot },
};


/// <summary>
///
/// </summary>
public static IBaseAction PvP_SoulResonance { get; } = new BaseAction(ActionID.PvP_SoulResonance)
{
FilterForHostiles = tars => tars.Where(t => t is PlayerCharacter),
ActionCheck = (t, m) => LimitBreakLevel >= 1,
};

#endregion

private protected override IBaseAction LimitBreak => Meteor;
Expand Down
96 changes: 95 additions & 1 deletion RotationSolver.Basic/Rotations/Basic/MNK_Base.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using ECommons.DalamudServices;
using Dalamud.Game.ClientState.Objects.SubKinds;
using ECommons.DalamudServices;
using ECommons.ExcelServices;
using RotationSolver.Basic.Traits;

Expand Down Expand Up @@ -284,6 +285,99 @@ public abstract class MNK_Base : CustomRotation
/// </summary>
public static IBaseTrait MeleeMastery { get; } = new BaseTrait(518);
#endregion

#region PvP

/// <summary>
///
/// </summary>
public static IBaseAction PvP_Phantomrushcombo { get; } = new BaseAction(ActionID.PvP_Phantomrushcombo);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Bootshine { get; } = new BaseAction(ActionID.PvP_Bootshine);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Truestrike { get; } = new BaseAction(ActionID.PvP_Truestrike);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Snappunch { get; } = new BaseAction(ActionID.PvP_Snappunch);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Dragonkick { get; } = new BaseAction(ActionID.PvP_Dragonkick);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Twinsnakes { get; } = new BaseAction(ActionID.PvP_Twinsnakes);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Demolish { get; } = new BaseAction(ActionID.PvP_Demolish);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Phantomrush { get; } = new BaseAction(ActionID.PvP_Phantomrush);

/// <summary>
///
/// </summary>
public static IBaseAction PvP_Sixsidedstar { get; } = new BaseAction(ActionID.PvP_Sixsidedstar);

/// <summary>
///
/// </summary>
public static IBaseAction PvP_Enlightenment { get; } = new BaseAction(ActionID.PvP_Enlightenment);

/// <summary>
///
/// </summary>
public static IBaseAction PvP_Risingphoenix { get; } = new BaseAction(ActionID.PvP_Risingphoenix,ActionOption.Buff);

/// <summary>
///
/// </summary>
public static IBaseAction PvP_Riddleofearth { get; } = new BaseAction(ActionID.PvP_Riddleofearth,ActionOption.Buff);

/// <summary>
///
/// </summary>
public static IBaseAction PvP_Thunderclap { get; } = new BaseAction(ActionID.PvP_Thunderclap);

/// <summary>
///
/// </summary>
public static IBaseAction PvP_Earthsreply { get; } = new BaseAction(ActionID.PvP_Earthsreply,ActionOption.Buff)
{
StatusNeed = new StatusID[] { StatusID.PvP_EarthResonance },
};

/// <summary>
///
/// </summary>
public static IBaseAction PvP_Meteodrive { get; } = new BaseAction(ActionID.PvP_Meteodrive)
{
FilterForHostiles = tars => tars.Where(t => t is PlayerCharacter),
ActionCheck = (t, m) => LimitBreakLevel >= 1,
};

#endregion

/// <summary>
///
Expand Down
83 changes: 82 additions & 1 deletion RotationSolver.Basic/Rotations/Basic/WAR_Base.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using ECommons.DalamudServices;
using Dalamud.Game.ClientState.Objects.SubKinds;
using ECommons.DalamudServices;
using ECommons.ExcelServices;
using RotationSolver.Basic.Traits;

Expand Down Expand Up @@ -279,6 +280,86 @@ public abstract class WAR_Base : CustomRotation
///
/// </summary>
public static IBaseTrait MeleeMastery { get; } = new BaseTrait(505);
#endregion

#region PvP

/// <summary>
///
/// </summary>
public static IBaseAction PvP_HeavySwing { get; } = new BaseAction(ActionID.PvP_HeavySwing);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Maim { get; } = new BaseAction(ActionID.PvP_Maim);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_StormsPath { get; } = new BaseAction(ActionID.PvP_StormsPath);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_PrimalRend { get; } = new BaseAction(ActionID.PvP_PrimalRend);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Onslaught { get; } = new BaseAction(ActionID.PvP_Onslaught);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Orogeny { get; } = new BaseAction(ActionID.PvP_Orogeny,ActionOption.Buff);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Blota { get; } = new BaseAction(ActionID.PvP_Blota);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_Bloodwhetting { get; } = new BaseAction(ActionID.PvP_Bloodwhetting,ActionOption.Buff);


/// <summary>
///
/// </summary>
public static IBaseAction PvP_FellCleave { get; } = new BaseAction(ActionID.PvP_FellCleave)
{
StatusNeed = new StatusID[] { StatusID.PvP_InnerRelease },
};


/// <summary>
///
/// </summary>
public static IBaseAction PvP_ChaoticCyclone { get; } = new BaseAction(ActionID.PvP_ChaoticCyclone,ActionOption.Buff)
{
StatusNeed = new StatusID[] { StatusID.PvP_NascentChaos },
};


/// <summary>
///
/// </summary>
public static IBaseAction PvP_PrimalScream { get; } = new BaseAction(ActionID.PvP_PrimalScream)
{
FilterForHostiles = tars => tars.Where(t => t is PlayerCharacter),
ActionCheck = (t, m) => LimitBreakLevel >= 1,
};


#endregion

private protected override IBaseAction LimitBreak => LandWaker;
Expand Down
54 changes: 53 additions & 1 deletion RotationSolver.Basic/Rotations/Basic/WHM_Base.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using ECommons.DalamudServices;
using Dalamud.Game.ClientState.Objects.SubKinds;
using ECommons.DalamudServices;
using ECommons.ExcelServices;
using RotationSolver.Basic.Traits;

Expand Down Expand Up @@ -303,6 +304,57 @@ protected static bool LilyAfterGCD(uint gcdCount = 0, float offset = 0)
/// </summary>
public static IBaseTrait EnhancedDivineBenison { get; } = new BaseTrait(490);
#endregion

#region PvP

/// <summary>
///
/// </summary>
public static IBaseAction PvP_Glare3 { get; } = new BaseAction(ActionID.PvP_Glare3);

/// <summary>
///
/// </summary>
public static IBaseAction PvP_Cure2 { get; } = new BaseAction(ActionID.PvP_Cure2,ActionOption.Heal);

/// <summary>
///
/// </summary>
public static IBaseAction PvP_AfflatusMisery { get; } = new BaseAction(ActionID.PvP_AfflatusMisery);

/// <summary>
///
/// </summary>
public static IBaseAction PvP_Aquaveil { get; } = new BaseAction(ActionID.PvP_Aquaveil,ActionOption.Defense);

/// <summary>
///
/// </summary>
public static IBaseAction PvP_MiracleOfNature { get; } = new BaseAction(ActionID.PvP_MiracleOfNature);

/// <summary>
///
/// </summary>
public static IBaseAction PvP_SeraphStrike { get; } = new BaseAction(ActionID.PvP_SeraphStrike);

/// <summary>
///
/// </summary>
public static IBaseAction PvP_Cure3 { get; } = new BaseAction(ActionID.PvP_Cure3,ActionOption.Heal)
{
StatusNeed = new StatusID[] { StatusID.PvP_Cure3Ready },
};

/// <summary>
///
/// </summary>
public static IBaseAction PvP_AfflatusPurgation { get; } = new BaseAction(ActionID.PvP_AfflatusPurgation)
{
FilterForHostiles = tars => tars.Where(t => t is PlayerCharacter),
ActionCheck = (t, m) => LimitBreakLevel >= 1,
};

#endregion

private protected override IBaseAction LimitBreak => PulseOfLife;

Expand Down

0 comments on commit 7978be1

Please sign in to comment.