From eeb980f1910590b17217d85c9a42edec92651d9b Mon Sep 17 00:00:00 2001 From: CRUNCH <143041327+CRUNCH-Borg@users.noreply.github.com> Date: Thu, 25 Dec 2025 21:03:22 +0000 Subject: [PATCH] Adds Reycleable Materials to a Bunch of Objects (#31320) * recycle * moar * Update glass_containers.dm * Update spray.dm * cost adjustment because sheets are 2000, not 1000 * Update hydroitemdefines.dm * Update hydroitemdefines.dm --- code/game/objects/items/ashtray.dm | 7 +++++-- code/game/objects/items/caution.dm | 1 + code/game/objects/items/storage/firstaid.dm | 4 +++- code/game/objects/items/trash.dm | 6 ++++++ code/game/objects/items/weapons/dice.dm | 1 + code/game/objects/items/weapons/kitchen.dm | 21 ++++++++++++++----- code/game/objects/items/weapons/shields.dm | 2 +- .../objects/items/weapons/storage/bags.dm | 1 + code/game/objects/items/weapons/weaponry.dm | 1 + code/modules/clothing/head/misc_hats.dm | 1 + code/modules/cooking/cooking_container.dm | 2 +- .../food_and_drinks/drinks/drinks/cans.dm | 1 + .../food_and_drinks/drinks/drinks/mugs.dm | 1 + .../food_and_drinks/food/foods/seafood.dm | 1 + .../hydroponics/beekeeping/honey_frame.dm | 1 + code/modules/hydroponics/hydroitemdefines.dm | 1 + .../reagent_containers/glass_containers.dm | 5 ++++- .../reagents/reagent_containers/iv_bag.dm | 1 + .../reagents/reagent_containers/spray.dm | 1 + 19 files changed, 48 insertions(+), 11 deletions(-) diff --git a/code/game/objects/items/ashtray.dm b/code/game/objects/items/ashtray.dm index 38774a8a1ce..e9db8451217 100644 --- a/code/game/objects/items/ashtray.dm +++ b/code/game/objects/items/ashtray.dm @@ -74,8 +74,9 @@ icon_full = "ashtray_full_bl" max_butts = 8 max_integrity = 8 - material = /obj/item/stack/sheet/plastic throwforce = 3 + material = /obj/item/stack/sheet/plastic + materials = list(MAT_PLASTIC = 2000) /obj/item/ashtray/bronze name = "bronze ashtray" @@ -86,6 +87,7 @@ max_butts = 16 max_integrity = 16 throwforce = 10 + materials = list(MAT_METAL = 2000) /obj/item/ashtray/glass name = "glass ashtray" @@ -95,5 +97,6 @@ icon_full = "ashtray_full_gl" max_butts = 12 max_integrity = 12 - material = /obj/item/stack/sheet/glass throwforce = 6 + material = /obj/item/stack/sheet/glass + materials = list(MAT_GLASS = 2000) diff --git a/code/game/objects/items/caution.dm b/code/game/objects/items/caution.dm index 8fd26651354..88a4595ab30 100644 --- a/code/game/objects/items/caution.dm +++ b/code/game/objects/items/caution.dm @@ -11,6 +11,7 @@ throw_range = 5 w_class = WEIGHT_CLASS_SMALL attack_verb = list("warned", "cautioned", "smashed") + materials = list(MAT_PLASTIC = 4000) /obj/item/caution/proximity_sign var/timing = FALSE diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm index a853338d66d..57867177153 100644 --- a/code/game/objects/items/storage/firstaid.dm +++ b/code/game/objects/items/storage/firstaid.dm @@ -13,7 +13,8 @@ desc = "If you can see this, make a bug report on GitHub, something went wrong!" icon_state = "firstaid_generic" throw_range = 8 - req_one_access =list(ACCESS_MEDICAL, ACCESS_ROBOTICS) //Access and treatment are utilized for medbots. + req_one_access = list(ACCESS_MEDICAL, ACCESS_ROBOTICS) //Access and treatment are utilized for medbots. + materials = list(MAT_PLASTIC = 8000) var/treatment_brute = "salglu_solution" var/treatment_oxy = "salbutamol" var/treatment_fire = "salglu_solution" @@ -269,6 +270,7 @@ storage_slots = 50 max_combined_w_class = 50 display_contents_with_number = TRUE + materials = list(MAT_PLASTIC = 2000) var/base_name = "" var/label_text = "" var/applying_meds = FALSE //To Prevent spam clicking and generating runtimes from apply a deleting pill multiple times. diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm index 550a4133f3d..8845025fdbc 100644 --- a/code/game/objects/items/trash.dm +++ b/code/game/objects/items/trash.dm @@ -7,6 +7,8 @@ w_class = WEIGHT_CLASS_TINY desc = "This is rubbish." resistance_flags = FLAMMABLE + // Recycle your litter, kids! + materials = list(MAT_PLASTIC = 100) /obj/item/trash/decompile_act(obj/item/matter_decompiler/C, mob/user) if(isdrone(user)) @@ -104,6 +106,7 @@ name = "Tray" icon_state = "tray" resistance_flags = NONE + materials = list(MAT_METAL = 100) /obj/item/trash/candle name = "candle" @@ -120,6 +123,7 @@ var/is_glass = 0 var/is_plastic = 0 resistance_flags = NONE + materials = list(MAT_METAL = 200) /obj/item/trash/gum name = "chewed gum" @@ -145,6 +149,7 @@ name = "caviar can" icon_state = "caviar-empty" desc = "There's none left." + materials = list(MAT_METAL = 100) // Ammo casings /obj/item/trash/spentcasing @@ -153,6 +158,7 @@ desc = "If you can see this and didn't spawn it, make an issue report on GitHub." icon_state = "pistol_brass" scatter_distance = 10 + materials = list(MAT_METAL = 100) /obj/item/trash/spentcasing/Initialize(mapload) . = ..() diff --git a/code/game/objects/items/weapons/dice.dm b/code/game/objects/items/weapons/dice.dm index 3aedbc6946e..4b28c97a039 100644 --- a/code/game/objects/items/weapons/dice.dm +++ b/code/game/objects/items/weapons/dice.dm @@ -39,6 +39,7 @@ icon = 'icons/obj/dice.dmi' icon_state = "d6" w_class = WEIGHT_CLASS_TINY + materials = list(MAT_PLASTIC = 200) var/sides = 6 var/result = null diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm index 559777412a8..e476fd423ee 100644 --- a/code/game/objects/items/weapons/kitchen.dm +++ b/code/game/objects/items/weapons/kitchen.dm @@ -13,13 +13,17 @@ */ /obj/item/kitchen + name = "base type kitchen item" + desc = ABSTRACT_TYPE_DESC icon = 'icons/obj/kitchen.dmi' origin_tech = "materials=1" + materials = list(MAT_METAL = 100) /* * Utensils */ /obj/item/kitchen/utensil + name = "base type kitchen utensil" lefthand_file = 'icons/mob/inhands/utensil_lefthand.dmi' righthand_file = 'icons/mob/inhands/utensil_righthand.dmi' force = 5.0 @@ -70,6 +74,7 @@ desc = "Yay, no washing up to do." icon_state = "pfork" flags = NONE + materials = list(MAT_PLASTIC = 2000) /obj/item/kitchen/utensil/spoon name = "spoon" @@ -83,6 +88,7 @@ icon_state = "pspoon" attack_verb = list("attacked", "poked") flags = NONE + materials = list(MAT_PLASTIC = 2000) /obj/item/kitchen/utensil/spork name = "spork" @@ -96,6 +102,7 @@ icon_state = "pspork" attack_verb = list("attacked", "sporked") flags = NONE + materials = list(MAT_PLASTIC = 2000) /* * Knives @@ -113,7 +120,7 @@ hitsound = 'sound/weapons/bladeslice.ogg' throw_speed = 3 throw_range = 6 - materials = list(MAT_METAL=12000) + materials = list(MAT_METAL = 12000) attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") sharp = TRUE armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 50, ACID = 50) @@ -137,6 +144,7 @@ icon_state = "pknife" sharp = FALSE flags = NONE + materials = list(MAT_PLASTIC = 2000) /obj/item/kitchen/knife/ritual name = "ritual knife" @@ -151,6 +159,7 @@ icon = 'icons/obj/weapons/melee.dmi' icon_state = "glass_shiv" flags = NONE + materials = list(MAT_METAL = 100, MAT_GLASS = 2000) /obj/item/kitchen/knife/shiv/carrot name = "carrot shiv" @@ -163,6 +172,7 @@ origin_tech = "biotech=3;combat=2" attack_verb = list("shanked", "shivved") armor = null + materials = list() /obj/item/kitchen/knife/butcher name = "butcher's cleaver" @@ -172,6 +182,7 @@ throwforce = 8 attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") w_class = WEIGHT_CLASS_NORMAL + materials = list(MAT_METAL = 18000) /obj/item/kitchen/knife/butcher/meatcleaver name = "meat cleaver" @@ -224,7 +235,6 @@ icon_state = "knife-cheese" materials = list(MAT_METAL = 4000) force = 3 - materials = list(MAT_METAL = 4000) /obj/item/kitchen/knife/pizza_cutter name = "pizza cutter" @@ -232,7 +242,6 @@ icon_state = "pizza_cutter" materials = list(MAT_METAL = 10000) force = 8 - materials = list(MAT_METAL = 10000) /* * Rolling Pins @@ -242,10 +251,11 @@ name = "rolling pin" desc = "Used to knock out the Bartender." icon_state = "rolling_pin" - force = 8.0 - throwforce = 10.0 + force = 8 + throwforce = 10 throw_speed = 3 attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") + materials = list(MAT_WOOD = 10000) /* Trays moved to /obj/item/storage/bag */ @@ -263,6 +273,7 @@ throw_speed = 3 throw_range = 3 attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "smashed") + materials = list(MAT_PLASTIC = 2000) /obj/item/reagent_containers/cooking/mould/make_mini() transform *= 0.5 diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index a60855b026b..fbc93503439 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -58,7 +58,7 @@ name = "wooden buckler" desc = "A medieval wooden buckler." icon_state = "buckler" - materials = list() + materials = list(MAT_WOOD = 20000) origin_tech = "materials=1;combat=3;biotech=2" resistance_flags = FLAMMABLE diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index 7f8e3f0cd73..7691cc7eca7 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -120,6 +120,7 @@ display_contents_with_number = 0 //or else this will lead to stupid behavior. can_hold = list() // any cant_hold = list(/obj/item/disk/nuclear) + materials = list(MAT_PLASTIC = 6000) /obj/item/storage/bag/plasticbag/mob_can_equip(mob/M, slot, disable_warning = FALSE) if(slot == ITEM_SLOT_HEAD && length(contents)) diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index 04f5349675d..2eced9e4e51 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -191,6 +191,7 @@ throwforce = 12 attack_verb = list("beat", "smacked") w_class = WEIGHT_CLASS_HUGE + materials = list(MAT_WOOD = 5000) COOLDOWN_DECLARE(last_deflect) var/deflect_cooldown = 5 MINUTES COOLDOWN_DECLARE(next_throw_time) diff --git a/code/modules/clothing/head/misc_hats.dm b/code/modules/clothing/head/misc_hats.dm index d33cb9623e6..a591d8f1d0f 100644 --- a/code/modules/clothing/head/misc_hats.dm +++ b/code/modules/clothing/head/misc_hats.dm @@ -438,6 +438,7 @@ resistance_flags = NONE dog_fashion = /datum/dog_fashion/head/cone magical = TRUE // It's pointy, it's funny! + materials = list(MAT_PLASTIC = 10000) /obj/item/clothing/head/jester name = "jester hat" diff --git a/code/modules/cooking/cooking_container.dm b/code/modules/cooking/cooking_container.dm index faafff57cdd..b53a6175710 100644 --- a/code/modules/cooking/cooking_container.dm +++ b/code/modules/cooking/cooking_container.dm @@ -313,7 +313,7 @@ icon_state = "cutting_board" inhand_icon_state = "clipboard" // huh preposition = "On" - materials = list(MAT_WOOD = 5) + materials = list(MAT_WOOD = 10000) /obj/item/reagent_containers/cooking/sushimat name = "Sushi Mat" diff --git a/code/modules/food_and_drinks/drinks/drinks/cans.dm b/code/modules/food_and_drinks/drinks/drinks/cans.dm index 78523aea29d..86b70f93b33 100644 --- a/code/modules/food_and_drinks/drinks/drinks/cans.dm +++ b/code/modules/food_and_drinks/drinks/drinks/cans.dm @@ -7,6 +7,7 @@ var/can_shake = TRUE var/can_burst = FALSE var/burst_chance = 0 + materials = list(MAT_METAL = 200) /obj/item/reagent_containers/drinks/cans/examine(mob/user) . = ..() diff --git a/code/modules/food_and_drinks/drinks/drinks/mugs.dm b/code/modules/food_and_drinks/drinks/drinks/mugs.dm index a921487a5eb..2c949a5ce00 100644 --- a/code/modules/food_and_drinks/drinks/drinks/mugs.dm +++ b/code/modules/food_and_drinks/drinks/drinks/mugs.dm @@ -176,3 +176,4 @@ desc = "This is a tower-cap cup. All craftsdwarfship is... passable." icon_state = "mug_wood" preset = TRUE + materials = list(MAT_WOOD = 2000) diff --git a/code/modules/food_and_drinks/food/foods/seafood.dm b/code/modules/food_and_drinks/food/foods/seafood.dm index de471e9c397..7522a5f3256 100644 --- a/code/modules/food_and_drinks/food/foods/seafood.dm +++ b/code/modules/food_and_drinks/food/foods/seafood.dm @@ -386,3 +386,4 @@ trash = /obj/item/trash/caviar list_reagents = list("protein" = 5) tastes = list("fish" = 2, "high society" = 1) + materials = list(MAT_METAL = 100) diff --git a/code/modules/hydroponics/beekeeping/honey_frame.dm b/code/modules/hydroponics/beekeeping/honey_frame.dm index 1be5a9c859b..b42b9d193a8 100644 --- a/code/modules/hydroponics/beekeeping/honey_frame.dm +++ b/code/modules/hydroponics/beekeeping/honey_frame.dm @@ -4,4 +4,5 @@ desc = "A scaffold for bees to build honeycomb on." icon = 'icons/obj/hydroponics/equipment.dmi' icon_state = "honey_frame" + materials = list(MAT_WOOD = 10000) var/honeycomb_capacity = 10 //10 Honeycomb per frame by default, researchable frames perhaps? diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index cc8eb8fda4f..3f3fe9bdf5e 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -103,6 +103,7 @@ materials = null flags = NONE resistance_flags = FLAMMABLE + materials = list(MAT_WOOD = 10000) /obj/item/hatchet name = "hatchet" diff --git a/code/modules/reagents/reagent_containers/glass_containers.dm b/code/modules/reagents/reagent_containers/glass_containers.dm index b3a223dd132..9de629a6acc 100644 --- a/code/modules/reagents/reagent_containers/glass_containers.dm +++ b/code/modules/reagents/reagent_containers/glass_containers.dm @@ -254,6 +254,7 @@ possible_transfer_amounts = null volume = 10 can_assembly = 0 + materials = list(MAT_PLASTIC = 50) /obj/item/reagent_containers/glass/beaker/noreact name = "cryostasis beaker" @@ -319,6 +320,7 @@ materials = null armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 0, ACID = 50) resistance_flags = FLAMMABLE + materials = list(MAT_WOOD = 6000) /obj/item/reagent_containers/glass/bucket/equipped(mob/user, slot) ..() @@ -348,7 +350,7 @@ icon_state = "smallbottle" inhand_icon_state = "bottle" list_reagents = list("water" = 49.5, "fluorine" = 0.5) //see desc, don't think about it too hard - materials = list() + materials = list(MAT_PLASTIC = 500) /obj/item/reagent_containers/glass/beaker/waterbottle/empty list_reagents = list() @@ -360,6 +362,7 @@ list_reagents = list("water" = 100) volume = 100 amount_per_transfer_from_this = 20 + materials = list(MAT_PLASTIC = 1000) /obj/item/reagent_containers/glass/beaker/waterbottle/large/empty list_reagents = list() diff --git a/code/modules/reagents/reagent_containers/iv_bag.dm b/code/modules/reagents/reagent_containers/iv_bag.dm index 147bbe2b984..bb38f2f9351 100644 --- a/code/modules/reagents/reagent_containers/iv_bag.dm +++ b/code/modules/reagents/reagent_containers/iv_bag.dm @@ -13,6 +13,7 @@ amount_per_transfer_from_this = 1 container_type = OPENCONTAINER resistance_flags = ACID_PROOF + materials = list(MAT_PLASTIC = 4000) var/label_text var/mode = IV_INJECT var/mob/living/carbon/human/injection_target diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 7480f128330..af2b9aba16d 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -9,6 +9,7 @@ slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL throw_speed = 3 + materials = list(MAT_PLASTIC = 12000) // TRUE if spray amount and range can be toggled via `attack_self()`. var/adjustable = TRUE var/adjust_action = "turn the nozzle"