mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-05-20 21:57:44 +01:00
d5849910e5
* Begin clickcode attack_self fix Begins the work to make everything call back to parent for attack_self so that signals are sacred. * Makes MORE things call the attack_self() parent Yes, I could make special_handling a var on obj/item HOWEVER i want it to be specific so it can be tracked down later and ONLY the objects that use it can be refactored instead of sitting there literally forever and it just becoming 'a thing'. * Finishes making the rest of attack_self call parent. As mentioned, things such as 'specialty_goggles' 'special_handling' and the such are only there to help with attack_self until the attack_self is recoded for those items. * begone foul demon * some more cleanup * These * GOD this was annoying * yeh * Fix this * fLARES * Thesee too * toys! * Even more! * More fixes * Even more * rest of em * these too * Update syndie.dm * hardref clear * Update code/game/gamemodes/nuclear/pinpointer.dm * Update code/game/objects/effects/mines.dm * Update code/game/objects/items/blueprints_vr.dm * Update code/game/objects/items/blueprints_vr.dm * Update code/game/objects/items/contraband_vr.dm * Update code/game/objects/items/crayons.dm * Update code/game/objects/items/crayons.dm * Update code/game/objects/items/gunbox.dm * Update code/game/objects/items/gunbox.dm * Update code/game/objects/items/gunbox_vr.dm * Update code/game/objects/items/gunbox_vr.dm * Update code/game/objects/items/weapons/gift_wrappaper.dm * Update code/game/objects/items/crayons.dm * Update code/game/objects/items/crayons.dm * Update code/game/objects/items/gunbox.dm * these too * Update maintpanel_stack.dm * angry warning * Fixes packaged snacks. Fixes improper var default. * Special handling for these * proper poly types * Fixes magclaws Makes the 'features' it had just part of base magboots that can be adjusted via varswap. * Fixes jackets Fixes https://github.com/VOREStation/VOREStation/issues/18941 * Small bugfix Makes p_Theyre properly capitialize Makes examine show proper wording * Update gift_wrappaper.dm
640 lines
23 KiB
Plaintext
640 lines
23 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.
|
|
*
|
|
* For syndicate call-ins see uplink_kits.dm
|
|
*/
|
|
|
|
/obj/item/storage/box
|
|
name = "box"
|
|
desc = "It's just an ordinary box."
|
|
icon = 'icons/obj/boxes.dmi'
|
|
icon_state = "box"
|
|
item_state = "syringe_kit"
|
|
center_of_mass_x = 13
|
|
center_of_mass_y = 10
|
|
var/foldable = /obj/item/stack/material/cardboard // BubbleWrap - if set, can be folded (when empty) into a sheet of cardboard
|
|
var/trash = null // if set, can be crushed into a trash item when empty
|
|
max_w_class = ITEMSIZE_SMALL
|
|
max_storage_space = INVENTORY_BOX_SPACE
|
|
use_sound = 'sound/items/storage/box.ogg'
|
|
drop_sound = 'sound/items/drop/cardboardbox.ogg'
|
|
pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
|
|
|
|
// BubbleWrap - A box can be folded up to make card
|
|
/obj/item/storage/box/attack_self(mob/user)
|
|
. = ..(user)
|
|
if(.)
|
|
return TRUE
|
|
|
|
//try to fold it
|
|
if(ispath(foldable))
|
|
if (contents.len)
|
|
return
|
|
var/found = 0
|
|
// Close any open UI windows first
|
|
for(var/mob/M in range(1))
|
|
if (M.s_active == src)
|
|
close(M)
|
|
if (M == user)
|
|
found = 1
|
|
if (!found) // User is too far away
|
|
return
|
|
// Now make the cardboard
|
|
to_chat(user, span_notice("You fold [src] flat."))
|
|
playsound(src, 'sound/items/storage/boxfold.ogg', 30, 1)
|
|
new foldable(get_turf(src))
|
|
qdel(src)
|
|
|
|
//try to crush it
|
|
if(ispath(trash))
|
|
if(contents.len && user.a_intent == I_HURT) // only crumple with things inside on harmintent.
|
|
user.visible_message(span_danger("[user] crushes \the [src], spilling its contents everywhere!"), span_danger("You crush \the [src], spilling its contents everywhere!"))
|
|
spill()
|
|
else
|
|
to_chat(user, span_notice("You crumple up \the [src].")) //make trash
|
|
playsound(src.loc, 'sound/items/drop/wrapper.ogg', 30, 1)
|
|
var/obj/item/trash = new src.trash()
|
|
qdel(src)
|
|
user.put_in_hands(trash)
|
|
|
|
|
|
/obj/item/storage/box/survival
|
|
name = "emergency supply box"
|
|
desc = "A survival box issued to crew members for use in emergency situations."
|
|
icon_state = "survival"
|
|
starts_with = list(
|
|
/obj/item/tool/prybar/red,
|
|
/obj/item/clothing/glasses/goggles,
|
|
/obj/item/clothing/mask/breath,
|
|
/obj/item/radio/start_off
|
|
)
|
|
|
|
/obj/item/storage/box/survival/synth
|
|
name = "synthetic supply box"
|
|
desc = "A survival box issued to synthetic crew members for use in emergency situations."
|
|
icon_state = "survival_synth"
|
|
starts_with = list(
|
|
/obj/item/tool/prybar/red,
|
|
/obj/item/clothing/glasses/goggles,
|
|
/obj/item/radio/start_off
|
|
)
|
|
|
|
/obj/item/storage/box/survival/comp
|
|
name = "emergency supply box"
|
|
desc = "A comprehensive survival box issued to crew members for use in emergency situations. Contains additional supplies."
|
|
icon_state = "survival_comp"
|
|
starts_with = list(
|
|
/obj/item/tool/prybar/red,
|
|
/obj/item/clothing/glasses/goggles,
|
|
/obj/item/reagent_containers/hypospray/autoinjector,
|
|
/obj/item/stack/medical/bruise_pack,
|
|
/obj/item/flashlight/glowstick,
|
|
/obj/item/reagent_containers/food/snacks/candy/proteinbar,
|
|
/obj/item/clothing/mask/breath
|
|
)
|
|
|
|
/obj/item/storage/box/gloves
|
|
name = "box of latex gloves"
|
|
desc = "Contains white gloves."
|
|
icon_state = "latex"
|
|
starts_with = list(/obj/item/clothing/gloves/sterile/latex = 7)
|
|
|
|
/obj/item/storage/box/masks
|
|
name = "box of sterile masks"
|
|
desc = "This box contains masks of sterility."
|
|
icon_state = "sterile"
|
|
starts_with = list(/obj/item/clothing/mask/surgical = 7)
|
|
|
|
/obj/item/storage/box/masks/white
|
|
name = "box of sterile masks"
|
|
desc = "This box contains masks of sterility."
|
|
icon_state = "sterile"
|
|
starts_with = list(/obj/item/clothing/mask/surgical/white = 7)
|
|
|
|
/obj/item/storage/box/masks/dust
|
|
name = "box of dust masks"
|
|
desc = "This box contains dust masks. Breathe easy."
|
|
icon_state = "sterile"
|
|
starts_with = list(/obj/item/clothing/mask/surgical/dust = 7)
|
|
|
|
/obj/item/storage/box/syringes
|
|
name = "box of syringes"
|
|
desc = "A box full of syringes."
|
|
icon_state = "syringe"
|
|
starts_with = list(/obj/item/reagent_containers/syringe = 7)
|
|
|
|
/obj/item/storage/box/old_syringes
|
|
name = "box of syringes"
|
|
desc = "A box full of syringes. They look old."
|
|
icon_state = "syringe"
|
|
starts_with = list(/obj/item/reagent_containers/syringe/old = 2) // Old syringes guaranteed in each box!
|
|
|
|
/obj/item/storage/box/old_syringes/Initialize(mapload)
|
|
var/syringe
|
|
for(var/i in 1 to 8)
|
|
if(prob(25))
|
|
continue
|
|
syringe = pick(subtypesof(/obj/item/reagent_containers/syringe))
|
|
new syringe(src)
|
|
. = ..()
|
|
|
|
/obj/item/storage/box/syringegun
|
|
name = "box of syringe gun cartridges"
|
|
desc = "A box full of compressed gas cartridges."
|
|
icon_state = "syringe2"
|
|
starts_with = list(/obj/item/syringe_cartridge = 7)
|
|
|
|
/obj/item/storage/box/beakers
|
|
name = "box of beakers"
|
|
desc = "A box full of beakers."
|
|
icon_state = "beaker"
|
|
starts_with = list(/obj/item/reagent_containers/glass/beaker = 7)
|
|
|
|
/obj/item/storage/box/injectors
|
|
name = "box of DNA injectors"
|
|
desc = "This box contains injectors it seems."
|
|
icon_state = "dna"
|
|
// Traitgenes New injector loot
|
|
starts_with = list(
|
|
/obj/item/dnainjector/random_good_labeled = 2,
|
|
/obj/item/dnainjector/random_neutral_labeled = 2,
|
|
/obj/item/dnainjector/random_labeled = 2
|
|
)
|
|
|
|
/obj/item/storage/box/flashbangs
|
|
name = "box of flashbangs (WARNING)"
|
|
desc = span_bold("WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use.")
|
|
icon_state = "flashbang"
|
|
starts_with = list(/obj/item/grenade/flashbang = 7)
|
|
drop_sound = 'sound/items/drop/ammobox.ogg'
|
|
pickup_sound = 'sound/items/pickup/ammobox.ogg'
|
|
|
|
/obj/item/storage/box/emps
|
|
name = "box of emp grenades"
|
|
desc = "A box containing 5 military grade EMP grenades.<br> WARNING: Do not use near unshielded electronics or biomechanical augmentations, death or permanent paralysis may occur."
|
|
icon_state = "emp"
|
|
starts_with = list(/obj/item/grenade/empgrenade = 7)
|
|
drop_sound = 'sound/items/drop/ammobox.ogg'
|
|
pickup_sound = 'sound/items/pickup/ammobox.ogg'
|
|
|
|
/obj/item/storage/box/empslite
|
|
name = "box of low yield emp grenades"
|
|
desc = "A box containing 5 low yield EMP grenades.<br> WARNING: Do not use near unshielded electronics or biomechanical augmentations, death or permanent paralysis may occur."
|
|
icon_state = "emp"
|
|
starts_with = list(/obj/item/grenade/empgrenade/low_yield = 7)
|
|
drop_sound = 'sound/items/drop/ammobox.ogg'
|
|
pickup_sound = 'sound/items/pickup/ammobox.ogg'
|
|
|
|
/obj/item/storage/box/smokes
|
|
name = "box of smoke bombs"
|
|
desc = "A box containing 7 smoke bombs."
|
|
icon_state = "flashbang"
|
|
starts_with = list(/obj/item/grenade/smokebomb = 7)
|
|
drop_sound = 'sound/items/drop/ammobox.ogg'
|
|
pickup_sound = 'sound/items/pickup/ammobox.ogg'
|
|
|
|
/obj/item/storage/box/anti_photons
|
|
name = "box of anti-photon grenades"
|
|
desc = "A box containing 7 experimental photon disruption grenades."
|
|
icon_state = "flashbang"
|
|
starts_with = list(/obj/item/grenade/anti_photon = 7)
|
|
drop_sound = 'sound/items/drop/ammobox.ogg'
|
|
pickup_sound = 'sound/items/pickup/ammobox.ogg'
|
|
|
|
/obj/item/storage/box/frags
|
|
name = "box of fragmentation grenades (WARNING)"
|
|
desc = "A box containing 7 military grade fragmentation grenades.<br> WARNING: These devices are extremely dangerous and can cause limb loss or death in repeated use."
|
|
icon_state = "frag"
|
|
starts_with = list(/obj/item/grenade/explosive = 7)
|
|
drop_sound = 'sound/items/drop/ammobox.ogg'
|
|
pickup_sound = 'sound/items/pickup/ammobox.ogg'
|
|
|
|
/obj/item/storage/box/frags_half_box
|
|
name = "box of fragmentation grenades (WARNING)"
|
|
desc = "A box containing 4 military grade fragmentation grenades.<br> WARNING: These devices are extremely dangerous and can cause limb loss or death in repeated use."
|
|
icon_state = "frag"
|
|
starts_with = list(/obj/item/grenade/explosive = 4)
|
|
drop_sound = 'sound/items/drop/ammobox.ogg'
|
|
pickup_sound = 'sound/items/pickup/ammobox.ogg'
|
|
|
|
/obj/item/storage/box/metalfoam
|
|
name = "box of metal foam grenades."
|
|
desc = "A box containing 7 metal foam grenades."
|
|
icon_state = "flashbang"
|
|
starts_with = list(/obj/item/grenade/chem_grenade/metalfoam = 7)
|
|
|
|
/obj/item/storage/box/teargas
|
|
name = "box of teargas grenades"
|
|
desc = "A box containing 7 teargas grenades."
|
|
icon_state = "flashbang"
|
|
starts_with = list(/obj/item/grenade/chem_grenade/teargas = 7)
|
|
|
|
/obj/item/storage/box/flare
|
|
name = "box of flares"
|
|
desc = "A box containing 14 flares."
|
|
starts_with = list(/obj/item/flashlight/flare = 14)
|
|
|
|
/obj/item/storage/box/trackimp
|
|
name = "boxed tracking implant kit"
|
|
desc = "Box full of scum-bag tracking utensils."
|
|
icon_state = "implant"
|
|
starts_with = list(
|
|
/obj/item/implantcase/tracking = 4,
|
|
/obj/item/implanter,
|
|
/obj/item/implantpad,
|
|
/obj/item/locator
|
|
)
|
|
|
|
/obj/item/storage/box/chemimp
|
|
name = "boxed chemical implant kit"
|
|
desc = "Box of stuff used to implant chemicals."
|
|
icon_state = "implant"
|
|
starts_with = list(
|
|
/obj/item/implantcase/chem = 5,
|
|
/obj/item/implanter,
|
|
/obj/item/implantpad
|
|
)
|
|
|
|
/obj/item/storage/box/camerabug
|
|
name = "mobile camera pod box"
|
|
desc = "A box containing some mobile camera pods."
|
|
icon_state = "pda"
|
|
starts_with = list(
|
|
/obj/item/camerabug = 6,
|
|
/obj/item/bug_monitor
|
|
)
|
|
|
|
/obj/item/storage/box/rxglasses
|
|
name = "box of prescription glasses"
|
|
desc = "This box contains nerd glasses."
|
|
icon_state = "glasses"
|
|
starts_with = list(/obj/item/clothing/glasses/regular = 7)
|
|
|
|
/obj/item/storage/box/cdeathalarm_kit
|
|
name = "death alarm kit"
|
|
desc = "Box of stuff used to implant death alarms."
|
|
icon_state = "implant"
|
|
item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit")
|
|
starts_with = list(
|
|
/obj/item/implantcase/death_alarm = 7,
|
|
/obj/item/implanter
|
|
)
|
|
|
|
/obj/item/storage/box/condimentbottles
|
|
name = "box of condiment bottles"
|
|
desc = "It has a large ketchup smear on it."
|
|
icon_state = "condiment"
|
|
starts_with = list(/obj/item/reagent_containers/food/condiment = 7)
|
|
|
|
/obj/item/storage/box/cups
|
|
name = "box of paper cups"
|
|
desc = "It has pictures of paper cups on the front."
|
|
icon_state = "cups"
|
|
starts_with = list(/obj/item/reagent_containers/food/drinks/sillycup = 7)
|
|
|
|
/obj/item/storage/box/buns
|
|
name = "box of bread buns"
|
|
desc = "Freshly baked at some point in the past few months."
|
|
icon_state = "bun_box"
|
|
max_storage_space = ITEMSIZE_COST_NORMAL * 5
|
|
starts_with = list(/obj/item/reagent_containers/food/snacks/bun = 12)
|
|
|
|
/obj/item/storage/box/monkeycubes
|
|
name = "monkey cube box"
|
|
desc = "Drymate brand monkey cubes. Just add water!"
|
|
icon = 'icons/obj/food.dmi'
|
|
icon_state = "monkeycubebox"
|
|
can_hold = list(/obj/item/reagent_containers/food/snacks/monkeycube)
|
|
starts_with = list(/obj/item/reagent_containers/food/snacks/monkeycube/wrapped = 4)
|
|
|
|
/obj/item/storage/box/monkeycubes/farwacubes
|
|
name = "farwa cube box"
|
|
desc = "Drymate brand farwa cubes, shipped from Meralar. Just add water!"
|
|
starts_with = list(/obj/item/reagent_containers/food/snacks/monkeycube/wrapped/farwacube = 4)
|
|
|
|
/obj/item/storage/box/monkeycubes/stokcubes
|
|
name = "stok cube box"
|
|
desc = "Drymate brand stok cubes, shipped from Moghes. Just add water!"
|
|
starts_with = list(/obj/item/reagent_containers/food/snacks/monkeycube/wrapped/stokcube = 4)
|
|
|
|
/obj/item/storage/box/monkeycubes/neaeracubes
|
|
name = "neaera cube box"
|
|
desc = "Drymate brand neaera cubes, shipped from Qerr'balak. Just add water!"
|
|
starts_with = list(/obj/item/reagent_containers/food/snacks/monkeycube/wrapped/neaeracube = 4)
|
|
|
|
// Pet cubes!
|
|
/obj/item/storage/box/monkeycubes/pets
|
|
icon_state = "petcubebox"
|
|
starts_with = null // Don't add monkeys, we run our own setup
|
|
var/pet_list = list("Ian" = /mob/living/simple_mob/animal/passive/dog/corgi/Ian) // Should be capped at 7 per box!
|
|
|
|
/obj/item/storage/box/monkeycubes/pets/Initialize(mapload)
|
|
. = ..()
|
|
// spawn each pet in the box
|
|
var/first = TRUE
|
|
for(var/pet in pet_list)
|
|
if(first)
|
|
desc += " Contains: "
|
|
first = FALSE
|
|
else
|
|
desc += ", "
|
|
var/obj/item/reagent_containers/food/snacks/monkeycube/pet/wrapped/C = new(src)
|
|
C.name ="[pet] pet cube"
|
|
C.pet_path = pet_list[pet]
|
|
desc += "[pet]"
|
|
|
|
/obj/item/storage/box/monkeycubes/pets/NT_standard
|
|
name = "pet cube box (NT standard)"
|
|
desc = "Drymate brand pet cubes, formulated for NT stations everywhere. Just add water!"
|
|
pet_list = list("Ian" = /mob/living/simple_mob/animal/passive/dog/corgi/Ian,
|
|
"Renault" = /mob/living/simple_mob/animal/passive/fox/renault,
|
|
"Runtime" = /mob/living/simple_mob/animal/passive/cat/runtime,
|
|
"Scruffy" = /mob/living/simple_mob/animal/sif/shantak/scruffy,
|
|
"Poly" = /mob/living/simple_mob/animal/passive/bird/parrot/poly,
|
|
"Kendrick" = /mob/living/simple_mob/slime/xenobio/rainbow/kendrick,
|
|
"Fleming" = /mob/living/simple_mob/animal/passive/mouse/white/virology,
|
|
)
|
|
|
|
/obj/item/storage/box/monkeycubes/pets/NT_special
|
|
name = "pet cube box (NT special)"
|
|
desc = "Drymate brand pet cubes, formulated for NT stations everywhere. Just add water!"
|
|
pet_list = list("Lisa" = /mob/living/simple_mob/animal/passive/dog/corgi/Lisa,
|
|
"Tom" = /mob/living/simple_mob/animal/passive/mouse/brown/Tom,
|
|
"Jones" = /mob/living/simple_mob/animal/passive/cat/jones,
|
|
"Bones" = /mob/living/simple_mob/animal/passive/cat/bones,
|
|
"Noodle" = /mob/living/simple_mob/animal/passive/snake/python/noodle,
|
|
"Apple" = /mob/living/simple_mob/animal/passive/mouse/white/apple,
|
|
"Poppy" = /mob/living/simple_mob/animal/passive/opossum/poppy,
|
|
)
|
|
|
|
/obj/item/storage/box/ids
|
|
name = "box of spare IDs"
|
|
desc = "Has so many empty IDs."
|
|
icon_state = "id"
|
|
starts_with = list(/obj/item/card/id = 7)
|
|
|
|
/obj/item/storage/box/seccarts
|
|
name = "box of spare R.O.B.U.S.T. Cartridges"
|
|
desc = "A box full of R.O.B.U.S.T. Cartridges, used by Security."
|
|
icon_state = "pda"
|
|
starts_with = list(/obj/item/cartridge/security = 7)
|
|
|
|
/obj/item/storage/box/handcuffs
|
|
name = "box of spare handcuffs"
|
|
desc = "A box full of handcuffs."
|
|
icon_state = "handcuff"
|
|
starts_with = list(/obj/item/handcuffs = 7)
|
|
|
|
/obj/item/storage/box/mousetraps
|
|
name = "box of Pest-B-Gon mousetraps"
|
|
desc = span_red(span_bold("WARNING:")) + " " + span_italics("Keep out of reach of children") + "."
|
|
icon_state = "mousetraps"
|
|
starts_with = list(/obj/item/assembly/mousetrap = 7)
|
|
|
|
/obj/item/storage/box/pillbottles
|
|
name = "box of pill bottles"
|
|
desc = "It has pictures of pill bottles on its front."
|
|
icon_state = "pillbox"
|
|
starts_with = list(/obj/item/storage/pill_bottle = 7)
|
|
|
|
/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"
|
|
can_hold = list(/obj/item/toy/snappop)
|
|
starts_with = list(/obj/item/toy/snappop = 8)
|
|
|
|
/obj/item/storage/box/matches
|
|
name = "matchbox"
|
|
desc = "A small box of 'Space-Proof' premium matches."
|
|
icon = 'icons/obj/cigarettes.dmi'
|
|
icon_state = "matchbox"
|
|
w_class = ITEMSIZE_TINY
|
|
slot_flags = SLOT_BELT
|
|
can_hold = list(/obj/item/flame/match)
|
|
starts_with = list(/obj/item/flame/match = 10)
|
|
drop_sound = 'sound/items/drop/matchbox.ogg'
|
|
pickup_sound = 'sound/items/pickup/matchbox.ogg'
|
|
|
|
/obj/item/storage/box/matches/attackby(var/obj/item/flame/match/W, var/mob/user)
|
|
if(istype(W) && !W.lit && !W.burnt)
|
|
if(prob(25))
|
|
W.light(user)
|
|
user.visible_message(span_notice("[user] manages to light the match on the matchbox."))
|
|
else
|
|
playsound(src, 'sound/items/cigs_lighters/matchstick_hit.ogg', 25, 0, -1)
|
|
W.update_icon()
|
|
return
|
|
|
|
/obj/item/storage/box/autoinjectors
|
|
name = "box of injectors"
|
|
desc = "Contains autoinjectors."
|
|
icon_state = "auto"
|
|
starts_with = list(/obj/item/reagent_containers/hypospray/autoinjector = 7)
|
|
|
|
/obj/item/storage/box/lights
|
|
name = "box of replacement bulbs"
|
|
icon = 'icons/obj/boxes.dmi'
|
|
icon_state = "light"
|
|
desc = "This box is shaped on the inside so that only light tubes and bulbs fit."
|
|
item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit")
|
|
storage_slots = 24
|
|
can_hold = list(/obj/item/light/tube, /obj/item/light/bulb)
|
|
max_storage_space = ITEMSIZE_COST_SMALL * 24 //holds 24 items of w_class 2
|
|
use_to_pickup = TRUE // for picking up broken bulbs, not that most people will try
|
|
|
|
/obj/item/storage/box/lights/bulbs
|
|
starts_with = list(
|
|
/obj/item/light/bulb = 20,
|
|
/obj/item/light/bulb/large = 4
|
|
)
|
|
|
|
/obj/item/storage/box/lights/tubes
|
|
name = "box of replacement tubes"
|
|
icon_state = "lighttube"
|
|
starts_with = list(
|
|
/obj/item/light/tube = 20,
|
|
/obj/item/light/tube/large = 4
|
|
)
|
|
|
|
/obj/item/storage/box/lights/mixed
|
|
name = "box of replacement lights"
|
|
icon_state = "lightmixed"
|
|
starts_with = list(
|
|
/obj/item/light/tube = 12,
|
|
/obj/item/light/tube/large = 2,
|
|
/obj/item/light/bulb = 8,
|
|
/obj/item/light/bulb/large = 2
|
|
)
|
|
|
|
/obj/item/storage/box/freezer
|
|
name = "portable freezer"
|
|
desc = "This nifty shock-resistant device will keep your 'groceries' nice and non-spoiled."
|
|
icon = 'icons/obj/storage.dmi'
|
|
icon_state = "portafreezer"
|
|
item_state_slots = list(slot_r_hand_str = "medicalpack", slot_l_hand_str = "medicalpack")
|
|
foldable = null
|
|
max_w_class = ITEMSIZE_NORMAL
|
|
can_hold = list(/obj/item/organ)
|
|
max_storage_space = ITEMSIZE_COST_NORMAL * 5 // Formally 21. Odd numbers are bad.
|
|
use_to_pickup = TRUE // for picking up broken bulbs, not that most people will try
|
|
|
|
/obj/item/storage/box/freezer/red
|
|
icon_state = "portafreezer_red"
|
|
|
|
/obj/item/storage/box/freezer/Entered(var/atom/movable/AM)
|
|
if(istype(AM, /obj/item/organ))
|
|
var/obj/item/organ/O = AM
|
|
O.preserved = 1
|
|
for(var/obj/item/organ/organ in O)
|
|
organ.preserved = 1
|
|
..()
|
|
|
|
/obj/item/storage/box/freezer/Exited(var/atom/movable/AM)
|
|
if(istype(AM, /obj/item/organ))
|
|
var/obj/item/organ/O = AM
|
|
O.preserved = 0
|
|
for(var/obj/item/organ/organ in O)
|
|
organ.preserved = 0
|
|
..()
|
|
|
|
/obj/item/storage/box/ambrosia
|
|
name = "ambrosia seeds box"
|
|
desc = "Contains the seeds you need to get a little high."
|
|
starts_with = list(/obj/item/seeds/ambrosiavulgarisseed = 7)
|
|
|
|
/obj/item/storage/box/ambrosiadeus
|
|
name = "ambrosia deus seeds box"
|
|
desc = "Contains the seeds you need to get a proper healthy high."
|
|
starts_with = list(/obj/item/seeds/ambrosiadeusseed = 7)
|
|
|
|
/obj/item/storage/box/capguntoy
|
|
name = "\improper AlliCo \"Zipper\" Cap Gun"
|
|
icon = 'icons/obj/gun_toy.dmi'
|
|
icon_state = "cap_gun_box"
|
|
desc = "This box is shaped on the inside so that only the \"Zipper\" Capgun and extra caps can fit."
|
|
item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit")
|
|
storage_slots = 2
|
|
max_w_class = ITEMSIZE_NORMAL
|
|
can_hold = list(/obj/item/gun/projectile/revolver/capgun, /obj/item/ammo_magazine/ammo_box/cap)
|
|
starts_with = list(
|
|
/obj/item/gun/projectile/revolver/capgun = 1,
|
|
/obj/item/ammo_magazine/ammo_box/cap = 1
|
|
)
|
|
|
|
//Donk-pockets
|
|
/obj/item/storage/box/donkpockets
|
|
name = "box of donk-pockets"
|
|
desc = span_bold("Instructions:") + " " + span_italics("Heat in microwave. Product will cool if not eaten within seven minutes.")
|
|
icon_state = "donkpocketbox"
|
|
starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket = 7)
|
|
|
|
/obj/item/storage/box/donkpockets/spicy
|
|
name = "box of spicy-flavoured donk-pockets"
|
|
icon_state = "donkpocketboxspicy"
|
|
starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket/spicy = 7)
|
|
|
|
/obj/item/storage/box/donkpockets/teriyaki
|
|
name = "box of teriyaki-flavoured donk-pockets"
|
|
icon_state = "donkpocketboxteriyaki"
|
|
starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket/teriyaki = 7)
|
|
|
|
/obj/item/storage/box/donkpockets/pizza
|
|
name = "box of pizza-flavoured donk-pockets"
|
|
icon_state = "donkpocketboxpizza"
|
|
starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket/pizza = 7)
|
|
|
|
/obj/item/storage/box/donkpockets/honk
|
|
name = "box of banana-flavoured donk-pockets"
|
|
icon_state = "donkpocketboxbanana"
|
|
starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket/honk = 7)
|
|
|
|
/obj/item/storage/box/donkpockets/gondola
|
|
name = "box of gondola-flavoured donk-pockets"
|
|
icon_state = "donkpocketboxgondola"
|
|
starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket/gondola = 7)
|
|
|
|
/obj/item/storage/box/donkpockets/berry
|
|
name = "box of berry-flavoured donk-pockets"
|
|
icon_state = "donkpocketboxberry"
|
|
starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket/berry = 7)
|
|
|
|
/obj/item/storage/box/sinpockets
|
|
name = "box of sin-pockets"
|
|
desc = span_bold("Instructions:") + " " + span_italics("Crush bottom of package to initiate chemical heating. Wait for 20 seconds before consumption. Product will cool if not eaten within seven minutes.")
|
|
icon_state = "donk_kit"
|
|
starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket/sinpocket = 7)
|
|
|
|
/obj/item/storage/box/explorerkeys
|
|
name = "box of volunteer headsets"
|
|
desc = "A box full of volunteer headsets, for issuing out to exploration volunteers."
|
|
starts_with = list(/obj/item/radio/headset/explorer = 7)
|
|
|
|
/obj/item/storage/box/commandkeys
|
|
name = "box of command keys"
|
|
desc = "A box full of command keys, for command to give out as necessary."
|
|
starts_with = list(/obj/item/encryptionkey/headset_com = 7)
|
|
|
|
/obj/item/storage/box/servicekeys
|
|
name = "box of service keys"
|
|
desc = "A box full of service keys, for the HoP to give out as necessary."
|
|
starts_with = list(/obj/item/encryptionkey/headset_service = 7)
|
|
|
|
/obj/item/storage/box/survival/space
|
|
name = "boxed emergency suit and helmet"
|
|
icon_state = "survival_comp3"
|
|
starts_with = list(
|
|
/obj/item/clothing/suit/space/emergency,
|
|
/obj/item/clothing/head/helmet/space/emergency,
|
|
/obj/item/clothing/mask/breath,
|
|
/obj/item/tank/emergency/oxygen/double
|
|
)
|
|
|
|
/obj/item/storage/secure/briefcase/trashmoney
|
|
starts_with = list(/obj/item/spacecash/c200 = 10)
|
|
|
|
/obj/item/storage/box/brainzsnax
|
|
name = "\improper BrainzSnax box"
|
|
icon_state = "brainzsnax_box"
|
|
desc = "A box designed to hold canned food. This one has BrainzSnax branding printed on it."
|
|
can_hold = list(/obj/item/reagent_containers/food/snacks/canned)
|
|
max_storage_space = ITEMSIZE_COST_NORMAL * 6
|
|
starts_with = list(/obj/item/reagent_containers/food/snacks/canned/brainzsnax = 6)
|
|
|
|
/obj/item/storage/box/brainzsnax/red
|
|
starts_with = list(/obj/item/reagent_containers/food/snacks/canned/brainzsnax/red = 6)
|
|
|
|
/obj/item/storage/box/freezer
|
|
can_hold = list(/obj/item/organ, /obj/item/reagent_containers/blood, /obj/item/reagent_containers/glass, /obj/item/reagent_containers/food)
|
|
|
|
/obj/item/storage/box/altevian_ammo
|
|
name = "SAM .48 ammo box"
|
|
desc = "A box of ratty ammo."
|
|
icon_state = "secbox"
|
|
starts_with = list(/obj/item/ammo_magazine/sam48 = 3)
|
|
max_storage_space = ITEMSIZE_COST_NORMAL * 3
|
|
drop_sound = 'sound/items/drop/ammobox.ogg'
|
|
pickup_sound = 'sound/items/pickup/ammobox.ogg'
|
|
|
|
/obj/item/storage/box/weapon_cells
|
|
name = "box of weapon cells"
|
|
desc = "A box full of weapon power cells. For all your portable energy storage needs."
|
|
icon_state = "secbox"
|
|
starts_with = list(/obj/item/cell/device/weapon = 7)
|