mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-02-04 21:39:20 +00:00
* Christmas code changes 🆑 coiax add: Santa can now examine presents to see what's inside. del: Santa no longer has a mass summon presents spell, because of his new regenerating bag! add: Santa's bag regenerates presents as long as Santa is holding it. balance: You can only find one gift under a christmas tree per round, no matter how many trees you search. balance: Santa's teleport does not announce where he's going. fix: Fixed Santa not having a full head and beard of white hair. fix: Fixed Santa not being genetically white-haired. fix: Fixed Concentrated Barber's Aid not growing extreme amounts of hair. /🆑 The `box` var has been moved down from `/datum/outfit/job` to `/datum/outfit`. Added unlimited christmas tree with presents, for testing. Santa's restriction against opening presents is now done by TRAIT_CANNOT_OPEN_PRESENTS. Santa's ability to see inside presents is done by the TRAIT_PRESENT_VISION, which also determines if Santa's Bag will regenerate presents every 30 to 60 seconds. Santa no longer starts with a breath mask and O2 tank, but instead has an internals box. Santa no longer has a no-access gold ID, he can teleport from room to room! Gifts determine what type is inside them on initialization, rather than when unwrapped. - Reasoning - Unlike last year, there are various possible methods of accessing christmas trees spawners, allowing for an unlimited number of anything presents. Cutting down the presents to one per round regardless of tree count will avoid this. Santa should be able to see what he's giving, because then he can reward the naughty and nice children with different gifts. * Missed a merge * Adds present investigate logs, and visible messages * Use the body+mind checking of mob.has_trait * Less globals, more static vars on types; also event renaming
605 lines
21 KiB
Plaintext
605 lines
21 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_state = "backpack"
|
|
item_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/ComponentInitialize()
|
|
. = ..()
|
|
GET_COMPONENT(STR, /datum/component/storage)
|
|
STR.max_combined_w_class = 21
|
|
STR.max_w_class = WEIGHT_CLASS_NORMAL
|
|
STR.max_items = 21
|
|
|
|
/obj/item/storage/backpack/examine(mob/user)
|
|
..()
|
|
clothing_resistance_flag_examine_message(user)
|
|
|
|
/*
|
|
* Backpack Types
|
|
*/
|
|
|
|
/obj/item/storage/backpack/old/ComponentInitialize()
|
|
. = ..()
|
|
GET_COMPONENT(STR, /datum/component/storage)
|
|
STR.max_combined_w_class = 12
|
|
|
|
/obj/item/storage/backpack/holding
|
|
name = "bag of holding"
|
|
desc = "A backpack that opens into a localized pocket of bluespace."
|
|
icon_state = "holdingpack"
|
|
item_state = "holdingpack"
|
|
resistance_flags = FIRE_PROOF
|
|
item_flags = NO_MAT_REDEMPTION
|
|
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 50)
|
|
component_type = /datum/component/storage/concrete/bluespace/bag_of_holding
|
|
|
|
/obj/item/storage/backpack/holding/ComponentInitialize()
|
|
. = ..()
|
|
GET_COMPONENT(STR, /datum/component/storage)
|
|
STR.allow_big_nesting = TRUE
|
|
STR.max_w_class = WEIGHT_CLASS_GIGANTIC
|
|
STR.max_combined_w_class = 35
|
|
|
|
/obj/item/storage/backpack/holding/suicide_act(mob/living/user)
|
|
user.visible_message("<span class='suicide'>[user] is jumping into [src]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
|
user.dropItemToGround(src, TRUE)
|
|
user.Stun(100, ignore_canstun = TRUE)
|
|
sleep(20)
|
|
playsound(src, "rustle", 50, 1, -5)
|
|
qdel(user)
|
|
|
|
/obj/item/storage/backpack/holding/singularity_act(current_size)
|
|
var/dist = max((current_size - 2),1)
|
|
explosion(src.loc,(dist),(dist*2),(dist*4))
|
|
|
|
/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"
|
|
item_state = "giftbag"
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
|
|
/obj/item/storage/backpack/santabag/Initialize()
|
|
. = ..()
|
|
regenerate_presents()
|
|
|
|
/obj/item/storage/backpack/santabag/ComponentInitialize()
|
|
. = ..()
|
|
GET_COMPONENT(STR, /datum/component/storage)
|
|
STR.max_w_class = WEIGHT_CLASS_NORMAL
|
|
STR.max_combined_w_class = 60
|
|
|
|
/obj/item/storage/backpack/santabag/suicide_act(mob/user)
|
|
user.visible_message("<span class='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...</span>")
|
|
return (OXYLOSS)
|
|
|
|
/obj/item/storage/backpack/santabag/proc/regenerate_presents()
|
|
addtimer(CALLBACK(src, .proc/regenerate_presents), rand(30 SECONDS, 60 SECONDS))
|
|
|
|
var/mob/M = get(loc, /mob)
|
|
if(!istype(M))
|
|
return
|
|
if(M.has_trait(TRAIT_CANNOT_OPEN_PRESENTS))
|
|
GET_COMPONENT(STR, /datum/component/storage)
|
|
var/turf/floor = get_turf(src)
|
|
var/obj/item/I = new /obj/item/a_gift/anything(floor)
|
|
if(STR.can_be_inserted(I, stop_messages=TRUE))
|
|
STR.handle_item_insertion(I, prevent_warning=TRUE)
|
|
else
|
|
qdel(I)
|
|
|
|
|
|
/obj/item/storage/backpack/cultpack
|
|
name = "trophy rack"
|
|
desc = "It's useful for both carrying extra gear and proudly declaring your insanity."
|
|
icon_state = "cultpack"
|
|
item_state = "backpack"
|
|
|
|
/obj/item/storage/backpack/clown
|
|
name = "Giggles von Honkerton"
|
|
desc = "It's a backpack made by Honk! Co."
|
|
icon_state = "clownpack"
|
|
item_state = "clownpack"
|
|
|
|
/obj/item/storage/backpack/explorer
|
|
name = "explorer bag"
|
|
desc = "A robust backpack for stashing your loot."
|
|
icon_state = "explorerpack"
|
|
item_state = "explorerpack"
|
|
|
|
/obj/item/storage/backpack/mime
|
|
name = "Parcel Parceaux"
|
|
desc = "A silent backpack made for those silent workers. Silence Co."
|
|
icon_state = "mimepack"
|
|
item_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 = "medicalpack"
|
|
item_state = "medicalpack"
|
|
|
|
/obj/item/storage/backpack/security
|
|
name = "security backpack"
|
|
desc = "It's a very robust backpack."
|
|
icon_state = "securitypack"
|
|
item_state = "securitypack"
|
|
|
|
/obj/item/storage/backpack/captain
|
|
name = "captain's backpack"
|
|
desc = "It's a special backpack made exclusively for Nanotrasen officers."
|
|
icon_state = "captainpack"
|
|
item_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 = "engiepack"
|
|
item_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 = "botpack"
|
|
item_state = "botpack"
|
|
|
|
/obj/item/storage/backpack/chemistry
|
|
name = "chemistry backpack"
|
|
desc = "A backpack specially designed to repel stains and hazardous liquids."
|
|
icon_state = "chempack"
|
|
item_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 = "genepack"
|
|
item_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 = "toxpack"
|
|
item_state = "toxpack"
|
|
|
|
/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 = "viropack"
|
|
item_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"
|
|
item_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"
|
|
|
|
/*
|
|
* Satchel Types
|
|
*/
|
|
|
|
/obj/item/storage/backpack/satchel
|
|
name = "satchel"
|
|
desc = "A trendy looking satchel."
|
|
icon_state = "satchel-norm"
|
|
species_exception = list(/datum/species/angel) //satchels can be equipped since they are on the side, not back
|
|
|
|
/obj/item/storage/backpack/satchel/leather
|
|
name = "leather satchel"
|
|
desc = "It's a very fancy satchel made with fine leather."
|
|
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-eng"
|
|
item_state = "engiepack"
|
|
resistance_flags = FIRE_PROOF
|
|
|
|
/obj/item/storage/backpack/satchel/med
|
|
name = "medical satchel"
|
|
desc = "A sterile satchel used in medical departments."
|
|
icon_state = "satchel-med"
|
|
item_state = "medicalpack"
|
|
|
|
/obj/item/storage/backpack/satchel/vir
|
|
name = "virologist satchel"
|
|
desc = "A sterile satchel with virologist colours."
|
|
icon_state = "satchel-vir"
|
|
item_state = "satchel-vir"
|
|
|
|
/obj/item/storage/backpack/satchel/chem
|
|
name = "chemist satchel"
|
|
desc = "A sterile satchel with chemist colours."
|
|
icon_state = "satchel-chem"
|
|
item_state = "satchel-chem"
|
|
|
|
/obj/item/storage/backpack/satchel/gen
|
|
name = "geneticist satchel"
|
|
desc = "A sterile satchel with geneticist colours."
|
|
icon_state = "satchel-gen"
|
|
item_state = "satchel-gen"
|
|
|
|
/obj/item/storage/backpack/satchel/tox
|
|
name = "scientist satchel"
|
|
desc = "Useful for holding research materials."
|
|
icon_state = "satchel-tox"
|
|
item_state = "satchel-tox"
|
|
|
|
/obj/item/storage/backpack/satchel/hyd
|
|
name = "botanist satchel"
|
|
desc = "A satchel made of all natural fibers."
|
|
icon_state = "satchel-hyd"
|
|
item_state = "satchel-hyd"
|
|
|
|
/obj/item/storage/backpack/satchel/sec
|
|
name = "security satchel"
|
|
desc = "A robust satchel for security related needs."
|
|
icon_state = "satchel-sec"
|
|
item_state = "securitypack"
|
|
|
|
/obj/item/storage/backpack/satchel/explorer
|
|
name = "explorer satchel"
|
|
desc = "A robust satchel for stashing your loot."
|
|
icon_state = "satchel-explorer"
|
|
item_state = "securitypack"
|
|
|
|
/obj/item/storage/backpack/satchel/cap
|
|
name = "captain's satchel"
|
|
desc = "An exclusive satchel for Nanotrasen officers."
|
|
icon_state = "satchel-cap"
|
|
item_state = "captainpack"
|
|
|
|
/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"
|
|
w_class = WEIGHT_CLASS_NORMAL //Can fit in backpacks itself.
|
|
level = 1
|
|
component_type = /datum/component/storage/concrete/secret_satchel
|
|
|
|
/obj/item/storage/backpack/satchel/flat/Initialize()
|
|
. = ..()
|
|
SSpersistence.new_secret_satchels += src
|
|
|
|
/obj/item/storage/backpack/satchel/flat/ComponentInitialize()
|
|
. = ..()
|
|
GET_COMPONENT(STR, /datum/component/storage)
|
|
STR.max_combined_w_class = 15
|
|
STR.cant_hold = typecacheof(list(/obj/item/storage/backpack/satchel/flat)) //muh recursive backpacks
|
|
|
|
/obj/item/storage/backpack/satchel/flat/hide(intact)
|
|
if(intact)
|
|
invisibility = INVISIBILITY_MAXIMUM
|
|
anchored = TRUE //otherwise you can start pulling, cover it, and drag around an invisible backpack.
|
|
icon_state = "[initial(icon_state)]2"
|
|
else
|
|
invisibility = initial(invisibility)
|
|
anchored = FALSE
|
|
icon_state = initial(icon_state)
|
|
|
|
/obj/item/storage/backpack/satchel/flat/PopulateContents()
|
|
new /obj/item/stack/tile/plasteel(src)
|
|
new /obj/item/crowbar(src)
|
|
|
|
/obj/item/storage/backpack/satchel/flat/Destroy()
|
|
SSpersistence.new_secret_satchels -= src
|
|
return ..()
|
|
|
|
/obj/item/storage/backpack/satchel/flat/secret
|
|
var/list/reward_one_of_these = list() //Intended for map editing
|
|
var/list/reward_all_of_these = list() //use paths!
|
|
var/revealed = FALSE
|
|
|
|
/obj/item/storage/backpack/satchel/flat/secret/Initialize()
|
|
. = ..()
|
|
|
|
if(isfloorturf(loc) && !isplatingturf(loc))
|
|
hide(1)
|
|
|
|
/obj/item/storage/backpack/satchel/flat/secret/hide(intact)
|
|
..()
|
|
if(!intact && !revealed)
|
|
if(reward_one_of_these.len > 0)
|
|
var/reward = pick(reward_one_of_these)
|
|
new reward(src)
|
|
for(var/R in reward_all_of_these)
|
|
new R(src)
|
|
revealed = TRUE
|
|
|
|
/obj/item/storage/backpack/duffelbag
|
|
name = "duffel bag"
|
|
desc = "A large duffel bag for holding extra things."
|
|
icon_state = "duffel"
|
|
item_state = "duffel"
|
|
slowdown = 1
|
|
|
|
/obj/item/storage/backpack/duffelbag/ComponentInitialize()
|
|
. = ..()
|
|
GET_COMPONENT(STR, /datum/component/storage)
|
|
STR.max_combined_w_class = 30
|
|
|
|
/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"
|
|
item_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-med"
|
|
item_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/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/surgical_drapes(src)
|
|
new /obj/item/clothing/mask/surgical(src)
|
|
new /obj/item/razor(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-sec"
|
|
item_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/surgicaldrill(src)
|
|
new /obj/item/cautery(src)
|
|
new /obj/item/surgical_drapes(src)
|
|
new /obj/item/clothing/mask/surgical(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-eng"
|
|
item_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"
|
|
item_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/random(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"
|
|
item_state = "duffel-clown"
|
|
|
|
/obj/item/storage/backpack/duffelbag/clown/cream_pie/PopulateContents()
|
|
for(var/i in 1 to 10)
|
|
new /obj/item/reagent_containers/food/snacks/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"
|
|
item_state = "duffel-syndieammo"
|
|
slowdown = 0
|
|
resistance_flags = FIRE_PROOF
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/ComponentInitialize()
|
|
. = ..()
|
|
GET_COMPONENT(STR, /datum/component/storage)
|
|
STR.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"
|
|
item_state = "duffel-syndieammo"
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/hitman/PopulateContents()
|
|
new /obj/item/clothing/under/lawyer/blacksuit(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"
|
|
item_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"
|
|
item_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/surgicaldrill(src)
|
|
new /obj/item/cautery(src)
|
|
new /obj/item/surgical_drapes(src)
|
|
new /obj/item/clothing/suit/straight_jacket(src)
|
|
new /obj/item/clothing/mask/muzzle(src)
|
|
new /obj/item/mmi/syndie(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"
|
|
item_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/stun(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/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/specialoffer(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/ammo_box/magazine/m12g(src)
|
|
new /obj/item/gun/ballistic/automatic/shotgun/bulldog(src)
|
|
new /obj/item/ammo_box/magazine/m12g/stun(src)
|
|
new /obj/item/clothing/glasses/thermal/syndi(src)
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle
|
|
desc = "A large duffel bag containing a tactical medkit, a Donksoft machine gun, a big jumbo box of riot darts, and a knock-off pair of magboots."
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle/PopulateContents()
|
|
new /obj/item/clothing/shoes/magboots/syndie(src)
|
|
new /obj/item/storage/firstaid/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/medicalbundle
|
|
desc = "A large duffel bag containing a medical equipment, a Donksoft LMG, a big jumbo box of riot darts, and a knock-off pair of magboots."
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle/PopulateContents()
|
|
new /obj/item/clothing/shoes/magboots/syndie(src)
|
|
new /obj/item/storage/firstaid/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/reagent_containers/food/snacks/pizza/pineapple(src)
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/c4/PopulateContents()
|
|
for(var/i in 1 to 10)
|
|
new /obj/item/grenade/plastic/c4(src)
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/x4/PopulateContents()
|
|
for(var/i in 1 to 3)
|
|
new /obj/item/grenade/plastic/x4(src)
|
|
|
|
/obj/item/storage/backpack/duffelbag/syndie/firestarter
|
|
desc = "A large duffel bag containing a New Russian pyro backpack sprayer, Elite hardsuit, 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/watertank/op(src)
|
|
new /obj/item/clothing/suit/space/hardsuit/syndi/elite(src)
|
|
new /obj/item/gun/ballistic/automatic/pistol/APS(src)
|
|
new /obj/item/ammo_box/magazine/pistolm9mm(src)
|
|
new /obj/item/ammo_box/magazine/pistolm9mm(src)
|
|
new /obj/item/reagent_containers/food/drinks/bottle/vodka/badminka(src)
|
|
new /obj/item/reagent_containers/syringe/stimulants(src)
|
|
new /obj/item/grenade/syndieminibomb(src)
|
|
|
|
// For ClownOps.
|
|
/obj/item/storage/backpack/duffelbag/clown/syndie/ComponentInitialize()
|
|
. = ..()
|
|
GET_COMPONENT(STR, /datum/component/storage)
|
|
slowdown = 0
|
|
STR.silent = TRUE
|
|
|
|
/obj/item/storage/backpack/duffelbag/clown/syndie/PopulateContents()
|
|
new /obj/item/pda/clown(src)
|
|
new /obj/item/clothing/under/rank/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)
|