mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-21 20:27:42 +01:00
[MIRROR] tgchat part 1 (#7273)
Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com> Co-authored-by: Selis <selis@xynolabs.com>
This commit is contained in:
co-authored by
Heroman3003
Selis
parent
5e15494def
commit
eb65b5721c
@@ -1,11 +1,42 @@
|
||||
/**
|
||||
* Client datum
|
||||
*
|
||||
* A datum that is created whenever a user joins a BYOND world, one will exist for every active connected
|
||||
* player
|
||||
*
|
||||
* when they first connect, this client object is created and [/client/New] is called
|
||||
*
|
||||
* When they disconnect, this client object is deleted and [/client/Del] is called
|
||||
*
|
||||
* All client topic calls go through [/client/Topic] first, so a lot of our specialised
|
||||
* topic handling starts here
|
||||
*/
|
||||
/client
|
||||
//////////////////////
|
||||
//BLACK MAGIC THINGS//
|
||||
//////////////////////
|
||||
/**
|
||||
* This line makes clients parent type be a datum
|
||||
*
|
||||
* By default in byond if you define a proc on datums, that proc will exist on nearly every single type
|
||||
* from icons to images to atoms to mobs to objs to turfs to areas, it won't however, appear on client
|
||||
*
|
||||
* instead by default they act like their own independent type so while you can do isdatum(icon)
|
||||
* and have it return true, you can't do isdatum(client), it will always return false.
|
||||
*
|
||||
* This makes writing oo code hard, when you have to consider this extra special case
|
||||
*
|
||||
* This line prevents that, and has never appeared to cause any ill effects, while saving us an extra
|
||||
* pain to think about
|
||||
*
|
||||
* This line is widely considered black fucking magic, and the fact it works is a puzzle to everyone
|
||||
* involved, including the current engine developer, lummox
|
||||
*
|
||||
* If you are a future developer and the engine source is now available and you can explain why this
|
||||
* is the way it is, please do update this comment
|
||||
*/
|
||||
parent_type = /datum
|
||||
////////////////
|
||||
//ADMIN THINGS//
|
||||
////////////////
|
||||
///Contains admin info. Null if client is not an admin.
|
||||
var/datum/admins/holder = null
|
||||
var/datum/admins/deadmin_holder = null
|
||||
var/buildmode = 0
|
||||
@@ -18,6 +49,7 @@
|
||||
/////////
|
||||
//OTHER//
|
||||
/////////
|
||||
///Player preferences datum for the client
|
||||
var/datum/preferences/prefs = null
|
||||
var/moving = null
|
||||
var/adminobs = null
|
||||
|
||||
Reference in New Issue
Block a user