diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index 88eda4c7741..f14f6fd379c 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -77,7 +77,7 @@
return
if (src.operating)
return
- if (src.density && !issmall(M) && src.allowed(AM))
+ if (src.density && (!issmall(M) || ishuman(M)) && src.allowed(AM))
open()
if(src.check_access(null))
sleep(50)
diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm
index 9d9919e4ed5..83a2f3b370a 100644
--- a/code/modules/admin/player_panel.dm
+++ b/code/modules/admin/player_panel.dm
@@ -290,7 +290,7 @@
- [M_name] - [M_rname] - [M_key] ([M_job])
+ [M_name] - [M_rname] - [M_key] ([M_job])
diff --git a/code/modules/games/boardgame.dm b/code/modules/games/boardgame.dm
index a5c11902889..cb25dabdb24 100644
--- a/code/modules/games/boardgame.dm
+++ b/code/modules/games/boardgame.dm
@@ -60,19 +60,22 @@ obj/item/weapon/board/attackby(obj/item/I as obj, mob/user as mob)
dat += "'#66CCFF'>"
else
dat += "'#252536'>"
- dat += ""
if(board["[i]"])
var/obj/item/I = board["[i]"]
user << browse_rsc(board_icons["[I.icon] [I.icon_state]"],"[I.icon_state].png")
- dat += ">"
+ dat += ""
else
- dat += "style='display:block;text-decoration:none;'> "
+ dat += " "
- dat += ""
+ if(!isobserver(user))
+ dat += ""
+ dat += ""
dat += "
"
- if(selected >= 0)
+ if(selected >= 0 && !isobserver(user))
dat += "
Remove Selected Piece"
user << browse(dat,"window=boardgame;size=500x500")
onclose(usr, "boardgame")
diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm
index a6cfa0813b2..b66042dcff5 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -143,14 +143,14 @@
usr << "\red The round is either not ready, or has already finished..."
return
- if(client.prefs.species != "Human" && !check_rights(R_ADMIN, 0))
- if(!is_alien_whitelisted(src, client.prefs.species) && config.usealienwhitelist)
+ if(!check_rights(R_ADMIN, 0))
+ var/datum/species/S = all_species[client.prefs.species]
+ if((S.spawn_flags & IS_WHITELISTED) && !is_alien_whitelisted(src, client.prefs.species) && config.usealienwhitelist)
src << alert("You are currently not whitelisted to play [client.prefs.species].")
return 0
- var/datum/species/S = all_species[client.prefs.species]
- if(!(S.spawn_flags & IS_WHITELISTED))
- src << alert("Your current species,[client.prefs.species], is not available for play on the station.")
+ if(!(S.spawn_flags & CAN_JOIN))
+ src << alert("Your current species, [client.prefs.species], is not available for play on the station.")
return 0
LateChoices()
@@ -167,15 +167,14 @@
usr << "The station is currently exploding. Joining would go poorly."
return
- if(client.prefs.species != "Human")
- if(!is_alien_whitelisted(src, client.prefs.species) && config.usealienwhitelist)
- src << alert("You are currently not whitelisted to play [client.prefs.species].")
- return 0
+ var/datum/species/S = all_species[client.prefs.species]
+ if((S.spawn_flags & IS_WHITELISTED) && !is_alien_whitelisted(src, client.prefs.species) && config.usealienwhitelist)
+ src << alert("You are currently not whitelisted to play [client.prefs.species].")
+ return 0
- var/datum/species/S = all_species[client.prefs.species]
- if(!(S.spawn_flags & CAN_JOIN))
- src << alert("Your current species, [client.prefs.species], is not available for play on the station.")
- return 0
+ if(!(S.spawn_flags & CAN_JOIN))
+ src << alert("Your current species, [client.prefs.species], is not available for play on the station.")
+ return 0
AttemptLateSpawn(href_list["SelectedJob"],client.prefs.spawnpoint)
return