Skip to content

Commit

Permalink
Merge pull request #144 from FFXIV-CombatReborn/cooldown-fixes
Browse files Browse the repository at this point in the history
Cooldown fixes
  • Loading branch information
NostraThomas99 authored May 10, 2024
2 parents 58d847d + 33267d0 commit 6462d59
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 14 deletions.
2 changes: 1 addition & 1 deletion RotationSolver.Basic/Actions/ActionCooldownInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ internal bool CooldownCheck(bool isEmpty, bool onLastAbility, bool ignoreClippin

if (!isEmpty)
{
if (RecastTimeRemain > DataCenter.DefaultGCDRemain * gcdCountForAbility)
if (RecastTimeRemain > DataCenter.DefaultGCDRemain + DataCenter.DefaultGCDTotal * gcdCountForAbility)
return false;
}
}
Expand Down
2 changes: 1 addition & 1 deletion RotationSolver.Basic/DataCenter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ public static unsafe ushort FateId
#region GCD
public static float DefaultGCDTotal => ActionManagerHelper.GetDefaultRecastTime();

public static float DefaultGCDRemain => ActionManagerHelper.GetDefaultRecastTime() - ActionManagerHelper.GetDefaultRecastTimeElapsed() - ActionManagerHelper.GetCurrentAnimationLock();
public static float DefaultGCDRemain => ActionManagerHelper.GetDefaultRecastTime() - ActionManagerHelper.GetDefaultRecastTimeElapsed();

public static float DefaultGCDElapsed => ActionManagerHelper.GetDefaultRecastTimeElapsed();

Expand Down
8 changes: 4 additions & 4 deletions RotationSolver.Basic/Rotations/Basic/SummonerRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -125,19 +125,19 @@ public override void DisplayStatus()
static partial void ModifySummonRubyPvE(ref ActionSetting setting)
{
setting.StatusProvide = [StatusID.IfritsFavor];
setting.ActionCheck = () => HasSummon && IsIfritReady;
setting.ActionCheck = () => SummonTime <= WeaponRemain && IsIfritReady;
}

static partial void ModifySummonTopazPvE(ref ActionSetting setting)
{
setting.ActionCheck = () => HasSummon && IsTitanReady;
setting.ActionCheck = () => SummonTime <= WeaponRemain && IsTitanReady;
setting.UnlockedByQuestID = 66639;
}

static partial void ModifySummonEmeraldPvE(ref ActionSetting setting)
{
setting.StatusProvide = [StatusID.GarudasFavor];
setting.ActionCheck = () => HasSummon && IsGarudaReady;
setting.ActionCheck = () => SummonTime <= WeaponRemain && IsGarudaReady;
}

static RandomDelay _carbuncleDelay = new (() => (2, 2));
Expand All @@ -163,7 +163,7 @@ static partial void ModifyAetherchargePvE(ref ActionSetting setting)

static partial void ModifySummonBahamutPvE(ref ActionSetting setting)
{
setting.ActionCheck = () => InCombat && HasSummon;
setting.ActionCheck = () => InCombat && SummonTime <= WeaponRemain;
setting.UnlockedByQuestID = 68165;
}

Expand Down
11 changes: 4 additions & 7 deletions RotationSolver.DummyRotations/DummyClass.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,14 @@ public enum DummyClassConfig
public DummyClassConfig DummyClassConfigValue { get; set; } = DummyClassConfig.DummyConfig1;
protected override bool GeneralGCD(out IAction? act)
{
return base.GeneralGCD(out act);
act = null;
if (DrillPvE.CanUse(out act)) return true;
return false;
}

protected override bool GeneralAbility(IAction nextGCD, out IAction? act)
{
act = null;
if (BishopAutoturretPvP.CanUse(out act))
{
return true;
}
return false;
return base.GeneralAbility(nextGCD, out act);
}

protected override IAction? CountDownAction(float remainTime)
Expand Down
11 changes: 10 additions & 1 deletion RotationSolver/Localization/Localization.json
Original file line number Diff line number Diff line change
Expand Up @@ -424,5 +424,14 @@
"RotationSolver.Data.UiString.ConfigWindow_About_Compatibility_Description": "Literally, Rotation Solver helps you to choose the target and then click the action. So any plugin that changes these will affect its decision.\n\nHere is a list of known incompatible plugins:",
"RotationSolver.Data.UiString.ConfigWindow_About_Compatibility_Mislead": "Conflicts with RSR decision making",
"RotationSolver.Data.UiString.ConfigWindow_About_Compatibility_Mistake": "Can't properly execute the behavior that RSR wants to do.",
"RotationSolver.Data.UiString.ConfigWindow_About_Compatibility_Crash": "Causes the game to crash."
"RotationSolver.Data.UiString.ConfigWindow_About_Compatibility_Crash": "Causes the game to crash.",
"RotationSolver.Data.UiString.WelcomeWindow_Header": "Welcome to Rotation Solver Reborn!",
"RotationSolver.Data.UiString.WelcomeWindow_WelcomeBack": "Here's what you missed since the last time you were here",
"RotationSolver.Data.UiString.WelcomeWindow_Changelog": "Recent Changes:",
"RotationSolver.Basic.Data.DescType.DefenseAreaAbility": "Defense Area Ability",
"RotationSolver.Basic.Data.DescType.DefenseSingleAbility": "Defense Single Ability",
"RotationSolver.Basic.Data.DescType.MoveForwardAbility": "Move Forward Ability",
"RotationSolver.Basic.Data.DescType.SpeedAbility": "Speed Ability",
"DefaultRotations.Melee.RPR_Default.Name": "EnshroudPooling",
"DefaultRotations.Melee.RPR_Default.DisplayName": "[Beta Option] Pool Shroud for Arcane Circle."
}

0 comments on commit 6462d59

Please sign in to comment.