tgstation/-tg-station — pull request #4306 by RemieRichards (2014-07-31 19:00:49+00:00)
Title: Roundstart Logout Logging and Punishment [Controversial]

##Main:
Logging out before a Defined ROUNDSTART_END_TIME (Defaults to 10 minutes) resorts in a variable on your savefile roundstart_logout_count going up by 1. When rolling for an antagonist role, this is taken into account.
if roundstart_logout_count is between 2 defines, a MIN and a MAX the current antag loop ends, and you're placed back into the pool (so you were technically punished, but can still roll a lucky antag).
if it's between the MAX and INFINITY you are removed form the candidate list entirely for that round.
Admins can bypass this entirely using the usual create antagonist procs.
Whenever you are present for a round end, be in natural or by an Admin, your roundstart_logout_count is reduced by 1, allowing you to "earn" your normal antag rolls back overtime.

##Config:
Logging of Roundstart logouts always happens, regardless of the config.
Punishment because of Roundstart logouts is locked to the config

This needs to be added to SoS's game_options.txt (I didn't do this so that it doesn't conflict with his)
##Punish players who frequently log out at roundstart
##(before a specified time, default 10 mins) with reduced antag chances
PUNISH_ROUNDSTART_LOGOUTS

The above defaults to ON, as in punishing the player.

This is designed to encourage players staying in the round, and to discourage "I didn't get antag? Disconnect" behaviour.

I'm aware of the Feature Freeze, but this will probably need a bit of discussion.