Precompute base progress/quality increases
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user