Yogstation 13 - Modules - TypesVar Details

Global Variables

Vars

GPS_listGlobal GPS_list. All GPS components get saved in here for easy reference.
accents_name2fileKeys are the names of the accents, values are the name of their .json file.
accents_name2regexesHolds some complex data regarding accents
accents_namesList of all accents
acid_overlayACID
adamantine_recipesOthers
admin_statetgui state: admin_state
admin_trait_name_mapvalue -> trait name, generated as needed for adminning.
all_clockwork_mobsAll clockwork SERVANTS (not creatures) in existence
all_clockwork_objectsAll clockwork items, structures, and effects in existence
all_ongoing_hallucinationsA global list of all ongoing hallucinations, primarily for easy access to be able to stop (delete) hallucinations.
all_scripturea list containing scripture instances; not used to track existing scripture
allowed_custom_spansSpan classes that players are allowed to set in a radio transmission.
allowed_translationsLanguage datums that players are allowed to translate to in a radio transmission. This is fucking broken.
always_statetgui state: always_state
announcer_keysGlobal list of all of our announcer keys.
antag_token_usersAmount of time in time units they selected
application_scripture_unlockedIf script scripture is available
areasJust a list of all the area objects in the game Note, areas can have duplicate types
areas_by_typeAn association from typepath to area instance. Only includes areas with unique set.
ark_of_the_clockwork_justiciarThe Ark on the Reebe z-level
awaydestinationsAway missions
base_starlight_colorThe base color of light space emits
brazil_receptionteleport receive spots for heretic sacrifices
bubblegum_deadCheck for arena shuttle, if the bubblegum has died this round
cached_mapsList of all the maps that have been cached for /proc/load_map
cached_storage_typecachesAlmost 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
cachedbooksSaved books from the DB
changeling_team_objective_typeIf this is not null, we hand our this objective to all lings
chasm_fallen_mobsGlobal list needed to let fishermen with a rescue hook fish fallen mobs from any place
checkoutsBooks that are currently checked out
city_of_cogs_spawnsAnyone entering the City of Cogs spawns here
clockwork_construction_valueThe total value of all structures built by the clockwork cult
clockwork_gateway_activatedif a gateway to the celestial derelict has ever been successfully activated
clockwork_hardmode_activeOnce the cult converts 20% of the station's population, their basic teleport gains a heavy penalty on non-clockwork tiles
clockwork_powerHow many joules of power are globally available to the clockwork cult
clockwork_vitalityHow much Vitality is stored, total
conscious_statetgui state: conscious_state
contained_statetgui state: contained_state
deep_inventory_statetgui state: deep_inventory_state
default_statetgui state: default_state
department_security_spawnslist of all department security spawns
donator_gearThis file contains any "special" / unique donator items which are ckey locked.
dummySaveSave file used in icon2base64. Used for converting icons to base64.
duplicate_forbidden_varsList of all vars that will not be copied over when using duplicate_object()
em_block_colorA globaly cached version of EM_BLOCK_COLOR for quick access.
em_mask_matrixA globaly cached version of EM_MASK_MATRIX for quick access.
emissive_colorA globaly cached version of EMISSIVE_COLOR for quick access.
features_block_lengthsThe 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_speciesAn assoc list of species types to their features (from get_features())
fire_appearancesGlobal list that containes cached fire overlays for mobs
focused_testsA list of every test that is currently focused. Use the PERFORM_ALL_TESTS macro instead.
gas_recipe_metaGlobal list of recipes for atmospheric machines to use
generic_event_spawnsList 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
hands_statetgui state: hands_state
hardcoded_gasesthe main four gases, which were at one time hardcoded
has_antagonist_hudsAll active /datum/atom_hud/alternate_appearance/basic/has_antagonist instances
hfr_fuels_listGlobal list of recipes for atmospheric machines to use
holidaysHOLIDAYS
huds_by_categorygets 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_statetgui state: human_adjacent_state
icon_dimensionsCache of the width and height of icon files, to avoid repeating the same expensive operation
identity_block_lengthsSome 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_statetgui state: inventory_state
jobspawn_overridesAssoc 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_listlist of all landmarks created
language_menu_statetgui state: language_menu_state
lavasafetiesLAVA list of typepaths that if they're on the same tile as lava will prevent the damage
map_reportsGlobal list of map report datums
marker_beacon_colorsMarker Beacons
master_particle_infoThis was ported from Mojave but its literally just goons system so adding the proper licenses.
megafauna_spawn_listGlobal list of megafauna spawns on cave gen
narcd_underagesunderages who have been reported to security for trying to buy things they shouldn't, so they can't spam
never_statetgui state: never_state
nonreactive_gasesGasses that are unable to react amongst themselves
not_incapacitated_statetgui state: not_incapacitated_state
not_incapacitated_turf_statetgui state: not_incapacitated_turf_state
notcontained_statetgui state: notcontained_state
observer_statetgui state: observer_state
permissions_statetgui state: admin_state
physical_obscured_statetgui state: physical_obscured_state
physical_statetgui state: physical_state
picture_log_directoryPicture logging
pillars_by_zList 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_nameNames shown in the examine for every colored atmos component
pipe_colors_orderedList that sorts the colors and is used for setting up the pipes layer so that they overlap correctly
pipe_paint_colorsAll colors available to pipes and atmos components
poi_listlist of all anti-magic collars the prisoner console can track and lock/unlock
preference_entriesAn assoc list list of types to instantiated /datum/preference instances
preference_entries_by_keyAn assoc list of preference entries by their savefile_key
random_hallucination_weighted_listGlobal weighted list of all hallucinations that can show up randomly.
ratvar_approachesThe servants can choose to "herald" Ratvar, permanently buffing them but announcing their presence to the crew.
ratvar_awakensIf Ratvar has been summoned; not a boolean, for proper handling of multiple Ratvars
reality_smash_trackWe want reality_smash_tracker to exist only once and be accesable from anywhere.
req_console_assistanceRequests Console
required_map_itemsGlobal assoc list of required mapping items, [item typepath] to [required item datum].
script_scripture_unlockedIf script scripture is available, through converting at least one crewmember
self_statetgui state: self_state
servant_spawnsServants of Ratvar spawn here
servant_spawns_scarabsServants of Ratvar spawn here
sortedAreasUsed 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_keysThis is the list of all keys that are not techincially "radios" but use radio prefixes like :g and .b
starlight_colorThe color of light space is currently emitting
starlight_objectsList 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_overlaysList 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_powerThe power of the light space is throwin out
starlight_rangeThe range of the light space is displaying
start_landmarks_listlist of all job spawn points created
stationroom_landmarkslist of all spawns for stationrooms
teleportlocsA list of teleport locations
total_uf_len_by_blockDitto 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_blockA 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_mapvalue -> trait name, generated on use from trait_by_type global
traitor_backstoriesAssociative list of /datum/traitor_backstory path strings to datums
traitor_factions_to_datumAssociative list of /datum/traitor_faction keys to datums
typecache_holodeck_linked_floorcheck_oktypecache 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_logsWhen unit testing, all logs sent to log_mapping are stored here and retrieved in log_mapping unit test.
wizard_spellbook_purchases_by_keyGlobal assoc list. [ckey] = [spellbook entry type]
z_statetgui 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.

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

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

holidays

HOLIDAYS

Uncommenting ALLOW_HOLIDAYS in config.txt will enable holidays

It's easy to add stuff. Just add a holiday datum in code/modules/holiday/holidays.dm You can then check if it's a special day in any code in the game by calling check_holidays("Groundhog Day")

You can also make holiday random events easily thanks to Pete/Gia's system. simply make a random event normally, then assign it a holidayID string which matches the holiday's name. Anything with a holidayID, which isn't in the holidays list, will never occur.

Please, Don't spam stuff up with stupid stuff (key example being april-fools Pooh/ERP/etc), and don't forget: CHECK YOUR CODE!!!! We don't want any zero-day bugs which happen only on holidays and never get found/fixed!

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

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

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

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