Skip to content

Commit

Permalink
pct pvp
Browse files Browse the repository at this point in the history
  • Loading branch information
Rabalaba committed Jul 11, 2024
1 parent b8019ea commit 5fd006b
Show file tree
Hide file tree
Showing 3 changed files with 134 additions and 3 deletions.
132 changes: 132 additions & 0 deletions Advanced_Rotations/PVP/Ranged_Magic/PCT.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
using FFXIVClientStructs.FFXIV.Client.UI;
using Lumina.Excel.GeneratedSheets;
using RotationSolver.Basic.Data;
using System;
using static Lumina.Data.Parsing.Layer.LayerCommon;

namespace RabbsRotationsNET8.Magical;

[Rotation("HappyLittleAccidental PvP", CombatType.PvP, GameVersion = "7.0")]
[SourceCode(Path = "main/DefaultRotations/Magical/PCT_Default.cs")]
[Api(2)]
public sealed class PCT_Default_PvP : PictomancerRotation
{




public override MedicineType MedicineType => MedicineType.Intelligence;
#region Countdown logic
// Defines logic for actions to take during the countdown before combat starts.
protected override IAction? CountDownAction(float remainTime)
{
return base.CountDownAction(remainTime);
}
#endregion

#region Emergency Logic
// Determines emergency actions to take based on the next planned GCD action.
protected override bool EmergencyAbility(IAction nextGCD, out IAction? act)
{
act = null;
if (!Player.HasStatus(true, StatusID.SubtractivePalette_4102) && !IsMoving)
{
if (SubtractivePalettePvP.CanUse(out act)) return true;
}
return base.EmergencyAbility(nextGCD, out act);
}
#endregion

#region oGCD Logic
protected override bool AttackAbility(IAction nextGCD, out IAction? act)
{


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

protected override bool MoveForwardAbility(IAction nextGCD, out IAction? act)
{
act = null;


return base.MoveForwardAbility(nextGCD, out act);
}
#endregion

#region GCD Logic
protected override bool MoveForwardGCD(out IAction? act)
{
act = null;

return base.MoveForwardGCD(out act);
}

protected override bool GeneralGCD(out IAction? act)
{
if (StarPrismPvP.CanUse(out act, skipAoeCheck:true) && Player.HasStatus(true, StatusID.Starstruck_4118)) return true;
if (RetributionOfTheMadeenPvP.CanUse(out act, skipAoeCheck:true) && Player.HasStatus(true, StatusID.MadeenPortrait)) return true;
if (MogOfTheAgesPvP.CanUse(out act, skipAoeCheck:true) && Player.HasStatus(true, StatusID.MooglePortrait)) return true;
if (Player.HasStatus(true, StatusID.PomSketch) && !IsMoving)
{
if (PomMotifPvP.CanUse(out act)) return true;
}
if (Player.HasStatus(true,StatusID.PomMotif) && LivingMusePvP.Cooldown.HasOneCharge)
{
if (PomMusePvP.CanUse(out act, skipAoeCheck: true, usedUp: true)) return true;
}
if (Player.HasStatus(true, StatusID.WingSketch) && !IsMoving)
{
if (WingMotifPvP.CanUse(out act)) return true;
}
if (Player.HasStatus(true, StatusID.WingMotif) && LivingMusePvP.Cooldown.HasOneCharge)
{
if (WingedMusePvP.CanUse(out act, skipAoeCheck: true, usedUp: true)) return true;
}
if (Player.HasStatus(true, StatusID.ClawSketch) && !IsMoving)
{
if (ClawMotifPvP.CanUse(out act)) return true;
}
if (Player.HasStatus(true, StatusID.ClawMotif) && LivingMusePvP.Cooldown.HasOneCharge)
{
if (ClawedMusePvP.CanUse(out act, skipAoeCheck: true, usedUp:true)) return true;
}
if (Player.HasStatus(true, StatusID.MawSketch) && !IsMoving)
{
if (MawMotifPvP.CanUse(out act)) return true;
}
if (Player.HasStatus(true, StatusID.MawMotif) && LivingMusePvP.Cooldown.HasOneCharge)
{
if (FangedMusePvP.CanUse(out act, skipAoeCheck: true, usedUp: true)) return true;
}

if (Player.HasStatus(true, StatusID.SubtractivePalette_4102))
{
if (CometInBlackPvP.CanUse(out act, skipAoeCheck: true, usedUp: true)) return true;
if(ThunderInMagentaPvP.CanUse(out act) && Player.HasStatus(true, StatusID.AetherhuesIi_4101)) return true;
if (StoneInYellowPvP.CanUse(out act) && Player.HasStatus(true, StatusID.Aetherhues_4100)) return true;
if (BlizzardInCyanPvP.CanUse(out act)) return true;
}

if (HolyInWhitePvP.CanUse(out act, skipAoeCheck: true, usedUp: true)) return true;
if (IsMoving && Player.HasStatus(true, StatusID.SubtractivePalette_4102))
{
if (ReleaseSubtractivePalettePvP.CanUse(out act)) return true;
}
if (WaterInBluePvP.CanUse(out act) && Player.HasStatus(true, StatusID.AetherhuesIi_4101)) return true;
if (AeroInGreenPvP.CanUse(out act) && Player.HasStatus(true, StatusID.Aetherhues_4100)) return true;
if (FireInRedPvP.CanUse(out act)) return true;

return base.GeneralGCD(out act);
}

private bool AttackGCD(out IAction? act, bool burst)
{
act = null;

return false;
}
#endregion


}
3 changes: 1 addition & 2 deletions Advanced_Rotations/RabbsRotationsNET8.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<TargetFramework>net8.0-windows</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Authors>Rabbs</Authors>
<Version>1.1.2.3</Version>
<Version>1.1.2.4</Version>
<PlatformTarget>x64</PlatformTarget>
<Platforms>x64</Platforms>

Expand Down Expand Up @@ -85,7 +85,6 @@
<Folder Include="Duty\" />
<Folder Include="PVP\Melee\" />
<Folder Include="PVP\Tank\" />
<Folder Include="PVP\Ranged_Magic\" />
</ItemGroup>

<ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion Advanced_Rotations/RotationInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ internal class RotationInfo
{
internal const string USERNAME = $"Rabbs";

internal const string VERSION = "1.1.2.3";
internal const string VERSION = "1.1.2.4";
}

0 comments on commit 5fd006b

Please sign in to comment.