diff --git a/tff_modular/modules/security_rearm/code/loadout.dm b/tff_modular/modules/security_rearm/code/loadout.dm new file mode 100644 index 00000000000..f3f12450c26 --- /dev/null +++ b/tff_modular/modules/security_rearm/code/loadout.dm @@ -0,0 +1,11 @@ +/datum/loadout_item/pocket_items/synthetic_medkit + blacklisted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY) + +/datum/loadout_item/pocket_items/medkit + blacklisted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY) + +/datum/loadout_item/pocket_items/medipen_pouch + blacklisted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY) + +/datum/loadout_item/pocket_items/medkit_pouch + blacklisted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY) diff --git a/tff_modular/modules/security_rearm/code/outfit.dm b/tff_modular/modules/security_rearm/code/outfit.dm index 72c33477624..0d2b813e71f 100644 --- a/tff_modular/modules/security_rearm/code/outfit.dm +++ b/tff_modular/modules/security_rearm/code/outfit.dm @@ -1,6 +1,62 @@ +/datum/job + var/datum/outfit/synthetic_outfit //Да, новая переменная в датум чисто ради аптечки, нет, мне не стыдно + +/datum/species/synthetic/pre_equip_species_outfit(datum/job/job, mob/living/carbon/human/equipping, visuals_only) + . = ..() + if(job?.synthetic_outfit) + equipping.equipOutfit(job.synthetic_outfit, visuals_only) + +//Сами аутфиты /datum/outfit/job/security suit_store = null + l_pocket = /obj/item/storage/pouch/medical/tac_security/loaded backpack_contents = list( /obj/item/evidencebag = 1, /obj/item/choice_beacon/sec_officer = 1, + /obj/item/restraints/handcuffs = 1, ) + +/datum/outfit/job/warden + l_pocket = /obj/item/storage/pouch/medical/tac_security/loaded + backpack_contents = list( + /obj/item/evidencebag = 1, + /obj/item/restraints/handcuffs = 1, + ) + +/datum/outfit/job/hos + l_pocket = /obj/item/storage/pouch/medical/tac_security/loaded + backpack_contents = list( + /obj/item/evidencebag = 1, + /obj/item/melee/baton/security/loaded/hos = 1, + /obj/item/restraints/handcuffs = 1, + ) + +/datum/outfit/synthetic + name = "Synthetic Crewmember Outfit" + +/datum/outfit/synthetic/security + name = "Synthetic Security Outfit" + + l_pocket = /obj/item/storage/pouch/medical/tac_security/synth/loaded + uniform = /obj/item/clothing/under/rank/security/officer + ears = /obj/item/radio/headset/headset_sec/alt + +/datum/outfit/synthetic/security/warden + name = "Synthetic Security Warden Outfit" + + uniform = /obj/item/clothing/under/rank/security/warden + +/datum/outfit/synthetic/security/hos + name = "Synthetic Security HoS Outfit" + + uniform = /obj/item/clothing/under/rank/security/head_of_security + ears = /obj/item/radio/headset/heads/hos/alt + +/datum/job/security_officer + synthetic_outfit = /datum/outfit/synthetic/security + +/datum/job/head_of_security + synthetic_outfit = /datum/outfit/synthetic/security/hos + +/datum/job/warden + synthetic_outfit = /datum/outfit/synthetic/security/warden diff --git a/tff_modular/modules/security_rearm/code/security_first_aid.dm b/tff_modular/modules/security_rearm/code/security_first_aid.dm new file mode 100644 index 00000000000..1f439d8f1c7 --- /dev/null +++ b/tff_modular/modules/security_rearm/code/security_first_aid.dm @@ -0,0 +1,76 @@ +/obj/item/storage/pouch/medical/tac_security + name = "security emergency medkit" + desc = "Standard-issue medical kit issued to NanoTrasen security operatives. Contains first-aid supplies meant to keep an officer alive until proper medical staff can take over. Stored in a pocket pouch for ease of access." + w_class = WEIGHT_CLASS_BULKY + icon = 'tff_modular/modules/security_rearm/icons/pouches.dmi' + icon_state = "tac_security" + storage_type = /datum/storage/pouch/medical/tac_sec + +/datum/storage/pouch/medical/tac_sec + max_specific_storage = WEIGHT_CLASS_SMALL + max_slots = 6 + max_total_storage = 12 + + var/static/list/pouch_holdables = list( + /obj/item/healthanalyzer, + /obj/item/dnainjector, + /obj/item/reagent_containers/dropper, + /obj/item/reagent_containers/applicator, + /obj/item/reagent_containers/syringe, + /obj/item/reagent_containers/medigel, + /obj/item/reagent_containers/spray, + /obj/item/reagent_containers/hypospray, + /obj/item/storage/pill_bottle, + /obj/item/storage/box/bandages, + /obj/item/stack/medical, + /obj/item/flashlight/pen, + /obj/item/reagent_containers/blood, + /obj/item/stack/sticky_tape, + ) + var/static/list/pouch_unholdables = list( + /obj/item/reagent_containers/spray/pepper, + /obj/item/reagent_containers/cup, + /obj/item/storage/wallet, + ) + +/datum/storage/pouch/medical/tac_sec/New() + . = ..() + set_holdable(pouch_holdables, pouch_unholdables) + +/obj/item/storage/pouch/medical/tac_security/loaded/Initialize(mapload) + . = ..() + var/static/items_inside = list( + /obj/item/stack/medical/gauze/sterilized = 1, + /obj/item/stack/medical/suture/coagulant = 1, + /obj/item/stack/medical/suture = 1, + /obj/item/stack/medical/mesh = 1, + /obj/item/reagent_containers/hypospray/medipen/deforest/calopine = 1, + /obj/item/reagent_containers/hypospray/medipen/deforest/morpital = 1, + ) + generate_items_inside(items_inside, src) + +/obj/item/storage/pouch/medical/tac_security/synth + name = "security maintenance kit" + desc = "Standard-issue maintenance kit issued to NanoTrasen synthetic security operatives. Stored in a pocket pouch for ease of access." + icon_state = "tac_security_synth" + storage_type = /datum/storage/pouch/medical/tac_sec/synth + +/datum/storage/pouch/medical/tac_sec/synth + var/static/list/synth_pouch_holdables = list( + /obj/item/stack/cable_coil, + /obj/item/weldingtool, + ) +/datum/storage/pouch/medical/tac_sec/synth/New() + . = ..() + set_holdable(pouch_holdables + synth_pouch_holdables, pouch_unholdables) + +/obj/item/storage/pouch/medical/tac_security/synth/loaded/Initialize(mapload) + . = ..() + var/static/items_inside = list( + /obj/item/stack/medical/gauze = 1, + /obj/item/stack/medical/synth_repair = 1, + /obj/item/stack/medical/wound_recovery/robofoam = 1, + /obj/item/reagent_containers/hypospray/medipen/deforest/robot_system_cleaner = 1, + /obj/item/reagent_containers/hypospray/medipen/deforest/coagulants = 1, + ) + generate_items_inside(items_inside, src) diff --git a/tff_modular/modules/security_rearm/icons/pouches.dmi b/tff_modular/modules/security_rearm/icons/pouches.dmi new file mode 100644 index 00000000000..e9d3a67f9a2 Binary files /dev/null and b/tff_modular/modules/security_rearm/icons/pouches.dmi differ diff --git a/tgstation.dme b/tgstation.dme index c173bd3db5c..51c6dde008e 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -9279,9 +9279,11 @@ #include "tff_modular\modules\redsec\code\cloth.dm" #include "tff_modular\modules\redsec\code\vending.dm" #include "tff_modular\modules\security_rearm\code\baton.dm" +#include "tff_modular\modules\security_rearm\code\loadout.dm" #include "tff_modular\modules\security_rearm\code\outfit.dm" #include "tff_modular\modules\security_rearm\code\p213.dm" #include "tff_modular\modules\security_rearm\code\security_beacon.dm" +#include "tff_modular\modules\security_rearm\code\security_first_aid.dm" #include "tff_modular\modules\security_rearm\code\shotgun\ammobox.dm" #include "tff_modular\modules\security_rearm\code\shotgun\shotgunammo.dm" #include "tff_modular\modules\selestial_language\language.dm"