using Content.Shared.Temperature.Components;
using Content.Shared.Temperature.Systems;
using Robust.Shared.Prototypes;
namespace Content.Shared.EntityEffects.Effects;
// TODO: When we get a proper temperature/energy struct combine this with the solution temperature effect!!!
///
/// Adjusts the temperature of this entity.
///
///
public sealed partial class AdjustTemperatureEntityEffectSystem : EntityEffectSystem
{
[Dependency] private readonly SharedTemperatureSystem _temperature = default!;
protected override void Effect(Entity entity, ref EntityEffectEvent args)
{
var amount = args.Effect.Amount * args.Scale;
_temperature.ChangeHeat(entity, amount, true, entity.Comp);
}
}
///
public sealed partial class AdjustTemperature : EntityEffectBase
{
///
/// Amount we're adjusting temperature by.
///
[DataField]
public float Amount;
public override string EntityEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys)
=> Loc.GetString("entity-effect-guidebook-adjust-temperature",
("chance", Probability),
("deltasign", MathF.Sign(Amount)),
("amount", Amount));
}