diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 6fbdb235db9..73e6826bbf3 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -5,6 +5,9 @@ icon_state = "sleeper" density = 1 anchored = 1 + clicksound = 'sound/machines/buttonbeep.ogg' + clickvol = 30 + var/mob/living/carbon/human/occupant = null var/list/available_chemicals = list("norepinephrine" = "Norepinephrine", "stoxin" = "Soporific", "paracetamol" = "Paracetamol", "dylovene" = "Dylovene", "dexalin" = "Dexalin") var/obj/item/reagent_containers/glass/beaker = null diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 049cc939636..597f479b1f6 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -42,6 +42,9 @@ active_power_usage = 1500 //For heating/cooling rooms. 1000 joules equates to about 1 degree every 2 seconds for a single tile of air. power_channel = ENVIRON req_one_access = list(access_atmospherics, access_engine_equip) + clicksound = "button" + clickvol = 30 + var/alarm_id = null var/breach_detection = 1 // Whether to use automatic breach detection or not var/frequency = 1439 diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 4eec54a18c9..28d98b8bffe 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -7,6 +7,8 @@ use_power = 1 idle_power_usage = 10 active_power_usage = 2000 + clicksound = "keyboard" + clickvol = 30 var/list/machine_recipes var/list/stored_material = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0) diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm index 86627ea5be8..7ed745ccb11 100644 --- a/code/game/machinery/computer/computer.dm +++ b/code/game/machinery/computer/computer.dm @@ -7,6 +7,8 @@ use_power = 1 idle_power_usage = 300 active_power_usage = 300 + clicksound = "keyboard" + var/circuit = null //The path to the circuit board type. If circuit==null, the computer can't be disassembled. var/processing = 0 @@ -15,7 +17,6 @@ var/light_power_on = 1 var/overlay_layer var/is_holographic = TRUE - clicksound = "keyboard" /obj/machinery/computer/Initialize() . = ..() diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index d8741f1285f..187623c3b02 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -13,6 +13,8 @@ use_power = 1 idle_power_usage = 20 active_power_usage = 200 + clicksound = 'sound/machines/buttonbeep.ogg' + clickvol = 30 var/temperature_archived var/mob/living/carbon/occupant = null diff --git a/code/game/machinery/jukebox.dm b/code/game/machinery/jukebox.dm index 99eee1afd1b..5fb23bcd0b1 100644 --- a/code/game/machinery/jukebox.dm +++ b/code/game/machinery/jukebox.dm @@ -19,6 +19,7 @@ datum/track/New(var/title_name, var/audio) use_power = 1 idle_power_usage = 10 active_power_usage = 100 + clicksound = 'sound/machines/buttonbeep.ogg' var/playing = 0 diff --git a/code/game/machinery/kitchen/microwave.dm b/code/game/machinery/kitchen/microwave.dm index 7f86296f691..4d9953b6952 100644 --- a/code/game/machinery/kitchen/microwave.dm +++ b/code/game/machinery/kitchen/microwave.dm @@ -10,6 +10,9 @@ idle_power_usage = 5 active_power_usage = 2000 flags = OPENCONTAINER | NOREACT + clicksound = "button" + clickvol = "30" + var/operating = FALSE // Is it on? var/dirty = 0 // = {0..100} Does it need cleaning? var/broken = 0 // ={0,1,2} How broken is it??? diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index b1de271cc39..13950216b0a 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -231,7 +231,7 @@ Class Procs: /obj/machinery/CouldUseTopic(var/mob/user) ..() - if(istype (user, /mob/living/carbon)) + if(clicksound && iscarbon(user)) playsound(src, clicksound, clickvol) user.set_machine(src) diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 94bde9ad211..5a50f34479e 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -11,7 +11,7 @@ var/heating_power = 42000 emagged = FALSE has_special_power_checks = TRUE - + clicksound = "switch" /obj/machinery/space_heater/Initialize() . = ..() diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index d7ee51846ad..d5e7a78db48 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -37,6 +37,7 @@ layer = 2.9 anchored = 1 density = 1 + clicksound = "button" var/icon_vend //Icon_state when vending var/icon_deny //Icon_state when denying access @@ -123,7 +124,6 @@ src.build_inventory() power_change() - /** * Build src.produdct_records from the products lists * @@ -207,12 +207,10 @@ var/obj/item/spacecash/ewallet/C = W paid = pay_with_ewallet(C) handled = 1 - playsound(user.loc, 'sound/machines/id_swipe.ogg', 100, 1) else if (istype(W, /obj/item/spacecash)) var/obj/item/spacecash/C = W paid = pay_with_cash(C, user) handled = 1 - playsound(user.loc, 'sound/machines/id_swipe.ogg', 100, 1) if(paid) src.vend(currently_vending, usr) @@ -347,6 +345,7 @@ */ /obj/machinery/vending/proc/pay_with_ewallet(var/obj/item/spacecash/ewallet/wallet) visible_message("\The [usr] swipes \the [wallet] through \the [src].") + playsound(src.loc, 'sound/machines/id_swipe.ogg', 50, 1) if(currently_vending.price > wallet.worth) src.status_message = "Insufficient funds on chargecard." src.status_error = 1 @@ -367,6 +366,7 @@ visible_message("\The [usr] swipes \the [I] through \the [src].") else visible_message("\The [usr] swipes \the [ID_container] through \the [src].") + playsound(src.loc, 'sound/machines/id_swipe.ogg', 50, 1) var/datum/money_account/vendor_account = SSeconomy.get_department_account("Vendor") var/datum/money_account/customer_account = SSeconomy.get_account(I.associated_account_number) if (!customer_account) @@ -509,7 +509,7 @@ var/datum/money_account/vendor_account = SSeconomy.get_department_account("Vendor") if(stat & (BROKEN|NOPOWER)) return - if(usr.stat || usr.restrained()) + if(..()) return if(href_list["remove_coin"] && !istype(usr,/mob/living/silicon)) diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index 793a7accbc7..9eef6c70ff3 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -4,6 +4,9 @@ icon_state = "wm_10" density = 1 anchored = 1.0 + clicksound = "button" + clickvol = 40 + var/state = 1 //1 = empty, open door //2 = empty, closed door diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 0ee25b2bac2..905eed3d12d 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -756,3 +756,8 @@ var/global/list/default_medbay_channels = list( /obj/item/device/radio/phone/medbay/Initialize() . = ..() internal_channels = default_medbay_channels.Copy() + +/obj/item/device/radio/CouldUseTopic(var/mob/user) + ..() + if(iscarbon(user)) + playsound(src, "button", 10) diff --git a/code/game/sound.dm b/code/game/sound.dm index 9da340a0955..22ecdbc8cf3 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -134,6 +134,12 @@ var/list/gravelfootsteps = list( 'sound/effects/footsteps/gravel3.wav', 'sound/effects/footsteps/gravel4.wav' ) +var/list/button_sound = list( + 'sound/machines/button1.ogg', + 'sound/machines/button2.ogg', + 'sound/machines/button3.ogg', + 'sound/machines/button4.ogg' +) var/list/computerbeeps = list( 'sound/machines/compbeep1.ogg', 'sound/machines/compbeep2.ogg', @@ -376,6 +382,7 @@ var/list/footstepfx = list("defaultstep","concretestep","grassstep","dirtstep"," if ("sandstep") soundin = pick(sandfootsteps) if ("gravelstep") soundin = pick(gravelfootsteps) if ("computerbeep") soundin = pick(computerbeeps) + if ("button") soundin = pick(button_sound) if ("switch") soundin = pick(switchsounds) if ("keyboard") soundin = pick(keyboardsounds) if ("pickaxe") soundin = pick(pickaxesounds) diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 3791f76ec82..b76ed483fa5 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -78,6 +78,7 @@ use_power = 0 req_access = list(access_engine_equip) gfi_layer_rotation = GFI_ROTATION_DEFDIR + clicksound = "switch" var/area/area var/areastring = null var/obj/item/cell/cell diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 6d92afdeff8..9592067ba57 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -25,6 +25,7 @@ density = 1 anchored = 1 use_power = 0 + clicksound = "switch" var/capacity = 5e6 // maximum charge var/charge = 1e6 // actual charge diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 99de3a4e7d1..81740fc9ad4 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -14,6 +14,8 @@ use_power = 1 idle_power_usage = 20 layer = 2.9 + clicksound = "button" + var/beaker = null var/obj/item/storage/pill_bottle/loaded_pill_bottle = null var/mode = TRUE diff --git a/code/modules/reagents/dispenser/dispenser2.dm b/code/modules/reagents/dispenser/dispenser2.dm index 85a1230fcfe..5f8c1c08366 100644 --- a/code/modules/reagents/dispenser/dispenser2.dm +++ b/code/modules/reagents/dispenser/dispenser2.dm @@ -2,6 +2,7 @@ name = "chemical dispenser" icon = 'icons/obj/chemical.dmi' icon_state = "dispenser" + clicksound = "button" var/list/spawn_cartridges = null // Set to a list of types to spawn one of each on New() diff --git a/html/changelogs/wezzy_button_noises.yml b/html/changelogs/wezzy_button_noises.yml new file mode 100644 index 00000000000..dbd55da9cd5 --- /dev/null +++ b/html/changelogs/wezzy_button_noises.yml @@ -0,0 +1,41 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: Wowzewow (Wezzy) + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - soundadd: "Adds more clicking button sounds to machines. Try it out on your nearest vending machine! Discover ALL the noises!" diff --git a/sound/machines/button1.ogg b/sound/machines/button1.ogg new file mode 100644 index 00000000000..3499e2d1722 Binary files /dev/null and b/sound/machines/button1.ogg differ diff --git a/sound/machines/button2.ogg b/sound/machines/button2.ogg new file mode 100644 index 00000000000..83970986e32 Binary files /dev/null and b/sound/machines/button2.ogg differ diff --git a/sound/machines/button3.ogg b/sound/machines/button3.ogg new file mode 100644 index 00000000000..a28da269ad6 Binary files /dev/null and b/sound/machines/button3.ogg differ diff --git a/sound/machines/button4.ogg b/sound/machines/button4.ogg new file mode 100644 index 00000000000..9fceed1611f Binary files /dev/null and b/sound/machines/button4.ogg differ diff --git a/sound/machines/buttonbeep.ogg b/sound/machines/buttonbeep.ogg new file mode 100644 index 00000000000..347ea135440 Binary files /dev/null and b/sound/machines/buttonbeep.ogg differ