Files
Craftimizer/Simulator/Actions/BaseBuffAction.cs
T
2023-06-18 03:50:48 -07:00

28 lines
803 B
C#

using System.Text;
namespace Craftimizer.Simulator.Actions;
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);
Simulation.AddEffect(Effect, Duration);
}
public override string GetTooltip(bool addUsability)
{
var builder = new StringBuilder(base.GetTooltip(addUsability));
builder.AppendLine($"{Duration} Steps");
return builder.ToString();
}
}