mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-26 06:29:23 +01:00
[MIRROR] Crafting/Cooking menu update [MDB IGNORE] (#18334)
* Crafting/Cooking menu update * Yeeted away all of the merge conflicts, time to fix the code * Okay, now it compiles, and after testing, it seems to work just fine * Actually, early addition of an upstream fix, so those that don't have hunger can still open the cooking menu * Fixes the units tests by removing the extra comma in the Stuffed Muli Pod recipe Co-authored-by: Andrew <mt.forspam@gmail.com> Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com> Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
This commit is contained in:
co-authored by
Andrew
GoldenAlpharex
GoldenAlpharex
parent
f5e10c7d53
commit
ae713bf18a
@@ -0,0 +1,60 @@
|
||||
///Representative icons for the contents of each crafting recipe
|
||||
/datum/asset/spritesheet/crafting
|
||||
name = "crafting"
|
||||
|
||||
/datum/asset/spritesheet/crafting/cooking
|
||||
name = "cooking"
|
||||
|
||||
/datum/asset/spritesheet/crafting/create_spritesheets()
|
||||
var/id = 1
|
||||
for(var/atom in GLOB.crafting_recipes_atoms)
|
||||
add_atom_icon(atom, id++)
|
||||
add_tool_icons()
|
||||
|
||||
/datum/asset/spritesheet/crafting/cooking/create_spritesheets()
|
||||
var/id = 1
|
||||
for(var/atom in GLOB.cooking_recipes_atoms)
|
||||
add_atom_icon(atom, id++)
|
||||
|
||||
///Adds the atom icon to the spritesheet with given ID
|
||||
/datum/asset/spritesheet/crafting/proc/add_atom_icon(atom, id)
|
||||
var/obj/obj = initial(atom)
|
||||
if(ispath(atom, /datum/reagent))
|
||||
var/datum/reagent/reagent = atom
|
||||
obj = initial(reagent.default_container)
|
||||
var/icon_file = initial(obj.icon_preview) || initial(obj.icon)
|
||||
var/icon_state = initial(obj.icon_state_preview) || initial(obj.icon_state)
|
||||
#ifdef UNIT_TESTS
|
||||
if(!(icon_state in icon_states(icon_file)))
|
||||
stack_trace("Atom [atom] with icon '[icon_file]' missing state '[icon_state]'")
|
||||
return
|
||||
#endif
|
||||
Insert("a[id]", icon(icon_file, icon_state, SOUTH))
|
||||
|
||||
///Adds tool icons to the spritesheet
|
||||
/datum/asset/spritesheet/crafting/proc/add_tool_icons()
|
||||
var/list/tool_icons = list(
|
||||
TOOL_CROWBAR = icon('icons/obj/tools.dmi', "crowbar"),
|
||||
TOOL_MULTITOOL = icon('icons/obj/device.dmi', "multitool"),
|
||||
TOOL_SCREWDRIVER = icon('icons/obj/tools.dmi', "screwdriver_map"),
|
||||
TOOL_WIRECUTTER = icon('icons/obj/tools.dmi', "cutters_map"),
|
||||
TOOL_WRENCH = icon('icons/obj/tools.dmi', "wrench"),
|
||||
TOOL_WELDER = icon('icons/obj/tools.dmi', "welder"),
|
||||
TOOL_ANALYZER = icon('icons/obj/device.dmi', "analyzer"),
|
||||
TOOL_MINING = icon('icons/obj/mining.dmi', "minipick"),
|
||||
TOOL_SHOVEL = icon('icons/obj/mining.dmi', "spade"),
|
||||
TOOL_RETRACTOR = icon('icons/obj/medical/surgery_tools.dmi', "retractor"),
|
||||
TOOL_HEMOSTAT = icon('icons/obj/medical/surgery_tools.dmi', "hemostat"),
|
||||
TOOL_CAUTERY = icon('icons/obj/medical/surgery_tools.dmi', "cautery"),
|
||||
TOOL_DRILL = icon('icons/obj/medical/surgery_tools.dmi', "drill"),
|
||||
TOOL_SCALPEL = icon('icons/obj/medical/surgery_tools.dmi', "scalpel"),
|
||||
TOOL_SAW = icon('icons/obj/medical/surgery_tools.dmi', "saw"),
|
||||
TOOL_BONESET = icon('icons/obj/medical/surgery_tools.dmi', "bonesetter"),
|
||||
TOOL_KNIFE = icon('icons/obj/kitchen.dmi', "knife"),
|
||||
TOOL_BLOODFILTER = icon('icons/obj/medical/surgery_tools.dmi', "bloodfilter"),
|
||||
TOOL_ROLLINGPIN = icon('icons/obj/kitchen.dmi', "rolling_pin"),
|
||||
TOOL_RUSTSCRAPER = icon('icons/obj/tools.dmi', "wirebrush"),
|
||||
)
|
||||
|
||||
for(var/tool in tool_icons)
|
||||
Insert(tool, tool_icons[tool])
|
||||
Reference in New Issue
Block a user