From d64568e309b07f55f175eb6f2c138fbb6826c5ac Mon Sep 17 00:00:00 2001 From: DZD Date: Fri, 24 Jul 2015 16:02:13 -0400 Subject: [PATCH] Adds the can_charge var to energy guns If set to 0, makes it so the gun cannot be charged in recharges. Set to 1 by default, only the nuclear (AKA advanced) egun and both plasma cutters have it set to 0. (Nuclear egun was previously unable to be charged, but used an istype check specific to it.) --- code/game/machinery/recharger.dm | 10 +++++++--- code/modules/projectiles/guns/energy.dm | 1 + code/modules/projectiles/guns/energy/nuclear.dm | 1 + code/modules/projectiles/guns/energy/special.dm | 1 + 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index 4ff221e58f5..a470b7ec6c7 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -29,14 +29,18 @@ user << "\red The [name] blinks red as you try to insert the item!" return - if (istype(G, /obj/item/weapon/gun/energy/gun/nuclear)) - user << "Your gun's recharge port was removed to make room for a miniaturized reactor." - return + if (istype(G, /obj/item/weapon/gun/energy)) + var/obj/item/weapon/gun/energy/E = G + if(!E.can_charge) + user << "Your gun has no external power connector." + return + if(istype(G, /obj/item/device/laptop)) var/obj/item/device/laptop/L = G if(!L.stored_computer.battery) user << "There's no battery in it!" return + user.drop_item() G.loc = src charging = G diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index befa0720b66..d5ad7e21ed8 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -9,6 +9,7 @@ var/cell_type = "/obj/item/weapon/stock_parts/cell" var/projectile_type = "/obj/item/projectile/beam" var/modifystate + var/can_charge = 1 emp_act(severity) power_supply.use(round(power_supply.charge / severity)) diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index 5f49ec3f86f..de92a6022e4 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -46,6 +46,7 @@ var/lightfail = 0 var/charge_tick = 0 can_flashlight = 0 + can_charge = 0 New() ..() diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index b1c4e898078..e4fcc1829f1 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -307,6 +307,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. charge_cost = 250 fire_delay = 10 icon_override = 'icons/mob/in-hand/guns.dmi' + can_charge = 0 /obj/item/weapon/gun/energy/plasmacutter/examine(mob/user) ..()