diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index 7b121f3f458..c21cb6c999f 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -15,8 +15,9 @@ #define INTENT_STYLE 4096 #define CHAT_GHOSTWHISPER 8192 #define MIDROUND_ANTAG 16384 +#define CHAT_GHOSTPDA 32768 -#define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|MEMBER_PUBLIC|CHAT_PULLR|INTENT_STYLE|CHAT_GHOSTWHISPER|MIDROUND_ANTAG) +#define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|MEMBER_PUBLIC|CHAT_PULLR|INTENT_STYLE|CHAT_GHOSTWHISPER|MIDROUND_ANTAG|CHAT_GHOSTPDA) #define BE_TRAITOR 1 #define BE_OPERATIVE 2 diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 64b328c5877..6a25b6c50be 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -816,6 +816,9 @@ var/global/list/obj/item/device/pda/PDAs = list() tnote += "→ To [P.owner]:
[t]
" P.tnote += "← From [owner] ([ownjob]):
[t]
" + for(var/mob/M in player_list) + if(M.stat == DEAD && M.client && (M.client.prefs.toggles & CHAT_GHOSTPDA)) + M.show_message("PDA Message - [owner] -> [P.owner]: [t]") if (!P.silent) playsound(P.loc, 'sound/machines/twobeep.ogg', 50, 1) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 88939f458f1..402b5698577 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -226,6 +226,7 @@ datum/preferences dat += "Ghost ears: [(toggles & CHAT_GHOSTEARS) ? "Nearest Creatures" : "All Speech"]
" dat += "Ghost sight: [(toggles & CHAT_GHOSTSIGHT) ? "Nearest Creatures" : "All Emotes"]
" dat += "Ghost whispers: [(toggles & CHAT_GHOSTWHISPER) ? "Nearest Creatures" : "All Speech"]
" + dat += "Ghost pda: [(toggles & CHAT_GHOSTPDA) ? "Nearest Creatures" : "All Messages"]
" dat += "Pull requests: [(toggles & CHAT_PULLR) ? "Yes" : "No"]
" dat += "Midround Antagonist: [(toggles & MIDROUND_ANTAG) ? "Yes" : "No"]
" if(config.allow_Metadata) @@ -783,6 +784,9 @@ datum/preferences if("ghost_whispers") toggles ^= CHAT_GHOSTWHISPER + if("ghost_pda") + toggles ^= CHAT_GHOSTPDA + if("pull_requests") toggles ^= CHAT_PULLR diff --git a/code/modules/client/preferences_toggles.dm b/code/modules/client/preferences_toggles.dm index fbcdf5d6f66..3f41b53cdfd 100644 --- a/code/modules/client/preferences_toggles.dm +++ b/code/modules/client/preferences_toggles.dm @@ -26,6 +26,15 @@ prefs.save_preferences() feedback_add_details("admin_verb","TGW") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! +/client/verb/toggle_ghost_pda() + set name = "Show/Hide GhostPDA" + set category = "Preferences" + set desc = ".Toggle Between seeing all mob pda messages, and only pda messages of nearby mobs" + prefs.toggles ^= CHAT_GHOSTPDA + src << "As a ghost, you will now [(prefs.toggles & CHAT_GHOSTPDA) ? "see all pda messages in the world" : "only see pda messages from nearby mobs"]." + prefs.save_preferences() + feedback_add_details("admin_verb","TGP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + /client/proc/toggle_hear_radio() set name = "Show/Hide RadioChatter" set category = "Preferences" diff --git a/html/changelogs/Mandurrrh-pdaghost.yml b/html/changelogs/Mandurrrh-pdaghost.yml new file mode 100644 index 00000000000..446b94df5b2 --- /dev/null +++ b/html/changelogs/Mandurrrh-pdaghost.yml @@ -0,0 +1,8 @@ +author: Mandurrrh + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + + +changes: + - rscadd: "Added the ability to see pda messages as a ghost with GHOSTWHISPER toggled on."