Entities gib when being microwaved (#8144)

This commit is contained in:
Kara
2022-05-13 21:04:45 -07:00
committed by GitHub
parent e064327464
commit 2273b58fbe
2 changed files with 17 additions and 0 deletions

View File

@@ -1,6 +1,7 @@
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
using Content.Server.Body.Components; using Content.Server.Body.Components;
using Content.Server.GameTicking; using Content.Server.GameTicking;
using Content.Server.Kitchen.Components;
using Content.Server.Mind.Components; using Content.Server.Mind.Components;
using Content.Shared.Body.Components; using Content.Shared.Body.Components;
using Content.Shared.MobState.Components; using Content.Shared.MobState.Components;
@@ -19,6 +20,7 @@ namespace Content.Server.Body.Systems
base.Initialize(); base.Initialize();
SubscribeLocalEvent<BodyComponent, RelayMoveInputEvent>(OnRelayMoveInput); SubscribeLocalEvent<BodyComponent, RelayMoveInputEvent>(OnRelayMoveInput);
SubscribeLocalEvent<BodyComponent, ApplyMetabolicMultiplierEvent>(OnApplyMetabolicMultiplier); SubscribeLocalEvent<BodyComponent, ApplyMetabolicMultiplierEvent>(OnApplyMetabolicMultiplier);
SubscribeLocalEvent<BodyComponent, BeingMicrowavedEvent>(OnBeingMicrowaved);
} }
private void OnRelayMoveInput(EntityUid uid, BodyComponent component, RelayMoveInputEvent args) private void OnRelayMoveInput(EntityUid uid, BodyComponent component, RelayMoveInputEvent args)
@@ -46,6 +48,18 @@ namespace Content.Server.Body.Systems
} }
} }
private void OnBeingMicrowaved(EntityUid uid, BodyComponent component, BeingMicrowavedEvent args)
{
if (args.Handled)
return;
// Don't microwave animals, kids
Transform(uid).AttachToGridOrMap();
component.Gib();
args.Handled = true;
}
/// <summary> /// <summary>
/// Returns a list of ValueTuples of <see cref="T"/> and MechanismComponent on each mechanism /// Returns a list of ValueTuples of <see cref="T"/> and MechanismComponent on each mechanism
/// in the given body. /// in the given body.

View File

@@ -211,7 +211,10 @@ namespace Content.Server.Kitchen.Components
_entities.EventBus.RaiseLocalEvent(item, ev, false); _entities.EventBus.RaiseLocalEvent(item, ev, false);
if (ev.Handled) if (ev.Handled)
{
UIDirty = true;
return; return;
}
var tagSys = EntitySystem.Get<TagSystem>(); var tagSys = EntitySystem.Get<TagSystem>();