From 0db60b65c72379492b7daa67920f25808103e9e0 Mon Sep 17 00:00:00 2001 From: GauHelldragon Date: Wed, 12 Dec 2012 02:49:29 -0800 Subject: [PATCH] Portable generator Fix Portable generators properly drop their fuel when deconstructed Portable generators need their cover open to be destructed now Fixed a runtime error when building a portable generator with a 2s wire --- code/game/machinery/constructable_frame.dm | 2 +- code/modules/power/port_gen.dm | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index e9dfd6a6a74..7790526dd77 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -154,7 +154,7 @@ update_desc() break user << desc - if(P.loc != src && !istype(P, /obj/item/weapon/cable_coil)) + if(P && P.loc != src && !istype(P, /obj/item/weapon/cable_coil)) user << "\red You cannot add that component to the machine!" diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 57a71fbb5cc..82530f3add6 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -213,12 +213,22 @@ display round(lastgen) and plasmatank amount user << "\blue You open the access panel." else user << "\blue You close the access panel." - else if(istype(O, /obj/item/weapon/crowbar) && !open) + else if(istype(O, /obj/item/weapon/crowbar) && open) var/obj/machinery/constructable_frame/machine_frame/new_frame = new /obj/machinery/constructable_frame/machine_frame(src.loc) for(var/obj/item/I in component_parts) if(I.reliability < 100) I.crit_fail = 1 I.loc = src.loc + while ( sheets > 0 ) + var/obj/item/stack/sheet/G = new sheet_path(src.loc) + + if ( sheets > 50 ) + G.amount = 50 + else + G.amount = sheets + + sheets -= G.amount + new_frame.state = 2 new_frame.icon_state = "box_1" del(src)