diff --git a/RotationSolver/ActionSequencer/TargetCondition.cs b/RotationSolver/ActionSequencer/TargetCondition.cs index 874c35e71..1e53493dd 100644 --- a/RotationSolver/ActionSequencer/TargetCondition.cs +++ b/RotationSolver/ActionSequencer/TargetCondition.cs @@ -80,6 +80,10 @@ public bool IsTrue(ICustomRotation rotation) result = !tar.WillStatusEndGCD((uint)GCD, DistanceOrTime, FromSelf, StatusId); break; + case TargetConditionType.DeadTime: + result = tar.GetDeadTime() > DistanceOrTime; + break; + case TargetConditionType.CastingAction: if (string.IsNullOrEmpty(CastingActionName) || tar.CastActionId == 0) { @@ -186,6 +190,7 @@ public void Draw(ICustomRotation rotation) case TargetConditionType.CastingActionTimeUntil: case TargetConditionType.Distance: case TargetConditionType.StatusEnd: + case TargetConditionType.DeadTime: combos = new string[] { ">", "<=" }; break; } @@ -308,5 +313,6 @@ public enum TargetConditionType : byte StatusEnd, StatusEndGCD, CastingAction, - CastingActionTimeUntil + CastingActionTimeUntil, + DeadTime, } \ No newline at end of file diff --git a/RotationSolver/Localization/EnumTranslations.cs b/RotationSolver/Localization/EnumTranslations.cs index a56f5f370..216c6cddd 100644 --- a/RotationSolver/Localization/EnumTranslations.cs +++ b/RotationSolver/Localization/EnumTranslations.cs @@ -1,6 +1,5 @@ using Dalamud.Game.ClientState.Keys; using RotationSolver.ActionSequencer; -using RotationSolver.Commands; namespace RotationSolver.Localization; @@ -16,6 +15,7 @@ internal static class EnumTranslations TargetConditionType.StatusEndGCD => LocalizationManager.RightLang.TargetConditionType_StatusEndGCD, TargetConditionType.CastingAction => LocalizationManager.RightLang.TargetConditionType_CastingAction, TargetConditionType.CastingActionTimeUntil => LocalizationManager.RightLang.TargetConditionType_CastingActionTimeUntil, + TargetConditionType.DeadTime => LocalizationManager.RightLang.TargetConditionType_DeadTime, _ => string.Empty, }; @@ -42,17 +42,6 @@ internal static class EnumTranslations _ => string.Empty, }; - public static string ToName(this VirtualKey k) => k switch - { - VirtualKey.SHIFT => "SHIFT", - VirtualKey.CONTROL => "CTRL", - VirtualKey.MENU => "ALT", - VirtualKey.LBUTTON => "Left Mouse", - VirtualKey.MBUTTON => "Middle Mouse", - VirtualKey.RBUTTON => "Right Mouse", - _ => k.ToString(), - }; - public static string ToName(this DescType type) => type switch { DescType.BurstActions => LocalizationManager.RightLang.DescType_BurstActions, @@ -75,20 +64,6 @@ internal static class EnumTranslations _ => string.Empty, }; - public static string ToName(this JobRole role) => role switch - { - JobRole.None => LocalizationManager.RightLang.JobRole_None, - JobRole.Tank => LocalizationManager.RightLang.JobRole_Tank, - JobRole.Melee => LocalizationManager.RightLang.JobRole_Melee, - JobRole.Ranged => LocalizationManager.RightLang.JobRole_Ranged, - JobRole.Healer => LocalizationManager.RightLang.JobRole_Healer, - JobRole.RangedPhysical => LocalizationManager.RightLang.JobRole_RangedPhysical, - JobRole.RangedMagical => LocalizationManager.RightLang.JobRole_RangedMagical, - JobRole.DiscipleOfTheLand => LocalizationManager.RightLang.JobRole_DiscipleOfTheLand, - JobRole.DiscipleOfTheHand => LocalizationManager.RightLang.JobRole_DiscipleOfTheHand, - _ => string.Empty, - }; - public static string ToName(this TargetingType role) => role switch { TargetingType.Big => LocalizationManager.RightLang.TargetingType_Big, diff --git a/RotationSolver/Localization/Strings.cs b/RotationSolver/Localization/Strings.cs index fa280e61a..12005a9cf 100644 --- a/RotationSolver/Localization/Strings.cs +++ b/RotationSolver/Localization/Strings.cs @@ -372,6 +372,7 @@ internal partial class Strings public string TargetConditionType_IsBoss { get; set; } = "Is Boss"; public string TargetConditionType_Distance { get; set; } = "Distance"; public string TargetConditionType_StatusEnd { get; set; } = "Status End"; + public string TargetConditionType_DeadTime { get; set; } = "Dead Time"; public string TargetConditionType_StatusEndGCD { get; set; } = "Status End GCD"; public string TargetConditionType_CastingAction { get; set; } = "Casting Action"; public string TargetConditionType_CastingActionTimeUntil { get; set; } = "Casting Action Time Until"; @@ -396,19 +397,6 @@ internal partial class Strings #endregion - #region JobRole - public string JobRole_None { get; set; } = "Gathering&Production"; - public string JobRole_Tank { get; set; } = "Tank"; - public string JobRole_Melee { get; set; } = "Melee"; - public string JobRole_Ranged { get; set; } = "Ranged"; - public string JobRole_Healer { get; set; } = "Healer"; - public string JobRole_RangedPhysical { get; set; } = "Ranged"; - public string JobRole_RangedMagical { get; set; } = "Magical"; - public string JobRole_DiscipleOfTheLand { get; set; } = "Disciple of the Land"; - public string JobRole_DiscipleOfTheHand { get; set; } = "Disciple of the Hand"; - - #endregion - public Dictionary MemberInfoName { get; set; } = new Dictionary() { #region Rotation diff --git a/RotationSolver/Updaters/RotationUpdater.cs b/RotationSolver/Updaters/RotationUpdater.cs index 8fda57103..094131c85 100644 --- a/RotationSolver/Updaters/RotationUpdater.cs +++ b/RotationSolver/Updaters/RotationUpdater.cs @@ -463,7 +463,9 @@ internal static ICustomRotation GetChosenRotation(CustomRotationGroup group) var name = Service.Config.GetJobConfig(group.JobId).RotationChoice; var rotation = group.Rotations.FirstOrDefault(r => r.GetType().FullName == name); - rotation ??= group.Rotations.FirstOrDefault(r => r.GetType().FullName.Contains("Default", StringComparison.OrdinalIgnoreCase)); + rotation ??= group.Rotations.FirstOrDefault(r => r.GetType().Assembly.FullName.Contains("SupportersRotations", StringComparison.OrdinalIgnoreCase)); + + rotation ??= group.Rotations.FirstOrDefault(r => r.GetType().Assembly.FullName.Contains("DefaultRotations", StringComparison.OrdinalIgnoreCase)); rotation ??= group.Rotations.FirstOrDefault(); diff --git a/XIVPainter b/XIVPainter index a87a2f7b6..819f7e98e 160000 --- a/XIVPainter +++ b/XIVPainter @@ -1 +1 @@ -Subproject commit a87a2f7b64a71e0b3b04fb44ad943570e87c93e3 +Subproject commit 819f7e98e7e476955483a4ac0cc8934d3ee63291