mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-14 09:35:30 +01:00
Adds some basic sanity to the plumbing bottler (#62823)
* Adds some basic sanity to the plumbing bottler * Update code/modules/plumbing/plumbers/bottler.dm Co-authored-by: Emmanuel S. <emmanuelssr@gmail.com> * Update code/modules/plumbing/plumbers/bottler.dm Co-authored-by: Emmanuel S. <emmanuelssr@gmail.com> Co-authored-by: Emmanuel S. <emmanuelssr@gmail.com>
This commit is contained in:
@@ -15,6 +15,8 @@
|
||||
var/turf/inputspot = null
|
||||
///where beakers that are already full will be sent
|
||||
var/turf/badspot = null
|
||||
///Does the plumbing machine have a correct tile setup
|
||||
var/valid_output_configuration = FALSE
|
||||
|
||||
/obj/machinery/plumbing/bottler/Initialize(mapload, bolt, layer)
|
||||
. = ..()
|
||||
@@ -24,6 +26,8 @@
|
||||
/obj/machinery/plumbing/bottler/examine(mob/user)
|
||||
. = ..()
|
||||
. += span_notice("A small screen indicates that it will fill for [wanted_amount]u.")
|
||||
if(!valid_output_configuration)
|
||||
. += span_warning("A flashing notification on the screen reads: \"Output location error!\"")
|
||||
|
||||
/obj/machinery/plumbing/bottler/can_be_rotated(mob/user, rotation_type)
|
||||
if(anchored)
|
||||
@@ -52,15 +56,28 @@
|
||||
inputspot = get_step(get_turf(src), WEST)
|
||||
badspot = get_step(get_turf(src), SOUTH)
|
||||
|
||||
//If by some miracle
|
||||
if( ( !valid_output_configuration ) && ( goodspot != null && inputspot != null && badspot != null ) )
|
||||
valid_output_configuration = TRUE
|
||||
begin_processing()
|
||||
|
||||
///changing input ammount with a window
|
||||
/obj/machinery/plumbing/bottler/interact(mob/user)
|
||||
. = ..()
|
||||
if(!valid_output_configuration)
|
||||
to_chat(user, span_warning("A flashing notification on the screen reads: \"Output location error!\""))
|
||||
return .
|
||||
wanted_amount = clamp(round(input(user,"maximum is 100u","set ammount to fill with") as num|null, 1), 1, 100)
|
||||
to_chat(user, span_notice(" The [src] will now fill for [wanted_amount]u."))
|
||||
|
||||
/obj/machinery/plumbing/bottler/process()
|
||||
if(machine_stat & NOPOWER)
|
||||
return
|
||||
// Sanity check the result locations and stop processing if they don't exist
|
||||
if(goodspot == null || badspot == null || inputspot == null)
|
||||
valid_output_configuration = FALSE
|
||||
return PROCESS_KILL
|
||||
|
||||
///see if machine has enough to fill
|
||||
if(reagents.total_volume >= wanted_amount && anchored)
|
||||
var/obj/AM = pick(inputspot.contents)///pick a reagent_container that could be used
|
||||
|
||||
Reference in New Issue
Block a user