Belts & Trashbags (#7443)

requires #6644 

Entirely replaces how (most) belts perform insertion checks.

This pretty much allows belts to hold most things.

Armor vests are next.

Trashbags will also use the systems we use on main.

Closes #7256 and #7435

---------

Co-authored-by: silicons <silicons@silicons.dev>
This commit is contained in:
silicons
2025-12-28 22:05:06 -05:00
committed by GitHub
co-authored by silicons
parent 7707f9e881
commit 30fbcfe9b4
124 changed files with 1176 additions and 1086 deletions
@@ -10,6 +10,7 @@
item_state = "autopsy_scanner"
w_class = WEIGHT_CLASS_SMALL
origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1)
belt_storage_class = BELT_CLASS_SMALL
var/list/datum/autopsy_data_scanner/wdata = list()
var/list/datum/autopsy_data_scanner/chemtraces = list()
var/target_name = null
@@ -5,6 +5,7 @@
icon_state = "tape"
w_class = WEIGHT_CLASS_SMALL
suit_storage_class = SUIT_STORAGE_CLASS_SOFTWEAR | SUIT_STORAGE_CLASS_HARDWEAR
belt_storage_class = BELT_CLASS_SMALL
tool_speed = 3 //You can use it in surgery. It's stupid, but you can.
@@ -587,6 +587,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
w_class = WEIGHT_CLASS_TINY
throw_force = 4
suit_storage_class = SUIT_STORAGE_CLASS_SOFTWEAR
belt_storage_class = BELT_CLASS_SMALL
slot_flags = SLOT_BELT
attack_verb = list("burnt", "singed")
var/base_state
@@ -5,6 +5,7 @@
icon_state = "taperoll"
damage_force = 0
w_class = WEIGHT_CLASS_TINY
belt_storage_class = BELT_CLASS_SMALL
drop_sound = 'sound/items/drop/cardboardbox.ogg'
pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
var/amount = 20
@@ -37,6 +37,7 @@
spray_particles = 3
sprite_name = "miniFE"
suit_storage_class = SUIT_STORAGE_CLASS_SOFTWEAR
belt_storage_class = BELT_CLASS_MEDIUM
/obj/item/extinguisher/mini/plasman
name = "emergency phoronoid extinguisher"
@@ -8,6 +8,7 @@
worn_render_flags = WORN_RENDER_SLOT_ONE_FOR_ALL
slot_flags = SLOT_BELT
suit_storage_class = SUIT_STORAGE_CLASS_SOFTWEAR | SUIT_STORAGE_CLASS_HARDWEAR
belt_storage_class = BELT_CLASS_SMALL
throw_force = 5
w_class = WEIGHT_CLASS_SMALL
throw_speed = 2
@@ -8,6 +8,7 @@
attack_verb = list("patted", "tapped")
force_multiplier = 0.1
throw_force_multiplier = 1.5
belt_storage_class = BELT_CLASS_SMALL
drop_sound = 'sound/items/drop/knife.ogg'
pickup_sound = 'sound/items/pickup/knife.ogg'
var/active = FALSE
@@ -75,6 +76,7 @@
suit_storage_class = SUIT_STORAGE_CLASS_SOFTWEAR | SUIT_STORAGE_CLASS_HARDWEAR
damage_mode = DAMAGE_MODE_SHARP | DAMAGE_MODE_EDGE
material_significance = MATERIAL_SIGNIFICANCE_WEAPON_LIGHT
belt_storage_class = BELT_CLASS_MEDIUM
materials_base = list(MAT_STEEL = 12000)
origin_tech = list(TECH_MATERIAL = 1)
attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
@@ -22,6 +22,7 @@
material_significance = MATERIAL_SIGNIFICANCE_WEAPON_HEAVY
damage_mode = DAMAGE_MODE_SHARP | DAMAGE_MODE_EDGE
w_class = WEIGHT_CLASS_SMALL
belt_storage_class = BELT_CLASS_MEDIUM
origin_tech = list(TECH_MATERIAL = 2, TECH_COMBAT = 1)
attack_verb = list("chopped", "torn", "cut")
material_color = 0
@@ -80,6 +81,7 @@
w_class = WEIGHT_CLASS_SMALL
attack_verb = list("slashed", "sliced", "cut", "clawed")
suit_storage_class = SUIT_STORAGE_CLASS_SOFTWEAR | SUIT_STORAGE_CLASS_HARDWEAR
belt_storage_class = BELT_CLASS_SMALL
/obj/item/material/minihoe/plasteel
material_parts = /datum/prototype/material/plasteel
@@ -12,6 +12,7 @@
throw_force = 7
atom_flags = NOCONDUCT
w_class = WEIGHT_CLASS_NORMAL
belt_storage_class = BELT_CLASS_LARGE
drop_sound = 'sound/items/drop/metalweapon.ogg'
pickup_sound = 'sound/items/pickup/metalweapon.ogg'
origin_tech = list(TECH_COMBAT = 2)
@@ -15,6 +15,7 @@
w_class = WEIGHT_CLASS_SMALL
item_flags = ITEM_CAREFUL_BLUDGEON | ITEM_ENCUMBERS_WHILE_HELD
suit_storage_class = SUIT_STORAGE_CLASS_SOFTWEAR
belt_storage_class = BELT_CLASS_SMALL
var/helpforce = 0 //For help intent things
drop_sound = 'sound/items/drop/weldingtool.ogg'
pickup_sound = 'sound/items/pickup/weldingtool.ogg'
@@ -65,6 +66,7 @@
w_class = WEIGHT_CLASS_NORMAL
origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1)
attack_verb = list("drilled")
belt_storage_class = BELT_CLASS_MEDIUM
/*
* Scalpel
@@ -139,6 +141,7 @@
materials_base = list(MAT_STEEL = 20000, MAT_GLASS = 10000)
attack_verb = list("attacked", "slashed", "sawed", "cut")
damage_mode = DAMAGE_MODE_SHARP | DAMAGE_MODE_EDGE
belt_storage_class = BELT_CLASS_MEDIUM
/obj/item/surgical/circular_saw/manager
name = "energetic bone diverter"