Botanic trays: the hydroponics without hydro! (soil but better) (#96236)

## About The Pull Request
🚨THIS IS AN ADVANCED VERSION OF #96227 WITH NEW FEATURES, CLOSE #96227
IF THIS IS MERGED 🚨
this pr adds botanic trays - you can get one by filling an empty
hydroponic tray with any soil!
the botanic tray acts like a pile of soil but it can be upgraded, has
auto-grow and indicators.
once you fill the tray there is no way back - it becomes botanic
permanently (until you deconstruct it)

<details>
    <summary> Sprites </summary>

<img width="856" height="846" alt="image"
src="https://github.com/user-attachments/assets/ca9e2a55-ba29-4d08-80e7-aa79e73bb79f"
/>

<img width="825" height="285" alt="image"
src="https://github.com/user-attachments/assets/815e93c2-47cd-4540-86ae-0d2bd8efd325"
/>

Default on the left, reskin on the right
sprites made by me (trays from #96227 made by kreks) (also works with
old-designed tray mode)
see #96227 for tray resprite old/new
</details>


## Why It's Good For The Game
soil is boring and almost no one uses it
emissive is cool
you can now see the type of soil in your tray even when the auto-growth
is on


## Changelog
🆑
add: added botanic trays - hydroponic trays with soil instead of water,
just fill a tray with any soil and done!
image: resprited auto-growth mode and added emissives to it
image: resprited hydroponic trays 
add: added old-designed mode for hydroponic trays - use a screwdriver or
a plant analyzer on the circuit!
image: added emissives to hydroponic tray indicators
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
This commit is contained in:
MelokG
2026-06-04 17:19:38 +02:00
committed by GitHub
co-authored by MrMelbert Ghom
parent 34500f77eb
commit 606ec48bd7
3 changed files with 96 additions and 10 deletions
@@ -1316,6 +1316,27 @@
/obj/item/stack/sheet/glass = 1)
needs_anchored = FALSE
/obj/item/circuitboard/machine/hydroponics/proc/changeindicators(mob/living/user, obj/item/I)
if(build_path == /obj/machinery/hydroponics/constructable/oldstyle)
name = "Hydroponics Tray"
build_path = /obj/machinery/hydroponics/constructable
balloon_alert(user, "defaulting indicator location.")
else
name = "Old-Designed Hydropoincs Tray"
build_path = /obj/machinery/hydroponics/constructable/oldstyle
balloon_alert(user, "moving the indicators...")
return TRUE
/obj/item/circuitboard/machine/hydroponics/item_interaction(mob/living/user, obj/item/I, list/modifiers)
if(istype(I, /obj/item/plant_analyzer))
changeindicators(user)
else
return ..()
/obj/item/circuitboard/machine/hydroponics/screwdriver_act(mob/living/user, obj/item/tool)
src.changeindicators(user)
return
/obj/item/circuitboard/machine/hydroponics/fullupgrade
build_path = /obj/machinery/hydroponics/constructable/fullupgrade
specific_parts = TRUE