mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-25 04:57:47 +01:00
Acid dispensed into buckets no longer runtimes the machine it is inside of (#19605)
* acidable * lets not actually
This commit is contained in:
@@ -559,6 +559,7 @@
|
||||
if(O.unacidable)
|
||||
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))
|
||||
@@ -566,6 +567,21 @@
|
||||
qdel(O)
|
||||
remove_self(meltdose) // 10 units of acid will not melt EVERYTHING on the tile
|
||||
|
||||
/// 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
|
||||
|
||||
Reference in New Issue
Block a user