Skip to content

Commit

Permalink
Updated game data for Dawntrail
Browse files Browse the repository at this point in the history
  • Loading branch information
NostraThomas99 committed Jun 30, 2024
1 parent c246f31 commit 8b827fa
Show file tree
Hide file tree
Showing 15 changed files with 18,262 additions and 12,074 deletions.
4 changes: 2 additions & 2 deletions RotationSolver.Basic/Helpers/IActionHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ public static class IActionHelper
internal static ActionID[] MovingActions { get; } =
[
ActionID.EnAvantPvE,
ActionID.PlungePvE,
//ActionID.PlungePvE,
ActionID.RoughDividePvE,
ActionID.ThunderclapPvE,
ActionID.ShukuchiPvE,
Expand All @@ -18,7 +18,7 @@ public static class IActionHelper
ActionID.HissatsuGyotenPvE,
ActionID.IcarusPvE,
ActionID.OnslaughtPvE,
ActionID.SpineshatterDivePvE,
//ActionID.SpineshatterDivePvE,
ActionID.DragonfireDivePvE,
];

Expand Down
1 change: 1 addition & 0 deletions RotationSolver.Basic/Helpers/StatusHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ public static class StatusHelper
StatusID.Sentinel,
StatusID.ShadowWall,
StatusID.Nebula,
StatusID.GreatNebula,
.. NoNeedHealingStatus,
];

Expand Down
40 changes: 20 additions & 20 deletions RotationSolver.Basic/Rotations/Basic/AstrologianRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,26 +68,26 @@ static partial void ModifyCollectiveUnconsciousPvE(ref ActionSetting setting)
setting.UnlockedByQuestID = 67560;
}

static partial void ModifyAstrodynePvE(ref ActionSetting setting)
{
setting.ActionCheck = () => !Seals.Contains(SealType.NONE);
setting.CreateConfig = () => new()
{
TimeToKill = 10,
};
}

static partial void ModifyDrawPvE(ref ActionSetting setting)
{
setting.ActionCheck = () => DrawnCard == CardType.NONE;
}

static partial void ModifyRedrawPvE(ref ActionSetting setting)
{
setting.StatusNeed = [StatusID.ClarifyingDraw];
setting.ActionCheck = () => DrawnCard != CardType.NONE && Seals.Contains(GetCardSeal(DrawnCard));
setting.UnlockedByQuestID = 67551;
}
// static partial void ModifyAstrodynePvE(ref ActionSetting setting)
// {
// setting.ActionCheck = () => !Seals.Contains(SealType.NONE);
// setting.CreateConfig = () => new()
// {
// TimeToKill = 10,
// };
// }
//
// static partial void ModifyDrawPvE(ref ActionSetting setting)
// {
// setting.ActionCheck = () => DrawnCard == CardType.NONE;
// }
//
// static partial void ModifyRedrawPvE(ref ActionSetting setting)
// {
// setting.StatusNeed = [StatusID.ClarifyingDraw];
// setting.ActionCheck = () => DrawnCard != CardType.NONE && Seals.Contains(GetCardSeal(DrawnCard));
// setting.UnlockedByQuestID = 67551;
// }

static partial void ModifyMinorArcanaPvE(ref ActionSetting setting)
{
Expand Down
16 changes: 8 additions & 8 deletions RotationSolver.Basic/Rotations/Basic/BlackMageRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ partial class BlackMageRotation
/// <summary>
///
/// </summary>
public static bool IsPolyglotStacksMaxed => EnhancedPolyglotTrait.EnoughLevel ? PolyglotStacks == 2 : PolyglotStacks == 1;
//public static bool IsPolyglotStacksMaxed => EnhancedPolyglotTrait.EnoughLevel ? PolyglotStacks == 2 : PolyglotStacks == 1;

static float EnochianTimeRaw => JobGauge.EnochianTimer / 1000f;

Expand Down Expand Up @@ -214,12 +214,12 @@ static partial void ModifyBetweenTheLinesPvE(ref ActionSetting setting)
setting.StatusNeed = [StatusID.LeyLines];
}

static partial void ModifySharpcastPvE(ref ActionSetting setting)
{
setting.ActionCheck = () => HasHostilesInRange;
setting.StatusProvide = [StatusID.Sharpcast];
setting.UnlockedByQuestID = 67216;
}
// static partial void ModifySharpcastPvE(ref ActionSetting setting)
// {
// setting.ActionCheck = () => HasHostilesInRange;
// setting.StatusProvide = [StatusID.Sharpcast];
// setting.UnlockedByQuestID = 67216;
// }

static partial void ModifyTriplecastPvE(ref ActionSetting setting)
{
Expand Down Expand Up @@ -285,7 +285,7 @@ protected sealed override bool MoveForwardGCD(out IAction? act)
{
if (AetherialManipulationPvE.CanUse(out act)) return true;
return base.MoveForwardGCD(out act);
}
}
static partial void ModifyAetherialManipulationPvP(ref ActionSetting setting)
{
setting.SpecialType = SpecialActionType.MovingForward;
Expand Down
26 changes: 13 additions & 13 deletions RotationSolver.Basic/Rotations/Basic/DarkKnightRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -148,12 +148,12 @@ static partial void ModifyUnleashPvE(ref ActionSetting setting)
};
}

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

// static partial void ModifyPlungePvE(ref ActionSetting setting)
// {
// setting.SpecialType = SpecialActionType.MovingForward;
// setting.UnlockedByQuestID = 67597;
// }

static partial void ModifyPlungePvP(ref ActionSetting setting)
{
setting.SpecialType = SpecialActionType.MovingForward;
Expand Down Expand Up @@ -202,11 +202,11 @@ protected override bool EmergencyAbility(IAction nextGCD, out IAction? act)
return base.EmergencyAbility(nextGCD, out act);
}

/// <inheritdoc/>
[RotationDesc(ActionID.PlungePvE)]
protected sealed override bool MoveForwardAbility(IAction nextGCD, out IAction? act)
{
if (PlungePvE.CanUse(out act)) return true;
return false;
}
// /// <inheritdoc/>
// [RotationDesc(ActionID)]
// protected sealed override bool MoveForwardAbility(IAction nextGCD, out IAction? act)
// {
// if (PlungePvE.CanUse(out act)) return true;
// return false;
// }
}
26 changes: 13 additions & 13 deletions RotationSolver.Basic/Rotations/Basic/DragoonRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -126,15 +126,15 @@ static partial void ModifyLanceChargePvE(ref ActionSetting setting)
setting.UnlockedByQuestID = 65975;
}

static partial void ModifyDragonSightPvE(ref ActionSetting setting)
{
setting.TargetType = TargetType.Melee;
setting.CanTarget = b => b != Player;
setting.CreateConfig = () => new()
{
TimeToKill = 10,
};
}
// static partial void ModifyDragonSightPvE(ref ActionSetting setting)
// {
// setting.TargetType = TargetType.Melee;
// setting.CanTarget = b => b != Player;
// setting.CreateConfig = () => new()
// {
// TimeToKill = 10,
// };
// }

static partial void ModifyBattleLitanyPvE(ref ActionSetting setting)
{
Expand All @@ -155,10 +155,10 @@ static partial void ModifyDoomSpikePvE(ref ActionSetting setting)
setting.UnlockedByQuestID = 66605;
}

static partial void ModifySpineshatterDivePvE(ref ActionSetting setting)
{
setting.UnlockedByQuestID = 66607;
}
// static partial void ModifySpineshatterDivePvE(ref ActionSetting setting)
// {
// setting.UnlockedByQuestID = 66607;
// }

static partial void ModifyDragonfireDivePvE(ref ActionSetting setting)
{
Expand Down
42 changes: 37 additions & 5 deletions RotationSolver.Basic/Rotations/Basic/GunbreakerRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,19 @@ static partial void ModifyLightningShotPvE(ref ActionSetting setting)
setting.SpecialType = SpecialActionType.MeleeRange;
}

static partial void ModifyNobleBloodPvE(ref ActionSetting setting)
{
setting.ComboIds = [ActionID.ReignOfBeastsPvE];
}

static partial void ModifyLionHeartPvE(ref ActionSetting setting)
{
setting.ComboIds = [ActionID.NobleBloodPvE];
}

static partial void ModifyFatedCirclePvE(ref ActionSetting setting)
{
setting.StatusProvide = [ StatusID.ReadyToRaze ];
setting.ActionCheck = () => Ammo > 0;
}

Expand All @@ -99,15 +110,27 @@ static partial void ModifyNebulaPvE(ref ActionSetting setting)
setting.ActionCheck = Player.IsTargetOnSelf;
}

static partial void ModifyGreatNebulaPvE(ref ActionSetting setting)
{
setting.StatusProvide = StatusHelper.RampartStatus;
setting.ActionCheck = Player.IsTargetOnSelf;
}

static partial void ModifyCamouflagePvE(ref ActionSetting setting)
{
setting.ActionCheck = Player.IsTargetOnSelf;
}

static partial void ModifySonicBreakPvE(ref ActionSetting setting)
{
setting.StatusNeed = [ StatusID.ReadyToBreak ];
}

private protected sealed override IBaseAction TankStance => RoyalGuardPvE;

static partial void ModifyNoMercyPvE(ref ActionSetting setting)
{
setting.StatusProvide = [ StatusID.ReadyToBreak ];
setting.CreateConfig = () => new()
{
TimeToKill = 10,
Expand All @@ -119,6 +142,15 @@ static partial void ModifyBloodfestPvE(ref ActionSetting setting)
setting.ActionCheck = () => MaxAmmo - Ammo > 1;
}

static partial void ModifyFatedBrandPvE(ref ActionSetting setting)
{
setting.StatusNeed = [StatusID.ReadyToRaze];
setting.CreateConfig = () => new ActionConfig()
{
AoeCount = 2,
};
}

static partial void ModifyDemonSlicePvE(ref ActionSetting setting)
{
setting.CreateConfig = () => new()
Expand All @@ -135,11 +167,11 @@ static partial void ModifyDemonSlaughterPvE(ref ActionSetting setting)
};
}

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

}

static partial void ModifyRoughDividePvP(ref ActionSetting setting)
{
setting.SpecialType = SpecialActionType.MovingForward;
Expand All @@ -159,10 +191,10 @@ protected override bool EmergencyAbility(IAction nextGCD, out IAction? act)
}

/// <inheritdoc/>
[RotationDesc(ActionID.RoughDividePvE)]
[RotationDesc(ActionID.TrajectoryPvE)]
protected sealed override bool MoveForwardAbility(IAction nextGCD, out IAction? act)
{
if (RoughDividePvE.CanUse(out act)) return true;
if (TrajectoryPvE.CanUse(out act)) return true;
return false;
}
}
8 changes: 4 additions & 4 deletions RotationSolver.Basic/Rotations/Basic/MonkRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -114,10 +114,10 @@ static partial void ModifyThunderclapPvP(ref ActionSetting setting)
setting.SpecialType = SpecialActionType.MovingForward;
}

static partial void ModifyMeditationPvE(ref ActionSetting setting)
{
setting.UnlockedByQuestID = 66094;
}
// static partial void ModifyMeditationPvE(ref ActionSetting setting)
// {
// setting.UnlockedByQuestID = 66094;
// }

static partial void ModifyRockbreakerPvE(ref ActionSetting setting)
{
Expand Down
14 changes: 7 additions & 7 deletions RotationSolver.Basic/Rotations/Basic/NinjaRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,11 @@ static partial void ModifyArmorCrushPvE(ref ActionSetting setting)
setting.UnlockedByQuestID = 67221;
}

static partial void ModifyHuraijinPvE(ref ActionSetting setting)
{
setting.ActionCheck = () => HutonEndAfterGCD();
setting.UnlockedByQuestID = 67224;
}
// static partial void ModifyHuraijinPvE(ref ActionSetting setting)
// {
// setting.ActionCheck = () => HutonEndAfterGCD();
// setting.UnlockedByQuestID = 67224;
// }

static partial void ModifyPhantomKamaitachiPvE(ref ActionSetting setting)
{
Expand Down Expand Up @@ -172,8 +172,8 @@ static partial void ModifyKatonPvE(ref ActionSetting setting)
{
AoeCount = 2,
};
}

}

static partial void ModifyShukuchiPvP(ref ActionSetting setting)
{
setting.SpecialType = SpecialActionType.MovingForward;
Expand Down
2 changes: 1 addition & 1 deletion RotationSolver.Basic/Rotations/Basic/PaladinRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ partial class PaladinRotation

static partial void ModifyAtonementPvE(ref ActionSetting setting)
{
setting.StatusNeed = [StatusID.SwordOath_1902];
setting.StatusNeed = [StatusID.SwordOath_1991];
}

static partial void ModifyShieldBashPvE(ref ActionSetting setting)
Expand Down
12 changes: 6 additions & 6 deletions RotationSolver.Basic/Rotations/Basic/SamuraiRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -63,10 +63,10 @@ static partial void ModifyShohaPvE(ref ActionSetting setting)
setting.ActionCheck = () => MeditationStacks == 3;
}

static partial void ModifyShohaIiPvE(ref ActionSetting setting)
{
setting.ActionCheck = () => MeditationStacks == 3;
}
// static partial void ModifyShohaIiPvE(ref ActionSetting setting)
// {
// setting.ActionCheck = () => MeditationStacks == 3;
// }

static partial void ModifyMangetsuPvE(ref ActionSetting setting)
{
Expand Down Expand Up @@ -171,8 +171,8 @@ static partial void ModifyHissatsuGurenPvE(ref ActionSetting setting)
static partial void ModifyHissatsuSeneiPvE(ref ActionSetting setting)
{
setting.ActionCheck = () => Kenki >= 25;
}

}

static partial void ModifyHissatsuSotenPvP(ref ActionSetting setting)
{
setting.SpecialType = SpecialActionType.MovingForward;
Expand Down
8 changes: 4 additions & 4 deletions RotationSolver.GameData/Getters/RotationGetter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,20 @@ internal class RotationGetter(Lumina.GameData gameData, ClassJob job)
{
public string GetName()
{
return (job.NameEnglish.RawString + " Rotation").ToPascalCase();
return (job.Name.ToString() + " Rotation").ToPascalCase();
}

public string GetCode()
{
var jobName = job.NameEnglish.RawString;
var jobName = job.Name.ToString();

var jobs = $"Job.{job.Abbreviation}";
if (job.RowId != 28 && job.RowId != job.ClassJobParent.Row)
{
jobs += $", Job.{job.ClassJobParent.Value?.Abbreviation ?? "ADV"}";
}

var jobGauge = job.IsLimitedJob ? string.Empty : $"static {job.Abbreviation}Gauge JobGauge => Svc.Gauges.Get<{job.Abbreviation}Gauge>();";
var jobGauge = job.Abbreviation == "BLU" ? string.Empty : $"static {job.Abbreviation}Gauge JobGauge => Svc.Gauges.Get<{job.Abbreviation}Gauge>();";

var rotationsGetter = new ActionSingleRotationGetter(gameData, job);
var traitsGetter = new TraitRotationGetter(gameData, job);
Expand All @@ -32,7 +32,7 @@ public string GetCode()

return $$"""
/// <summary>
/// <see href="https://na.finalfantasyxiv.com/jobguide/{{jobName.Replace(" ", "").ToLower()}}"><strong>{{jobName}}</strong></see>
/// <see href="https://na.finalfantasyxiv.com/jobguide/{{jobName?.Replace(" ", "").ToLower()}}"><strong>{{jobName}}</strong></see>
/// <br>Number of Actions: {{rotationsGetter.Count}}</br>
/// <br>Number of Traits: {{traitsGetter.Count}}</br>
/// </summary>
Expand Down
Loading

0 comments on commit 8b827fa

Please sign in to comment.