Skip to content

Commit

Permalink
Merge pull request #591 from DeviousCrypto/cleanup-SCS
Browse files Browse the repository at this point in the history
cleaned up unnecessary check falses, donate pct pvp
  • Loading branch information
LTS-FFXIV authored Jan 20, 2025
2 parents dfb90a5 + 29dd2ed commit 340ceed
Show file tree
Hide file tree
Showing 6 changed files with 117 additions and 101 deletions.
112 changes: 112 additions & 0 deletions BasicRotations/PVPRotations/Magical/PCT_Default.PvP.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
namespace RebornRotations.PVPRotations.Magical;

[Rotation("Default PvP", CombatType.PvP, GameVersion = "7.15", Description = "Default PVP Pictomancer by Crito")]
[Api(4)]
public class PCT_DefaultPvP : PictomancerRotation
{
#region Configurations

[RotationConfig(CombatType.PvP, Name = "Use Purify")]
public bool UsePurifyPvP { get; set; } = true;

[RotationConfig(CombatType.PvP, Name = "Stop attacking while in Guard.")]
public bool RespectGuard { get; set; } = true;
#endregion

#region Standard PVP Utilities
private bool DoPurify(out IAction? action)
{
action = null;
if (!UsePurifyPvP) return false;

var purifiableStatusesIDs = new List<int>
{
// Stun, DeepFreeze, HalfAsleep, Sleep, Bind, Heavy, Silence
1343, 3219, 3022, 1348, 1345, 1344, 1347
};

if (purifiableStatusesIDs.Any(id => Player.HasStatus(false, (StatusID)id)))
{
return PurifyPvP.CanUse(out action);
}

return false;
}
#endregion

#region oGCDs
protected override bool EmergencyAbility(IAction nextGCD, out IAction? action)
{
action = null;
if (RespectGuard && Player.HasStatus(true, StatusID.Guard)) return false;
if (DoPurify(out action)) return true;

return base.EmergencyAbility(nextGCD, out action);
}

protected override bool DefenseSingleAbility(IAction nextGCD, out IAction? action)
{
action = null;
if (RespectGuard && Player.HasStatus(true, StatusID.Guard)) return false;

return base.DefenseSingleAbility(nextGCD, out action);
}

protected override bool AttackAbility(IAction nextGCD, out IAction? action)
{
action = null;
if (RespectGuard && Player.HasStatus(true, StatusID.Guard)) return false;

if (PomMusePvP.CanUse(out action, usedUp: true)) return true;
if (WingedMusePvP.CanUse(out action, usedUp: true)) return true;
if (ClawedMusePvP.CanUse(out action, usedUp: true)) return true;
if (FangedMusePvP.CanUse(out action, usedUp: true)) return true;

switch (IsMoving)
{
case true:
if (ReleaseSubtractivePalettePvP.CanUse(out action)) return true;
break;
case false:
if (SubtractivePalettePvP.CanUse(out action)) return true;
break;
}

return base.AttackAbility(nextGCD, out action);
}

#endregion

#region GCDs
protected override bool GeneralGCD(out IAction? action)
{
action = null;
if (RespectGuard && Player.HasStatus(true, StatusID.Guard)) return false;

if (StarPrismPvP.CanUse(out action)) return true;

if (MogOfTheAgesPvP.CanUse(out action)) return true;
if (RetributionOfTheMadeenPvP.CanUse(out action)) return true;

if (CometInBlackPvP.CanUse(out action, usedUp: true)) return true;

if (PomMotifPvP.CanUse(out action, usedUp: true)) return true;
if (WingMotifPvP.CanUse(out action, usedUp: true)) return true;
if (ClawMotifPvP.CanUse(out action, usedUp: true)) return true;
if (MawMotifPvP.CanUse(out action, usedUp: true)) return true;

if (ThunderInMagentaPvP.CanUse(out action)) return true;
if (StoneInYellowPvP.CanUse(out action)) return true;
if (BlizzardInCyanPvP.CanUse(out action)) return true;

if (WaterInBluePvP.CanUse(out action)) return true;
if (AeroInGreenPvP.CanUse(out action)) return true;
if (FireInRedPvP.CanUse(out action)) return true;




return base.GeneralGCD(out action);
}
#endregion
}
27 changes: 1 addition & 26 deletions RotationSolver.Basic/Rotations/Basic/BlackMageRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -461,10 +461,6 @@ static partial void ModifyFlareStarPvE(ref ActionSetting setting)
static partial void ModifyFirePvP(ref ActionSetting setting)
{
setting.StatusProvide = [StatusID.Paradox, StatusID.AstralFire_3212];
setting.CreateConfig = () => new ActionConfig()
{
ShouldCheckStatus = false
};
}

static partial void ModifyBlizzardPvP(ref ActionSetting setting)
Expand Down Expand Up @@ -514,31 +510,18 @@ static partial void ModifyFireIiiPvP(ref ActionSetting setting)
{
setting.StatusNeed = [StatusID.AstralFire_3212];
setting.StatusProvide = [StatusID.AstralFireIi_3213];
setting.CreateConfig = () => new ActionConfig()
{
ShouldCheckStatus = false
};
}

static partial void ModifyFireIvPvP(ref ActionSetting setting)
{
setting.StatusNeed = [StatusID.AstralFireIi_3213];
setting.StatusProvide = [StatusID.AstralFireIii_3381];
setting.CreateConfig = () => new ActionConfig()
{
ShouldCheckStatus = false
};
}

static partial void ModifyHighFireIiPvP(ref ActionSetting setting)
{
setting.StatusNeed = [StatusID.AstralFireIii_3381];
setting.StatusProvide = [StatusID.AstralFire_3212];
setting.CreateConfig = () => new ActionConfig()
{
AoeCount = 1,
ShouldCheckStatus = false,
};
}

static partial void ModifyFlarePvP(ref ActionSetting setting)
Expand All @@ -555,20 +538,12 @@ static partial void ModifyBlizzardIiiPvP(ref ActionSetting setting)
{
setting.StatusNeed = [StatusID.UmbralIce_3214];
setting.StatusProvide = [StatusID.UmbralIceIi_3215];
setting.CreateConfig = () => new ActionConfig()
{
ShouldCheckStatus = false
};
}

static partial void ModifyBlizzardIvPvP(ref ActionSetting setting)
{
setting.StatusNeed = [StatusID.UmbralIceIi_3215];
setting.StatusProvide = [StatusID.UmbralIceIii_3382];
setting.CreateConfig = () => new ActionConfig()
{
ShouldCheckStatus = false
};
}

static partial void ModifyHighBlizzardIiPvP(ref ActionSetting setting)
Expand All @@ -578,7 +553,7 @@ static partial void ModifyHighBlizzardIiPvP(ref ActionSetting setting)
setting.CreateConfig = () => new ActionConfig()
{
AoeCount = 1,
ShouldCheckStatus = false,
// Removed ShouldCheckStatus = false
};
}

Expand Down
11 changes: 0 additions & 11 deletions RotationSolver.Basic/Rotations/Basic/DancerRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -440,7 +440,6 @@ static partial void ModifyClosedPositionPvP(ref ActionSetting setting)
setting.TargetType = TargetType.DancePartner;
setting.CreateConfig = () => new ActionConfig()
{
ShouldCheckStatus = false,
};
}

Expand All @@ -451,7 +450,6 @@ static partial void ModifyEnAvantPvP(ref ActionSetting setting)
setting.StatusProvide = [StatusID.EnAvant];
setting.CreateConfig = () => new ActionConfig()
{
ShouldCheckStatus = false,
AoeCount = 1,
};
}
Expand All @@ -461,7 +459,6 @@ static partial void ModifyStarfallDancePvP(ref ActionSetting setting)
setting.CreateConfig = () => new ActionConfig()
{
AoeCount = 1,
ShouldCheckStatus = false,
};
setting.StatusProvide = [StatusID.StarfallDance];
}
Expand All @@ -471,7 +468,6 @@ static partial void ModifyFanDancePvP(ref ActionSetting setting)
setting.CreateConfig = () => new ActionConfig()
{
AoeCount = 1,
ShouldCheckStatus = false,
};
setting.StatusProvide = [StatusID.FanDance];
}
Expand All @@ -482,7 +478,6 @@ static partial void ModifyCuringWaltzPvP(ref ActionSetting setting)
setting.CreateConfig = () => new ActionConfig()
{
AoeCount = 1,
ShouldCheckStatus = false,
};
}

Expand All @@ -492,7 +487,6 @@ static partial void ModifyReverseCascadePvP(ref ActionSetting setting)
setting.CreateConfig = () => new ActionConfig()
{
AoeCount = 1,
ShouldCheckStatus = false,
};
setting.StatusNeed = [StatusID.EnAvant];
setting.StatusProvide = [StatusID.Bladecatcher];
Expand All @@ -503,7 +497,6 @@ static partial void ModifyFountainfallPvP(ref ActionSetting setting)
setting.CreateConfig = () => new ActionConfig()
{
AoeCount = 1,
ShouldCheckStatus = false,
};
setting.MPOverride = () => 0;
setting.StatusNeed = [StatusID.EnAvant];
Expand All @@ -515,7 +508,6 @@ static partial void ModifySaberDancePvP(ref ActionSetting setting)
setting.CreateConfig = () => new ActionConfig()
{
AoeCount = 1,
ShouldCheckStatus = false,
};
setting.MPOverride = () => 0;
setting.StatusNeed = [StatusID.FlourishingSaberDance];
Expand All @@ -535,7 +527,6 @@ static partial void ModifyDanceOfTheDawnPvP(ref ActionSetting setting)
setting.CreateConfig = () => new ActionConfig()
{
AoeCount = 1,
ShouldCheckStatus = false,
};
setting.MPOverride = () => 0;
setting.StatusNeed = [StatusID.FlourishingSaberDance, StatusID.SoloStep];
Expand All @@ -546,7 +537,6 @@ static partial void ModifyHoningDancePvP(ref ActionSetting setting)
setting.CreateConfig = () => new ActionConfig()
{
AoeCount = 1,
ShouldCheckStatus = false,
};
setting.StatusProvide = [StatusID.HoningDance];

Expand All @@ -557,7 +547,6 @@ static partial void ModifyHoningOvationPvP(ref ActionSetting setting)
setting.CreateConfig = () => new ActionConfig()
{
AoeCount = 1,
ShouldCheckStatus = false,
};
setting.StatusProvide = [StatusID.HoningOvation];
}
Expand Down
Loading

0 comments on commit 340ceed

Please sign in to comment.