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