diff --git a/code/datums/outfits/outfit.dm b/code/datums/outfits/outfit.dm index bb69a51178..ef7e9ea8ee 100644 --- a/code/datums/outfits/outfit.dm +++ b/code/datums/outfits/outfit.dm @@ -182,6 +182,8 @@ var/list/outfits_decls_by_type_ pda.ownjob = assignment pda.ownrank = rank pda.name = "PDA-[H.real_name] ([assignment])" + if(H.client.prefs.ringtone) // if null we use the job default + pda.ttone = H.client.prefs.ringtone return pda /decl/hierarchy/outfit/dd_SortValue() diff --git a/code/modules/client/preference_setup/general/04_equipment.dm b/code/modules/client/preference_setup/general/04_equipment.dm index f0d058e4f8..af786e7d64 100644 --- a/code/modules/client/preference_setup/general/04_equipment.dm +++ b/code/modules/client/preference_setup/general/04_equipment.dm @@ -12,6 +12,7 @@ S["backbag"] >> pref.backbag S["pdachoice"] >> pref.pdachoice S["communicator_visibility"] >> pref.communicator_visibility + S["ringtone"] >> pref.ringtone /datum/category_item/player_setup_item/general/equipment/save_character(var/savefile/S) S["all_underwear"] << pref.all_underwear @@ -19,6 +20,7 @@ S["backbag"] << pref.backbag S["pdachoice"] << pref.pdachoice S["communicator_visibility"] << pref.communicator_visibility + S["ringtone"] << pref.ringtone // Moved from /datum/preferences/proc/copy_to() /datum/category_item/player_setup_item/general/equipment/copy_to_mob(var/mob/living/carbon/human/character) @@ -73,6 +75,7 @@ pref.all_underwear_metadata -= underwear_metadata pref.backbag = sanitize_integer(pref.backbag, 1, backbaglist.len, initial(pref.backbag)) pref.pdachoice = sanitize_integer(pref.pdachoice, 1, pdachoicelist.len, initial(pref.pdachoice)) + pref.ringtone = sanitize(pref.ringtone, 20) /datum/category_item/player_setup_item/general/equipment/content() . = list() @@ -89,6 +92,7 @@ . += "Backpack Type: [backbaglist[pref.backbag]]
" . += "PDA Type: [pdachoicelist[pref.pdachoice]]
" . += "Communicator Visibility: [(pref.communicator_visibility) ? "Yes" : "No"]
" + . += "Ringtone (leave blank for job default): [pref.ringtone]
" return jointext(.,null) @@ -146,6 +150,9 @@ if(CanUseTopic(user)) pref.communicator_visibility = !pref.communicator_visibility return TOPIC_REFRESH - + else if(href_list["set_ringtone"]) + if(CanUseTopic(user)) + pref.ringtone = sanitize(input(user, "Please enter a new ringtone.", "Character Preference") as null|text, 20) + return TOPIC_REFRESH return ..() diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index ec19b0e0ab..ef79eccdfa 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -160,6 +160,9 @@ var/list/preferences_datums = list() // Communicator identity data var/communicator_visibility = 0 + /// Default ringtone for character; if blank, use job default. + var/ringtone = null + var/datum/category_collection/player_setup_collection/player_setup var/datum/browser/panel diff --git a/code/modules/pda/pda.dm b/code/modules/pda/pda.dm index 50d7cca9e7..41b50f72ac 100644 --- a/code/modules/pda/pda.dm +++ b/code/modules/pda/pda.dm @@ -33,12 +33,25 @@ var/global/list/obj/item/device/pda/PDAs = list() "slip" = 'sound/misc/slip.ogg', "honk" = 'sound/items/bikehorn.ogg', "SKREE" = 'sound/voice/shriek1.ogg', - // "holy" = 'sound/items/PDA/ambicha4-short.ogg', "xeno" = 'sound/voice/hiss1.ogg', - "dust" = 'sound/effects/supermatter.ogg', "spark" = 'sound/effects/sparks4.ogg', "rad" = 'sound/items/geiger/high1.ogg', - "servo" = 'sound/machines/rig/rigservo.ogg') + "servo" = 'sound/machines/rig/rigservo.ogg', + "bwoink" = 'sound/effects/adminhelp.ogg', + "buh-boop" = 'sound/misc/buh-boop.ogg', + "trombone" = 'sound/misc/sadtrombone.ogg', + "whistle" = 'sound/misc/boatswain.ogg', + "chirp" = 'sound/misc/nymphchirp.ogg', + "slurp" = 'sound/items/drink.ogg', + "pwing" = 'sound/items/nif_tone_good.ogg', + "clack" = 'sound/items/storage/toolbox.ogg', + "bzzt" = 'sound/misc/null.ogg', //vibrate mode + "chimes" = 'sound/misc/notice3.ogg', + "prbt" = 'sound/voice/prbt.ogg', + "bark" = 'sound/voice/bark2.ogg', + "bork" = 'sound/voice/bork.ogg', + "roark" = 'sound/voice/prbt.ogg', + "chitter" = 'sound/voice/moth/moth_chitter.ogg') var/hidden = 0 // Is the PDA hidden from the PDA list? var/touch_silent = 0 //If 1, no beeps on interacting. diff --git a/sound/misc/buh-boop.ogg b/sound/misc/buh-boop.ogg new file mode 100644 index 0000000000..f76ab04e33 Binary files /dev/null and b/sound/misc/buh-boop.ogg differ