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

Commit

Permalink
Merge pull request #259 from Four-amer/main
Browse files Browse the repository at this point in the history
Added positional feature to SAM and adjusted RPR
  • Loading branch information
LTS-FFXIV authored Sep 25, 2024
2 parents 9afaa65 + 01d197a commit 065689e
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 29 deletions.
36 changes: 10 additions & 26 deletions BasicRotations/Melee/RPR_Default.cs
Original file line number Diff line number Diff line change
Expand Up @@ -148,19 +148,11 @@ protected override bool GeneralGCD(out IAction? act)
}

// Try using Gallows/Gibbet that player is in position for when without Enchanced status
else if (CanHitPositional(EnemyPositional.Rear, GallowsPvE.Target.Target))
{
if (GallowsPvE.CanUse(out act, skipComboCheck: true)) return true;
}
else if (CanHitPositional(EnemyPositional.Flank, GibbetPvE.Target.Target))
{
if (GibbetPvE.CanUse(out act, skipComboCheck: true)) return true;
}
else
{
if (GallowsPvE.CanUse(out act, skipComboCheck: true)) return true;
if (GibbetPvE.CanUse(out act, skipComboCheck: true)) return true;
}
if (GallowsPvE.CanUse(out act, skipComboCheck: true) && CanHitPositional(EnemyPositional.Rear, GallowsPvE.Target.Target)) return true;
if (GibbetPvE.CanUse(out act, skipComboCheck: true) && CanHitPositional(EnemyPositional.Flank, GibbetPvE.Target.Target)) return true;

if (GallowsPvE.CanUse(out act, skipComboCheck: true)) return true;
if (GibbetPvE.CanUse(out act, skipComboCheck: true)) return true;
}

if (!CombatElapsedLessGCD(2) && PlentifulHarvestPvE.CanUse(out act, skipAoeCheck: true)) return true;
Expand Down Expand Up @@ -213,19 +205,11 @@ private bool ItsGluttonyTime(out IAction? act)
}

// Try using Executioners Gallows/Gibbet that player is in position for when without Enchanced status
else if (CanHitPositional(EnemyPositional.Rear, ExecutionersGallowsPvE.Target.Target))
{
if (ExecutionersGallowsPvE.CanUse(out act, skipComboCheck: true)) return true;
}
else if (CanHitPositional(EnemyPositional.Flank, ExecutionersGibbetPvE.Target.Target))
{
if (ExecutionersGibbetPvE.CanUse(out act, skipComboCheck: true)) return true;
}
else
{
if (ExecutionersGallowsPvE.CanUse(out act, skipComboCheck: true)) return true;
if (ExecutionersGibbetPvE.CanUse(out act, skipComboCheck: true)) return true;
}
if (ExecutionersGallowsPvE.CanUse(out act, skipComboCheck: true) && CanHitPositional(EnemyPositional.Rear, ExecutionersGallowsPvE.Target.Target)) return true;
if (ExecutionersGibbetPvE.CanUse(out act, skipComboCheck: true) && CanHitPositional(EnemyPositional.Flank, ExecutionersGibbetPvE.Target.Target)) return true;

if (ExecutionersGallowsPvE.CanUse(out act, skipComboCheck: true)) return true;
if (ExecutionersGibbetPvE.CanUse(out act, skipComboCheck: true)) return true;
}
act = null;
return false;
Expand Down
10 changes: 8 additions & 2 deletions BasicRotations/Melee/SAM_Default.cs
Original file line number Diff line number Diff line change
Expand Up @@ -163,11 +163,17 @@ protected override bool GeneralGCD(out IAction? act)
if (!HasSetsu && SamBuffs.All(SamBuffs => Player.HasStatus(true, SamBuffs)) &&
YukikazePvE.CanUse(out act, skipComboCheck: HaveMeikyoShisui && HasGetsu && HasKa)) return true;

// single target 123 combo's 3 or used 3 directly during burst when MeikyoShisui is active
// single target 123 combo's 3 or used 3 directly during burst when MeikyoShisui is active, while also trying to start with the one that player is in position for extra DMG
if (GekkoPvE.CanUse(out act, skipComboCheck: HaveMeikyoShisui && !HasGetsu) && CanHitPositional(EnemyPositional.Rear, GekkoPvE.Target.Target)) return true;

Check warning on line 167 in BasicRotations/Melee/SAM_Default.cs

View workflow job for this annotation

GitHub Actions / Build

Possible null reference argument for parameter 'enemy' in 'bool CustomRotation.CanHitPositional(EnemyPositional positional, IBattleChara enemy)'.
if (KashaPvE.CanUse(out act, skipComboCheck: HaveMeikyoShisui && !HasKa) && CanHitPositional(EnemyPositional.Flank, KashaPvE.Target.Target)) return true;

Check warning on line 168 in BasicRotations/Melee/SAM_Default.cs

View workflow job for this annotation

GitHub Actions / Build

Possible null reference argument for parameter 'enemy' in 'bool CustomRotation.CanHitPositional(EnemyPositional positional, IBattleChara enemy)'.

if (GekkoPvE.CanUse(out act, skipComboCheck: HaveMeikyoShisui && !HasGetsu)) return true;
if (KashaPvE.CanUse(out act, skipComboCheck: HaveMeikyoShisui && !HasKa)) return true;

// single target 123 combo's 2
// single target 123 combo's 2, while also trying to start with the one that player is in position for extra DMG
if (!HasGetsu && JinpuPvE.CanUse(out act) && (CanHitPositional(EnemyPositional.Rear, JinpuPvE.Target.Target) || (!HasMoon && HasFlower))) return true;
if (!HasKa && ShifuPvE.CanUse(out act) && (CanHitPositional(EnemyPositional.Flank, ShifuPvE.Target.Target) || (!HasFlower && HasMoon))) return true;

if ((!HasMoon || IsMoonTimeLessThanFlower || !ShifuPvE.EnoughLevel) && JinpuPvE.CanUse(out act)) return true;
if ((!HasFlower || !IsMoonTimeLessThanFlower) && ShifuPvE.CanUse(out act)) return true;

Expand Down
2 changes: 1 addition & 1 deletion BasicRotations/RebornRotations.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<Compile Include="Duty\EmanationDefault" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="RotationSolverReborn.Basic" Version="7.0.5.123" />
<PackageReference Include="RotationSolverReborn.Basic" Version="7.0.5.124" />
</ItemGroup>
<ItemGroup>
<Reference Include="Dalamud">
Expand Down

0 comments on commit 065689e

Please sign in to comment.