diff --git a/code/datums/ert.dm b/code/datums/ert.dm index 58500bb3cc3..2000d591999 100644 --- a/code/datums/ert.dm +++ b/code/datums/ert.dm @@ -1,13 +1,23 @@ /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 - var/roles = list(/datum/antagonist/ert/security, /datum/antagonist/ert/medic, /datum/antagonist/ert/engineer) //List of possible roles to be assigned to ERT members. + ///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 @@ -127,3 +137,14 @@ 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" diff --git a/code/modules/antagonists/ert/ert.dm b/code/modules/antagonists/ert/ert.dm index f8257b1cbbe..4b94666abc3 100644 --- a/code/modules/antagonists/ert/ert.dm +++ b/code/modules/antagonists/ert/ert.dm @@ -289,3 +289,13 @@ name = "Frontier Militia General" outfit = /datum/outfit/centcom/militia/general role = "General" + +/datum/antagonist/ert/medical_commander + role = "Chief EMT" + outfit = /datum/outfit/centcom/ert/medical_commander + plasmaman_outfit = /datum/outfit/plasmaman/medical_commander + +/datum/antagonist/ert/medical_technician + role = "Emergency Medical Technician" + outfit = /datum/outfit/centcom/ert/medical_technician + plasmaman_outfit = /datum/outfit/plasmaman/medical_technician diff --git a/code/modules/clothing/outfits/ert.dm b/code/modules/clothing/outfits/ert.dm index 101cedfef88..b14573a087c 100644 --- a/code/modules/clothing/outfits/ert.dm +++ b/code/modules/clothing/outfits/ert.dm @@ -573,3 +573,72 @@ head = /obj/item/clothing/head/beret/militia l_hand = /obj/item/megaphone suit_store = /obj/item/gun/energy/laser/musket/prime + +/datum/outfit/centcom/ert/medical_commander + name = "Chief EMT" + id = /obj/item/card/id/advanced/centcom/ert/medical + uniform = /obj/item/clothing/under/rank/medical/chief_medical_officer + l_pocket = /obj/item/healthanalyzer/advanced + shoes = /obj/item/clothing/shoes/sneakers/white + backpack_contents = list( + /obj/item/reagent_containers/hypospray/combat = 1, + /obj/item/storage/medkit/regular = 1, + /obj/item/storage/medkit/advanced = 1, + /obj/item/melee/baton/telescopic = 1, + /obj/item/gun/energy/pulse/pistol/loyalpin = 1, + /obj/item/stack/medical/poultice = 1, //These stacks contain 15 by default. Great for getting corpses to defib range without surgery. + ) + belt = /obj/item/storage/belt/medical/ert + glasses = /obj/item/clothing/glasses/hud/health/sunglasses + additional_radio = /obj/item/encryptionkey/heads/cmo + mask = /obj/item/clothing/mask/surgical + back = /obj/item/mod/control/pre_equipped/emergency_medical/corpsman + gloves = null + suit = null + head = null + suit_store = /obj/item/tank/internals/oxygen + +/datum/outfit/centcom/ert/medical_technician + name = "EMT Paramedic" + id = /obj/item/card/id/advanced/centcom/ert/medical + uniform = /obj/item/clothing/under/rank/medical/scrubs/blue + l_pocket = /obj/item/healthanalyzer + backpack_contents = list( + /obj/item/reagent_containers/hypospray/combat = 1, + /obj/item/storage/medkit/regular = 1, + /obj/item/reagent_containers/syringe = 1, + /obj/item/reagent_containers/cup/bottle/formaldehyde = 1, + /obj/item/reagent_containers/medigel/sterilizine = 1, + /obj/item/bodybag = 2, + ) + mask = /obj/item/clothing/mask/surgical + belt = /obj/item/storage/belt/medical/ert + glasses = /obj/item/clothing/glasses/hud/health + additional_radio = /obj/item/encryptionkey/heads/cmo + shoes = /obj/item/clothing/shoes/sneakers/blue + back = /obj/item/mod/control/pre_equipped/emergency_medical + gloves = null + suit = null + head = null + suit_store = /obj/item/tank/internals/oxygen + +/obj/item/mod/control/pre_equipped/emergency_medical + theme = /datum/mod_theme/medical + starting_frequency = MODLINK_FREQ_CENTCOM + applied_cell = /obj/item/stock_parts/power_store/cell/hyper + applied_modules = list( + /obj/item/mod/module/organizer, + /obj/item/mod/module/defibrillator, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/health_analyzer, + /obj/item/mod/module/injector, + /obj/item/mod/module/surgical_processor/emergency, + /obj/item/mod/module/storage/large_capacity, + ) + +/obj/item/mod/control/pre_equipped/emergency_medical/corpsman + theme = /datum/mod_theme/medical/corpsman + +///Identical to medical MODsuit, but uses the alternate skin by default. +/datum/mod_theme/medical/corpsman + default_skin = "corpsman" diff --git a/code/modules/clothing/outfits/plasmaman.dm b/code/modules/clothing/outfits/plasmaman.dm index 1b2e0ead148..a0e927c6319 100644 --- a/code/modules/clothing/outfits/plasmaman.dm +++ b/code/modules/clothing/outfits/plasmaman.dm @@ -302,3 +302,15 @@ uniform = /obj/item/clothing/under/plasmaman //same gloves = /obj/item/clothing/gloves/color/plasmaman/black head = /obj/item/clothing/head/helmet/space/plasmaman + +/datum/outfit/plasmaman/medical_commander + name = "Chief EMT Plasmaman" + uniform = /obj/item/clothing/under/plasmaman/chief_medical_officer + gloves = /obj/item/clothing/gloves/color/plasmaman/white + head = /obj/item/clothing/head/helmet/space/plasmaman/chief_medical_officer + +/datum/outfit/plasmaman/medical_technician + name = "EMT Paramedic Plasmaman" + uniform = /obj/item/clothing/under/plasmaman/medical + gloves = /obj/item/clothing/gloves/color/plasmaman/white + head = /obj/item/clothing/head/helmet/space/plasmaman/medical diff --git a/code/modules/mod/modules/modules_medical.dm b/code/modules/mod/modules/modules_medical.dm index 8a1d31a92f6..0f445702017 100644 --- a/code/modules/mod/modules/modules_medical.dm +++ b/code/modules/mod/modules/modules_medical.dm @@ -428,3 +428,22 @@ /datum/surgery/advanced/bioware/cortex_folding, /datum/surgery/advanced/bioware/cortex_folding/mechanic, ) + +/obj/item/mod/module/surgical_processor/emergency + desc = "A module using an onboard surgical computer which can be connected to other computers to download and \ + perform advanced surgeries on the go. This one came pre-loaded with some emergency surgeries." + device = /obj/item/surgical_processor/mod/emergency + +/obj/item/surgical_processor/mod/emergency + loaded_surgeries = list( + /datum/surgery/healing/combo/upgraded/femto, + /datum/surgery/blood_filter, + /datum/surgery/brain_surgery, + /datum/surgery/coronary_bypass, + /datum/surgery/ear_surgery, + /datum/surgery/eye_surgery, + /datum/surgery/hepatectomy, + /datum/surgery/revival, + /datum/surgery/stomach_pump, + /datum/surgery/advanced/wing_reconstruction, + )