General maintenance for plumbing disposer (#94944)

## About The Pull Request
- Plumbing disposer disposal rate can now be changed with hand nad has
TGUI interface. It accepts a value between 5->15 meaning it can dispose
anywhere from 10u to 50u reagents per tick. Added examines & screen tips
for the same
- Fixes plumbing disposer icon state not correctly switching between
working and off under certain circumstances

## Changelog
🆑
qol: plumbing disposer now has TGUI interface for operations
fix: plumbing disposer icon state correctly switches between on & off
under circumstances
/🆑
This commit is contained in:
SyncIt21
2026-02-03 22:23:58 -05:00
committed by GitHub
parent 6f37db300b
commit c779efbeec
3 changed files with 151 additions and 11 deletions
@@ -20,6 +20,19 @@
edge_overlay.pixel_z = -parent_movable.pixel_y - parent_movable.pixel_z
overlays += edge_overlay
///For disposing reagents
/datum/component/plumbing/simple_demand/disposer
/datum/component/plumbing/simple_demand/disposer/Initialize(ducting_layer, distinct_reagent_cap)
if(!istype(parent, /obj/machinery/plumbing/disposer))
return COMPONENT_INCOMPATIBLE
return ..()
/datum/component/plumbing/simple_demand/disposer/send_request(dir)
var/obj/machinery/plumbing/disposer/target = parent
if(target.on)
process_request(target.disposal_rate * SSFLUIDS_DT, dir = dir)
///has one pipe output that only supplies. example is liquid pump and manual input pipe
/datum/component/plumbing/simple_supply
supply_connects = SOUTH