[READY]Sends the names of online admins when sending IRC alerts about no admins active. (#23712)

* Update adminhelp.dm

* Update world.dm

* Update ticker.dm

* should work.
This commit is contained in:
kevinz000
2017-02-08 18:23:32 +13:00
committed by oranges
parent c2b8e29b96
commit a8116c4f29
3 changed files with 22 additions and 13 deletions
+14 -9
View File
@@ -131,27 +131,32 @@
return
/proc/get_admin_counts(requiredflags = R_BAN)
. = list("total" = 0, "noflags" = 0, "afk" = 0, "stealth" = 0, "present" = 0)
. = list("total" = list(), "noflags" = list(), "afk" = list(), "stealth" = list(), "present" = list())
for(var/client/X in admins)
.["total"]++
.["total"] += X
if(requiredflags != 0 && !check_rights_for(X, requiredflags))
.["noflags"]++
.["noflags"] += X
else if(X.is_afk())
.["afk"]++
.["afk"] += X
else if(X.holder.fakekey)
.["stealth"]++
.["stealth"] += X
else
.["present"]++
.["present"] += X
/proc/send2irc_adminless_only(source, msg, requiredflags = R_BAN)
var/list/adm = get_admin_counts(requiredflags)
. = adm["present"]
var/list/activemins = adm["present"]
. = activemins.len
if(. <= 0)
var/final = ""
if(!adm["afk"] && !adm["stealth"] && !adm["noflags"])
var/list/afkmins = adm["afk"]
var/list/stealthmins = adm["stealth"]
var/list/powerlessmins = adm["noflags"]
var/list/allmins = adm["total"]
if(!afkmins.len && !stealthmins.len && !powerlessmins.len)
final = "[msg] - No admins online"
else
final = "[msg] - All admins AFK ([adm["afk"]]/[adm["total"]]), stealthminned ([adm["stealth"]]/[adm["total"]]), or lack[rights2text(requiredflags, " ")] ([adm["noflags"]]/[adm["total"]])"
final = "[msg] - All admins stealthed\[[english_list(stealthmins)]\], AFK\[[english_list(afkmins)]\], or lacks +BAN\[[english_list(powerlessmins)]\]! Total: [allmins.len] "
send2irc(source,final)
send2otherserver(source,final)