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)); }