From 06e0ecf20905d38857362b7766a22c58ddc9f3c2 Mon Sep 17 00:00:00 2001 From: Asriel Camora Date: Wed, 19 Jun 2024 23:12:30 -0700 Subject: [PATCH] Don't tick Manipulation when action doesn't increase step count --- Craftimizer/Craftimizer.csproj | 2 +- Craftimizer/Utils/PopulateConverter.cs | 22 ---------------------- Simulator/Actions/BaseAction.cs | 17 ++++++++--------- Simulator/Actions/Manipulation.cs | 5 ++--- 4 files changed, 11 insertions(+), 35 deletions(-) delete mode 100644 Craftimizer/Utils/PopulateConverter.cs diff --git a/Craftimizer/Craftimizer.csproj b/Craftimizer/Craftimizer.csproj index 273579c..8b025e7 100644 --- a/Craftimizer/Craftimizer.csproj +++ b/Craftimizer/Craftimizer.csproj @@ -2,7 +2,7 @@ Asriel Camora - 2.4.3.0 + 2.4.2.0 https://github.com/WorkingRobot/craftimizer.git Debug;Release diff --git a/Craftimizer/Utils/PopulateConverter.cs b/Craftimizer/Utils/PopulateConverter.cs deleted file mode 100644 index 2300abe..0000000 --- a/Craftimizer/Utils/PopulateConverter.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Newtonsoft.Json; -using System; - -namespace Craftimizer.Utils; - -public class PopulateConverter : JsonConverter -{ - public override bool CanConvert(Type objectType) => - objectType.GetConstructor(Type.EmptyTypes) != null; - - public override object? ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer) - { - existingValue ??= Activator.CreateInstance(objectType) ?? throw new ArgumentException($"Could not create object of type {objectType}", nameof(objectType)); - serializer.Populate(reader, existingValue); - return existingValue; - } - - public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) - { - serializer.Serialize(writer, value); - } -} diff --git a/Simulator/Actions/BaseAction.cs b/Simulator/Actions/BaseAction.cs index 51416e6..90435ce 100644 --- a/Simulator/Actions/BaseAction.cs +++ b/Simulator/Actions/BaseAction.cs @@ -69,20 +69,19 @@ public abstract class BaseAction( s.ReduceCP(CPCost(s)); s.ReduceDurability(DurabilityCost); - if (s.Durability > 0) - { - if (s.HasEffect(EffectType.Manipulation)) - s.RestoreDurability(5); - } - if (IncreasesStepCount) + { + if (s.Durability > 0) + if (s.HasEffect(EffectType.Manipulation)) + s.RestoreDurability(5); + s.IncreaseStepCount(); + s.ActiveEffects.DecrementDuration(); + } + s.ActionStates.MutateState(this); s.ActionCount++; - - if (IncreasesStepCount) - s.ActiveEffects.DecrementDuration(); } public virtual void UseSuccess(Simulator s) diff --git a/Simulator/Actions/Manipulation.cs b/Simulator/Actions/Manipulation.cs index 571d296..79372fc 100644 --- a/Simulator/Actions/Manipulation.cs +++ b/Simulator/Actions/Manipulation.cs @@ -18,8 +18,7 @@ internal sealed class Manipulation() : BaseBuffAction( s.ActionStates.MutateState(this); s.ActionCount++; - - if (IncreasesStepCount) - s.ActiveEffects.DecrementDuration(); + + s.ActiveEffects.DecrementDuration(); } }