diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm
index 0d7eb93c0f6..322012e822e 100644
--- a/code/game/machinery/cloning.dm
+++ b/code/game/machinery/cloning.dm
@@ -460,7 +460,7 @@
/obj/item/storage/box/disks
name = "Diskette Box"
- icon_state = "disk_kit"
+ illustration = "disk_kit"
/obj/item/storage/box/disks/fill()
new /obj/item/disk/data(src)
diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm
index 04b59f4810b..1c40afc86a9 100644
--- a/code/game/machinery/deployable.dm
+++ b/code/game/machinery/deployable.dm
@@ -300,9 +300,12 @@ for reference:
/obj/item/deployable_kit
name = "Emergency Floodlight Kit"
desc = "A do-it-yourself kit for constructing the finest of emergency floodlights."
- icon = 'icons/obj/storage.dmi'
+ icon = 'icons/obj/storage/briefcase.dmi'
icon_state = "inf_box"
- item_state = "box"
+ item_state = "inf_box"
+ drop_sound = 'sound/items/drop/backpack.ogg'
+ pickup_sound = 'sound/items/pickup/backpack.ogg'
+
var/kit_product = /obj/machinery/floodlight
var/assembly_time = 8 SECONDS
@@ -363,9 +366,9 @@ for reference:
/obj/item/deployable_kit/iv_drip
name = "IV drip assembly kit"
desc = "A quick assembly kit to put together an IV drip."
- icon = 'icons/obj/storage.dmi'
+ icon = 'icons/obj/storage/briefcase.dmi'
icon_state = "inf_box"
- item_state = "syringe_kit"
+ item_state = "inf_box"
w_class = ITEMSIZE_NORMAL
kit_product = /obj/machinery/iv_drip
assembly_time = 4 SECONDS
diff --git a/code/game/machinery/mass_driver.dm b/code/game/machinery/mass_driver.dm
index 664a36aeec3..c4fcf5d7202 100644
--- a/code/game/machinery/mass_driver.dm
+++ b/code/game/machinery/mass_driver.dm
@@ -72,9 +72,9 @@
/obj/item/mass_driver_diy
name = "Mass Driver Kit"
desc = "A do-it-yourself kit for constructing the finest of mass drivers."
- icon = 'icons/obj/storage.dmi'
+ icon = 'icons/obj/storage/briefcase.dmi'
icon_state = "inf_box"
- item_state = "box"
+ item_state = "inf_box"
/obj/item/mass_driver_diy/attack_self(mob/user)
to_chat(user, "You start piecing together the kit...")
diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm
index c9ce5efa087..ab0fad61f59 100644
--- a/code/game/objects/items/bodybag.dm
+++ b/code/game/objects/items/bodybag.dm
@@ -34,7 +34,7 @@
/obj/item/storage/box/bodybags
name = "body bags"
desc = "This box contains body bags."
- icon_state = "bodybags"
+ illustration = "bodybags"
/obj/item/storage/box/bodybags/New()
..()
diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm
index a97ec1a60b8..373e8c47958 100644
--- a/code/game/objects/items/weapons/storage/backpack.dm
+++ b/code/game/objects/items/weapons/storage/backpack.dm
@@ -7,17 +7,10 @@
name = "backpack"
desc = "You wear this on your back and put items into it."
desc_cult = "This can be reforged to become a cult backpack. Any stored items will be transferred."
- item_icons = list(//ITEM_ICONS ARE DEPRECATED. USE CONTAINED SPRITES IN FUTURE
- slot_l_hand_str = 'icons/mob/items/storage/lefthand_backpacks.dmi',
- slot_r_hand_str = 'icons/mob/items/storage/righthand_backpacks.dmi'
- )
+ icon = 'icons/obj/storage/backpack.dmi'
icon_state = "backpack"
- item_state = null
- //most backpacks use the default backpack state for inhand overlays
- item_state_slots = list(
- slot_l_hand_str = "backpack",
- slot_r_hand_str = "backpack"
- )
+ item_state = "backpack"
+ contained_sprite = TRUE
sprite_sheets = list(
BODYTYPE_VAURCA_BULWARK = 'icons/mob/species/bulwark/back.dmi'
)
@@ -58,13 +51,6 @@
return 0
return 1
-/*
-/obj/item/storage/backpack/dropped(mob/user as mob)
- if (loc == user && src.use_sound)
- playsound(src.loc, src.use_sound, 50, 1, -5)
- ..(user)
-*/
-
/*
* Backpack Types
*/
@@ -77,10 +63,6 @@
max_w_class = ITEMSIZE_LARGE
max_storage_space = 56
storage_cost = 29
- item_state_slots = list(
- slot_l_hand_str = "holdingpack",
- slot_r_hand_str = "holdingpack"
- )
empty_delay = 0.8 SECOND
attackby(obj/item/W as obj, mob/user as mob)
@@ -103,7 +85,6 @@
item_state = "giftbag"
w_class = ITEMSIZE_LARGE
max_storage_space = 400 // can store a ton of shit!
- item_state_slots = null
empty_delay = 1 SECOND
/obj/item/storage/backpack/cultpack
@@ -112,34 +93,24 @@
desc_cult = null
icon_state = "cultpack"
-/obj/item/storage/backpack/cultpack/adorned
- name = "adorned backpack"
- desc = "A backpack adorned with various decorations."
-
/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_slots = null
-
/obj/item/storage/backpack/security
name = "security backpack"
desc = "It's a very robust backpack."
icon_state = "securitypack"
- item_state_slots = null
-
/obj/item/storage/backpack/captain
name = "captain's backpack"
desc = "It's a special backpack made exclusively for officers."
icon_state = "captainpack"
- item_state_slots = null
empty_delay = 0.8 SECOND
/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_slots = null
empty_delay = 0.8 SECOND
/obj/item/storage/backpack/toxins
@@ -152,16 +123,6 @@
desc = "It's a green backpack with many pockets to store plants and tools in."
icon_state = "hydpack"
-/obj/item/storage/backpack/genetics
- name = "geneticist backpack"
- desc = "It's a backpack fitted with slots for diskettes and other workplace tools."
- icon_state = "genpack"
-
-/obj/item/storage/backpack/virology
- name = "sterile backpack"
- desc = "It's a sterile backpack able to withstand different pathogens from entering its fabric."
- icon_state = "viropack"
-
/obj/item/storage/backpack/pharmacy
name = "pharmacy backpack"
desc = "It's an orange backpack which was designed to hold beakers, pill bottles and bottles."
@@ -173,12 +134,6 @@
icon_state = "syndiepack"
empty_delay = 0.8 SECOND
-/obj/item/storage/backpack/wizard
- name = "magical sack"
- desc = "Perfect for keeping your shining crystal balls inside of. May not contain actual magic."
- icon_state = "wizardpack"
- empty_delay = 0.8 SECOND
-
/*
* Satchel Types
*/
@@ -186,16 +141,13 @@
/obj/item/storage/backpack/satchel
name = "leather satchel"
desc = "It's a very fancy satchel made with fine leather."
- icon_state = "satchel"
- item_state_slots = list(
- slot_l_hand_str = "satchel",
- slot_r_hand_str = "satchel"
- )
+ icon = 'icons/obj/storage/satchel.dmi'
+ icon_state = "satchel_leather"
+ item_state = "satchel_leather"
-/obj/item/storage/backpack/satchel/withwallet
- New()
- ..()
- new /obj/item/storage/wallet/random( src )
+/obj/item/storage/backpack/satchel/withwallet/New()
+ ..()
+ new /obj/item/storage/wallet/random( src )
/obj/item/storage/backpack/satchel/hegemony
name = "hegemony satchel"
@@ -203,7 +155,6 @@
icon = 'icons/obj/unathi_items.dmi'
icon_state = "hegemony_satchel"
item_state = "hegemony_satchel"
- contained_sprite = TRUE
max_storage_space = 32
allow_quick_empty = FALSE // Pouches 'n shit.
@@ -216,36 +167,18 @@
name = "industrial satchel"
desc = "A tough satchel with extra pockets."
icon_state = "satchel-eng"
- item_state_slots = list(
- slot_l_hand_str = "engiepack",
- slot_r_hand_str = "engiepack"
- )
empty_delay = 0.8 SECOND
/obj/item/storage/backpack/satchel_med
name = "medical satchel"
desc = "A sterile satchel used in medical departments."
icon_state = "satchel-med"
- item_state_slots = list(
- slot_l_hand_str = "medicalpack",
- slot_r_hand_str = "medicalpack"
- )
-
-/obj/item/storage/backpack/satchel_vir
- name = "virologist satchel"
- desc = "A sterile satchel with virologist colours."
- icon_state = "satchel-vir"
/obj/item/storage/backpack/satchel_pharm
name = "pharmacist satchel"
desc = "A sterile satchel with pharmacist colours."
icon_state = "satchel-chem"
-/obj/item/storage/backpack/satchel_gen
- name = "geneticist satchel"
- desc = "A sterile satchel with geneticist colours."
- icon_state = "satchel-gen"
-
/obj/item/storage/backpack/satchel_tox
name = "scientist satchel"
desc = "Useful for holding research materials."
@@ -255,24 +188,16 @@
name = "security satchel"
desc = "A robust satchel for security related needs."
icon_state = "satchel-sec"
- item_state_slots = list(
- slot_l_hand_str = "securitypack",
- slot_r_hand_str = "securitypack"
- )
/obj/item/storage/backpack/satchel_hyd
name = "hydroponics satchel"
desc = "A green satchel for plant related work."
- icon_state = "satchel_hyd"
+ icon_state = "satchel-hyd"
/obj/item/storage/backpack/satchel_cap
name = "captain's satchel"
desc = "An exclusive satchel for officers."
icon_state = "satchel-cap"
- item_state_slots = list(
- slot_l_hand_str = "satchel-cap",
- slot_r_hand_str = "satchel-cap"
- )
empty_delay = 0.8 SECOND
/obj/item/storage/backpack/satchel_syndie
@@ -281,21 +206,11 @@
icon_state = "satchel-syndie"
empty_delay = 0.8 SECOND
-/obj/item/storage/backpack/satchel_wizard
- name = "magic satchel"
- desc = "This stylish satchel will put a spell on anyone with some fashion sense to spare. Contains %0 actual magic."
- icon_state = "satchel-wizard"
- empty_delay = 0.8 SECOND
-
//ERT backpacks.
/obj/item/storage/backpack/ert
name = "emergency response team backpack"
desc = "A spacious backpack with lots of pockets, used by members of the Emergency Response Team."
icon_state = "ert_commander"
- item_state_slots = list(
- slot_l_hand_str = "securitypack",
- slot_r_hand_str = "securitypack"
- )
empty_delay = 0.8 SECOND
//Commander
@@ -327,10 +242,6 @@
name = "duffel bag"
desc = "A spacious duffel bag."
icon_state = "duffel-norm"
- item_state_slots = list(
- slot_l_hand_str = "duffle",
- slot_r_hand_str = "duffle"
- )
slowdown = 1
max_storage_space = 38
@@ -338,10 +249,6 @@
name = "captain's duffel bag"
desc = "A rare and special duffel bag for only the most air-headed of SCC personnel."
icon_state = "duffel-captain"
- item_state_slots = list(
- slot_l_hand_str = "duffle_captain",
- slot_r_hand_str = "duffle_captain"
- )
empty_delay = 0.8 SECOND
/obj/item/storage/backpack/duffel/hyd
@@ -349,32 +256,15 @@
desc = "A specially designed duffel bag for containing plant matter, regardless of how questionable it may be."
icon_state = "duffel-hydroponics"
-/obj/item/storage/backpack/duffel/vir
- name = "virology duffel bag"
- desc = "A sterilized duffel bag suited to those about to unleash pathogenic havoc upon the world."
- icon_state = "duffel-virology"
- item_state_slots = list(
- slot_l_hand_str = "duffle_med",
- slot_r_hand_str = "duffle_med"
- )
-
/obj/item/storage/backpack/duffel/med
name = "medical duffel bag"
desc = "A sterilized duffel bag for the young, upcoming lesbayan."
icon_state = "duffel-medical"
- item_state_slots = list(
- slot_l_hand_str = "duffle_med",
- slot_r_hand_str = "duffle_med"
- )
/obj/item/storage/backpack/duffel/eng
name = "industrial duffel bag"
desc = "A rough and tumble duffel bag for the hard working wrench-monkey of tomorrow."
icon_state = "duffel-engineering"
- item_state_slots = list(
- slot_l_hand_str = "duffle_eng",
- slot_r_hand_str = "duffle_eng"
- )
empty_delay = 0.8 SECOND
/obj/item/storage/backpack/duffel/tox
@@ -387,35 +277,15 @@
desc = "A grey and blue duffel bag for the boys in colour, with room for all the batons and flashbangs you could ever need."
icon_state = "duffel-security"
-/obj/item/storage/backpack/duffel/gen
- name = "genetics duffel bag"
- desc = "It sure won't hold your genes together, but it'll keep the denim ones safe."
- icon_state = "duffel-genetics"
-
/obj/item/storage/backpack/duffel/pharm
name = "pharmacy duffel bag"
desc = "Spice up the love life a little."
icon_state = "duffel-chemistry"
- item_state_slots = list(
- slot_l_hand_str = "duffle_med",
- slot_r_hand_str = "duffle_med"
- )
/obj/item/storage/backpack/duffel/syndie
name = "syndicate duffel bag"
desc = "A snazzy black and red duffel bag, perfect for smuggling C4 and Parapens. It seems to be made of a lighter material."
icon_state = "duffel-syndie"
- item_state_slots = list(
- slot_l_hand_str = "duffle_syndie",
- slot_r_hand_str = "duffle_syndie"
- )
- slowdown = 0
- empty_delay = 0.8 SECOND
-
-/obj/item/storage/backpack/duffel/wizard
- name = "magical duffel bag"
- desc = "A fancy blue spell bag, duffel edition. Comes with zero spells because magic isn't real, nerd."
- icon_state = "duffel-wizard"
slowdown = 0
empty_delay = 0.8 SECOND
@@ -426,6 +296,7 @@
/obj/item/storage/backpack/messenger
name = "messenger bag"
desc = "A sturdy backpack worn over one shoulder."
+ icon = 'icons/obj/storage/courierbag.dmi'
icon_state = "courierbag"
/obj/item/storage/backpack/messenger/pharm
@@ -438,21 +309,10 @@
desc = "A sterile backpack worn over one shoulder used in medical departments."
icon_state = "courierbagmed"
-/obj/item/storage/backpack/messenger/viro
- name = "virology messenger bag"
- desc = "A sterile backpack worn over one shoulder. This one is in virology colors."
- icon_state = "courierbagviro"
-
/obj/item/storage/backpack/messenger/tox
name = "research messenger bag"
desc = "A backpack worn over one shoulder. Useful for holding science materials."
icon_state = "courierbagtox"
-
-/obj/item/storage/backpack/messenger/gen
- name = "geneticist messenger bag"
- desc = "A backpack worn over one shoulder. Useful for holding DNA injectors and data disks."
- icon_state = "courierbaggenetics"
-
/obj/item/storage/backpack/messenger/com
name = "captain's messenger bag"
desc = "A special backpack worn over one shoulder. This one is made specifically for command officers."
@@ -480,11 +340,6 @@
desc = "A sturdy backpack worn over one shoulder. This one is in red and black menacing colors."
icon_state = "courierbagsyndie"
-/obj/item/storage/backpack/messenger/wizard
- name = "wizardly messenger bag"
- desc = "A wizardly backpack worn over one shoulder. This one is in blue and purple colors."
- icon_state = "courierbagwizard"
-
/obj/item/storage/backpack/legion
name = "military rucksack"
desc = "A sturdy backpack with the emblems and markings of the Tau Ceti Foreign Legion."
@@ -560,28 +415,29 @@
/obj/item/storage/backpack/rucksack
name = "black rucksack"
desc = "A sturdy, military-grade backpack with low-profile straps. Designed to work well with armor."
+ icon = 'icons/obj/storage/rucksack.dmi'
icon_state = "rucksack"
- item_state_slots = list(slot_l_hand_str = "rucksack", slot_r_hand_str = "rucksack")
+ item_state = "rucksack"
/obj/item/storage/backpack/rucksack/blue
name = "blue rucksack"
icon_state = "rucksack_blue"
- item_state_slots = list(slot_l_hand_str = "rucksack_blue", slot_r_hand_str = "rucksack_blue")
+ item_state = "rucksack_blue"
/obj/item/storage/backpack/rucksack/green
name = "green rucksack"
icon_state = "rucksack_green"
- item_state_slots = list(slot_l_hand_str = "rucksack_green", slot_r_hand_str = "rucksack_green")
+ item_state = "rucksack_green"
/obj/item/storage/backpack/rucksack/navy
name = "navy rucksack"
icon_state = "rucksack_navy"
- item_state_slots = list(slot_l_hand_str = "rucksack_navy", slot_r_hand_str = "rucksack_navy")
+ item_state = "rucksack_navy"
/obj/item/storage/backpack/rucksack/tan
name = "tan rucksack"
icon_state = "rucksack_tan"
- item_state_slots = list(slot_l_hand_str = "rucksack_tan", slot_r_hand_str = "rucksack_tan")
+ item_state = "rucksack_tan"
/*
* Colored satchels
@@ -590,10 +446,16 @@
/obj/item/storage/backpack/satchel/leather //brown, master type
name = "brown leather satchel"
desc = "A very fancy satchel made of some kind of leather."
- icon_state = "satchel_colored"
- item_state = "satchel_colored"
+ icon_state = "satchel"
+ item_state = "satchel"
+ build_from_parts = TRUE
+ worn_overlay = "overlay"
color = "#3d2711"
+/obj/item/storage/backpack/satchel/leather/Initialize()
+ update_icon()
+ . = ..()
+
/obj/item/storage/backpack/satchel/leather/khaki
name = "khaki leather satchel"
color = "#baa481"
@@ -627,8 +489,14 @@
slot_flags = SLOT_BACK
max_w_class = ITEMSIZE_NORMAL
max_storage_space = 20
+ build_from_parts = TRUE
+ worn_overlay = "overlay"
color = "#212121"
+/obj/item/storage/backpack/satchel/pocketbook/Initialize()
+ update_icon()
+ . = ..()
+
/obj/item/storage/backpack/satchel/pocketbook/brown
name = "brown pocketbook"
color = "#3d2711"
@@ -653,8 +521,10 @@
/obj/item/storage/backpack/cloak
name = "tunnel cloak"
desc = "A Vaurca cloak with storage pockets."
+ icon = 'icons/obj/vaurca_items.dmi'
icon_state = "cape"
item_state = "cape"
+ contained_sprite = FALSE
sprite_sheets = list(BODYTYPE_VAURCA = 'icons/mob/species/vaurca/back.dmi', BODYTYPE_VAURCA_BULWARK = 'icons/mob/species/bulwark/back.dmi')
var/hooded = FALSE
diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm
index 5dad50d21c6..baa8c07dff3 100644
--- a/code/game/objects/items/weapons/storage/bags.dm
+++ b/code/game/objects/items/weapons/storage/bags.dm
@@ -303,7 +303,10 @@
w_class = ITEMSIZE_LARGE
can_hold = list(/obj/item/coin,/obj/item/spacecash)
-/obj/item/storage/bag/money/vault
+/obj/item/storage/bag/money/Initialize(mapload)
+ . = ..()
+ if(prob(20))
+ icon_state = "moneybagalt"
/obj/item/storage/bag/money/vault/New()
..()
diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm
index fa82b0d4be1..e8392252f22 100644
--- a/code/game/objects/items/weapons/storage/boxes.dm
+++ b/code/game/objects/items/weapons/storage/boxes.dm
@@ -24,9 +24,11 @@
/obj/item/storage/box
name = "box"
desc = "It's just an ordinary box."
+ icon = 'icons/obj/storage/boxes.dmi'
icon_state = "box"
item_state = "box"
- center_of_mass = list("x" = 13,"y" = 10)
+ contained_sprite = TRUE
+ var/illustration = "writing"
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
var/maxHealth = 20 //health is already defined
@@ -42,6 +44,8 @@
desc_info += "You can fold this into a sheet. "
if(ispath(src.trash))
desc_info += "This can be crumpled up into a trash item when empty, or forcibly crumpled on harm intent. "
+ if(illustration)
+ add_overlay(illustration)
/obj/item/storage/box/proc/damage(var/severity)
health -= severity
@@ -139,7 +143,8 @@
/obj/item/storage/box/survival
name = "emergency survival box"
desc = "A faithful box that will remain with you, no matter where you go, and probably save you."
- icon_state = "e_box"
+ icon_state = "redbox"
+ illustration = "survival"
max_storage_space = 14
can_hold = list(
/obj/item/clothing/mask,
@@ -160,70 +165,91 @@
/obj/item/airbubble
)
starts_with = list(
- /obj/item/clothing/mask/breath = 1,
- /obj/item/tank/emergency_oxygen = 1,
- /obj/item/device/oxycandle = 1,
- /obj/item/device/flashlight/flare/glowstick/red = 1,
- /obj/item/stack/medical/bruise_pack = 1,
- /obj/item/reagent_containers/hypospray/autoinjector/inaprovaline = 1
- )
+ /obj/item/clothing/mask/breath = 1,
+ /obj/item/tank/emergency_oxygen = 1,
+ /obj/item/device/oxycandle = 1,
+ /obj/item/device/flashlight/flare/glowstick/red = 1,
+ /obj/item/stack/medical/bruise_pack = 1,
+ /obj/item/reagent_containers/hypospray/autoinjector/inaprovaline = 1
+ )
/obj/item/storage/box/survival/engineer
- starts_with = list(
- /obj/item/clothing/mask/breath = 1,
- /obj/item/tank/emergency_oxygen/engi = 1,
- /obj/item/device/oxycandle = 1,
- /obj/item/device/flashlight/flare = 1,
- /obj/item/stack/medical/bruise_pack = 1,
- /obj/item/reagent_containers/hypospray/autoinjector/inaprovaline = 1
- )
+ illustration = "survivaleng"
+ starts_with = list(
+ /obj/item/clothing/mask/breath = 1,
+ /obj/item/tank/emergency_oxygen/engi = 1,
+ /obj/item/device/oxycandle = 1,
+ /obj/item/device/flashlight/flare = 1,
+ /obj/item/stack/medical/bruise_pack = 1,
+ /obj/item/reagent_containers/hypospray/autoinjector/inaprovaline = 1
+ )
/obj/item/storage/box/vaurca
+ icon_state = "redbox"
+ illustration = "survivalvox"
starts_with = list(/obj/item/clothing/mask/breath = 1, /obj/item/reagent_containers/inhaler/phoron_special = 1)
/obj/item/storage/box/gloves
name = "box of sterile gloves"
desc = "Contains sterile gloves."
- icon_state = "nitrile"
+ illustration = "latex"
max_storage_space = 14
starts_with = list(/obj/item/clothing/gloves/latex = 2,
/obj/item/clothing/gloves/latex/nitrile = 2,
/obj/item/clothing/gloves/latex/nitrile/unathi = 1,
/obj/item/clothing/gloves/latex/nitrile/tajara = 1,
/obj/item/clothing/gloves/latex/nitrile/vaurca = 1)
-
/obj/item/storage/box/masks
name = "box of surgical masks"
desc = "This box contains masks of surgicality."
- icon_state = "sterile"
+ illustration = "sterile"
starts_with = list(/obj/item/clothing/mask/surgical = 4, /obj/item/clothing/mask/surgical/w = 3)
/obj/item/storage/box/syringes
name = "box of syringes"
desc = "A box full of syringes."
- icon_state = "syringe"
+ icon_state = "secbox"
+ item_state = "secbox"
+ illustration = "syringe"
starts_with = list(/obj/item/reagent_containers/syringe = 20)
/obj/item/storage/box/syringegun
name = "box of syringe gun cartridges"
desc = "A box full of compressed gas cartridges."
- icon_state = "syringe"
+ icon_state = "secbox"
+ item_state = "secbox"
+ illustration = "syringe"
starts_with = list(/obj/item/syringe_cartridge = 7)
/obj/item/storage/box/beakers
name = "box of beakers"
- icon_state = "beaker"
+ illustration = "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 = "secbox"
+ item_state = "secbox"
+ illustration = "dna"
starts_with = list(/obj/item/dnainjector/h2m = 3, /obj/item/dnainjector/m2h = 3)
+/obj/item/storage/box/tungstenslugs
+ name = "box of compact tungsten slugs"
+ desc = "A box with several compact tungsten slugs, aimed for use in gauss carbines."
+ icon_state = "ammobox"
+ item_state = "ammobox"
+ illustration = null
+ drop_sound = 'sound/items/drop/ammobox.ogg'
+ pickup_sound = 'sound/items/pickup/ammobox.ogg'
+ starts_with = list(/obj/item/ammo_casing/gauss/carbine = 4)
+
/obj/item/storage/box/blanks
name = "box of blank shells"
desc = "It has a picture of a shotgun shell and several warning symbols on the front."
- icon_state = "blankshot_box"
+ icon_state = "shellbox"
+ item_state = "shellbox"
+ illustration = "blankshot"
drop_sound = 'sound/items/drop/ammobox.ogg'
pickup_sound = 'sound/items/pickup/ammobox.ogg'
starts_with = list(/obj/item/ammo_casing/shotgun/blank = 8)
@@ -231,7 +257,9 @@
/obj/item/storage/box/beanbags
name = "box of beanbag shells"
desc = "It has a picture of a shotgun shell and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death."
- icon_state = "beanshot_box"
+ icon_state = "shellbox"
+ item_state = "shellbox"
+ illustration = "beanshot"
drop_sound = 'sound/items/drop/ammobox.ogg'
pickup_sound = 'sound/items/pickup/ammobox.ogg'
starts_with = list(/obj/item/ammo_casing/shotgun/beanbag = 8)
@@ -239,7 +267,9 @@
/obj/item/storage/box/shotgunammo
name = "box of shotgun slugs"
desc = "It has a picture of a shotgun shell and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death."
- icon_state = "lethalslug_box"
+ icon_state = "shellbox"
+ item_state = "shellbox"
+ illustration = "lethalslug"
drop_sound = 'sound/items/drop/ammobox.ogg'
pickup_sound = 'sound/items/pickup/ammobox.ogg'
starts_with = list(/obj/item/ammo_casing/shotgun = 8)
@@ -247,7 +277,9 @@
/obj/item/storage/box/shotgunshells
name = "box of shotgun shells"
desc = "It has a picture of a shotgun shell and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death."
- icon_state = "lethalshell_box"
+ icon_state = "shellbox"
+ item_state = "shellbox"
+ illustration = "lethalshell"
drop_sound = 'sound/items/drop/ammobox.ogg'
pickup_sound = 'sound/items/pickup/ammobox.ogg'
starts_with = list(/obj/item/ammo_casing/shotgun/pellet = 8)
@@ -255,7 +287,9 @@
/obj/item/storage/box/flashshells
name = "box of illumination shells"
desc = "It has a picture of a shotgun shell and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death."
- icon_state = "illumshot_box"
+ icon_state = "shellbox"
+ item_state = "shellbox"
+ illustration = "illumshot"
drop_sound = 'sound/items/drop/ammobox.ogg'
pickup_sound = 'sound/items/pickup/ammobox.ogg'
starts_with = list(/obj/item/ammo_casing/shotgun/flash = 8)
@@ -263,7 +297,9 @@
/obj/item/storage/box/stunshells
name = "box of stun shells"
desc = "It has a picture of a shotgun shell and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death."
- icon_state = "stunshot_box"
+ icon_state = "shellbox"
+ item_state = "shellbox"
+ illustration = "stunshot"
drop_sound = 'sound/items/drop/ammobox.ogg'
pickup_sound = 'sound/items/pickup/ammobox.ogg'
starts_with = list(/obj/item/ammo_casing/shotgun/stunshell = 8)
@@ -271,7 +307,9 @@
/obj/item/storage/box/practiceshells
name = "box of practice shells"
desc = "It has a picture of a shotgun shell and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death."
- icon_state = "blankshot_box"
+ icon_state = "shellbox"
+ item_state = "shellbox"
+ illustration = "blankshot"
drop_sound = 'sound/items/drop/ammobox.ogg'
pickup_sound = 'sound/items/pickup/ammobox.ogg'
starts_with = list(/obj/item/ammo_casing/shotgun/practice = 8)
@@ -279,7 +317,9 @@
/obj/item/storage/box/haywireshells
name = "box of haywire shells"
desc = "It has a picture of a shotgun shell and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death."
- icon_state = "empshot_box"
+ icon_state = "shellbox"
+ item_state = "shellbox"
+ illustration = "empshot"
drop_sound = 'sound/items/drop/ammobox.ogg'
pickup_sound = 'sound/items/pickup/ammobox.ogg'
starts_with = list(/obj/item/ammo_casing/shotgun/emp = 8)
@@ -287,7 +327,9 @@
/obj/item/storage/box/incendiaryshells
name = "box of incendiary shells"
desc = "It has a picture of a shotgun shell and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death."
- icon_state = "incendiaryshot_box"
+ icon_state = "shellbox"
+ item_state = "shellbox"
+ illustration = "incendiaryshot"
drop_sound = 'sound/items/drop/ammobox.ogg'
pickup_sound = 'sound/items/pickup/ammobox.ogg'
starts_with = list(/obj/item/ammo_casing/shotgun/incendiary = 8)
@@ -295,7 +337,9 @@
/obj/item/storage/box/trackingslugs
name = "box of tracking slugs"
desc = "It has a picture of a shotgun shell and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death."
- icon_state = "trackingshot_box"
+ icon_state = "shellbox"
+ item_state = "shellbox"
+ illustration = "trackingshot"
drop_sound = 'sound/items/drop/ammobox.ogg'
pickup_sound = 'sound/items/pickup/ammobox.ogg'
starts_with = list(/obj/item/ammo_casing/shotgun/tracking = 4)
@@ -303,6 +347,9 @@
/obj/item/storage/box/sniperammo
name = "box of 14.5mm shells"
desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death."
+ icon_state = "ammobox"
+ item_state = "ammobox"
+ illustration = null
drop_sound = 'sound/items/drop/ammobox.ogg'
pickup_sound = 'sound/items/pickup/ammobox.ogg'
starts_with = list(/obj/item/ammo_casing/a145 = 7)
@@ -310,6 +357,9 @@
/obj/item/storage/box/ammo10mm
name = "box of 10mm shells"
desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death."
+ icon_state = "ammobox"
+ item_state = "ammobox"
+ illustration = null
drop_sound = 'sound/items/drop/ammobox.ogg'
pickup_sound = 'sound/items/pickup/ammobox.ogg'
starts_with = list(/obj/item/ammo_casing/c10mm = 10)
@@ -317,27 +367,33 @@
/obj/item/storage/box/flashbangs
name = "box of flashbangs"
desc = "A box containing 7 antipersonnel flashbang grenades.
WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use."
- icon_state = "flashbang"
+ icon_state = "secbox"
+ item_state = "secbox"
+ illustration = "flashbang"
starts_with = list(/obj/item/grenade/flashbang = 7)
/obj/item/storage/box/firingpins
name = "box of firing pins"
desc = "A box of NT brand Firearm authentication pins; Needed to operate most weapons."
+ illustration = "firingpin"
starts_with = list(/obj/item/device/firing_pin = 7)
/obj/item/storage/box/securitypins
name = "box of wireless-control firing pins"
desc = "A box of NT brand Firearm authentication pins; Needed to operate most weapons. These firing pins are wireless-control enabled."
+ illustration = "firingpin"
starts_with = list(/obj/item/device/firing_pin/wireless = 7)
/obj/item/storage/box/testpins
name = "box of firing pins"
desc = "A box of NT brand Testing Authentication pins; allows guns to fire in designated firing ranges."
+ illustration = "firingpin"
starts_with = list(/obj/item/device/firing_pin/test_range = 7)
/obj/item/storage/box/loyaltypins
name = "box of firing pins"
desc = "A box of specialised \"loyalty\" authentication pins produced by Nanotrasen; these check to see if the user of the gun it's installed in has been implanted with a mind shield implant. Often used in ERTs."
+ illustration = "firingpin"
starts_with = list(/obj/item/device/firing_pin/implant/loyalty = 7)
/obj/item/storage/box/loyaltypins/fill()
@@ -350,6 +406,7 @@
/obj/item/storage/box/firingpinsRD
name = "box of assorted firing pins"
desc = "A box of varied assortment of firing pins. Appears to have R&D stickers on all sides of the box. Also seems to have a smiley face sticker on the top of it."
+ illustration = "firingpin"
starts_with = list(/obj/item/device/firing_pin = 2, /obj/item/device/firing_pin/access = 2, /obj/item/device/firing_pin/implant/loyalty = 2, /obj/item/device/firing_pin/clown = 1, /obj/item/device/firing_pin/dna = 1)
/obj/item/storage/box/tethers
@@ -364,56 +421,72 @@
/obj/item/storage/box/teargas
name = "box of pepperspray grenades"
desc = "A box containing 7 tear gas grenades. A gas mask is printed on the label.
WARNING: Exposure carries risk of serious injury or death. Keep away from persons with lung conditions."
- icon_state = "flashbang"
+ icon_state = "secbox"
+ item_state = "secbox"
+ illustration = "grenade"
starts_with = list(/obj/item/grenade/chem_grenade/teargas = 6)
/obj/item/storage/box/smokebombs
name = "box of smoke grenades"
desc = "A box full of smoke grenades, used by special law enforcement teams and military organisations. Provides cover, confusion, and distraction."
- icon_state = "flashbang"
+ icon_state = "secbox"
+ item_state = "secbox"
+ illustration = "grenade"
starts_with = list(/obj/item/grenade/smokebomb = 7)
/obj/item/storage/box/emps
name = "box of emp grenades"
desc = "A box containing 5 military grade EMP grenades.
WARNING: Do not use near unshielded electronics or biomechanical augmentations, death or permanent paralysis may occur."
- icon_state = "flashbang"
+ icon_state = "secbox"
+ item_state = "secbox"
+ illustration = "emp"
starts_with = list(/obj/item/grenade/empgrenade = 5)
/obj/item/storage/box/smokes
name = "box of smoke bombs"
desc = "A box containing 5 smoke bombs."
- icon_state = "flashbang"
+ icon_state = "secbox"
+ item_state = "secbox"
+ illustration = "grenade"
starts_with = list(/obj/item/grenade/smokebomb = 5)
/obj/item/storage/box/anti_photons
name = "box of anti-photon grenades"
desc = "A box containing 5 experimental photon disruption grenades."
- icon_state = "flashbang"
+ icon_state = "secbox"
+ item_state = "secbox"
+ illustration = "grenade"
starts_with = list(/obj/item/grenade/anti_photon = 5)
/obj/item/storage/box/frags
name = "box of frag grenades"
desc = "A box containing 5 military grade fragmentation grenades.
WARNING: Live explosives. Misuse may result in serious injury or death."
- icon_state = "flashbang"
+ icon_state = "secbox"
+ item_state = "secbox"
+ illustration = "grenade"
starts_with = list(/obj/item/grenade/frag = 5)
/obj/item/storage/box/cardox
name = "box of cardox grenades"
desc = "A box containing 5 experimental cardox grenades."
- icon_state = "flashbang"
+ icon_state = "secbox"
+ item_state = "secbox"
+ illustration = "grenade"
starts_with = list(/obj/item/grenade/chem_grenade/large/phoroncleaner = 5)
/obj/item/storage/box/trackimp
name = "boxed tracking implant kit"
desc = "Box full of scum-bag tracking utensils."
- icon_state = "implant"
+ icon_state = "secbox"
+ item_state = "secbox"
+ illustration = "implant"
starts_with = list(/obj/item/implantcase/tracking = 4, /obj/item/implanter = 1, /obj/item/implantpad = 1, /obj/item/locator = 1)
/obj/item/storage/box/chemimp
name = "boxed chemical implant kit"
desc = "Box of stuff used to implant chemicals."
- icon_state = "implant"
+ illustration = "implant"
starts_with = list(/obj/item/implantcase/chem = 4, /obj/item/implanter = 1, /obj/item/implantpad = 1)
/obj/item/storage/box/chemimp/fill()
@@ -429,41 +502,47 @@
/obj/item/storage/box/rxglasses
name = "box of prescription glasses"
desc = "This box contains nerd glasses."
- icon_state = "glasses"
+ illustration = "glasses"
starts_with = list(/obj/item/clothing/glasses/regular = 7)
/obj/item/storage/box/drinkingglasses
name = "box of drinking glasses"
desc = "It has a picture of drinking glasses on it."
+ illustration = "drinkglass"
starts_with = list(/obj/item/reagent_containers/food/drinks/drinkingglass = 6)
/obj/item/storage/box/cdeathalarm_kit
name = "death alarm kit"
desc = "Box of stuff used to implant death alarms."
- icon_state = "implant"
- item_state = "box"
+ illustration = "implant"
starts_with = list(/obj/item/implanter = 1, /obj/item/implantcase/death_alarm = 6)
/obj/item/storage/box/condimentbottles
name = "box of condiment bottles"
desc = "It has a large ketchup smear on it."
+ illustration = "condiment"
starts_with = list(/obj/item/reagent_containers/food/condiment = 6)
/obj/item/storage/box/cups
name = "box of paper cups"
+ illustration = "cup"
desc = "It has pictures of paper cups on the front."
starts_with = list(/obj/item/reagent_containers/food/drinks/sillycup = 7)
/obj/item/storage/box/donkpockets
name = "box of donk-pockets"
desc = "Instructions: Heat in microwave. Product will cool if not eaten within seven minutes."
- icon_state = "donk_kit"
+ icon_state = "donkpocketbox"
+ item_state = "redbox"
+ illustration = null
starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket = 6)
/obj/item/storage/box/sinpockets
name = "box of donk-pockets"
desc = "Instructions: Heat in microwave. Product will cool if not eaten within seven minutes."
- icon_state = "donk_kit"
+ icon_state = "donkpocketbox"
+ item_state = "redbox"
+ illustration = null
starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket/sinpocket = 6)
desc_antag = "Crush bottom of package to initiate chemical heating. Wait for 20 seconds before consumption. Product will cool if not eaten within seven minutes."
@@ -513,36 +592,39 @@
/obj/item/storage/box/ids
name = "box of spare IDs"
desc = "Has so many empty IDs."
- icon_state = "id"
+ illustration = "id"
starts_with = list(/obj/item/card/id = 7)
/obj/item/storage/box/handcuffs
name = "box of spare handcuffs"
desc = "A box full of handcuffs."
- icon_state = "handcuff"
+ icon_state = "secbox"
+ item_state = "secbox"
+ illustration = "handcuff"
starts_with = list(/obj/item/handcuffs = 7)
/obj/item/storage/box/zipties
name = "box of zipties"
desc = "A box full of zipties."
- icon_state = "handcuff"
+ illustration = "handcuff"
starts_with = list(/obj/item/handcuffs/ziptie = 7)
/obj/item/storage/box/mousetraps
name = "box of Pest-B-Gon mousetraps"
desc = "WARNING: Keep out of reach of children."
- icon_state = "mousetraps"
+ illustration = "mousetraps"
starts_with = list(/obj/item/device/assembly/mousetrap = 6)
/obj/item/storage/box/pillbottles
name = "box of pill bottles"
desc = "It has pictures of pill bottles on its front."
- icon_state = "pillbox"
+ illustration = "pillbox"
starts_with = list(/obj/item/storage/pill_bottle = 7)
/obj/item/storage/box/spraybottles
name = "box of spray bottles"
desc = "It has pictures of spray bottles on its front."
+ illustration = "spray"
starts_with = list(/obj/item/reagent_containers/spray = 7)
/obj/item/storage/box/snappops
@@ -560,20 +642,19 @@
/obj/item/storage/box/partypopper
name = "party popper box"
desc = "Six cones of confetti conflagarating fun!"
+ illustration = "partypopper"
starts_with = list(/obj/item/toy/partypopper = 6)
/obj/item/storage/box/autoinjectors
name = "box of empty injectors"
desc = "Contains empty autoinjectors."
- icon_state = "syringe"
+ illustration = "epipen"
starts_with = list(/obj/item/reagent_containers/hypospray/autoinjector = 7)
/obj/item/storage/box/lights
name = "box of replacement bulbs"
- icon = 'icons/obj/storage.dmi'
- icon_state = "light"
+ illustration = "light"
desc = "This box is shaped on the inside so that only light tubes and bulbs fit."
- item_state = "box"
use_to_pickup = 1 // for picking up broken bulbs, not that most people will try
/obj/item/storage/box/lights/Initialize() // TODO-STORAGE: Initialize()?
@@ -585,17 +666,17 @@
/obj/item/storage/box/lights/tubes
name = "box of replacement tubes"
- icon_state = "lighttube"
+ illustration = "lighttube"
starts_with = list(/obj/item/light/tube = 21)
/obj/item/storage/box/lights/mixed
name = "box of replacement lights"
- icon_state = "lightmixed"
+ illustration = "lightmixed"
starts_with = list(/obj/item/light/tube = 14, /obj/item/light/bulb = 7)
/obj/item/storage/box/lights/coloredmixed
name = "box of colored lights"
- icon_state = "lightmixed"
+ illustration = "lightmixed"
/obj/item/storage/box/lights/coloredmixed/fill() // too lazy for this one
..()
@@ -624,32 +705,32 @@
/obj/item/storage/box/lights/colored/red
name = "box of red lights"
- icon_state = "lightmixed"
+ illustration = "lightmixed"
starts_with = list(/obj/item/light/tube/colored/red = 14, /obj/item/light/bulb/colored/red = 7)
/obj/item/storage/box/lights/colored/green
name = "box of green lights"
- icon_state = "lightmixed"
+ illustration = "lightmixed"
starts_with = list(/obj/item/light/tube/colored/green = 14, /obj/item/light/bulb/colored/green = 7)
/obj/item/storage/box/lights/colored/blue
name = "box of blue lights"
- icon_state = "lightmixed"
+ illustration = "lightmixed"
starts_with = list(/obj/item/light/tube/colored/blue = 14, /obj/item/light/bulb/colored/blue = 7)
/obj/item/storage/box/lights/colored/cyan
name = "box of cyan lights"
- icon_state = "lightmixed"
+ illustration = "lightmixed"
starts_with = list(/obj/item/light/tube/colored/cyan = 14, /obj/item/light/bulb/colored/cyan = 7)
/obj/item/storage/box/lights/colored/yellow
name = "box of yellow lights"
- icon_state = "lightmixed"
+ illustration = "lightmixed"
starts_with = list(/obj/item/light/tube/colored/yellow = 14, /obj/item/light/bulb/colored/yellow = 7)
/obj/item/storage/box/lights/colored/magenta
name = "box of magenta lights"
- icon_state = "lightmixed"
+ illustration = "lightmixed"
starts_with = list(/obj/item/light/tube/colored/magenta = 14, /obj/item/light/bulb/colored/magenta = 7)
/obj/item/storage/box/freezer
@@ -685,6 +766,7 @@
/obj/item/storage/box/kitchen
name = "kitchen supplies"
+ illustration = "knife"
desc = "Contains an assortment of utensils and containers useful in the preparation of food and drinks."
/obj/item/storage/box/kitchen/fill()
@@ -705,6 +787,7 @@
/obj/item/storage/box/snack
name = "rations box"
+ illustration = "snack"
desc = "Contains a random assortment of preserved foods. Guaranteed to remain edible* in room-temperature longterm storage for centuries!"
/obj/item/storage/box/snack/fill()
@@ -751,19 +834,21 @@
/obj/item/storage/box/inhalers
name = "inhaler kit"
desc = "A box filled with several inhalers and empty inhaler cartridges."
- icon_state = "box_inhalers"
+ illustration = "inhalers"
starts_with = list(/obj/item/personal_inhaler = 2, /obj/item/reagent_containers/personal_inhaler_cartridge = 6)
/obj/item/storage/box/inhalers_large
name = "combat inhaler kit"
desc = "A box filled with a combat inhaler and several large empty inhaler cartridges."
- icon_state = "box_inhalers"
+ illustration = "inhalers"
starts_with = list(/obj/item/personal_inhaler/combat = 1, /obj/item/reagent_containers/personal_inhaler_cartridge/large = 6)
/obj/item/storage/box/inhalers_auto
name = "autoinhaler kit"
desc = "A box filled with a combat inhaler and several large empty inhaler cartridges."
- icon_state = "box_inhalers"
+ icon_state = "secbox"
+ item_state = "secbox"
+ illustration = "inhalers"
starts_with = list(/obj/item/reagent_containers/inhaler = 8)
/obj/item/storage/box/clams
@@ -775,6 +860,7 @@
name = "produce box"
desc = "A large box of random, leftover produce."
icon_state = "largebox"
+ illustration = "fruit"
starts_with = list(/obj/random_produce/box = 15)
/obj/item/storage/box/produce/fill()
@@ -786,6 +872,7 @@
name = "candy box"
desc = "A large box of assorted small candy."
icon_state = "largebox"
+ illustration = "writing_large"
/obj/item/storage/box/candy/fill()
var/list/assorted_list = list(
@@ -843,63 +930,74 @@
/obj/item/storage/box/sol_visa
name = "Sol Alliance visa recommendations box"
desc = "A box full of Sol Aliance visa recommendation slips."
+ illustration = "paper"
starts_with = list(/obj/item/clothing/accessory/badge/sol_visa = 6)
/obj/item/storage/box/ceti_visa
name = "TCFL recruitment papers box"
desc = "A box full of papers that signify one as a recruit of the Tau Ceti Foreign Legion."
+ illustration = "paper"
starts_with = list(/obj/item/clothing/accessory/badge/tcfl_papers = 6)
/obj/item/storage/box/hadii_card
name = "honorary party member card box"
desc = "A box full of Hadiist party member cards."
+ illustration = "paper"
starts_with = list(/obj/item/clothing/accessory/badge/hadii_card = 6)
/obj/item/storage/box/hadii_manifesto
name = "hadiist manifesto box"
desc = "A box full of hadiist manifesto books."
+ illustration = "paper"
starts_with = list(/obj/item/book/manual/pra_manifesto = 6)
/obj/item/storage/box/dpra_manifesto
name = "al'mariist manifesto box"
desc = "A box full of al'mariist manifesto books."
+ illustration = "paper"
starts_with = list(/obj/item/book/manual/dpra_manifesto = 6)
/obj/item/storage/box/nka_manifesto
name = "royalist manifesto card box"
desc = "A box full of royalist manifesto books."
+ illustration = "paper"
starts_with = list(/obj/item/book/manual/nka_manifesto = 6)
/obj/item/storage/box/dominia_honor
name = "dominian honor codex box"
- desc = "A box full of dominian honor codex "
+ desc = "A box full of dominian honor codices."
+ illustration = "paper"
starts_with = list(/obj/item/book/manual/dominia_honor = 6)
/obj/item/storage/box/tcfl_pamphlet
name = "tau ceti foreign legion pamphlets box"
desc = "A box full of tau ceti foreign legion pamphlets."
+ illustration = "paper"
starts_with = list(/obj/item/book/manual/tcfl_pamphlet = 6)
/obj/item/storage/box/sharps
name = "sharps disposal box"
desc = "A plastic box for disposal of used needles and other sharp, potentially-contaminated tools. There is a large biohazard sign on the front."
- icon_state = "sharpsbox"
+ icon_state = "redbox"
+ illustration = "biohazard"
max_storage_space = 20
chewable = FALSE
foldable = null
/obj/item/storage/box/fountainpens
name = "box of fountain pens"
+ illustration = "fpen"
starts_with = list(/obj/item/pen/fountain = 7)
/obj/item/storage/box/aggression
- name = "box"
desc_antag = "This box contains various implants that will make their owners increasingly aggressive."
+ illustration = "implant"
max_storage_space = 12
starts_with = list(/obj/item/implantcase/aggression = 6, /obj/item/implanter = 1, /obj/item/implantpad = 1)
/obj/item/storage/box/encryption_key
name = "box"
+ illustration = "circuit"
desc_antag = "This box contains encryption keys that gives the user a safe channel to chatter in. Access the safe comms with :x."
starts_with = list(/obj/item/device/encryptionkey/rev = 8)
@@ -920,6 +1018,7 @@
spill()
/obj/item/storage/box/closet_teleporter
+ illustration = "scicircuit"
starts_with = list(/obj/item/closet_teleporter = 2)
/obj/item/storage/box/closet_teleporter/fill()
@@ -931,16 +1030,19 @@
/obj/item/storage/box/googly
name = "googly eye box"
desc = "A box containing googly eyes."
+ illustration = "googlyeyes"
starts_with = list(/obj/item/sticker/googly_eye = 8)
/obj/item/storage/box/goldstar
name = "gold star box"
desc = "A box containing gold star stickers."
+ illustration = "goldstar"
starts_with = list(/obj/item/sticker/goldstar = 8)
/obj/item/storage/box/folders
name = "box of folders"
desc = "A box full of folders."
+ illustration = "paper"
starts_with = list(/obj/item/folder = 5)
/obj/item/storage/box/folders/blue
@@ -948,7 +1050,8 @@
/obj/item/storage/box/papersack
name = "paper sack"
- desc = "A neatly sack crafted out of paper."
+ desc = "A sack neatly crafted out of paper."
+ icon = 'icons/obj/storage/paperbag.dmi'
item_icons = list(
slot_l_hand_str = 'icons/mob/items/lefthand.dmi',
slot_r_hand_str = 'icons/mob/items/righthand.dmi',
@@ -1021,9 +1124,3 @@
to_chat(user, SPAN_WARNING("\The [src] needs to be empty before you can do that!"))
else
..()
-
-/obj/item/storage/box/tungstenslugs
- name = "box of compact tungsten slugs"
- desc = "A box with several compact tungsten slugs, aimed for use in gauss carbines."
- icon_state = "box_tungstenslug"
- starts_with = list(/obj/item/ammo_casing/gauss/carbine = 4)
diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm
index 0be7913a160..c3a34fa54f6 100644
--- a/code/game/objects/items/weapons/storage/briefcase.dm
+++ b/code/game/objects/items/weapons/storage/briefcase.dm
@@ -1,12 +1,10 @@
/obj/item/storage/briefcase
name = "briefcase"
desc = "It's made of AUTHENTIC faux-leather and has a price-tag still attached. Its owner must be a real professional."
+ icon = 'icons/obj/storage/briefcase.dmi'
icon_state = "briefcase"
item_state = "briefcase"
- item_icons = list(
- slot_l_hand_str = 'icons/mob/items/storage/lefthand_briefcase.dmi',
- slot_r_hand_str = 'icons/mob/items/storage/righthand_briefcase.dmi'
- )
+ contained_sprite = TRUE
flags = CONDUCT
force = 8.0
throw_speed = 1
diff --git a/code/game/objects/items/weapons/storage/field_ration.dm b/code/game/objects/items/weapons/storage/field_ration.dm
index 7f0f3d7ab05..059218b7717 100644
--- a/code/game/objects/items/weapons/storage/field_ration.dm
+++ b/code/game/objects/items/weapons/storage/field_ration.dm
@@ -1,7 +1,7 @@
/obj/item/storage/field_ration
name = "field ration"
desc = "An individually packed meal, designated to be consumed on field."
- icon = 'icons/obj/storage.dmi'
+ icon = 'icons/obj/tajara_items.dmi'
icon_state = "ration"
desc_fluff = "The republican army is the best equipped among the warring factions of Adhomai, being supplied by NanoTrasen and other outworld supporters. Canned goods and \
modern rations are issued to all branches of the Republic's military. Native field meals are composed of salt-cured Fatshouters's meat, bread and Victory Gin, while imported ones \
diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm
index ffcac4ebf7e..5a5ea18b8a7 100644
--- a/code/game/objects/items/weapons/storage/firstaid.dm
+++ b/code/game/objects/items/weapons/storage/firstaid.dm
@@ -10,17 +10,17 @@
/obj/item/storage/firstaid
name = "first-aid kit"
desc = "It's an emergency medical kit for those serious boo-boos."
+ icon = 'icons/obj/storage/firstaid.dmi'
icon_state = "firstaid"
- item_icons = list(
- slot_l_hand_str = 'icons/mob/items/lefthand_medical.dmi',
- slot_r_hand_str = 'icons/mob/items/righthand_medical.dmi',
- )
+ item_state = "firstaid"
+ contained_sprite = TRUE
center_of_mass = list("x" = 13,"y" = 10)
throw_speed = 2
throw_range = 8
var/empty = 0
drop_sound = 'sound/items/drop/cardboardbox.ogg'
pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
+ use_sound = 'sound/items/storage/briefcase.ogg'
/obj/item/storage/firstaid/fill()
if (empty) return
@@ -29,8 +29,8 @@
/obj/item/storage/firstaid/fire
name = "fire first-aid kit"
desc = "It's an emergency medical kit for when the toxins lab -spontaneously- burns down."
- icon_state = "ointment"
- item_state = "ointment"
+ icon_state = "firefirstaid"
+ item_state = "firefirstaid"
starts_with = list(
/obj/item/reagent_containers/pill/kelotane = 3,
/obj/item/stack/medical/ointment = 2,
@@ -40,7 +40,7 @@
/obj/item/storage/firstaid/fire/fill()
. = ..()
- icon_state = pick("ointment","firefirstaid")
+ icon_state = pick("firefirstaid","firefirstaid2","firefirstaid3")
/obj/item/storage/firstaid/regular
icon_state = "firstaid"
@@ -55,8 +55,8 @@
/obj/item/storage/firstaid/toxin
name = "toxin first aid"
desc = "Used to treat when you have a high amount of toxins in your body."
- icon_state = "antitoxin"
- item_state = "antitoxin"
+ icon_state = "antitoxinfirstaid"
+ item_state = "antitoxinfirstaid"
starts_with = list(
/obj/item/reagent_containers/syringe/dylovene = 3,
/obj/item/reagent_containers/pill/antitox = 3,
@@ -65,19 +65,23 @@
/obj/item/storage/firstaid/toxin/fill()
. = ..()
- icon_state = pick("antitoxin","antitoxfirstaid","antitoxfirstaid2","antitoxfirstaid3")
+ icon_state = pick("antitoxfirstaid","antitoxfirstaid2","antitoxfirstaid3")
/obj/item/storage/firstaid/o2
name = "oxygen deprivation kit"
desc = "A box full of oxygen related goodies."
- icon_state = "o2"
- item_state = "o2"
+ icon_state = "o2firstaid"
+ item_state = "o2firstaid"
starts_with = list(
/obj/item/reagent_containers/inhaler/dexalin = 4,
/obj/item/reagent_containers/hypospray/autoinjector/inaprovaline = 2,
/obj/item/device/breath_analyzer = 1
)
+/obj/item/storage/firstaid/o2/fill()
+ . = ..()
+ icon_state = pick("o2firstaid","o2firstaid2","o2firstaid3")
+
/obj/item/storage/firstaid/adv
name = "advanced first-aid kit"
desc = "Contains advanced medical treatments."
@@ -90,6 +94,10 @@
/obj/item/stack/medical/splint = 1
)
+/obj/item/storage/firstaid/adv/fill()
+ . = ..()
+ icon_state = pick("advfirstaid","advfirstaid2","advfirstaid3")
+
/obj/item/storage/firstaid/combat
name = "combat medical kit"
desc = "Contains advanced medical treatments."
@@ -110,7 +118,6 @@
desc = "Contains tools for surgery. Has precise foam fitting for safe transport."
icon_state = "purplefirstaid"
item_state = "purplefirstaid"
- use_sound = 'sound/items/storage/briefcase.ogg'
starts_with = list(
/obj/item/surgery/bonesetter = 1,
/obj/item/surgery/cautery = 1,
@@ -127,8 +134,9 @@
/obj/item/storage/firstaid/surgery/fill()
..()
- if (!empty)
+ if(!empty)
make_exact_fit()
+ icon_state = pick("purplefirstaid","purplefirstaid2","purplefirstaid3")
/obj/item/storage/firstaid/brute
name = "brute aid kit"
@@ -143,6 +151,10 @@
/obj/item/device/healthanalyzer = 1
)
+/obj/item/storage/firstaid/surgery/fill()
+ ..()
+ icon_state = pick("brute","brute2","brute3")
+
/*
* Pill Bottles
*/
diff --git a/code/game/objects/items/weapons/storage/lockbox.dm b/code/game/objects/items/weapons/storage/lockbox.dm
index 3ab234c705a..d5789786729 100644
--- a/code/game/objects/items/weapons/storage/lockbox.dm
+++ b/code/game/objects/items/weapons/storage/lockbox.dm
@@ -3,12 +3,9 @@
/obj/item/storage/lockbox
name = "lockbox"
desc = "A locked box."
+ icon = 'icons/obj/storage/briefcase.dmi'
icon_state = "lockbox+l"
item_state = "lockbox"
- item_icons = list(
- slot_l_hand_str = 'icons/mob/items/storage/lefthand_briefcase.dmi',
- slot_r_hand_str = 'icons/mob/items/storage/righthand_briefcase.dmi'
- )
w_class = ITEMSIZE_LARGE
max_w_class = ITEMSIZE_NORMAL
max_storage_space = 14 //The sum of the w_classes of all the items in this storage item.
@@ -20,42 +17,41 @@
var/icon_broken = "lockbox+b"
- attackby(obj/item/W as obj, mob/user as mob)
- if (istype(W, /obj/item/card/id))
- if(src.broken)
- to_chat(user, "It appears to be broken.")
+/obj/item/storage/lockbox/attackby(obj/item/W as obj, mob/user as mob)
+ if(istype(W, /obj/item/card/id))
+ if(src.broken)
+ to_chat(user, "It appears to be broken.")
+ return
+ if(src.allowed(user))
+ src.locked = !( src.locked )
+ if(src.locked)
+ src.icon_state = src.icon_locked
+ to_chat(user, "You lock \the [src]!")
return
- if(src.allowed(user))
- src.locked = !( src.locked )
- if(src.locked)
- src.icon_state = src.icon_locked
- to_chat(user, "You lock \the [src]!")
- return
- else
- src.icon_state = src.icon_closed
- to_chat(user, "You unlock \the [src]!")
- return
else
- to_chat(user, "Access Denied")
- else if(istype(W, /obj/item/melee/energy/blade))
- if(emag_act(INFINITY, user, W, "The locker has been sliced open by [user] with an energy blade!", "You hear metal being sliced and sparks flying."))
- var/obj/item/melee/energy/blade/blade = W
- blade.spark_system.queue()
- playsound(src.loc, 'sound/weapons/blade.ogg', 50, 1)
- playsound(src.loc, /decl/sound_category/spark_sound, 50, 1)
- if(!locked)
- ..()
+ src.icon_state = src.icon_closed
+ to_chat(user, "You unlock \the [src]!")
+ return
else
- to_chat(user, "It's locked!")
- return
+ to_chat(user, "Access Denied")
+ else if(istype(W, /obj/item/melee/energy/blade))
+ if(emag_act(INFINITY, user, W, "The locker has been sliced open by [user] with an energy blade!", "You hear metal being sliced and sparks flying."))
+ var/obj/item/melee/energy/blade/blade = W
+ blade.spark_system.queue()
+ playsound(src.loc, 'sound/weapons/blade.ogg', 50, 1)
+ playsound(src.loc, /decl/sound_category/spark_sound, 50, 1)
+ if(!locked)
+ ..()
+ else
+ to_chat(user, "It's locked!")
+ return
-
- show_to(mob/user as mob)
- if(locked)
- to_chat(user, "It's locked!")
- else
- ..()
- return
+/obj/item/storage/lockbox/show_to(mob/user as mob)
+ if(locked)
+ to_chat(user, "It's locked!")
+ else
+ ..()
+ return
/obj/item/storage/lockbox/emag_act(var/remaining_charges, var/mob/user, var/emag_source, var/visual_feedback = "", var/audible_feedback = "")
if(!broken)
@@ -98,7 +94,7 @@
starts_with = list(/obj/item/grenade/flashbang/clusterbang = 1)
/obj/item/storage/lockbox/lawgiver
- name = "Weapons lockbox"
+ name = "weapons lockbox"
desc = "A high security weapons lockbox"
req_access = list(access_armory)
starts_with = list(/obj/item/gun/energy/lawgiver = 1)
@@ -107,7 +103,7 @@
name = "medal box"
desc = "A locked box used to store medals."
icon_state = "medalbox+l"
- item_state = "box"
+ item_state = "briefcase"
w_class = ITEMSIZE_NORMAL
max_w_class = ITEMSIZE_SMALL
req_access = list(access_captain)
diff --git a/code/game/objects/items/weapons/storage/misc.dm b/code/game/objects/items/weapons/storage/misc.dm
index 36f2a08d51b..f4edcb700c0 100644
--- a/code/game/objects/items/weapons/storage/misc.dm
+++ b/code/game/objects/items/weapons/storage/misc.dm
@@ -40,20 +40,16 @@
return
/obj/item/storage/box/pineapple
- icon = 'icons/obj/storage.dmi'
- icon_state = "pineapple_rings"
name = "can of pineapple rings"
desc = "An aluminium can with fresh pineapple slices."
+ icon = 'icons/obj/food.dmi'
+ icon_state = "pineapple_rings"
use_sound = 'sound/items/pickup/soda.ogg'
drop_sound = 'sound/items/drop/soda.ogg'
pickup_sound = 'sound/items/pickup/soda.ogg'
starts_with = list(/obj/item/reagent_containers/food/snacks/pineapple_ring = 6)
can_hold = list(/obj/item/reagent_containers/food/snacks/pineapple_ring)
-/obj/item/storage/box/pineapple/fill()
- . = ..()
- update_icon()
-
//cigarette papers
/obj/item/storage/box/fancy/cigpaper
name = "\improper callistean classic cigarette paper"
diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm
index b369ed8f611..f300776ac9c 100644
--- a/code/game/objects/items/weapons/storage/secure.dm
+++ b/code/game/objects/items/weapons/storage/secure.dm
@@ -147,31 +147,28 @@
// -----------------------------
/obj/item/storage/secure/briefcase
name = "secure briefcase"
- icon = 'icons/obj/storage.dmi'
- icon_state = "secure"
- item_state = "sec-case"
- item_icons = list(
- slot_l_hand_str = 'icons/mob/items/storage/lefthand_briefcase.dmi',
- slot_r_hand_str = 'icons/mob/items/storage/righthand_briefcase.dmi'
- )
desc = "A large briefcase with a digital locking system."
+ icon = 'icons/obj/storage/briefcase.dmi'
+ icon_state = "secure"
+ item_state = "secure"
+ contained_sprite = TRUE
force = 8.0
throw_speed = 1
throw_range = 4
w_class = ITEMSIZE_LARGE
- attack_hand(mob/user as mob)
- if ((src.loc == user) && (src.locked == 1))
- to_chat(usr, "[src] is locked and cannot be opened!")
- else if ((src.loc == user) && (!src.locked))
- src.open(usr)
- else
- ..()
- for(var/mob/M in range(1))
- if (M.s_active == src)
- src.close(M)
- src.add_fingerprint(user)
- return
+/obj/item/storage/secure/briefcase/attack_hand(mob/user as mob)
+ if((src.loc == user) && (src.locked == 1))
+ to_chat(usr, "[src] is locked and cannot be opened!")
+ else if((src.loc == user) && (!src.locked))
+ src.open(usr)
+ else
+ ..()
+ for(var/mob/M in range(1))
+ if(M.s_active == src)
+ src.close(M)
+ src.add_fingerprint(user)
+ return
// -----------------------------
// Secure Safe
@@ -192,7 +189,7 @@
cant_hold = list(/obj/item/storage/secure/briefcase)
starts_with = list(/obj/item/paper = 1, /obj/item/pen = 1)
- attack_hand(mob/user as mob)
+/obj/item/storage/secure/safe/attack_hand(mob/user as mob)
return attack_self(user)
/*obj/item/storage/secure/safe/HoS/New()
diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm
index bb1a7b0e9a7..e2362e49473 100644
--- a/code/game/objects/items/weapons/storage/toolbox.dm
+++ b/code/game/objects/items/weapons/storage/toolbox.dm
@@ -1,13 +1,10 @@
/obj/item/storage/toolbox
name = "toolbox"
desc = "Danger. Very robust."
- icon = 'icons/obj/storage.dmi'
+ icon = 'icons/obj/storage/toolbox.dmi'
+ contained_sprite = TRUE
icon_state = "red"
- item_state = "toolbox_red"
- item_icons = list(
- slot_l_hand_str = 'icons/mob/items/storage/lefthand_toolbox.dmi',
- slot_r_hand_str = 'icons/mob/items/storage/righthand_toolbox.dmi'
- )
+ item_state = "red"
center_of_mass = list("x" = 16,"y" = 11)
flags = CONDUCT
force = 5
@@ -31,8 +28,6 @@
/obj/item/storage/toolbox/emergency
name = "emergency toolbox"
- icon_state = "red"
- item_state = "toolbox_red"
starts_with = list(
/obj/item/crowbar/red = 1,
/obj/item/extinguisher/mini = 1,
@@ -52,7 +47,7 @@
/obj/item/storage/toolbox/mechanical
name = "mechanical toolbox"
icon_state = "blue"
- item_state = "toolbox_blue"
+ item_state = "blue"
starts_with = list(\
/obj/item/screwdriver = 1,\
/obj/item/wrench = 1,\
@@ -65,7 +60,7 @@
/obj/item/storage/toolbox/electrical
name = "electrical toolbox"
icon_state = "yellow"
- item_state = "toolbox_yellow"
+ item_state = "yellow"
starts_with = list(\
/obj/item/screwdriver = 1,\
/obj/item/wirecutters = 1,\
@@ -86,7 +81,6 @@
/obj/item/storage/toolbox/drill
name = "drilling kit"
desc = "A kit supplied to drill technicians, containing the tools required to set up a basic asteroid drilling operation."
- icon = 'icons/obj/toolbox/mining.dmi'
icon_state = "miningbox"
item_state = "miningbox"
contained_sprite = TRUE
@@ -101,7 +95,6 @@
/obj/item/storage/toolbox/ka
name = "kinetic accelerator kit"
desc = "A kit supplied to shaft miners, containing a few upgrades to standard issue kinetic accelerators."
- icon = 'icons/obj/toolbox/mining.dmi'
icon_state = "miningbox"
item_state = "miningbox"
contained_sprite = TRUE
@@ -115,7 +108,7 @@
/obj/item/storage/toolbox/syndicate
name = "suspicious looking toolbox"
icon_state = "syndicate"
- item_state = "toolbox_syndi"
+ item_state = "syndicate"
origin_tech = list(TECH_COMBAT = 1, TECH_ILLEGAL = 1)
force = 7.0
starts_with = list(\
@@ -148,16 +141,14 @@
update_force()
user.visible_message(SPAN_DANGER("[user] smashes the [src] into [M], causing it to break open and strew its contents across the area"))
-
/obj/item/storage/toolbox/lunchbox
name = "rainbow lunchbox"
- icon = 'icons/obj/lunchbox.dmi'
+ icon = 'icons/obj/storage/lunchbox.dmi'
force = 3
throwforce = 5
- contained_sprite = 1
icon_state = "lunchbox_rainbow"
item_state = "lunchbox_rainbow"
- desc = "A little lunchbox. This one is the colors of the rainbow."
+ desc = "A little lunchbox. This one is in the colors of the rainbow."
attack_verb = list("lunched")
w_class = ITEMSIZE_NORMAL
max_storage_space = 8
@@ -289,4 +280,4 @@
item_state = "lunchbox_sedantis"
/obj/item/storage/toolbox/lunchbox/sedantis/filled
- filled = TRUE
\ No newline at end of file
+ filled = TRUE
diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm
index 606842645a1..887f5ac2d69 100644
--- a/code/game/objects/items/weapons/storage/uplink_kits.dm
+++ b/code/game/objects/items/weapons/storage/uplink_kits.dm
@@ -78,7 +78,8 @@
/obj/item/storage/box/syndie_kit
name = "box"
desc = "A sleek, sturdy box"
- icon_state = "box_of_doom"
+ icon_state = "syndiebox"
+ worn_overlay = "writing_syndie"
/obj/item/storage/box/syndie_kit/imp_freedom
name = "box (F)"
@@ -110,6 +111,7 @@
/obj/item/storage/box/syndie_kit/space
name = "boxed space suit and helmet"
+ worn_overlay = "syndiesuit"
starts_with = list(
/obj/item/clothing/suit/space/syndicate = 1,
/obj/item/clothing/head/helmet/space/syndicate = 1,
@@ -121,6 +123,7 @@
/obj/item/storage/box/syndie_kit/chameleon
name = "chameleon kit"
desc = "Comes with all the clothes you need to impersonate most people. Acting lessons sold seperately."
+ worn_overlay = "syndiesuit"
starts_with = list(
/obj/item/clothing/under/chameleon = 1,
/obj/item/clothing/head/chameleon = 1,
@@ -136,6 +139,7 @@
/obj/item/storage/box/syndie_kit/clerical
name = "clerical kit"
desc = "Comes with all you need to fake paperwork. Assumes you have passed basic writing lessons."
+ worn_overlay = "pen"
starts_with = list(
/obj/item/stamp/chameleon = 1,
/obj/item/pen/chameleon = 1,
@@ -147,6 +151,7 @@
/obj/item/storage/box/syndie_kit/special_pens
name = "penjector kit"
+ worn_overlay = "pen"
starts_with = list(
/obj/item/pen/reagent/healing = 1,
/obj/item/pen/reagent/pacifier = 1,
@@ -155,6 +160,7 @@
/obj/item/storage/box/syndie_kit/parapen
name = "parapen kit"
+ worn_overlay = "pen"
starts_with = list(
/obj/item/pen/reagent/paralysis = 1,
/obj/item/pen/reagent/purge = 1
diff --git a/code/game/objects/items/weapons/storage/wallets.dm b/code/game/objects/items/weapons/storage/wallets.dm
index 126b970db04..feab8bff102 100644
--- a/code/game/objects/items/weapons/storage/wallets.dm
+++ b/code/game/objects/items/weapons/storage/wallets.dm
@@ -2,7 +2,8 @@
name = "wallet"
desc = "It can hold a few small and personal things."
storage_slots = 10
- icon_state = "wallet"
+ icon = 'icons/obj/storage/wallet.dmi'
+ icon_state = "wallet_leather"
w_class = ITEMSIZE_SMALL
max_w_class = ITEMSIZE_SMALL
can_hold = list(
@@ -36,6 +37,7 @@
/obj/item/key
)
slot_flags = SLOT_ID
+ build_from_parts = TRUE
var/obj/item/card/id/front_id = null
var/flipped = null
@@ -45,6 +47,7 @@
/obj/item/storage/wallet/Initialize()
. = ..()
AddComponent(/datum/component/base_name, name)
+ update_icon()
/obj/item/storage/wallet/proc/update_name(var/base_name = initial(name))
SEND_SIGNAL(src, COMSIG_BASENAME_SETNAME, args)
@@ -70,14 +73,23 @@
update_icon()
/obj/item/storage/wallet/update_icon()
- overlays.Cut()
+ cut_overlays()
+ worn_overlay = "fasteners"
if(front_id)
- var/tiny_state = "id-generic"
- if(("id-" + front_id.icon_state) in icon_states(icon))
- tiny_state = "id-"+front_id.icon_state
- var/image/tiny_image = new/image(icon, icon_state = tiny_state)
- tiny_image.appearance_flags = RESET_COLOR
- overlays += tiny_image
+ if(("[icon_state]-open") in icon_states(icon))
+ icon_state = "[icon_state]-open"
+ . = ..()
+ var/tiny_state = "[initial(icon_state)]-generic"
+ if(("[initial(icon_state)]-[front_id.icon_state]") in icon_states(icon))
+ tiny_state = "[initial(icon_state)]-[front_id.icon_state]"
+ var/image/tiny_image = overlay_image(icon, icon_state = tiny_state, flags = RESET_COLOR)
+ add_overlay(tiny_image)
+ if(("[initial(icon_state)]-film") in icon_states(icon))
+ var/image/film_image = overlay_image(icon, "[initial(icon_state)]-film", flags = RESET_COLOR)
+ add_overlay(film_image)
+ else
+ icon_state = "[initial(icon_state)]"
+ . = ..()
mob_icon_update()
/obj/item/storage/wallet/GetID()
@@ -179,12 +191,12 @@
mob_icon_update()
/obj/item/storage/wallet/colourable
- icon_state = "wallet-white"
+ icon_state = "wallet"
/obj/item/storage/wallet/purse
name = "wallet purse"
desc = "A stylish long wallet purse with several slots."
- icon_state = "wallet-purse"
+ icon_state = "wallet_purse"
/obj/item/storage/wallet/lanyard
name = "lanyard"
@@ -214,20 +226,13 @@
var/image/plastic_film
-/obj/item/storage/wallet/lanyard/Initialize()
- . = ..()
- var/image/film_image = new/image(icon, icon_state = "lanyard_film")
- film_image.appearance_flags = RESET_COLOR
- overlays += film_image
-
/obj/item/storage/wallet/lanyard/update_icon()
- ..()
if(front_id)
front_id_overlay_state = front_id.icon_state
- var/image/film_image = new/image(icon, icon_state = "lanyard_film")
- film_image.appearance_flags = RESET_COLOR
- overlays += film_image
- mob_icon_update()
+ . = ..()
+ if(("[initial(icon_state)]-film") in icon_states(icon))
+ var/image/film_image = overlay_image(icon, "[initial(icon_state)]-film", flags = RESET_COLOR)
+ add_overlay(film_image)
/obj/item/storage/wallet/lanyard/get_mob_overlay(mob/living/carbon/human/H, mob_icon, mob_state, slot)
var/image/I = ..()
@@ -235,6 +240,6 @@
I.add_overlay(image('icons/mob/lanyard_overlays.dmi', icon_state = "lanyard-[front_id_overlay_state]"))
else
if(!plastic_film)
- plastic_film = image('icons/mob/lanyard_overlays.dmi', icon_state = "plasticfilm")
+ plastic_film = image('icons/mob/lanyard_overlays.dmi', icon_state = "[plastic_film_overlay_state]")
I.add_overlay(plastic_film)
return I
diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm
index 1db1d5e4320..ca708cfb47d 100644
--- a/code/game/objects/random/random.dm
+++ b/code/game/objects/random/random.dm
@@ -430,25 +430,19 @@
/obj/item/storage/backpack/industrial = 3,
/obj/item/storage/backpack/toxins = 3,
/obj/item/storage/backpack/hydroponics = 3,
- /obj/item/storage/backpack/genetics = 3,
- /obj/item/storage/backpack/virology = 3,
/obj/item/storage/backpack/pharmacy = 3,
/obj/item/storage/backpack/cloak = 2,
/obj/item/storage/backpack/syndie = 1,
- /obj/item/storage/backpack/wizard = 1,
/obj/item/storage/backpack/satchel = 3,
/obj/item/storage/backpack/satchel_norm = 3,
/obj/item/storage/backpack/satchel_eng = 3,
/obj/item/storage/backpack/satchel_med = 3,
- /obj/item/storage/backpack/satchel_vir = 3,
/obj/item/storage/backpack/satchel_pharm = 3,
- /obj/item/storage/backpack/satchel_gen = 3,
/obj/item/storage/backpack/satchel_tox = 3,
/obj/item/storage/backpack/satchel_sec = 3,
/obj/item/storage/backpack/satchel_hyd = 3,
/obj/item/storage/backpack/satchel_cap = 1,
/obj/item/storage/backpack/satchel_syndie = 1,
- /obj/item/storage/backpack/satchel_wizard = 1,
/obj/item/storage/backpack/ert = 1,
/obj/item/storage/backpack/ert/security = 1,
/obj/item/storage/backpack/ert/engineer = 1,
@@ -456,27 +450,21 @@
/obj/item/storage/backpack/duffel = 3,
/obj/item/storage/backpack/duffel/cap = 1,
/obj/item/storage/backpack/duffel/hyd = 3,
- /obj/item/storage/backpack/duffel/vir = 3,
/obj/item/storage/backpack/duffel/med = 3,
/obj/item/storage/backpack/duffel/eng = 3,
/obj/item/storage/backpack/duffel/tox = 3,
/obj/item/storage/backpack/duffel/sec = 3,
- /obj/item/storage/backpack/duffel/gen = 3,
/obj/item/storage/backpack/duffel/pharm = 3,
/obj/item/storage/backpack/duffel/syndie = 1,
- /obj/item/storage/backpack/duffel/wizard = 1,
/obj/item/storage/backpack/messenger = 2,
/obj/item/storage/backpack/messenger/pharm = 2,
/obj/item/storage/backpack/messenger/med = 2,
- /obj/item/storage/backpack/messenger/viro = 2,
/obj/item/storage/backpack/messenger/tox = 2,
- /obj/item/storage/backpack/messenger/gen = 2,
/obj/item/storage/backpack/messenger/com = 1,
/obj/item/storage/backpack/messenger/engi = 2,
/obj/item/storage/backpack/messenger/hyd = 2,
/obj/item/storage/backpack/messenger/sec = 2,
/obj/item/storage/backpack/messenger/syndie = 1,
- /obj/item/storage/backpack/messenger/wizard = 1
)
/obj/random/voidsuit
@@ -1495,7 +1483,7 @@
/obj/random/animal_crate
name = "random animal"
desc = "Contains a random crate with some animal."
- icon = 'icons/obj/storage.dmi'
+ icon = 'icons/obj/structures.dmi'
icon_state = "densecrate"
spawnlist = list(
/obj/structure/largecrate/animal/corgi = 3,
diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm
index 8ffb4e91938..50cd9b1a5c8 100644
--- a/code/game/objects/structures/crates_lockers/largecrate.dm
+++ b/code/game/objects/structures/crates_lockers/largecrate.dm
@@ -1,7 +1,6 @@
/obj/structure/largecrate
name = "large crate"
desc = "A hefty wooden crate."
- icon = 'icons/obj/storage.dmi'
icon_state = "densecrate"
density = TRUE
@@ -27,6 +26,7 @@
/obj/structure/largecrate/mule
name = "MULE crate"
+ icon_state = "mulecrate"
/obj/structure/largecrate/hoverpod
name = "\improper Hoverpod assembly crate"
diff --git a/code/game/objects/structures/inflatable.dm b/code/game/objects/structures/inflatable.dm
index a58bb761933..620c6d4fe0f 100644
--- a/code/game/objects/structures/inflatable.dm
+++ b/code/game/objects/structures/inflatable.dm
@@ -272,7 +272,7 @@
/obj/item/storage/bag/inflatable
name = "inflatable barrier box"
desc = "Contains inflatable walls and doors."
- icon = 'icons/obj/contained_items/tools/inflatables.dmi'
+ icon = 'icons/obj/storage/briefcase.dmi'
icon_state = "inf_box"
item_state = "inf_box"
contained_sprite = TRUE
diff --git a/code/modules/detectivework/tools/evidencebag.dm b/code/modules/detectivework/tools/evidencebag.dm
index 1073821072e..d6c81bf2d27 100644
--- a/code/modules/detectivework/tools/evidencebag.dm
+++ b/code/modules/detectivework/tools/evidencebag.dm
@@ -4,7 +4,7 @@
name = "evidence bag"
desc = "An empty evidence bag."
desc_info = "Click drag this onto an object to put it inside. Click it in-hand to remove an object from it."
- icon = 'icons/obj/storage.dmi'
+ icon = 'icons/obj/forensics.dmi'
icon_state = "evidenceobj"
item_state = ""
w_class = ITEMSIZE_SMALL
@@ -109,7 +109,7 @@
label_text = tmp_label
update_name_label()
return
- . = ..()
+ . = ..()
/obj/item/evidencebag/proc/update_name_label(var/base_name = initial(name))
SEND_SIGNAL(src, COMSIG_BASENAME_SETNAME, args)
diff --git a/code/modules/detectivework/tools/storage.dm b/code/modules/detectivework/tools/storage.dm
index 86d98e00c90..83b2bdae218 100644
--- a/code/modules/detectivework/tools/storage.dm
+++ b/code/modules/detectivework/tools/storage.dm
@@ -1,8 +1,7 @@
/obj/item/storage/box/swabs
name = "box of swab kits"
desc = "Sterilized equipment within. Do not contaminate."
- icon = 'icons/obj/forensics.dmi'
- icon_state = "dnakit"
+ illustration = "swab"
can_hold = list(/obj/item/forensics/swab)
storage_slots = 14
@@ -13,7 +12,7 @@
/obj/item/storage/box/slides
name = "microscope slide box"
- icon_state = "solution_trays"
+ illustration = "solution_trays"
storage_slots = 7
/obj/item/storage/box/slides/fill()
@@ -24,6 +23,7 @@
/obj/item/storage/box/evidence
name = "evidence bag box"
desc = "A box claiming to contain evidence bags."
+ illustration = "evidence"
storage_slots = 6
/obj/item/storage/box/evidence/fill()
@@ -34,8 +34,7 @@
/obj/item/storage/box/fingerprints
name = "box of fingerprint cards"
desc = "Sterilized equipment within. Do not contaminate."
- icon = 'icons/obj/forensics.dmi'
- icon_state = "dnakit"
+ illustration = "paper"
can_hold = list(/obj/item/sample/print)
storage_slots = 14
diff --git a/code/modules/research/xenoarchaeology/tools/tools_pickaxe.dm b/code/modules/research/xenoarchaeology/tools/tools_pickaxe.dm
index 8cac8e34ee3..bce2325378b 100644
--- a/code/modules/research/xenoarchaeology/tools/tools_pickaxe.dm
+++ b/code/modules/research/xenoarchaeology/tools/tools_pickaxe.dm
@@ -151,7 +151,7 @@
/obj/item/storage/box/excavation
name = "excavation pick set"
- icon = 'icons/obj/storage.dmi'
+ icon = 'icons/obj/storage/wallet.dmi'
icon_state = "excavation"
desc = "A set of picks for excavation."
item_state = "box"
diff --git a/html/changelogs/wezzy_boxsprotes.yml b/html/changelogs/wezzy_boxsprotes.yml
new file mode 100644
index 00000000000..d53dc37ea30
--- /dev/null
+++ b/html/changelogs/wezzy_boxsprotes.yml
@@ -0,0 +1,41 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+# balance
+# admin
+# backend
+# security
+# refactor
+#################################
+
+# Your name.
+author: Wowzewow (Wezzy)
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - imageadd: "Sorts and improves the sprites in storage.dmi. Backpacks, satchels, duffels and rucksacks should have their inhands display properly."
diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi
index 3190a266397..5500ed7d77b 100644
Binary files a/icons/mob/back.dmi and b/icons/mob/back.dmi differ
diff --git a/icons/mob/items/lefthand.dmi b/icons/mob/items/lefthand.dmi
index 35a8194feca..d30828b8fd1 100644
Binary files a/icons/mob/items/lefthand.dmi and b/icons/mob/items/lefthand.dmi differ
diff --git a/icons/mob/items/lefthand_medical.dmi b/icons/mob/items/lefthand_medical.dmi
index 5646e613eb1..ce42ffbe9fb 100644
Binary files a/icons/mob/items/lefthand_medical.dmi and b/icons/mob/items/lefthand_medical.dmi differ
diff --git a/icons/mob/items/righthand.dmi b/icons/mob/items/righthand.dmi
index 974c3f6859f..3b8a00be462 100644
Binary files a/icons/mob/items/righthand.dmi and b/icons/mob/items/righthand.dmi differ
diff --git a/icons/mob/items/righthand_medical.dmi b/icons/mob/items/righthand_medical.dmi
index 6e4e542d4d3..f4a144c7aae 100644
Binary files a/icons/mob/items/righthand_medical.dmi and b/icons/mob/items/righthand_medical.dmi differ
diff --git a/icons/mob/items/storage/lefthand_backpacks.dmi b/icons/mob/items/storage/lefthand_backpacks.dmi
deleted file mode 100644
index 89561e144da..00000000000
Binary files a/icons/mob/items/storage/lefthand_backpacks.dmi and /dev/null differ
diff --git a/icons/mob/items/storage/lefthand_briefcase.dmi b/icons/mob/items/storage/lefthand_briefcase.dmi
deleted file mode 100644
index 87441a1dac7..00000000000
Binary files a/icons/mob/items/storage/lefthand_briefcase.dmi and /dev/null differ
diff --git a/icons/mob/items/storage/lefthand_toolbox.dmi b/icons/mob/items/storage/lefthand_toolbox.dmi
deleted file mode 100644
index 5194d17f913..00000000000
Binary files a/icons/mob/items/storage/lefthand_toolbox.dmi and /dev/null differ
diff --git a/icons/mob/items/storage/righthand_backpacks.dmi b/icons/mob/items/storage/righthand_backpacks.dmi
deleted file mode 100644
index 979079f9e37..00000000000
Binary files a/icons/mob/items/storage/righthand_backpacks.dmi and /dev/null differ
diff --git a/icons/mob/items/storage/righthand_briefcase.dmi b/icons/mob/items/storage/righthand_briefcase.dmi
deleted file mode 100644
index 12e9fd938aa..00000000000
Binary files a/icons/mob/items/storage/righthand_briefcase.dmi and /dev/null differ
diff --git a/icons/mob/items/storage/righthand_toolbox.dmi b/icons/mob/items/storage/righthand_toolbox.dmi
deleted file mode 100644
index 4101464cd7d..00000000000
Binary files a/icons/mob/items/storage/righthand_toolbox.dmi and /dev/null differ
diff --git a/icons/obj/contained_items/tools/inflatables.dmi b/icons/obj/contained_items/tools/inflatables.dmi
index 1648890f270..64a048585e6 100644
Binary files a/icons/obj/contained_items/tools/inflatables.dmi and b/icons/obj/contained_items/tools/inflatables.dmi differ
diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi
index a815a0c520a..7cfb06c310e 100644
Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ
diff --git a/icons/obj/forensics.dmi b/icons/obj/forensics.dmi
index 1e643196c0f..0fc02dfb429 100644
Binary files a/icons/obj/forensics.dmi and b/icons/obj/forensics.dmi differ
diff --git a/icons/obj/lunchbox.dmi b/icons/obj/lunchbox.dmi
deleted file mode 100644
index 9051a2782eb..00000000000
Binary files a/icons/obj/lunchbox.dmi and /dev/null differ
diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi
index 53d76334b2b..2a3fbfd589e 100644
Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ
diff --git a/icons/obj/storage/backpack.dmi b/icons/obj/storage/backpack.dmi
new file mode 100644
index 00000000000..aed8f48b07f
Binary files /dev/null and b/icons/obj/storage/backpack.dmi differ
diff --git a/icons/obj/storage/boxes.dmi b/icons/obj/storage/boxes.dmi
new file mode 100644
index 00000000000..f19a37c7a60
Binary files /dev/null and b/icons/obj/storage/boxes.dmi differ
diff --git a/icons/obj/storage/briefcase.dmi b/icons/obj/storage/briefcase.dmi
new file mode 100644
index 00000000000..11605471bfb
Binary files /dev/null and b/icons/obj/storage/briefcase.dmi differ
diff --git a/icons/obj/storage/courierbag.dmi b/icons/obj/storage/courierbag.dmi
new file mode 100644
index 00000000000..0d4be5ad1ba
Binary files /dev/null and b/icons/obj/storage/courierbag.dmi differ
diff --git a/icons/obj/storage/duffelbag.dmi b/icons/obj/storage/duffelbag.dmi
new file mode 100644
index 00000000000..f00c356eeb4
Binary files /dev/null and b/icons/obj/storage/duffelbag.dmi differ
diff --git a/icons/obj/storage/firstaid.dmi b/icons/obj/storage/firstaid.dmi
new file mode 100644
index 00000000000..9051db07a40
Binary files /dev/null and b/icons/obj/storage/firstaid.dmi differ
diff --git a/icons/obj/storage/lunchbox.dmi b/icons/obj/storage/lunchbox.dmi
new file mode 100644
index 00000000000..ececc0eab66
Binary files /dev/null and b/icons/obj/storage/lunchbox.dmi differ
diff --git a/icons/obj/storage/paperbag.dmi b/icons/obj/storage/paperbag.dmi
new file mode 100644
index 00000000000..636c0747ac7
Binary files /dev/null and b/icons/obj/storage/paperbag.dmi differ
diff --git a/icons/obj/storage/rucksack.dmi b/icons/obj/storage/rucksack.dmi
new file mode 100644
index 00000000000..0c1ec8c4fac
Binary files /dev/null and b/icons/obj/storage/rucksack.dmi differ
diff --git a/icons/obj/storage/satchel.dmi b/icons/obj/storage/satchel.dmi
new file mode 100644
index 00000000000..9895eea7afd
Binary files /dev/null and b/icons/obj/storage/satchel.dmi differ
diff --git a/icons/obj/storage/toolbox.dmi b/icons/obj/storage/toolbox.dmi
new file mode 100644
index 00000000000..f0cae1890bb
Binary files /dev/null and b/icons/obj/storage/toolbox.dmi differ
diff --git a/icons/obj/storage/wallet.dmi b/icons/obj/storage/wallet.dmi
new file mode 100644
index 00000000000..cca87877f0e
Binary files /dev/null and b/icons/obj/storage/wallet.dmi differ
diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi
index 4c8ed20d5b1..f5a33b8c774 100644
Binary files a/icons/obj/structures.dmi and b/icons/obj/structures.dmi differ
diff --git a/icons/obj/tajara_items.dmi b/icons/obj/tajara_items.dmi
index 83108985a47..4fff1e373ab 100644
Binary files a/icons/obj/tajara_items.dmi and b/icons/obj/tajara_items.dmi differ
diff --git a/icons/obj/toolbox/mining.dmi b/icons/obj/toolbox/mining.dmi
deleted file mode 100644
index 363462c8fd0..00000000000
Binary files a/icons/obj/toolbox/mining.dmi and /dev/null differ
diff --git a/icons/obj/toy.dmi b/icons/obj/toy.dmi
index 41f0afb16a9..84f02065b34 100644
Binary files a/icons/obj/toy.dmi and b/icons/obj/toy.dmi differ
diff --git a/icons/obj/vaurca_items.dmi b/icons/obj/vaurca_items.dmi
index 2ba677f9a8b..b4cb738646d 100644
Binary files a/icons/obj/vaurca_items.dmi and b/icons/obj/vaurca_items.dmi differ
diff --git a/maps/away/generic/wrecked_nt_ship.dmm b/maps/away/generic/wrecked_nt_ship.dmm
index 17f52c56212..87522b219ef 100644
--- a/maps/away/generic/wrecked_nt_ship.dmm
+++ b/maps/away/generic/wrecked_nt_ship.dmm
@@ -798,7 +798,7 @@
/area/space)
"qK" = (
/obj/structure/table/reinforced,
-/obj/item/storage/backpack/genetics,
+/obj/item/storage/backpack/medic,
/turf/simulated/floor/tiled/steel/airless,
/area/wrecked_nt_ship)
"qX" = (