diff --git a/code/game/mecha/mecha_actions.dm b/code/game/mecha/mecha_actions.dm index 30d5b8266fa6..fcaab3a2a45c 100644 --- a/code/game/mecha/mecha_actions.dm +++ b/code/game/mecha/mecha_actions.dm @@ -191,6 +191,8 @@ button_icon_state = "mech_overload_off" /datum/action/innate/mecha/mech_overload_mode/Activate(forced_state = null) + if(equipment_disabled) + return if(!owner || !chassis || chassis.occupant != owner) return if(!isnull(forced_state)) diff --git a/code/game/mecha/mecha_defense.dm b/code/game/mecha/mecha_defense.dm index 0ae356f905c6..eacbeaf79e70 100644 --- a/code/game/mecha/mecha_defense.dm +++ b/code/game/mecha/mecha_defense.dm @@ -157,6 +157,7 @@ occupant?.update_mouse_pointer() if(!equipment_disabled && occupant) //prevent spamming this message with back-to-back EMPs to_chat(occupant, "Error -- Connection to equipment control unit has been lost.") + overload_action.Activate(0) addtimer(CALLBACK(src, /obj/mecha/proc/restore_equipment), 3 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) equipment_disabled = 1 @@ -375,4 +376,4 @@ WR.crowbar_salvage += internal_tank internal_tank.forceMove(WR) cell = null - . = ..() \ No newline at end of file + . = ..()