diff --git a/Resources/HostileCastingArea.json b/Resources/HostileCastingArea.json index 1770c2fe8..6f2ed079f 100644 --- a/Resources/HostileCastingArea.json +++ b/Resources/HostileCastingArea.json @@ -506,5 +506,6 @@ 11464, 11612, 11306, - 11308 + 11308, + 33139 ] \ No newline at end of file diff --git a/Resources/RotationSolverRecord.json b/Resources/RotationSolverRecord.json index 102d5e144..4af6db0f5 100644 --- a/Resources/RotationSolverRecord.json +++ b/Resources/RotationSolverRecord.json @@ -1,5 +1,5 @@ { - "ClickingCount": 77828, - "SayingHelloCount": 67, + "ClickingCount": 81534, + "SayingHelloCount": 72, "SaidUsers": [] } \ No newline at end of file diff --git a/RotationSolver.Basic/Actions/ActionSetting.cs b/RotationSolver.Basic/Actions/ActionSetting.cs index 920863cc4..3739bacb0 100644 --- a/RotationSolver.Basic/Actions/ActionSetting.cs +++ b/RotationSolver.Basic/Actions/ActionSetting.cs @@ -35,7 +35,24 @@ public class ActionSetting() private TargetType _type = TargetType.Big; public TargetType TargetType { - get => IBaseAction.TargetOverride ?? _type; + get + { + var type = IBaseAction.TargetOverride ?? _type; + if (IsFriendly) + { + + } + else + { + switch (type) + { + case TargetType.BeAttacked: + return _type; + } + } + + return type; + } set => _type = value; } diff --git a/RotationSolver.Basic/Actions/ActionTargetInfo.cs b/RotationSolver.Basic/Actions/ActionTargetInfo.cs index 330c29930..ccbbc0d45 100644 --- a/RotationSolver.Basic/Actions/ActionTargetInfo.cs +++ b/RotationSolver.Basic/Actions/ActionTargetInfo.cs @@ -557,12 +557,12 @@ private readonly bool CanGetTarget(GameObject target, GameObject subTarget) BattleChara? FindTargetForMoving() { - if (!IBaseAction.ActionPreview && !DataCenter.MergedStatus.HasFlag(AutoStatus.MoveForward)) - { - var o = gameObjects.MinBy(b => b.DistanceToPlayer()); - if (o.DistanceToPlayer() < 1) return o; - return null; - } + //if (!IBaseAction.ActionPreview && !DataCenter.MergedStatus.HasFlag(AutoStatus.MoveForward)) + //{ + // var o = gameObjects.MinBy(b => b.DistanceToPlayer()); + // if (o.DistanceToPlayer() < 1) return o; + // return null; + //} const float DISTANCE_TO_MOVE = 3; diff --git a/RotationSolver.Basic/Configuration/Configs.cs b/RotationSolver.Basic/Configuration/Configs.cs index 83b52feb4..c9c153793 100644 --- a/RotationSolver.Basic/Configuration/Configs.cs +++ b/RotationSolver.Basic/Configuration/Configs.cs @@ -140,7 +140,7 @@ public const string private static readonly bool _showTarget = true; [ConditionBool, UI("Show the target's time to kill.", - Parent = UiOverlay)] + Parent = nameof(ShowTarget))] private static readonly bool _showTargetTimeToKill = false; [ConditionBool, UI("Priority attack targets with attack markers", diff --git a/RotationSolver.Basic/Rotations/CustomRotation_Ability.cs b/RotationSolver.Basic/Rotations/CustomRotation_Ability.cs index e7a29f73b..60b0866d9 100644 --- a/RotationSolver.Basic/Rotations/CustomRotation_Ability.cs +++ b/RotationSolver.Basic/Rotations/CustomRotation_Ability.cs @@ -45,7 +45,7 @@ private bool Ability(IAction nextGCD, out IAction? act) if (DataCenter.MergedStatus.HasFlag(AutoStatus.Positional) && role == JobRole.Melee && !(Player?.HasStatus(false, StatusHelper.NoPositionalStatus) ?? true)) { - if (TrueNorthPvE.CanUse(out act, isEmpty: true)) return true; + if (TrueNorthPvE.CanUse(out act, isEmpty: true, onLastAbility: true)) return true; } IBaseAction.TargetOverride = TargetType.Heal; diff --git a/RotationSolver/Localization/Localization.json b/RotationSolver/Localization/Localization.json index 6c3d53656..3ca7a3b84 100644 --- a/RotationSolver/Localization/Localization.json +++ b/RotationSolver/Localization/Localization.json @@ -255,5 +255,14 @@ "DownloadRotationsName": "Auto Download Rotations", "AutoLoadCustomRotationsName": "Auto load rotations", "RotationSolver.Data.UiString.ConfigWindow_Rotations_Library": "The folder contains rotation libs or the download url about rotation lib.", - "RotationSolver.Data.UiString.SpecialCommandType_LimitBreak": "Limit Break" + "RotationSolver.Data.UiString.SpecialCommandType_LimitBreak": "Limit Break", + "UseOverlayWindowDescription": "This top window is used to display some extra information on your game window, such as target's positional, target and sub-target, etc.", + "DrawingHeightName": "The height of the drawing things.", + "SampleLengthName": "Drawing smoothness.", + "BeneficialPositionColorName": "The color of beneficial AoE positions", + "HoveredBeneficialPositionColorName": "The color of the hovered beneficial position", + "StateIconHeightName": "State icon height", + "StateIconSizeName": "State icon size", + "TargetIconSizeName": "The size of the next ability that will be used icon.", + "ShowTargetTimeToKillName": "Show the target's time to kill." } \ No newline at end of file