Global Variables

Vars | |
GPS_list | Global GPS_list. All GPS components get saved in here for easy reference. |
---|---|
accents_name2file | Keys are the names of the accents, values are the name of their .json file. |
accents_name2regexes | Holds some complex data regarding accents |
accents_names | List of all accents |
acid_overlay | ACID |
adamantine_recipes | Others |
admin_state | tgui state: admin_state |
admin_trait_name_map | value -> trait name, generated as needed for adminning. |
all_clockwork_mobs | All clockwork SERVANTS (not creatures) in existence |
all_clockwork_objects | All clockwork items, structures, and effects in existence |
all_ongoing_hallucinations | A global list of all ongoing hallucinations, primarily for easy access to be able to stop (delete) hallucinations. |
all_scripture | a list containing scripture instances; not used to track existing scripture |
allowed_custom_spans | Span classes that players are allowed to set in a radio transmission. |
allowed_translations | Language datums that players are allowed to translate to in a radio transmission. This is fucking broken. |
always_state | tgui state: always_state |
announcer_keys | Global list of all of our announcer keys. |
antag_token_users | Amount of time in time units they selected |
application_scripture_unlocked | If script scripture is available |
areas | Just a list of all the area objects in the game Note, areas can have duplicate types |
areas_by_type | An association from typepath to area instance. Only includes areas with unique set. |
ark_of_the_clockwork_justiciar | The Ark on the Reebe z-level |
awaydestinations | Away missions |
base_starlight_color | The base color of light space emits |
brazil_reception | teleport receive spots for heretic sacrifices |
bubblegum_dead | Check for arena shuttle, if the bubblegum has died this round |
cached_maps | List of all the maps that have been cached for /proc/load_map |
cached_storage_typecaches | Almost 100% of the time the lists passed into set_holdable are reused for each instance of the component Just fucking cache it 4head Yes I could generalize this, but I don't want anyone else using it. in fact, DO NOT COPY THIS If you find yourself needing this pattern, you're likely better off using static typecaches I'm not because I do not trust implementers of the storage component to use them, BUT IF I FIND YOU USING THIS PATTERN IN YOUR CODE I WILL BREAK YOU ACROSS MY KNEES ~Lemon |
cachedbooks | Saved books from the DB |
changeling_team_objective_type | If this is not null, we hand our this objective to all lings |
chasm_fallen_mobs | Global list needed to let fishermen with a rescue hook fish fallen mobs from any place |
checkouts | Books that are currently checked out |
city_of_cogs_spawns | Anyone entering the City of Cogs spawns here |
clockwork_construction_value | The total value of all structures built by the clockwork cult |
clockwork_gateway_activated | if a gateway to the celestial derelict has ever been successfully activated |
clockwork_hardmode_active | Once the cult converts 20% of the station's population, their basic teleport gains a heavy penalty on non-clockwork tiles |
clockwork_power | How many joules of power are globally available to the clockwork cult |
clockwork_vitality | How much Vitality is stored, total |
conscious_state | tgui state: conscious_state |
contained_state | tgui state: contained_state |
deep_inventory_state | tgui state: deep_inventory_state |
default_state | tgui state: default_state |
department_security_spawns | list of all department security spawns |
donator_gear | This file contains any "special" / unique donator items which are ckey locked. |
dummySave | Save file used in icon2base64. Used for converting icons to base64. |
duplicate_forbidden_vars | List of all vars that will not be copied over when using duplicate_object() |
em_block_color | A globaly cached version of EM_BLOCK_COLOR for quick access. |
em_mask_matrix | A globaly cached version of EM_MASK_MATRIX for quick access. |
emissive_color | A globaly cached version of EMISSIVE_COLOR for quick access. |
event_groups | An associative list of singleton event groups, in the format of [type] = instance. |
features_block_lengths | The same rules of the above also apply here, with the exception that this is for the unique_features string variable (commonly abbreviated with uf) and its blocks. Both ui and uf have a standard block length of 3 ASCII characters. |
features_by_species | An assoc list of species types to their features (from get_features()) |
fire_appearances | Global list that containes cached fire overlays for mobs |
focused_tests | A list of every test that is currently focused. Use the PERFORM_ALL_TESTS macro instead. |
gas_recipe_meta | Global list of recipes for atmospheric machines to use |
generic_event_spawns | List of generic landmarks placed around the map where there are likely to be players and are identifiable at a glance - Such as public hallways, department rooms, head of staff offices, and non-generic maintenance locations |
greyscale_menu_state | tgui state: greyscale menu |
hands_state | tgui state: hands_state |
hardcoded_gases | the main four gases, which were at one time hardcoded |
has_antagonist_huds | All active /datum/atom_hud/alternate_appearance/basic/has_antagonist instances |
hfr_fuels_list | Global list of recipes for atmospheric machines to use |
huds_by_category | gets filled by each /datum/atom_hud/New(). associative list of the form: list(hud category = list(all global atom huds that use that category)) |
human_adjacent_state | tgui state: human_adjacent_state |
icon_dimensions | Cache of the width and height of icon files, to avoid repeating the same expensive operation |
identity_block_lengths | Some identity blocks (basically pieces of the unique_identity string variable of the dna datum, commonly abbreviated with ui) may have a length that differ from standard length of 3 ASCII characters. This list is necessary for these non-standard blocks to work, as well as the entire unique identity string. Should you add a new ui block which size differ from the standard (again, 3 ASCII characters), like for example, a color, please do not forget to also include it in this list in the following format: "[dna block number]" = dna block size, Failure to do that may result in bugs. Thanks. |
inventory_state | tgui state: inventory_state |
jobspawn_overrides | Assoc list of "job titles" to "job landmarks" These will take precedence over normal job spawnpoints if created, essentially allowing a user to override generic job spawnpoints with a specific one |
landmarks_list | list of all landmarks created |
language_menu_state | tgui state: language_menu_state |
lavasafeties | LAVA list of typepaths that if they're on the same tile as lava will prevent the damage |
liquid_debug_colors | PROPER GROUPING |
map_reports | Global list of map report datums |
marker_beacon_colors | Marker Beacons |
master_particle_info | This was ported from Mojave but its literally just goons system so adding the proper licenses. |
megafauna_spawn_list | Global list of megafauna spawns on cave gen |
narcd_underages | underages who have been reported to security for trying to buy things they shouldn't, so they can't spam |
never_state | tgui state: never_state |
nonreactive_gases | Gasses that are unable to react amongst themselves |
not_incapacitated_state | tgui state: not_incapacitated_state |
not_incapacitated_turf_state | tgui state: not_incapacitated_turf_state |
notcontained_state | tgui state: notcontained_state |
observer_state | tgui state: observer_state |
permissions_state | tgui state: admin_state |
physical_obscured_state | tgui state: physical_obscured_state |
physical_state | tgui state: physical_state |
picture_log_directory | Picture logging |
pillars_by_z | List of z pillars (datums placed in the bottom left of XbyX squares that control transparency in that space) The pillars are stored in triple depth lists indexed by (world_size % pillar_size) + 1 They are created at transparent turf request, and deleted when no turfs remain |
pipe_color_name | Names shown in the examine for every colored atmos component |
pipe_colors_ordered | List that sorts the colors and is used for setting up the pipes layer so that they overlap correctly |
pipe_paint_colors | All colors available to pipes and atmos components |
poi_list | list of all anti-magic collars the prisoner console can track and lock/unlock |
preference_entries | An assoc list list of types to instantiated /datum/preference instances |
preference_entries_by_key | An assoc list of preference entries by their savefile_key |
random_hallucination_weighted_list | Global weighted list of all hallucinations that can show up randomly. |
ratvar_approaches | The servants can choose to "herald" Ratvar, permanently buffing them but announcing their presence to the crew. |
ratvar_awakens | If Ratvar has been summoned; not a boolean, for proper handling of multiple Ratvars |
reality_smash_track | We want reality_smash_tracker to exist only once and be accesable from anywhere. |
req_console_assistance | Requests Console |
required_map_items | Global assoc list of required mapping items, [item typepath] to [required item datum]. |
script_scripture_unlocked | If script scripture is available, through converting at least one crewmember |
see_through_maps | global statics for the see_through_component coordinate maps For ease of use, include a comment in the shape of the coordinate map, where O is nothing, X is a hidden tile and A is the object List-coordinate layout is list(relative_x, relative_y, relative_z) Turf finding algorithm needs the z and you can totally use it, but I can't think of any reason to ever do it Also it'd be really cool if you could keep the list-coordinates in here represent their actual relative coords, dont use tabs though since their spacing can differ |
self_state | tgui state: self_state |
servant_spawns | Servants of Ratvar spawn here |
servant_spawns_scarabs | Servants of Ratvar spawn here |
sortedAreas | Used by jump-to-area etc. Updated by area/updateName() If this is null, it needs to be recalculated. Use get_sorted_areas() as a getter please |
special_radio_keys | This is the list of all keys that are not techincially "radios" but use radio prefixes like :g and .b |
special_roles | This list is used to keep track of which antag ROLE defines correlate to which antag Yes, this is hardcoded, but it's faster to access than checking literally every single antag typepath for it's antag flag |
starlight_color | The color of light space is currently emitting |
starlight_objects | List of plane offset + 1 -> object to display to use Fills with offsets as they are generated Holds a list of objects that represent starlight. The idea is to render_source them So modifying starlight requires touching only one place (NOTE: this doesn't work for the area overlays) In order to modify them you need to use set_starlight. Areas don't work with render sources it looks like |
starlight_overlays | List of plane offset + 1 -> mutable appearance to use Fills with offsets as they are generated They mirror their appearance from the starlight objects, which lets us save time updating them |
starlight_power | The power of the light space is throwin out |
starlight_range | The range of the light space is displaying |
start_landmarks_list | list of all job spawn points created |
stationroom_landmarks | list of all spawns for stationrooms |
teleportlocs | A list of teleport locations |
total_uf_len_by_block | Ditto but for unique features. Used by the datum/dna/set_uni_feature_block and datum/dna/get_uni_feature_block procs. |
total_ui_len_by_block | A list of numbers that keeps track of where ui blocks start in the unique_identity string variable of the dna datum. Commonly used by the datum/dna/set_uni_identity_block and datum/dna/get_uni_identity_block procs. |
trait_name_map | value -> trait name, generated on use from trait_by_type global |
traitor_backstories | Associative list of /datum/traitor_backstory path strings to datums |
traitor_factions_to_datum | Associative list of /datum/traitor_faction keys to datums |
typecache_holodeck_linked_floorcheck_ok | typecache for turfs that should be considered ok during floorchecks. A linked turf being anything not in this typecache will cause the holodeck to perform an emergency shutdown. |
unit_test_mapping_logs | When unit testing, all logs sent to log_mapping are stored here and retrieved in log_mapping unit test. |
wizard_spellbook_purchases_by_key | Global assoc list. [ckey] = [spellbook entry type] |
z_state | tgui state: z_state |
Var Details
GPS_list

Global GPS_list. All GPS components get saved in here for easy reference.
accents_name2file

Keys are the names of the accents, values are the name of their .json file.
accents_name2regexes

Holds some complex data regarding accents
accents_names

List of all accents
acid_overlay

ACID
adamantine_recipes

Others
admin_state

tgui state: admin_state
Checks that the user is an admin, end-of-story.
Copyright (c) 2020 Aleksej Komarov SPDX-License-Identifier: MIT
admin_trait_name_map

value -> trait name, generated as needed for adminning.
all_clockwork_mobs

All clockwork SERVANTS (not creatures) in existence
all_clockwork_objects

All clockwork items, structures, and effects in existence
all_ongoing_hallucinations

A global list of all ongoing hallucinations, primarily for easy access to be able to stop (delete) hallucinations.
all_scripture

a list containing scripture instances; not used to track existing scripture
allowed_custom_spans

Span classes that players are allowed to set in a radio transmission.
allowed_translations

Language datums that players are allowed to translate to in a radio transmission. This is fucking broken.
always_state

tgui state: always_state
Always grants the user UI_INTERACTIVE. Period.
Copyright (c) 2020 Aleksej Komarov SPDX-License-Identifier: MIT
announcer_keys

Global list of all of our announcer keys.
antag_token_users

Amount of time in time units they selected
application_scripture_unlocked

If script scripture is available
areas

Just a list of all the area objects in the game Note, areas can have duplicate types
areas_by_type

An association from typepath to area instance. Only includes areas with unique
set.
ark_of_the_clockwork_justiciar

The Ark on the Reebe z-level
awaydestinations

Away missions
base_starlight_color

The base color of light space emits
brazil_reception

teleport receive spots for heretic sacrifices
bubblegum_dead

Check for arena shuttle, if the bubblegum has died this round
cached_maps

List of all the maps that have been cached for /proc/load_map
cached_storage_typecaches

Almost 100% of the time the lists passed into set_holdable are reused for each instance of the component Just fucking cache it 4head Yes I could generalize this, but I don't want anyone else using it. in fact, DO NOT COPY THIS If you find yourself needing this pattern, you're likely better off using static typecaches I'm not because I do not trust implementers of the storage component to use them, BUT IF I FIND YOU USING THIS PATTERN IN YOUR CODE I WILL BREAK YOU ACROSS MY KNEES ~Lemon
cachedbooks

Saved books from the DB
changeling_team_objective_type

If this is not null, we hand our this objective to all lings
chasm_fallen_mobs

Global list needed to let fishermen with a rescue hook fish fallen mobs from any place
checkouts

Books that are currently checked out
city_of_cogs_spawns

Anyone entering the City of Cogs spawns here
clockwork_construction_value

The total value of all structures built by the clockwork cult
clockwork_gateway_activated

if a gateway to the celestial derelict has ever been successfully activated
clockwork_hardmode_active

Once the cult converts 20% of the station's population, their basic teleport gains a heavy penalty on non-clockwork tiles
clockwork_power

How many joules of power are globally available to the clockwork cult
clockwork_vitality

How much Vitality is stored, total
conscious_state

tgui state: conscious_state
Only checks if the user is conscious.
Copyright (c) 2020 Aleksej Komarov SPDX-License-Identifier: MIT
contained_state

tgui state: contained_state
Checks that the user is inside the src_object.
Copyright (c) 2020 Aleksej Komarov SPDX-License-Identifier: MIT
deep_inventory_state

tgui state: deep_inventory_state
Checks that the src_object is in the user's deep (backpack, box, toolbox, etc) inventory.
Copyright (c) 2020 Aleksej Komarov SPDX-License-Identifier: MIT
default_state

tgui state: default_state
Checks a number of things -- mostly physical distance for humans and view for robots.
Copyright (c) 2020 Aleksej Komarov SPDX-License-Identifier: MIT
department_security_spawns

list of all department security spawns
donator_gear

This file contains any "special" / unique donator items which are ckey locked.
To create a new unique donator item, create a new datum/donator_item
@version 1.0 @author Kmc2000
dummySave

Save file used in icon2base64. Used for converting icons to base64.
duplicate_forbidden_vars

List of all vars that will not be copied over when using duplicate_object()
em_block_color

A globaly cached version of EM_BLOCK_COLOR for quick access.
em_mask_matrix

A globaly cached version of EM_MASK_MATRIX for quick access.
emissive_color

A globaly cached version of EMISSIVE_COLOR for quick access.
event_groups

An associative list of singleton event groups, in the format of [type] = instance.
features_block_lengths

The same rules of the above also apply here, with the exception that this is for the unique_features string variable (commonly abbreviated with uf) and its blocks. Both ui and uf have a standard block length of 3 ASCII characters.
features_by_species

An assoc list of species types to their features (from get_features())
fire_appearances

Global list that containes cached fire overlays for mobs
focused_tests

A list of every test that is currently focused. Use the PERFORM_ALL_TESTS macro instead.
gas_recipe_meta

Global list of recipes for atmospheric machines to use
generic_event_spawns

List of generic landmarks placed around the map where there are likely to be players and are identifiable at a glance - Such as public hallways, department rooms, head of staff offices, and non-generic maintenance locations
greyscale_menu_state

tgui state: greyscale menu
Checks that the target var of the greyscale menu meets the default can_use_topic criteria
hands_state

tgui state: hands_state
Checks that the src_object is in the user's hands.
Copyright (c) 2020 Aleksej Komarov SPDX-License-Identifier: MIT
hardcoded_gases

the main four gases, which were at one time hardcoded
has_antagonist_huds

All active /datum/atom_hud/alternate_appearance/basic/has_antagonist instances
hfr_fuels_list

Global list of recipes for atmospheric machines to use
huds_by_category

gets filled by each /datum/atom_hud/New(). associative list of the form: list(hud category = list(all global atom huds that use that category))
human_adjacent_state

tgui state: human_adjacent_state
In addition to default checks, only allows interaction for a human adjacent user.
Copyright (c) 2020 Aleksej Komarov SPDX-License-Identifier: MIT
icon_dimensions

Cache of the width and height of icon files, to avoid repeating the same expensive operation
identity_block_lengths

Some identity blocks (basically pieces of the unique_identity string variable of the dna datum, commonly abbreviated with ui) may have a length that differ from standard length of 3 ASCII characters. This list is necessary for these non-standard blocks to work, as well as the entire unique identity string. Should you add a new ui block which size differ from the standard (again, 3 ASCII characters), like for example, a color, please do not forget to also include it in this list in the following format: "[dna block number]" = dna block size, Failure to do that may result in bugs. Thanks.
inventory_state

tgui state: inventory_state
Checks that the src_object is in the user's top-level (hand, ear, pocket, belt, etc) inventory.
Copyright (c) 2020 Aleksej Komarov SPDX-License-Identifier: MIT
jobspawn_overrides

Assoc list of "job titles" to "job landmarks" These will take precedence over normal job spawnpoints if created, essentially allowing a user to override generic job spawnpoints with a specific one
landmarks_list

list of all landmarks created
language_menu_state

tgui state: language_menu_state
Copyright (c) 2020 Aleksej Komarov SPDX-License-Identifier: MIT
lavasafeties

LAVA list of typepaths that if they're on the same tile as lava will prevent the damage
liquid_debug_colors

PROPER GROUPING
map_reports

Global list of map report datums
marker_beacon_colors

Marker Beacons
master_particle_info

This was ported from Mojave but its literally just goons system so adding the proper licenses.
megafauna_spawn_list

Global list of megafauna spawns on cave gen
narcd_underages

underages who have been reported to security for trying to buy things they shouldn't, so they can't spam
never_state

tgui state: never_state
Always closes the UI, no matter what. See the ui_state in religious_tool.dm to see an example
nonreactive_gases

Gasses that are unable to react amongst themselves
not_incapacitated_state

tgui state: not_incapacitated_state
Checks that the user isn't incapacitated
Copyright (c) 2020 Aleksej Komarov SPDX-License-Identifier: MIT
not_incapacitated_turf_state

tgui state: not_incapacitated_turf_state
Checks that the user isn't incapacitated and that their loc is a turf
notcontained_state

tgui state: notcontained_state
Checks that the user is not inside src_object, and then makes the default checks.
Copyright (c) 2020 Aleksej Komarov SPDX-License-Identifier: MIT
observer_state

tgui state: observer_state
Checks that the user is an observer/ghost.
Copyright (c) 2020 Aleksej Komarov SPDX-License-Identifier: MIT
permissions_state

tgui state: admin_state
Checks that the user is an admin, end-of-story.
Copyright (c) 2020 Aleksej Komarov SPDX-License-Identifier: MIT
physical_obscured_state

tgui state: physical_obscured_state
Short-circuits the default state to only check physical distance, being in view doesn't matter
physical_state

tgui state: physical_state
Short-circuits the default state to only check physical distance.
Copyright (c) 2020 Aleksej Komarov SPDX-License-Identifier: MIT
picture_log_directory

Picture logging
pillars_by_z

List of z pillars (datums placed in the bottom left of XbyX squares that control transparency in that space) The pillars are stored in triple depth lists indexed by (world_size % pillar_size) + 1 They are created at transparent turf request, and deleted when no turfs remain
pipe_color_name

Names shown in the examine for every colored atmos component
pipe_colors_ordered

List that sorts the colors and is used for setting up the pipes layer so that they overlap correctly
pipe_paint_colors

All colors available to pipes and atmos components
poi_list

list of all anti-magic collars the prisoner console can track and lock/unlock
preference_entries

An assoc list list of types to instantiated /datum/preference
instances
preference_entries_by_key

An assoc list of preference entries by their savefile_key
random_hallucination_weighted_list

Global weighted list of all hallucinations that can show up randomly.
ratvar_approaches

The servants can choose to "herald" Ratvar, permanently buffing them but announcing their presence to the crew.
ratvar_awakens

If Ratvar has been summoned; not a boolean, for proper handling of multiple Ratvars
reality_smash_track

We want reality_smash_tracker to exist only once and be accesable from anywhere.
req_console_assistance

Requests Console
Originally written by errorage, updated by: Carn, needs more work though. I just added some security fixes
required_map_items

Global assoc list of required mapping items, [item typepath] to [required item datum].
script_scripture_unlocked

If script scripture is available, through converting at least one crewmember
see_through_maps

global statics for the see_through_component coordinate maps For ease of use, include a comment in the shape of the coordinate map, where O is nothing, X is a hidden tile and A is the object List-coordinate layout is list(relative_x, relative_y, relative_z) Turf finding algorithm needs the z and you can totally use it, but I can't think of any reason to ever do it Also it'd be really cool if you could keep the list-coordinates in here represent their actual relative coords, dont use tabs though since their spacing can differ
self_state

tgui state: self_state
Only checks that the user and src_object are the same.
Copyright (c) 2020 Aleksej Komarov SPDX-License-Identifier: MIT
servant_spawns

Servants of Ratvar spawn here
servant_spawns_scarabs

Servants of Ratvar spawn here
sortedAreas

Used by jump-to-area etc. Updated by area/updateName() If this is null, it needs to be recalculated. Use get_sorted_areas() as a getter please
special_radio_keys

This is the list of all keys that are not techincially "radios" but use radio prefixes like :g and .b
special_roles

This list is used to keep track of which antag ROLE defines correlate to which antag Yes, this is hardcoded, but it's faster to access than checking literally every single antag typepath for it's antag flag
This is used in multiple ways -What antags show up under "Antagonist Positions" for the ban panel (sql_ban_system.dm) -Access the min_account_age variable of the antag datum for use determining if an account is old enough to play an antag
An antag should be on this list if it does at least one of these things -Has a significant round impact -Should be possible to ban players from playing
starlight_color

The color of light space is currently emitting
starlight_objects

List of plane offset + 1 -> object to display to use Fills with offsets as they are generated Holds a list of objects that represent starlight. The idea is to render_source them So modifying starlight requires touching only one place (NOTE: this doesn't work for the area overlays) In order to modify them you need to use set_starlight. Areas don't work with render sources it looks like
starlight_overlays

List of plane offset + 1 -> mutable appearance to use Fills with offsets as they are generated They mirror their appearance from the starlight objects, which lets us save time updating them
starlight_power

The power of the light space is throwin out
starlight_range

The range of the light space is displaying
start_landmarks_list

list of all job spawn points created
stationroom_landmarks

list of all spawns for stationrooms
teleportlocs

A list of teleport locations
Adding a wizard area teleport list because motherfucking lag -- Urist I am far too lazy to make it a proper list of areas so I'll just make it run the usual telepot routine at the start of the game
total_uf_len_by_block

Ditto but for unique features. Used by the datum/dna/set_uni_feature_block and datum/dna/get_uni_feature_block procs.
total_ui_len_by_block

A list of numbers that keeps track of where ui blocks start in the unique_identity string variable of the dna datum. Commonly used by the datum/dna/set_uni_identity_block and datum/dna/get_uni_identity_block procs.
trait_name_map

value -> trait name, generated on use from trait_by_type global
traitor_backstories

Associative list of /datum/traitor_backstory path strings to datums
traitor_factions_to_datum

Associative list of /datum/traitor_faction keys to datums
typecache_holodeck_linked_floorcheck_ok

typecache for turfs that should be considered ok during floorchecks. A linked turf being anything not in this typecache will cause the holodeck to perform an emergency shutdown.
unit_test_mapping_logs

When unit testing, all logs sent to log_mapping are stored here and retrieved in log_mapping unit test.
wizard_spellbook_purchases_by_key

Global assoc list. [ckey] = [spellbook entry type]
z_state

tgui state: z_state
Only checks that the Z-level of the user and src_object are the same.
Copyright (c) 2020 Aleksej Komarov SPDX-License-Identifier: MIT