diff --git a/code/controllers/subsystem/SSjobs.dm b/code/controllers/subsystem/SSjobs.dm index df436ef8106..5b2d10876b0 100644 --- a/code/controllers/subsystem/SSjobs.dm +++ b/code/controllers/subsystem/SSjobs.dm @@ -428,6 +428,9 @@ SUBSYSTEM_DEF(jobs) AssignRole(player, "Assistant") else AssignRole(player, "Assistant") + else if(length(player.mind.restricted_roles)) + stack_trace("A player with `restricted_roles` had no `special_role`. They are likely an antagonist, but failed to spawn in.") // this can be fixed by assigning a special_role in pre_setup of the gamemode + message_admins("A player mind ([player.mind]) is likely an antagonist, but may have failed to spawn in! Please report this to coders.") // Then we assign what we can to everyone else. for(var/mob/new_player/player in unassigned) diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index 93c6eaec86d..9583e0e849f 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -44,6 +44,7 @@ var/datum/mind/new_headrev = pick_n_take(possible_revolutionaries) pre_revolutionaries |= new_headrev new_headrev.restricted_roles = restricted_jobs + new_headrev.special_role = SPECIAL_ROLE_HEAD_REV if(length(pre_revolutionaries) < required_enemies) return FALSE