diff --git a/code/modules/projectiles/guns/energy/special_eguns.dm b/code/modules/projectiles/guns/energy/special_eguns.dm index ad76cc81ac75..330dc9dfc987 100644 --- a/code/modules/projectiles/guns/energy/special_eguns.dm +++ b/code/modules/projectiles/guns/energy/special_eguns.dm @@ -523,9 +523,17 @@ to_chat(user, "You begin to overload [src].") charging = TRUE charge_failure = FALSE + holder = user + RegisterSignal(holder, COMSIG_CARBON_SWAP_HANDS, PROC_REF(fail_charge)) addtimer(CALLBACK(src, PROC_REF(overload)), 2.5 SECONDS) +/obj/item/gun/energy/plasma_pistol/proc/fail_charge() + SIGNAL_HANDLER // COMSIG_CARBON_SWAP_HANDS + charge_failure = TRUE // No charging 2 guns at once. + UnregisterSignal(holder, COMSIG_CARBON_SWAP_HANDS) + /obj/item/gun/energy/plasma_pistol/proc/overload() + UnregisterSignal(holder, COMSIG_CARBON_SWAP_HANDS) if(ishuman(loc) && !charge_failure) var/mob/living/carbon/C = loc select_fire(C)