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
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.
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.
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".
background - A generic background object.
It is also implicitly used to allocate a rectangle on the map, which will
be used for auto-scaling the map.
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
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 seperate listener, which makes this quite powerful
footstep - Footstep component. Plays footsteps at parents location when it is appropriate.
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)
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
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
halloween/cobwebs - Cobweb decorator: adds more and more cobwebs as you go through the month
ship - Ship specific cobweb decorator
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.
effect_system/steam_trail_follow - Attach a steam trail to an object (eg. a reacting beaker) that will follow it
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
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 seperate list ref when accessing the lists of this datum
Yea it hurts me too
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. You can add extra text with an underscore.
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
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
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.
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.
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
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.
Colonial Liberation Front Soldier - Faction Specific Corpses
Colonist - CM specific jobs
Prisoner - Civilians
structure spawner - Structure spawner, representing something that can be spawned by gameplay logic during round or at setup
abstract gamemode structure spawner - Setup spawners will all be evaluated by game mode on start, and deleted after
abstract distress spawner - Distress Signal Global Setup Structure spawners
abstract XvX hive spawner - XvX Hive Spawn Structures, spawning alongside a queen in the same area
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.
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!
smoke - SMOKE SYSTEMS
projector - You will appear adjacent to the beacon
spawner/random/Random Facepaint - If anyone wants to make custom sprites for this and the bala random spawner, be my guest.
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