From bcf90593edd85ed8a25e6cd454f6b10df8cb11a8 Mon Sep 17 00:00:00 2001
From: atteria <86520558+atteria@users.noreply.github.com>
Date: Tue, 12 Apr 2022 07:57:21 -0700
Subject: [PATCH] Improves belt item overlay code, Adds new belt item overlay
sprites (#17568)
* belt-improvements-and-sprites
* fixes my fix of botany belt allowed contents
---
code/game/gamemodes/wizard/soulstone.dm | 1 +
code/game/objects/items.dm | 2 ++
code/game/objects/items/devices/flash.dm | 1 +
.../objects/items/devices/handheld_defib.dm | 1 +
.../objects/items/devices/lightreplacer.dm | 1 +
code/game/objects/items/devices/scanners.dm | 3 ++-
.../objects/items/devices/traitordevices.dm | 3 ++-
code/game/objects/items/stacks/medical.dm | 2 ++
code/game/objects/items/tools/crowbar.dm | 2 ++
code/game/objects/items/tools/multitool.dm | 1 +
code/game/objects/items/tools/screwdriver.dm | 2 ++
code/game/objects/items/tools/welder.dm | 4 ++++
code/game/objects/items/tools/wirecutters.dm | 2 ++
code/game/objects/items/tools/wrench.dm | 2 ++
.../objects/items/weapons/dna_injector.dm | 1 +
.../items/weapons/grenades/chem_grenade.dm | 1 +
.../items/weapons/grenades/flashbang.dm | 1 +
code/game/objects/items/weapons/handcuffs.dm | 3 +++
code/game/objects/items/weapons/holosign.dm | 1 +
.../objects/items/weapons/storage/bags.dm | 3 ++-
.../objects/items/weapons/storage/belt.dm | 10 ++++++----
.../objects/items/weapons/storage/fancy.dm | 1 +
.../objects/items/weapons/storage/firstaid.dm | 2 ++
code/game/objects/items/weapons/stunbaton.dm | 1 +
code/modules/hydroponics/hydroitemdefines.dm | 4 ++++
code/modules/mining/equipment/mining_tools.dm | 1 +
code/modules/power/cable.dm | 1 +
code/modules/projectiles/guns/magic/wand.dm | 7 +++++++
.../reagents/reagent_containers/dropper.dm | 1 +
.../reagent_containers/glass_containers.dm | 2 ++
.../reagents/reagent_containers/hypospray.dm | 2 ++
.../reagents/reagent_containers/spray.dm | 4 ++++
.../reagents/reagent_containers/syringes.dm | 1 +
icons/obj/clothing/belts.dmi | Bin 19271 -> 21075 bytes
34 files changed, 67 insertions(+), 7 deletions(-)
diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm
index 139f33ca174..b9b747147ba 100644
--- a/code/game/gamemodes/wizard/soulstone.dm
+++ b/code/game/gamemodes/wizard/soulstone.dm
@@ -4,6 +4,7 @@
icon = 'icons/obj/wizard.dmi'
icon_state = "soulstone"
item_state = "electronic"
+ belt_icon = "soulstone"
var/icon_state_full = "soulstone2"
desc = "A fragment of the legendary treasure known simply as the 'Soul Stone'. The shard still flickers with a fraction of the full artifact's power."
w_class = WEIGHT_CLASS_TINY
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index c2403fad5bb..8fc82f71c39 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -119,6 +119,8 @@ GLOBAL_DATUM_INIT(fire_overlay, /image, image("icon" = 'icons/goonstation/effect
// item hover FX
/// Is this item inside a storage object?
var/in_storage = FALSE
+ // For assigning a belt overlay icon state in belts.dmi
+ var/belt_icon = null
/// Holder var for the item outline filter, null when no outline filter on the item.
var/outline_filter
diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm
index b04457ac866..8b51f7f762c 100644
--- a/code/game/objects/items/devices/flash.dm
+++ b/code/game/objects/items/devices/flash.dm
@@ -4,6 +4,7 @@
icon = 'icons/obj/device.dmi'
icon_state = "flash"
item_state = "flashtool" //looks exactly like a flash (and nothing like a flashbang)
+ belt_icon = "flash"
throwforce = 0
w_class = WEIGHT_CLASS_TINY
throw_speed = 3
diff --git a/code/game/objects/items/devices/handheld_defib.dm b/code/game/objects/items/devices/handheld_defib.dm
index a138ef6ca03..f5a07dc460f 100644
--- a/code/game/objects/items/devices/handheld_defib.dm
+++ b/code/game/objects/items/devices/handheld_defib.dm
@@ -6,6 +6,7 @@
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
icon_state = "defib-on"
item_state = "defib"
+ belt_icon = "defib"
var/icon_base = "defib"
var/cooldown = FALSE
diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm
index de7b769957e..f032341c6f6 100644
--- a/code/game/objects/items/devices/lightreplacer.dm
+++ b/code/game/objects/items/devices/lightreplacer.dm
@@ -46,6 +46,7 @@
icon = 'icons/obj/janitor.dmi'
icon_state = "lightreplacer0"
item_state = "electronic"
+ belt_icon = "light_replacer"
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
slot_flags = SLOT_BELT
diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm
index 5862cf0f57c..018bd6a5490 100644
--- a/code/game/objects/items/devices/scanners.dm
+++ b/code/game/objects/items/devices/scanners.dm
@@ -81,10 +81,11 @@ REAGENT SCANNER
to_chat(user, "Subject is not addicted to any reagents.")
/obj/item/healthanalyzer
- name = "Health Analyzer"
+ name = "health analyzer"
icon = 'icons/obj/device.dmi'
icon_state = "health"
item_state = "healthanalyzer"
+ belt_icon = "health_analyzer"
desc = "A hand-held body scanner able to distinguish vital signs of the subject."
flags = CONDUCT | NOBLUDGEON
slot_flags = SLOT_BELT
diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm
index 587212a96c1..00b83c47eb6 100644
--- a/code/game/objects/items/devices/traitordevices.dm
+++ b/code/game/objects/items/devices/traitordevices.dm
@@ -11,10 +11,11 @@
*/
/obj/item/rad_laser
- name = "Health Analyzer"
+ name = "health analyzer"
icon = 'icons/obj/device.dmi'
icon_state = "health2"
item_state = "healthanalyzer"
+ belt_icon = "health_analyzer"
desc = "A hand-held body scanner able to distinguish vital signs of the subject. A strange microlaser is hooked on to the scanning end."
flags = CONDUCT | NOBLUDGEON
slot_flags = SLOT_BELT
diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm
index c0b7143ba2c..79eee757007 100644
--- a/code/game/objects/items/stacks/medical.dm
+++ b/code/game/objects/items/stacks/medical.dm
@@ -171,6 +171,7 @@
singular_name = "advanced trauma kit"
desc = "An advanced trauma kit for severe injuries."
icon_state = "traumakit"
+ belt_icon = "traumakit"
max_amount = 6
heal_brute = 25
stop_bleeding = 0
@@ -219,6 +220,7 @@
singular_name = "advanced burn kit"
desc = "An advanced treatment kit for severe burns."
icon_state = "burnkit"
+ belt_icon = "burnkit"
heal_burn = 25
/obj/item/stack/medical/ointment/advanced/cyborg
diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm
index 899d54a1084..b5143c7298c 100644
--- a/code/game/objects/items/tools/crowbar.dm
+++ b/code/game/objects/items/tools/crowbar.dm
@@ -4,6 +4,7 @@
icon = 'icons/obj/tools.dmi'
icon_state = "crowbar"
item_state = "crowbar"
+ belt_icon = "crowbar"
usesound = 'sound/items/crowbar.ogg'
flags = CONDUCT
slot_flags = SLOT_BELT
@@ -66,6 +67,7 @@
desc = "A set of jaws of life, the magic of science has managed to fit it down into a device small enough to fit in a tool belt. It's fitted with a prying head."
icon_state = "jaws_pry"
item_state = "jawsoflife"
+ belt_icon = "jaws"
materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25)
origin_tech = "materials=2;engineering=2"
usesound = 'sound/items/jaws_pry.ogg'
diff --git a/code/game/objects/items/tools/multitool.dm b/code/game/objects/items/tools/multitool.dm
index a488216955c..55af0d61edd 100644
--- a/code/game/objects/items/tools/multitool.dm
+++ b/code/game/objects/items/tools/multitool.dm
@@ -11,6 +11,7 @@
desc = "Used for pulsing wires to test which to cut. Not recommended by doctors."
icon = 'icons/obj/device.dmi'
icon_state = "multitool"
+ belt_icon = "multitool"
flags = CONDUCT
force = 0
w_class = WEIGHT_CLASS_SMALL
diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm
index e67436e2ce3..9b3a8e211a8 100644
--- a/code/game/objects/items/tools/screwdriver.dm
+++ b/code/game/objects/items/tools/screwdriver.dm
@@ -4,6 +4,7 @@
desc = "You can be totally screwy with this."
icon = 'icons/obj/tools.dmi'
icon_state = "screwdriver_map"
+ belt_icon = "screwdriver"
flags = CONDUCT
slot_flags = SLOT_BELT
force = 5
@@ -74,6 +75,7 @@
desc = "A simple hand drill with a screwdriver bit attached."
icon_state = "drill_screw"
item_state = "drill"
+ belt_icon = "hand_drill"
materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25)
origin_tech = "materials=2;engineering=2" //done for balance reasons, making them high value for research, but harder to get
force = 8 //might or might not be too high, subject to change
diff --git a/code/game/objects/items/tools/welder.dm b/code/game/objects/items/tools/welder.dm
index 475ccba1c34..bdd6eb2f0ad 100644
--- a/code/game/objects/items/tools/welder.dm
+++ b/code/game/objects/items/tools/welder.dm
@@ -6,6 +6,7 @@
icon = 'icons/obj/tools.dmi'
icon_state = "welder"
item_state = "welder"
+ belt_icon = "welder"
flags = CONDUCT
slot_flags = SLOT_BELT
force = 3
@@ -192,6 +193,7 @@
name = "industrial welding tool"
desc = "A slightly larger welder with a larger tank."
icon_state = "indwelder"
+ belt_icon = "welder_ind"
maximum_fuel = 40
materials = list(MAT_METAL=70, MAT_GLASS=60)
origin_tech = "engineering=2;plasmatech=2"
@@ -227,6 +229,7 @@
desc = "An upgraded welder based off the industrial welder."
icon_state = "upindwelder"
item_state = "upindwelder"
+ belt_icon = "welder_upg"
maximum_fuel = 80
materials = list(MAT_METAL=70, MAT_GLASS=120)
origin_tech = "engineering=3;plasmatech=2"
@@ -236,6 +239,7 @@
desc = "An experimental welder capable of self-fuel generation and less harmful to the eyes."
icon_state = "exwelder"
item_state = "exwelder"
+ belt_icon = "welder_exp"
maximum_fuel = 40
materials = list(MAT_METAL=70, MAT_GLASS=120)
origin_tech = "materials=4;engineering=4;bluespace=3;plasmatech=4"
diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm
index da47218ffc1..60c88bbc3d1 100644
--- a/code/game/objects/items/tools/wirecutters.dm
+++ b/code/game/objects/items/tools/wirecutters.dm
@@ -3,6 +3,7 @@
desc = "This cuts wires."
icon = 'icons/obj/tools.dmi'
icon_state = "cutters"
+ belt_icon = "wirecutters"
flags = CONDUCT
slot_flags = SLOT_BELT
force = 6
@@ -82,6 +83,7 @@
desc = "A set of jaws of life, the magic of science has managed to fit it down into a device small enough to fit in a tool belt. It's fitted with a cutting head."
icon_state = "jaws_cutter"
item_state = "jawsoflife"
+ belt_icon = "jaws"
origin_tech = "materials=2;engineering=2"
materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25)
usesound = 'sound/items/jaws_cut.ogg'
diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm
index dde5e8d7afc..eb7ba0efb4a 100644
--- a/code/game/objects/items/tools/wrench.dm
+++ b/code/game/objects/items/tools/wrench.dm
@@ -4,6 +4,7 @@
desc = "A wrench with common uses. Can be found in your hand."
icon = 'icons/obj/tools.dmi'
icon_state = "wrench"
+ belt_icon = "wrench"
flags = CONDUCT
slot_flags = SLOT_BELT
force = 5
@@ -50,6 +51,7 @@
desc = "A simple powered drill with a bolt bit."
icon_state = "drill_bolt"
item_state = "drill"
+ belt_icon = "hand_drill"
usesound = 'sound/items/drill_use.ogg'
materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25)
origin_tech = "materials=2;engineering=2" //done for balance reasons, making them high value for research, but harder to get
diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm
index 9c46b2656b5..bfd45d88da8 100644
--- a/code/game/objects/items/weapons/dna_injector.dm
+++ b/code/game/objects/items/weapons/dna_injector.dm
@@ -4,6 +4,7 @@
icon = 'icons/obj/items.dmi'
icon_state = "dnainjector"
item_state = "dnainjector"
+ belt_icon = "syringe"
var/block = 0
var/datum/dna2/record/buf = null
throw_speed = 3
diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm
index 7d2eb0b41cd..519be57446e 100644
--- a/code/game/objects/items/weapons/grenades/chem_grenade.dm
+++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm
@@ -515,6 +515,7 @@
/obj/item/grenade/chem_grenade/cleaner
+ belt_icon = "grenade"
payload_name = "cleaner"
desc = "BLAM!-brand foaming space cleaner. In a special applicator for rapid cleaning of wide areas."
stage = READY
diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm
index b139fc7db01..b17db5453e6 100644
--- a/code/game/objects/items/weapons/grenades/flashbang.dm
+++ b/code/game/objects/items/weapons/grenades/flashbang.dm
@@ -2,6 +2,7 @@
name = "flashbang"
icon_state = "flashbang"
item_state = "flashbang"
+ belt_icon = "flashbang"
origin_tech = "materials=2;combat=3"
light_power = 10
light_color = LIGHT_COLOR_WHITE
diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm
index 207533ce6d8..9d6cb569d46 100644
--- a/code/game/objects/items/weapons/handcuffs.dm
+++ b/code/game/objects/items/weapons/handcuffs.dm
@@ -4,6 +4,7 @@
gender = PLURAL
icon = 'icons/obj/items.dmi'
icon_state = "handcuff"
+ belt_icon = "handcuffs"
flags = CONDUCT
slot_flags = SLOT_BELT
throwforce = 5
@@ -83,6 +84,7 @@
icon = 'icons/obj/mining.dmi'
icon_state = "sinewcuff"
item_state = "sinewcuff"
+ belt_icon = null
breakouttime = 300 //Deciseconds = 30s
cuffsound = 'sound/weapons/cablecuff.ogg'
@@ -90,6 +92,7 @@
name = "cable restraints"
desc = "Looks like some cables tied together. Could be used to tie something up."
icon_state = "cuff_white"
+ belt_icon = null
origin_tech = "engineering=2"
materials = list(MAT_METAL=150, MAT_GLASS=75)
breakouttime = 300 //Deciseconds = 30s
diff --git a/code/game/objects/items/weapons/holosign.dm b/code/game/objects/items/weapons/holosign.dm
index 1828d38628c..6eb19f7f3c7 100644
--- a/code/game/objects/items/weapons/holosign.dm
+++ b/code/game/objects/items/weapons/holosign.dm
@@ -4,6 +4,7 @@
icon = 'icons/obj/device.dmi'
icon_state = "signmaker"
item_state = "electronic"
+ belt_icon = "holosign_creator"
force = 0
w_class = WEIGHT_CLASS_SMALL
throwforce = 0
diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm
index 0894c00cf2e..e8831ed107e 100644
--- a/code/game/objects/items/weapons/storage/bags.dm
+++ b/code/game/objects/items/weapons/storage/bags.dm
@@ -31,7 +31,7 @@
desc = "It's the heavy-duty black polymer kind. Time to take out the trash!"
icon = 'icons/obj/janitor.dmi'
icon_state = "trashbag"
-
+ belt_icon = "trashbag"
w_class = WEIGHT_CLASS_BULKY
max_w_class = WEIGHT_CLASS_SMALL
slot_flags = null
@@ -75,6 +75,7 @@
name = "trash bag of holding"
desc = "The latest and greatest in custodial convenience, a trashbag that is capable of holding vast quantities of garbage."
icon_state = "bluetrashbag"
+ belt_icon = "trashbag_blue"
origin_tech = "materials=4;bluespace=4;engineering=4;plasmatech=3"
max_combined_w_class = 60
storage_slots = 60
diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index 0ee753df992..1d2334a69eb 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -15,9 +15,9 @@
/obj/item/storage/belt/update_icon()
if(use_item_overlays)
- overlays.Cut()
+ cut_overlays()
for(var/obj/item/I in contents)
- overlays += "[I.name]"
+ add_overlay("[I.belt_icon]")
..()
/obj/item/storage/belt/proc/can_use()
@@ -203,6 +203,7 @@
/obj/item/wirecutters,
/obj/item/wrench,
/obj/item/reagent_containers/spray/weedspray,
+ /obj/item/reagent_containers/spray/plantbgone,
/obj/item/reagent_containers/spray/pestspray
)
@@ -273,7 +274,7 @@
storage_slots = 6
use_item_overlays = TRUE
can_hold = list(
- "/obj/item/soulstone"
+ /obj/item/soulstone
)
/obj/item/storage/belt/soulstone/full/populate_contents()
@@ -290,7 +291,7 @@
materials = list(MAT_GOLD=400)
storage_slots = TRUE
can_hold = list(
- "/obj/item/clothing/mask/luchador"
+ /obj/item/clothing/mask/luchador
)
/obj/item/storage/belt/military
@@ -403,6 +404,7 @@
/obj/item/soap,
/obj/item/holosign_creator,
/obj/item/melee/flyswatter,
+ /obj/item/storage/bag/trash
)
/obj/item/storage/belt/janitor/full/populate_contents()
diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm
index 416a29c7e74..112bb528864 100644
--- a/code/game/objects/items/weapons/storage/fancy.dm
+++ b/code/game/objects/items/weapons/storage/fancy.dm
@@ -165,6 +165,7 @@
icon = 'icons/obj/cigarettes.dmi'
icon_state = "cigpacket"
item_state = "cigpacket"
+ belt_icon = "patch_pack"
w_class = WEIGHT_CLASS_SMALL
throwforce = 2
slot_flags = SLOT_BELT
diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm
index a1fa336212e..bec27a42a6d 100644
--- a/code/game/objects/items/weapons/storage/firstaid.dm
+++ b/code/game/objects/items/weapons/storage/firstaid.dm
@@ -223,6 +223,7 @@
icon_state = "pill_canister"
icon = 'icons/obj/chemical.dmi'
item_state = "contsolid"
+ belt_icon = "pill_bottle"
w_class = WEIGHT_CLASS_SMALL
can_hold = list(/obj/item/reagent_containers/food/pill)
cant_hold = list(/obj/item/reagent_containers/food/pill/patch)
@@ -305,6 +306,7 @@
name = "patch pack"
desc = "It's a container for storing medical patches."
icon_state = "patch_pack"
+ belt_icon = "patch_pack"
can_hold = list(/obj/item/reagent_containers/food/pill/patch)
cant_hold = list()
rapid_intake_message = "flips the lid of the patch pack open and begins rapidly stamping patches on themselves!"
diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index 8d4b92b6154..e6b211bc47c 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -4,6 +4,7 @@
icon_state = "stunbaton"
var/base_icon = "stunbaton"
item_state = "baton"
+ belt_icon = "stunbaton"
slot_flags = SLOT_BELT
force = 10
throwforce = 7
diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm
index fa91c03336d..2f323b426d4 100644
--- a/code/modules/hydroponics/hydroitemdefines.dm
+++ b/code/modules/hydroponics/hydroitemdefines.dm
@@ -20,6 +20,7 @@
icon = 'icons/obj/hydroponics/equipment.dmi'
icon_state = "weedspray"
item_state = "plantbgone"
+ belt_icon = null
volume = 100
container_type = OPENCONTAINER
slot_flags = SLOT_BELT
@@ -39,6 +40,7 @@
icon = 'icons/obj/hydroponics/equipment.dmi'
icon_state = "pestspray"
item_state = "plantbgone"
+ belt_icon = null
volume = 100
container_type = OPENCONTAINER
slot_flags = SLOT_BELT
@@ -57,6 +59,7 @@
desc = "It's used for removing weeds or scratching your back."
icon_state = "cultivator"
item_state = "cultivator"
+ belt_icon = "cultivator"
origin_tech = "engineering=2;biotech=2"
flags = CONDUCT
force = 5
@@ -81,6 +84,7 @@
desc = "A very sharp axe blade upon a short fibremetal handle. It has a long history of chopping things, but now it is used for chopping wood."
icon_state = "hatchet"
item_state = "hatchet"
+ belt_icon = "hatchet"
flags = CONDUCT
force = 12
w_class = WEIGHT_CLASS_TINY
diff --git a/code/modules/mining/equipment/mining_tools.dm b/code/modules/mining/equipment/mining_tools.dm
index dc25972ddaa..f5d5d9f68bd 100644
--- a/code/modules/mining/equipment/mining_tools.dm
+++ b/code/modules/mining/equipment/mining_tools.dm
@@ -143,6 +143,7 @@
desc = "A small tool for digging and moving dirt."
icon_state = "spade"
item_state = "spade"
+ belt_icon = "spade"
force = 5
throwforce = 7
w_class = WEIGHT_CLASS_SMALL
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index e20313bd603..b35bf7bbba5 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -484,6 +484,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain
icon = 'icons/obj/power.dmi'
icon_state = "coil"
item_state = "coil_red"
+ belt_icon = "cable_coil"
amount = MAXCOIL
max_amount = MAXCOIL
merge_type = /obj/item/stack/cable_coil // This is here to let its children merge between themselves
diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm
index 5e0f6ffcf09..408c86a2d3f 100644
--- a/code/modules/projectiles/guns/magic/wand.dm
+++ b/code/modules/projectiles/guns/magic/wand.dm
@@ -4,6 +4,7 @@
ammo_type = /obj/item/ammo_casing/magic
icon_state = "nothingwand"
item_state = "wand"
+ belt_icon = "wand_nothing"
w_class = WEIGHT_CLASS_SMALL
can_charge = 0
max_charges = 100 //100, 50, 50, 34 (max charge distribution by 25%ths)
@@ -63,6 +64,7 @@
fire_sound = 'sound/magic/wandodeath.ogg'
ammo_type = /obj/item/ammo_casing/magic/death
icon_state = "deathwand"
+ belt_icon = "wand_death"
max_charges = 3 //3, 2, 2, 1
/obj/item/gun/magic/wand/death/zap_self(mob/living/user)
@@ -88,6 +90,7 @@
ammo_type = /obj/item/ammo_casing/magic/heal
fire_sound = 'sound/magic/staff_healing.ogg'
icon_state = "revivewand"
+ belt_icon = "wand_revive"
max_charges = 3 //3, 2, 2, 1
/obj/item/gun/magic/wand/resurrection/zap_self(mob/living/user)
@@ -111,6 +114,7 @@
ammo_type = /obj/item/ammo_casing/magic/change
fire_sound = 'sound/magic/staff_change.ogg'
icon_state = "polywand"
+ belt_icon = "wand_polymorph"
max_charges = 10 //10, 5, 5, 4
/obj/item/gun/magic/wand/polymorph/zap_self(mob/living/user)
@@ -127,6 +131,7 @@
desc = "This wand will wrench targets through space and time to move them somewhere else."
ammo_type = /obj/item/ammo_casing/magic/teleport
icon_state = "telewand"
+ belt_icon = "wand_tele"
max_charges = 10 //10, 5, 5, 4
no_den_usage = TRUE
fire_sound = 'sound/magic/wand_teleport.ogg'
@@ -149,6 +154,7 @@
ammo_type = /obj/item/ammo_casing/magic/door
fire_sound = 'sound/magic/staff_door.ogg'
icon_state = "doorwand"
+ belt_icon = "wand_door"
max_charges = 20 //20, 10, 10, 7
no_den_usage = TRUE
@@ -167,6 +173,7 @@
fire_sound = 'sound/magic/fireball.ogg'
ammo_type = /obj/item/ammo_casing/magic/fireball
icon_state = "firewand"
+ belt_icon = "wand_fireball"
max_charges = 8 //8, 4, 4, 3
/obj/item/gun/magic/wand/fireball/zap_self(mob/living/user)
diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm
index d3023b9d1ff..cd88337b295 100644
--- a/code/modules/reagents/reagent_containers/dropper.dm
+++ b/code/modules/reagents/reagent_containers/dropper.dm
@@ -7,6 +7,7 @@
desc = "A dropper. Transfers 5 units."
icon_state = "dropper"
item_state = "dropper"
+ belt_icon = "dropper"
amount_per_transfer_from_this = 5
possible_transfer_amounts = list(1, 2, 3, 4, 5)
volume = 5
diff --git a/code/modules/reagents/reagent_containers/glass_containers.dm b/code/modules/reagents/reagent_containers/glass_containers.dm
index 723a7cb591e..5c64a4782ba 100644
--- a/code/modules/reagents/reagent_containers/glass_containers.dm
+++ b/code/modules/reagents/reagent_containers/glass_containers.dm
@@ -119,6 +119,7 @@
icon = 'icons/obj/chemical.dmi'
icon_state = "beaker"
item_state = "beaker"
+ belt_icon = "beaker"
materials = list(MAT_GLASS=500)
var/obj/item/assembly_holder/assembly = null
var/can_assembly = 1
@@ -226,6 +227,7 @@
name = "vial"
desc = "A small glass vial. Can hold up to 25 units."
icon_state = "vial"
+ belt_icon = "vial"
materials = list(MAT_GLASS=250)
volume = 25
amount_per_transfer_from_this = 10
diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm
index d9929bfa51d..0a99cb2561a 100644
--- a/code/modules/reagents/reagent_containers/hypospray.dm
+++ b/code/modules/reagents/reagent_containers/hypospray.dm
@@ -8,6 +8,7 @@
icon = 'icons/obj/hypo.dmi'
item_state = "hypo"
icon_state = "hypo"
+ belt_icon = "hypospray"
amount_per_transfer_from_this = 5
volume = 30
possible_transfer_amounts = list(1,2,3,4,5,10,15,20,25,30)
@@ -101,6 +102,7 @@
desc = "A rapid and safe way to stabilize patients in critical condition for personnel without advanced medical knowledge."
icon_state = "autoinjector"
item_state = "autoinjector"
+ belt_icon = "autoinjector"
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(10)
volume = 10
diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm
index 02e797900b9..21a6fa1bc25 100644
--- a/code/modules/reagents/reagent_containers/spray.dm
+++ b/code/modules/reagents/reagent_containers/spray.dm
@@ -4,6 +4,7 @@
icon = 'icons/obj/janitor.dmi'
icon_state = "cleaner"
item_state = "cleaner"
+ belt_icon = "space_cleaner"
flags = NOBLUDGEON
container_type = OPENCONTAINER
slot_flags = SLOT_BELT
@@ -150,6 +151,7 @@
icon = 'icons/obj/items.dmi'
icon_state = "pepperspray"
item_state = "pepperspray"
+ belt_icon = null
volume = 40
spray_maxrange = 4
amount_per_transfer_from_this = 5
@@ -162,6 +164,7 @@
icon = 'icons/obj/hydroponics/harvest.dmi'
icon_state = "sunflower"
item_state = "sunflower"
+ belt_icon = null
amount_per_transfer_from_this = 1
volume = 10
list_reagents = list("water" = 10)
@@ -235,5 +238,6 @@
icon = 'icons/obj/hydroponics/equipment.dmi'
icon_state = "plantbgone"
item_state = "plantbgone"
+ belt_icon = null
volume = 100
list_reagents = list("glyphosate" = 100)
diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm
index 6e0f4277bde..b5e29bca1d8 100644
--- a/code/modules/reagents/reagent_containers/syringes.dm
+++ b/code/modules/reagents/reagent_containers/syringes.dm
@@ -8,6 +8,7 @@
icon = 'icons/goonstation/objects/syringe.dmi'
item_state = "syringe_0"
icon_state = "0"
+ belt_icon = "syringe"
amount_per_transfer_from_this = 5
possible_transfer_amounts = list()
volume = 15
diff --git a/icons/obj/clothing/belts.dmi b/icons/obj/clothing/belts.dmi
index c375eda171196bdc8f334a225d0eff9f42e92752..09f8a6cc74813faa602bfca10eb7dc51c9f334a4 100644
GIT binary patch
literal 21075
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
Z8YnxV*oiAC1Di!cM*3IvigoP5{|6_Yo|XUr
literal 19271
zcmb@uWmHws*EhNk-QC??(nzNuNOvO*A|Ob|p+rDRS{kIJOGFxhL!;8&oriAj_WwLL
z#(2kl?)%|>*n@r6UVE)I*Pd(EZ%(2#)n8y^P+$N6fUTmepbY>JnSU1=3fMA|Q1lG|
z5W4(y4LucXJ*?k3x_LUfz6AiEtd!J|cMHN;u(1}65S6NV^@Bwhzgcug-sY~q@^d|BPA1pC!?<+UFjP2+RM74EBj!S2`?7S>79Bp1+wH|-kVxc`
zgz1V;%d#&~A!llj2`9n5chY-maG|QVt(57Y@9`)>7JoJGz$yYnreRYC|N2
zYPL}>n@}zT5%2sH-_umHD<6EUL@3V3pyKOe&iD5_AY0TSl-5E#BKd@UU8=w>LHLE$
zr3SB8^!ox`#7u$47eV)!;G*`BoWL5AW6Wnmrh+HkvmBlWJ$yWR%wE{fplR=F#H=ie
zCBB^LN(nzxLj2S})D(>w*h}`UDhXL%H#B-=yPckj0
zR()kuYy#9-==JSv>N>mjjID8AzU5~e*_^O~A*st5B^t3mw@^RoAyNCZlXleUUor4*a<8^`|2Fhh#;n
z?Jzm(_is+t_aB~b#?5f(?+clkS515RwwaG_BKyBeGdKVn>cEDP(G8Z$?0OpO<66}UFPdZ{XfjJuDBmaXLzI8b%%dX-ktAo
zq}I_sADehDl&uuZOv21P?YLoD6pfXMa{CSA|`ejF3e7}(7t!;=l+;>hts&p}{N4AmyW!YBwuR@f+^dmX~Yx``ti
zjf{z;aZH5%DuEHdNcos4!Q3lp(WZXvIDX^}%TVfU>a0!2@wBtW?6A~Wfc?CGheqaV
zU0t0F9@1)j|5qs>ln$+o4nlym+LQpGhn|=yLy=^!xtU}_>F!Ag=w$JNV!Fr0sU-ab
z5urbRh&l*TRG2iyoq1wKYrxstU13kVyOhd{2{SwJ?A}81m7PC@MlLSgp3kWPnZiGG
zl9JiJ{3yL8*F?)#>+v@~4GLl2$noe2!KXq(LNni8C`ip7SFN!5h!F0&kh)oW
z9g~~E#*vwI=M5iu+l1_JvjGv@tHuTAZYPr7vKJb6AP8i5Ow);5RU(Y%OGX~uqTIDR;{csygLNB=xHW(NyUz@d
zYxXSs=6(R5-RIUL{PFmqQI)BE7b6o);NNgj;6r}`Pb275j>K=Dj&^VWlRn&sDtI05
z3wVd`DOr_PK-%hN(^ebD!TtDo(5Sy!7>|oQr44jyMbX#Q8~ag6e4+};j3BQPH`w~&
zRy!ctmHRPiSw#JkndPyueQBuup8auDS}*-79R)aC4e
zokB=3;YA}w+S&Pad}v`2ee4gH@6Zt#k6ad6^B1_wzm6q+>IweFcUcN3W-0t%(Tq?2Xqhk?tRiX6PLkvk?`mp>r-j0sGru)s5
z=a2CMJi>cv@oOT-*Jg7cy4?`KQ7kXNqP-b$j2Lho3(Y@3bqHE8GI)uih|36!ufXgn
z=Phjre$_SFYM%40fh+G6$*81vVrVEFMudLNi0|mz4)zUXZr9B~?R5=;Z$Ac7U-j^h
zAH6na&)c!;>Hlh4f3I%wM^5O#y!6B3eBKh+!sbV|&o4v1bSr1;&GBgmOY_?>jC5VZ
zZi|^EXe&I1?I)~7hlWk6H;v(Om(#d>J}HOd?b}C`MjDinc=3D+FJ3`bFXM^EW!6JY
zXyJ=^yXVo$uVthZNa
z=Z))Z9Wx*}s7)#LcpvC~Qgm%XBe`{9VGbUM2Qew$njlBV3V$~msIX7Ky&iyfj))LV
zqZIJH7W@0*;IHpyR9lY^CPxtbyX_uR;<#hPl~`QC9G{9_*I|*IHJyNHUY7uR@D%ma
z(98|)Sy;)3oArRU3l|4US0q9@Ry
zbwnU3cmJl6;jZG2%0gTL06JdK4MsxzCKSXZdaBB(*5Ui}MyoSOfBD%~!D1)Mm
zQ&bX-|LxRr-Xu+(pD;@0B_5^7zUvV!u`Hefs?63_La)B!-MtBv@0#bo5i9a{h3ELd%$Tw@5
zuS_Ks4qIQt!U8Zbh
^`zFbT@zmB7Q8fl;R;Gp3JrTvVmT{
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