mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-28 01:51:46 +00:00
## 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.  ## 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 /🆑
152 lines
4.6 KiB
Plaintext
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",
|
|
))
|