Changed some global_list stuff:

>tried to make the comments less confusing.
>Removed the procs for rebuilding the lists (they weren't meant to be used and half were broken anyway).
>added a directory. It maps ckey to client like so directory[ckey] = client. It could be used for PMs, banning, and various other admin tools rather than using \ref[]
>var/list/admins is now a list of clients whom are admins.
>var/list/admin_datums is what var/list/admins used to be. A map from ckey -> admin datum
Most of this is so I can add modular admin ranks in a non-horrendous way and fix some existing issues.
>var/list/client_list is now var/list/clients (laziness sorry)
>removed some needless loops and stuff.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4951 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
elly1989@rocketmail.com
2012-10-24 20:11:39 +00:00
parent ca59c9fde9
commit b1fdee2e32
27 changed files with 123 additions and 261 deletions

View File

@@ -95,21 +95,22 @@
if(byond_version < MIN_CLIENT_VERSION) //Out of date client.
return null
client_list += src
if ( (world.address == address || !address) && !host )
host = key
world.update_status()
clients += src
directory[ckey] = src
//Admin Authorisation
var/datum/admins/Admin_Obj = admins[ckey]
if(istype(Admin_Obj))
admin_list += src
holder = Admin_Obj
holder = admin_datums[ckey]
if(holder)
admins += src
holder.owner = src
holder.state = null
. = ..() //calls mob.Login()
if( (world.address == address || !address) && !host )
host = key
world.update_status()
if(holder)
admin_memo_show()
@@ -122,8 +123,10 @@
/client/Del()
if(holder)
holder.state = null
admin_list -= src
client_list -= src
holder.owner = null
admins -= src
directory -= ckey
clients -= src
return ..()