Skip to content

Conversation

@Rukofamicom
Copy link
Contributor

@Rukofamicom Rukofamicom commented Nov 12, 2025

About The Pull Request

Players are no longer stopped and told they are required to alert admins when they are leaving a round via cryo

Players are now automatically offered to ghosts when playing antagonist roles and attempting to cryo

Using cryo to evade security officers or other conflict is metagaming, and players who accept the prompt to enter a cryopod can no longer change their minds, they can instead respawn. Once the cryopod takes a willing person it will not give them back unless a new ghost takes the role.

(Unchanged from current behavior) Players cannot be placed into cryopods by another player if their client is connected.

Players which are placed into cryopods while they are disconnected may still freely leave the cryopod if they reconnect within the grace period (currently set to 5 minutes).

Cryo smites still immediately remove players from the round without offering them because they are a conscious administrative action.

Why It's Good For The Game

Cuts down on both player and admin expectations by automating a system that should always be happening anyway.

Testing Photographs and Procedure

Screenshots&Videos image image

I did further testing than this, but the screenshots were lost. This system notably does not work with the cryo smites because they were coded in a fairly janky way. If an admin is available to cryo smite, they are also available to offer the body to ghosts directly instead

Changelog

🆑
tweak: Going to cryo no longer requires notifying admins for any roles.
/:cl:

@Fresh839
Copy link
Contributor

I’m personally not a big fan of this. And I’m not sure it might not just make people go SSD in a closet instead of cryoing.

In the end I do believe that if it’s my character I should be able to decide when it gets played by someone else. Wizards/lings and the other things are super rare. Part of the game but rare enough to be fine. And it is not “you” but rather someone else pretending to be you.

Offering up after cryo would not be rare at all really.

An argument could as well be made that the new person wouldn’t be able to play the character like you had in mind creating it. Which would create a disconnect between people who interacted with you before you went to cryo.

This is different from ling possess, wizard, genetics, because in that case it isn’t “you” but someone else disguising as you.

I think it is only human to be a bit possessive about your character. You made it and put time in after all.

Injecting new antags whenever an antagonist cryos (like dynamic somewhat already does) is in my opinion a lot more elegant than a force offering to observers.

@PowerfulBacon
Copy link
Member

PowerfulBacon commented Nov 12, 2025

Oh perfect, i was going to do this anyway with my gamemode stuff since the antag offering is necessary for that. Can it be a flag on the antag datum so not all cause a ghost offering (ashwalker and survivor don't need to offer, for example)

It might not be necessary to offer heads up, since I don't think they're that important, but more importantly I don't think they'll get taken much

@Fronsis
Copy link

Fronsis commented Nov 12, 2025

Antags are okay in my book, heads is.. dunno strange? to have them offered IMO

@TsunamiAnt
Copy link
Contributor

ditto on the heads part.

Especially with heads, where the actual decisionmaking of the person matters.

Either I'll have to just bury myself in a locker, or if we make that against the rules, then I’ll have to stop playing heads.

I don't think we should be attaching drawbacks to a system meant to be solely for player accessibility.

@Rukofamicom
Copy link
Contributor Author

In the end I do believe that if it’s my character I should be able to decide when it gets played by someone else. Wizards/lings and the other things are super rare. Part of the game but rare enough to be fine. And it is not “you” but rather someone else pretending to be you.

None of these things are super rare.

Wizards are actively stealing your body and leaving you in a different one, they're as much actually you as they could possibly get and the process can't be reversed. It's identical to a different player being put into your original body.

An argument could as well be made that the new person wouldn’t be able to play the character like you had in mind creating it.

Just like brainwashing and other antagonist conversions don't let you do, and you're not allowed to go against those. The players which ragequit in response to this are even actively punished for it. You don't go into an improv setting without flexibility.

Comment on lines +260 to +261
var/datum/antagonist/A = mob_occupant.mind.has_antag_datum(/datum/antagonist)
if(A)
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
var/datum/antagonist/A = mob_occupant.mind.has_antag_datum(/datum/antagonist)
if(A)
if(mob_occupant.mind.has_antag_datum(/datum/antagonist))

if(offer_control(mob_occupant))
open_machine()
else
despawn_occupant()
Copy link
Member

Choose a reason for hiding this comment

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

I think we need better recovery for when someone leaves but doesn't get taken by ghosts (perhaps it is early in the round or something).
My thinking would be something like this:

  • Default antagonist behaviour would be to do nothing and let the cryo-pod keep pinging ghosts every 10 minutes until someone takes the role. (By returning false or something like that and letting the cryopod handle it form there)
  • Overriding this behaviour would let you do stuff like transfer the role if possible or give it to someone else. (For example, blood brothers might convert the other brother into a traitor if nobody takes the role)

With the plans for antagonists to become important, we need to be able to error handle important characters leaving and not being immediately re-taken.

Comment on lines +260 to +261
var/datum/antagonist/A = mob_occupant.mind.has_antag_datum(/datum/antagonist)
if(A)
Copy link
Member

Choose a reason for hiding this comment

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

This needs to differentiate between soft antagonists like ashwalkers/survivalists (who can just leave and be instantly despawned), conversion/less important antagonists (cult, etc.) who can leave and be offered but despawn if nobody takes them, and important antagonists (traitors, etc.) who need their antag datum to be kept in a round.

@PowerfulBacon
Copy link
Member

I'll take over this PR, frozen pending #13630

@PowerfulBacon PowerfulBacon added Frozen Frozen until a larger project is finished Feature Freeze Source The source of a feature freeze labels Nov 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature Freeze Source The source of a feature freeze Frozen Frozen until a larger project is finished

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants