__DEFINES - This folder is full of #define statements. They are similar to constants,
but must come before any code that references them, and they do not take up
memory the way constants do.
materials - How material datums work
Materials are now instanced datums, with an associative list of them being kept in SSmaterials. We only instance the materials once and then re-use these instances for everything.
food/edible - This component makes it possible to make things edible. What this means is that you can take a bite or force someone to take a bite (in the case of items).
These items take a specific time to eat, and can do most of the things our original food items could.
material_container - This datum should be used for handling mineral contents of machines and whatever else is supposed to hold minerals and make use of them.
swabbing - This component is used in vat growing to swab for microbiological samples which can then be mixed with reagents in a petridish to create a culture plate.
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!
language/language_holder - Language holders will either exist in an atom/movable or a mind. Creation of language holders happens
automatically when they are needed, for example when something tries to speak.
Where a mind is available, the mind language holder will be the one "in charge". The mind holder
will update its languages based on the atom holder, and will get updated as part of
transformations and other events that cause new languages to become available.
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".
plane_master
emissive - Things placed on this mask the lighting plane. Doesn't render directly.
emissive_blocker - Things placed on this layer mask the emissive layer. Doesn't render directly
emissive_unblockable - Things placed on this always mask the lighting plane. Doesn't render directly.
floor - Contains just the floor
game_world - Contains most things in the game world
lighting - Contains all lighting objects
openspace - Things rendered on "openspace"; holes in multi-z
consume - This action lets you consume the mob you're currently pulling. I'M GONNA CONSUUUUUME (this is considered one of the funny memes in the 2019-2020 era)
cooldown
coffer - This action creates trash, money, dirt, and cheese.
gel_cocoon - This action lets you put a mob inside of a cacoon that will inject it with some chemicals.
metabolicboost - This ability lets the gelatinious ooze speed up for a little bit
riot - This action checks all nearby mice, and converts them into hostile rats. If no mice are nearby, creates a new one.
ai_module - The base module type, which holds info about each ability.
destructive - Modules causing destruction
blackout - Blackout: Overloads a random number of lights across the station. Three uses.
destroy_rcd - Destroy RCDs: Detonates all non-cyborg RCDs on the station.
lockdown - Hostile Station Lockdown: Locks, bolts, and electrifies every airlock on the station. After 90 seconds, the doors reset.
nuke_station - Doomsday Device: Starts the self-destruct timer. It can only be stopped by killing the AI completely.
overload_machine - Overload Machine: Allows the AI to overload a machine, detonating it after a delay. Two uses per purchase.
override_machine - Override Machine: Allows the AI to override a machine, animating it into an angry, living version of itself.
upgrade - Modules that are improving AI abilities and assets
eavesdrop - Enhanced Surveillance: Enables AI to hear conversations going on near its active vision.
mecha_domination - Unlock Mech Domination: Unlocks the ability to dominate mechs. Big shocker, right?
upgrade_cameras - Upgrade Camera Network: EMP-proofs all cameras, in addition to giving them X-ray vision.
upgrade_turrets - AI Turret Upgrade: Increases the health and damage of all turrets.
utility - Modules with stealthy and utility uses
break_air_alarms - Air Alarm Safety Override: Unlocks the ability to enable flooding on all air alarms.
break_fire_alarms - Thermal Sensor Override: Unlocks the ability to disable all fire alarms from doing their job.
emergency_lights - Disable Emergency Lights
place_cyborg_transformer - Robotic Factory: Places a large machine that converts humans that go through it into cyborgs. Unlocking this ability removes shunting.
reactivate_cameras - Reactivate Camera Network: Reactivates up to 30 cameras across the station.
contractor_support - Support unit gets it's own very basic antag datum for admin logging.
asset/simple - If you don't need anything complicated.
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.
randomized/metalgen - Random recipe for meme chem metalgen. Always requires wittel and resets every 3 days
sbiten - DRINKS THAT REQUIRED IMPROVED SPRITES BELOW:: -Agouri
seiver - TOX
surfactant - foam and foam precursor
tofu - FOOD MIXTURES
virus_food - VIROLOGY
client_colour - Client Colour Priority System By RemieRichards (then refactored by another contributor)
A System that gives finer control over which client.colour value to display on screen
so that the "highest priority" one is always displayed as opposed to the default of
"whichever was set last is displayed".
areabound - Movables with this component will automatically return to their original turf if moved outside their initial area
beauty - Beauty component, makes the indoor area the parent is in prettier or uglier depending on the beauty var.
Clean and well decorated areas lead to positive moodlets for passerbies, while shabbier, dirtier ones
lead to negative moodlets exclusive to characters with the snob quirk.
bloodysoles - Component for clothing items that can pick up blood from decals and spread it around everywhere when walking, such as shoes or suits with integrated shoes.
feet - Like its parent but can be applied to carbon mobs instead of clothing items
explodable - Component specifically for explosion sensetive things, currently only applies to heat based explosions but can later perhaps be used for things that are dangerous to handle carelessly like nitroglycerin.
food_storage - --Food storage component--
This component lets you slide one item into large foods, such as bread, cheese wheels, or cakes.
Consuming food storages with an item inside can cause unique interactions, such as eating glass shards.
footstep - Footstep component. Plays footsteps at parents location when it is appropriate.
gps - GPS component. Atoms that have this show up on gps. Pretty simple stuff.
item - GPS component subtype. Only gps/item's can be used to open the UI.
filter - The magical plumbing component used by the chemical filters. The different supply connects behave differently depending on the filters set on the chemical filter
simple_demand - has one pipe input that only takes, example is manual output pipe
simple_supply - has one pipe output that only supplies. example is liquid pump and manual input pipe
religious_tool - Allows the parent to act similarly to the Altar of Gods with modularity. Invoke and Sect Selection is done via attacking with a bible. This means you cannot sacrifice Bibles (you shouldn't want to do this anyways although now that I mentioned it you probably will want to).
storage/concrete/tcg - A storage component to be used on card piles, for use as hands/decks/discard piles. Don't use on something that's not a card pile!
flag/panic_bunker_interview - Flag for requiring players who would otherwise be denied access by the panic bunker to complete a written interview
number/outdated_movedelay - Outdated move delay
str_list - List config entry, used for configuring a list of strings
contractor_item
blackout - We give a reference to the mind that'll be the support unit
contractor_pinpointer - We're not regenerating already completed/aborted/extracting contracts, but we don't want to repeat their targets.
Reroll contracts without duplicates
Set our target list with the new set we've generated.
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
effect_system/trail_follow - ///// Attach a 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!
element - A holder for simple behaviour that can be attached to many different types
backblast - When attached to a gun and the gun is successfully fired, this element creates a "backblast" of fire and pain, like you'd find in a rocket launcher or recoilless rifle
bed_tuckable - Tucking element, for things that can be tucked into bed.
caltrop - Caltrop element; for hurting people when they walk over this.
item_scaling - Element for scaling item appearances in the overworld or in inventory/storage.
light_blocking - Attached to movable atoms with opacity. Listens to them move and updates their old and new turf loc's opacity accordingly.
movetype_handler - An element that enables and disables movetype bitflags whenever the relative traits are added or removed.
It also handles the +2/-2 pixel y anim loop typical of mobs possessing the FLYING or FLOATING movetypes.
This element is necessary for the TRAIT_MOVE_ traits to work correctly, so make sure to attach this element
before adding them to non-living movables.
obj_regen - Object integrity regeneration element added by alien alloy.
point_of_interest - Designates the atom as a "point of interest", meaning it can be directly orbited
ridable - This element is used to indicate that a movable atom can be mounted by mobs in order to ride it. The movable is considered mounted when a mob is buckled to it,
at which point a riding component is created on the movable, and that component handles the actual riding behavior.
squashable - This element allows something to be when crossed, for example for cockroaches.
Families gamemode / dynamic ruleset handler - A special datum used by the families gamemode and dynamic rulesets to centralize code. "Family" and "gang" used interchangeably in code.
gas_reaction/freonformation - the more heat you use the higher is this factor
the more moles you use and the higher the heat, the higher is the efficiency
Instrument Datums - Instrument datums hold the data for any given instrument, as well as data on how to play it and what bounds there are to playing it.
instrument_key - Instrument key datums contain everything needed to know how to play a specific
note of an instrument.*
interview - Represents a new-player interview form
Interview Manager - Handles all interviews in the duration of a round, includes the primary functionality for
handling the interview queue.
map_generator - This type is responsible for any map generation behavior that is done in areas, override this to allow for area-specific map generation. This generation is ran by areas in initialize.
Outfit datums - This is a clean system of applying outfits to mobs, if you need to equip someone in a uniform
this is the way to do it cleanly and properly.
junkie - If this is defined, reagent_id will be unused and the defined reagent type will be instead.
actual instanced version of the reagent
Where the drug spawned
If this is defined before pill generation, pill generation will be skipped. This is the type of the pill bottle.
where the accessory spawned
If this is null, an accessory won't be spawned.
how frequently the quirk processes
Religious Sects - Religious Sects are a way to convert the fun of having an active 'god' (admin) to code-mechanics so you aren't having to press adminwho.
market_crash - An event which decreases the station target temporarily, causing the inflation var to increase heavily.
spooky - You will appear adjacent to the beacon
stray_cargo - Spawns a cargo pod containing a random cargo supply pack on a random area of the station
syndicate - Places that shouldn't explode
Subtypes from the above that actually should explode.
A rare variant that drops a crate containing syndicate uplink items
scar - scars are cosmetic datums that are assigned to bodyparts once they recover from wounds. Each wound type and severity have their own descriptions for what the scars
look like, and then each body part has a list of "specific locations" like your elbow or wrist or wherever the scar can appear, to make it more interesting than "right arm"
stack_canary - Stack canary. Will go away if the stack it was primed by is ended by byond for return or stack overflow reasons.
stack_end_detector - Stack End Detector.
Can detect if a given code stack has exited, used by the mc for stack overflow detection.
station_request - A combined all in one datum that stores everything about the request, the requester's account, as well as the requestee's account
All of this is passed to the Request Console UI in order to present in organized way.
grouped - Status effect from multiple sources, when all sources are removed, so is the effect
Adds itself to sources and destroys itself if one exists already, there are never multiple
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.
robot_defines - Definitions for /mob/living/silicon/robot and its children, including AI shells.
nocell - Defining specific kinds of robots
This is the subtype that gets created by robot suits. It's needed so that those kind of borgs don't have a useless cell in them
simple_animal - Simple, mostly AI-controlled critters, such as pets, bots, and drones.
Goliath Broodmother - A stronger, faster variation of the goliath. Has the ability to spawn baby goliaths, which it can later detonate at will.
When it's health is below half, tendrils will spawn randomly around it. When it is below a quarter of health, this effect is doubled.
It's attacks are as follows:
Herald - A slow-moving projectile user with a few tricks up it's sleeve. Less unga-bunga than Colossus, with more cleverness in it's fighting style.
As it's health gets lower, the amount of projectiles fired per-attack increases.
It's attacks are as follows:
Legionnaire - A towering skeleton, embodying the power of Legion.
As it's health gets lower, the head does more damage.
It's attacks are as follows:
Pandora - A box with a similar design to the Hierophant which trades large, single attacks for more frequent smaller ones.
As it's health gets lower, the time between it's attacks decrease.
It's attacks are as follows:
bear/fightpit - If the atom entering the gate is a vehicle, we store it here to add to the approved list to enter/leave the scanner gate.
We store the driver of vehicles seperately so that we can add them to the approved list once payment is fully processed.
vatbeast - Vatbeasts are creatures from vatgrowing and are literaly a beast in a vat, yup. They are designed to be a powerful mount roughly equal to a gorilla in power.
durand_shield - Shield processing
*An object to take the hit for us when using the Durand's defense mode.
It is spawned in during the durand's initilization, and always stays on the same tile.
Normally invisible, until defense mode is actvated. When the durand detects an attack that should be blocked, the
attack is passed to the shield. The shield takes the damage, uses it to calculate charge cost, and then sets its
own integrity back to max. Shield is automatically dropped if we run out of power or the user gets out.
effect
abstract/info - An info button that, when clicked, puts some text in the user's chat
loot_site_spawner - this spawner usually spawns a boring crate, but has a chance to replace the crate with "loot crate" with a different loot table or a decorative site.
mapping_helpers
custom_icon - Fetches an external dmi and applies to the target object
rust_conversion/small - What we want is the 3 tiles around the user and the tile under him to be rusted, so min(dist,1)-1 causes us to get 0 for these tiles, rest of the tiles are based on chance
gross_decal_spawner - This spawner can spawn either a swabbable or non-swabble decal, the purpose of this is provide swabbing spots that cannot be rushed every round using map knowledge.
space
cashmoney - Space loot spawner. Randomlu picks 5 wads of space cash.
fancytech - Space loot spawner. Couple of random bits of technology-adjacent stuff including anomaly cores and BEPIS techs.
fancytool - Space loot spawner. Some sort of random and rare tool. Only a single drop.
languagebook - Space loot spawner. A single roundstart species language book.
material - Space loot spawner. Random selecton of a few rarer materials.
rareseed - Space loot spawner. A bunch of rarer seeds. /obj/item/seeds/random is not a random seed, but an exotic seed.
syndiecosmetic - A selection of cosmetic syndicate items. Just a couple. No hardsuits or weapons.
nuke_ops - BORGS AND OPERATIVES
Device to request reinforcments from ghost pop
borg_tele - SYNDICATE BORG
clown - CLOWN OP
slaughter_demon - SLAUGHTER DEMON
assembly
flash - The z level to which the elevator should travel
The amount of z levels between the our and targetZ
Direction (up/down) needed to go to reach targetZ
How long it will/should take us to reach the target Z level
bounty_cube - Upon completion of a civilian bounty, one of these is created. It is sold to cargo to give the cargo budget bounty money, and the person who completed it cash.
hard_drive/small/nukeops - For tablets given to nuke ops
recharger/cyborg - This recharger exists only in borg built-in tablets. I would have tied it to the borg's cell but
the program that displays laws should always be usable, and the exceptions were starting to pile.
monkeycube/syndicate - internal proc called by a monkeycube's suicide_act using a timer and callback. takes as argument the mob/living who activated the suicide
muffin - MUFFINS
patty/plain - Exists purely for the crafting recipe (because itll take subtypes)
c4/Spider Charge - A unique version of c4 possessed only by the space ninja. Has a stronger blast radius.
Can only be detonated by space ninjas with the bombing objective. Can only be set up where the objective says it can.
When it primes, the space ninja responsible will have their objective set to complete.
smokebomb - This is smoke bomb, mezum koman. It is a grenade subtype. All craftmanship is of the highest quality.
It menaces with spikes of iron. On it is a depiction of an assistant.
The assistant is bleeding. The assistant has a painful expression. The assistant is dead.
ballistic - Subtype for any kind of ballistic gun
This has a shitload of vars on it, and I'm sorry for that, but it does make making new subtypes really easy
exile/noteleport - Used to help the staff of the space hotel resist the urge to use the space hotel's incredibly alluring roundstart teleporter to ignore their flavor/greeting text and come to the station.
paper - Paper is now using markdown (like in github pull notes) for ALL rendering
so we do loose a bit of functionality but we gain in easy of use of
paper and getting rid of that crashing bug
construction - WHHHHY
This does the overlay stuff
Construction paper
star_cactus - Star Cactus seeds, mutation of lavaland cactus.
watermelon/barrel - Barrel melon Seeds
self_grasp - an abstract item representing you holding your own limb to staunch the bleeding, see [/mob/living/carbon/proc/grabbedby] will probably need to find somewhere else to put this.
tcgcard_deck - A stack item that's not actually a stack because ORDER MATTERS with a deck of cards!
The "top" card of the deck will always be the bottom card in the stack for our purposes.
bounty_board - A machine that acts basically like a quest board.
Enables crew to create requests, crew can sign up to perform the request, and the requester can chose who to pay-out.
chem_master - Machine that allows to identify and separate reagents in fitting container
as well as to create new containers with separated reagents in it.
condimaster - Machine that allows to identify and separate reagents in fitting container
as well as to create new containers with separated reagents in it.
hypertorus - Those are the scaled gases that gets consumed and releases energy or help increase that energy
Those are the scaled gases that gets produced and consumes energy or help decrease that energy
Between 0.25 and 100, this value is used to modify the behaviour of the internal energy and the core temperature based on the gases present in the mix
Minimum 0.25, this value is used to modify the behaviour of the energy emission based on the gases present in the mix
Between 0.005 and 1000, this value modify the radiation emission of the reaction, higher values increase the emission
plumbing - Basic plumbing object.
It doesn't really hold anything special, YET.
Objects that are plumbing but not a subtype are as of writing liquid pumps and the reagent_dispenser tank
Also please note that the plumbing component is toggled on and off by the component using a signal from default_unfasten_wrench, so dont worry about it
acclimator - this the plumbing version of a heater/freezer.
disposer - see if machine has enough to fill
pick a reagent_container that could be used
see if it would overflow else inject
glass was full so we move it away
slime extracts need inject
no need to move slimecross industrial things
filter - chemical plumbing filter. If it's not filtered by left and right, it goes straight.
growing_vat - Used to make mobs from microbiological samples. Grow grow grow.
input - We can empty beakers in here and everything
liquid_pump - We pump liquids from activated(plungerated) geysers to a plumbing outlet. We need to be wired.
output - We can fill beakers in here and everything. we dont inheret from input because it has nothing that we need
pill_press - We take a constant input of reagents, and produce a pill once a set volume is reached
reaction_chamber - a reaction chamber for plumbing. pretty much everything can react, but this one keeps the reagents seperated and only reacts under your given terms
receiver - A bluespace output pipe for plumbing. Supports multiple recipients. Must be constructed with a circuit board
splitter - it splits the reagents however you want. So you can "every 60 units, 45 goes left and 15 goes straight". The side direction is EAST, you can change this in the component
synthesizer - A single machine that produces a single chem. Can be placed in unison with others through plumbing to create chemical factories
basalt/lava_land_surface - Surface. The surface is warm, but survivable without a suit. Internals are required. The floors break to chasms, which drop you into the underground.