Space Station 13 - Modules - TypesVar Details - Proc Details

client

Vars

ViewModsWas used to handle view modifications. Now only used for a mecha module. Please just edit the string in the future
ViewModsActiveStores the viewmod we set using this system. Only used for a mecha module
ViewPreferedIconSizeStores the icon size we use for skins. As the server has control freak enabled, this is always static
active_keybindingsThe client's active keybindings, depending on their active mob.
admin_music_volumeCopyright (c) 2020 Aleksej Komarov SPDX-License-Identifier: MIT Admin music volume, from 0 to 1.
byondacc_ageDays since the client's BYOND account was created
byondacc_dateDate the client registered their BYOND account on
click_intercept_timeTime when the click was intercepted
completed_asset_jobsList of all completed blocking send jobs awaiting acknowledgement by send_asset
connection_timeworld.time they connected
cui_entriesList of the clients CUIs
description_holdersPersistent storage for the flavour text of examined atoms.
drag_detailsThe params we passed at the start of the drag, in list form
drag_startWhen we started the currently active drag
fullscreenThe current fullscreen state for /client/toggle_fullscreen()
input_dataInput datum, what the client is pressing.
jbhThe client's job ban holder
last_asset_jobThe ID of the last asset job
last_completed_asset_jobThe ID of the last asset job that was properly finished
last_discord_pm_timeLast world.time that a PM was send to discord by a player
last_parallax_shiftStored world.tim of the last parallax update. Used to make sure parallax isn't updated too often
m5_uid_cacheCache of MD5'd UIDs. This is to stop clients from poking at object UIDs and being exploity with them
macro_setsBasically a local variable on a client datum. Used when setting macros and nowhere else
mouseParamsUsed in MouseDrag to preserve the original mouse click parameters
mouse_down_iconUsed to make a special mouse cursor, this one for mouse up icon
mouse_location_UIDUsed in MouseDrag to preserve the last mouse-entered location.
mouse_object_UIDUsed in MouseDrag to preserve the last mouse-entered object.
mouse_override_iconUsed to override the mouse cursor so it doesnt get reset
mouse_up_iconUsed to make a special mouse cursor, this one for mouse up icon
moused_overThe client's currently moused over datum, limited to movable and stored as UID
movement_kb_dirsThe client's movement keybindings to directions, which work regardless of modifiers.
movingmobUsed with parallax to update the parallax offsets when the subsystem fires. Compared to the clients Eye variable
next_mouse_macro_warningUsed to throw an admin warning if someone used a mouse macro. Also stores the world time so we can send funny noises to them
obj_windowOur object window datum. It stores info about and handles behavior for the object tab
pai_saveClient's pAI save
panel_tabslist of all tabs
parallax_animate_timerHandles how parallax loops in situations like shuttles leaving. Stores the timer that handles that
parallax_layersList of parallax layers a client is viewing. Accessed when paralax is updated
parallax_layers_cachedA cached list of available parallax layers. This may potentially be changeable to a static variable. Updated upon changing parallax prefs
parallax_layers_maxThe amount of parallax layers that will exist on your screen. Affected by the parallax preference
parallax_movedirThe direction parallax will be moved it. References parallax_move_direction on areas
parallax_static_layers_tailAdded to parallax layers when parallax settings are changed
parallax_throttleDeciseconds of added delay to parallax by client preferences
parent_typeClient is casted to /datum so that we're able to use datum variables, search for clients through datums, and not need to duplicate code for GCing
previous_turfUsed with parallax to grab the offset needed. Uses the X and Y coords of the turf stored here
received_discord_pmLast world/time that a PM was sent to the player by an admin
recent_examinesA lazy list of atoms we've examined in the last RECENT_EXAMINE_MAX_WINDOW (default 2) seconds, so that we will call /atom/proc/examine_more instead of [/atom/proc/examine] on them when examining A lazy list of atoms we've examined in the last RECENT_EXAMINE_MAX_WINDOW (default 2) seconds, so that we will call /atom/proc/examine_more instead of [/atom/proc/examine] on them when examining
screen_mapsUsed with the camera console to clear out the screen objects it adds to the client when the console is deleted
seen_messagesMessages currently seen by this client
selected_targetAutoclick list of two elements, first being the clicked thing, second being the parameters.
sent_assetsList of all asset filenames sent to this client by the asset cache, along with their assoicated md5s
show_verb_panelhides the byond verb panel as we use our own custom version
spell_tabslist of tabs containing spells and abilities
stat_panelStat panel window declaration, we don't usually allow this but tgui windows/panels are exceptions
stat_tabour current tab
tgui_cache_reloadedglobal
tgui_panelCopyright (c) 2020 Aleksej Komarov SPDX-License-Identifier: MIT
tgui_sayAssigned say modal of the client
tgui_windowsglobal
topiclimiterUsed for limiting the rate of topic sends by the client to avoid abuse
tos_consentHas the client accepted the TOS about data collection and other stuff
version_blockedIf true, client cannot ready up, late join, or observe. Used for players with EXTREMELY old byond versions.
watchlistedIs the client watchlisted

Procs

Process_GrabProcess_Grab() Called by client/Move() Checks to see if you are being grabbed and if so attemps to break it
Process_IncorpmoveProcess_Incorpmove Called by client/Move() Allows mobs to run though walls
_Topicdumb workaround because byond doesnt seem to recognize the Topic() typepath for /datum/proc/Topic() from the client Topic, so we cant queue it without this
admin_change_title_screenEnables an admin to upload a new titlescreen image.
admin_observeAllow an admin to observe someone. mentors are allowed to use this verb while living, but with some stipulations: if they attempt to do anything that would stop their orbit, they will immediately be returned to their body.
admin_observe_targettargeted form of admin_observe: this should only appear in the right-click menu.
asset_cache_confirm_arrivalProcess asset cache client topic calls for "asset_cache_confirm_arrival=[INT]"
asset_cache_preload_dataProcess asset cache client topic calls for "asset_cache_preload_data=[HTML+JSON_STRING]
asset_cache_update_jsonUpdates the client side stored json file used to keep track of what assets the client has between restarts/reconnects.
browse_queue_flushBlocks until all currently sending browse and browse_rs assets have been sent. Due to byond limitations, this proc will sleep for 1 client round trip even if the client has no pending asset sends. This proc will return an untrue value if it had to return before confirming the send, such as timeout or the client going away.
change_title_screen_htmlAn admin debug command that enables you to change the HTML on the go.
change_title_screen_noticeSets a titlescreen notice, a big red text on the main screen.
clear_all_mapsClears all the maps of registered screen objects.
clear_mapClears the map of registered screen objects.
close_popupCloses a popup.
create_popupCreates a popup window with a basic map element in it, without any further initialization.
display_job_bansLists all active jobbans for src client
fix_tgui_paneltgui panel / chat troubleshooting verb
fix_title_screenReloads the titlescreen if it is bugged for someone.
get_byond_account_dateSets the clients BYOND date up properly
handle_popup_closeWhen the popup closes in any way (player or proc call) it calls this.
init_verbsCompiles a full list of verbs and sends it to the browser
maxviewReturns the biggest number from client.view so we can do easier maths
on_stat_panel_messageHandles incoming messages from the stat-panel TGUI.
register_map_objRegisters screen obj with the client, which makes it visible on the assigned map, and becomes a part of the assigned map's lifecycle.
retrieve_byondacc_dataRetrieves the BYOND accounts data from the BYOND servers
set_macrosThis proc sets the built in BYOND macros for keypresses to pass inputs on to the rebindable input system or the legacy system If you plan on ripping out the legacy system, see the set_macros() proc at the following commit: https://github.com/S34NW/Paradise/commit/83a0a0b0c633807cc5a88a630f623cec24e16027
setup_popupCreate the popup, and get it ready for generic use by giving it a background.
tgui_say_create_open_commandCreates a JSON encoded message to open TGUI say modals properly.
timer_logOpens a log of timers
toggle_fullscreenHandles fullscreen on the client.
uicloseverb
uid_logOpens a log of UIDs

Var Details

ViewMods

Was used to handle view modifications. Now only used for a mecha module. Please just edit the string in the future

ViewModsActive

Stores the viewmod we set using this system. Only used for a mecha module

ViewPreferedIconSize

Stores the icon size we use for skins. As the server has control freak enabled, this is always static

active_keybindings

The client's active keybindings, depending on their active mob.

admin_music_volume

Copyright (c) 2020 Aleksej Komarov SPDX-License-Identifier: MIT Admin music volume, from 0 to 1.

byondacc_age

Days since the client's BYOND account was created

byondacc_date

Date the client registered their BYOND account on

click_intercept_time

Time when the click was intercepted

completed_asset_jobs

List of all completed blocking send jobs awaiting acknowledgement by send_asset

connection_time

world.time they connected

cui_entries

List of the clients CUIs

description_holders

Persistent storage for the flavour text of examined atoms.

drag_details

The params we passed at the start of the drag, in list form

drag_start

When we started the currently active drag

fullscreen

The current fullscreen state for /client/toggle_fullscreen()

input_data

Input datum, what the client is pressing.

jbh

The client's job ban holder

last_asset_job

The ID of the last asset job

last_completed_asset_job

The ID of the last asset job that was properly finished

last_discord_pm_time

Last world.time that a PM was send to discord by a player

last_parallax_shift

Stored world.tim of the last parallax update. Used to make sure parallax isn't updated too often

m5_uid_cache

Cache of MD5'd UIDs. This is to stop clients from poking at object UIDs and being exploity with them

macro_sets

Basically a local variable on a client datum. Used when setting macros and nowhere else

mouseParams

Used in MouseDrag to preserve the original mouse click parameters

mouse_down_icon

Used to make a special mouse cursor, this one for mouse up icon

mouse_location_UID

Used in MouseDrag to preserve the last mouse-entered location.

mouse_object_UID

Used in MouseDrag to preserve the last mouse-entered object.

mouse_override_icon

Used to override the mouse cursor so it doesnt get reset

mouse_up_icon

Used to make a special mouse cursor, this one for mouse up icon

moused_over

The client's currently moused over datum, limited to movable and stored as UID

movement_kb_dirs

The client's movement keybindings to directions, which work regardless of modifiers.

movingmob

Used with parallax to update the parallax offsets when the subsystem fires. Compared to the clients Eye variable

next_mouse_macro_warning

Used to throw an admin warning if someone used a mouse macro. Also stores the world time so we can send funny noises to them

obj_window

Our object window datum. It stores info about and handles behavior for the object tab

pai_save

Client's pAI save

panel_tabs

list of all tabs

parallax_animate_timer

Handles how parallax loops in situations like shuttles leaving. Stores the timer that handles that

parallax_layers

List of parallax layers a client is viewing. Accessed when paralax is updated

parallax_layers_cached

A cached list of available parallax layers. This may potentially be changeable to a static variable. Updated upon changing parallax prefs

parallax_layers_max

The amount of parallax layers that will exist on your screen. Affected by the parallax preference

parallax_movedir

The direction parallax will be moved it. References parallax_move_direction on areas

parallax_static_layers_tail

Added to parallax layers when parallax settings are changed

parallax_throttle

Deciseconds of added delay to parallax by client preferences

parent_type

Client is casted to /datum so that we're able to use datum variables, search for clients through datums, and not need to duplicate code for GCing

previous_turf

Used with parallax to grab the offset needed. Uses the X and Y coords of the turf stored here

received_discord_pm

Last world/time that a PM was sent to the player by an admin

recent_examines

A lazy list of atoms we've examined in the last RECENT_EXAMINE_MAX_WINDOW (default 2) seconds, so that we will call /atom/proc/examine_more instead of [/atom/proc/examine] on them when examining A lazy list of atoms we've examined in the last RECENT_EXAMINE_MAX_WINDOW (default 2) seconds, so that we will call /atom/proc/examine_more instead of [/atom/proc/examine] on them when examining

screen_maps

Used with the camera console to clear out the screen objects it adds to the client when the console is deleted

seen_messages

Messages currently seen by this client

selected_target

Autoclick list of two elements, first being the clicked thing, second being the parameters.

sent_assets

List of all asset filenames sent to this client by the asset cache, along with their assoicated md5s

show_verb_panel

hides the byond verb panel as we use our own custom version

spell_tabs

list of tabs containing spells and abilities

stat_panel

Stat panel window declaration, we don't usually allow this but tgui windows/panels are exceptions

stat_tab

our current tab

tgui_cache_reloaded

global

TRUE if cache was reloaded by tgui dev server at least once.

tgui_panel

Copyright (c) 2020 Aleksej Komarov SPDX-License-Identifier: MIT

tgui_say

Assigned say modal of the client

tgui_windows

global

Tracks open windows for a user.

topiclimiter

Used for limiting the rate of topic sends by the client to avoid abuse

Has the client accepted the TOS about data collection and other stuff

version_blocked

If true, client cannot ready up, late join, or observe. Used for players with EXTREMELY old byond versions.

watchlisted

Is the client watchlisted

Proc Details

Process_Grab

Process_Grab() Called by client/Move() Checks to see if you are being grabbed and if so attemps to break it

Process_Incorpmove

Process_Incorpmove Called by client/Move() Allows mobs to run though walls

_Topic

dumb workaround because byond doesnt seem to recognize the Topic() typepath for /datum/proc/Topic() from the client Topic, so we cant queue it without this

admin_change_title_screen

Enables an admin to upload a new titlescreen image.

admin_observe

Allow an admin to observe someone. mentors are allowed to use this verb while living, but with some stipulations: if they attempt to do anything that would stop their orbit, they will immediately be returned to their body.

admin_observe_target

targeted form of admin_observe: this should only appear in the right-click menu.

asset_cache_confirm_arrival

Process asset cache client topic calls for "asset_cache_confirm_arrival=[INT]"

asset_cache_preload_data

Process asset cache client topic calls for "asset_cache_preload_data=[HTML+JSON_STRING]

asset_cache_update_json

Updates the client side stored json file used to keep track of what assets the client has between restarts/reconnects.

browse_queue_flush

Blocks until all currently sending browse and browse_rs assets have been sent. Due to byond limitations, this proc will sleep for 1 client round trip even if the client has no pending asset sends. This proc will return an untrue value if it had to return before confirming the send, such as timeout or the client going away.

change_title_screen_html

An admin debug command that enables you to change the HTML on the go.

change_title_screen_notice

Sets a titlescreen notice, a big red text on the main screen.

clear_all_maps

Clears all the maps of registered screen objects.

clear_map

Clears the map of registered screen objects.

Not really needed most of the time, as the client's screen list gets reset on relog. any of the buttons are going to get caught by garbage collection anyway. they're effectively qdel'd.

close_popup

Closes a popup.

create_popup

Creates a popup window with a basic map element in it, without any further initialization.

Ratio is how many pixels by how many pixels (keep it simple).

Returns a map name.

display_job_bans

Lists all active jobbans for src client

from_client_connection - If true, user will not receive any info in chat if they have no job bans, used when a player loads into to the lobby.

fix_tgui_panel

tgui panel / chat troubleshooting verb

fix_title_screen

Reloads the titlescreen if it is bugged for someone.

get_byond_account_date

Sets the clients BYOND date up properly

If the client does not have a saved BYOND account creation date, retrieve it from the website If they do have a saved date, use that from the DB, because this value will never change Arguments:

handle_popup_close

When the popup closes in any way (player or proc call) it calls this.

init_verbs

Compiles a full list of verbs and sends it to the browser

maxview

Returns the biggest number from client.view so we can do easier maths

on_stat_panel_message

Handles incoming messages from the stat-panel TGUI.

register_map_obj

Registers screen obj with the client, which makes it visible on the assigned map, and becomes a part of the assigned map's lifecycle.

retrieve_byondacc_data

Retrieves the BYOND accounts data from the BYOND servers

Makes a web request to byond.com to retrieve the details for the BYOND account associated with the clients ckey. Returns the data in a parsed, associative list

set_macros

This proc sets the built in BYOND macros for keypresses to pass inputs on to the rebindable input system or the legacy system If you plan on ripping out the legacy system, see the set_macros() proc at the following commit: https://github.com/S34NW/Paradise/commit/83a0a0b0c633807cc5a88a630f623cec24e16027

setup_popup

Create the popup, and get it ready for generic use by giving it a background.

Width and height are multiplied by 64 by default.

tgui_say_create_open_command

Creates a JSON encoded message to open TGUI say modals properly.

Arguments: channel - The channel to open the modal in. Returns: string - A JSON encoded message to open the modal.

timer_log

Opens a log of timers

In-round ability to view what has created a timer, and how many times a timer for that path has been created

toggle_fullscreen

Handles fullscreen on the client.

uiclose

verb

Called by UIs when they are closed. Must be a verb so winset() can call it.

required uiref ref The UI that was closed.

uid_log

Opens a log of UIDs

In-round ability to view what has created a UID, and how many times a UID for that path has been declared