diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index d9444c3157..f4a65ce984 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1062,7 +1062,7 @@ to_chat(user, "The airlock's motors resist your efforts to force it!") else if(locked) to_chat(user, "The airlock's bolts prevent it from being forced!") - else if( !welded && !operating) + else if(!welded && !operating) if(!beingcrowbarred) //being fireaxe'd var/obj/item/fireaxe/axe = I if(!axe.wielded) @@ -1073,6 +1073,8 @@ INVOKE_ASYNC(src, (density ? .proc/open : .proc/close), 2) if(I.tool_behaviour == TOOL_CROWBAR) + if(!I.can_force_powered) + return if(hasPower() && isElectrified()) shock(user,100)//it's like sticking a forck in a power socket return diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index df64ca72a5..8a09bca0bf 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -116,6 +116,8 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb var/buffer = null var/show_wires = FALSE var/datum/integrated_io/selected_io = null //functional for integrated circuits. + //Special crowbar + var/can_force_powered = FALSE var/reach = 1 //In tiles, how far this weapon can reach; 1 for adjacent, which is default diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index 36f89e57f2..f0fd29adbc 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -88,6 +88,7 @@ usesound = 'sound/items/jaws_pry.ogg' force = 15 toolspeed = 0.25 + can_force_powered = TRUE /obj/item/crowbar/power/suicide_act(mob/user) user.visible_message("[user] is putting [user.p_their()] head in [src], it looks like [user.p_theyre()] trying to commit suicide!")