diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 1b6db6427a6..9160090461d 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -820,7 +820,7 @@ /obj/mecha/crowbar_act(mob/user, obj/item/I) - if(state != MECHA_BOLTS_UP && state != MECHA_OPEN_HATCH && !(state == MECHA_BATTERY_UNSCREW && pilot_is_mmi())) + if(state != MECHA_BOLTS_UP && state != MECHA_OPEN_HATCH && !(state == MECHA_BATTERY_UNSCREW && occupant)) return . = TRUE if(!I.use_tool(src, user, 0, volume = I.tool_volume)) @@ -831,11 +831,17 @@ else if(state == MECHA_OPEN_HATCH) state = MECHA_BOLTS_UP to_chat(user, "You close the hatch to the power unit") + else if(ishuman(occupant)) + user.visible_message("[user] begins levering out the driver from the [src].", "You begin to lever out the driver from the [src].") + to_chat(occupant, "[user] is prying you out of the exosuit!") + if(I.use_tool(src, user, 8 SECONDS, volume = I.tool_volume)) + user.visible_message("[user] pries the driver out of the [src]!", "You finish removing the driver from the [src]!") + go_out() else // Since having maint protocols available is controllable by the MMI, I see this as a consensual way to remove an MMI without destroying the mech user.visible_message("[user] begins levering out the MMI from [src].", "You begin to lever out the MMI from [src].") to_chat(occupant, "[user] is prying you out of the exosuit!") - if(I.use_tool(src, user, 80, volume = I.tool_volume) && pilot_is_mmi()) + if(I.use_tool(src, user, 8 SECONDS, volume = I.tool_volume) && pilot_is_mmi()) user.visible_message("[user] pries the MMI out of [src]!", "You finish removing the MMI from [src]!") go_out()