Jump to content

'Mulligan' rounds.


Spacemanspark

Recommended Posts

 

https://github.com/tgstation/-tg-station/pull/7924

Essentially, this creates more antags if a round ending antag type (Blob, Nuke Ops, etc..) gets destroyed fairly fast.

 

So there's been a new mechanic I've basically been live debugging on the servers for the past week or so called mulligan antag. Basically what it does is create more antagonists in solo antag rounds (Wizard, Blob, Malf) in the event that the solo antag gets dunked prematurely. Unless you're a code reader it's a pretty hard system to really feel, and I wanted to really lay out in a (comparatively) easy way how it works and what you can customize. It's also a feedback thread if you want to leave any.

 

Some components of this description are from this pull, which isn't live yet. These features will be listed in blue.

 

Chronological Description of The System (higher number outcomes trump lower number outcomes):

 

1. When a round would typically end in a single antagonist roundtype, if the corresponding flag is set (continuous_round_wiz, continuous_round_malf, continuous_round_blob) the system is run, otherwise the round ends.

 

2. A list is made of all the round types considered "friendly" to the system, if none are found the round ends there. The round types that can be used are: Extended, Traitor, Traitorling, Ling, and Double Agents.

 

3. A round type is chosen for the mulligan, the odds of each mirror the odds of them being selected at round start in relation to each other.

 

4. A location check is made on the emergency shuttle: if it is already at the station, or if its in transit and too late to be recalled the round continues to a "peaceful" centcom finish. No new antagonists are made.

 

5. A time check is made on the round: If the round has been going longer than config value "midround_antag_time_check" (default an hour), the round ends immediately.

 

6. A living player check is made: If the number of players who took part in the round still who alive is lower than "midround_antag_life_check" (default 70%), the round ends immediately.

 

7. An antagonist check is made: A list of players with "allow_midround_antag" on (players can set this from character selection or the preference tab) is made for later use. If absolutely no one wants to be given antagonist like this, the round ends immediately.

 

8. Any config options related to who can't be an antagonist are applied to the list.

 

9. Any active admins on the server is alerted at this point that the mulligan is assuredly coming and are given the opportunity to end the round as a judgement call if they feel that enough has already happened. Those that take this option are warned with multiple confirmations before the round actually ends, and admins are notified if they try to activate round end this way.

 

10. A peace of 3 to 7 minutes descends upon the station for people to pick up the pieces, return to their workplaces, and generally try to get back to life as normal.

 

11. The list is shuffled and every player on the list is given in turn a chance to become an antagonist. This chance decreases to zero as antagonists are made, so those that were randomly assigned to the top of the list are most apt to become the antagonists. By the end of assignment the number of antagonists will be roughly equivalent to a round that had begun as the mulligan roundtype. Late round antag chances will continue to be given to new players as they join provided they meet the rules for it.

 

---

 

Ways to customize the system:

 

The system can be disabled for individual game modes through a combination of config options in "continuous_round_wiz", "continuous_round_malf", and "continuous_round_blob". Setting all three to false will render this system unused.

 

The time check, "midround_antag_time_check" is in minutes. It can be effectively removed from the system by setting it to some very large number. If you would like to disable the system while allowing for peaceful trips to centcom when relevent, set this config option to 0

 

The life check, "midround_antag_life_check" is a ratio. It can be effectively removed from the system by setting it to 0 (always passes). Setting it above 1 will cause rounds to always always end immediately, effectively disabling the system

 

 

Link to comment
Share on other sites

 

I'd like to say this is completely positive, but I'm just afraid that what'd end up happening is people actively pursuing non-lethal options on those particular antags to stop other ones being created (meta/powergaming is already a pretty hefty issue, this won't help much.)

 

That said, if players aren't dicks about it and it gets added, fun times all around (aside from the dead antag)

 

Link to comment
Share on other sites

 

I'd like to say this is completely positive, but I'm just afraid that what'd end up happening is people actively pursuing non-lethal options on those particular antags to stop other ones being created (meta/powergaming is already a pretty hefty issue, this won't help much.)

 

That said, if players aren't dicks about it and it gets added, fun times all around (aside from the dead antag)

 

Not only this, but it becomes "welp, wizard/nukies/blob is dead; let's look for the next antag"

 

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Terms of Use