Precompute base progress/quality increases

This commit is contained in:
Asriel Camora
2023-06-20 17:07:16 -07:00
parent 1d0d4cf8ce
commit cdd4f5923e
8 changed files with 55 additions and 38 deletions
+1 -7
View File
@@ -6,17 +6,11 @@ internal abstract class BaseBuffAction : BaseAction
{
public abstract EffectType Effect { get; }
public virtual byte Duration => 1;
public virtual EffectType[] ConflictingEffects => Array.Empty<EffectType>();
public override int DurabilityCost => 0;
public override void UseSuccess()
{
if (ConflictingEffects.Length != 0)
foreach(var effect in ConflictingEffects)
Simulation.RemoveEffect(effect);
public override void UseSuccess() =>
Simulation.AddEffect(Effect, Duration);
}
public override string GetTooltip(bool addUsability)
{
+6 -1
View File
@@ -10,5 +10,10 @@ internal sealed class WasteNot : BaseBuffAction
public override EffectType Effect => EffectType.WasteNot;
public override byte Duration => 4;
public override EffectType[] ConflictingEffects => new[] { EffectType.WasteNot2 };
public override void UseSuccess()
{
base.UseSuccess();
Simulation.RemoveEffect(EffectType.WasteNot2);
}
}
+6 -1
View File
@@ -10,5 +10,10 @@ internal sealed class WasteNot2 : BaseBuffAction
public override EffectType Effect => EffectType.WasteNot2;
public override byte Duration => 8;
public override EffectType[] ConflictingEffects => new[] { EffectType.WasteNot };
public override void UseSuccess()
{
base.UseSuccess();
Simulation.RemoveEffect(EffectType.WasteNot);
}
}