mirror of
https://github.com/DeltaV-Station/Delta-v.git
synced 2026-09-30 08:07:28 +00:00
* Reapply "Nubody Merge" (#5807) This reverts commitd62f7cef10. * Revert "Nubody Merge (#5670)" This reverts commitb465cfb3fd. * Revert "IPC fibers (#4968)" This reverts commitc2b42211f0. * Revert "IPC Polymorph fix (#4545)" This reverts commitfa03d8c655. * Revert "fix IPC not having humanoid emotes (#4445)" This reverts commit216fdf999f. * Revert "ipc heat/cold (#4306)" This reverts commitfafd5cf816. * Revert "ipc cables (#4283)" This reverts commit54958039a1. * Revert "feat: ipcs now have dynamic power draw based off movement speed (#3917)" This reverts commit71e8b7e64b. * Revert "fix ipcs not being able to disarm (#3374)" This reverts commit764c4dcf54. * Revert "make steel heal caustic for ipcs (#3206)" This reverts commit450ac82550. * Revert "add missing ipc survival boxes (#3065)" This reverts commit888c9cdb00. * Revert "make borgs use ipc repairing (#3064)" This reverts commitf77a49dd0b. * Revert "added ipc plushie (batteries not included) (#3023)" This reverts commit743cdbb606. * Revert "Update hud.yml to add ipcs to diagnostic hud (#3019)" This reverts commit7220643531. * Revert "Tweak IPCs (#2979)" This reverts commit98b47476de. * Revert "fix nukies ipc test fail (#2957)" This reverts commit4a1acbf863. * Revert "fix ipc nukies not getting comms (#2884)" This reverts commit8a2254770e. * Revert "fix ipc encryption key mispredict (#2879)" This reverts commitf08726efc1. * remove oil * Revert "Merge pull request #2800 from Spielern/port-ipc" This reverts commit822fa4312c, reversing changes made tofe4c23c702. * Remove and Fix rest of IPC Hangons causing crashes * Integration test Errors * Expand migration file with removed IPC stuff * IPC Leg was found and migrated to naught * motorkinds need to inherit an actual species base * forgot the alerts * irrelevant coscult code * excess casualties --------- Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
46 lines
1.3 KiB
C#
46 lines
1.3 KiB
C#
using Content.Server.Chat.Systems;
|
|
using Content.Server.Speech.Muting;
|
|
using Content.Shared.Mobs;
|
|
using Content.Shared.Speech.Muting;
|
|
using Robust.Shared.Prototypes;
|
|
|
|
namespace Content.Server.Mobs;
|
|
|
|
/// <see cref="DeathgaspComponent"/>
|
|
public sealed class DeathgaspSystem: EntitySystem
|
|
{
|
|
[Dependency] private readonly ChatSystem _chat = default!;
|
|
|
|
public override void Initialize()
|
|
{
|
|
base.Initialize();
|
|
|
|
SubscribeLocalEvent<DeathgaspComponent, MobStateChangedEvent>(OnMobStateChanged);
|
|
}
|
|
|
|
private void OnMobStateChanged(EntityUid uid, DeathgaspComponent component, MobStateChangedEvent args)
|
|
{
|
|
// don't deathgasp if they arent going straight from crit to dead
|
|
if (args.NewMobState != MobState.Dead || args.OldMobState != MobState.Critical)
|
|
return;
|
|
|
|
Deathgasp(uid, component);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Causes an entity to perform their deathgasp emote, if they have one.
|
|
/// </summary>
|
|
public bool Deathgasp(EntityUid uid, DeathgaspComponent? component = null)
|
|
{
|
|
if (!Resolve(uid, ref component, false))
|
|
return false;
|
|
|
|
if (HasComp<MutedComponent>(uid))
|
|
return false;
|
|
|
|
_chat.TryEmoteWithChat(uid, component.Prototype, ignoreActionBlocker: true);
|
|
|
|
return true;
|
|
}
|
|
}
|