mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-31 20:11:56 +00:00
* removes double spaces AFTER symbols * Fixing conflicts Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
1653 lines
55 KiB
Plaintext
1653 lines
55 KiB
Plaintext
/*
|
|
* Everything derived from the common cardboard box.
|
|
* Basically everything except the original is a kit (starts full).
|
|
*
|
|
* Contains:
|
|
* Empty box, starter boxes (survival/engineer),
|
|
* Latex glove and sterile mask boxes,
|
|
* Syringe, beaker, dna injector boxes,
|
|
* Blanks, flashbangs, and EMP grenade boxes,
|
|
* Tracking and chemical implant boxes,
|
|
* Prescription glasses and drinking glass boxes,
|
|
* Condiment bottle and silly cup boxes,
|
|
* Donkpocket and monkeycube boxes,
|
|
* ID and security PDA cart boxes,
|
|
* Handcuff, mousetrap, and pillbottle boxes,
|
|
* Snap-pops and matchboxes,
|
|
* Replacement light boxes.
|
|
* Action Figure Boxes
|
|
* Various paper bags.
|
|
*
|
|
* For syndicate call-ins see uplink_kits.dm
|
|
*/
|
|
|
|
/obj/item/storage/box
|
|
name = "box"
|
|
desc = "It's just an ordinary box."
|
|
icon_state = "box"
|
|
inhand_icon_state = "syringe_kit"
|
|
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
|
|
resistance_flags = FLAMMABLE
|
|
drop_sound = 'sound/items/handling/cardboardbox_drop.ogg'
|
|
pickup_sound = 'sound/items/handling/cardboardbox_pickup.ogg'
|
|
var/foldable = /obj/item/stack/sheet/cardboard
|
|
var/illustration = "writing"
|
|
|
|
/obj/item/storage/box/Initialize(mapload)
|
|
. = ..()
|
|
update_appearance()
|
|
|
|
/obj/item/storage/box/suicide_act(mob/living/carbon/user)
|
|
var/obj/item/bodypart/head/myhead = user.get_bodypart(BODY_ZONE_HEAD)
|
|
if(myhead)
|
|
user.visible_message(span_suicide("[user] puts [user.p_their()] head into \the [src] and begins closing it! It looks like [user.p_theyre()] trying to commit suicide!"))
|
|
myhead.dismember()
|
|
myhead.forceMove(src) //force your enemies to kill themselves with your head collection box!
|
|
playsound(user, "desecration-01.ogg", 50, TRUE, -1)
|
|
return BRUTELOSS
|
|
user.visible_message(span_suicide("[user] is beating [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
|
|
return BRUTELOSS
|
|
|
|
/obj/item/storage/box/update_overlays()
|
|
. = ..()
|
|
if(illustration)
|
|
. += illustration
|
|
|
|
/obj/item/storage/box/attack_self(mob/user)
|
|
..()
|
|
|
|
if(!foldable || (flags_1 & HOLOGRAM_1))
|
|
return
|
|
if(contents.len)
|
|
to_chat(user, span_warning("You can't fold this box with items still inside!"))
|
|
return
|
|
if(!ispath(foldable))
|
|
return
|
|
|
|
to_chat(user, span_notice("You fold [src] flat."))
|
|
var/obj/item/I = new foldable
|
|
qdel(src)
|
|
user.put_in_hands(I)
|
|
|
|
/obj/item/storage/box/attackby(obj/item/W, mob/user, params)
|
|
if(istype(W, /obj/item/stack/package_wrap))
|
|
return FALSE
|
|
return ..()
|
|
|
|
//Mime spell boxes
|
|
|
|
/obj/item/storage/box/mime
|
|
name = "invisible box"
|
|
desc = "Unfortunately not large enough to trap the mime."
|
|
foldable = null
|
|
icon_state = "box"
|
|
inhand_icon_state = null
|
|
alpha = 0
|
|
|
|
/obj/item/storage/box/mime/attack_hand(mob/user, list/modifiers)
|
|
..()
|
|
if(user.mind.miming)
|
|
alpha = 255
|
|
|
|
/obj/item/storage/box/mime/Moved(oldLoc, dir)
|
|
if (iscarbon(oldLoc))
|
|
alpha = 0
|
|
..()
|
|
|
|
//Disk boxes
|
|
|
|
/obj/item/storage/box/disks
|
|
name = "diskette box"
|
|
illustration = "disk_kit"
|
|
|
|
/obj/item/storage/box/disks/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/disk/data(src)
|
|
|
|
// Ordinary survival box
|
|
/obj/item/storage/box/survival
|
|
name = "survival box"
|
|
desc = "A box with the bare essentials of ensuring the survival of you and others."
|
|
icon_state = "internals"
|
|
illustration = "emergencytank"
|
|
var/mask_type = /obj/item/clothing/mask/breath
|
|
var/internal_type = /obj/item/tank/internals/emergency_oxygen
|
|
var/medipen_type = /obj/item/reagent_containers/hypospray/medipen
|
|
|
|
/obj/item/storage/box/survival/PopulateContents()
|
|
new mask_type(src)
|
|
if(!isnull(medipen_type))
|
|
new medipen_type(src)
|
|
|
|
//SKYRAT EDIT CHANGE BEGIN - CUSTOMIZATION
|
|
if(isplasmaman(loc))
|
|
new /obj/item/tank/internals/plasmaman/belt(src)
|
|
else if(isvox(loc))
|
|
new /obj/item/tank/internals/nitrogen/belt/emergency(src)
|
|
else
|
|
new /obj/item/tank/internals/emergency_oxygen(src)
|
|
//SKYRAT EDIT END
|
|
new /obj/item/oxygen_candle(src) //SKYRAT EDIT ADDITION
|
|
|
|
if(!isnull(medipen_type))
|
|
new medipen_type(src)
|
|
|
|
if(HAS_TRAIT(SSstation, STATION_TRAIT_PREMIUM_INTERNALS))
|
|
new /obj/item/flashlight/flare(src)
|
|
new /obj/item/radio/off(src)
|
|
|
|
/obj/item/storage/box/survival/radio/PopulateContents()
|
|
..() // we want the survival stuff too.
|
|
new /obj/item/radio/off(src)
|
|
|
|
// Mining survival box
|
|
/obj/item/storage/box/survival/mining
|
|
mask_type = /obj/item/clothing/mask/gas/explorer
|
|
|
|
/obj/item/storage/box/survival/mining/PopulateContents()
|
|
..()
|
|
new /obj/item/crowbar/red(src)
|
|
|
|
// Engineer survival box
|
|
/obj/item/storage/box/survival/engineer
|
|
name = "extended-capacity survival box"
|
|
desc = "A box with the bare essentials of ensuring the survival of you and others. This one is labelled to contain an extended-capacity tank."
|
|
illustration = "extendedtank"
|
|
internal_type = /obj/item/tank/internals/emergency_oxygen/engi
|
|
|
|
/obj/item/storage/box/survival/engineer/radio/PopulateContents()
|
|
..() // we want the regular items too.
|
|
new /obj/item/radio/off(src)
|
|
|
|
// Syndie survival box
|
|
/obj/item/storage/box/survival/syndie //why is this its own thing if it's just the engi box with a syndie mask and medipen?
|
|
name = "extended-capacity survival box"
|
|
desc = "A box with the bare essentials of ensuring the survival of you and others. This one is labelled to contain an extended-capacity tank."
|
|
mask_type = /obj/item/clothing/mask/gas/syndicate
|
|
internal_type = /obj/item/tank/internals/emergency_oxygen/engi
|
|
medipen_type = null
|
|
illustration = "extendedtank"
|
|
|
|
// Security survival box
|
|
/obj/item/storage/box/survival/security
|
|
mask_type = /obj/item/clothing/mask/gas/sechailer
|
|
|
|
/obj/item/storage/box/survival/security/radio/PopulateContents()
|
|
..() // we want the regular stuff too
|
|
new /obj/item/radio/off(src)
|
|
|
|
// Medical survival box
|
|
/obj/item/storage/box/survival/medical
|
|
mask_type = /obj/item/clothing/mask/breath/medical
|
|
|
|
/obj/item/storage/box/gloves
|
|
name = "box of latex gloves"
|
|
desc = "Contains sterile latex gloves."
|
|
illustration = "latex"
|
|
|
|
/obj/item/storage/box/gloves/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/clothing/gloves/color/latex(src)
|
|
|
|
/obj/item/storage/box/masks
|
|
name = "box of sterile masks"
|
|
desc = "This box contains sterile medical masks."
|
|
illustration = "sterile"
|
|
|
|
/obj/item/storage/box/masks/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/clothing/mask/surgical(src)
|
|
|
|
/obj/item/storage/box/syringes
|
|
name = "box of syringes"
|
|
desc = "A box full of syringes."
|
|
illustration = "syringe"
|
|
|
|
/obj/item/storage/box/syringes/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/reagent_containers/syringe(src)
|
|
|
|
/obj/item/storage/box/syringes/variety
|
|
name = "syringe variety box"
|
|
|
|
/obj/item/storage/box/syringes/variety/PopulateContents()
|
|
new /obj/item/reagent_containers/syringe(src)
|
|
new /obj/item/reagent_containers/syringe/lethal(src)
|
|
new /obj/item/reagent_containers/syringe/piercing(src)
|
|
new /obj/item/reagent_containers/syringe/bluespace(src)
|
|
|
|
/obj/item/storage/box/medipens
|
|
name = "box of medipens"
|
|
desc = "A box full of epinephrine MediPens."
|
|
illustration = "epipen"
|
|
|
|
/obj/item/storage/box/medipens/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/reagent_containers/hypospray/medipen(src)
|
|
|
|
/obj/item/storage/box/medipens/utility
|
|
name = "stimpack value kit"
|
|
desc = "A box with several stimpack medipens for the economical miner."
|
|
illustration = "epipen"
|
|
|
|
/obj/item/storage/box/medipens/utility/PopulateContents()
|
|
..() // includes regular medipens.
|
|
for(var/i in 1 to 5)
|
|
new /obj/item/reagent_containers/hypospray/medipen/stimpack(src)
|
|
|
|
/obj/item/storage/box/beakers
|
|
name = "box of beakers"
|
|
illustration = "beaker"
|
|
|
|
/obj/item/storage/box/beakers/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/reagent_containers/glass/beaker( src )
|
|
|
|
/obj/item/storage/box/beakers/bluespace
|
|
name = "box of bluespace beakers"
|
|
illustration = "beaker"
|
|
|
|
/obj/item/storage/box/beakers/bluespace/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/reagent_containers/glass/beaker/bluespace(src)
|
|
|
|
/obj/item/storage/box/beakers/variety
|
|
name = "beaker variety box"
|
|
|
|
/obj/item/storage/box/beakers/variety/PopulateContents()
|
|
new /obj/item/reagent_containers/glass/beaker(src)
|
|
new /obj/item/reagent_containers/glass/beaker/large(src)
|
|
new /obj/item/reagent_containers/glass/beaker/plastic(src)
|
|
new /obj/item/reagent_containers/glass/beaker/meta(src)
|
|
new /obj/item/reagent_containers/glass/beaker/noreact(src)
|
|
new /obj/item/reagent_containers/glass/beaker/bluespace(src)
|
|
|
|
/obj/item/storage/box/medigels
|
|
name = "box of medical gels"
|
|
desc = "A box full of medical gel applicators, with unscrewable caps and precision spray heads."
|
|
illustration = "medgel"
|
|
|
|
/obj/item/storage/box/medigels/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/reagent_containers/medigel( src )
|
|
|
|
/obj/item/storage/box/injectors
|
|
name = "box of DNA injectors"
|
|
desc = "This box contains injectors, it seems."
|
|
illustration = "dna"
|
|
|
|
/obj/item/storage/box/injectors/PopulateContents()
|
|
var/static/items_inside = list(
|
|
/obj/item/dnainjector/h2m = 3,
|
|
/obj/item/dnainjector/m2h = 3)
|
|
generate_items_inside(items_inside,src)
|
|
|
|
/obj/item/storage/box/flashbangs
|
|
name = "box of flashbangs (WARNING)"
|
|
desc = "<B>WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use.</B>"
|
|
icon_state = "secbox"
|
|
illustration = "flashbang"
|
|
|
|
/obj/item/storage/box/flashbangs/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/grenade/flashbang(src)
|
|
|
|
/obj/item/storage/box/stingbangs
|
|
name = "box of stingbangs (WARNING)"
|
|
desc = "<B>WARNING: These devices are extremely dangerous and can cause severe injuries or death in repeated use.</B>"
|
|
icon_state = "secbox"
|
|
illustration = "flashbang"
|
|
|
|
/obj/item/storage/box/stingbangs/PopulateContents()
|
|
for(var/i in 1 to 5)
|
|
new /obj/item/grenade/stingbang(src)
|
|
|
|
/obj/item/storage/box/flashes
|
|
name = "box of flashbulbs"
|
|
desc = "<B>WARNING: Flashes can cause serious eye damage, protective eyewear is required.</B>"
|
|
icon_state = "secbox"
|
|
illustration = "flash"
|
|
|
|
/obj/item/storage/box/flashes/PopulateContents()
|
|
for(var/i in 1 to 6)
|
|
new /obj/item/assembly/flash/handheld(src)
|
|
|
|
/obj/item/storage/box/wall_flash
|
|
name = "wall-mounted flash kit"
|
|
desc = "This box contains everything necessary to build a wall-mounted flash. <B>WARNING: Flashes can cause serious eye damage, protective eyewear is required.</B>"
|
|
icon_state = "secbox"
|
|
illustration = "flash"
|
|
|
|
/obj/item/storage/box/wall_flash/PopulateContents()
|
|
var/id = rand(1000, 9999)
|
|
// FIXME what if this conflicts with an existing one?
|
|
|
|
new /obj/item/wallframe/button(src)
|
|
new /obj/item/electronics/airlock(src)
|
|
var/obj/item/assembly/control/flasher/remote = new(src)
|
|
remote.id = id
|
|
var/obj/item/wallframe/flasher/frame = new(src)
|
|
frame.id = id
|
|
new /obj/item/assembly/flash/handheld(src)
|
|
new /obj/item/screwdriver(src)
|
|
|
|
|
|
/obj/item/storage/box/teargas
|
|
name = "box of tear gas grenades (WARNING)"
|
|
desc = "<B>WARNING: These devices are extremely dangerous and can cause blindness and skin irritation.</B>"
|
|
icon_state = "secbox"
|
|
illustration = "grenade"
|
|
|
|
/obj/item/storage/box/teargas/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/grenade/chem_grenade/teargas(src)
|
|
|
|
/obj/item/storage/box/emps
|
|
name = "box of emp grenades"
|
|
desc = "A box with 5 emp grenades."
|
|
illustration = "emp"
|
|
|
|
/obj/item/storage/box/emps/PopulateContents()
|
|
for(var/i in 1 to 5)
|
|
new /obj/item/grenade/empgrenade(src)
|
|
|
|
/obj/item/storage/box/trackimp
|
|
name = "boxed tracking implant kit"
|
|
desc = "Box full of scum-bag tracking utensils."
|
|
icon_state = "secbox"
|
|
illustration = "implant"
|
|
|
|
/obj/item/storage/box/trackimp/PopulateContents()
|
|
var/static/items_inside = list(
|
|
/obj/item/implantcase/tracking = 4,
|
|
/obj/item/implanter = 1,
|
|
/obj/item/implantpad = 1,
|
|
/obj/item/locator = 1)
|
|
generate_items_inside(items_inside,src)
|
|
|
|
/obj/item/storage/box/minertracker
|
|
name = "boxed tracking implant kit"
|
|
desc = "For finding those who have died on the accursed lavaworld."
|
|
illustration = "implant"
|
|
|
|
/obj/item/storage/box/minertracker/PopulateContents()
|
|
var/static/items_inside = list(
|
|
/obj/item/implantcase/tracking = 3,
|
|
/obj/item/implanter = 1,
|
|
/obj/item/implantpad = 1,
|
|
/obj/item/locator = 1)
|
|
generate_items_inside(items_inside,src)
|
|
|
|
/obj/item/storage/box/chemimp
|
|
name = "boxed chemical implant kit"
|
|
desc = "Box of stuff used to implant chemicals."
|
|
illustration = "implant"
|
|
|
|
/obj/item/storage/box/chemimp/PopulateContents()
|
|
var/static/items_inside = list(
|
|
/obj/item/implantcase/chem = 5,
|
|
/obj/item/implanter = 1,
|
|
/obj/item/implantpad = 1)
|
|
generate_items_inside(items_inside,src)
|
|
|
|
/obj/item/storage/box/exileimp
|
|
name = "boxed exile implant kit"
|
|
desc = "Box of exile implants. It has a picture of a clown being booted through the Gateway."
|
|
illustration = "implant"
|
|
|
|
/obj/item/storage/box/exileimp/PopulateContents()
|
|
var/static/items_inside = list(
|
|
/obj/item/implantcase/exile = 5,
|
|
/obj/item/implanter = 1)
|
|
generate_items_inside(items_inside,src)
|
|
|
|
/obj/item/storage/box/bodybags
|
|
name = "body bags"
|
|
desc = "The label indicates that it contains body bags."
|
|
illustration = "bodybags"
|
|
|
|
/obj/item/storage/box/bodybags/PopulateContents()
|
|
..()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/bodybag(src)
|
|
|
|
/obj/item/storage/box/rxglasses
|
|
name = "box of prescription glasses"
|
|
desc = "This box contains nerd glasses."
|
|
illustration = "glasses"
|
|
|
|
/obj/item/storage/box/rxglasses/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/clothing/glasses/regular(src)
|
|
|
|
/obj/item/storage/box/drinkingglasses
|
|
name = "box of drinking glasses"
|
|
desc = "It has a picture of drinking glasses on it."
|
|
illustration = "drinkglass"
|
|
|
|
/obj/item/storage/box/drinkingglasses/PopulateContents()
|
|
for(var/i in 1 to 6)
|
|
new /obj/item/reagent_containers/food/drinks/drinkingglass(src)
|
|
|
|
/obj/item/storage/box/condimentbottles
|
|
name = "box of condiment bottles"
|
|
desc = "It has a large ketchup smear on it."
|
|
illustration = "condiment"
|
|
|
|
/obj/item/storage/box/condimentbottles/PopulateContents()
|
|
for(var/i in 1 to 6)
|
|
new /obj/item/reagent_containers/food/condiment(src)
|
|
|
|
/obj/item/storage/box/cups
|
|
name = "box of paper cups"
|
|
desc = "It has pictures of paper cups on the front."
|
|
illustration = "cup"
|
|
|
|
/obj/item/storage/box/cups/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/reagent_containers/food/drinks/sillycup( src )
|
|
|
|
/obj/item/storage/box/donkpockets
|
|
name = "box of donk-pockets"
|
|
desc = "<B>Instructions:</B> <I>Heat in microwave. Product will cool if not eaten within seven minutes.</I>"
|
|
icon_state = "donkpocketbox"
|
|
illustration=null
|
|
var/donktype = /obj/item/food/donkpocket
|
|
|
|
/obj/item/storage/box/donkpockets/PopulateContents()
|
|
for(var/i in 1 to 6)
|
|
new donktype(src)
|
|
|
|
/obj/item/storage/box/donkpockets/ComponentInitialize()
|
|
. = ..()
|
|
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
|
|
STR.set_holdable(list(/obj/item/food/donkpocket))
|
|
|
|
/obj/item/storage/box/donkpockets/donkpocketspicy
|
|
name = "box of spicy-flavoured donk-pockets"
|
|
icon_state = "donkpocketboxspicy"
|
|
donktype = /obj/item/food/donkpocket/spicy
|
|
|
|
/obj/item/storage/box/donkpockets/donkpocketteriyaki
|
|
name = "box of teriyaki-flavoured donk-pockets"
|
|
icon_state = "donkpocketboxteriyaki"
|
|
donktype = /obj/item/food/donkpocket/teriyaki
|
|
|
|
/obj/item/storage/box/donkpockets/donkpocketpizza
|
|
name = "box of pizza-flavoured donk-pockets"
|
|
icon_state = "donkpocketboxpizza"
|
|
donktype = /obj/item/food/donkpocket/pizza
|
|
|
|
/obj/item/storage/box/donkpockets/donkpocketgondola
|
|
name = "box of gondola-flavoured donk-pockets"
|
|
icon_state = "donkpocketboxgondola"
|
|
donktype = /obj/item/food/donkpocket/gondola
|
|
|
|
/obj/item/storage/box/donkpockets/donkpocketberry
|
|
name = "box of berry-flavoured donk-pockets"
|
|
icon_state = "donkpocketboxberry"
|
|
donktype = /obj/item/food/donkpocket/berry
|
|
|
|
/obj/item/storage/box/donkpockets/donkpockethonk
|
|
name = "box of banana-flavoured donk-pockets"
|
|
icon_state = "donkpocketboxbanana"
|
|
donktype = /obj/item/food/donkpocket/honk
|
|
|
|
/obj/item/storage/box/monkeycubes
|
|
name = "monkey cube box"
|
|
desc = "Drymate brand monkey cubes. Just add water!"
|
|
icon_state = "monkeycubebox"
|
|
illustration = null
|
|
var/cube_type = /obj/item/food/monkeycube
|
|
|
|
/obj/item/storage/box/monkeycubes/ComponentInitialize()
|
|
. = ..()
|
|
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
|
|
STR.max_items = 7
|
|
STR.set_holdable(list(/obj/item/food/monkeycube))
|
|
|
|
/obj/item/storage/box/monkeycubes/PopulateContents()
|
|
for(var/i in 1 to 5)
|
|
new cube_type(src)
|
|
|
|
/obj/item/storage/box/monkeycubes/syndicate
|
|
desc = "Waffle Co. brand monkey cubes. Just add water and a dash of subterfuge!"
|
|
cube_type = /obj/item/food/monkeycube/syndicate
|
|
|
|
/obj/item/storage/box/gorillacubes
|
|
name = "gorilla cube box"
|
|
desc = "Waffle Co. brand gorilla cubes. Do not taunt."
|
|
icon_state = "monkeycubebox"
|
|
illustration = null
|
|
|
|
/obj/item/storage/box/gorillacubes/ComponentInitialize()
|
|
. = ..()
|
|
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
|
|
STR.max_items = 3
|
|
STR.set_holdable(list(/obj/item/food/monkeycube))
|
|
|
|
/obj/item/storage/box/gorillacubes/PopulateContents()
|
|
for(var/i in 1 to 3)
|
|
new /obj/item/food/monkeycube/gorilla(src)
|
|
|
|
/obj/item/storage/box/ids
|
|
name = "box of spare IDs"
|
|
desc = "Has so many empty IDs."
|
|
illustration = "id"
|
|
|
|
/obj/item/storage/box/ids/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/card/id/advanced(src)
|
|
|
|
//Some spare PDAs in a box
|
|
/obj/item/storage/box/pdas
|
|
name = "spare PDAs"
|
|
desc = "A box of spare PDA microcomputers."
|
|
illustration = "pda"
|
|
|
|
/obj/item/storage/box/pdas/PopulateContents()
|
|
for(var/i in 1 to 4)
|
|
new /obj/item/pda(src)
|
|
new /obj/item/cartridge/head(src)
|
|
|
|
var/newcart = pick( /obj/item/cartridge/engineering,
|
|
/obj/item/cartridge/security,
|
|
/obj/item/cartridge/medical,
|
|
/obj/item/cartridge/signal/ordnance,
|
|
/obj/item/cartridge/quartermaster)
|
|
new newcart(src)
|
|
|
|
/obj/item/storage/box/silver_ids
|
|
name = "box of spare silver IDs"
|
|
desc = "Shiny IDs for important people."
|
|
illustration = "id"
|
|
|
|
/obj/item/storage/box/silver_ids/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/card/id/advanced/silver(src)
|
|
|
|
/obj/item/storage/box/prisoner
|
|
name = "box of prisoner IDs"
|
|
desc = "Take away their last shred of dignity, their name."
|
|
icon_state = "secbox"
|
|
illustration = "id"
|
|
|
|
/obj/item/storage/box/prisoner/PopulateContents()
|
|
..()
|
|
new /obj/item/card/id/advanced/prisoner/one(src)
|
|
new /obj/item/card/id/advanced/prisoner/two(src)
|
|
new /obj/item/card/id/advanced/prisoner/three(src)
|
|
new /obj/item/card/id/advanced/prisoner/four(src)
|
|
new /obj/item/card/id/advanced/prisoner/five(src)
|
|
new /obj/item/card/id/advanced/prisoner/six(src)
|
|
new /obj/item/card/id/advanced/prisoner/seven(src)
|
|
|
|
/obj/item/storage/box/seccarts
|
|
name = "box of PDA security cartridges"
|
|
desc = "A box full of PDA cartridges used by Security."
|
|
icon_state = "secbox"
|
|
illustration = "pda"
|
|
|
|
/obj/item/storage/box/seccarts/PopulateContents()
|
|
new /obj/item/cartridge/detective(src)
|
|
for(var/i in 1 to 6)
|
|
new /obj/item/cartridge/security(src)
|
|
|
|
/obj/item/storage/box/firingpins
|
|
name = "box of standard firing pins"
|
|
desc = "A box full of standard firing pins, to allow newly-developed firearms to operate."
|
|
icon_state = "secbox"
|
|
illustration = "firingpin"
|
|
|
|
/obj/item/storage/box/firingpins/PopulateContents()
|
|
for(var/i in 1 to 5)
|
|
new /obj/item/firing_pin(src)
|
|
|
|
/obj/item/storage/box/firingpins/paywall
|
|
name = "box of paywall firing pins"
|
|
desc = "A box full of paywall firing pins, to allow newly-developed firearms to operate behind a custom-set paywall."
|
|
illustration = "firingpin"
|
|
|
|
/obj/item/storage/box/firingpins/paywall/PopulateContents()
|
|
for(var/i in 1 to 5)
|
|
new /obj/item/firing_pin/paywall(src)
|
|
|
|
/obj/item/storage/box/lasertagpins
|
|
name = "box of laser tag firing pins"
|
|
desc = "A box full of laser tag firing pins, to allow newly-developed firearms to require wearing brightly coloured plastic armor before being able to be used."
|
|
illustration = "firingpin"
|
|
|
|
/obj/item/storage/box/lasertagpins/PopulateContents()
|
|
for(var/i in 1 to 3)
|
|
new /obj/item/firing_pin/tag/red(src)
|
|
new /obj/item/firing_pin/tag/blue(src)
|
|
|
|
/obj/item/storage/box/handcuffs
|
|
name = "box of spare handcuffs"
|
|
desc = "A box full of handcuffs."
|
|
icon_state = "secbox"
|
|
illustration = "handcuff"
|
|
|
|
/obj/item/storage/box/handcuffs/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/restraints/handcuffs(src)
|
|
|
|
/obj/item/storage/box/zipties
|
|
name = "box of spare zipties"
|
|
desc = "A box full of zipties."
|
|
icon_state = "secbox"
|
|
illustration = "handcuff"
|
|
|
|
/obj/item/storage/box/zipties/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/restraints/handcuffs/cable/zipties(src)
|
|
|
|
/obj/item/storage/box/alienhandcuffs
|
|
name = "box of spare handcuffs"
|
|
desc = "A box full of handcuffs."
|
|
icon_state = "alienbox"
|
|
illustration = "handcuff"
|
|
|
|
/obj/item/storage/box/alienhandcuffs/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/restraints/handcuffs/alien(src)
|
|
|
|
/obj/item/storage/box/fakesyndiesuit
|
|
name = "boxed space suit and helmet"
|
|
desc = "A sleek, sturdy box used to hold replica spacesuits."
|
|
icon_state = "syndiebox"
|
|
illustration = "syndiesuit"
|
|
|
|
/obj/item/storage/box/fakesyndiesuit/PopulateContents()
|
|
new /obj/item/clothing/head/syndicatefake(src)
|
|
new /obj/item/clothing/suit/syndicatefake(src)
|
|
|
|
/obj/item/storage/box/mousetraps
|
|
name = "box of Pest-B-Gon mousetraps"
|
|
desc = "<span class='alert'>Keep out of reach of children.</span>"
|
|
illustration = "mousetrap"
|
|
|
|
/obj/item/storage/box/mousetraps/PopulateContents()
|
|
for(var/i in 1 to 6)
|
|
new /obj/item/assembly/mousetrap(src)
|
|
|
|
/obj/item/storage/box/pillbottles
|
|
name = "box of pill bottles"
|
|
desc = "It has pictures of pill bottles on its front."
|
|
illustration = "pillbox"
|
|
|
|
/obj/item/storage/box/pillbottles/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/storage/pill_bottle(src)
|
|
|
|
/obj/item/storage/box/snappops
|
|
name = "snap pop box"
|
|
desc = "Eight wrappers of fun! Ages 8 and up. Not suitable for children."
|
|
icon = 'icons/obj/toy.dmi'
|
|
icon_state = "spbox"
|
|
illustration = ""
|
|
|
|
/obj/item/storage/box/snappops/ComponentInitialize()
|
|
. = ..()
|
|
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
|
|
STR.set_holdable(list(/obj/item/toy/snappop))
|
|
STR.max_items = 8
|
|
|
|
/obj/item/storage/box/snappops/PopulateContents()
|
|
SEND_SIGNAL(src, COMSIG_TRY_STORAGE_FILL_TYPE, /obj/item/toy/snappop)
|
|
|
|
/obj/item/storage/box/matches
|
|
name = "matchbox"
|
|
desc = "A small box of Almost But Not Quite Plasma Premium Matches."
|
|
icon = 'icons/obj/cigarettes.dmi'
|
|
icon_state = "matchbox"
|
|
inhand_icon_state = "zippo"
|
|
worn_icon_state = "lighter"
|
|
w_class = WEIGHT_CLASS_TINY
|
|
slot_flags = ITEM_SLOT_BELT
|
|
drop_sound = 'sound/items/handling/matchbox_drop.ogg'
|
|
pickup_sound = 'sound/items/handling/matchbox_pickup.ogg'
|
|
custom_price = PAYCHECK_ASSISTANT * 0.4
|
|
base_icon_state = "matchbox"
|
|
illustration = null
|
|
|
|
/obj/item/storage/box/matches/ComponentInitialize()
|
|
. = ..()
|
|
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
|
|
STR.max_items = 10
|
|
STR.set_holdable(list(/obj/item/match))
|
|
|
|
/obj/item/storage/box/matches/PopulateContents()
|
|
SEND_SIGNAL(src, COMSIG_TRY_STORAGE_FILL_TYPE, /obj/item/match)
|
|
|
|
/obj/item/storage/box/matches/attackby(obj/item/match/W as obj, mob/user as mob, params)
|
|
if(istype(W, /obj/item/match))
|
|
W.matchignite()
|
|
|
|
/obj/item/storage/box/matches/update_icon_state()
|
|
. = ..()
|
|
switch(length(contents))
|
|
if(10)
|
|
icon_state = base_icon_state
|
|
if(5 to 9)
|
|
icon_state = "[base_icon_state]_almostfull"
|
|
if(1 to 4)
|
|
icon_state = "[base_icon_state]_almostempty"
|
|
if(0)
|
|
icon_state = "[base_icon_state]_e"
|
|
|
|
/obj/item/storage/box/lights
|
|
name = "box of replacement bulbs"
|
|
icon = 'icons/obj/storage.dmi'
|
|
illustration = "light"
|
|
desc = "This box is shaped on the inside so that only light tubes and bulbs fit."
|
|
inhand_icon_state = "syringe_kit"
|
|
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
|
|
foldable = /obj/item/stack/sheet/cardboard //BubbleWrap
|
|
|
|
/obj/item/storage/box/lights/ComponentInitialize()
|
|
. = ..()
|
|
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
|
|
STR.max_items = 21
|
|
STR.set_holdable(list(/obj/item/light/tube, /obj/item/light/bulb))
|
|
STR.max_combined_w_class = 21
|
|
STR.click_gather = FALSE //temp workaround to re-enable filling the light replacer with the box
|
|
|
|
/obj/item/storage/box/lights/bulbs/PopulateContents()
|
|
for(var/i in 1 to 21)
|
|
new /obj/item/light/bulb(src)
|
|
|
|
/obj/item/storage/box/lights/tubes
|
|
name = "box of replacement tubes"
|
|
illustration = "lighttube"
|
|
|
|
/obj/item/storage/box/lights/tubes/PopulateContents()
|
|
for(var/i in 1 to 21)
|
|
new /obj/item/light/tube(src)
|
|
|
|
/obj/item/storage/box/lights/mixed
|
|
name = "box of replacement lights"
|
|
illustration = "lightmixed"
|
|
|
|
/obj/item/storage/box/lights/mixed/PopulateContents()
|
|
for(var/i in 1 to 14)
|
|
new /obj/item/light/tube(src)
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/light/bulb(src)
|
|
|
|
|
|
/obj/item/storage/box/deputy
|
|
name = "box of deputy armbands"
|
|
desc = "To be issued to those authorized to act as deputy of security."
|
|
icon_state = "secbox"
|
|
illustration = "depband"
|
|
|
|
/obj/item/storage/box/deputy/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/clothing/accessory/armband/deputy(src)
|
|
|
|
/obj/item/storage/box/metalfoam
|
|
name = "box of metal foam grenades"
|
|
desc = "To be used to rapidly seal hull breaches."
|
|
illustration = "grenade"
|
|
|
|
/obj/item/storage/box/metalfoam/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/grenade/chem_grenade/metalfoam(src)
|
|
|
|
/obj/item/storage/box/smart_metal_foam
|
|
name = "box of smart metal foam grenades"
|
|
desc = "Used to rapidly seal hull breaches. This variety conforms to the walls of its area."
|
|
illustration = "grenade"
|
|
|
|
/obj/item/storage/box/smart_metal_foam/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new/obj/item/grenade/chem_grenade/smart_metal_foam(src)
|
|
|
|
/obj/item/storage/box/hug
|
|
name = "box of hugs"
|
|
desc = "A special box for sensitive people."
|
|
icon_state = "hugbox"
|
|
illustration = "heart"
|
|
foldable = null
|
|
|
|
/obj/item/storage/box/hug/suicide_act(mob/user)
|
|
user.visible_message(span_suicide("[user] clamps the box of hugs on [user.p_their()] jugular! Guess it wasn't such a hugbox after all.."))
|
|
return (BRUTELOSS)
|
|
|
|
/obj/item/storage/box/hug/attack_self(mob/user)
|
|
..()
|
|
user.changeNext_move(CLICK_CD_MELEE)
|
|
playsound(loc, "rustle", 50, TRUE, -5)
|
|
user.visible_message(span_notice("[user] hugs \the [src]."),span_notice("You hug \the [src]."))
|
|
|
|
/////clown box & honkbot assembly
|
|
/obj/item/storage/box/clown
|
|
name = "clown box"
|
|
desc = "A colorful cardboard box for the clown"
|
|
illustration = "clown"
|
|
|
|
/obj/item/storage/box/clown/attackby(obj/item/I, mob/user, params)
|
|
if((istype(I, /obj/item/bodypart/l_arm/robot)) || (istype(I, /obj/item/bodypart/r_arm/robot)))
|
|
if(contents.len) //prevent accidently deleting contents
|
|
to_chat(user, span_warning("You need to empty [src] out first!"))
|
|
return
|
|
if(!user.temporarilyRemoveItemFromInventory(I))
|
|
return
|
|
qdel(I)
|
|
to_chat(user, span_notice("You add some wheels to the [src]! You've got a honkbot assembly now! Honk!"))
|
|
var/obj/item/bot_assembly/honkbot/A = new
|
|
qdel(src)
|
|
user.put_in_hands(A)
|
|
else
|
|
return ..()
|
|
|
|
//////
|
|
/obj/item/storage/box/hug/medical/PopulateContents()
|
|
new /obj/item/stack/medical/bruise_pack(src)
|
|
new /obj/item/stack/medical/ointment(src)
|
|
new /obj/item/reagent_containers/hypospray/medipen(src)
|
|
|
|
// Clown survival box
|
|
/obj/item/storage/box/hug/survival/PopulateContents()
|
|
new /obj/item/clothing/mask/breath(src)
|
|
new /obj/item/reagent_containers/hypospray/medipen(src)
|
|
|
|
//SKYRAT EDIT CHANGE BEGIN - CUSTOMIZATION
|
|
if(isplasmaman(loc))
|
|
new /obj/item/tank/internals/plasmaman/belt(src)
|
|
else if(isvox(loc))
|
|
new /obj/item/tank/internals/nitrogen/belt/emergency(src)
|
|
else
|
|
new /obj/item/tank/internals/emergency_oxygen(src)
|
|
//SKYRAT EDIT END
|
|
new /obj/item/oxygen_candle(src) //SKYRAT EDIT ADDITION
|
|
|
|
if(HAS_TRAIT(SSstation, STATION_TRAIT_PREMIUM_INTERNALS))
|
|
new /obj/item/flashlight/flare(src)
|
|
new /obj/item/radio/off(src)
|
|
|
|
/obj/item/storage/box/hug/plushes
|
|
name = "tactical cuddle kit"
|
|
desc = "A lovely little box filled with soft, cute plushies, perfect for calming down people who have just suffered a traumatic event. Legend has it there's a special part of hell \
|
|
for Medical Officers who just take the box for themselves."
|
|
|
|
/// the plushies that aren't of things trying to kill you
|
|
var/list/static/approved_by_corporate = list(/obj/item/toy/plush/carpplushie, // well, maybe they can be something that tries to kill you a little bit
|
|
/obj/item/toy/plush/slimeplushie,
|
|
/obj/item/toy/plush/lizard_plushie,
|
|
/obj/item/toy/plush/snakeplushie,
|
|
/obj/item/toy/plush/plasmamanplushie,
|
|
/obj/item/toy/plush/beeplushie,
|
|
/obj/item/toy/plush/moth,
|
|
/obj/item/toy/plush/pkplush)
|
|
|
|
/obj/item/storage/box/hug/plushes/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
var/plush_path = pick(approved_by_corporate)
|
|
new plush_path(src)
|
|
|
|
/obj/item/storage/box/rubbershot
|
|
name = "box of rubber shots"
|
|
desc = "A box full of rubber shots, designed for riot shotguns."
|
|
icon_state = "rubbershot_box"
|
|
illustration = null
|
|
|
|
/obj/item/storage/box/rubbershot/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/ammo_casing/shotgun/rubbershot(src)
|
|
|
|
/obj/item/storage/box/lethalshot
|
|
name = "box of lethal shotgun shots"
|
|
desc = "A box full of lethal shots, designed for riot shotguns."
|
|
icon_state = "lethalshot_box"
|
|
illustration = null
|
|
|
|
/obj/item/storage/box/lethalshot/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/ammo_casing/shotgun/buckshot(src)
|
|
|
|
/obj/item/storage/box/beanbag
|
|
name = "box of beanbags"
|
|
desc = "A box full of beanbag shells."
|
|
icon_state = "rubbershot_box"
|
|
illustration = null
|
|
|
|
/obj/item/storage/box/beanbag/PopulateContents()
|
|
for(var/i in 1 to 6)
|
|
new /obj/item/ammo_casing/shotgun/beanbag(src)
|
|
|
|
/obj/item/storage/box/actionfigure
|
|
name = "box of action figures"
|
|
desc = "The latest set of collectable action figures."
|
|
icon_state = "box"
|
|
|
|
/obj/item/storage/box/actionfigure/PopulateContents()
|
|
for(var/i in 1 to 4)
|
|
var/randomFigure = pick(subtypesof(/obj/item/toy/figure))
|
|
new randomFigure(src)
|
|
|
|
/obj/item/storage/box/papersack
|
|
name = "paper sack"
|
|
desc = "A sack neatly crafted out of paper."
|
|
icon_state = "paperbag_None"
|
|
inhand_icon_state = "paperbag_None"
|
|
illustration = null
|
|
resistance_flags = FLAMMABLE
|
|
foldable = null
|
|
/// A list of all available papersack reskins
|
|
var/list/papersack_designs = list()
|
|
|
|
/obj/item/storage/box/papersack/Initialize(mapload)
|
|
. = ..()
|
|
papersack_designs = sort_list(list(
|
|
"None" = image(icon = src.icon, icon_state = "paperbag_None"),
|
|
"NanotrasenStandard" = image(icon = src.icon, icon_state = "paperbag_NanotrasenStandard"),
|
|
"SyndiSnacks" = image(icon = src.icon, icon_state = "paperbag_SyndiSnacks"),
|
|
"Heart" = image(icon = src.icon, icon_state = "paperbag_Heart"),
|
|
"SmileyFace" = image(icon = src.icon, icon_state = "paperbag_SmileyFace")
|
|
))
|
|
|
|
/obj/item/storage/box/papersack/update_icon_state()
|
|
if(contents.len == 0)
|
|
icon_state = "[inhand_icon_state]"
|
|
else
|
|
icon_state = "[inhand_icon_state]_closed"
|
|
return ..()
|
|
|
|
/obj/item/storage/box/papersack/attackby(obj/item/W, mob/user, params)
|
|
if(istype(W, /obj/item/pen))
|
|
var/choice = show_radial_menu(user, src , papersack_designs, custom_check = CALLBACK(src, .proc/check_menu, user, W), radius = 36, require_near = TRUE)
|
|
if(!choice)
|
|
return FALSE
|
|
if(icon_state == "paperbag_[choice]")
|
|
return FALSE
|
|
switch(choice)
|
|
if("None")
|
|
desc = "A sack neatly crafted out of paper."
|
|
if("NanotrasenStandard")
|
|
desc = "A standard Nanotrasen paper lunch sack for loyal employees on the go."
|
|
if("SyndiSnacks")
|
|
desc = "The design on this paper sack is a remnant of the notorious 'SyndieSnacks' program."
|
|
if("Heart")
|
|
desc = "A paper sack with a heart etched onto the side."
|
|
if("SmileyFace")
|
|
desc = "A paper sack with a crude smile etched onto the side."
|
|
else
|
|
return FALSE
|
|
to_chat(user, span_notice("You make some modifications to [src] using your pen."))
|
|
icon_state = "paperbag_[choice]"
|
|
inhand_icon_state = "paperbag_[choice]"
|
|
return FALSE
|
|
else if(W.get_sharpness())
|
|
if(!contents.len)
|
|
if(inhand_icon_state == "paperbag_None")
|
|
user.show_message(span_notice("You cut eyeholes into [src]."), MSG_VISUAL)
|
|
new /obj/item/clothing/head/papersack(user.loc)
|
|
qdel(src)
|
|
return FALSE
|
|
else if(inhand_icon_state == "paperbag_SmileyFace")
|
|
user.show_message(span_notice("You cut eyeholes into [src] and modify the design."), MSG_VISUAL)
|
|
new /obj/item/clothing/head/papersack/smiley(user.loc)
|
|
qdel(src)
|
|
return FALSE
|
|
return ..()
|
|
|
|
/**
|
|
* check_menu: Checks if we are allowed to interact with a radial menu
|
|
*
|
|
* Arguments:
|
|
* * user The mob interacting with a menu
|
|
* * P The pen used to interact with a menu
|
|
*/
|
|
/obj/item/storage/box/papersack/proc/check_menu(mob/user, obj/item/pen/P)
|
|
if(!istype(user))
|
|
return FALSE
|
|
if(user.incapacitated())
|
|
return FALSE
|
|
if(contents.len)
|
|
to_chat(user, span_warning("You can't modify [src] with items still inside!"))
|
|
return FALSE
|
|
if(!P || !user.is_holding(P))
|
|
to_chat(user, span_warning("You need a pen to modify [src]!"))
|
|
return FALSE
|
|
return TRUE
|
|
|
|
/obj/item/storage/box/papersack/meat
|
|
desc = "It's slightly moist and smells like a slaughterhouse."
|
|
|
|
/obj/item/storage/box/papersack/meat/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/food/meat/slab(src)
|
|
|
|
/obj/item/storage/box/emptysandbags
|
|
name = "box of empty sandbags"
|
|
illustration = "sandbag"
|
|
|
|
/obj/item/storage/box/emptysandbags/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/emptysandbag(src)
|
|
|
|
/obj/item/storage/box/rndboards
|
|
name = "\proper the liberator's legacy"
|
|
desc = "A box containing a gift for worthy golems."
|
|
illustration = "scicircuit"
|
|
|
|
/obj/item/storage/box/rndboards/PopulateContents()
|
|
new /obj/item/circuitboard/machine/protolathe/offstation(src)
|
|
new /obj/item/circuitboard/machine/destructive_analyzer(src)
|
|
new /obj/item/circuitboard/machine/circuit_imprinter/offstation(src)
|
|
new /obj/item/circuitboard/computer/rdconsole(src)
|
|
|
|
/obj/item/storage/box/silver_sulf
|
|
name = "box of silver sulfadiazine patches"
|
|
desc = "Contains patches used to treat burns."
|
|
illustration = "firepatch"
|
|
|
|
/obj/item/storage/box/silver_sulf/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/reagent_containers/pill/patch/aiuri(src)
|
|
|
|
/obj/item/storage/box/fountainpens
|
|
name = "box of fountain pens"
|
|
illustration = "fpen"
|
|
|
|
/obj/item/storage/box/fountainpens/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/pen/fountain(src)
|
|
|
|
/obj/item/storage/box/holy_grenades
|
|
name = "box of holy hand grenades"
|
|
desc = "Contains several grenades used to rapidly purge heresy."
|
|
illustration = "grenade"
|
|
|
|
/obj/item/storage/box/holy_grenades/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new/obj/item/grenade/chem_grenade/holy(src)
|
|
|
|
/obj/item/storage/box/stockparts/basic //for ruins where it's a bad idea to give access to an autolathe/protolathe, but still want to make stock parts accessible
|
|
name = "box of stock parts"
|
|
desc = "Contains a variety of basic stock parts."
|
|
|
|
/obj/item/storage/box/stockparts/basic/PopulateContents()
|
|
var/static/items_inside = list(
|
|
/obj/item/stock_parts/capacitor = 3,
|
|
/obj/item/stock_parts/scanning_module = 3,
|
|
/obj/item/stock_parts/manipulator = 3,
|
|
/obj/item/stock_parts/micro_laser = 3,
|
|
/obj/item/stock_parts/matter_bin = 3)
|
|
generate_items_inside(items_inside,src)
|
|
|
|
/obj/item/storage/box/stockparts/deluxe
|
|
name = "box of deluxe stock parts"
|
|
desc = "Contains a variety of deluxe stock parts."
|
|
icon_state = "syndiebox"
|
|
|
|
/obj/item/storage/box/stockparts/deluxe/PopulateContents()
|
|
var/static/items_inside = list(
|
|
/obj/item/stock_parts/capacitor/quadratic = 3,
|
|
/obj/item/stock_parts/scanning_module/triphasic = 3,
|
|
/obj/item/stock_parts/manipulator/femto = 3,
|
|
/obj/item/stock_parts/micro_laser/quadultra = 3,
|
|
/obj/item/stock_parts/matter_bin/bluespace = 3)
|
|
generate_items_inside(items_inside,src)
|
|
|
|
/obj/item/storage/box/dishdrive
|
|
name = "DIY Dish Drive Kit"
|
|
desc = "Contains everything you need to build your own Dish Drive!"
|
|
custom_premium_price = PAYCHECK_EASY * 3
|
|
|
|
/obj/item/storage/box/dishdrive/PopulateContents()
|
|
var/static/items_inside = list(
|
|
/obj/item/stack/sheet/iron/five = 1,
|
|
/obj/item/stack/cable_coil/five = 1,
|
|
/obj/item/circuitboard/machine/dish_drive = 1,
|
|
/obj/item/stack/sheet/glass = 1,
|
|
/obj/item/stock_parts/manipulator = 1,
|
|
/obj/item/stock_parts/matter_bin = 2,
|
|
/obj/item/screwdriver = 1,
|
|
/obj/item/wrench = 1)
|
|
generate_items_inside(items_inside,src)
|
|
|
|
/obj/item/storage/box/material
|
|
name = "box of materials"
|
|
illustration = "implant"
|
|
|
|
/obj/item/storage/box/material/PopulateContents() //less uranium because radioactive
|
|
var/static/items_inside = list(
|
|
/obj/item/stack/sheet/iron/fifty=1,\
|
|
/obj/item/stack/sheet/glass/fifty=1,\
|
|
/obj/item/stack/sheet/rglass=50,\
|
|
/obj/item/stack/sheet/plasmaglass=50,\
|
|
/obj/item/stack/sheet/titaniumglass=50,\
|
|
/obj/item/stack/sheet/plastitaniumglass=50,\
|
|
/obj/item/stack/sheet/plasteel=50,\
|
|
/obj/item/stack/sheet/mineral/plastitanium=50,\
|
|
/obj/item/stack/sheet/mineral/titanium=50,\
|
|
/obj/item/stack/sheet/mineral/gold=50,\
|
|
/obj/item/stack/sheet/mineral/silver=50,\
|
|
/obj/item/stack/sheet/mineral/plasma=50,\
|
|
///obj/item/stack/sheet/mineral/uranium=20,\ //SKYRAT EDIT REMOVAL
|
|
/obj/item/stack/sheet/mineral/diamond=50,\
|
|
/obj/item/stack/sheet/bluespace_crystal=50,\
|
|
/obj/item/stack/sheet/mineral/bananium=50,\
|
|
/obj/item/stack/sheet/mineral/wood=50,\
|
|
/obj/item/stack/sheet/plastic/fifty=1,\
|
|
/obj/item/stack/sheet/runed_metal/fifty=1
|
|
)
|
|
generate_items_inside(items_inside,src)
|
|
|
|
/obj/item/storage/box/debugtools
|
|
name = "box of debug tools"
|
|
icon_state = "syndiebox"
|
|
|
|
/obj/item/storage/box/debugtools/PopulateContents()
|
|
var/static/items_inside = list(
|
|
/obj/item/flashlight/emp/debug=1,\
|
|
/obj/item/pda=1,\
|
|
/obj/item/modular_computer/tablet/preset/advanced=1,\
|
|
/obj/item/geiger_counter=1,\
|
|
/obj/item/construction/rcd/combat/admin=1,\
|
|
/obj/item/pipe_dispenser=1,\
|
|
/obj/item/card/emag=1,\
|
|
/obj/item/stack/spacecash/c1000=50,\
|
|
/obj/item/healthanalyzer/advanced=1,\
|
|
/obj/item/disk/tech_disk/debug=1,\
|
|
/obj/item/uplink/debug=1,\
|
|
/obj/item/uplink/nuclear/debug=1,\
|
|
/obj/item/storage/box/beakers/bluespace=1,\
|
|
/obj/item/storage/box/beakers/variety=1,\
|
|
/obj/item/storage/box/material=1
|
|
)
|
|
generate_items_inside(items_inside,src)
|
|
|
|
/obj/item/storage/box/plastic
|
|
name = "plastic box"
|
|
desc = "It's a solid, plastic shell box."
|
|
icon_state = "plasticbox"
|
|
foldable = null
|
|
illustration = "writing"
|
|
custom_materials = list(/datum/material/plastic = 1000) //You lose most if recycled.
|
|
|
|
|
|
/obj/item/storage/box/fireworks
|
|
name = "box of fireworks"
|
|
desc = "Contains an assortment of fireworks."
|
|
illustration = "sparkler"
|
|
|
|
/obj/item/storage/box/fireworks/PopulateContents()
|
|
for(var/i in 1 to 3)
|
|
new/obj/item/sparkler(src)
|
|
new/obj/item/grenade/firecracker(src)
|
|
new /obj/item/toy/snappop(src)
|
|
|
|
/obj/item/storage/box/fireworks/dangerous
|
|
|
|
/obj/item/storage/box/fireworks/dangerous/PopulateContents()
|
|
for(var/i in 1 to 3)
|
|
new/obj/item/sparkler(src)
|
|
new/obj/item/grenade/firecracker(src)
|
|
if(prob(20))
|
|
new /obj/item/grenade/frag(src)
|
|
else
|
|
new /obj/item/toy/snappop(src)
|
|
|
|
/obj/item/storage/box/firecrackers
|
|
name = "box of firecrackers"
|
|
desc = "A box filled with illegal firecracker. You wonder who still makes these."
|
|
icon_state = "syndiebox"
|
|
illustration = "firecracker"
|
|
|
|
/obj/item/storage/box/firecrackers/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new/obj/item/grenade/firecracker(src)
|
|
|
|
/obj/item/storage/box/sparklers
|
|
name = "box of sparklers"
|
|
desc = "A box of NT brand sparklers, burns hot even in the cold of space-winter."
|
|
illustration = "sparkler"
|
|
|
|
/obj/item/storage/box/sparklers/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new/obj/item/sparkler(src)
|
|
|
|
/obj/item/storage/box/gum
|
|
name = "bubblegum packet"
|
|
desc = "The packaging is entirely in japanese, apparently. You can't make out a single word of it."
|
|
icon_state = "bubblegum_generic"
|
|
w_class = WEIGHT_CLASS_TINY
|
|
illustration = null
|
|
foldable = null
|
|
custom_price = PAYCHECK_EASY
|
|
|
|
/obj/item/storage/box/gum/ComponentInitialize()
|
|
. = ..()
|
|
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
|
|
STR.set_holdable(list(/obj/item/food/bubblegum))
|
|
STR.max_items = 4
|
|
|
|
/obj/item/storage/box/gum/PopulateContents()
|
|
for(var/i in 1 to 4)
|
|
new/obj/item/food/bubblegum(src)
|
|
|
|
/obj/item/storage/box/gum/nicotine
|
|
name = "nicotine gum packet"
|
|
desc = "Designed to help with nicotine addiction and oral fixation all at once without destroying your lungs in the process. Mint flavored!"
|
|
icon_state = "bubblegum_nicotine"
|
|
custom_premium_price = PAYCHECK_EASY * 1.5
|
|
|
|
/obj/item/storage/box/gum/nicotine/PopulateContents()
|
|
for(var/i in 1 to 4)
|
|
new/obj/item/food/bubblegum/nicotine(src)
|
|
|
|
/obj/item/storage/box/gum/happiness
|
|
name = "HP+ gum packet"
|
|
desc = "A seemingly homemade packaging with an odd smell. It has a weird drawing of a smiling face sticking out its tongue."
|
|
icon_state = "bubblegum_happiness"
|
|
custom_price = PAYCHECK_HARD * 3
|
|
custom_premium_price = PAYCHECK_HARD * 3
|
|
|
|
/obj/item/storage/box/gum/happiness/Initialize(mapload)
|
|
. = ..()
|
|
if (prob(25))
|
|
desc += " You can faintly make out the word 'Hemopagopril' was once scribbled on it."
|
|
|
|
/obj/item/storage/box/gum/happiness/PopulateContents()
|
|
for(var/i in 1 to 4)
|
|
new/obj/item/food/bubblegum/happiness(src)
|
|
|
|
/obj/item/storage/box/gum/bubblegum
|
|
name = "bubblegum gum packet"
|
|
desc = "The packaging is entirely in Demonic, apparently. You feel like even opening this would be a sin."
|
|
icon_state = "bubblegum_bubblegum"
|
|
|
|
/obj/item/storage/box/gum/bubblegum/PopulateContents()
|
|
for(var/i in 1 to 4)
|
|
new/obj/item/food/bubblegum/bubblegum(src)
|
|
|
|
/obj/item/storage/box/shipping
|
|
name = "box of shipping supplies"
|
|
desc = "Contains several scanners and labelers for shipping things. Wrapping Paper not included."
|
|
illustration = "shipping"
|
|
|
|
/obj/item/storage/box/shipping/PopulateContents()
|
|
var/static/items_inside = list(
|
|
/obj/item/dest_tagger=1,\
|
|
/obj/item/sales_tagger=1,\
|
|
/obj/item/export_scanner=1,\
|
|
/obj/item/stack/package_wrap/small=2,\
|
|
/obj/item/stack/wrapping_paper/small=1
|
|
)
|
|
generate_items_inside(items_inside,src)
|
|
|
|
/obj/item/storage/box/skillchips
|
|
name = "box of skillchips"
|
|
desc = "Contains one copy of every skillchip"
|
|
|
|
/obj/item/storage/box/skillchips/PopulateContents()
|
|
var/list/skillchips = subtypesof(/obj/item/skillchip)
|
|
|
|
for(var/skillchip in skillchips)
|
|
new skillchip(src)
|
|
|
|
/obj/item/storage/box/skillchips/science
|
|
name = "box of science job skillchips"
|
|
desc = "Contains spares of every science job skillchip."
|
|
|
|
/obj/item/storage/box/skillchips/science/PopulateContents()
|
|
new/obj/item/skillchip/job/roboticist(src)
|
|
new/obj/item/skillchip/job/roboticist(src)
|
|
|
|
/obj/item/storage/box/skillchips/engineering
|
|
name = "box of engineering job skillchips"
|
|
desc = "Contains spares of every engineering job skillchip."
|
|
|
|
/obj/item/storage/box/skillchips/engineering/PopulateContents()
|
|
new/obj/item/skillchip/job/engineer(src)
|
|
new/obj/item/skillchip/job/engineer(src)
|
|
|
|
/obj/item/storage/box/swab
|
|
name = "box of microbiological swabs"
|
|
desc = "Contains a number of sterile swabs for collecting microbiological samples."
|
|
illustration = "swab"
|
|
|
|
/obj/item/storage/box/swab/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/swab(src)
|
|
|
|
/obj/item/storage/box/petridish
|
|
name = "box of petridishes"
|
|
desc = "This box purports to contain a number of high rim petridishes."
|
|
illustration = "petridish"
|
|
|
|
/obj/item/storage/box/petridish/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/petri_dish(src)
|
|
|
|
/obj/item/storage/box/plumbing
|
|
name = "box of plumbing supplies"
|
|
desc = "Contains a small supply of pipes, water recyclers, and iron to connect to the rest of the station."
|
|
|
|
/obj/item/storage/box/plumbing/PopulateContents()
|
|
var/list/items_inside = list(
|
|
/obj/item/stock_parts/water_recycler = 2,
|
|
/obj/item/stack/ducts/fifty = 1,
|
|
/obj/item/stack/sheet/iron/ten = 1,
|
|
)
|
|
generate_items_inside(items_inside, src)
|
|
|
|
/obj/item/storage/box/tail_pin
|
|
name = "pin the tail on the corgi supplies"
|
|
desc = "For ages 10 and up. ...Why is this even on a space station? Aren't you a little old for babby games?" //Intentional typo.
|
|
|
|
/obj/item/storage/box/tail_pin/PopulateContents()
|
|
for(var/i in 1 to 3)
|
|
new /obj/item/poster/tail_board(src)
|
|
new /obj/item/tail_pin(src)
|
|
|
|
/obj/item/storage/box/emergencytank
|
|
name = "emergency oxygen tank box"
|
|
desc = "A box of emergency oxygen tanks."
|
|
illustration = "emergencytank"
|
|
|
|
/obj/item/storage/box/emergencytank/PopulateContents()
|
|
..()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/tank/internals/emergency_oxygen(src) //in case anyone ever wants to do anything with spawning them, apart from crafting the box
|
|
|
|
/obj/item/storage/box/engitank
|
|
name = "extended-capacity emergency oxygen tank box"
|
|
desc = "A box of extended-capacity emergency oxygen tanks."
|
|
illustration = "extendedtank"
|
|
|
|
/obj/item/storage/box/engitank/PopulateContents()
|
|
..()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/tank/internals/emergency_oxygen/engi(src) //in case anyone ever wants to do anything with spawning them, apart from crafting the box
|
|
|
|
/obj/item/storage/box/stabilized //every single stabilized extract from xenobiology
|
|
name = "box of stabilized extracts"
|
|
icon_state = "syndiebox"
|
|
|
|
/obj/item/storage/box/stabilized/PopulateContents()
|
|
var/static/items_inside = list(
|
|
/obj/item/slimecross/stabilized/grey=1,\
|
|
/obj/item/slimecross/stabilized/orange=1,\
|
|
/obj/item/slimecross/stabilized/purple=1,\
|
|
/obj/item/slimecross/stabilized/blue=1,\
|
|
/obj/item/slimecross/stabilized/metal=1,\
|
|
/obj/item/slimecross/stabilized/yellow=1,\
|
|
/obj/item/slimecross/stabilized/darkpurple=1,\
|
|
/obj/item/slimecross/stabilized/darkblue=1,\
|
|
/obj/item/slimecross/stabilized/silver=1,\
|
|
/obj/item/slimecross/stabilized/bluespace=1,\
|
|
/obj/item/slimecross/stabilized/sepia=1,\
|
|
/obj/item/slimecross/stabilized/cerulean=1,\
|
|
/obj/item/slimecross/stabilized/pyrite=1,\
|
|
/obj/item/slimecross/stabilized/red=1,\
|
|
/obj/item/slimecross/stabilized/green=1,\
|
|
/obj/item/slimecross/stabilized/pink=1,\
|
|
/obj/item/slimecross/stabilized/gold=1,\
|
|
/obj/item/slimecross/stabilized/oil=1,\
|
|
/obj/item/slimecross/stabilized/black=1,\
|
|
/obj/item/slimecross/stabilized/lightpink=1,\
|
|
/obj/item/slimecross/stabilized/adamantine=1,\
|
|
/obj/item/slimecross/stabilized/rainbow=1,\
|
|
)
|
|
generate_items_inside(items_inside,src)
|
|
|
|
/obj/item/storage/box/ingredients //This box is for the randomly chosen version the chef used to spawn with, it shouldn't actually exist.
|
|
name = "ingredients box"
|
|
illustration = "fruit"
|
|
var/theme_name
|
|
|
|
/obj/item/storage/box/ingredients/Initialize(mapload)
|
|
. = ..()
|
|
if(theme_name)
|
|
name = "[name] ([theme_name])"
|
|
desc = "A box containing supplementary ingredients for the aspiring chef. The box's theme is '[theme_name]'."
|
|
inhand_icon_state = "syringe_kit"
|
|
|
|
/obj/item/storage/box/ingredients/wildcard
|
|
theme_name = "wildcard"
|
|
|
|
/obj/item/storage/box/ingredients/wildcard/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
var/randomFood = pick(/obj/item/food/grown/chili,
|
|
/obj/item/food/grown/tomato,
|
|
/obj/item/food/grown/carrot,
|
|
/obj/item/food/grown/potato,
|
|
/obj/item/food/grown/potato/sweet,
|
|
/obj/item/food/grown/apple,
|
|
/obj/item/food/chocolatebar,
|
|
/obj/item/food/grown/cherries,
|
|
/obj/item/food/grown/banana,
|
|
/obj/item/food/grown/cabbage,
|
|
/obj/item/food/grown/soybeans,
|
|
/obj/item/food/grown/corn,
|
|
/obj/item/food/grown/mushroom/plumphelmet,
|
|
/obj/item/food/grown/mushroom/chanterelle)
|
|
new randomFood(src)
|
|
|
|
/obj/item/storage/box/ingredients/fiesta
|
|
theme_name = "fiesta"
|
|
|
|
/obj/item/storage/box/ingredients/fiesta/PopulateContents()
|
|
new /obj/item/food/tortilla(src)
|
|
for(var/i in 1 to 2)
|
|
new /obj/item/food/grown/corn(src)
|
|
new /obj/item/food/grown/soybeans(src)
|
|
new /obj/item/food/grown/chili(src)
|
|
|
|
/obj/item/storage/box/ingredients/italian
|
|
theme_name = "italian"
|
|
|
|
/obj/item/storage/box/ingredients/italian/PopulateContents()
|
|
for(var/i in 1 to 3)
|
|
new /obj/item/food/grown/tomato(src)
|
|
new /obj/item/food/meatball(src)
|
|
new /obj/item/reagent_containers/food/drinks/bottle/wine(src)
|
|
|
|
/obj/item/storage/box/ingredients/vegetarian
|
|
theme_name = "vegetarian"
|
|
|
|
/obj/item/storage/box/ingredients/vegetarian/PopulateContents()
|
|
for(var/i in 1 to 2)
|
|
new /obj/item/food/grown/carrot(src)
|
|
new /obj/item/food/grown/eggplant(src)
|
|
new /obj/item/food/grown/potato(src)
|
|
new /obj/item/food/grown/apple(src)
|
|
new /obj/item/food/grown/corn(src)
|
|
new /obj/item/food/grown/tomato(src)
|
|
|
|
/obj/item/storage/box/ingredients/american
|
|
theme_name = "american"
|
|
|
|
/obj/item/storage/box/ingredients/american/PopulateContents()
|
|
for(var/i in 1 to 2)
|
|
new /obj/item/food/grown/potato(src)
|
|
new /obj/item/food/grown/tomato(src)
|
|
new /obj/item/food/grown/corn(src)
|
|
new /obj/item/food/meatball(src)
|
|
|
|
/obj/item/storage/box/ingredients/fruity
|
|
theme_name = "fruity"
|
|
|
|
/obj/item/storage/box/ingredients/fruity/PopulateContents()
|
|
for(var/i in 1 to 2)
|
|
new /obj/item/food/grown/apple(src)
|
|
new /obj/item/food/grown/citrus/orange(src)
|
|
new /obj/item/food/grown/citrus/lemon(src)
|
|
new /obj/item/food/grown/citrus/lime(src)
|
|
new /obj/item/food/grown/watermelon(src)
|
|
|
|
/obj/item/storage/box/ingredients/sweets
|
|
theme_name = "sweets"
|
|
|
|
/obj/item/storage/box/ingredients/sweets/PopulateContents()
|
|
for(var/i in 1 to 2)
|
|
new /obj/item/food/grown/cherries(src)
|
|
new /obj/item/food/grown/banana(src)
|
|
new /obj/item/food/chocolatebar(src)
|
|
new /obj/item/food/grown/cocoapod(src)
|
|
new /obj/item/food/grown/apple(src)
|
|
|
|
/obj/item/storage/box/ingredients/delights
|
|
theme_name = "delights"
|
|
|
|
/obj/item/storage/box/ingredients/delights/PopulateContents()
|
|
for(var/i in 1 to 2)
|
|
new /obj/item/food/grown/potato/sweet(src)
|
|
new /obj/item/food/grown/bluecherries(src)
|
|
new /obj/item/food/grown/vanillapod(src)
|
|
new /obj/item/food/grown/cocoapod(src)
|
|
new /obj/item/food/grown/berries(src)
|
|
|
|
/obj/item/storage/box/ingredients/grains
|
|
theme_name = "grains"
|
|
|
|
/obj/item/storage/box/ingredients/grains/PopulateContents()
|
|
for(var/i in 1 to 3)
|
|
new /obj/item/food/grown/oat(src)
|
|
new /obj/item/food/grown/wheat(src)
|
|
new /obj/item/food/grown/cocoapod(src)
|
|
new /obj/item/reagent_containers/honeycomb(src)
|
|
new /obj/item/seeds/poppy(src)
|
|
|
|
/obj/item/storage/box/ingredients/carnivore
|
|
theme_name = "carnivore"
|
|
|
|
/obj/item/storage/box/ingredients/carnivore/PopulateContents()
|
|
new /obj/item/food/meat/slab/bear(src)
|
|
new /obj/item/food/meat/slab/spider(src)
|
|
new /obj/item/food/spidereggs(src)
|
|
new /obj/item/food/meat/slab/penguin(src)
|
|
new /obj/item/food/meat/slab/xeno(src)
|
|
new /obj/item/food/meat/slab/corgi(src)
|
|
new /obj/item/food/meatball(src)
|
|
|
|
/obj/item/storage/box/ingredients/exotic
|
|
theme_name = "exotic"
|
|
|
|
/obj/item/storage/box/ingredients/exotic/PopulateContents()
|
|
for(var/i in 1 to 2)
|
|
new /obj/item/food/fishmeat/carp(src)
|
|
new /obj/item/food/grown/soybeans(src)
|
|
new /obj/item/food/grown/cabbage(src)
|
|
new /obj/item/food/grown/chili(src)
|
|
|
|
/obj/item/storage/box/ingredients/seafood
|
|
theme_name = "seafood"
|
|
|
|
/obj/item/storage/box/ingredients/seafood/PopulateContents()
|
|
for(var/i in 1 to 2)
|
|
new /obj/item/food/fishmeat/carp(src)
|
|
new /obj/item/food/fishmeat/armorfish(src)
|
|
new /obj/item/food/fishmeat/moonfish(src)
|
|
new /obj/item/food/fishmeat/gunner_jellyfish(src)
|
|
|
|
/obj/item/storage/box/ingredients/random
|
|
theme_name = "random"
|
|
desc = "This box should not exist, contact the proper authorities."
|
|
|
|
/obj/item/storage/box/ingredients/random/Initialize(mapload)
|
|
.=..()
|
|
var/chosen_box = pick(subtypesof(/obj/item/storage/box/ingredients) - /obj/item/storage/box/ingredients/random)
|
|
new chosen_box(loc)
|
|
return INITIALIZE_HINT_QDEL
|
|
|
|
/obj/item/storage/box/hero
|
|
name = "Courageous Tomb Raider - 1940's."
|
|
desc = "This legendary figure of still dubious historical accuracy is thought to have been a world-famous archeologist who embarked on countless adventures in far away lands, along with his trademark whip and fedora hat."
|
|
|
|
/obj/item/storage/box/hero/PopulateContents()
|
|
new /obj/item/clothing/head/fedora/curator(src)
|
|
new /obj/item/clothing/suit/curator(src)
|
|
new /obj/item/clothing/under/rank/civilian/curator/treasure_hunter(src)
|
|
new /obj/item/clothing/shoes/workboots/mining(src)
|
|
new /obj/item/melee/curator_whip(src)
|
|
|
|
/obj/item/storage/box/hero/astronaut
|
|
name = "First Man on the Moon - 1960's."
|
|
desc = "One small step for a man, one giant leap for mankind. Relive the beginnings of space exploration with this fully functional set of vintage EVA equipment."
|
|
|
|
/obj/item/storage/box/hero/astronaut/PopulateContents()
|
|
new /obj/item/clothing/suit/space/nasavoid(src)
|
|
new /obj/item/clothing/head/helmet/space/nasavoid(src)
|
|
new /obj/item/tank/internals/oxygen(src)
|
|
new /obj/item/gps(src)
|
|
|
|
/obj/item/storage/box/hero/scottish
|
|
name = "Braveheart, the Scottish rebel - 1300's."
|
|
desc = "Seemingly a legendary figure in the battle for Scottish independence, this historical figure is closely associated with blue facepaint, big swords, strange man skirts, and his ever enduring catchphrase: 'FREEDOM!!'"
|
|
|
|
/obj/item/storage/box/hero/scottish/PopulateContents()
|
|
new /obj/item/clothing/under/costume/kilt(src)
|
|
new /obj/item/claymore/weak/ceremonial(src)
|
|
new /obj/item/toy/crayon/spraycan(src)
|
|
new /obj/item/clothing/shoes/sandal(src)
|
|
|
|
/obj/item/storage/box/hero/carphunter
|
|
name = "Carp Hunter, Wildlife Expert - 2506."
|
|
desc = "Despite his nickname, this wildlife expert was mainly known as a passionate environmentalist and conservationist, often coming in contact with dangerous wildlife to teach about the beauty of nature."
|
|
|
|
/obj/item/storage/box/hero/carphunter/PopulateContents()
|
|
new /obj/item/clothing/suit/space/hardsuit/carp/old(src)
|
|
new /obj/item/clothing/mask/gas/carp(src)
|
|
new /obj/item/knife/hunting(src)
|
|
new /obj/item/storage/box/papersack/meat(src)
|
|
|
|
/obj/item/storage/box/holy/clock
|
|
name = "Forgotten kit"
|
|
|
|
/obj/item/storage/box/holy/clock/PopulateContents()
|
|
new /obj/item/clothing/head/helmet/chaplain/clock(src)
|
|
new /obj/item/clothing/suit/armor/riot/chaplain/clock(src)
|
|
|
|
/obj/item/storage/box/holy
|
|
name = "Templar Kit"
|
|
|
|
/obj/item/storage/box/holy/PopulateContents()
|
|
new /obj/item/clothing/head/helmet/chaplain(src)
|
|
new /obj/item/clothing/suit/armor/riot/chaplain(src)
|
|
|
|
/obj/item/storage/box/holy/student
|
|
name = "Profane Scholar Kit"
|
|
|
|
/obj/item/storage/box/holy/student/PopulateContents()
|
|
new /obj/item/clothing/suit/armor/riot/chaplain/studentuni(src)
|
|
new /obj/item/clothing/head/helmet/chaplain/cage(src)
|
|
|
|
/obj/item/storage/box/holy/sentinel
|
|
name = "Stone Sentinel Kit"
|
|
|
|
/obj/item/storage/box/holy/sentinel/PopulateContents()
|
|
new /obj/item/clothing/suit/armor/riot/chaplain/ancient(src)
|
|
new /obj/item/clothing/head/helmet/chaplain/ancient(src)
|
|
|
|
/obj/item/storage/box/holy/witchhunter
|
|
name = "Witchhunter Kit"
|
|
|
|
/obj/item/storage/box/holy/witchhunter/PopulateContents()
|
|
new /obj/item/clothing/suit/armor/riot/chaplain/witchhunter(src)
|
|
new /obj/item/clothing/head/helmet/chaplain/witchunter_hat(src)
|
|
|
|
/obj/item/storage/box/holy/adept
|
|
name = "Divine Adept Kit"
|
|
|
|
/obj/item/storage/box/holy/adept/PopulateContents()
|
|
new /obj/item/clothing/suit/armor/riot/chaplain/adept(src)
|
|
new /obj/item/clothing/head/helmet/chaplain/adept(src)
|
|
|
|
/obj/item/storage/box/holy/follower
|
|
name = "Followers of the Chaplain Kit"
|
|
|
|
/obj/item/storage/box/holy/follower/PopulateContents()
|
|
new /obj/item/clothing/suit/hooded/chaplain_hoodie/leader(src)
|
|
new /obj/item/clothing/suit/hooded/chaplain_hoodie(src)
|
|
new /obj/item/clothing/suit/hooded/chaplain_hoodie(src)
|
|
new /obj/item/clothing/suit/hooded/chaplain_hoodie(src)
|
|
new /obj/item/clothing/suit/hooded/chaplain_hoodie(src)
|