mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-26 02:02:39 +00:00
133 lines
4.3 KiB
Plaintext
133 lines
4.3 KiB
Plaintext
/client
|
|
//////////////////////
|
|
//BLACK MAGIC THINGS//
|
|
//////////////////////
|
|
parent_type = /datum
|
|
////////////////
|
|
//ADMIN THINGS//
|
|
////////////////
|
|
var/datum/admins/holder = null
|
|
|
|
var/last_message = "" //contains the last message sent by this client - used to protect against copy-paste spamming.
|
|
var/last_message_count = 0 //contains a number of how many times a message identical to last_message was sent.
|
|
var/last_message_time = 0 //holds the last time (based on world.time) a message was sent
|
|
var/datum/pm_tracker/pm_tracker = new()
|
|
|
|
/////////
|
|
//OTHER//
|
|
/////////
|
|
var/datum/preferences/prefs = null
|
|
var/skip_antag = FALSE //TRUE when a player declines to be included for the selection process of game mode antagonists.
|
|
var/move_delay = 1
|
|
var/moving = null
|
|
var/area = null
|
|
var/time_died_as_mouse = null //when the client last died as a mouse
|
|
|
|
var/typing = FALSE // Prevents typing window stacking
|
|
|
|
var/adminhelped = 0
|
|
|
|
///////////////
|
|
//SOUND STUFF//
|
|
///////////////
|
|
|
|
var/ambience_playing = FALSE
|
|
|
|
////////////
|
|
//SECURITY//
|
|
////////////
|
|
|
|
///Used for limiting the rate of topic sends by the client to avoid abuse
|
|
var/list/topiclimiter
|
|
|
|
// comment out the line below when debugging locally to enable the options & messages menu
|
|
//control_freak = 1
|
|
|
|
var/ssd_warning_acknowledged = FALSE
|
|
|
|
////////////////////////////////////
|
|
//things that require the database//
|
|
////////////////////////////////////
|
|
var/player_age = "--" //So admins know why it isn't working - Used to determine how old the account is - in days.
|
|
var/list/related_accounts_ip = list() //So admins know why it isn't working - Used to determine what other accounts previously logged in from this ip
|
|
var/list/related_accounts_cid = list() //So admins know why it isn't working - Used to determine what other accounts previously logged in from this computer id
|
|
|
|
preload_rsc = 0 // This is 0 so we can set it to an URL once the player logs in and have them download the resources from a different server.
|
|
|
|
var/global/obj/screen/click_catcher/void
|
|
|
|
var/karma_spent = 0
|
|
var/karma_tab = 0
|
|
|
|
control_freak = CONTROL_FREAK_ALL | CONTROL_FREAK_SKIN | CONTROL_FREAK_MACROS
|
|
|
|
var/ip_intel = "Disabled"
|
|
|
|
var/datum/click_intercept/click_intercept = null
|
|
|
|
//datum that controls the displaying and hiding of tooltips
|
|
var/datum/tooltip/tooltips
|
|
|
|
/// Persistent storage for the flavour text of examined atoms.
|
|
var/list/description_holders = list()
|
|
|
|
// Their chat window, sort of important.
|
|
// See /goon/code/datums/browserOutput.dm
|
|
var/datum/chatOutput/chatOutput
|
|
|
|
// Donator stuff.
|
|
var/donator_level = 0
|
|
|
|
// If set to true, this client can interact with atoms such as buttons and doors on top of regular machinery interaction
|
|
var/advanced_admin_interaction = FALSE
|
|
|
|
var/client_keysend_amount = 0
|
|
var/next_keysend_reset = 0
|
|
var/next_keysend_trip_reset = 0
|
|
var/keysend_tripped = FALSE
|
|
|
|
/// Messages currently seen by this client
|
|
var/list/seen_messages
|
|
|
|
// Last world.time that the player tried to request their resources.
|
|
var/last_ui_resource_send = 0
|
|
|
|
/// If true, client cannot ready up, late join, or observe. Used for players with EXTREMELY old byond versions.
|
|
var/version_blocked = FALSE
|
|
|
|
/// Date the client registered their BYOND account on
|
|
var/byondacc_date
|
|
/// Days since the client's BYOND account was created
|
|
var/byondacc_age = 0
|
|
|
|
|
|
// Do not attempt to merge these vars together. They are for different things
|
|
/// Last world.time that a PM was send to discord by a player
|
|
var/last_discord_pm_time = 0
|
|
|
|
/// Last world/time that a PM was sent to the player by an admin
|
|
var/received_discord_pm = -99999 // Yes this super low number is intentional
|
|
|
|
/// Has the client accepted the TOS about data collection and other stuff
|
|
var/tos_consent = FALSE
|
|
|
|
/// Is the client watchlisted
|
|
var/watchlisted = FALSE
|
|
|
|
/// Client's pAI save
|
|
var/datum/pai_save/pai_save
|
|
|
|
/// List of the clients CUIs
|
|
var/list/datum/custom_user_item/cui_entries = list()
|
|
|
|
/client/vv_edit_var(var_name, var_value)
|
|
switch(var_name)
|
|
// I know we will never be in a world where admins are editing client vars to let people bypass TOS
|
|
// But guess what, if I have the ability to overengineer something, I am going to do it
|
|
if("tos_consent")
|
|
return FALSE
|
|
// Dont fuck with this
|
|
if("cui_entries")
|
|
return FALSE
|
|
return ..()
|