__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.
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.
emissive_blocker - Internal atom that copies an appearance on to the blocker plane
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.
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 - Handles emissive overlays and emissive blockers.
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
domain - Increase the rat king's domain
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.
addiction - base class for addiction, handles when you become addicted and what the effects of that are. By default you become addicted when you hit a certain threshold, and stop being addicted once you go below another one.
alcohol - Alcohol
medicine - Makes you a hypochondriac - I'd like to call it hypochondria, but "I could use some hypochondria" doesn't work
cursed item ai! - Haunted AI tries to not be interacted with, and will attack people who do.
Cursed AI instead tries to be interacted with, and will attempt to equip itself onto people.
Added by /datum/element/cursed, and as such will try to remove this element and go dormant when it finds a victim to curse
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.
ai_movement - This datum is an abstract class that can be overriden for different types of movement
dumb - The most braindead type of movement, bee-line to the target with no concern of whats infront of us.
jps - This movement datum represents smart-pathing
ai_planning_subtree - A subtree is attached to a controller and is occasionally called by /ai_controller/SelectBehaviors(), this mainly exists to act as a way to subtype and modify SelectBehaviors() without needing to subtype the ai controller itself
enemy_of_the_revolution - When the revolution wins, any remaining heads and security become Enemies of the Revolution.
Previously being nonantagonists, they only have one simple objective: survive!
enemy_of_the_state - When the station wins, any remaining living headrevs become Enemies of the State, a small solo antagonist.
They either have the choice to fuck off and do their own thing, or try and regain their honor with a hijack.
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)
centcom_announcer - Data holder for the announcers that can be used in a game, this can be used to have alternative announcements outside of the default e.g.the intern
metalgen - Random recipe for meme chem metalgen. Always requires wittel and resets every 3 days
slime - End example
surfactant - foam and foam precursor
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".
client_interface - This should match the interface of /client wherever necessary.
command_report_menu - Datum for holding the TGUI window for command reports.
aquarium_content - Allows movables to be inserted/displayed in aquariums.
area_sound_manager - Allows you to set a theme for a set of areas without tying them to looping sounds explicitly
areabound - Movables with this component will automatically return to their original turf if moved outside their initial area
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
egg layer component! - Component that manages how many eggs to lay, what can be fed to the mob to make them lay more, and what is actually laid.
Since the only real interaction with the component is an attackby, the nice part is that we're able to make this an atom level proc.
egg_layer will loudly fail if you do not provide it the arguments, as to encourage explicicy(?)
electrified_buckle component: - attach it to any atom/movable that can be buckled to in order to have it shock mobs buckled to it. by default it shocks mobs buckled to parent every shock_loop_time.
the parent is supposed to define its behavior with arguments in AddComponent
Experiment Handler - This is the component for interacting with experiments from a connected techweb. It is generic
and should be set-up to automatically work on any class it is attached to without outside code
(Excluding potential callbacks)
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.
gas_leaker - A component to leak gas over time from damaged objects with gas storage
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.
acidic_input - Special connect that we currently use for reaction chambers. Being used so we can keep certain inputs seperate, like into a special internal acid container
alkaline_input - Special connect that we currently use for reaction chambers. Being used so we can keep certain inputs seperate, like into a special internal base container
buffer - Baby component for the buffer plumbing machine
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
iv_drip - Component for IVs that tracks the current person being IV'd. Input received through plumbing is instead routed to the whoever is attached
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).
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
string/admin_2fa_url - URL for admins to be redirected to for 2FA
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
traitor - Probability the AI going malf will be accompanied by an ion storm announcement and some ion laws.
The probability to replace an existing law with an ion law instead of adding a new ion law.
dynamic_snapshot - A "snapshot" of dynamic at an important point in time.
Exported to JSON in the dynamic.json log file.
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
animal variety element! - bespoke element that picks an suffix to append onto the icon state from a list given on creation, among some pixel shifting stuff
basically you will see VARIETY in a batch of simplemobs.
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
beauty - Beauty element. It makes the indoor area the parent is in prettier or uglier depending on the beauty var value.
Clean and well decorated areas lead to positive moodlets for passerbies;
Shabbier, dirtier ones lead to negative moodlets EXCLUSIVE to characters with the snob quirk.
bed_tuckable - Tucking element, for things that can be tucked into bed.
caltrop - Caltrop element; for hurting people when they walk over this.
chewable - Anything with this element will provide the reagents inside the
item to the user when it is equipped.
connect_loc - This element hooks a signal onto the loc the current object is on.
When the object moves, it will unhook the signal and rehook it to the new object.
connect_loc_behalf - This element behaves the same as connect_loc, hooking into a signal on a tracked object's turf
It has the ability to react to that signal on behalf of a seperate listener however
This has great use, primarially for components, but it carries with it some overhead
So we do it seperately rather then intigrating the behavior with the main element
crackable - Adds crack overlays to an object when integrity gets low
curse announcement element! - Bespoke element that sends a harrowing message when you first pick up an item, applying a spooky color outline and renaming the item.
For most items, it will announce when picked up. If the item can be equipped, though, it will only announce when the item is worn.
Possible improvements for the future: add an option to allow the cursed affix to be a prefix. right now only coded for suffixes
cursed element! - Attaching this element to something will make it float, and get a special ai controller!
deferred_aquarium_content - Create /datum/component/aquarium_content with the preset path on the target right before being inserted into aquarium and deletes itself.
Used to save memory from aquarium properties on common objects/stacks that won't see aquarium in 99 out of 100 rounds.
delete_on_drop - Attaches to an item, if that item is dropped on the floor delete it
drag_pickup - drag_pickup element; for allowing things to be picked up by dragging.
footstep - Footstep element. Plays footsteps at parents location when it is appropriate.
haunted - Attaching this element to something will make it float, get a special ai controller, and gives it a spooky outline.
item_scaling - Element for scaling item appearances in the overworld or in inventory/storage.
kneecapping - Kneecapping element replaces the item's secondary attack with an aimed attack at the kneecaps under certain circumstances.
kneejerk - An element which enables certain items to tap people on their knees to measure brain health
light_blocking - Attached to movable atoms with opacity. Listens to them move and updates their old and new turf loc's opacity accordingly.
light_eaten - Makes anything that it attaches to incapable of producing light
light_eater - Makes anything it attaches to capable of permanently removing something's ability to produce light.
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.
openspace_item_click_handler - allow players to easily use items such as iron rods, rcds on open space without
having to pixelhunt for portions not occupied by object or mob visuals.
Pet bonus element! - Bespoke element that plays a fun message, sends a heart out, and gives a stronger mood bonus when you pet this animal.
I may have been able to make this work for carbons, but it would have been interjecting on some help mode interactions anyways.
plant_backfire - -- Plant backfire element --
Certain high-danger plants, like death-nettles, will backfire and harm the holder if they're not properly protected.
If a user is protected with something like leather gloves, they can handle them normally.
If they're not protected properly, we invoke a callback on the user, harming or inconveniencing them.
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.
rust - Adding this element to an atom will have it automatically render an overlay.
The overlay can be specified in new as the first paramter; if not set it defaults to rust_overlay's rust_default
simple flying element! - Non bespoke element (1 in existence) that makes animals fly while living and... not while dead!
Note: works for carbons and above, but please do something better. humans have wings got dangit!
undertile - Add to an object if you want to be able to be hidden under tiles
venomous - Venomous element; which makes the attacks of the simplemob attached poison the enemy.
venue_price - This component can be used to give something value for venues
volatile_gas_storage - An element to make an /obj explode based on gas pressure when broken
weapon_description - The purpose of this element is to widely provide the ability to examine an object and determine its stats, with the ability to add
additional notes or information based on type or other factors
weather_listener - This element just handles creating and destroying an area sound manager that's hooked into weather stuff
Emote - Most of the text that's not someone talking is based off of this.
living/carbon/human/monkey - Snowflake emotes only for le epic chimp
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.
icon_state - The most basic greyscale layer; a layer which is created from a single icon_state in the given icon file
reference - A layer created by using another greyscale icon's configuration
greyscale_modify_menu - The controller for the ui in charge of all runtime greyscale configuration/debug.
If Unlock() is not called the menu is safe for players to use.
hallucination
fake_health_doll - Causes the target to see incorrect health damages on the healthdoll
xeno_attack - Xeno crawls from nearby vent,jumps at you, and goes back in
highlander_controller - The highlander controller handles the admin highlander mode, if enabled.
It is first created when "there can only be one" triggers it, and it can be referenced from GLOB.highlander_controller
id_trim - Simple datum that holds the basic information associated with an ID card trim.
admin - Trim for admins and debug cards. Has every single access in the game.
away - Generic away/pffstation trim.
cat_surgeon - Trim for the cat surgeon ruin.
hilbert - Trim for Hilber in Hilbert's Hotel.
hotel - Trim for the hotel ruin. Not Hilbert's Hotel.
security - Trim for the hotel ruin. Not Hilbert's Hotel.
old
apc - Trim for the oldstation ruin/Charlie station
eng - Trim for the oldstation ruin/Charlie station
sci - Trim for the oldstation ruin/Charlie station
sec - Trim for the oldstation ruin/Charlie station
battlecruiser - Trim for Syndicate mobs, outfits and corpses.
captain - Trim for Syndicate mobs, outfits and corpses.
centcom - Trim for basic Centcom cards.
admiral - Trim for Centcom (Soviet) Admirals. All Centcom and Station Access.
bartender - Trim for Centcom Bartenders.
commander - Trim for Centcom Commanders. All Centcom and Station Access.
corpse
assault - Trim for various Centcom corpses.
bridge_officer - Trim for various Centcom corpses.
commander - Trim for various Centcom corpses.
private_security - Trim for various Centcom corpses.
tradepost_officer - Trim for various Centcom corpses.
custodian - Trim for Centcom Custodians.
deathsquad - Trim for Deathsquad officers. All Centcom and Station Access.
ert - Trim for generic ERT interns. No universal ID card changing access.
chaplain - Trim for generic ERT chaplains. No universal ID card changing access.
clown - Trim for generic ERT clowns. No universal ID card changing access.
commander - Trim for ERT Commanders. All station and centcom access.
engineer - Trim for generic ERT engineers. No universal ID card changing access.
janitor - Trim for generic ERT janitors. No universal ID card changing access.
medical - Trim for generic ERT medics. No universal ID card changing access.
security - Trim for generic ERT seccies. No universal ID card changing access.
intern - Trim for Centcom Interns.
head - Trim for Centcom Head Interns. Different assignment, common station access added on.
medical_officer - Trim for Centcom Medical Officers.
official - Trim for Centcom Officials.
research_officer - Trim for Centcom Research Officers.
specops_officer - Trim for Centcom Specops Officers. All Centcom and Station Access.
thunderdome_overseer - Trim for Centcom Thunderdome Overseers.
vip - Trim for Centcom VIPs
chameleon - Trim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards.
operative - Trim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards.
clown - Trim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards.
clown_leader - Trim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards.
nuke_leader - Trim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards.
engioutpost - Trim for various various ruins.
highlander - Trim for highlander cards, used during the highlander adminbus event.
job - This file contains all the trims associated with station jobs.
It also contains special prisoner trims and the miner's spare ID trim.
ID Trims for station jobs.
security_officer - Sec officers have departmental variants. They each have their own trims with bonus departmental accesses.
shaft_miner/spare - ID card obtained from the mining Disney dollar points vending machine.
station_engineer/gunner - Trim for various various ruins.
lifeguard - Trim for beach bum lifeguards.
mobster - Trim for the mobster outfit.
pirate - Trim for pirates.
captain - Trim for the pirate captain.
silverscale - Trim for the pirate captain.
silverscale - Trim for pirates.
reaper_assassin - This file contains all the trims associated with outfits.
Trim for the assassin outfit.
space_bartender - Trim for beach bum bartenders.
space_police - Trim for the families space police. Has all access.
syndicom - Trim for Syndicate mobs, outfits and corpses.
captain - Trim for Syndicate mobs, outfits and corpses.
crew - Trim for Syndicate mobs, outfits and corpses.
tunnel_clown - Trim for the Tunnel Clown! outfit. Has all access.
vr - Trim for VR outfits.
operative - Trim for VR outfits.
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.
servant_golem - For late joiners, we're forced to put them in an alone department at some point.
unassigned - This type is used to indicate a lack of a job.
The mind variable assigned_role will point here by default.
As any other job datum, this is a singleton.
jps_node - The JPS Node datum represents a turf that we find interesting enough to add to the open list and possibly search for new tiles from
json_reader - Takes a json list and extracts a single value.
Subtypes represent different conversions of that value.
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.
black_hole - Black Hole - final (emag can spawn singulo, see death event)
black_hole_death - You died to a black hole, have some fluff text
electronic_part - Malfunction - spend one engine part or wait 3 days (emag effect randomizes some stats)
engine_part - Engine Breakdown - spend one engine part or wait 3 days (harmless emag effect)
hull_part - Collision - spend one engine part or wait 3 days (has a nasty emag effect)
space_port - You found a space port!
tau_ceti - You found the midway mark!
space_port_raid - You raided a space port!
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.
nettle_burn - Normal Nettle hannd burn on backfire
death - Deathnettle hand burn + stun on backfire
novaflower_heat - Novaflower's hand burn on backfire
rose_thorns - Rose's prick on backfire
bomb_plant - Plants that explode when used (based on their reagent contents)
potency_based - A subtype of bomb plants that have their boom sized based on potency instead of reagent contents.
brewing - A plant trait that causes the plant's food reagents to ferment instead.
carnivory - Plant doesn't get annoyed by pests in their tray.
chem_cooling - This trait is the opposite of above - it cools down the plant's chemical contents on harvest.
This requires nutriment to fuel. 1u nutriment = -5 K.
chem_heating - This trait automatically heats up the plant's chemical contents when harvested.
This requires nutriment to fuel. 1u nutriment = 25 K.
eyes - A plant trait that causes the plant to gain aesthetic googly eyes.
fire_resistance - Makes the plant and its seeds fireproof. From lavaland plants.
gas_production - Corpseflower's miasma production.
Can be generalized in the future to spawn any gas, but I don't think that's necessarily a good idea.
purple - Purple (did you know that notepad++ doesnt think bioluminescence is a word) (was the person who wrote this using notepad++ for dm?)
red - Red
white - Colored versions of bioluminescence.
White
yellow - Yellow (not the disgusting glowshroom yellow hopefully)
invasive - Invasive spreading lets the plant jump to other trays, and the spreading plant won't replace plants of the same type.
juicing - Similar to auto-distilling, but instead of brewing the plant's contents it juices it.
maxchem - A plant trait that causes the plant's capacity to double.
mob_transformation - Traits for plants that can be activated to turn into a mob.
shroom - Walking Mushroom's transformation gene
tomato - Killer Tomato's transformation gene.
modified_volume - Traits for plants with a different base max_volume.
cherry_bomb - Cherry Bomb's increased max volume gene
omega_weed - Omegaweed's funny 420 max volume gene
one_bite - Traiit for plants eaten in 1 bite.
plant_laughter - Plays a laughter sound when someone slips on it.
Like the sitcom component but for plants.
Just like slippery skin, if we have a trash type this only functions on that. (Banana peels)
plant_type - Plant type traits. Incompatible with one another.
alien_properties - Currently unused and does nothing. Appears in strange seeds.
fungal_metabolism - Mushrooms need less light and have a minimum yield.
weed_hardy - Weeds don't get annoyed by weeds in their tray.
preserved - Traits for flowers, makes plants not decompose.
repeated_harvest - Allows a plant to be harvested multiple times.
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
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
ticker for processing
penthrite - Can bring a corpse back to life temporarily (if heart is intact)
Makes wounds bleed more, if it brought someone back, they take additional brute and heart damage
They can't die during this, but if they're past crit then take increasing stamina damage
If they're past fullcrit, their movement is slowed by half
If they OD, their heart explodes (if they were brought back from the dead)
deaconize - Honorbound God
Makes the person holy, but they now also have to follow the honorbound code (CBT). Actually earns favor, convincing others to uphold the code (tm) is not easy
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
wizard/embedpocalypse - departments that are already independent, these will be disallowed to be randomly picked
departments that are already independent, these will be disallowed to be randomly picked
scan_condition - Scan condition, these require some specific setup for the dish to count for the scan power for the given site
scanner_controller - Helper datum to calculate and store scanning power and track in progress scans
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.
station_state - For counting up how much of the station exists at the start of the shift, and how much is left behind by the end of it.
station_trait - Base class of station traits. These are used to influence rounds in one way or the other by influencing the levers of the station.
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
summon_guns_controller - The guns controller handles the summon guns event.
It is first created when summon guns event is triggered, and it can be referenced from GLOB.summon_guns
summon_magic_controller - The magic controller handles the summon magic event.
It is first created when summon magic event is triggered, and it can be referenced from GLOB.summon_magic
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.
Timed Event - This is the actual timer, it contains the callback and necessary data to maintain
the timer.
triple_ai_controller - The triple ai controller handles the admin triple AI mode, if enabled.
It is first created when "Toggle AI Triumvirate" triggers it, and it can be referenced from GLOB.triple_ai_controller
After it handles roundstart business, it cleans itself up.
bloody_footprints - Tests to make sure bloody footprits work as expected
So no stacking, they actually apply, and shoe staining thrown in for free
breath_sanity - Tests to make sure humans can breath in normal situations
Built to prevent regression on an issue surrounding QUANTIZE() and BREATH_VOLUME
See the comment on BREATH_VOLUME for more details
connect_loc_basic - Test that the connect_loc element handles basic movement cases
connect_loc_change_turf - Test that the connect_loc element handles turf changes
connect_loc_multiple_on_turf - Tests that multiple objects can have connect_loc on the same turf without runtimes.
crayon_naming - Makes sure that crayons have their crayon_color in their initial name (to differentiate them in the crafting menu).
deletion_regressions - This is for regression tests of deletions that used to runtime.
This would ideally be replaced by Del The World, unit testing every single deletion.
dynamic_roundstart_ruleset_sanity - Verifies that roundstart dynamic rulesets are setup properly without external configuration.
egg_glands - Verifies that all glands for an egg are valid
food_edibility_check - Makes sure that spawned food has reagents and the edible component (or else it can't be eaten).
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:
Wumborian Fugu - A strange alien creature capable of increasing its mass when threatened,
giving it unmatched defensive capabilities temporarily. The rest of the
time, it is quite fragile.
lobstrosity - Lobstrosities, the poster boy of charging AI mobs. Drops crab meat and bones.
Outside of charging, it's intended behavior is that it is generally slow moving, but makes up for that with a knockdown attack to score additional hits.
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
cult/permanent - A form of the cult forcefield that lasts permanently.
Used on the Shuttle 667.
mime - Mimewalls
hotspot - Hotspot objects interfaces with the temperature of turf gasmixtures while also providing visual effects.
One important thing to note about hotspots are that they can roughly be divided into two categories based on the bypassing variable.
unit_test_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_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.
light_emitter - Light
red_energy_sword - Base mob
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.
advmedicalonly - Mail loot spawner. Drop pool of advanced medical tools typically from research. Not endgame content.
engineonly - Mail loot spawner. Some sort of random and rare building tool. No alien tech here.
raremedicalonly - Mail loot spawner. Some sort of random and rare surgical tool. Alien tech found here.
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.
control/tram - 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.
Index Table Component - Gets the row of a table using the index inputted. Will return no value if the index is invalid or a proper table is not returned.
Logic Component - General logic unit with AND OR capabilities
Pathfinding component - Calcualtes a path, returns a list of entities. Each entity is the next step in the path. Can be used with the direction component to move.
Pull Component - Tells the shell to start pulling on a designated atom. Only works on movable shells.
Radio Component - Listens out for signals on the designated frequencies and sends signals on designated frequencies
RAM Component - Stores the current input when triggered.
Players will need to think logically when using the RAM component
as there can be race conditions due to the delays of transferring signals
Random Component - Generates a random number between specific values
Select Component - Selects a list from a list of lists by a specific column. Used only by USBs for communications to and from computers with lists of varying sizes.
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.
internal - Base console's internal RCD. Has a large material capacity and a fast buildspeed.
Compact Remote - A handheld device with several buttons.
In game, this translates to having different signals for normal usage, alt-clicking, and ctrl-clicking when in your hand.
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.
sad_trombone - A passive implant that plays sound/misc/sadtrombone.ogg when you deathgasp for any reason
implantcase - Item used to store implants. Can be renamed with a pen. Implants are moved between those and implanters when a mob uses an implanter on a case.
sad_trombone - Implant case that spawns with a sad trombone implant, as well as an appropriate name and description
tracking - An implant case that spawns with a tracking implant, as well as an appropriate name and description.
weapons_auth - An implant case that spawns with a firearms authentication implant, as well as an appropriate name and description.
implanter - Players can use this item to put obj/item/implant's in living mobs. Can be renamed with a pen.
sad_trombone - Implanter that spawns with a sad trombone implant, as well as an appropriate name
N-spect scanner - Creates reports for area inspection bounties.
external - System for drawing organs with overlays. These overlays are drawn directly on the bodypart, attached to a person or not
Works in tandem with the /datum/sprite_accessory datum to generate sprites
Unlike normal organs, we're actually inside a persons limbs at all times
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
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.
udder item - Abstract item that is held in nullspace and manages reagents. Created by udder component.
While perhaps reagents created by udder component COULD be managed in the mob, it would be somewhat finnicky and I actually like the abstract udders.
gutlunch udder subtype - Used by gutlunches, and generates healing reagents instead of milk on eating gibs instead of a process. Starts empty!
Female gutlunches (ahem, guthens if you will) make babies when their udder is full under processing, instead of milk generation
wirebrush - The wirebrush is a tool whose sole purpose is to remove rust from anything that is rusty.
Because of the inherent nature of hard countering rust heretics it does it very slowly.
advanced - An advanced form of the wirebrush that trades the safety of the user for instant rust removal.
If the person using this is unlucky they are going to die painfully.
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
This file contain the eight parts surrounding the main core, those are: fuel input, moderator input, waste output, interface and the corners
The file also contain the guicode of the machine
core - This section contain the hfr core with all the variables and the Initialize() and Destroy() procs
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 - Roughly 10 - 30s?
Roughly 10 - 30s?
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.
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
layer_manifold - Layer manifold machine that connects a bunch of layers
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
geyser - A lavaland geyser that spawns chems and can be mining scanned for points. Made to work with the plumbing pump to extract that sweet rare nectar
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.