Skip to content

Conversation

@trevorKirkby
Copy link

About the PR

Adds a new kind of remote signaller: the dead man's switch. This switch only sends its remote signal when you drop it, whether intentionally or otherwise. Using it in your hand instead toggles armed / disarmed status.

The dead man's switch has a signal range of 50 meters, the same as the advanced remote signaller. It also has a unique quirk: within a much shorter 1 meter range, devices normally requiring a countdown are triggered instantly!

The dead man's switch is available as a 2TC syndicate uplink item (unavailable to nuke ops).

Why / Balance

Traitors get a lot of different flavors of grenade or explosive, but the way they get used in practice can be kind of similar. A regular signaller or timer would already suffice for just bombing a place, but the dead man's switch opens up some new possibilities for bringing explosives to bear. Especially with custom payloads.

Also, while I doubt that engaging in theatrics will ever be the strictly optimal way to pursue antag objectives, sometimes it's still what's fun. This seems like the sort of item that could support player shenanigans.

I'm estimating the value of this item to be around 2TC. Source: this was once revealed to me in a dream.

Technical details

The dead man's switch behavior is handled by a new Component and associated System. Most of the interactions aren't very complicated: the dead man's switch is essentially just a remote signaller that triggers in response to DroppedEvent instead of UseInHandEvent. Other differences from the base item are that the trigger takes second to arm or disarm, and makes an audible clicking sound when toggled.

The "instantly trigger linked timers in a 1m radius" feature is the subject of the most recent commit, and wasn't quite as straightforward to implement on top of the existing systems. The code queries the device linking system to get the list of entities connected to the dead man's switch, then queries the wireless network system to find the ones within the instant trigger radius, then checks if there's a signal trigger linked to a timer trigger. If all of the above is true, it manually fires the "timer finished" trigger key, then temporarily blocks the timer from starting a redundant countdown (which it otherwise would try to do, since it has just received a signal trigger).

Also, there's a new sprite, based on the existing remote signaller sprite.

Media

deadman.mp4

Requirements

Breaking changes

Changelog

🆑

  • add: Traitors can now purchase a dead man's switch for 2 telecrystals.

@PJBot PJBot added S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. Changes: Sprites Changes: Might require knowledge of spriting or visual design. S: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. size/M Denotes a PR that changes 100-999 lines. labels Nov 21, 2025
@github-actions
Copy link
Contributor

RSI Diff Bot; head commit 3433d1e merging into ebf3883
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/Objects/Devices/signaller.rsi

State Old New Status
deadman-armed Added
deadman-inhand-left Added
deadman-inhand-right Added
deadman Added

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Changes: Sprites Changes: Might require knowledge of spriting or visual design. S: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. size/M Denotes a PR that changes 100-999 lines.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants