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 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