mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-29 19:11:51 +00:00
* Fixes strange runtime with restart votes (#67080) So, I refactored votes a little bit ago. This line was present in the result process for restart votes. for(var/client/C in GLOB.admins + GLOB.deadmins) if(!C.is_afk() && check_rights_for(C, R_SERVER)) active_admins = TRUE break So, I converted it to this. for(var/client/online_admin as anything in GLOB.admins | GLOB.deadmins) if(online_admin.is_afk() || !check_rights_for(online_admin, R_SERVER)) continue Seems fine, right? Unfortunately, no. GLOB.deadmins is a global list of deadminned ckeys. Not deadminned clients. So, the original loop iterated over a combined list of clients AND ckeys, but ONLY typechecked for clients. Why were we adding in ckeys in the first place, if it didn't even check them? No idea. But it seems like, since no one noticed restart votes weren't checking for deadminned admins in the first place, there isn't a reason to continue to consider them. Admins can re-admin to cancel restart votes or address the server's concerns if they're online, I suppose. * Fixes strange runtime with restart votes Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>