mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 20:48:56 +01:00
Unit test material checks are now performed on all crafting recipes by default. All stack recipes now transfer mats to the results (#92620)
## About The Pull Request Extends the part of the crafting unit test that ensures consistency between the total mats of the components of a recipe (or rather, the result of said recipe) and a generic instance of the same type as its result, previously only implemented on food recipes. ## Why It's Good For The Game This ensures a degree of consistency with the material composition of various objects in the game. I couldn't do it in the original PR as that one was too big already and it took months to get it merged, and have the relative bugs fixed. Currently a WIP as I slowly deal with the unit test reports. ## Changelog 🆑 refactor: Follow-up to the crafting/material refactor from months ago. All objects crafted with stacks now inherit their mat composition (not necessarily the effects and color) by default, while previously only a few things like chair, sinks and toilets did. Report any object looking or behaving weirdly as a result. fix: The material composition of ammo boxes is no longer a 1/10 of what it's supposed to be. It was a shitty hack to make it harder to recycle empty ammo boxes. Instead, they lose materials as they're emptied now. /🆑
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
resistance_flags = FLAMMABLE
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
interaction_flags_mouse_drop = NEED_HANDS
|
||||
custom_materials = list(/datum/material/paper = HALF_SHEET_MATERIAL_AMOUNT / 2)
|
||||
|
||||
///How many pages the booklet holds
|
||||
var/number_of_pages = 50
|
||||
@@ -151,6 +152,7 @@
|
||||
icon = 'icons/obj/medical/chemical.dmi'
|
||||
icon_state = "burner"
|
||||
grind_results = list(/datum/reagent/consumable/ethanol = 5, /datum/reagent/silicon = 10)
|
||||
custom_materials = list(/datum/material/paper = HALF_SHEET_MATERIAL_AMOUNT / 2)
|
||||
item_flags = NOBLUDGEON
|
||||
resistance_flags = FLAMMABLE
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
@@ -295,6 +297,7 @@
|
||||
item_flags = NOBLUDGEON
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
grind_results = list(/datum/reagent/mercury = 5)
|
||||
custom_materials = list(/datum/material/glass = SHEET_MATERIAL_AMOUNT)
|
||||
///The reagents datum that this object is attached to, so we know where we are when it's added to something.
|
||||
var/datum/reagents/attached_to_reagents
|
||||
|
||||
@@ -352,6 +355,7 @@
|
||||
|
||||
/obj/item/thermometer/pen
|
||||
color = "#888888"
|
||||
custom_materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 0.1)
|
||||
|
||||
#undef DETAILED_CHEM_OUTPUT
|
||||
#undef SHORTENED_CHEM_OUTPUT
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
icon = 'icons/obj/medical/chemical.dmi'
|
||||
icon_state = "separator"
|
||||
light_power = 1
|
||||
custom_materials = list(/datum/material/glass = SHEET_MATERIAL_AMOUNT * 2, /datum/material/wood = SHEET_MATERIAL_AMOUNT, /datum/material/paper = HALF_SHEET_MATERIAL_AMOUNT / 2)
|
||||
|
||||
///Is the mixture currently boiling
|
||||
var/boiling = FALSE
|
||||
|
||||
@@ -315,7 +315,7 @@
|
||||
righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi'
|
||||
fill_icon_state = "bucket"
|
||||
fill_icon_thresholds = list(50, 90)
|
||||
custom_materials = list(/datum/material/iron=SMALL_MATERIAL_AMOUNT * 2)
|
||||
custom_materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 2)
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
amount_per_transfer_from_this = 20
|
||||
possible_transfer_amounts = list(5,10,15,20,25,30,50,70)
|
||||
@@ -348,7 +348,7 @@
|
||||
name = "wooden bucket"
|
||||
icon_state = "woodbucket"
|
||||
inhand_icon_state = "woodbucket"
|
||||
custom_materials = list(/datum/material/wood = SHEET_MATERIAL_AMOUNT * 2)
|
||||
custom_materials = list(/datum/material/wood = SHEET_MATERIAL_AMOUNT * 3)
|
||||
resistance_flags = FLAMMABLE
|
||||
armor_type = /datum/armor/bucket_wooden
|
||||
|
||||
@@ -403,6 +403,7 @@
|
||||
icon = 'icons/obj/medical/chemical.dmi'
|
||||
icon_state = "pestle"
|
||||
force = 7
|
||||
custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT)
|
||||
|
||||
/obj/item/reagent_containers/cup/mortar
|
||||
name = "mortar"
|
||||
@@ -412,7 +413,7 @@
|
||||
amount_per_transfer_from_this = 10
|
||||
possible_transfer_amounts = list(5, 10, 15, 20, 25, 30, 50, 100)
|
||||
volume = 100
|
||||
custom_materials = list(/datum/material/wood = SHEET_MATERIAL_AMOUNT)
|
||||
custom_materials = list(/datum/material/wood = SHEET_MATERIAL_AMOUNT * 3)
|
||||
resistance_flags = FLAMMABLE
|
||||
initial_reagent_flags = OPENCONTAINER
|
||||
var/obj/item/grinded
|
||||
|
||||
@@ -235,7 +235,7 @@
|
||||
icon_state = "smallbottle"
|
||||
inhand_icon_state = null
|
||||
list_reagents = list(/datum/reagent/water = 49.5, /datum/reagent/fluorine = 0.5)//see desc, don't think about it too hard
|
||||
custom_materials = list(/datum/material/plastic=HALF_SHEET_MATERIAL_AMOUNT)
|
||||
custom_materials = list(/datum/material/plastic = SHEET_MATERIAL_AMOUNT)
|
||||
volume = 50
|
||||
amount_per_transfer_from_this = 10
|
||||
fill_icon_thresholds = list(0, 10, 25, 50, 75, 80, 90)
|
||||
@@ -320,7 +320,7 @@
|
||||
/obj/item/reagent_containers/cup/glass/waterbottle/large
|
||||
desc = "A fresh commercial-sized bottle of water."
|
||||
icon_state = "largebottle"
|
||||
custom_materials = list(/datum/material/plastic=SHEET_MATERIAL_AMOUNT * 1.5)
|
||||
custom_materials = list(/datum/material/plastic = SHEET_MATERIAL_AMOUNT * 3)
|
||||
list_reagents = list(/datum/reagent/water = 100)
|
||||
volume = 100
|
||||
amount_per_transfer_from_this = 10
|
||||
@@ -353,6 +353,7 @@
|
||||
possible_transfer_amounts = list(10)
|
||||
volume = 10
|
||||
isGlass = FALSE
|
||||
custom_materials = list(/datum/material/paper = HALF_SHEET_MATERIAL_AMOUNT)
|
||||
|
||||
/obj/item/reagent_containers/cup/glass/sillycup/update_icon_state()
|
||||
icon_state = reagents.total_volume ? "water_cup" : "water_cup_e"
|
||||
@@ -365,6 +366,7 @@
|
||||
icon_state = "juicebox"
|
||||
volume = 15
|
||||
drink_type = NONE
|
||||
custom_materials = list(/datum/material/cardboard = SHEET_MATERIAL_AMOUNT)
|
||||
|
||||
/obj/item/reagent_containers/cup/glass/bottle/juice/smallcarton/Initialize(mapload, vol)
|
||||
. = ..()
|
||||
@@ -390,7 +392,7 @@
|
||||
icon = 'icons/obj/drinks/colo.dmi'
|
||||
icon_state = "colocup"
|
||||
inhand_icon_state = "colocup"
|
||||
custom_materials = list(/datum/material/plastic =HALF_SHEET_MATERIAL_AMOUNT)
|
||||
custom_materials = list(/datum/material/plastic = HALF_SHEET_MATERIAL_AMOUNT)
|
||||
possible_transfer_amounts = list(5, 10, 15, 20)
|
||||
volume = 20
|
||||
amount_per_transfer_from_this = 5
|
||||
|
||||
@@ -1022,6 +1022,7 @@
|
||||
righthand_file = 'icons/mob/inhands/items/drinks_righthand.dmi'
|
||||
isGlass = FALSE
|
||||
age_restricted = FALSE
|
||||
custom_materials = list(/datum/material/cardboard = SHEET_MATERIAL_AMOUNT * 1.5)
|
||||
|
||||
/obj/item/reagent_containers/cup/glass/bottle/juice/orangejuice
|
||||
name = "orange juice"
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
volume = 5
|
||||
initial_reagent_flags = TRANSPARENT
|
||||
custom_price = PAYCHECK_CREW
|
||||
custom_materials = list(/datum/material/glass = SHEET_MATERIAL_AMOUNT)
|
||||
|
||||
/obj/item/reagent_containers/dropper/interact_with_atom(atom/target, mob/living/user, list/modifiers)
|
||||
if(!target.reagents)
|
||||
|
||||
@@ -352,6 +352,7 @@
|
||||
dart_insert_casing_icon_state = "overlay_syringe_crude"
|
||||
dart_insert_projectile_icon_state = "overlay_syringe_crude_proj"
|
||||
embed_type = /datum/embedding/syringe/crude
|
||||
custom_materials = list(/datum/material/bamboo = SHEET_MATERIAL_AMOUNT * 5)
|
||||
|
||||
/datum/embedding/syringe/crude
|
||||
embed_chance = 75
|
||||
|
||||
@@ -364,6 +364,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/reagent_dispensers/wall/peppertank, 3
|
||||
tank_volume = 200
|
||||
can_be_tanked = FALSE
|
||||
max_integrity = 150
|
||||
custom_materials = list(/datum/material/plastic = SHEET_MATERIAL_AMOUNT * 25)
|
||||
///Paper cups left from the cooler.
|
||||
var/paper_cups = 25
|
||||
///Reference to our jug.
|
||||
|
||||
Reference in New Issue
Block a user