render_plate - Custom rendering solution to allow for advanced effects
We (ab)use plane masters and render source/target to cheaply render 2+ planes as 1
if you want to read more read the _render_readme.md
runtimes - Shorthand of Static Initializer errors only, for use in STUI
Full text of all Static Initializer + World Init errors, for log backfilling
Truthy when init is done and we don't need these shenanigans anymore
In-code keypress handling system - This whole system is heavily based off of forum_account's keyboard library.
Thanks to forum_account for saving the day, the library can be found
here!
CM-SS13 Nightmare Design Notes - The Nightmare system is intended to be a replacement for legacy "Nightmare Creator". Its primary function is to change the game map, but is being expanded to encompass more dynamic round variations.
CM-SS13 Nightmare: Quick Start - Nightmare is a system used to introduce round variations. No two rounds should be same, beyond simply changing people and map. Unknowns and changes maintain the game fresh. This is primarily done by dynamically changing the game map.
CM-SS13 Nightmare Tech Notes - The Nightmare system was designed with flexibility in mind, but quickly became somewhat complicated due to a certain amount of technical issues with the concept and game tech stack.
Area Passthrough - Template noop (no operation) is used to skip a turf or area when the template is loaded this allows for template transparency
ex. if a ship has gaps in it's design, you would use template_noop to fill these in so that when the ship moves z-level, any
tiles these gaps land on will not be deleted and replaced with the ships (empty) tiles
rotating_conical - rotating light mask, but only pointing in one direction
plane_master_controller - Atom that manages and controls multiple planes. It's an atom so we can hook into add_filter etc. Multiple controllers can control one plane.
plane_masters_non_master - Exists for convienience when referencing all non-master render plates.
This is the whole game and the UI, but not the escape menu.
screen - A screen object, which acts as a container for turfs and other things
you want to show on the map, which you usually attach to "vis_contents".
map_view - A screen object, which acts as a container for turfs and other things
you want to show on the map, which you usually attach to "vis_contents".
darkness plane master - Plane master handling byond internal blackness
vars are set as to replicate behavior when rendering to other planes
do not touch this unless you know what you are doing
emissive plane master - Handles emissive overlays and emissive blockers.
game world plane master - Contains most things in the game world
lighting plane master - Contains all lighting objects
namespaced - Namespace'ed assets (for static css and html files)
When sent over a cdn transport, all assets in the same asset datum will exist in the same folder, as their plain names.
Used to ensure css files can reference files by url() without having to generate the css at runtime, both the css file and the files it depends on must exist in the same namespace asset datum. (Also works for html)
For example blah.css with asset blah.png will get loaded as namespaces/a3d..14f/f12..d3c.css and namespaces/a3d..14f/blah.png. allowing the css file to load blah.png by a relative url rather then compute the generated url with get_url_mappings().
The namespace folder's name will change if any of the assets change. (excluding parent assets)
asset_cache_item - An internal datum containing info on items in the asset cache. Mainly used to cache md5 info for speed.
armor_link - Return the object that is the host of any UI's that this component has
datum/component/ui_host()
Allows a piece of clothing to have their armor values change based on the values of another piece of clothing
Ex: Marine boots have their armor values change based on what type of armor you're wearing on your chest
connect_mob_behalf - This component behaves similar to connect_loc_behalf, but working off clients and mobs instead of loc
To be clear, we hook into a signal on a tracked client's mob
We retain the ability to react to that signal on a separate listener, which makes this quite powerful
footstep - Footstep component. Plays footsteps at parents location when it is appropriate.
iff_fire_prevention - A component that prevents gun (although you can attach it to anything else that shoot projectiles) from shooting when mob from the same faction stands in the way.
You can also pass number of ticks, to make gun have an additional delay if firing prevention comes into play, but it is not neccesary.
resin_cleanup - Handles cleaning up resin when the area requests it
shimmy_around - A component to act on the signal COMSIG_STRUCTURE_COLLIDED to shimmy around a dense structure
NOTE: If any part of the Collided proc chain is overriden from obj/structure you must ensure the signal is sent
weed_food - A component that can be attached to a mob/living to be merged with weeds after a delay.
Attempting to attach a new weed_food even if one already exists is equivalent to calling start().
ephemeral_map_mode - Force map bypassing configuration, and ignore map changes
log_timers_on_bucket_reset - logs all timers in buckets on automatic bucket reset (Useful for timer debugging)
logs all timers in buckets on automatic bucket reset (Useful for timer debugging)
extra_larva_per_burst - Used to determine how many extra larva you want per burst. Supports fractions. See /datum/hive_status/proc/increase_larva_after_burst()
influxdb_mcstats_period - How often to snapshot MC statistics
influxdb_send_period - How often to send queued influxdb statistics
influxdb_stats_period - How often to snapshot general game statistics to influxdb driver
str_list - List config entry, used for configuring a list of strings
string
centcom_ban_db - URL for the CentCom Galactic Ban DB API
ephemeral_ground_map - Map configuration file to use in ephemeral mode
influxdb_bucket - InfluxDB v2 Bucket to send staistics to
influxdb_host - InfluxDB v2 Host to connect to for sending statistics (over HTTP API)
influxdb_org - InfluxDB v2 Organization to access buckets of
influxdb_token - InfluxDB v2 API Token to access the organization and bucket
manager_url - Server to notify of game events
nightmare_path - Relative inclusion path for nightmare configuration files
Master - Start of queue linked list
End of queue linked list (used for appending to the list)
Are we loading in a new map?
for scheduling different subsystems for different stages of the round
christmas/food - Replaces marine food dispensers contents with more festive MREs
gamemode - Gamemode decorators allow us to make changes to edits on specific gamemodes,
to assist in balancing varied gameplay in different modes
discord_embed - Documentation for the embed object and all of its variables can be found at
https://discord.com/developers/docs/resources/channel#embed-object
It is recommended to read the documentation on the discord website, as the information below could become outdated in the future.
player_stats/human - indexed list of types /datum/entity/weapon_stats
indexed list of types /datum/entity/job_stats
reference to /datum/entity/weapon_stats (like tac-shotty)
weapon_stats - Indexed list of /datum/entity/statistic, "Total Reloads" = number
Indexed list of /datum/entity/statistic, "jobname2" = number
Indexed list of /datum/entity/statistic, "caste" = number
cobwebs - Cobweb decorator: adds more and more cobwebs as you go through the month
pumpkins - Pumpkins decorator: adds patches of carvable/wearable pumpkins around the ground level
Amount of pumpkins to place
Amount of pumpkins to remove per day to halloween
Chance reduction per day before halloween
health_scan - vars reffing this on /mob/dead/observer, /obj/item/device/healthanalyzer, /obj/structure/machinery/cm_vending/sorted/medical, /obj/structure/machinery/body_scanconsole are called last_health_display
Hivebuff - HIVE BUFFS - XENOMORPH ENDGAME
Contains all the class definitons and code for applying hivebuffs to xeno hives.
Each buff consists of a /datum/hivebuff
And associated on_engage and on_cease procs to handle behaviour of activating and ending the buffs
Buffs are divided into 2 tiers, minor and major.
hud_displays - Holder datum for a zlevels data, concerning the overlays and the drawn level itself
The individual image trackers have a raw and a normal list
raw lists just store the images, while the normal ones are assoc list of [tracked_atom] = image
the raw lists are to speed up the Fire() of the subsystem so we dont have to filter through
WARNING!
There is a byond bug: http://www.byond.com/forum/post/2661309
That that forces us to use a separate list ref when accessing the lists of this datum
Yea it hurts me too
lazy_template - Datum used to designate certain areas that do not need to exist nor be loaded at world start
but do want to be loaded under certain circumstances. Use this for stuff like the nukie base or wizden, aka stuff that only matters when their antag is rolled.
include - Same as branch, but load node data from another included file
mapload - Abstract config node designating a map insertion
landmark - Designates insert of a given map file at a specified landmark
Map Sprinkles - Similar to variations mode, but rolls all files individually rather
than picking one, using name for landmark. The prefix number is used
as a percentage chance.
Map Variations - Inserts a map file among a set of variations in a folder
param: path: some/folder/, landmark
files within should be named with a prefix indicating weighting:
some/folder/20.destroyed.dmm
some/folder/50.spaced.dmm
using + instead of dot means to keep map contents, eg.
some/folder/20+extras.dmm is added on top
picker - Same as branch, but selects a subset of the given nodes
amount: how many items to pick
choices: nested nodes to pick from
each node should have a 'weight' key if you want to use weighted pick
abstract task - Nightmare task, executing game actions as part of context
mapload - Loads a chunk of map at the specified position
scheduler - Simple blocking executor to execute several tasks in a row
mapload scheduler - Handles map insertions sequentially and updating the game to match map insertions
object_window_info - Datum that holds and tracks info about a client's object window
Really only exists because I want to be able to do logic with signals
And need a safe place to do the registration
qdel_item - Qdel Item: Holds statistics on each type that passes thru qdel
Holds the type as a string for this type
Total number of times it's passed thru qdel.
Total amount of milliseconds spent processing this type's Destroy()
Times it was queued for soft deletion but failed to soft delete.
Different from failures because it also includes QDEL_HINT_HARDDEL deletions
Total amount of milliseconds spent hard deleting this type.
Highest time spent hard_deleting this in ms.
Number of times hard deletes took longer than the configured threshold
Number of times it's not respected force=TRUE
Number of times it's not even bother to give a qdel hint
Number of times it's slept in its destroy
Redis callbacks - This datum is used for assigning callbacks that run
when a message is received on a specific channel. Subtypes of this
are automatically registered in SSredis initialization
Redis message - Used to hold redis messages created prior to the initialization of SSredis
skills - Skill with an extra S at the end is a collection of multiple skills. Basically a skillSET
This is to organize and provide a common interface to the huge heap of skills there are
Human - The blood volume turned into a %, with BLOOD_VOLUME_NORMAL being 100%
How much oxyloss will there be from the next time blood processes
The limit of the oxyloss gained, ignoring oxyloss from the switch statement
status_effect - Status effects are used to apply temporary or permanent effects to mobs.
This file contains their code, plus code for applying and removing them.
grouped - Status effect from multiple sources, when all sources are removed, so is the effect
incapacitating/dazed - DAZED:
This prevents talking as human or using abilities as Xenos, mainly
limited_buff - These effects reapply their on_apply() effect when refreshed while stacks < max_stacks.
surgery - Base surgery datum and procs. There is an important distinction between surgery datums and surgery steps.
The surgery is a separate instance for each individual operation; the steps are shared globally.
datum/surgery and datum/surgery_step are intertwined. The surgery calls the step which modifies the surgery.
Defines are in __DEFINES/human.dm and __DEFINES/surgery.dm.
tgs_chat_command - User definable chat command. This abstract version MUST be overridden to be used.
tgs_chat_embed
field - See https://discord.com/developers/docs/resources/message#embed-object-embed-field-structure for details.
footer - See https://discord.com/developers/docs/resources/message#embed-object-embed-footer-structure for details.
media - Common datum for similar Discord embed medias.
provider - See https://discord.com/developers/docs/resources/message#embed-object-embed-provider-structure for details.
author - See https://discord.com/developers/docs/resources/message#embed-object-embed-author-structure for details. Must have name set in New().
structure - User definable chat embed. Currently mirrors Discord chat embeds. See https://discord.com/developers/docs/resources/message#embed-object for details.
async tgui_checkbox_input - An asynchronous version of tgui_checkbox_input to be used with callbacks instead of waiting on user responses.
tgui_color_picker - Datum used for instantiating and using a TGUI-controlled color picker.
async tgui_color_picker - An asynchronous version of tgui_color_picker to be used with callbacks instead of waiting on user responses.
tgui_input_number - Datum used for instantiating and using a TGUI-controlled number input that prompts the user with
a message and has an input for number entry.
async tgui_input_number - An asynchronous version of tgui_input_number to be used with callbacks instead of waiting on user responses.
tgui_list_input - Datum used for instantiating and using a TGUI-controlled list input that prompts the user with
a message and shows a list of selectable options
async tgui_list_input - An asynchronous version of tgui_list_input to be used with callbacks instead of waiting on user responses.
tgui_modal - Datum used for instantiating and using a TGUI-controlled modal that prompts the user with
a message and has buttons for responses.
async tgui_modal - An asynchronous version of tgui_modal to be used with callbacks instead of waiting on user responses.
tgui_panel - tgui_panel datum
Hosts tgchat and other nice features.
tgui_say - The tgui say modal. This initializes an input window which hides until
the user presses one of the speech hotkeys. Once something is entered, it will
delegate the speech to the proper channel.
create_and_destroy - Delete one of every type, sleep a while, then check to see if anything has gone fucky
emote_panels - Test that all emotes for Working Joes & Yautja have a category
focus_only - These tests perform no behavior of their own, and have their tests offloaded onto other procs.
This is useful in cases like in build_appearance_list where we want to know if any fail,
but is not useful to right a test for.
This file exists so that you can change any of these to TEST_FOCUS and only check for that test.
For example, change /datum/unit_test/focus_only/invalid_overlays to TEST_FOCUS(/datum/unit_test/focus_only/invalid_overlays),
and you will only test the check for invalid overlays in appearance building.
invalid_overlays - Checks that every overlay passed into build_appearance_list exists in the icon
invalid_research_designs - Checks that every icon sent to the research_designs spritesheet is valid
invalid_vending_machine_icon_states - Checks that every icon sent to vending machines is valid
multiple_space_initialization - Checks that space does not initialize multiple times
sorted_smoothing_groups - Checks that smoothing_groups and canSmoothWith are properly sorted in /atom/Initialize
missing_icons - Makes sure objects actually have icons that exist!
spritesheets - Checks if spritesheet assets contain icon states with invalid names
ProcCall Handler - Used to handle proccalls called indirectly by an admin (namely tgs).
Has to be a mob because IsAdminAdvancedProcCall() checks usr, which is a mob variable.
So usr is set to this for any proccalls that don't have any usr mob/client to refer to.
tutorial bottom left - Marks the bottom left of the tutorial zone.
unit test zone bottom left - Marks the bottom left of the testing zone.
In landmarks.dm and not unit_test.dm so it is always active in the mapping tools.
unit test zone top right - Marks the top right of the testing zone.
In landmarks.dm and not unit_test.dm so it is always active in the mapping tools.
lighting_mask_holder - Holder for lighting mask, this is done for ensuing correct render as a viscontents
particle_effect
ion trails - ///// Attach an Ion trail to any object, that spawns when it moves (like for the jetpack)
just pass in the object to attach it to in set_up
Then do start() to start it and stop() to stop it, obviously
and don't call start() in a loop that will be repeated otherwise it'll get spammed!
projector - You will appear adjacent to the beacon
sentry_landmark - Allows a mapper to override the location of turrets on specific LZs, in specific placements. If multiple
are placed, it picks randomly.
primed - Damage equation: damage - (mob distance * falloff_dam_reduction_mult)
Example: A marine is 3 tiles out, the distance (3) is multiplied by falloff_dam_reduction_mult to get falloff.
The raw damage is minused by falloff to get actual damage
paper dispenser - Relic from the days of cyborgs, kept for flavour, an handheld paper
dispenser that was supposed to print pre-filled forms but never did.
prop gun - The source, which the skin will be copied from
The prop itself, which the skin will be copied to
replacer - A prop that acts as a replacement for another item, mimicking their looks.
Mainly used in Reqs Tutorial to provide the full item selections without side effects.
disposalholder - Virtual disposal object, travels through pipes in lieu of actual items
Contents will be items flushed by the disposal, this allows the gas flushed to be tracked
patch of pumpkins - Patches of pumpkins spawned at roundstart from where marines can get their carvable pumpkins
Whether there's still vines to display or not
Amount of pumpkins currently in the patch
Prefix to prepend to icon states, for corrupted pumpkins
roof/hybrisa/billboard - Alien Isolation - posters used as reference (direct downscale of the image for some) If anyone wants to name the billboards individually
tent - Structures serving as landmarks and providing a buff to its users.
A notable code feature is that they use a separate roof image that phases out when you enter the tent.
big - Big Tent. It's just Big. Use it for shelter or organization!
cmd - Command tent, providing basics for field command: a phone, and an overwatch console
med - Medical tent, procures a buff to surgery speed
reinforced/heavy reinforced hull - Acts like /turf/closed/wall/almayer/outer until post-hijack where it reverts to /turf/closed/wall/almayer/reinforced.
r_wall/elevator - Destructible elevator walls, for when you want the elevator to act as a prop rather than an actual elevator
open/floor
almayer/empty space - Base type of the requisitions and vehicle bay elevator pits.
requisitions - Requisitions pit.
vehicle_bay - Vehicle bay pit.
plating/catwalk - Visually like plating+catwalks but without overlaying or interactions - mainly for Reqs Elevator
strata
blue1 - strata - blue
cyan1 - strata - cyan
green1 - strata - green
orange_edge - strata - orange
purp1 - strata - purple
red1 - strata - red
tdome - Admin level thunderdome floor. Doesn't get damaged by explosions and such for pristine testing