Files
Bubberstation/code/datums/ert.dm
Rhials f811d41ad9 New ERT: Code Violet EMT Response Team (#85650)
## About The Pull Request

This adds a new ERT type, the Code Violet EMT Response Team. This
summons a batch of unarmed EMTs, led by a Chief EMT.

The doctors get some above average equipment for healing/reviving a
deluge of casualties, with the commander getting even better equipment
and the means to defend the rest of their doctors and enforce their
authority on the station (a pulse pistol and telebaton).

This also autodocs the undoced vars on the ERT datum, for easier
reading. You'll see why the mobtype has not been documented in a future
PR. It's entirely unused right now (since it is always overridden) but
this is addressed in #85651.
## Why It's Good For The Game

I've seen plenty of situations where, despite the crew having vanquished
all of their foes, the number of bodies is too high to get everything
back into working order. This also goes for situations where all of the
medical staff are dead, and the corpse-revival engine is unable to
kickstart itself. It's not a situation where sending in an ERT full of
armed goons can help. Sometimes a more delicate, caring hand is required
to get the station rolling again.

Also, autodocs are useful.
## Changelog
🆑 Rhials
add: Code-Violet Medical Support ERT teams have been rolled out for
deployment to Space Station 13 and related Nanotrasen Installations.
/🆑
2024-09-05 20:41:44 -04:00

151 lines
5.9 KiB
Plaintext

/datum/ert
///Antag datum team for this type of ERT.
var/team = /datum/team/ert
///Do we open the doors to the "high-impact" weapon/explosive cabinets? Used for combat-focused ERTs.
var/opendoors = TRUE
///Alternate antag datum given to the leader of the squad.
var/leader_role = /datum/antagonist/ert/commander
///Do we humanize all spawned players or keep them the species in their current character prefs?
var/enforce_human = TRUE
///A list of roles distributed to the selected candidates that are not the leader.
var/roles = list(/datum/antagonist/ert/security, /datum/antagonist/ert/medic, /datum/antagonist/ert/engineer)
///The custom name assigned to this team, for their antag datum/roundend reporting.
var/rename_team
///Defines the color/alert code of the response team. Unused if a polldesc is defined.
var/code
///The mission given to this ERT type in their flavor text.
var/mission = "Assist the station."
///The number of players for consideration.
var/teamsize = 5
///The "would you like to play as XXX" message used when polling for players.
var/polldesc
/// If TRUE, gives the team members "[role] [random last name]" style names
var/random_names = TRUE
/// If TRUE, the admin who created the response team will be spawned in the briefing room in their preferred briefing outfit (assuming they're a ghost)
var/spawn_admin = FALSE
/// If TRUE, we try and pick one of the most experienced players who volunteered to fill the leader slot
var/leader_experience = TRUE
/// A custom map template to spawn the ERT at. If this is null or use_custom_shuttle is FALSE, the ERT will spawn at Centcom.
var/datum/map_template/ert_template
/// If we should actually _use_ the ert_template custom shuttle
var/use_custom_shuttle = TRUE
/// Used for spawning bodies for your ERT. Unless customized in the Summon-ERT verb settings, will be overridden and should not be defined at the datum level.
var/mob/living/carbon/human/mob_type
/datum/ert/New()
if (!polldesc)
polldesc = "a Code [code] Nanotrasen Emergency Response Team"
/datum/ert/blue
opendoors = FALSE
code = "Blue"
/datum/ert/amber
code = "Amber"
/datum/ert/red
leader_role = /datum/antagonist/ert/commander/red
roles = list(/datum/antagonist/ert/security/red, /datum/antagonist/ert/medic/red, /datum/antagonist/ert/engineer/red)
code = "Red"
/datum/ert/deathsquad
roles = list(/datum/antagonist/ert/deathsquad)
leader_role = /datum/antagonist/ert/deathsquad/leader
rename_team = "Deathsquad"
code = "Delta"
mission = "Leave no witnesses."
polldesc = "an elite Nanotrasen Strike Team"
/datum/ert/marine
leader_role = /datum/antagonist/ert/marine
roles = list(/datum/antagonist/ert/marine/security, /datum/antagonist/ert/marine/engineer, /datum/antagonist/ert/marine/medic)
rename_team = "Marine Squad"
polldesc = "an 'elite' Nanotrasen Strike Team"
opendoors = FALSE
/datum/ert/centcom_official
code = "Green"
teamsize = 1
opendoors = FALSE
leader_role = /datum/antagonist/ert/official
roles = list(/datum/antagonist/ert/official)
rename_team = "CentCom Officials"
polldesc = "a CentCom Official"
random_names = FALSE
leader_experience = FALSE
/datum/ert/centcom_official/New()
mission = "Conduct a routine performance review of [station_name()] and its Captain."
/datum/ert/inquisition
roles = list(/datum/antagonist/ert/chaplain/inquisitor, /datum/antagonist/ert/security/inquisitor, /datum/antagonist/ert/medic/inquisitor)
leader_role = /datum/antagonist/ert/commander/inquisitor
rename_team = "Inquisition"
mission = "Destroy any traces of paranormal activity aboard the station."
polldesc = "a Nanotrasen paranormal response team"
/datum/ert/janitor
roles = list(/datum/antagonist/ert/janitor, /datum/antagonist/ert/janitor/heavy)
leader_role = /datum/antagonist/ert/janitor/heavy
teamsize = 4
opendoors = FALSE
rename_team = "Janitor"
mission = "Clean up EVERYTHING."
polldesc = "a Nanotrasen Janitorial Response Team"
/datum/ert/intern
roles = list(/datum/antagonist/ert/intern)
leader_role = /datum/antagonist/ert/intern/leader
teamsize = 7
opendoors = FALSE
rename_team = "Horde of Interns"
mission = "Assist in conflict resolution."
polldesc = "an unpaid internship opportunity with Nanotrasen"
random_names = FALSE
/datum/ert/intern/unarmed
roles = list(/datum/antagonist/ert/intern/unarmed)
leader_role = /datum/antagonist/ert/intern/leader/unarmed
rename_team = "Unarmed Horde of Interns"
/datum/ert/erp
roles = list(/datum/antagonist/ert/security/party, /datum/antagonist/ert/clown/party, /datum/antagonist/ert/engineer/party, /datum/antagonist/ert/janitor/party)
leader_role = /datum/antagonist/ert/commander/party
opendoors = FALSE
rename_team = "Emergency Response Party"
mission = "Create entertainment for the crew."
polldesc = "a Code Rainbow Nanotrasen Emergency Response Party"
code = "Rainbow"
/datum/ert/bounty_hunters
roles = list(/datum/antagonist/ert/bounty_armor, /datum/antagonist/ert/bounty_hook, /datum/antagonist/ert/bounty_synth)
leader_role = /datum/antagonist/ert/bounty_armor
teamsize = 3
opendoors = FALSE
rename_team = "Bounty Hunters"
mission = "Assist the station in catching perps, dead or alive."
polldesc = "a Centcom-hired bounty hunting gang"
random_names = FALSE
ert_template = /datum/map_template/shuttle/ert/bounty
/datum/ert/militia
roles = list(/datum/antagonist/ert/militia)
leader_role = /datum/antagonist/ert/militia/general
teamsize = 4
opendoors = FALSE
rename_team = "Frontier Militia"
mission = "Having heard the station's request for aid, assist the crew in defending themselves."
polldesc = "an independent station defense militia"
random_names = TRUE
/datum/ert/medical
opendoors = FALSE
teamsize = 4
leader_role = /datum/antagonist/ert/medical_commander
enforce_human = FALSE //All the best doctors I know are moths and cats
roles = list(/datum/antagonist/ert/medical_technician)
rename_team = "EMT Squad"
code = "Violet"
mission = "Provide emergency medical services to the crew."
polldesc = "an emergency medical response team"