mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-30 00:29:02 +01:00
## About The Pull Request Does as the title suggests. This was voted on and approved unanimously by maintainers. **BLUE DONATOR ITEMS HAVE BEEN LEFT INTACT.** ## Why It's Good For The Game A lot of players discussed discontent with 'virosec' and I feel this is a solution that works. ## Proof Of Testing I forgot to take screenshots, but it compiles, builds, and almost everything is red. <details> <summary>Screenshots/Videos</summary> </details> ## Changelog 🆑 add: Added back base /tg/ redsec along with red Skyrat clothing items. del: Removed 'virosec'. /🆑
154 lines
6.0 KiB
Plaintext
154 lines
6.0 KiB
Plaintext
/datum/job/security_medic
|
|
title = JOB_SECURITY_MEDIC
|
|
description = "Patch up officers and prisoners, realize you don't have the tools to Tend Wounds, barge into Medbay and tell them how to do their jobs"
|
|
auto_deadmin_role_flags = DEADMIN_POSITION_SECURITY
|
|
faction = FACTION_STATION
|
|
total_positions = 1
|
|
spawn_positions = 1
|
|
supervisors = SUPERVISOR_HOS
|
|
minimal_player_age = 7
|
|
exp_requirements = 120
|
|
exp_required_type = EXP_TYPE_CREW
|
|
exp_required_type_department = EXP_TYPE_MEDICAL
|
|
exp_granted_type = EXP_TYPE_SECURITY
|
|
config_tag = "SECURITY_MEDIC"
|
|
|
|
outfit = /datum/outfit/job/security_medic
|
|
plasmaman_outfit = /datum/outfit/plasmaman/security
|
|
|
|
paycheck = PAYCHECK_CREW
|
|
paycheck_department = ACCOUNT_SEC
|
|
|
|
liver_traits = list(TRAIT_LAW_ENFORCEMENT_METABOLISM)
|
|
|
|
display_order = JOB_DISPLAY_ORDER_SECURITY_MEDIC
|
|
bounty_types = CIV_JOB_SEC
|
|
departments_list = list(
|
|
/datum/job_department/security,
|
|
/datum/job_department/medical,
|
|
)
|
|
|
|
family_heirlooms = list(/obj/item/clothing/neck/stethoscope, /obj/item/book/manual/wiki/security_space_law)
|
|
|
|
//This is the paramedic goodie list. Secmedics are paramedics more or less so they can use these instead of raiding medbay.
|
|
mail_goodies = list(
|
|
/obj/item/reagent_containers/hypospray/medipen = 20,
|
|
/obj/item/reagent_containers/hypospray/medipen/oxandrolone = 10,
|
|
/obj/item/reagent_containers/hypospray/medipen/salacid = 10,
|
|
/obj/item/reagent_containers/hypospray/medipen/salbutamol = 10,
|
|
/obj/item/reagent_containers/hypospray/medipen/penacid = 10,
|
|
/obj/item/reagent_containers/hypospray/medipen/survival/luxury = 5
|
|
)
|
|
rpg_title = "Battle Cleric"
|
|
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
|
|
|
|
/datum/outfit/job/security_medic
|
|
name = "Security Medic"
|
|
jobtype = /datum/job/security_medic
|
|
|
|
backpack_contents = list(
|
|
/obj/item/security_voucher/primary = 1,
|
|
/obj/item/security_voucher/utility = 1
|
|
)
|
|
suit_store = /obj/item/flashlight/seclite
|
|
belt = /obj/item/modular_computer/pda/security
|
|
ears = /obj/item/radio/headset/headset_medsec
|
|
uniform = /obj/item/clothing/under/rank/security/peacekeeper/security_medic
|
|
gloves = /obj/item/clothing/gloves/latex/nitrile
|
|
shoes = /obj/item/clothing/shoes/jackboots/sec
|
|
glasses = /obj/item/clothing/glasses/hud/medsechud
|
|
suit = /obj/item/clothing/suit/armor/vest/peacekeeper/security_medic
|
|
l_hand = /obj/item/storage/medkit/brute
|
|
head = /obj/item/clothing/head/beret/sec/security_medic
|
|
backpack = /obj/item/storage/backpack/security
|
|
satchel = /obj/item/storage/backpack/satchel/sec
|
|
duffelbag = /obj/item/storage/backpack/duffelbag/sec
|
|
|
|
box = /obj/item/storage/box/survival/security
|
|
|
|
implants = list(/obj/item/implant/mindshield)
|
|
|
|
id_trim = /datum/id_trim/job/security_medic
|
|
|
|
/obj/effect/landmark/start/security_officer/Initialize(mapload)
|
|
. = ..()
|
|
new /obj/effect/landmark/start/security_medic(get_turf(src))
|
|
|
|
/obj/effect/landmark/start/security_medic
|
|
name = "Security Medic"
|
|
icon_state = "Security Medic"
|
|
icon = 'modular_skyrat/master_files/icons/mob/landmarks.dmi'
|
|
|
|
/obj/item/encryptionkey/headset_medsec
|
|
name = "medical-security encryption key"
|
|
icon_state = "sec_cypherkey"
|
|
channels = list(RADIO_CHANNEL_MEDICAL = 1, RADIO_CHANNEL_SECURITY = 1)
|
|
|
|
/obj/item/radio/headset/headset_medsec
|
|
name = "security medic's bowman headset"
|
|
desc = "Used to hear how many security officers need to be stitched back together."
|
|
icon = 'modular_zubbers/icons/obj/secmed_equipment.dmi'
|
|
icon_state = "headset"
|
|
keyslot = new /obj/item/encryptionkey/headset_medsec
|
|
|
|
/obj/item/radio/headset/headset_medsec/Initialize(mapload)
|
|
. = ..()
|
|
AddComponent(/datum/component/wearertargeting/earprotection, list(ITEM_SLOT_EARS))
|
|
|
|
/obj/item/clothing/glasses/hud/medsechud
|
|
icon = 'modular_skyrat/master_files/icons/obj/clothing/glasses.dmi'
|
|
worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/eyes.dmi'
|
|
icon_state = "security_hud"
|
|
inhand_icon_state = "trayson-t-ray"
|
|
glass_colour_type = /datum/client_colour/glass_colour/blue
|
|
|
|
/obj/item/clothing/glasses/hud/medsechud/sunglasses
|
|
name = "health scanner security HUD sunglasses"
|
|
icon = 'modular_zubbers/icons/obj/secmed_equipment.dmi'
|
|
worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/eyes.dmi'
|
|
icon_state = "hud_protected"
|
|
worn_icon_state = "security_hud_black"
|
|
inhand_icon_state = "sunhudmed"
|
|
flash_protect = FLASH_PROTECTION_FLASH
|
|
flags_cover = GLASSESCOVERSEYES
|
|
tint = 1
|
|
|
|
/obj/item/storage/bag/garment/secmed
|
|
name = "Security medic's garment bag"
|
|
desc = "A bag containing extra clothing for the security medic"
|
|
|
|
/obj/item/storage/bag/garment/secmed/PopulateContents()
|
|
. = ..()
|
|
new /obj/item/clothing/suit/toggle/labcoat/skyrat/security_medic(src)
|
|
new /obj/item/clothing/suit/hazardvest/security_medic(src)
|
|
new /obj/item/clothing/head/helmet/sec/peacekeeper/security_medic(src)
|
|
new /obj/item/clothing/under/rank/medical/scrubs/skyrat/red/sec(src)
|
|
new /obj/item/clothing/under/rank/security/peacekeeper/security_medic/alternate(src)
|
|
new /obj/item/clothing/under/rank/security/peacekeeper/security_medic(src)
|
|
new /obj/item/clothing/under/rank/security/peacekeeper/security_medic/skirt(src)
|
|
|
|
/obj/structure/closet/secure_closet/security_medic
|
|
name = "security medic's locker"
|
|
req_access = list(ACCESS_BRIG)
|
|
icon = 'modular_zubbers/icons/obj/closets/secmed_closet.dmi'
|
|
icon_state = "secmed"
|
|
|
|
/obj/structure/closet/secure_closet/security_medic/PopulateContents()
|
|
..()
|
|
new /obj/item/radio/headset/headset_medsec(src)
|
|
new /obj/item/clothing/glasses/hud/medsechud/sunglasses(src)
|
|
new /obj/item/storage/medkit/emergency(src)
|
|
new /obj/item/clothing/suit/jacket/straight_jacket(src)
|
|
new /obj/item/storage/belt/medical(src)
|
|
new /obj/item/storage/belt/security/medic/full(src)
|
|
new /obj/item/storage/bag/garment/secmed(src)
|
|
|
|
//Prevents secmed hours from counting towards HoS
|
|
/datum/controller/subsystem/job/setup_occupations()
|
|
. = ..()
|
|
var/list/sec_exp_list = experience_jobs_map[EXP_TYPE_SECURITY]
|
|
for(var/datum/job/job_type in sec_exp_list)
|
|
if(istype(job_type, /datum/job/security_medic))
|
|
LAZYREMOVE(sec_exp_list, job_type)
|
|
break
|