diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 0b0ecfb85e..7ff6f5971b 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -57,6 +57,7 @@
var/bolt_down_sound = 'sound/machines/door/boltsdown.ogg'
var/knock_sound = 'sound/machines/2beeplow.ogg'
var/knock_hammer_sound = 'sound/weapons/sonic_jackhammer.ogg'
+ var/knock_unpowered_sound = 'sound/machines/door/knock_glass.ogg'
/obj/machinery/door/airlock/attack_generic(var/mob/living/user, var/damage)
if(stat & (BROKEN|NOPOWER))
@@ -978,18 +979,25 @@ About the new airlock wires panel:
return
/obj/machinery/door/airlock/AltClick(mob/user as mob)
+ user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
if(!Adjacent(user))
return
else if(user.a_intent == I_HURT)
src.visible_message("[user] hammers on \the [src]!", "Someone hammers loudly on \the [src]!")
src.add_fingerprint(user)
- flick("door_deny", src)
+ if(icon_state == "door_closed" && arePowerSystemsOn())
+ flick("door_deny", src)
playsound(src, knock_hammer_sound, 50, 0, 3)
- else
+ else if(arePowerSystemsOn())
src.visible_message("[user] presses the door bell on \the [src].", "\The [src]'s bell rings.")
src.add_fingerprint(user)
- flick("door_deny", src)
+ if(icon_state == "door_closed")
+ flick("door_deny", src)
playsound(src, knock_sound, 50, 0, 3)
+ else
+ src.visible_message("[user] knocks on \the [src].", "Someone knocks on \the [src].")
+ src.add_fingerprint(user)
+ playsound(src, knock_unpowered_sound, 50, 0, 3)
return
/obj/machinery/door/airlock/tgui_act(action, params)
diff --git a/code/game/objects/structures/simple_doors.dm b/code/game/objects/structures/simple_doors.dm
index 4a2888a04b..cfcf280020 100644
--- a/code/game/objects/structures/simple_doors.dm
+++ b/code/game/objects/structures/simple_doors.dm
@@ -12,7 +12,7 @@
var/isSwitchingStates = 0
var/hardness = 1
var/oreAmount = 7
- var/knock_sound = 'sound/effects/glassknock.ogg'
+ var/knock_sound = 'sound/machines/door/knock_glass.ogg'
var/knock_hammer_sound = 'sound/weapons/sonic_jackhammer.ogg'
/obj/structure/simple_door/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
@@ -71,6 +71,7 @@
return TryToSwitchState(user)
/obj/structure/simple_door/AltClick(mob/user as mob)
+ user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
if(!Adjacent(user))
return
else if(user.a_intent == I_HURT)
@@ -240,6 +241,7 @@
/obj/structure/simple_door/wood/Initialize(mapload,var/material_name)
..(mapload, material_name || MAT_WOOD)
+ knock_sound = 'sound/machines/door/knock_wood.wav'
/obj/structure/simple_door/sifwood/Initialize(mapload,var/material_name)
..(mapload, material_name || MAT_SIFWOOD)
diff --git a/sound/machines/door/knock_glass.ogg b/sound/machines/door/knock_glass.ogg
new file mode 100644
index 0000000000..8878dda801
Binary files /dev/null and b/sound/machines/door/knock_glass.ogg differ
diff --git a/sound/machines/door/knock_wood.wav b/sound/machines/door/knock_wood.wav
new file mode 100644
index 0000000000..dae7b95b99
Binary files /dev/null and b/sound/machines/door/knock_wood.wav differ