diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 42fb3105f18..cb0e9fef25d 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -281,10 +281,11 @@ // Get a list of all the people who want to be the antagonist for this round, except those with incompatible species for(var/mob/new_player/player in players) - if((role in player.client.prefs.be_special) && !(player.client.prefs.species in protected_species)) - player_draft_log += "[player.key] had [roletext] enabled, so we are drafting them." - candidates += player.mind - players -= player + if(!player.skip_antag) + if((role in player.client.prefs.be_special) && !(player.client.prefs.species in protected_species)) + player_draft_log += "[player.key] had [roletext] enabled, so we are drafting them." + candidates += player.mind + players -= player // If we don't have enough antags, draft people who voted for the round. if(candidates.len < recommended_enemies) diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 9d16d66a64c..0db7535c97b 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -1,6 +1,7 @@ /mob/new_player var/ready = 0 - var/spawning = 0//Referenced when you want to delete the new_player later on in the code. + var/skip_antag = 0 //For declining an antag roll this round. + var/spawning = 0 //Referenced when you want to delete the new_player later on in the code. var/totalPlayers = 0 //Player counts for the Lobby tab var/totalPlayersReady = 0 universal_speak = 1 @@ -31,6 +32,11 @@ if(!ready) output += "

Declare Ready

" else output += "

You are ready (Cancel)

" + var/list/antags = client.prefs.be_special + if(antags && antags.len) + if(!skip_antag) output += "

Global Antag Candidancy" + else output += "

Global Antag Candidancy" + output += "
You are [skip_antag ? "ineligable" : "eligable"] for all antag roles.

" else output += "

View the Crew Manifest

" output += "

Join Game!

" @@ -112,6 +118,10 @@ ready = !ready new_player_panel_proc() + if(href_list["skip_antag"]) + skip_antag = !skip_antag + new_player_panel_proc() + if(href_list["refresh"]) src << browse(null, "window=playersetup") //closes the player setup window new_player_panel_proc()