Players cannot observe before PREGAME is reached

Ready | Not Ready | Observe is now a three way toggle

The player ready status has been refactored into an ENUM of the three
states, READY, NOT_READY and OBSERVING

if the tickerstate is at least PREGAME they will spawn as observers,
before then you can only register your interest in observing.

All the observer code has been centralised into a single
make_me_an_observer proc on new_player mobs
This commit is contained in:
oranges
2017-06-09 13:14:11 +12:00
parent ee2e76d774
commit c866a77147
6 changed files with 93 additions and 70 deletions

View File

@@ -224,7 +224,7 @@ SUBSYSTEM_DEF(job)
//Get the players who are ready
for(var/mob/dead/new_player/player in GLOB.player_list)
if(player.ready && player.mind && !player.mind.assigned_role)
if(player.ready == PLAYER_READY_TO_PLAY && player.mind && !player.mind.assigned_role)
unassigned += player
initial_players_to_assign = unassigned.len
@@ -456,7 +456,7 @@ SUBSYSTEM_DEF(job)
var/level5 = 0 //banned
var/level6 = 0 //account too young
for(var/mob/dead/new_player/player in GLOB.player_list)
if(!(player.ready && player.mind && !player.mind.assigned_role))
if(!(player.ready == PLAYER_READY_TO_PLAY && player.mind && !player.mind.assigned_role))
continue //This player is not ready
if(jobban_isbanned(player, job.title))
level5++
@@ -489,7 +489,7 @@ SUBSYSTEM_DEF(job)
Debug("Popcap overflow Check observer located, Player: [player]")
to_chat(player, "<b>You have failed to qualify for any job you desired.</b>")
unassigned -= player
player.ready = 0
player.ready = PLAYER_NOT_READY
/datum/controller/subsystem/job/Recover()