mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-21 12:08:55 +01:00
[MIRROR] Fixes Reagent Dispensers Not Removing Reagents [MDB IGNORE] (#14345)
* Fixes Reagent Dispensers Not Removing Reagents (#67611) * Fixes Reagent Dispensers Not Removing Reagents Co-authored-by: 13spacemen <46101244+13spacemen@users.noreply.github.com>
This commit is contained in:
@@ -19,6 +19,8 @@
|
||||
var/openable = FALSE
|
||||
///Is this dispenser slowly leaking its reagent?
|
||||
var/leaking = FALSE
|
||||
///How much reagent to leak
|
||||
var/amount_to_leak = 10
|
||||
|
||||
/obj/structure/reagent_dispensers/Initialize(mapload)
|
||||
. = ..()
|
||||
@@ -81,6 +83,13 @@
|
||||
else
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/reagent_dispensers/proc/tank_leak()
|
||||
if(leaking && reagents && reagents.total_volume >= amount_to_leak)
|
||||
reagents.expose(get_turf(src), TOUCH, amount_to_leak / max(amount_to_leak, reagents.total_volume))
|
||||
reagents.remove_reagent(reagent_id, amount_to_leak)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/structure/reagent_dispensers/wrench_act(mob/living/user, obj/item/tool)
|
||||
. = ..()
|
||||
if(!openable)
|
||||
@@ -88,14 +97,12 @@
|
||||
leaking = !leaking
|
||||
balloon_alert(user, "[leaking ? "opened" : "closed"] [src]'s tap")
|
||||
log_game("[key_name(user)] [leaking ? "opened" : "closed"] [src]")
|
||||
if(leaking && reagents)
|
||||
reagents.expose(get_turf(src), TOUCH, 10 / max(10, reagents.total_volume))
|
||||
tank_leak()
|
||||
return TOOL_ACT_TOOLTYPE_SUCCESS
|
||||
|
||||
/obj/structure/reagent_dispensers/Moved(atom/OldLoc, Dir)
|
||||
. = ..()
|
||||
if(leaking && reagents)
|
||||
reagents.expose(get_turf(src), TOUCH, 10 / max(10, reagents.total_volume))
|
||||
tank_leak()
|
||||
|
||||
/obj/structure/reagent_dispensers/watertank
|
||||
name = "water tank"
|
||||
|
||||
Reference in New Issue
Block a user