Skip to content

Add a Survivor emergency-rescue plugin - #1016

Closed
apples1949 wants to merge 1 commit into
SirPlease:masterfrom
apples1949:feat/l4d2-emergency-rescue
Closed

apples1949 wants to merge 1 commit into
SirPlease:masterfrom
apples1949:feat/l4d2-emergency-rescue

Conversation

@apples1949

Copy link
Copy Markdown

see #1012

A Survivor can lose a round to something that is not normal Special Infected
play: getting wedged in map geometry, pinned by a door or a lift, or eating a
bugged damage spike that instantly incaps them. None of that can be undone
through in-game mechanics, so the only answers today are restarting the round
or negotiating something on the fly, which regularly ends in a dispute.

l4d2_emergency_rescue gives the referee a standard, logged way to recover:

  - Teleport a Survivor to the position the referee is aiming at, to a per-map
    preset coordinate, or next to a chosen teammate. The destination is
    safety-checked first: the player hull has to fit, there has to be ground
    underneath, and no living Special Infected may be within
    l4d2_emergency_rescue_si_radius (default 250 units).
  - Set real or temporary health and set the incap count, keeping the
    third-strike flag and the black-and-white outline in step with it.
  - Roll a Survivor back to the state recorded just before their last incap.

Every teleport and every state change is written to
logs/l4d2_emergency_rescue.log and to the standard SourceMod admin log, with
the acting admin, the target and the old and new values, and both teams are
told that the match was adjusted.

Commands are registered with ADMFLAG_BAN, the flag the other referee commands
in this repository use, and can be overridden per command in
admin_overrides.cfg. The menu is reachable from sm_rescue and from
Admin Menu -> Server Commands.

The plugin stays inert during normal play: it only observes events to record
pre-accident state and never writes to the game unless a referee asks it to.
@SirPlease SirPlease closed this Sep 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants