diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index 2e66f970239..bf69ff99a34 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -237,10 +237,20 @@ Whitespace:Seperator;"}
var/list/drafted = list()
var/datum/mind/applicant = null
+ var/roletext
+ switch(role)
+ if(BE_CHANGELING) roletext="changeling"
+ if(BE_TRAITOR) roletext="traitor"
+ if(BE_OPERATIVE) roletext="operative"
+ if(BE_WIZARD) roletext="wizard"
+ if(BE_REV) roletext="revolutionary"
+ if(BE_CULTIST) roletext="cultist"
+
+
for(var/mob/new_player/player in world)
if(player.client && player.ready)
if(player.preferences.be_special & role)
- if(!jobban_isbanned(player, "Syndicate"))
+ if(!jobban_isbanned(player, "Syndicate") && !jobban_isbanned(player, roletext)) //Nodrak/Carn: Antag Job-bans
candidates += player.mind // Get a list of all the people who want to be the antagonist for this round
if(restricted_jobs)
@@ -253,7 +263,7 @@ Whitespace:Seperator;"}
for(var/mob/new_player/player in world)
if (player.client && player.ready)
if(!(player.preferences.be_special & role)) // We don't have enough people who want to be antagonist, make a seperate list of people who don't want to be one
- if(!jobban_isbanned(player, "Syndicate"))
+ if(!jobban_isbanned(player, "Syndicate") && !jobban_isbanned(player, roletext)) //Nodrak/Carn: Antag Job-bans
drafted += player.mind
if(restricted_jobs)
@@ -275,7 +285,7 @@ Whitespace:Seperator;"}
if(candidates.len < recommended_enemies && override_jobbans) //If we still don't have enough people, we're going to start drafting banned people.
for(var/mob/new_player/player in world)
if (player.client && player.ready)
- if(jobban_isbanned(player, "Syndicate"))
+ if(jobban_isbanned(player, "Syndicate") || jobban_isbanned(player, roletext)) //Nodrak/Carn: Antag Job-bans
drafted += player.mind
if(restricted_jobs)
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 06ef34324e1..c6d896c5fcd 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -323,25 +323,25 @@
else
jobs += "
[dd_replacetext("Revolutionary", " ", " ")] | "
+ jobs += "" //Breaking it up so it fits nicer on the screen every 5 entries
+
//Cultist
if(jobban_isbanned(M, "cultist") || isbanned_dept)
jobs += "| [dd_replacetext("Cultist", " ", " ")] | "
else
jobs += "[dd_replacetext("Cultist", " ", " ")] | "
- jobs += "
" //Breaking it up so it fits nicer on the screen every 5 entries
-
//Wizard
if(jobban_isbanned(M, "wizard") || isbanned_dept)
jobs += "| [dd_replacetext("Wizard", " ", " ")] | "
else
jobs += "[dd_replacetext("Wizard", " ", " ")] | "
- //Malfunctioning AI
- if(jobban_isbanned(M, "malf AI") || isbanned_dept)
- jobs += "[dd_replacetext("Malf AI", " ", " ")] | "
- else
- jobs += "[dd_replacetext("Malf AI", " ", " ")] | "
+ //Malfunctioning AI //Removed Malf-bans because they're a pain to impliment
+// if(jobban_isbanned(M, "malf AI") || isbanned_dept)
+// jobs += "[dd_replacetext("Malf AI", " ", " ")] | "
+// else
+// jobs += "[dd_replacetext("Malf AI", " ", " ")] | "
//Alien
if(jobban_isbanned(M, "alien candidate") || isbanned_dept)
@@ -458,7 +458,7 @@
for(var/job in joblist)
var/reason = jobban_isbanned(M, job)
if(!reason) continue //skip if it isn't jobbanned anyway
- switch(alert("Job: [job] Reason: '[reason]'. Are you sure you want to un-jobban?","Please Confirm","Yes","No"))
+ switch(alert("Job: '[job]' Reason: '[reason]' Un-jobban?","Please Confirm","Yes","No"))
if("Yes")
ban_unban_log_save("[key_name(usr)] unjobbanned [key_name(M)] from [job]")
log_admin("[key_name(usr)] unbanned [key_name(M)] from [job]")
diff --git a/code/modules/admin/banjob.dm b/code/modules/admin/banjob.dm
index ca64270a6b6..6eb44ed9611 100644
--- a/code/modules/admin/banjob.dm
+++ b/code/modules/admin/banjob.dm
@@ -12,14 +12,15 @@ var
jobban_keylist.Add(text("[ckey] - [rank]"))
jobban_savebanfile()
+//returns a reason if M is banned from rank, returns 0 otherwise
/proc/jobban_isbanned(mob/M, rank)
- if(_jobban_isbanned(M, rank)) return 1//for old jobban
+ if(_jobban_isbanned(M, rank)) return "Reason Unspecified" //for old jobban
if(M)
if (guest_jobbans(rank))
if(config.guest_jobban && IsGuestKey(M.key))
- return 1
+ return "Guest Job-ban"
if(config.usewhitelist && !check_whitelist(M))
- return 1
+ return "Whitelisted Job"
for (var/s in jobban_keylist)
if( findtext(s,"[M.ckey] - [rank]") )
@@ -28,8 +29,8 @@ var
var/text = copytext(s, startpos, 0)
if(text)
return text
- return "unknown"
- return 0
+ return "Reason Unspecified"
+ return 0
/*
DEBUG