Files
Bubberstation/code/_globalvars/admin.dm
DrTuxedo 531486b995 Curator LIVE Journalism (#86046)
## About The Pull Request
The first Curator now spawns with a **Broadcast Camera**, a normal-sized
item that can be wielded to start a live broadcast to all entertainment
screens across the Station! It also broadcasts sound through a new
Entertainment radio channel that can be spoken into by the Curator. The
broadcast name can be changed by right-clicking the camera.
<details>


https://github.com/user-attachments/assets/cfe2a147-15b3-4a96-85e2-3082376a0e9a

</details>

Also adds a new clothing set to the Heroic Beacon of the Curator themed
around Journalists containing some unique clothing, a microphone, a
Press badge used for shoving into people's faces and crafting more
clothes (like Press armor and helmet), and also a set of 1 TV and 1
entertainment radio in-case station does not have places to watch
Curator's brilliant broadcasts.


![press_drip](https://github.com/user-attachments/assets/ea264e13-01b8-46c4-87cd-6b174bc5b470)
## Why It's Good For The Game
The job of Curator has 3 things it can do:

- Curate Library (lol)
- Explore Space
- **Create News!**

Although the Curator does have extended access to the Newscaster -
that's not enough of content. Inspired by the Combat Correspondent from
the Colonial Marines server - Curator now has a **Broadcast Camera**!
Using it they can show the station what the most important matters that
are going on without lifting the butts of their comfortable chairs.
No matter what Curator will report: Security raiding Medbay? Interviews
of Cargo Techs complaining about Command? Maybe even shows produced in a
studio? Anything really!

Also, entertainment screens will get more use, as right now they only
_sometimes_ broadcast Bitrunning avatars and nothing else unless admins
mess with them.
## Changelog
🆑 DrDiasyl aka DrTuxedo
add: Curator has received a new BROADCAST CAMERA which can broadcast the
surroundings LIVE on Entertainment Screens/ Alongside with some other
Journalism related gear in his Heroic Beacon
sound: Entertainment screens now play muffled speech when hearing a
message on Entertainment frequency
/🆑
2024-08-25 00:21:12 +02:00

152 lines
4.6 KiB
Plaintext

GLOBAL_LIST_EMPTY(stickybanadminexemptions) //stores a list of ckeys exempted from a stickyban (workaround for a bug)
GLOBAL_LIST_EMPTY(stickybanadmintexts) //stores the entire stickyban list temporarily
GLOBAL_VAR(stickbanadminexemptiontimerid) //stores the timerid of the callback that restores all stickybans after an admin joins
/proc/init_smites()
var/list/smites = list()
for (var/_smite_path in subtypesof(/datum/smite))
var/datum/smite/smite_path = _smite_path
smites[initial(smite_path.name)] = smite_path
return smites
GLOBAL_LIST_INIT_TYPED(smites, /datum/smite, init_smites())
GLOBAL_VAR_INIT(admin_notice, "") // Admin notice that all clients see when joining the server
// A list of all the special byond lists that need to be handled different by vv
GLOBAL_LIST_INIT(vv_special_lists, init_special_list_names())
/proc/init_special_list_names()
var/list/output = list()
var/obj/sacrifice = new
for(var/varname in sacrifice.vars)
var/value = sacrifice.vars[varname]
if(!islist(value))
if(!isdatum(value) && hascall(value, "Cut"))
output += varname
continue
if(isnull(locate(REF(value))))
output += varname
return output
///A giant associative list of span names, and the associated key to create the text span. Used for narrate verbs.
GLOBAL_LIST_INIT(spanname_to_formatting, list(
"Abductor" = "abductor",
"Admin" = "admin",
"Adminhelp" = "adminhelp",
"Admin Notice" = "adminnotice",
"Admin Observer OOC" = "adminobserverooc",
"Admin OOC" = "adminooc",
"Adminsay" = "adminsay",
"AI Private Radio" = "aiprivradio",
"Alert" = "alert",
"Alien Alert" = "alertalien",
"Syndie Alert" = "alertsyndie",
"Alert Warning" = "alertwarning",
"Alien" = "alien",
"Average" = "average",
"Bad" = "bad",
"Big" = "big",
"Binary Say" = "binarysay",
"Blob" = "blob",
"Blob Announce" = "blobannounce",
"Blue" = "blue",
"Blue Team Radio" = "blueteamradio",
"Bold" = "bold",
"Bold Announce" = "boldannounce",
"Bold Danger" = "bolddanger",
"Bold Italic" = "bolditalic",
"Bold Nice Green" = "boldnicegreen",
"Bold Notice" = "boldnotice",
"Bold Warning" = "boldwarning",
"Big Bold" = "big bold",
"Centcom Radio" = "centcomradio",
"Changeling" = "changeling",
"Clown" = "clown",
"Colossus" = "colossus",
"Command Headset" = "command_headset",
"Cult" = "cult",
"Cult Bold" = "cult_bold",
"Cult Bold Italic" = "cult_bold_italic",
"Cult Italic" = "cult_italic",
"Cult Large" = "cult_large",
"Danger" = "danger",
"Deadchat" = "deadsay",
"Deconversion Message" = "deconversion_message",
"Drone Radio" = "drone",
"Engineering Radio" = "engradio",
"Extremely Big" = "extremelybig",
"Entertainment Radio" = "enteradio",
"Game Say" = "game say",
"Ghost Alert" = "ghostalert",
"Green" = "green",
"Green Announce" = "greenannounce",
"Green Team Radio" = "greenteamradio",
"Greentext" = "greentext",
"Grey" = "grey",
"Hierophant" = "hierophant",
"Hierophant Warning" = "hierophant_warning",
"Highlight" = "highlight",
"His Grace" = "his_grace",
"Holoparasite" = "holoparasite",
"Holoparasite Bold" = "holoparasite bold",
"Hypnosis" = "hypnophrase",
"Icon" = "icon",
"Info" = "info",
"Info Plain" = "infoplain",
"Interface" = "interface",
"Looc" = "looc",
"Medal" = "medal",
"Medradio" = "medradio",
"Message" = "message",
"Mind Control" = "mind_control",
"Monkey" = "monkey",
"Narsie" = "narsie",
"Narsie Small" = "narsiesmall",
"Nice Green" = "nicegreen",
"Notice" = "notice",
"Notice Alien" = "noticealien",
"OOC" = "ooc",
"Papyrus" = "papyrus",
"Phobia" = "phobia",
"Prefix" = "prefix",
"Purple" = "purple",
"Radio" = "radio",
"Really Big" = "reallybig",
"Red" = "red",
"Red Team Radio" = "redteamradio",
"Red Text" = "redtext",
"Golem Resonate" = "resonate",
"Revenant Big Notice" = "revenbignotice",
"Revenant Bold Notice" = "revenboldnotice",
"Revenant Danger" = "revendanger",
"Revenant Minor" = "revenminor",
"Revenant Notice" = "revennotice",
"Revenant Warning" = "revenwarning",
"Robot" = "robot",
"Rose" = "rose",
"Comic Sans" = "sans",
"Science Radio" = "sciradio",
"Security Radio" = "secradio",
"Service Radio" = "servradio",
"Singing" = "singing",
"Slime" = "slime",
"Small" = "small",
"Small Notice" = "smallnotice",
"Small Notice Italic" = "smallnoticeital",
"Spider Broodmother" = "spiderbroodmother",
"Spider Scout" = "spiderscout",
"Spider Breacher" = "spiderbreacher",
"Suicide" = "suicide",
"Supply Radio" = "suppradio",
"Syndicate Radio" = "syndradio",
"Tape Recorder" = "tape_recorder",
"Tiny Notice" = "tinynotice",
"Tiny Notice Italic" = "tinynoticeital",
"Unconcious" = "unconscious",
"User Danger" = "userdanger",
"Warning" = "warning",
"Yelling" = "yell",
"Yellow Team Radio" = "yellowteamradio",
))