diff --git a/code/game/machinery/bloodbankgen.dm b/code/game/machinery/bloodbankgen.dm index c489f6c9c9..296e79b403 100644 --- a/code/game/machinery/bloodbankgen.dm +++ b/code/game/machinery/bloodbankgen.dm @@ -28,13 +28,6 @@ QDEL_NULL(outbag) return ..() -/obj/machinery/bloodbankgen/contents_explosion(severity, target) - ..() - if(bag) - bag.ex_act(severity, target) - if(outbag) - outbag.ex_act(severity, target) - /obj/machinery/bloodbankgen/handle_atom_del(atom/A) ..() if(A == bag) @@ -188,7 +181,7 @@ if(user.a_intent == INTENT_HARM) return ..() - if(default_deconstruction_screwdriver(user, "bloodbank-off", "bloodbank-off", O)) + if(default_deconstruction_screwdriver(user, "bloodbank-off", "bloodbank-off", O) || default_unfasten_wrench(user, O, 20) == SUCCESSFUL_UNFASTEN) if(bag) var/obj/item/reagent_containers/blood/B = bag B.forceMove(drop_location()) @@ -204,31 +197,37 @@ return if(istype(O, /obj/item/reagent_containers/blood)) - . = 1 //no afterattack + . = TRUE //no afterattack + var/msg = "" if(!panel_open) - if(bag && outbag) - to_chat(user, "This machine already has bags attached.") - - if(!bag && !outbag) - var/choice = alert(user, "Choose where to place [O]", "", "Input", "Cancel", "Output") - switch(choice) - if("Cancel") - return FALSE - if("Input") - attachinput(O, user) - if("Output") - attachoutput(O, user) - else if(!bag) - attachinput(O, user) - else if(!outbag) - attachoutput(O, user) - else - to_chat(user, "Close the maintenance panel first.") - return + . += "Close the maintenance panel" + if(!anchored) + . += "[msg ? " and a" : "A"]nchor its bolts" + if(length(msg)) + to_chat(user, "[msg] first.") + return + if(bag && outbag) + to_chat(user, "This machine already has bags attached.") + if(!bag && !outbag) + var/choice = alert(user, "Choose where to place [O]", "", "Input", "Cancel", "Output") + switch(choice) + if("Cancel") + return FALSE + if("Input") + attachinput(O, user) + if("Output") + attachoutput(O, user) + else if(!bag) + attachinput(O, user) + else if(!outbag) + attachoutput(O, user) else to_chat(user, "You cannot put this in [src]!") +/obj/machinery/bloodbankgen/is_operational() + return ..() && anchored + /obj/machinery/bloodbankgen/ui_interact(mob/user) . = ..()