Tool behaviors port (#21663)

For a robust crafting system, I need a new materials framework.
For a new materials framework, I need to clean up reagents.
To clean up reagents, I need to pare down foods from reagent holders.
To pare down foods from reagent holders, I need to port edibility
components.
To port edibility components, I need to port processing components.
To port processing components, I need to port tool behaviors.

This is all back-end code, no new features or functionality from this.
This commit is contained in:
Batrachophreno
2026-01-27 08:44:49 +00:00
committed by GitHub
parent ee31799d4a
commit 5277251959
362 changed files with 1480 additions and 1108 deletions
@@ -73,8 +73,8 @@ ABSTRACT_TYPE(/obj/structure/engineer_maintenance)
icon_state = "[panel_location]_[panel_type]_[icon_number]"
/obj/structure/engineer_maintenance/attackby(obj/item/attacking_item, mob/user, params)
if(attacking_item.iswrench()) // Any wrench is good, but we explicltly include the impact drill to send a helpful msg if they just have the screwdriver bit attached.
if(!attacking_item.iswrench())
if(attacking_item.tool_behaviour == TOOL_WRENCH) // Any wrench is good, but we explicitly include the impact drill to send a helpful msg if they just have the screwdriver bit attached.
if(attacking_item.tool_behaviour != TOOL_WRENCH)
to_chat(user, SPAN_WARNING("\The [attacking_item] must have its wrenchbit inserted to remove \the [src]'s bolts!"))
return
if (istype(attacking_item, /obj/item/powerdrill))