[MIRROR] Acid dispensed into buckets no longer runtimes the machine it is inside of (#12905)

Co-authored-by: Will <7099514+Willburd@users.noreply.github.com>
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2026-07-16 20:24:12 -04:00
committed by GitHub
co-authored by Will Cameron Lennox
parent b9d2252193
commit 0d0b88167c
@@ -587,6 +587,7 @@
if(O.unacidable || is_type_in_list(O, GLOB.item_digestion_blacklist)) //CHOMPEdit End
return
if((istype(O, /obj/item) || istype(O, /obj/effect/plant)) && (volume > meltdose))
eject_container_from_machines(O)
var/obj/effect/decal/cleanable/molten_item/I = new/obj/effect/decal/cleanable/molten_item(O.loc)
I.desc = "Looks like this was \an [O] some time ago."
for(var/mob/M in viewers(5, O))
@@ -612,6 +613,21 @@
L.adjustFireLoss(volume * power * 0.2)
remove_self(volume) //CHOMPAdd End
/// Eject from chemdispenser if melted inside of one. Handled here with typechecks instead of adding logic to every machine for acid's snowflake behavior
/datum/reagent/acid/proc/eject_container_from_machines(obj/melting_object)
if(istype(melting_object.loc, /obj/machinery/chemical_dispenser))
var/obj/machinery/chemical_dispenser/dispenser = melting_object.loc
dispenser.container.forceMove(get_turf(dispenser))
dispenser.container = null
dispenser.update_icon()
return
if(istype(melting_object.loc, /obj/machinery/chem_master))
var/obj/machinery/chem_master/mixer = melting_object.loc
mixer.beaker.forceMove(get_turf(mixer))
mixer.beaker = null
mixer.update_icon()
return
/datum/reagent/silicon
name = REAGENT_SILICON
id = REAGENT_ID_SILICON