Skip to content

Commit

Permalink
Merge pull request #578 from DeviousCrypto/PVP-RDM
Browse files Browse the repository at this point in the history
Add all RDM PVP actions, BLM tiny polish on MP overrides
  • Loading branch information
LTS-FFXIV authored Jan 17, 2025
2 parents 1bf13e2 + e572eaa commit ab4242c
Show file tree
Hide file tree
Showing 2 changed files with 135 additions and 11 deletions.
6 changes: 6 additions & 0 deletions RotationSolver.Basic/Rotations/Basic/BlackMageRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -479,6 +479,7 @@ static partial void ModifyBurstPvP(ref ActionSetting setting)
static partial void ModifyParadoxPvP(ref ActionSetting setting)
{
setting.StatusNeed = [StatusID.Paradox];
setting.MPOverride = () => 0;
}

static partial void ModifyXenoglossyPvP(ref ActionSetting setting)
Expand All @@ -502,6 +503,7 @@ static partial void ModifyElementalWeavePvP(ref ActionSetting setting)
{
AoeCount = 1,
};
setting.IsFriendly = true;
}

static partial void ModifyFireIiiPvP(ref ActionSetting setting)
Expand Down Expand Up @@ -533,6 +535,7 @@ static partial void ModifyFlarePvP(ref ActionSetting setting)
{
AoeCount = 1,
};
setting.MPOverride = () => 0;
}

static partial void ModifyBlizzardIiiPvP(ref ActionSetting setting)
Expand Down Expand Up @@ -564,6 +567,7 @@ static partial void ModifyFreezePvP(ref ActionSetting setting)
{
AoeCount = 1,
};
setting.MPOverride = () => 0;
}

static partial void ModifyWreathOfFirePvP(ref ActionSetting setting)
Expand All @@ -584,6 +588,7 @@ static partial void ModifyFlareStarPvP(ref ActionSetting setting)
{
AoeCount = 1,
};
setting.MPOverride = () => 0;
}

static partial void ModifyFrostStarPvP(ref ActionSetting setting)
Expand All @@ -594,6 +599,7 @@ static partial void ModifyFrostStarPvP(ref ActionSetting setting)
{
AoeCount = 1,
};
setting.MPOverride = () => 0;
}

#endregion
Expand Down
140 changes: 129 additions & 11 deletions RotationSolver.Basic/Rotations/Basic/RedMageRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ static partial void ModifyJoltPvE(ref ActionSetting setting)
{
setting.StatusProvide = SwiftcastStatus;
}

#region PvE Actions
static partial void ModifyVerfirePvE(ref ActionSetting setting)
{
setting.StatusNeed = [StatusID.VerfireReady];
Expand Down Expand Up @@ -179,43 +179,36 @@ static partial void ModifyCorpsacorpsPvE(ref ActionSetting setting)
setting.SpecialType = SpecialActionType.MovingForward;
}

static partial void ModifyCorpsacorpsPvP(ref ActionSetting setting)
{
setting.SpecialType = SpecialActionType.MovingForward;
}

static partial void ModifyVerholyPvE(ref ActionSetting setting)
{
setting.UnlockedByQuestID = 68123;
}

/// <inheritdoc/>
[RotationDesc(ActionID.VercurePvE)]
protected sealed override bool HealSingleGCD(out IAction? act)
protected override bool HealSingleGCD(out IAction? act)
{
if (VercurePvE.CanUse(out act, skipStatusProvideCheck: true)) return true;
return base.HealSingleGCD(out act);
}

/// <inheritdoc/>
[RotationDesc(ActionID.CorpsacorpsPvE)]
protected sealed override bool MoveForwardAbility(IAction nextGCD, out IAction? act)
protected override bool MoveForwardAbility(IAction nextGCD, out IAction? act)
{
if (CorpsacorpsPvE.CanUse(out act)) return true;
return base.MoveForwardAbility(nextGCD, out act);
}

/// <inheritdoc/>
[RotationDesc(ActionID.AddlePvE, ActionID.MagickBarrierPvE)]
protected sealed override bool DefenseAreaAbility(IAction nextGCD, out IAction? act)
protected override bool DefenseAreaAbility(IAction nextGCD, out IAction? act)
{
if (AddlePvE.CanUse(out act)) return true;
if (MagickBarrierPvE.CanUse(out act, skipAoeCheck: true)) return true;
return base.DefenseAreaAbility(nextGCD, out act);
}

//DT Changes

static partial void ModifyViceOfThornsPvE(ref ActionSetting setting)
{
setting.StatusNeed = [StatusID.ThornedFlourish];
Expand All @@ -234,4 +227,129 @@ static partial void ModifyPrefulgencePvE(ref ActionSetting setting)
{
setting.StatusNeed = [StatusID.PrefulgenceReady];
}
#endregion

#region PvP Actions
static partial void ModifyJoltIiiPvP(ref ActionSetting setting)
{
setting.StatusProvide = [StatusID.Dualcast_1393];
setting.CreateConfig = () => new ActionConfig()
{
ShouldCheckStatus = false,
AoeCount = 1,
};

}

static partial void ModifyGrandImpactPvP(ref ActionSetting setting)
{
setting.StatusNeed = [StatusID.Dualcast_1393];
setting.MPOverride = () => 0;
setting.CreateConfig = () => new ActionConfig()
{
AoeCount = 1,
};
}

static partial void ModifyEnchantedRipostePvP(ref ActionSetting setting)
{
setting.StatusProvide = [StatusID.EnchantedRiposte];
setting.CreateConfig = () => new ActionConfig()
{
ShouldCheckStatus = false,
};
}

static partial void ModifyEnchantedZwerchhauPvP(ref ActionSetting setting)
{
setting.ComboIds = [ActionID.EnchantedRipostePvP];
setting.StatusProvide = [StatusID.EnchantedZwerchhau_3238];
setting.CreateConfig = () => new ActionConfig()
{
ShouldCheckStatus = false,
};
}

static partial void ModifyEnchantedRedoublementPvP(ref ActionSetting setting)
{
setting.ActionCheck = () => Service.GetAdjustedActionId(ActionID.EnchantedRipostePvP) == ActionID.EnchantedRedoublementPvP;
setting.StatusProvide = [StatusID.EnchantedRedoublement_3239];
setting.CreateConfig = () => new ActionConfig()
{
ShouldCheckStatus = false,
};
}

static partial void ModifyScorchPvP(ref ActionSetting setting)
{
setting.ActionCheck = () => Service.GetAdjustedActionId(ActionID.EnchantedRipostePvP) == ActionID.ScorchPvP;
setting.CreateConfig = () => new ActionConfig()
{
ShouldCheckStatus = false,
AoeCount = 1,
};
}

static partial void ModifyResolutionPvP(ref ActionSetting setting)
{
setting.TargetStatusProvide = [StatusID.Silence_1347];
setting.CreateConfig = () => new ActionConfig()
{
ShouldCheckStatus = false,
AoeCount = 1,
};
}

static partial void ModifyEmboldenPvP(ref ActionSetting setting)
{
setting.StatusProvide = [StatusID.Embolden_2282, StatusID.PrefulgenceReady_4322];
setting.CreateConfig = () => new ActionConfig()
{
ShouldCheckStatus = false,
};
}

static partial void ModifyCorpsacorpsPvP(ref ActionSetting setting)
{
setting.TargetStatusProvide = [StatusID.Monomachy_3242];
}

static partial void ModifyDisplacementPvP(ref ActionSetting setting)
{
setting.StatusProvide = [StatusID.Displacement_3243];
setting.CreateConfig = () => new ActionConfig()
{
ShouldCheckStatus = false,
};
}

static partial void ModifyFortePvP(ref ActionSetting setting)
{
setting.StatusProvide = [StatusID.Forte];
setting.CreateConfig = () => new ActionConfig()
{
ShouldCheckStatus = false,
};
}

static partial void ModifyPrefulgencePvP(ref ActionSetting setting)
{
setting.ActionCheck = () => Service.GetAdjustedActionId(ActionID.EmboldenPvP) == ActionID.PrefulgencePvP;
setting.MPOverride = () => 0;
setting.CreateConfig = () => new ActionConfig()
{
AoeCount = 1,
};
}

static partial void ModifyViceOfThornsPvP(ref ActionSetting setting)
{
setting.ActionCheck = () => Service.GetAdjustedActionId(ActionID.FortePvP) == ActionID.ViceOfThornsPvP;
setting.MPOverride = () => 0;
setting.CreateConfig = () => new ActionConfig()
{
AoeCount = 1,
};
}
#endregion
}

0 comments on commit ab4242c

Please sign in to comment.