diff --git a/code/datums/components/crank_recharge.dm b/code/datums/components/crank_recharge.dm index 4940a02b055..14f7834ba8e 100644 --- a/code/datums/components/crank_recharge.dm +++ b/code/datums/components/crank_recharge.dm @@ -43,6 +43,7 @@ SIGNAL_HANDLER INVOKE_ASYNC(src, PROC_REF(crank), source, user) //game doesnt like signal handler and do afters mingling + return COMPONENT_CANCEL_ATTACK_CHAIN /datum/component/crank_recharge/proc/crank(obj/source, mob/user) if(charging_cell.charge >= charging_cell.maxcharge) diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 9565f1933c3..734bce37122 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -179,9 +179,12 @@ update_appearance() /obj/item/gun/energy/attack_self(mob/living/user as mob) + . = ..() + if(.) + return + if(ammo_type.len > 1 && can_select) select_fire(user) - return ..() /obj/item/gun/energy/can_shoot() var/obj/item/ammo_casing/energy/shot = ammo_type[select]