Files
Bubberstation/code/_globalvars/admin.dm
SkyratBot f92318b04f [MIRROR] Fixes vv of things in lists [MDB IGNORE] (#24611)
* Fixes vv of things in lists (#79282)

I forgot name could be a number for list indexes, so this switches to
using `in` instead.

Also improves the error message a little bit so reported issues can at
least say *something* about the value throwing an error.

fixes #79280
fixes #79264

* Fixes vv of things in lists

---------

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
2023-10-27 03:56:35 -04:00

31 lines
1.1 KiB
Plaintext

GLOBAL_LIST_EMPTY(stickybanadminexemptions) //stores a list of ckeys exempted from a stickyban (workaround for a bug)
GLOBAL_LIST_EMPTY(stickybanadmintexts) //stores the entire stickyban list temporarily
GLOBAL_VAR(stickbanadminexemptiontimerid) //stores the timerid of the callback that restores all stickybans after an admin joins
/proc/init_smites()
var/list/smites = list()
for (var/_smite_path in subtypesof(/datum/smite))
var/datum/smite/smite_path = _smite_path
smites[initial(smite_path.name)] = smite_path
return smites
GLOBAL_LIST_INIT_TYPED(smites, /datum/smite, init_smites())
GLOBAL_VAR_INIT(admin_notice, "") // Admin notice that all clients see when joining the server
// A list of all the special byond lists that need to be handled different by vv
GLOBAL_LIST_INIT(vv_special_lists, init_special_list_names())
/proc/init_special_list_names()
var/list/output = list()
var/obj/sacrifice = new
for(var/varname in sacrifice.vars)
var/value = sacrifice.vars[varname]
if(!islist(value))
if(!isdatum(value) && hascall(value, "Cut"))
output += varname
continue
if(isnull(locate(REF(value))))
output += varname
return output