25 lines
959 B
C#
25 lines
959 B
C#
using System;
|
||
using System.Collections.Generic;
|
||
using RobotAndDonkey.Game.Data;
|
||
using RobotAndDonkey.Game.Execution.Results;
|
||
using RobotAndDonkey.Game.GameState;
|
||
using RobotAndDonkey.Game.Intents;
|
||
|
||
namespace RobotAndDonkey.Game.Modifiers;
|
||
|
||
public record HeatWaveModifier(EModifierDuration Duration) : Modifier(EModifierKind.Robot, EModifierId.HeatWave, Duration)
|
||
{
|
||
protected override HeatWaveModifier CreateInstance() => new(Duration);
|
||
|
||
public override void OnAdded(Entity owner, List<Intent> newIntents)
|
||
{
|
||
newIntents.Add(new ModifyCurrency(new(-Balancing.Instance.HeatWaveEnergyPenalty, 0, 0, 0, 0, 0)));
|
||
}
|
||
|
||
public override void OnRemoved(Entity owner, List<Intent> newIntents)
|
||
{
|
||
newIntents.Add(new ModifyCurrency(new(Balancing.Instance.HeatWaveEnergyPenalty, 0, 0, 0, 0, 0)));
|
||
}
|
||
|
||
public override string ToolTip => $"Heat wave: immediate −{Balancing.Instance.HeatWaveEnergyPenalty} Energy (temporary).";
|
||
} |