diff --git a/code/modules/clothing/spacesuits/rig/modules/modules.dm b/code/modules/clothing/spacesuits/rig/modules/modules.dm index 830e0d784ce..17498a31b23 100644 --- a/code/modules/clothing/spacesuits/rig/modules/modules.dm +++ b/code/modules/clothing/spacesuits/rig/modules/modules.dm @@ -138,6 +138,7 @@ if(damage >= 2) usr << "The [interface_name] is damaged beyond use!" + return 0 if(world.time < next_use) usr << "You cannot use the [interface_name] again so soon." @@ -147,7 +148,7 @@ usr << "The suit is not initialized." return 0 - if(usr.lying || usr.stat || usr.stunned || usr.paralysis) + if(usr.lying || usr.stat || usr.stunned || usr.paralysis || usr.weakened) usr << "You cannot use the suit in this state." return 0 @@ -157,7 +158,7 @@ if(holder.security_check_enabled && !holder.check_suit_access(usr)) usr << "Access denied." - return + return 0 if(!holder.check_power_cost(usr, use_power_cost, 0, src, (istype(usr,/mob/living/silicon ? 1 : 0) ) ) ) return 0 diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index 7a09fe5bc7d..2f5d1f54746 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -313,8 +313,9 @@ if(!istype(wearer) || loc != wearer || wearer.back != src || canremove || !cell || cell.charge <= 0) if(!cell || cell.charge <= 0) - if(electrified >0) + if(electrified > 0) electrified = 0 + malfunction_delay = 0 //ensures that people aren't stuck in their suit if the cell runs out while malfunctioning. if(!offline) if(istype(wearer)) if(!canremove) @@ -338,7 +339,6 @@ for(var/obj/item/rig_module/module in installed_modules) module.deactivate() offline = 2 - malfunction_delay = 0 //ensures that people aren't stuck in their suit if the cell runs out while malfunctioning. chest.slowdown = offline_slowdown return @@ -409,7 +409,7 @@ data["boots"] = (boots ? "[boots.name]" : "None.") data["chest"] = (chest ? "[chest.name]" : "None.") - data["charge"] = cell ? cell.charge : 0 + data["charge"] = cell ? round(cell.charge,1) : 0 data["maxcharge"] = cell ? cell.maxcharge : 0 data["chargestatus"] = cell ? Floor((cell.charge/cell.maxcharge)*50) : 0 diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 76bcebac3c2..31480de9c8b 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -13,9 +13,7 @@ projectile_type = /obj/item/projectile/ion /obj/item/weapon/gun/energy/ionrifle/emp_act(severity) - if(severity > 2) - return //so it doesn't EMP itself, I guess - ..() + ..(max(severity, 2)) //so it doesn't EMP itself, I guess /obj/item/weapon/gun/energy/ionrifle/update_icon() ..()