Files
fulpstation/code/modules/client/client_defines.dm
Bobbahbrown 0d7ef73b17 Refactors References to IRC to be TGS (#47954)
* TGS updates round 1

* TGS updates round 2
2019-11-30 03:59:42 -08:00

126 lines
4.5 KiB
Plaintext

/client
//////////////////////
//BLACK MAGIC THINGS//
//////////////////////
parent_type = /datum
////////////////
//ADMIN THINGS//
////////////////
///Contains admin info. Null if client is not an admin.
var/datum/admins/holder = null
///Needs to implement InterceptClickOn(user,params,atom) proc
var/datum/click_intercept = null
///Used for admin AI interaction
var/AI_Interact = FALSE
///Used to cache this client's bans to save on DB queries
var/ban_cache = null
///Contains the last message sent by this client - used to protect against copy-paste spamming.
var/last_message = ""
///contins a number of how many times a message identical to last_message was sent.
var/last_message_count = 0
///How many messages sent in the last 10 seconds
var/total_message_count = 0
///Next tick to reset the total message counter
var/total_count_reset = 0
///Internal counter for clients sending external (IRC/Discord) relay messages via ahelp to prevent spamming. Set to a number every time an admin reply is sent, decremented for every client send.
var/externalreplyamount = 0
/////////
//OTHER//
/////////
///Player preferences datum for the client
var/datum/preferences/prefs = null
///last turn of the controlled mob, I think this is only used by mechs?
var/last_turn = 0
///Move delay of controlled mob, related to input handling
var/move_delay = 0
///Current area of the controlled mob
var/area = null
///////////////
//SOUND STUFF//
///////////////
///Currently playing ambience sound
var/ambience_playing = null
///Whether an ambience sound has been played and one shouldn't be played again, unset by a callback
var/played = FALSE
////////////
//SECURITY//
////////////
// comment out the line below when debugging locally to enable the options & messages menu
control_freak = 1
////////////////////////////////////
//things that require the database//
////////////////////////////////////
///Used to determine how old the account is - in days.
var/player_age = -1
///Date that this account was first seen in the server
var/player_join_date = null
///So admins know why it isn't working - Used to determine what other accounts previously logged in from this ip
var/related_accounts_ip = "Requires database"
///So admins know why it isn't working - Used to determine what other accounts previously logged in from this computer id
var/related_accounts_cid = "Requires database"
///Date of byond account creation in ISO 8601 format
var/account_join_date = null
///Age of byond account in days
var/account_age = -1
preload_rsc = PRELOAD_RSC
var/obj/screen/click_catcher/void
///used to make a special mouse cursor, this one for mouse up icon
var/mouse_up_icon = null
///used to make a special mouse cursor, this one for mouse up icon
var/mouse_down_icon = null
///Used for ip intel checking to identify evaders, disabled because of issues with traffic
var/ip_intel = "Disabled"
///datum that controls the displaying and hiding of tooltips
var/datum/tooltip/tooltips
///Last ping of the client
var/lastping = 0
///Average ping of the client
var/avgping = 0
///world.time they connected
var/connection_time
///world.realtime they connected
var/connection_realtime
///world.timeofday they connected
var/connection_timeofday
///If the client is currently in player preferences
var/inprefs = FALSE
///Used for limiting the rate of topic sends by the client to avoid abuse
var/list/topiclimiter
///Used for limiting the rate of clicks sends by the client to avoid abuse
var/list/clicklimiter
///goonchat chatoutput of the client
var/datum/chatOutput/chatOutput
///lazy list of all credit object bound to this client
var/list/credits
///these persist between logins/logouts during the same round.
var/datum/player_details/player_details
///Should only be a key-value list of north/south/east/west = obj/screen.
var/list/char_render_holders
///Amount of keydowns in the last keysend checking interval
var/client_keysend_amount = 0
///World tick time where client_keysend_amount will reset
var/next_keysend_reset = 0
///World tick time where keysend_tripped will reset back to false
var/next_keysend_trip_reset = 0
///When set to true, user will be autokicked if they trip the keysends in a second limit again
var/keysend_tripped = FALSE
///custom movement keys for this client
var/list/movement_keys = list()