diff --git a/code/game/objects/items/tools/maintenance_tools.dm b/code/game/objects/items/tools/maintenance_tools.dm index 5dff20727ba0..8febff63ee5d 100644 --- a/code/game/objects/items/tools/maintenance_tools.dm +++ b/code/game/objects/items/tools/maintenance_tools.dm @@ -557,13 +557,19 @@ if(requires_superstrength_pry) if(!HAS_TRAIT(user, TRAIT_SUPER_STRONG)) //basically IS_PRY_CAPABLE_CROWBAR return - if(!attacked_door.density) //If its open - return if(attacked_door.heavy) //Unopenable to_chat(usr, SPAN_DANGER("You cannot force [attacked_door] open.")) return if(user.action_busy) return + if(!attacked_door.density && !attacked_door.arePowerSystemsOn()) //If its open and unpowered + attacked_door.close(TRUE) + return + if(attacked_door.density && !attacked_door.arePowerSystemsOn()) // if its closed and unpowered + attacked_door.open(TRUE) + return + if(!attacked_door.density) //If its open + return user.visible_message(SPAN_DANGER("[user] jams [src] into [attacked_door] and starts to pry it open."), SPAN_DANGER("You jam [src] into [attacked_door] and start to pry it open."))