diff --git a/Content.Server/Body/Systems/BodySystem.cs b/Content.Server/Body/Systems/BodySystem.cs index 351239c73a..1630d4cb10 100644 --- a/Content.Server/Body/Systems/BodySystem.cs +++ b/Content.Server/Body/Systems/BodySystem.cs @@ -37,7 +37,6 @@ public sealed class BodySystem : SharedBodySystem SubscribeLocalEvent(OnRelayMoveInput); SubscribeLocalEvent(OnApplyMetabolicMultiplier); - SubscribeLocalEvent(OnBeingMicrowaved); } private void OnRelayMoveInput(EntityUid uid, BodyComponent component, ref MoveInputEvent args) @@ -65,19 +64,6 @@ public sealed class BodySystem : SharedBodySystem } } - private void OnBeingMicrowaved(EntityUid uid, BodyComponent component, BeingMicrowavedEvent args) - { - if (args.Handled) - return; - - // Don't microwave animals, kids - SharedTransform.AttachToGridOrMap(uid); - _appearance.SetData(args.Microwave, MicrowaveVisualState.Bloody, true); - GibBody(uid, false, component); - - args.Handled = true; - } - protected override void AddPart( EntityUid bodyUid, EntityUid partUid, diff --git a/Content.Server/Kitchen/Components/MicrowaveComponent.cs b/Content.Server/Kitchen/Components/MicrowaveComponent.cs index 631ce6a450..f0d0ffd95f 100644 --- a/Content.Server/Kitchen/Components/MicrowaveComponent.cs +++ b/Content.Server/Kitchen/Components/MicrowaveComponent.cs @@ -16,6 +16,10 @@ namespace Content.Server.Kitchen.Components public string MachinePartCookTimeMultiplier = "Capacitor"; [DataField("cookTimeScalingConstant")] public float CookTimeScalingConstant = 0.5f; + [DataField("baseHeatMultiplier"), ViewVariables(VVAccess.ReadWrite)] + public float BaseHeatMultiplier = 100; + [DataField("objectHeatMultiplier"), ViewVariables(VVAccess.ReadWrite)] + public float ObjectHeatMultiplier = 100; [DataField("failureResult", customTypeSerializer: typeof(PrototypeIdSerializer))] public string BadRecipeEntityId = "FoodBadRecipe"; diff --git a/Content.Server/Kitchen/EntitySystems/MicrowaveSystem.cs b/Content.Server/Kitchen/EntitySystems/MicrowaveSystem.cs index fb9ea29042..38965a19d5 100644 --- a/Content.Server/Kitchen/EntitySystems/MicrowaveSystem.cs +++ b/Content.Server/Kitchen/EntitySystems/MicrowaveSystem.cs @@ -105,11 +105,11 @@ namespace Content.Server.Kitchen.EntitySystems /// The time on the microwave, in seconds. private void AddTemperature(MicrowaveComponent component, float time) { - var heatToAdd = time * 100; + var heatToAdd = time * component.BaseHeatMultiplier; foreach (var entity in component.Storage.ContainedEntities) { if (TryComp(entity, out var tempComp)) - _temperature.ChangeHeat(entity, heatToAdd, false, tempComp); + _temperature.ChangeHeat(entity, heatToAdd * component.ObjectHeatMultiplier, false, tempComp); if (!TryComp(entity, out var solutions)) continue; @@ -482,10 +482,13 @@ namespace Content.Server.Kitchen.EntitySystems //check if there's still cook time left active.CookTimeRemaining -= frameTime; if (active.CookTimeRemaining > 0) + { + AddTemperature(microwave, frameTime); continue; + } //this means the microwave has finished cooking. - AddTemperature(microwave, active.TotalTime); + AddTemperature(microwave, Math.Max(frameTime + active.CookTimeRemaining, 0)); //Though there's still a little bit more heat to pump out if (active.PortionedRecipe.Item1 != null) {