Page 1 of 1

Mulligan Antag: How it works and How it can be customized

Posted: Tue Mar 10, 2015 8:39 am
by Incoming
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.

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

Re: Mulligan Antag: How it works and How it can be customize

Posted: Tue Mar 10, 2015 8:53 am
by Incomptinence
Had a wizard stomp fest transform into crushing the puny blob at the hands of our capable crew then we all flew out feeling like champs, fantastic addition to the game.

Re: Mulligan Antag: How it works and How it can be customize

Posted: Tue Mar 10, 2015 5:25 pm
by Not-Dorsidarf
I should work on the ARMAGEDDON MODE/tensioner 2.0

BLOB BLOB BLOB NINJA NINJA WIZARD PARTY NUKE OPS RUMBLE RUMBLE AND NOW YOU'RE ALL TRAITORS DID I MENTION BLOB AGAIN?

Re: Mulligan Antag: How it works and How it can be customize

Posted: Tue Mar 10, 2015 11:45 pm
by AnonymousNow
What little I remember from the last thread...

- Add Revolution as a Mulligan roundtype, from and into. A whole new dynamic for both.
- Add Cascade for a random antagonist add-in every 15 minutes, no matter what.

Re: Mulligan Antag: How it works and How it can be customize

Posted: Sun Mar 22, 2015 7:19 pm
by Incoming
So I found a pretty huge bug in the system that was generating all those extended rounds that probably soured some peoples opinions on this:

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

Once that's live you should actually SEE mulligan antag system working a lot more.

---

Also if anyone is wondering why mulligan wizard seems broken, it's not, it's just disabled server side right now (along with a few other components of wizard mode). Hopefully that can get resolved once THIS pull goes live

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

Re: Mulligan Antag: How it works and How it can be customize

Posted: Sat Mar 28, 2015 10:54 pm
by Incoming
https://github.com/tgstation/-tg-station/pull/8586

More changes coming to the system here. In short it allows for full customization of the modes and effects of mulligan antag. What rounds it occurs in, what odds it uses for the new roundtype, whether or not to end rounds if the system reports that shit is too fucked for more antags. It's all there.

Re: Mulligan Antag: How it works and How it can be customize

Posted: Sun Mar 29, 2015 4:12 am
by callanrockslol
TENSIONER 2.0: NOT A BROKEN PIECE OF SHIT THIS TIME

I LOVE IT

Re: Mulligan Antag: How it works and How it can be customize

Posted: Sun Mar 29, 2015 2:28 pm
by Phalanx300
Are Aliums also included in this system?

Re: Mulligan Antag: How it works and How it can be customize

Posted: Sun Mar 29, 2015 4:28 pm
by Incoming
No this system only works for antagonists with a corresponding roundtype. Aliens/space ninjas are still governed by the event system and Deathsquad/ERT squad are still admin only.

Re: Mulligan Antag: How it works and How it can be customize

Posted: Sun Mar 29, 2015 4:41 pm
by onleavedontatme
I know I complain a lot so I want to be positive and say this is a fantastic idea even if its needed tweaking.