Make cyborgs hands explosion proof. (#26515)

* Make the advanced treatment modules beakers explosion-proof.

* undo changes

* Epic rename fail

* Explosion recursion data field

* Logic for data field
This commit is contained in:
Simon
2024-04-02 07:18:31 +02:00
committed by GitHub
parent 5d31335f98
commit 307a1c534d
3 changed files with 10 additions and 0 deletions

View File

@@ -75,6 +75,9 @@ namespace Content.Server.Hands.Systems
private void OnExploded(Entity<HandsComponent> ent, ref BeforeExplodeEvent args)
{
if (ent.Comp.DisableExplosionRecursion)
return;
foreach (var hand in ent.Comp.Hands.Values)
{
if (hand.HeldEntity is { } uid)

View File

@@ -31,6 +31,12 @@ public sealed partial class HandsComponent : Component
/// </summary>
public List<string> SortedHands = new();
/// <summary>
/// If true, the items in the hands won't be affected by explosions.
/// </summary>
[DataField]
public bool DisableExplosionRecursion = false;
/// <summary>
/// The amount of throw impulse per distance the player is from the throw target.
/// </summary>

View File

@@ -83,6 +83,7 @@
templateId: borg
- type: Hands
showInHands: false
disableExplosionRecursion: true
- type: IntrinsicRadioReceiver
- type: IntrinsicRadioTransmitter
channels: