Skip to content

Adds Backstage OOC chat#1033

Open
carpotoxin wants to merge 11 commits into
masterfrom
seagirl
Open

Adds Backstage OOC chat#1033
carpotoxin wants to merge 11 commits into
masterfrom
seagirl

Conversation

@carpotoxin
Copy link
Copy Markdown
Collaborator

@carpotoxin carpotoxin commented May 2, 2026

About The Pull Request

Adds an antag and security combined OOC channel, and an emoji. Also, ghosts can see SOOC, AOOC and backstage unless they disable OOC sight.

Why It's Good For The Game

It was requested of me to add a combined antag and security OOC channel. It makes sense to coordinate RP better.
I personally find the formatting to be improved, and I think its fun for ghosts to see the OOC channels. After all, it just helps them know what they're getting into may they wish to join.

Testing Evidence

image
untitled.webm

Changelog

🆑
add: Backstage OOC channel for antags and security
qol: Ghosts can eavesdrop on AOOC, SOOC and backstage
add: :blorbo: emoji
/:cl:

@github-actions github-actions Bot added Sprites Funny little pixels on our screen UI Quality of Life Makes life a little bit easier. Feature Something new, something fresh. labels May 2, 2026
Copy link
Copy Markdown
Collaborator

@00-Steven 00-Steven left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

flops over

Comment thread code/_globalvars/~doppler_globalvars/ooc_channels.dm Outdated
Comment on lines +11 to +18
GLOBAL_LIST_INIT(sooc_job_lookup, list(
JOB_CAPTAIN = TRUE,
JOB_HEAD_OF_SECURITY = TRUE,
JOB_WARDEN = TRUE,
JOB_DETECTIVE = TRUE,
JOB_SECURITY_OFFICER = TRUE,
JOB_COMMAND_BODYGUARD = TRUE,
))
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there's an argument to be made about adding the sophont resources officer, cause they're supposed to mediate/negotiate with security in a bunch of situations

also, I just realized, it's kinda awkward that the captain gets access to this but like acting captains don't really, do they? honestly unsure how best to fix that.
the Easy one would be "all command" for backstage, but that'd include a bunch of like non acting captain people-- but like there's an argument to be made for including all command in backstage anyway, cause it Will be all of their problems too if anything meaningful enough goes down

Comment thread code/_globalvars/~doppler_globalvars/ooc_channels.dm Outdated
Comment thread code/_globalvars/~doppler_globalvars/ooc_channels.dm Outdated
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel we gotta commit to calling this backstage in code, rather than flip flopping on asooc or backstage

var/color = (!anon && CONFIG_GET(flag/allow_admin_ooccolor) && iterated_client?.prefs?.read_preference(/datum/preference/color/ooc_color)) ? iterated_client?.prefs?.read_preference(/datum/preference/color/ooc_color) : GLOB.backstage_color[red_or_blue]
var/name = (mode == LISTEN_ADMIN && anon) ? "([key])[keyname]" : keyname
var/chat_icon = (is_admin(mob.client) && !GLOB.deadmins[mob.client?.ckey]) ? icon2html(MODULAR_EMOJI_SET, world, "dolphin") : icon2html(red_or_blue == ASOOC_RED ? EMOJI_SET : MODULAR_EMOJI_SET, world, red_or_blue == ASOOC_RED ? "pop" : "blorbo")
to_chat(iterated_client, span_oocplain("<font color='[color]'> [chat_icon] <EM>[name]</EM> says, <b><span class='message linkify'>[msg]</span></b></font>"))
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should probably also use the span_[X](...) type defines
https://github.com/DopplerShift13/DopplerShift/blob/master/code/__DEFINES/span.dm
<EM> iirc is span_italic(...), <b> being span_bold(...), the message and linkify ones also being their own ones
probably a bit awkward here, but like, we're setting the name var directly above anyway
I'd probably do

var/namepart = span_italic(name)
var/msgpart = span_bold(span_message(span_linkify(msg)))
to_chat(iterated_client, span_oocplain("<font color='[color]'> [chat_icon] [namepart] says, [msgpart]</font>"))

or y'know make out own span_backstage(...) define for this so we can have msgpart = span_backstage(msg) instead of this mess

Comment on lines +76 to +77
for(var/iterated_listener as anything in listeners)
var/client/iterated_client = iterated_listener
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

am i tripping or like doesn't as anything let you do

	for(var/client/iterated_client as anything in listeners)


for(var/iterated_listener as anything in listeners)
var/client/iterated_client = iterated_listener
var/mode = listeners[iterated_listener]
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick: var/listening_mode

Comment on lines 9 to 12
/datum/computer_file/program/emojipedia/New()
. = ..()
var/list/extra = icon_states(icon(MODULAR_EMOJI_SET))
emoji_list |= extra
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doesn't this Still have the issue of adding to a static list every time the program is created?

/datum/keybinding/client/communication/backstage
hotkey_keys = list("ShiftO")
name = BACKSTAGE_CHANNEL
full_name = "Backstage OOC (SAOOC)"
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and here we say SAOOC instead of ASOOC or Backstage
probably just edit this to "Backstage OOC (Antag/Sec)" parallel to the verb's naming scheme

@github-actions github-actions Bot added the Sound Soundwaves that hit the player at roughly 342 m/s label May 10, 2026
@projectkepler-ru
Copy link
Copy Markdown

Hello??? fucking peak???

@github-actions
Copy link
Copy Markdown

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself

@github-actions github-actions Bot added the Stale label May 19, 2026
@kannthus
Copy link
Copy Markdown
Member

has been working great. I believe there are some additions of Command and the AI being added, which would seal the deal on this PR.

Lovely work as usual Carpo.

@github-actions
Copy link
Copy Markdown

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself

@github-actions github-actions Bot added the Stale label May 29, 2026
@kannthus
Copy link
Copy Markdown
Member

kannthus commented May 29, 2026

Some feedback I've heard from the community, primarily features.

  1. A toggle in the settings menu that lets you see the obfuscated names of Antags instead of their name. Some say that they have difficulty with ignoring the OOC knowledge of who an antag is, so this would aid with that. Uncertain of the difficulty.
  2. A more important one, Cantina Guests are not included in the backstage. This is likely because they do not have the "Antag" faction tag (as they aren't given TC). Could they be added as well.

These are primarily QOL suggestions, there is no obligation to-do them.
Thank you for the great work Carpo, you never fail to impress. ❤️

@carpotoxin carpotoxin removed the Stale label May 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature Something new, something fresh. Quality of Life Makes life a little bit easier. Sound Soundwaves that hit the player at roughly 342 m/s Sprites Funny little pixels on our screen UI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants