diff --git a/code/game/jobs/whitelist.dm b/code/game/jobs/whitelist.dm index 69fc1b833c9..60b0dc1a396 100644 --- a/code/game/jobs/whitelist.dm +++ b/code/game/jobs/whitelist.dm @@ -25,6 +25,8 @@ proc/load_alienwhitelist() /proc/is_alien_whitelisted(mob/M, var/species) if(!alien_whitelist) return + if((M.client) && (M.client.holder) && (M.client.holder.level) && (M.client.holder.level >= 5)) + return 1 if(M && species) for (var/s in alien_whitelist) if(findtext(s,"[M.ckey] - [species]")) diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 193dc7729ad..072014ad574 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -393,7 +393,7 @@ proc/create_character() spawning = 1 var/mob/living/carbon/human/new_character // var/path/to/object/varname - if(preferences.species == "Tajaran") + if((preferences.species == "Tajaran") && (is_alien_whitelisted(src, "Tajaran"))) new_character = new /mob/living/carbon/human/tajaran(loc) // varname = new /path/to/object(location_to_spawn_at) else new_character = new /mob/living/carbon/human(loc) @@ -407,7 +407,7 @@ preferences.randomize_appearance_for(new_character) else preferences.copy_to(new_character) - if(preferences.species == "Soghun") //This probably shouldn't be here, but I can't think of any other way + if((preferences.species == "Soghun") && (is_alien_whitelisted(src, "Soghun"))) //This probably shouldn't be here, but I can't think of any other way new_character.mutantrace = "lizard" src << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1) diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm index 44691c0b822..92b960b3d82 100644 --- a/code/modules/mob/new_player/preferences.dm +++ b/code/modules/mob/new_player/preferences.dm @@ -705,9 +705,9 @@ datum/preferences if("input") var/list/new_species = list("Human") if(config.usealienwhitelist) //If we're using the whitelist, make sure to check it! - if((is_alien_whitelisted(user, "Soghun")) || ((user.client) && (user.client.holder) && (user.client.holder.level) && (user.client.holder.level >= 5))) //Check for Soghun and admins + if(is_alien_whitelisted(user, "Soghun")) //Check for Soghun and admins new_species += "Soghun" - if((is_alien_whitelisted(user, "Tajaran")) || ((user.client) && (user.client.holder) && (user.client.holder.level) && (user.client.holder.level >= 5))) //Check for Tajaran + if(is_alien_whitelisted(user, "Tajaran")) //Check for Tajaran new_species += "Tajaran" else //Not using the whitelist? Aliens for everyone! new_species += "Tajaran"