Antagonists are again drafted in attempt_spawn() and all players in the pending list will be spawned (provided they pass sanity checks).
Instead, attempt_spawn() is called in either pre_setup() or post_setup() depending on if the ANTAG_OVERRIDE_JOB flag is set. And all antags have
their spawning finalized in post_setup().
In addition, if game mode setup fails, all pending antagonist players have their special roles cleared.
Antag types with ANTAG_OVERRIDE_JOB are finalized before jobs are handed out, based on the idea that something which replaces a player's job should not need to depend on their assigned job in any way.
Moves the selection of pending antags outside of can_start().
Fixes issue with antag distribution that occurs when a player is a candidate for multiple antagonist types.
setup_economy() was previously called twice, the removed call happened before character creation.
Moves the remaining line to ensure proper setup order.
Axes speed of light and procs that used it (but were not used by anything). More maths too, and max stack amounts, not used anywhere.
Ticks back stuff that was unticked for faster compile, whoops.
Now instead calls the proper round-end proc when finishing the round, allowing admins to interrupt restart if desired.
None of the current end game variants currently use over/underlays, they are now content with coloring space.
On endgame start, the entire world is now updated in a spawn() instead, reducing crippling lag.
Adds support to designate APCs are critical, these are not drained during world end events.
Fixes a couple of potential runtime errors if no escape points have bee mapped in.
People in wheelchairs and mechas can now enter the world end rift.
Cult walls no longer cultify over and over, indefinitely.
* setup_economy() was called twice.
* Game state is set to playing just before creating characters, this ensures equipment such as headsets initialize properly().
* Removes the sleep in manifest creation. Prevents duplicate manifest entries from occurring if one joins within 4 seconds of round start.
- Malfunction gamemode should now be startable. Probably not the nicest way to do it, but since the antag system is not documented at all i have no idea how to do it in nicer way.
Cleans up round end summary.
Removes duplication of traitor summaries.
Attempts to improve how the traitor purchase log is presented.
Ghosts made manifest now have different names and assignments, otherwise one would get messages like "Anguished Phantom played as an Anguished Phantom".
Instead the message is "Anguished Phantom played as a Manifest Ghost".
Previously missed Z-level checks in the form "z != X". Utilized this regex which hopefully has cought most of them [zZ](\s?)(!?)=(\s?)(\d+).
Adds more Z-level configuration, admin levels.
Now possible to configure 3 different kind of Z-levels.
Station levels: Which Z-levels the station exists on.
Contact levels: Which Z-levels are typically affected by, for example, Code Red which alters the visual state of fire alarms.
Player levels: Which Z-levels a character can typically reach.