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

Commit

Permalink
fix: add some default configs.
Browse files Browse the repository at this point in the history
  • Loading branch information
ArchiDog1998 committed Feb 24, 2024
1 parent b3c648a commit 083b25b
Show file tree
Hide file tree
Showing 21 changed files with 271 additions and 131 deletions.
26 changes: 0 additions & 26 deletions Resources/ActionAOECounts.json

This file was deleted.

1 change: 0 additions & 1 deletion Resources/ActionHealRatio.json

This file was deleted.

14 changes: 0 additions & 14 deletions Resources/ActionTTK.json

This file was deleted.

89 changes: 9 additions & 80 deletions RotationSolver.Basic/Configuration/OtherConfiguration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,67 +6,19 @@ namespace RotationSolver.Basic.Configuration;
#pragma warning disable CA2211
public class OtherConfiguration
{
public static HashSet<uint> HostileCastingArea = new();
public static HashSet<uint> HostileCastingTank = new();
public static HashSet<uint> HostileCastingArea = [];
public static HashSet<uint> HostileCastingTank = [];

public static SortedList<uint, float> AnimationLockTime = new();
public static SortedList<uint, float> AnimationLockTime = [];

public static Dictionary<uint, string[]> NoHostileNames = new();
public static Dictionary<uint, string[]> NoProvokeNames = new();
public static Dictionary<uint, Vector3[]> BeneficialPositions = new();
public static Dictionary<uint, string[]> NoHostileNames = [];
public static Dictionary<uint, string[]> NoProvokeNames = [];
public static Dictionary<uint, Vector3[]> BeneficialPositions = [];

public static HashSet<uint> DangerousStatus = new();
public static HashSet<uint> PriorityStatus = new();
public static HashSet<uint> DangerousStatus = [];
public static HashSet<uint> PriorityStatus = [];

public static HashSet<uint> InvincibleStatus = new();

public static Dictionary<uint, byte> ActionAOECounts = new()
{
//{ (uint) ActionID.Gravity, 2},
//{ (uint) ActionID.FeatherRain, 1},
//{ (uint) ActionID.Eruption, 1},
//{ (uint) ActionID.QuickNock, 2},
////{ (uint) ActionID.ShadowBite, 2},
//{ (uint) ActionID.RainOfDeath, 2},
////{ (uint) ActionID.BladeShower, 2},
//{ (uint) ActionID.RisingWindmill, 2},
////{ (uint) ActionID.BloodShower, 2},
////{ (uint) ActionID.FanDance2, 2},
//{ (uint) ActionID.Unleash, 2},
//{ (uint) ActionID.StalwartSoul, 2},
//{ (uint) ActionID.DemonSlice, 2},
//{ (uint) ActionID.DemonSlaughter, 2},
//{ (uint) ActionID.SpreadShot, 2},
//{ (uint) ActionID.AutoCrossbow, 2},
//{ (uint) ActionID.Katon, 2},
//{ (uint) ActionID.Scatter, 2},
//{ (uint) ActionID.WhorlOfDeath, 2},
//{ (uint) ActionID.ArtOfWar, 2},
//{ (uint) ActionID.Dyskrasia, 2},
//{ (uint) ActionID.Overpower, 2},
//{ (uint) ActionID.MythrilTempest, 2},
//{ (uint) ActionID.SteelCyclone, 2},
//{ (uint) ActionID.VariantSpiritDart, 1 },
////{ (uint) ActionID.VariantSpiritDart2, 1 },
};

public static Dictionary<uint, float> ActionTTK = new()
{
//{ (uint) ActionID.Combust, 20},
//{ (uint) ActionID.VenomousBite, 30},
////{ (uint) ActionID.WindBite, 30},
//{ (uint) ActionID.IronJaws, 30},
////{ (uint) ActionID.BioBlaster, 10},
//{ (uint) ActionID.TwinSnakes, 10},
//{ (uint) ActionID.Demolish, 12},
//{ (uint) ActionID.ShadowOfDeath, 10},
//{ (uint) ActionID.Higanbana, 40},
//{ (uint) ActionID.Bio, 20},
//{ (uint) ActionID.EukrasianDosis, 20},
//{ (uint) ActionID.Aero, 20},
};

public static Dictionary<uint, float> ActionHealRatio = new();
public static HashSet<uint> InvincibleStatus = [];

public static RotationSolverRecord RotationSolverRecord = new();

Expand Down Expand Up @@ -95,12 +47,6 @@ public static void Init()

Task.Run(() => InitOne(ref BeneficialPositions, nameof(BeneficialPositions)));

Task.Run(() => InitOne(ref ActionAOECounts, nameof(ActionAOECounts)));

Task.Run(() => InitOne(ref ActionTTK, nameof(ActionTTK)));

Task.Run(() => InitOne(ref ActionHealRatio, nameof(ActionHealRatio)));

Task.Run(() => InitOne(ref RotationSolverRecord, nameof(RotationSolverRecord), false));
}

Expand All @@ -118,30 +64,13 @@ public static Task Save()
await SaveBeneficialPositions();
await SaveRotationSolverRecord();
await SaveNoProvokeNames();
await SaveActionAOECounts();
await SaveActionTTK();
await SaveActionHealRatio();
});
}
public static Task SavePriorityStatus()
{
return Task.Run(() => Save(PriorityStatus, nameof(PriorityStatus)));
}

public static Task SaveActionHealRatio()
{
return Task.Run(() => Save(ActionHealRatio, nameof(ActionHealRatio)));
}

public static Task SaveActionTTK()
{
return Task.Run(() => Save(ActionTTK, nameof(ActionTTK)));
}

public static Task SaveActionAOECounts()
{
return Task.Run(() => Save(ActionAOECounts, nameof(ActionAOECounts)));
}
public static Task SaveRotationSolverRecord()
{
return Task.Run(() => Save(RotationSolverRecord, nameof(RotationSolverRecord)));
Expand Down
24 changes: 24 additions & 0 deletions RotationSolver.Basic/Rotations/Basic/AstrologianRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,14 @@ static partial void ModifyEarthlyStarPvE(ref ActionSetting setting)
};
}

static partial void ModifyGravityPvE(ref ActionSetting setting)
{
setting.CreateConfig = () => new()
{
AoeCount = 2,
};
}

static partial void ModifyTheArrowPvE(ref ActionSetting setting)
{
setting.TargetStatusProvide = StatusHelper.AstCardStatus;
Expand Down Expand Up @@ -161,6 +169,22 @@ static partial void ModifyTheSpirePvE(ref ActionSetting setting)
setting.ActionCheck = () => DrawnCard == CardType.SPIRE;
}

static partial void ModifyLightspeedPvE(ref ActionSetting setting)
{
setting.CreateConfig = () => new()
{
TimeToKill = 10,
};
}

static partial void ModifyNeutralSectPvE(ref ActionSetting setting)
{
setting.CreateConfig = () => new()
{
TimeToKill = 15,
};
}

/// <summary>
///
/// </summary>
Expand Down
36 changes: 36 additions & 0 deletions RotationSolver.Basic/Rotations/Basic/BardRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -88,11 +88,19 @@ static partial void ModifyPitchPerfectPvE(ref ActionSetting setting)
static partial void ModifyQuickNockPvE(ref ActionSetting setting)
{
setting.StatusProvide = [StatusID.ShadowbiteReady];
setting.CreateConfig = () => new()
{
AoeCount = 2,
};
}

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

static partial void ModifyApexArrowPvE(ref ActionSetting setting)
Expand All @@ -106,9 +114,29 @@ static partial void ModifyBlastArrowPvE(ref ActionSetting setting)
setting.StatusNeed = [StatusID.BlastArrowReady];
}

static partial void ModifyRainOfDeathPvE(ref ActionSetting setting)
{
setting.CreateConfig = () => new()
{
AoeCount = 2,
};
}

static partial void ModifyRadiantFinalePvE(ref ActionSetting setting)
{
setting.ActionCheck = () => JobGauge.Coda.Any(s => s != Song.NONE);
setting.CreateConfig = () => new()
{
TimeToKill = 10,
};
}

static partial void ModifyRagingStrikesPvE(ref ActionSetting setting)
{
setting.CreateConfig = () => new()
{
TimeToKill = 10,
};
}

static partial void ModifyTroubadourPvE(ref ActionSetting setting)
Expand All @@ -117,6 +145,14 @@ static partial void ModifyTroubadourPvE(ref ActionSetting setting)
setting.StatusProvide = StatusHelper.RangePhysicalDefense;
}

static partial void ModifyBattleVoicePvE(ref ActionSetting setting)
{
setting.CreateConfig = () => new()
{
TimeToKill = 10,
};
}

/// <inheritdoc/>
[RotationDesc(ActionID.TheWardensPaeanPvE)]
protected override bool DispelGCD(out IAction? act)
Expand Down
16 changes: 16 additions & 0 deletions RotationSolver.Basic/Rotations/Basic/BlueMageRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,22 @@ public enum BLUID : byte
protected BLUID BlueId { get; set; } = BLUID.DPS;

private protected sealed override IBaseAction Raise => AngelWhisperPvE;

static partial void ModifyFeatherRainPvE(ref ActionSetting setting)
{
setting.CreateConfig = () => new()
{
AoeCount = 1,
};
}

static partial void ModifyEruptionPvE(ref ActionSetting setting)
{
setting.CreateConfig = () => new()
{
AoeCount = 1,
};
}
}

///// <summary>
Expand Down
12 changes: 12 additions & 0 deletions RotationSolver.Basic/Rotations/Basic/DancerRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,19 @@ static partial void ModifyWindmillPvE(ref ActionSetting setting)
static partial void ModifyBladeshowerPvE(ref ActionSetting setting)
{
setting.StatusProvide = [StatusID.SilkenFlow];
setting.CreateConfig = () => new()
{
AoeCount = 2,
};
}

static partial void ModifyRisingWindmillPvE(ref ActionSetting setting)
{
setting.StatusNeed = [StatusID.SilkenSymmetry, StatusID.FlourishingSymmetry];
setting.CreateConfig = () => new()
{
AoeCount = 2,
};
}

static partial void ModifyBloodshowerPvE(ref ActionSetting setting)
Expand All @@ -77,6 +85,10 @@ static partial void ModifyFanDanceIiPvE(ref ActionSetting setting)
{
setting.ActionCheck = () => Feathers > 0;
setting.StatusProvide = [StatusID.ThreefoldFanDance];
setting.CreateConfig = () => new()
{
AoeCount = 2,
};
}

static partial void ModifyFanDanceIiiPvE(ref ActionSetting setting)
Expand Down
12 changes: 12 additions & 0 deletions RotationSolver.Basic/Rotations/Basic/DarkKnightRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,10 @@ static partial void ModifyQuietusPvE(ref ActionSetting setting)
static partial void ModifyStalwartSoulPvE(ref ActionSetting setting)
{
setting.StatusNeed = [StatusID.SaltedEarth];
setting.CreateConfig = () => new()
{
AoeCount = 2,
};
}

static partial void ModifySaltAndDarknessPvE(ref ActionSetting setting)
Expand Down Expand Up @@ -135,6 +139,14 @@ static partial void ModifyDeliriumPvE(ref ActionSetting setting)
};
}

static partial void ModifyUnleashPvE(ref ActionSetting setting)
{
setting.CreateConfig = () => new()
{
AoeCount = 2,
};
}

/// <inheritdoc/>
protected override bool EmergencyAbility(IAction nextGCD, out IAction? act)
{
Expand Down
16 changes: 16 additions & 0 deletions RotationSolver.Basic/Rotations/Basic/GunbreakerRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,22 @@ static partial void ModifyBloodfestPvE(ref ActionSetting setting)
setting.ActionCheck = () => MaxAmmo - Ammo > 1;
}

static partial void ModifyDemonSlicePvE(ref ActionSetting setting)
{
setting.CreateConfig = () => new()
{
AoeCount = 2,
};
}

static partial void ModifyDemonSlaughterPvE(ref ActionSetting setting)
{
setting.CreateConfig = () => new()
{
AoeCount = 2,
};
}

/// <inheritdoc/>
protected override bool EmergencyAbility(IAction nextGCD, out IAction? act)
{
Expand Down
12 changes: 12 additions & 0 deletions RotationSolver.Basic/Rotations/Basic/MachinistRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,10 @@ static partial void ModifyHeatBlastPvE(ref ActionSetting setting)
static partial void ModifyAutoCrossbowPvE(ref ActionSetting setting)
{
setting.ActionCheck = () => IsOverheated && !OverheatedEndAfterGCD();
setting.CreateConfig = () => new()
{
AoeCount = 2,
};
}

static partial void ModifyRookAutoturretPvE(ref ActionSetting setting)
Expand Down Expand Up @@ -101,6 +105,14 @@ static partial void ModifyQueenOverdrivePvE(ref ActionSetting setting)
};
}

static partial void ModifySpreadShotPvE(ref ActionSetting setting)
{
setting.CreateConfig = () => new()
{
AoeCount = 2,
};
}

static partial void ModifyBarrelStabilizerPvE(ref ActionSetting setting)
{
setting.ActionCheck = () => Heat <= 50 && InCombat;
Expand Down
Loading

0 comments on commit 083b25b

Please sign in to comment.