byond - Modules - TypesVar Details - Proc Details

client

Vars

admin_music_volumeAdmin music volume, from 0 to 1.
client_keysend_amountAmount of keydowns in the last keysend checking interval
completed_asset_jobsList of all completed blocking send jobs awaiting acknowledgement by send_asset
do_parallax_animationsDo we want to do parallax animations at all? Exists to prevent laptop fires
dont_animate_parallaxworld.time of when we can state animate()ing parallax again
fully_createdIf this client has been fully initialized or not
intended_directionThe direction we WANT to move, based off our keybinds Will be udpated to be the actual direction later on
keysend_trippedWhen set to true, user will be autokicked if they trip the keysends in a second limit again
last_asset_jobLast asset send job id.
last_parallax_shiftworld.time of last parallax update
movement_keyscustom movement keys for this client
movement_lockedAre we locking our movement input?
next_keysend_resetWorld tick time where client_keysend_amount will reset
next_keysend_trip_resetWorld tick time where keysend_tripped will reset back to false
obj_windowOur object window datum. It stores info about and handles behavior for the object tab
panel_tabslist of all tabs
parallax_animate_timersTimers for the area directional animation, one for each layer
parallax_throttleds between parallax updates
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
screen_mapsAssoc list with all the active maps - when a screen obj is added to a map, it's put in here as well.
screen_textslazylist of screen_texts for this client, first in this list is the one playing
script!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!HEY LISTEN!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
seen_messagesMessages currently seen by this client
spell_tabslist of tabs containing spells and abilities
stat_panelStat panel window declaration
stat_tabour current tab
tgui_cache_reloadedglobal
tgui_sayAssigned say modal of the client
tgui_windowsglobal
view_sizedatum wrapper for client view
window_scalingThe DPI scale of the client. 1 is equivalent to 100% window scaling, 2 will be 200% window scaling

Procs

acquire_dpiThis grabs the DPI of the user per their skin
apply_clickcatcherCreates and applies a clickcatcher
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.
attempt_auto_fit_viewportAttempt to automatically fit the viewport, assuming the user wants it
browse_queue_flushBlocks until all currently sending browse and browse_rsc 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.
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.
fix_tgui_paneltgui panel / chat troubleshooting verb
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
keyUpCheck if the key is short enough to even be a real key
mark_datum
massmodify_variablesif false get only the strict type, get all subtypes too otherwise
on_stat_panel_messageHandles incoming messages from the stat-panel TGUI.
open_particle_editoropens the particle editor UI for the in_atom object for this client
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.
reset_held_keysManually clears any held keys, in case due to lag or other undefined behavior a key gets stuck.
send_resourcesSend resources to the client. Sends both game resources and browser assets.
set_fullscreenChange the fullscreen setting of the client
setup_popupCreate the popup, and get it ready for generic use by giving it a background.
start_thinkingSets the mob as "thinking" - with indicator and the TRAIT_THINKING_IN_CHARACTER trait
start_typingHandles the user typing. After a brief period of inactivity, signals the client mob to revert to the "thinking" icon.
stop_thinkingRemoves typing/thinking indicators and flags the mob as not thinking
stop_typingCallback to remove the typing indicator after a brief period of inactivity. If the user was typing IC, the thinking indicator is shown.
tgui_say_create_open_commandCreates a JSON encoded message to open TGUI say modals properly.
toggle_tgui_fancySame thing as the character creator preference, but as a byond verb, because not everyone can reach it in tgui preference menu
uicloseverb
update_ambience_prefupdates with the ambience preferrences of the user
update_special_keybindsUpdates the keybinds for special keys

Var Details

admin_music_volume

Admin music volume, from 0 to 1.

client_keysend_amount

Amount of keydowns in the last keysend checking interval

completed_asset_jobs

List of all completed blocking send jobs awaiting acknowledgement by send_asset

do_parallax_animations

Do we want to do parallax animations at all? Exists to prevent laptop fires

dont_animate_parallax

world.time of when we can state animate()ing parallax again

fully_created

If this client has been fully initialized or not

intended_direction

The direction we WANT to move, based off our keybinds Will be udpated to be the actual direction later on

keysend_tripped

When set to true, user will be autokicked if they trip the keysends in a second limit again

last_asset_job

Last asset send job id.

last_parallax_shift

world.time of last parallax update

movement_keys

custom movement keys for this client

movement_locked

Are we locking our movement input?

next_keysend_reset

World tick time where client_keysend_amount will reset

next_keysend_trip_reset

World tick time where keysend_tripped will reset back to false

obj_window

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

panel_tabs

list of all tabs

parallax_animate_timers

Timers for the area directional animation, one for each layer

parallax_throttle

ds between parallax updates

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

screen_maps

Assoc list with all the active maps - when a screen obj is added to a map, it's put in here as well.

Format: list( = list(/atom/movable/screen))

screen_texts

lazylist of screen_texts for this client, first in this list is the one playing

script

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!HEY LISTEN!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

seen_messages

Messages currently seen by this client

spell_tabs

list of tabs containing spells and abilities

stat_panel

Stat panel window declaration

stat_tab

our current tab

tgui_cache_reloaded

global

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

tgui_say

Assigned say modal of the client

tgui_windows

global

Tracks open windows for a user.

view_size

datum wrapper for client view

window_scaling

The DPI scale of the client. 1 is equivalent to 100% window scaling, 2 will be 200% window scaling

Proc Details

acquire_dpi

This grabs the DPI of the user per their skin

apply_clickcatcher

Creates and applies a clickcatcher

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.

attempt_auto_fit_viewport

Attempt to automatically fit the viewport, assuming the user wants it

browse_queue_flush

Blocks until all currently sending browse and browse_rsc 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.

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.

fix_tgui_panel

tgui panel / chat troubleshooting verb

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

keyUp

Check if the key is short enough to even be a real key

mark_datum

mark_datum(datum/D)

This proc marks a datum for the holder of this client, by setting the holder's marked_datum var. If the holder already had a marked datum, unmarks said datum beforehand. The client obviously must have a holder for this to work.

massmodify_variables

if false get only the strict type, get all subtypes too otherwise

on_stat_panel_message

Handles incoming messages from the stat-panel TGUI.

open_particle_editor

opens the particle editor UI for the in_atom object for this client

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.

reset_held_keys

Manually clears any held keys, in case due to lag or other undefined behavior a key gets stuck.

Hardcoded to the ESC key.

send_resources

Send resources to the client. Sends both game resources and browser assets.

set_fullscreen

Change the fullscreen setting of the client

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.

start_thinking

Sets the mob as "thinking" - with indicator and the TRAIT_THINKING_IN_CHARACTER trait

start_typing

Handles the user typing. After a brief period of inactivity, signals the client mob to revert to the "thinking" icon.

stop_thinking

Removes typing/thinking indicators and flags the mob as not thinking

stop_typing

Callback to remove the typing indicator after a brief period of inactivity. If the user was typing IC, the thinking indicator is shown.

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.

toggle_tgui_fancy

Same thing as the character creator preference, but as a byond verb, because not everyone can reach it in tgui preference menu

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.

update_ambience_pref

updates with the ambience preferrences of the user

update_special_keybinds

Updates the keybinds for special keys

Handles adding macros for the keys that need it And adding movement keys to the clients movement_keys list At the time of writing this, communication(OOC, Say, IC, ASAY, MSAY) require macros Arguments: