mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-27 17:41:50 +00:00
## About The Pull Request HackMD: https://hackmd.io/RE9uRwSYSjCch17-OQ4pjQ?view Feedback link: https://tgstation13.org/phpBB/viewtopic.php?f=10&t=33972 Adds a Coroner job to the game, they work in the Medical department and have their office in the Morgue. I was inspired to make this after I had played my first round on Paradise and messed around in there. The analyzer is copied from there (https://github.com/ParadiseSS13/Paradise/pull/20957), and their jumpsuit is also mostly stolen from it (i just copied the color scheme onto our own suits). Coroners can perform autopsies on people to see their stats, like this  They have access to Medbay, and on lowpop will get Pharmacy (to make their own formaldehyde). They also have their own Secure Morgue access for their office (doubles as a surgery room because they are edgelords or whatever) and the secure morgue trays. Secure Morgue trays spawn with their beepers off and is only accessible by them, the CMO, and HoS. It's used to morgue Antagonists. Security's own morgue trays have been removed. The job in action https://cdn.discordapp.com/attachments/950489581151735849/1102297675669442570/2023-04-30_14-16-06.mp4 ### Surgery changes Autopsies are a Surgery, and I tried to intertwine this with the Dissection surgery. Dissections and Autopsies both require the Autopsy scanner to perform them, however you can only perform one on any given body. Dissections are for experiments, Autopsies is for the paper of information. Dissected bodies now also give a ~20% surgery speed boost, this was added at the request of Fikou as a way to encourage Doctors to let the Coroner do their job before reviving a body. I also remember the Medical skill, which allowed Doctors to do surgery faster on people, and I hope that this can do something like that WITHOUT adding the potential for exploiting, which led to the skill's downfall. ### Morgue Improvements Morgue trays are no longer named with pens, they instead will steal the name of the last bodybag to be put in them. Morgue trays are also removed from Brig Medical areas and Robotics, now they have to bring their corpses to the Morgue where the Coroner can keep track and ensure records are properly updated. ### Sprite credits I can't fit it all in the Changelog, so this is who made what McRamon - Autopsy scanner Tattax - Table clock sprites and in-hands CoiledLamb - Coroner jumpsuits & labcoats (inhand, on sprite, and their respective alternatives) - Coroner gloves - CoronerDrobe (the vending machine) ## Why It's Good For The Game This is mostly explained in the hackmd, but the goal of this is: 1. Increase the use of the Medical Records console. 2. Add a new and interesting way for Detectives to uncover mysteries. 3. Add a more RP-flavored role in Medical that still has mechanics tied behind it. ## Changelog 🆑 JohnFulpWillard, sprites by McRamon, tattax, and Lamb add: The Coroner, a new Medical role revolving around dead corpses and autopsies. add: The Coroner's Autopsy Scanner, used for discovering the cause for someone's death, listing their wounds, the causes of them, their reagents, and diseases (including stealth ones!) qol: Morgue Trays are now named after the bodybags inside of them. balance: The morgue now has 'Secure' morgue trays which by default don't beep. balance: Security Medical area and Robotics no longer have their own morgue trays. balance: Dissected bodies now have faster surgery speed. Autopsies also count as dissections, however they're mutually exclusive. /🆑 --------- Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
757 lines
27 KiB
Plaintext
757 lines
27 KiB
Plaintext
/* Backpacks
|
|
* Contains:
|
|
* Backpack
|
|
* Backpack Types
|
|
* Satchel Types
|
|
*/
|
|
|
|
/*
|
|
* Backpack
|
|
*/
|
|
|
|
/obj/item/storage/backpack
|
|
name = "backpack"
|
|
desc = "You wear this on your back and put items into it."
|
|
icon = 'icons/obj/storage/backpack.dmi'
|
|
worn_icon = 'icons/mob/clothing/back/backpack.dmi'
|
|
icon_state = "backpack"
|
|
inhand_icon_state = "backpack"
|
|
lefthand_file = 'icons/mob/inhands/equipment/backpack_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/equipment/backpack_righthand.dmi'
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
slot_flags = ITEM_SLOT_BACK //ERROOOOO
|
|
resistance_flags = NONE
|
|
max_integrity = 300
|
|
|
|
/obj/item/storage/backpack/Initialize(mapload)
|
|
. = ..()
|
|
create_storage(max_slots = 21, max_total_storage = 21)
|
|
AddElement(/datum/element/attack_equip)
|
|
|
|
/*
|
|
* Backpack Types
|
|
*/
|
|
|
|
/obj/item/storage/backpack/old/Initialize(mapload)
|
|
. = ..()
|
|
atom_storage.max_total_storage = 12
|
|
|
|
/obj/item/bag_of_holding_inert
|
|
name = "inert bag of holding"
|
|
desc = "What is currently a just an unwieldly block of metal with a slot ready to accept a bluespace anomaly core."
|
|
icon = 'icons/obj/storage/backpack.dmi'
|
|
worn_icon = 'icons/mob/clothing/back/backpack.dmi'
|
|
icon_state = "bag_of_holding-inert"
|
|
inhand_icon_state = "brokenpack"
|
|
lefthand_file = 'icons/mob/inhands/equipment/backpack_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/equipment/backpack_righthand.dmi'
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
resistance_flags = FIRE_PROOF
|
|
item_flags = NO_MAT_REDEMPTION
|
|
|
|
/obj/item/storage/backpack/holding
|
|
name = "bag of holding"
|
|
desc = "A backpack that opens into a localized pocket of bluespace."
|
|
icon_state = "bag_of_holding"
|
|
inhand_icon_state = "holdingpack"
|
|
resistance_flags = FIRE_PROOF
|
|
item_flags = NO_MAT_REDEMPTION
|
|
armor_type = /datum/armor/backpack_holding
|
|
|
|
/datum/armor/backpack_holding
|
|
fire = 60
|
|
acid = 50
|
|
|
|
/obj/item/storage/backpack/holding/Initialize(mapload)
|
|
. = ..()
|
|
|
|
create_storage(max_specific_storage = WEIGHT_CLASS_GIGANTIC, max_total_storage = 35, max_slots = 30, storage_type = /datum/storage/bag_of_holding)
|
|
atom_storage.allow_big_nesting = TRUE
|
|
|
|
/obj/item/storage/backpack/holding/suicide_act(mob/living/user)
|
|
user.visible_message(span_suicide("[user] is jumping into [src]! It looks like [user.p_theyre()] trying to commit suicide."))
|
|
user.dropItemToGround(src, TRUE)
|
|
user.Stun(100, ignore_canstun = TRUE)
|
|
sleep(2 SECONDS)
|
|
playsound(src, SFX_RUSTLE, 50, TRUE, -5)
|
|
user.suicide_log()
|
|
qdel(user)
|
|
|
|
/obj/item/storage/backpack/santabag
|
|
name = "Santa's Gift Bag"
|
|
desc = "Space Santa uses this to deliver presents to all the nice children in space in Christmas! Wow, it's pretty big!"
|
|
icon_state = "giftbag0"
|
|
inhand_icon_state = "giftbag"
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
|
|
/obj/item/storage/backpack/santabag/Initialize(mapload)
|
|
. = ..()
|
|
regenerate_presents()
|
|
|
|
/obj/item/storage/backpack/santabag/Initialize(mapload)
|
|
. = ..()
|
|
atom_storage.max_specific_storage = WEIGHT_CLASS_NORMAL
|
|
atom_storage.max_total_storage = 60
|
|
|
|
/obj/item/storage/backpack/santabag/suicide_act(mob/living/user)
|
|
user.visible_message(span_suicide("[user] places [src] over [user.p_their()] head and pulls it tight! It looks like [user.p_they()] [user.p_are()]n't in the Christmas spirit..."))
|
|
return OXYLOSS
|
|
|
|
/obj/item/storage/backpack/santabag/proc/regenerate_presents()
|
|
addtimer(CALLBACK(src, PROC_REF(regenerate_presents)), 30 SECONDS)
|
|
|
|
var/mob/user = get(loc, /mob)
|
|
if(!istype(user))
|
|
return
|
|
if(user.mind && HAS_TRAIT(user.mind, TRAIT_CANNOT_OPEN_PRESENTS))
|
|
var/turf/floor = get_turf(src)
|
|
var/obj/item/thing = new /obj/item/a_gift/anything(floor)
|
|
if(!atom_storage.attempt_insert(thing, user, override = TRUE))
|
|
qdel(thing)
|
|
|
|
|
|
/obj/item/storage/backpack/cultpack
|
|
name = "trophy rack"
|
|
desc = "It's useful for both carrying extra gear and proudly declaring your insanity."
|
|
icon_state = "backpack-cult"
|
|
inhand_icon_state = "backpack"
|
|
alternate_worn_layer = ABOVE_BODY_FRONT_HEAD_LAYER
|
|
|
|
/obj/item/storage/backpack/clown
|
|
name = "Giggles von Honkerton"
|
|
desc = "It's a backpack made by Honk! Co."
|
|
icon_state = "backpack-clown"
|
|
inhand_icon_state = "clownpack"
|
|
|
|
/obj/item/storage/backpack/explorer
|
|
name = "explorer bag"
|
|
desc = "A robust backpack for stashing your loot."
|
|
icon_state = "backpack-explorer"
|
|
inhand_icon_state = "explorerpack"
|
|
|
|
/obj/item/storage/backpack/mime
|
|
name = "Parcel Parceaux"
|
|
desc = "A silent backpack made for those silent workers. Silence Co."
|
|
icon_state = "backpack-mime"
|
|
inhand_icon_state = "mimepack"
|
|
|
|
/obj/item/storage/backpack/medic
|
|
name = "medical backpack"
|
|
desc = "It's a backpack especially designed for use in a sterile environment."
|
|
icon_state = "backpack-medical"
|
|
inhand_icon_state = "medicalpack"
|
|
|
|
/obj/item/storage/backpack/coroner
|
|
name = "coroner backpack"
|
|
desc = "It's a backpack especially designed for use in an undead environment."
|
|
icon_state = "backpack-coroner"
|
|
inhand_icon_state = "coronerpack"
|
|
|
|
/obj/item/storage/backpack/security
|
|
name = "security backpack"
|
|
desc = "It's a very robust backpack."
|
|
icon_state = "backpack-security"
|
|
inhand_icon_state = "securitypack"
|
|
|
|
/obj/item/storage/backpack/captain
|
|
name = "captain's backpack"
|
|
desc = "It's a special backpack made exclusively for Nanotrasen officers."
|
|
icon_state = "backpack-captain"
|
|
inhand_icon_state = "captainpack"
|
|
|
|
/obj/item/storage/backpack/industrial
|
|
name = "industrial backpack"
|
|
desc = "It's a tough backpack for the daily grind of station life."
|
|
icon_state = "backpack-engineering"
|
|
inhand_icon_state = "engiepack"
|
|
resistance_flags = FIRE_PROOF
|
|
|
|
/obj/item/storage/backpack/botany
|
|
name = "botany backpack"
|
|
desc = "It's a backpack made of all-natural fibers."
|
|
icon_state = "backpack-hydroponics"
|
|
inhand_icon_state = "botpack"
|
|
|
|
/obj/item/storage/backpack/chemistry
|
|
name = "chemistry backpack"
|
|
desc = "A backpack specially designed to repel stains and hazardous liquids."
|
|
icon_state = "backpack-chemistry"
|
|
inhand_icon_state = "chempack"
|
|
|
|
/obj/item/storage/backpack/genetics
|
|
name = "genetics backpack"
|
|
desc = "A bag designed to be super tough, just in case someone hulks out on you."
|
|
icon_state = "backpack-genetics"
|
|
inhand_icon_state = "genepack"
|
|
|
|
/obj/item/storage/backpack/science
|
|
name = "science backpack"
|
|
desc = "A specially designed backpack. It's fire resistant and smells vaguely of plasma."
|
|
icon_state = "backpack-science"
|
|
inhand_icon_state = "scipack"
|
|
|
|
/obj/item/storage/backpack/virology
|
|
name = "virology backpack"
|
|
desc = "A backpack made of hypo-allergenic fibers. It's designed to help prevent the spread of disease. Smells like monkey."
|
|
icon_state = "backpack-virology"
|
|
inhand_icon_state = "viropack"
|
|
|
|
/obj/item/storage/backpack/ert
|
|
name = "emergency response team commander backpack"
|
|
desc = "A spacious backpack with lots of pockets, worn by the Commander of an Emergency Response Team."
|
|
icon_state = "ert_commander"
|
|
inhand_icon_state = "securitypack"
|
|
resistance_flags = FIRE_PROOF
|
|
|
|
/obj/item/storage/backpack/ert/security
|
|
name = "emergency response team security backpack"
|
|
desc = "A spacious backpack with lots of pockets, worn by Security Officers of an Emergency Response Team."
|
|
icon_state = "ert_security"
|
|
|
|
/obj/item/storage/backpack/ert/medical
|
|
name = "emergency response team medical backpack"
|
|
desc = "A spacious backpack with lots of pockets, worn by Medical Officers of an Emergency Response Team."
|
|
icon_state = "ert_medical"
|
|
|
|
/obj/item/storage/backpack/ert/engineer
|
|
name = "emergency response team engineer backpack"
|
|
desc = "A spacious backpack with lots of pockets, worn by Engineers of an Emergency Response Team."
|
|
icon_state = "ert_engineering"
|
|
|
|
/obj/item/storage/backpack/ert/janitor
|
|
name = "emergency response team janitor backpack"
|
|
desc = "A spacious backpack with lots of pockets, worn by Janitors of an Emergency Response Team."
|
|
icon_state = "ert_janitor"
|
|
|
|
/obj/item/storage/backpack/ert/clown
|
|
name = "emergency response team clown backpack"
|
|
desc = "A spacious backpack with lots of pockets, worn by Clowns of an Emergency Response Team."
|
|
icon_state = "ert_clown"
|
|
|
|
/obj/item/storage/backpack/saddlepack
|
|
name = "saddlepack"
|
|
desc = "A backpack designed to be saddled on a mount or carried on your back, and switch between the two on the fly. It's quite spacious, at the cost of making you feel like a literal pack mule."
|
|
icon = 'icons/obj/storage/ethereal.dmi'
|
|
worn_icon = 'icons/mob/clothing/back/ethereal.dmi'
|
|
icon_state = "saddlepack"
|
|
|
|
/obj/item/storage/backpack/saddlepack/Initialize(mapload)
|
|
. = ..()
|
|
atom_storage.max_total_storage = 26
|
|
|
|
// MEAT MEAT MEAT MEAT MEAT
|
|
|
|
/obj/item/storage/backpack/meat
|
|
name = "\improper MEAT"
|
|
desc = "MEAT MEAT MEAT MEAT MEAT MEAT"
|
|
icon_state = "meatmeatmeat"
|
|
inhand_icon_state = "meatmeatmeat"
|
|
force = 15
|
|
throwforce = 15
|
|
attack_verb_continuous = list("MEATS", "MEAT MEATS")
|
|
attack_verb_simple = list("MEAT", "MEAT MEAT")
|
|
///Sounds used in the squeak component
|
|
var/list/meat_sounds = list('sound/effects/blobattack.ogg' = 1)
|
|
///Reagents added to the edible component, ingested when you EAT the MEAT
|
|
var/list/meat_reagents = list(
|
|
/datum/reagent/consumable/nutriment/protein = 10,
|
|
/datum/reagent/consumable/nutriment/vitamin = 10,
|
|
)
|
|
///The food types of the edible component
|
|
var/foodtypes = MEAT | RAW
|
|
///How our MEAT tastes. It tastes like MEAT
|
|
var/list/tastes = list("MEAT" = 1)
|
|
///Eating verbs when consuming the MEAT
|
|
var/list/eatverbs = list("MEAT", "absorb", "gnaw", "consume")
|
|
|
|
/obj/item/storage/backpack/meat/Initialize(mapload)
|
|
. = ..()
|
|
AddComponent(/datum/component/edible,\
|
|
initial_reagents = meat_reagents,\
|
|
foodtypes = foodtypes,\
|
|
tastes = tastes,\
|
|
eatverbs = eatverbs,\
|
|
)
|
|
AddComponent(/datum/component/squeak, meat_sounds)
|
|
|
|
/*
|
|
* Satchel Types
|
|
*/
|
|
|
|
/obj/item/storage/backpack/satchel
|
|
name = "satchel"
|
|
desc = "A trendy looking satchel."
|
|
icon_state = "satchel-norm"
|
|
inhand_icon_state = "satchel-norm"
|
|
|
|
/obj/item/storage/backpack/satchel/leather
|
|
name = "leather satchel"
|
|
desc = "It's a very fancy satchel made with fine leather."
|
|
icon_state = "satchel-leather"
|
|
inhand_icon_state = "satchel"
|
|
|
|
/obj/item/storage/backpack/satchel/leather/withwallet/PopulateContents()
|
|
new /obj/item/storage/wallet/random(src)
|
|
|
|
/obj/item/storage/backpack/satchel/fireproof
|
|
resistance_flags = FIRE_PROOF
|
|
|
|
/obj/item/storage/backpack/satchel/eng
|
|
name = "industrial satchel"
|
|
desc = "A tough satchel with extra pockets."
|
|
icon_state = "satchel-engineering"
|
|
inhand_icon_state = "satchel-eng"
|
|
resistance_flags = FIRE_PROOF
|
|
|
|
/obj/item/storage/backpack/satchel/med
|
|
name = "medical satchel"
|
|
desc = "A sterile satchel used in medical departments."
|
|
icon_state = "satchel-medical"
|
|
inhand_icon_state = "satchel-med"
|
|
|
|
/obj/item/storage/backpack/satchel/vir
|
|
name = "virologist satchel"
|
|
desc = "A sterile satchel with virologist colours."
|
|
icon_state = "satchel-virology"
|
|
inhand_icon_state = "satchel-vir"
|
|
|
|
/obj/item/storage/backpack/satchel/chem
|
|
name = "chemist satchel"
|
|
desc = "A sterile satchel with chemist colours."
|
|
icon_state = "satchel-chemistry"
|
|
inhand_icon_state = "satchel-chem"
|
|
|
|
/obj/item/storage/backpack/satchel/coroner
|
|
name = "coroner satchel"
|
|
desc = "A satchel used to carry whatever's left of human bodies."
|
|
icon_state = "satchel-coroner"
|
|
inhand_icon_state = "satchel-coroner"
|
|
|
|
/obj/item/storage/backpack/satchel/gen
|
|
name = "geneticist satchel"
|
|
desc = "A sterile satchel with geneticist colours."
|
|
icon_state = "satchel-genetics"
|
|
inhand_icon_state = "satchel-gen"
|
|
|
|
/obj/item/storage/backpack/satchel/science
|
|
name = "scientist satchel"
|
|
desc = "Useful for holding research materials."
|
|
icon_state = "satchel-science"
|
|
inhand_icon_state = "satchel-sci"
|
|
|
|
/obj/item/storage/backpack/satchel/hyd
|
|
name = "botanist satchel"
|
|
desc = "A satchel made of all natural fibers."
|
|
icon_state = "satchel-hydroponics"
|
|
inhand_icon_state = "satchel-hyd"
|
|
|
|
/obj/item/storage/backpack/satchel/sec
|
|
name = "security satchel"
|
|
desc = "A robust satchel for security related needs."
|
|
icon_state = "satchel-security"
|
|
inhand_icon_state = "satchel-sec"
|
|
|
|
/obj/item/storage/backpack/satchel/explorer
|
|
name = "explorer satchel"
|
|
desc = "A robust satchel for stashing your loot."
|
|
icon_state = "satchel-explorer"
|
|
inhand_icon_state = "satchel-explorer"
|
|
|
|
/obj/item/storage/backpack/satchel/cap
|
|
name = "captain's satchel"
|
|
desc = "An exclusive satchel for Nanotrasen officers."
|
|
icon_state = "satchel-captain"
|
|
inhand_icon_state = "satchel-cap"
|
|
|
|
/obj/item/storage/backpack/satchel/flat
|
|
name = "smuggler's satchel"
|
|
desc = "A very slim satchel that can easily fit into tight spaces."
|
|
icon_state = "satchel-flat"
|
|
inhand_icon_state = "satchel-flat"
|
|
w_class = WEIGHT_CLASS_NORMAL //Can fit in backpacks itself.
|
|
|
|
/obj/item/storage/backpack/satchel/flat/Initialize(mapload)
|
|
. = ..()
|
|
AddElement(/datum/element/undertile, TRAIT_T_RAY_VISIBLE, INVISIBILITY_OBSERVER, use_anchor = TRUE)
|
|
atom_storage.max_total_storage = 15
|
|
atom_storage.set_holdable(cant_hold_list = list(/obj/item/storage/backpack/satchel/flat)) //muh recursive backpacks)
|
|
|
|
/obj/item/storage/backpack/satchel/flat/PopulateContents()
|
|
var/datum/supply_pack/imports/contraband/smuggled_goods = new
|
|
for(var/items in 1 to 2)
|
|
var/smuggled_goods_type = pick(smuggled_goods.contains)
|
|
new smuggled_goods_type(src)
|
|
|
|
qdel(smuggled_goods)
|
|
|
|
/obj/item/storage/backpack/satchel/flat/with_tools/PopulateContents()
|
|
new /obj/item/stack/tile/iron/base(src)
|
|
new /obj/item/crowbar(src)
|
|
|
|
..()
|
|
|
|
/obj/item/storage/backpack/satchel/flat/empty/PopulateContents()
|
|
return
|
|
|
|
/obj/item/storage/backpack/duffelbag
|
|
name = "duffel bag"
|
|
desc = "A large duffel bag for holding extra things."
|
|
icon_state = "duffel"
|
|
inhand_icon_state = "duffel"
|
|
slowdown = 1
|
|
|
|
/obj/item/storage/backpack/duffelbag/Initialize(mapload)
|
|
. = ..()
|
|
atom_storage.max_total_storage = 30
|
|
|
|
/obj/item/storage/backpack/duffelbag/cursed
|
|
name = "living duffel bag"
|
|
desc = "A cursed clown duffel bag that hungers for food of any kind. A warning label suggests that it eats food inside. \
|
|
If that food happens to be a horribly ruined mess or the chef scrapped out of the microwave, or poisoned in some way, \
|
|
then it might have negative effects on the bag..."
|
|
icon_state = "duffel-curse"
|
|
inhand_icon_state = "duffel-curse"
|
|
slowdown = 2
|
|
max_integrity = 100
|
|
|
|
/obj/item/storage/backpack/duffelbag/cursed/Initialize(mapload)
|
|
. = ..()
|
|
AddComponent(/datum/component/curse_of_hunger, add_dropdel = TRUE)
|
|
|
|
/obj/item/storage/backpack/duffelbag/captain
|
|
name = "captain's duffel bag"
|
|
desc = "A large duffel bag for holding extra captainly goods."
|
|
icon_state = "duffel-captain"
|
|
inhand_icon_state = "duffel-captain"
|
|
|
|
/obj/item/storage/backpack/duffelbag/med
|
|
name = "medical duffel bag"
|
|
desc = "A large duffel bag for holding extra medical supplies."
|
|
icon_state = "duffel-medical"
|
|
inhand_icon_state = "duffel-med"
|
|
|
|
/obj/item/storage/backpack/duffelbag/med/surgery
|
|
name = "surgical duffel bag"
|
|
desc = "A large duffel bag for holding extra medical supplies - this one seems to be designed for holding surgical tools."
|
|
|
|
/obj/item/storage/backpack/duffelbag/coroner
|
|
name = "coroner duffel bag"
|
|
desc = "A large duffel bag for holding large amounts of organs at once."
|
|
icon_state = "duffel-coroner"
|
|
inhand_icon_state = "duffel-coroner"
|
|
|
|
/obj/item/storage/backpack/duffelbag/explorer
|
|
name = "explorer duffel bag"
|
|
desc = "A large duffel bag for holding extra exotic treasures."
|
|
icon_state = "duffel-explorer"
|
|
inhand_icon_state = "duffel-explorer"
|
|
|
|
/obj/item/storage/backpack/duffelbag/hydroponics
|
|
name = "hydroponic's duffel bag"
|
|
desc = "A large duffel bag for holding extra gardening tools."
|
|
icon_state = "duffel-hydroponics"
|
|
inhand_icon_state = "duffel-hydroponics"
|
|
|
|
/obj/item/storage/backpack/duffelbag/chemistry
|
|
name = "chemistry duffel bag"
|
|
desc = "A large duffel bag for holding extra chemical substances."
|
|
icon_state = "duffel-chemistry"
|
|
inhand_icon_state = "duffel-chemistry"
|
|
|
|
/obj/item/storage/backpack/duffelbag/genetics
|
|
name = "geneticist's duffel bag"
|
|
desc = "A large duffel bag for holding extra genetic mutations."
|
|
icon_state = "duffel-genetics"
|
|
inhand_icon_state = "duffel-genetics"
|
|
|
|
/obj/item/storage/backpack/duffelbag/science
|
|
name = "scientist's duffel bag"
|
|
desc = "A large duffel bag for holding extra scientific components."
|
|
icon_state = "duffel-science"
|
|
inhand_icon_state = "duffel-sci"
|
|
|
|
/obj/item/storage/backpack/duffelbag/virology
|
|
name = "virologist's duffel bag"
|
|
desc = "A large duffel bag for holding extra viral bottles."
|
|
icon_state = "duffel-virology"
|
|
inhand_icon_state = "duffel-virology"
|
|
|
|
|
|
|
|
/obj/item/storage/backpack/duffelbag/med/surgery/PopulateContents()
|
|
new /obj/item/scalpel(src)
|
|
new /obj/item/hemostat(src)
|
|
new /obj/item/retractor(src)
|
|
new /obj/item/circular_saw(src)
|
|
new /obj/item/surgicaldrill(src)
|
|
new /obj/item/cautery(src)
|
|
new /obj/item/bonesetter(src)
|
|
new /obj/item/surgical_drapes(src)
|
|
new /obj/item/clothing/mask/surgical(src)
|
|
new /obj/item/razor(src)
|
|
new /obj/item/blood_filter(src)
|
|
|
|
/obj/item/storage/backpack/duffelbag/sec
|
|
name = "security duffel bag"
|
|
desc = "A large duffel bag for holding extra security supplies and ammunition."
|
|
icon_state = "duffel-security"
|
|
inhand_icon_state = "duffel-sec"
|
|
|
|
/obj/item/storage/backpack/duffelbag/sec/surgery
|
|
name = "surgical duffel bag"
|
|
desc = "A large duffel bag for holding extra supplies - this one has a material inlay with space for various sharp-looking tools."
|
|
|
|
/obj/item/storage/backpack/duffelbag/sec/surgery/PopulateContents()
|
|
new /obj/item/scalpel(src)
|
|
new /obj/item/hemostat(src)
|
|
new /obj/item/retractor(src)
|
|
new /obj/item/circular_saw(src)
|
|
new /obj/item/bonesetter(src)
|
|
new /obj/item/surgicaldrill(src)
|
|
new /obj/item/cautery(src)
|
|
new /obj/item/surgical_drapes(src)
|
|
new /obj/item/clothing/mask/surgical(src)
|
|
new /obj/item/blood_filter(src)
|
|
|
|
/obj/item/storage/backpack/duffelbag/engineering
|
|
name = "industrial duffel bag"
|
|
desc = "A large duffel bag for holding extra tools and supplies."
|
|
icon_state = "duffel-engineering"
|
|
inhand_icon_state = "duffel-eng"
|
|
resistance_flags = FIRE_PROOF
|
|
|
|
/obj/item/storage/backpack/duffelbag/drone
|
|
name = "drone duffel bag"
|
|
desc = "A large duffel bag for holding tools and hats."
|
|
icon_state = "duffel-drone"
|
|
inhand_icon_state = "duffel-drone"
|
|
resistance_flags = FIRE_PROOF
|
|
|
|
/obj/item/storage/backpack/duffelbag/drone/PopulateContents()
|
|
new /obj/item/screwdriver(src)
|
|
new /obj/item/wrench(src)
|
|
new /obj/item/weldingtool(src)
|
|
new /obj/item/crowbar(src)
|
|
new /obj/item/stack/cable_coil(src)
|
|
new /obj/item/wirecutters(src)
|
|
new /obj/item/multitool(src)
|
|
|
|
/obj/item/storage/backpack/duffelbag/clown
|
|
name = "clown's duffel bag"
|
|
desc = "A large duffel bag for holding lots of funny gags!"
|
|
icon_state = "duffel-clown"
|
|
inhand_icon_state = "duffel-clown"
|
|
|
|
/obj/item/storage/backpack/duffelbag/clown/cream_pie/PopulateContents()
|
|
for(var/i in 1 to 10)
|
|
new /obj/item/food/pie/cream(src)
|
|
|
|
/obj/item/storage/backpack/fireproof
|
|
resistance_flags = FIRE_PROOF
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie
|
|
name = "suspicious looking duffel bag"
|
|
desc = "A large duffel bag for holding extra tactical supplies."
|
|
icon_state = "duffel-syndie"
|
|
inhand_icon_state = "duffel-syndieammo"
|
|
slowdown = 0
|
|
resistance_flags = FIRE_PROOF
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/Initialize(mapload)
|
|
. = ..()
|
|
atom_storage.silent = TRUE
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/hitman
|
|
desc = "A large duffel bag for holding extra things. There is a Nanotrasen logo on the back."
|
|
icon_state = "duffel-syndieammo"
|
|
inhand_icon_state = "duffel-syndieammo"
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/hitman/PopulateContents()
|
|
new /obj/item/clothing/under/suit/black(src)
|
|
new /obj/item/clothing/neck/tie/red/hitman(src)
|
|
new /obj/item/clothing/accessory/waistcoat(src)
|
|
new /obj/item/clothing/suit/toggle/lawyer/black(src)
|
|
new /obj/item/clothing/shoes/laceup(src)
|
|
new /obj/item/clothing/gloves/color/black(src)
|
|
new /obj/item/clothing/glasses/sunglasses(src)
|
|
new /obj/item/clothing/head/fedora(src)
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/med
|
|
name = "medical duffel bag"
|
|
desc = "A large duffel bag for holding extra tactical medical supplies."
|
|
icon_state = "duffel-syndiemed"
|
|
inhand_icon_state = "duffel-syndiemed"
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/surgery
|
|
name = "surgery duffel bag"
|
|
desc = "A suspicious looking duffel bag for holding surgery tools."
|
|
icon_state = "duffel-syndiemed"
|
|
inhand_icon_state = "duffel-syndiemed"
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/surgery/PopulateContents()
|
|
new /obj/item/scalpel(src)
|
|
new /obj/item/hemostat(src)
|
|
new /obj/item/retractor(src)
|
|
new /obj/item/circular_saw(src)
|
|
new /obj/item/bonesetter(src)
|
|
new /obj/item/surgicaldrill(src)
|
|
new /obj/item/cautery(src)
|
|
new /obj/item/surgical_drapes(src)
|
|
new /obj/item/clothing/suit/jacket/straight_jacket(src)
|
|
new /obj/item/clothing/mask/muzzle(src)
|
|
new /obj/item/mmi/syndie(src)
|
|
new /obj/item/blood_filter(src)
|
|
new /obj/item/stack/medical/bone_gel(src)
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/ammo
|
|
name = "ammunition duffel bag"
|
|
desc = "A large duffel bag for holding extra weapons ammunition and supplies."
|
|
icon_state = "duffel-syndieammo"
|
|
inhand_icon_state = "duffel-syndieammo"
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/ammo/shotgun
|
|
desc = "A large duffel bag, packed to the brim with Bulldog shotgun magazines."
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/ammo/shotgun/PopulateContents()
|
|
for(var/i in 1 to 6)
|
|
new /obj/item/ammo_box/magazine/m12g(src)
|
|
new /obj/item/ammo_box/magazine/m12g/slug(src)
|
|
new /obj/item/ammo_box/magazine/m12g/slug(src)
|
|
new /obj/item/ammo_box/magazine/m12g/dragon(src)
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/ammo/smg
|
|
desc = "A large duffel bag, packed to the brim with C-20r magazines."
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/ammo/smg/PopulateContents()
|
|
for(var/i in 1 to 9)
|
|
new /obj/item/ammo_box/magazine/smgm45(src)
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/ammo/mech
|
|
desc = "A large duffel bag, packed to the brim with various exosuit ammo."
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/ammo/mech/PopulateContents()
|
|
new /obj/item/mecha_ammo/scattershot(src)
|
|
new /obj/item/mecha_ammo/scattershot(src)
|
|
new /obj/item/mecha_ammo/scattershot(src)
|
|
new /obj/item/mecha_ammo/scattershot(src)
|
|
new /obj/item/storage/belt/utility/syndicate(src)
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/ammo/mauler
|
|
desc = "A large duffel bag, packed to the brim with various exosuit ammo."
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/ammo/mauler/PopulateContents()
|
|
new /obj/item/mecha_ammo/lmg(src)
|
|
new /obj/item/mecha_ammo/lmg(src)
|
|
new /obj/item/mecha_ammo/lmg(src)
|
|
new /obj/item/mecha_ammo/scattershot(src)
|
|
new /obj/item/mecha_ammo/scattershot(src)
|
|
new /obj/item/mecha_ammo/scattershot(src)
|
|
new /obj/item/mecha_ammo/missiles_srm(src)
|
|
new /obj/item/mecha_ammo/missiles_srm(src)
|
|
new /obj/item/mecha_ammo/missiles_srm(src)
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/c20rbundle
|
|
desc = "A large duffel bag containing a C-20r, some magazines, and a cheap looking suppressor."
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/c20rbundle/PopulateContents()
|
|
new /obj/item/ammo_box/magazine/smgm45(src)
|
|
new /obj/item/ammo_box/magazine/smgm45(src)
|
|
new /obj/item/gun/ballistic/automatic/c20r(src)
|
|
new /obj/item/suppressor(src)
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/bulldogbundle
|
|
desc = "A large duffel bag containing a Bulldog, some drums, and a pair of thermal imaging glasses."
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/bulldogbundle/PopulateContents()
|
|
new /obj/item/gun/ballistic/shotgun/bulldog(src)
|
|
new /obj/item/ammo_box/magazine/m12g(src)
|
|
new /obj/item/ammo_box/magazine/m12g(src)
|
|
new /obj/item/clothing/glasses/thermal/syndi(src)
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle
|
|
desc = "A large duffel bag containing a medical equipment, a Donksoft LMG, a big jumbo box of riot darts, and a magboot MODsuit module."
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle/PopulateContents()
|
|
new /obj/item/mod/module/magboot(src)
|
|
new /obj/item/storage/medkit/tactical(src)
|
|
new /obj/item/gun/ballistic/automatic/l6_saw/toy(src)
|
|
new /obj/item/ammo_box/foambox/riot(src)
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/med/bioterrorbundle
|
|
desc = "A large duffel bag containing deadly chemicals, a handheld chem sprayer, Bioterror foam grenade, a Donksoft assault rifle, box of riot grade darts, a dart pistol, and a box of syringes."
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/med/bioterrorbundle/PopulateContents()
|
|
new /obj/item/reagent_containers/spray/chemsprayer/bioterror(src)
|
|
new /obj/item/storage/box/syndie_kit/chemical(src)
|
|
new /obj/item/gun/syringe/syndicate(src)
|
|
new /obj/item/gun/ballistic/automatic/c20r/toy(src)
|
|
new /obj/item/storage/box/syringes(src)
|
|
new /obj/item/ammo_box/foambox/riot(src)
|
|
new /obj/item/grenade/chem_grenade/bioterrorfoam(src)
|
|
if(prob(5))
|
|
new /obj/item/food/pizza/pineapple(src)
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/c4/PopulateContents()
|
|
for(var/i in 1 to 10)
|
|
new /obj/item/grenade/c4(src)
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/x4/PopulateContents()
|
|
for(var/i in 1 to 3)
|
|
new /obj/item/grenade/c4/x4(src)
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/firestarter
|
|
desc = "A large duffel bag containing a New Russian pyro backpack sprayer, Elite MODsuit, a Stechkin APS pistol, minibomb, ammo, and other equipment."
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/firestarter/PopulateContents()
|
|
new /obj/item/clothing/under/syndicate/soviet(src)
|
|
new /obj/item/mod/control/pre_equipped/elite/flamethrower(src)
|
|
new /obj/item/gun/ballistic/automatic/pistol/aps(src)
|
|
new /obj/item/ammo_box/magazine/m9mm_aps/fire(src)
|
|
new /obj/item/ammo_box/magazine/m9mm_aps/fire(src)
|
|
new /obj/item/reagent_containers/cup/glass/bottle/vodka/badminka(src)
|
|
new /obj/item/reagent_containers/hypospray/medipen/stimulants(src)
|
|
new /obj/item/grenade/syndieminibomb(src)
|
|
|
|
// For ClownOps.
|
|
/obj/item/storage/backpack/duffelbag/clown/syndie/Initialize(mapload)
|
|
. = ..()
|
|
slowdown = 0
|
|
atom_storage.silent = TRUE
|
|
|
|
/obj/item/storage/backpack/duffelbag/clown/syndie/PopulateContents()
|
|
new /obj/item/modular_computer/pda/clown(src)
|
|
new /obj/item/clothing/under/rank/civilian/clown(src)
|
|
new /obj/item/clothing/shoes/clown_shoes(src)
|
|
new /obj/item/clothing/mask/gas/clown_hat(src)
|
|
new /obj/item/bikehorn(src)
|
|
new /obj/item/implanter/sad_trombone(src)
|
|
|
|
/obj/item/storage/backpack/henchmen
|
|
name = "wings"
|
|
desc = "Granted to the henchmen who deserve it. This probably doesn't include you."
|
|
icon_state = "henchmen"
|
|
inhand_icon_state = null
|
|
|
|
/obj/item/storage/backpack/duffelbag/cops
|
|
name = "police bag"
|
|
desc = "A large duffel bag for holding extra police gear."
|
|
slowdown = 0
|
|
|
|
/obj/item/storage/backpack/duffelbag/mining_conscript
|
|
name = "mining conscription kit"
|
|
desc = "A kit containing everything a crewmember needs to support a shaft miner in the field."
|
|
icon_state = "duffel-explorer"
|
|
inhand_icon_state = "duffel-explorer"
|
|
|
|
/obj/item/storage/backpack/duffelbag/mining_conscript/PopulateContents()
|
|
new /obj/item/clothing/glasses/meson(src)
|
|
new /obj/item/t_scanner/adv_mining_scanner/lesser(src)
|
|
new /obj/item/storage/bag/ore(src)
|
|
new /obj/item/clothing/suit/hooded/explorer(src)
|
|
new /obj/item/encryptionkey/headset_mining(src)
|
|
new /obj/item/clothing/mask/gas/explorer(src)
|
|
new /obj/item/card/id/advanced/mining(src)
|
|
new /obj/item/gun/energy/recharge/kinetic_accelerator(src)
|
|
new /obj/item/knife/combat/survival(src)
|
|
new /obj/item/flashlight/seclite(src)
|