signals_datum - just before a datum's Destroy() is called: (force), at this point none of the other components chose to interrupt qdel and Destroy will be called
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
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.
These materials call on_applied() on whatever item they are applied to, common effects are adding components, changing color and changing description. This allows us to differentiate items based on the material they are made out of.area
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.
client/Preferences (by Mothblocks) - This does not contain all the information on specific values--you can find those as doc-comments in relevant paths, such as /datum/preference. Rather, this gives you an overview for creating most preferences, and getting your foot in the door to create more advanced ones.
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.
Differences with /TG/Station - The best practice to have while coding is to keep everything modularized, or the most possible. Sometimes it's not possible and you're required to put a "hook" proc call in a TG file. This file is intended to have a list of those hooks, so their locations and purposes can be easily found.
area - A grouping of tiles into a logical space, mostly used by map editors
Golem Territory - A blank area subtype solely used by the golem area editor for the purpose of
allowing golems to create new areas without suffering from the hazard_area debuffs.
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
atom - The base type for nearly all physical objects in SS13
flick_visual - Helper atom that copies an appearance and exists for a period
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.
Of note: plane master controllers are currently not very extensively used, because render plates fill a semi similar niche
This could well change someday, and I'd like to keep this stuff around, so we use it for a few cases just out of convenience
plane_masters_colorblind - Exists for convienience when referencing all game render plates
plane_masters_game - Exists for convienience when referencing all game render plates
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.
render_plane_relay - Render relay object assigned to a plane master to be able to relay it's render onto other planes that are not it's own
render step - Internal atom that uses render relays to apply "appearance things" to a render source
Branch, subtypes have behavior
color step - Render step that modfies an atom's color
Useful for creating coherent emissive blockers out of things like glass floors by lowering alpha statically using matrixes
Other stuff too I'm sure
emissive - Render step that makes the passed in render source GLOW
emissive blocker - Render step that makes the passed in render source block emissives
agent_pinpointer/Vassal Pinpointer - Pinpointer that points to their Master's location at all times.
Unlike the Monster hunter one, this one is permanently active, and has no power needed to activate it.
Drunk - Status effect for being fully drunk (not tipsy).
High - The status effect for "drugginess"
Wounded - WOUNDS
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.
Default - Plane master that byond will by default draw to
Shouldn't be used, exists to prevent people using plane 0
NOTE: If we used SEE_BLACKNESS on a map format that wasn't SIDE_MAP, this is where its darkness would land
This would allow us to control it and do fun things. But we can't because side map doesn't support it, so this is just a stub
Emissive - Handles emissive overlays and emissive blockers.
Floor - Contains just the floor
Overlight light visual - This will not work through multiz, because of a byond bug with BLEND_MULTIPLY
Bug report is up, waiting on a fix
Robotic Factory (Removes Shunting) - Robotic Factory: Places a large machine that converts humans that go through it into cyborgs. Unlocking this ability removes shunting.
Reactivate Camera Network - Reactivate Camera Network: Reactivates up to 30 cameras across the station.
hecata/Spirit Call - summon wraiths (weakened shades) to attack anyone who isn't a zombie. This includes non-zombified vassals. However, you can get around this by zombifying your vassals.
to do this, you can make someone your favorite vassal, or you can kill them and then revive them with necromancy.
buster - Welcome to the Hell that is Buster Arm
I hope you find yourself at home here
Originally shitcoded by Lazenn, reorganized by ynot01
Base for all buster arm actions
Rat King's Domain - Increase the rat king's domain
Raise Army - This action checks all nearby mice, and converts them into hostile rats. If no mice are nearby, creates a new one.
The spell action - This is the base action for how many of the game's
spells (and spell adjacent) abilities function.
These spells function off of a cooldown-based system.
Fire Breath - drakeling fire breath attack: shoots a short line of fire that is very effective against lavaland fauna and not very effective against much else
Wing Flap - drakeling wing flap attack: deals relatively minor damage to lavaland fauna and pushes anything it hits away, also breaks rocks on contact like a plasmacutter
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
connect_containers - This component behaves similar to connect_loc_behalf, but it's nested and hooks a signal onto all MOVABLES containing this atom.
connect_loc_behalf - This component behaves similar to 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 separate listener however
This has great use, primarily for components, but it carries with it some overhead
So we do it separately as it needs to hold state which is very likely to lead to bugs if it remains as an element.
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
construction/mecha - Construction datums
crawl
blood - BLOODCRAWL
locker - LOCKERCRAWL
vomit - VOMITCRAWL
curse_of_hunger - curse of hunger component; for very hungry items.
earhealing - check hp
poisoned food damages it
no food found, but you're dead: it bites you slightly, and doesn't regain health.
no food found: it bites you and regains some health.
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.
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.
mech_pilot - A component for clothes that affect one's ability to pilot mechs
Mind Linker - A component that handles linking multiple player's minds
into one network which allows them to talk directly to one another.
Like telepathy but for multiple people at once!
plane_hide_highest_offset - Component that takes a plane master, and will hide it if it's the highest offset of its kind
This allows us to not show PMs to clients if they're not actively doing anything
refundable - A very basic component saying that this item is TC-refundable in an uplink.
Refundable items are expected to register COMSIG_ITEM_REFUND themselves.
Regenerator component - A mob with this component will regenerate its health over time, as long as it has not received damage
in the last X seconds. Taking any damage will reset this cooldown.
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).
riding - This is the riding component, which is applied to a movable atom by the ridable element when a mob is successfully buckled to said movable.
human - Yes, I said humans. No, this won't end well...
Slip behaviour component - Add this component to an object to make it a slippery object, slippery objects make mobs that cross them fall over.
Items with this component that get picked up may give their parent mob the slip behaviour.
syndicate - This app only lists programs normally found in the emagged section of the normal downloader app
pdamessager - NTOS recreation of the PDA Messenger from HTML PDAs
Designed to always be active, even if the computer is off, until the program is either deleted or destroyed
New features: Easy renaming, blocking, and global message monitoring
demos_enabled - Whether demos are written, if not set demo SS never initializes
log_timers_on_bucket_reset - logs all timers in buckets on automatic bucket reset (Useful for timer debugging)
log_uplink - log uplink/spellbook/codex ciatrix purchases and refunds
number/outdated_movedelay - Outdated move delay
string/db_daemon - The exe for mariadbd.exe.
Shouldn't really be set on production servers, primarily for EZDB.
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
Megumus Dress (orcacora) - Ckey locked (special) items. These should come last to separate them out from the rest of the items for whoever's priviledged enough to own one. (Feel free to contact me, Kmc, if you want one made by the way)
dungeon_room - This datum represents a "room" which is created by the Dungeon Generator process. Whether you use Binary Space Partition(BSP) or Random Room Placement(RRP),
the Rust algorith will populate the given area with rooms, which are just squares and rectangles of various dimensions with X and Y coordinates. I created
this datum to give better control over the data the generator is using. So you can look through the list of rooms for feedback or to understand what's happening.
dungeon_room_theme - Dungeon room themes determine the style of the generated rooms. If you want to create a new dungeon generator for say, Icemeta,
Then you would want to create a new subtype of room theme with maybe snow floor tiles, ice or snow walls and some fitting kind of door. Then from there further subtype
into hostile, neutral, beneficial and whatever other types of rooms you want to appear in that area.
firefighting - A factory which produces firefighting foam
long - A factory which produces foam with an extended lifespan.
metal - A factory which produces aluminium metal foam.
iron - A factory which produces iron metal foam.
smart - A factory which produces smart aluminium metal foam.
smoke - A factory which produces clouds of smoke.
bad - A factory which produces smoke that makes you cough.
black - A factory which produces black smoke that makes you cough.
green - A factory which produces green smoke that makes you cough.
chem - A factory which produces clouds of chemical bearing smoke.
smoke_machine - A factory which produces clouds of smoke for the smoke machine.
freezing - A factory which produces light blue, transparent smoke and a blast that chills every turf in the area.
decon - A variant of the base freezing smoke formerly used by the vent decontamination event.
quick - A factory which produces smoke that dissipates as quickly as possible.
sleeping - A factory which produces sleeping smoke.
transparent - Same as the base type, but the smoke produced is not opaque
steam_spread/bloodsucker - STEP FIVE: Create animal at prev location
TELEPORT: Move to Coffin & Close it!
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!
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.
content_barfer - Content Barfer; which expels the contents of a mob when it dies, or is transformed
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.
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
color_matrix - A layer to modify the previous layer's colors with a color matrix
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.
spray_paint - Used for spray painting items in the gags_recolorable component
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.*
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.
job_department - Singleton representing a category of jobs forming a department.
NOTICE: This is NOT fully implemented everywhere. Currently only used in: Preferences menu
assistant - A special assistant only department, primarily for use by the preferences menu
captain - A special captain only department, for use by the preferences menu
undefined - Catch-all department for undefined jobs.
json_reader - Takes a json list and extracts a single value.
Subtypes represent different conversions of that value.
keybinding/mob/action_hotkey - Hotkeys for performing actions
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.
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.
find - String methods
If list, finds a value in it, if text, finds a substring in it
floor - Rounds a number down
implode - Converts a list to a string
inrange - Returns TRUE if a number is inbetween Min and Max
length - Returns the length of the string or list
log - Returns the natural log of a number
lower - Lowercase all characters
max - Number methods
Returns the highest value of the arguments
Need custom functions here cause byond's min and max runtimes if you give them a string or list.
min - Returns the lowest value of the arguments
pick - List operations (lists known as vectors in n_script)
Picks one random item from the list
repeat - Repeats the string x times
replace - Replaces text
reverse - Reverses the order of the string. "Clown" becomes "nwolC"
embrace - Clan Objective
Ventrue's Clan objective is to upgrade the Favorite Vassal
enough to make them a Bloodsucker.
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.
plane_master_debug - Used for testing/debugger plane masters and their associated rendering plates
plane_master_group - Datum that represents one "group" of plane masters
So all the main window planes would be in one, all the spyglass planes in another
Etc
popup - Holds plane masters for popups, like camera windows
Note: We do not scale this plane, even though we could
This is because it's annoying to get turfs to position inside it correctly
If you wanna try someday feel free, but I can't manage it
choiced - A preference that is a choice of one option among a fixed set.
Used for preferences such as clothing.
ai_core_display - What to show on the AI screen
backpack - Backpack preference
chapel_choice - Which chapel to spawn on boxstation
clerk_choice - Which clerk shop to spawn on boxstation
engineering_department - Which department to put station engineers in
gender - Gender preference
ghost_accessories - Determines what accessories your ghost will look like they have.
ghost_form - Determines the appearance of your ghost to others, when you are a BYOND member
ghost_orbit - Determines what ghosts orbiting look like to you.
ghost_others - Determines how to show other ghosts
jumpsuit - Jumpsuit preference
parallax - Determines parallax, "fancy space"
pda_style - The visual style of a PDA
pda_theme - The visual theme of a PDA
preferred_map - During map rotation, this will help determine the chosen map.
scaling_method - The scaling method to show the world in, e.g. nearest neighbor
security_department - Which department to put security officers in
socks - Socks preference
species - Species preference
ui_style - UI style preference
undershirt - Undershirt preference
underwear - Underwear preference
color - A preference that represents an RGB color of something.
Will give the value as 6 hex digits, without a hash.
ooc_color - The color admins will speak in for OOC.
pda_color - The color of a PDA
name - A preference for a name. Used not just for normal names, but also for clown names, etc.
backup_human - The name for a backup human, when nonhumans are made into head of staff
real_name - A character's real name
numeric - A numeric preference with a minimum and maximum value
multiz_performance - Boundary for how many z levels down to render properly before we start going cheapo mode
text - A string-based preference accepting arbitrary string values entered by the user, with a maximum length.
toggle - A prefernece whose value is always TRUE or FALSE
ambient_occlusion - Whether or not to toggle ambient occlusion, the shadows around people
disable_alternative_announcers - Backdrop for the game world plane.
ghost_hud - Toggles the HUD for ghosts
inquisitive_ghost - Whether or not ghosts can examine things by clicking on them.
multiz_parallax - Whether or not to toggle multiz parallax, the parallax effect for lower z-levels.
sound_combatmode - Controls hearing the combat mode toggle sound
tgui_input_large - Large button preference. Error text is in tooltip.
tgui_input_swapped - Swapped button state - sets buttons to SS13 traditional SUBMIT/CANCEL
window_flashing - Enables flashing the window in your task tray for important events
preference_middleware - Preference middleware is code that helps to decentralize complicated preference features.
keybindings - Middleware to handle keybindings
legacy_toggles - In the before times, toggles were all stored in one bitfield.
In order to preserve this existing data (and code) without massive
migrations, this middleware attempts to handle this in a way
transparent to the preferences UI itself.
In the future, the existing toggles data should just be migrated to
individual /datum/preference/toggles.
names - Middleware that handles telling the UI which name to show, and what names
they have.
quirks - Middleware to handle quirks
random - Middleware for handling randomization preferences
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
Spawn Monster Hunter - Bloodsucker - The default, for Bloodsucker rounds.
Spawn Monster Hunter - Randomly spawned Monster hunters during TraitorChangeling, Changeling, Heretic and Cult rounds.
Spawn Nightmare - From obsessed
Bobux no IS_CHANGELING
Stray Cargo Pod - Spawns a cargo pod containing a random cargo supply pack on a random area of the station
Supermatter Surge - Places that shouldn't explode
Subtypes from the above that actually should explode.
wizard/Fake Nuclear Explosion - 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
Spawn Zombie - You will appear adjacent to the beacon
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.
unnamed 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.
Random Event Modifier - The bot's language holder - so we can randomize and change their language
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.
agent_pinpointer/hunter_edition - TAKEN FROM: /datum/action/changeling/pheromone_receptors // pheromone_receptors.dm for a version of tracking that Changelings have!
blue_eye - Blue eye effect, makes your screen a swirling blue
fire_ring - Simple status effect for adding a ring of fire around a mob.
firecookie - CONSUMING EXTRACTS
Status effect - This is the status effect given to Bloodsuckers in a Frenzy
This deals with everything entering/exiting Frenzy is meant to deal with.
hallucination - Hallucination status effect. How most hallucinations end up happening.
Hallucinations are drawn from the global weighted list, random_hallucination_weighted_list
dazed - This status effect represents anything that leaves a character unable to perform basic tasks (interrupting do-afters, for example), but doesn't incapacitate them further than that (no stuns etc..)
inebriated - The drunk status effect.
Slowly decreases in drunk_value over time, causing effects based on that value.
drunk - Stage 2 of being drunk, applied at drunk values between 6 and onward.
Has all the main side effects of being drunk, scaling up as they get more drunk.
tipsy - Stage 1 of drunk, applied at drunk values between 0 and 6.
Basically is the "drunk but no side effects" stage.
recharging - A subtype that doesn't self-delete / disappear when all blades are gone
It instead regenerates over time back to the max after blades are consumed
red_eye - Red eye effect, makes your screen a swirling red
field - See https://discord.com/developers/docs/resources/channel#embed-object-embed-field-structure for details. Must have name and value set in New().
footer - See https://discord.com/developers/docs/resources/channel#embed-object-embed-footer-structure for details.
media - Common datum for similar discord embed medias.
provider - See https://discord.com/developers/docs/resources/channel#embed-object-embed-provider-structure for details.
author - See https://discord.com/developers/docs/resources/channel#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/channel#embed-object-embed-structure for details.
tgui_input_number - Datum used for instantiating and using a TGUI-controlled numbox that prompts the user with
a message and has an input for text entry.
async tgui_input_number - An asynchronous version of tgui_input_number to be used with callbacks instead of waiting on user responses.
tgui_input_text - Datum used for instantiating and using a TGUI-controlled textbox that prompts the user with
a message and has an input for text entry.
async tgui_input_text - An asynchronous version of tgui_input_text 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.
baseturfs_placed_on_bottom - Validates that specially placed baseturfs BELOW tear down properly
baseturfs_placed_on_top - Validates that specially placed baseturfs tear down properly
baseturfs_unmodified_scrape - Validates that unmodified baseturfs tear down properly
contents_barfer - Let's avoid sending the same instructions over and over, as it's just going to clutter the CI and confuse someone.
Unit test for the contents barfer element
dcs_check_list_arguments - list arguments for bespoke elements are treated as a text ref in the ID, like any other datum.
Which means that, unless cached, using lists as arguments will lead to multiple instance of the same element
being created over and over.
dynamic_roundstart_ruleset_sanity - Verifies that roundstart dynamic rulesets are setup properly without external configuration.
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_emissives - Checks that every created emissive has a valid icon_state
invalid_overlays - Checks that every overlay passed into build_appearance_list exists in the icon
Checks that every overlay passed into build_appearance_list exists in the icon
multiple_space_initialization - Checks that every created emissive has a valid icon_state
nightvision_color_cutoffs - Checks that nightvision eyes have a full set of color lists
openspace_clear - Ensures openspace never spawns on the bottom of a z stack
sorted_smoothing_groups - Checks that smoothing_groups and canSmoothWith are properly sorted in /atom/Initialize
stacked_lights - Checks that no light shares a tile/pixel offsets with another
greyscale_color_count - Makes sure objects using greyscale configs have, if any, the correct number of colors
greyscale_item_icon_states - Makes sure items using GAGS have all the icon states needed to work
mirroring - Tracks and updates another mob with our mob's visual data
tracking - Tracks but does not relay updates to someone's visual data
Accepts a second visual data datum to use as a source of truth for the mob's values
weakref - A weakref holds a non-owning reference to a datum.
The datum can be referenced again using resolve().
consistent - Provides a dummy for unit_tests that functions like a normal human, but with a standardized appearance
Copies the stock dna setup from the dummy/consistent type
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:
morph - Pick target
Track ALL living Monsters.
Found One: Closer than previous/max distance
Stop searching through my antag datums and go to the next guy
Found one!
Will yield a "?"
Space Dragon - A space-faring leviathan-esque monster which breathes fire and summons carp. Spawned during its respective midround antagonist event.
Swarmer - Tiny machines made by an ancient civilization, they seek only to consume materials and replicate.
Swarmer Drone - Melee subtype of swarmers, always AI-controlled under normal circumstances. Cannot fire projectiles, but does double stamina damage on melee
chasm depths - An abstract object which is basically just a bag that the chasm puts people inside
info - An info button that, when clicked, puts some text in the user's chat
particle holder - objects can only have one particle on them at a time, so we use these abstract effects to hold and display the effects. You know, so multiple particle effects can exist at once.
also because some objects do not display particles due to how their visuals are built
magical - All the subtypes are for adminbussery and or mapping
z_holder - Exists to be placed on the turf of walls and such to hold the vis_contents of the tile below
Otherwise the lower turf might get shifted around, which is dumb. do this instead.
limited_spawn - Type of landmark that find all others of the same type, and only spawns count number of ruins at them
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.
Syndicate Bioweapon Scientist - Syndicate Listening Post
jungle - Syndicate station spawners
SIC Outpost Doctor - Orion Medical Outpost Staff
skeletal remains - Spooky Undead
Travelling Bard - Travelling Bard
overlay
pool water - How to pool!
Place pool turfs on the inside of your pool. This is where you swim. Pool end caps to cap it off on the north face
Place pool border decals around the pool so it doesn't look weird
Place a pool ladder at the top of the pool so that it leads to a normal tile (or else it'll be hard to get out of the pool.)
Place a pool filter somewhere in the pool if you want people to be able to modify the pool's settings (Temperature) or dump reagents into the pool (which'll change the pool's colour)
status_display_text - Nice overlay to make text smoothly scroll with no client updates after setup.
shard6 - Chance for the arrow to break on impact, if the shard is all powerful (stage 6), it will create a singularity when it breaks
The ammount of rads released on impact
robot/left buster arm - The Buster Arm (Left)
Same as the right one, but replaces your left arm!
Use it in-hand to swap its left or right mode
Attacking any human mob (typically yourself) will cause their arm to instantly be replaced with it
medical cyborg gripper - Gives medical cyborgs a gripper to use. Enables medical cyborgs to do all remaining aspects of medical (chemistry & blood giving) without the help of a human.
pda - For PDAs, comes pre-equipped with PDA messaging
recharger/modular interface power harness - 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.
projectile gun - 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
automatic/pistol/martial - I don't check does the user have an item in a hand, because it is a martial art action, and to use it... you need to have a empty hand
revolver/ipcmartial - I don't check does the user have an item in a hand, because it is a martial art action, and to use it... you need to have a empty hand
multiple holosign projector - Multi-barrier type that allows you to swap between several types of barriers.
You can only use one type at a time, you have to clear them to swap to the other.
light replacer - The rate at which the laser regenerates charge. Clamped between 30 seconds and basically instantly just in case of weirdness. Knock off 5 seconds per diode rating
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.
gauze/twelve - Use other_delay if healing someone else (usually 1 second)
Use self_delay if healing yourself (usually 3 seconds)
Reduce delay by 20% if medical
thermomachine - 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
HFR core - This section contain the hfr core with all the variables and the Initialize(mapload) 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.
Fusion Test Canister - Canister 1 Kelvin below the fusion point. Is highly unoptimal, do not spawn to start fusion, only good for testing low instability mixes.
server/master - Master R&D server. As long as this still exists and still holds the HDD for the theft objective, research points generate at normal speed. Destroy it or an antag steals the HDD? Half research speed.
Lavaland Artillery Mainframe - A machine used for Toxins scientists. Accepts tank transfer valves (TTVs),
then shoots (and detonates) them at Lavaland Z-level GPS coordinates provided.
candelabrum - To deal with Blood
Due to the checks leding up to this, if they fail this, they're dead & Not our vassal.
Just take it all
Chance to give Bat form, or turn them into a bat.
brimming mail crate - Crate for mail that automatically generates a lot of mail. Usually only normal mail, but on lowpop it may end up just being junk.
Mining car (not for rails) - Mining car (Crate like thing, not the rail car)
cordon/secret cordon (ghost blocking) - This type of cordon will block ghosts from passing through it. Useful for stuff like Away Missions, where you feasibly want to block ghosts from entering to keep a certain map section a secret.
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.
no_ruins - Used for the lavaland icemoon ruin.
Floor/Wall - not an actual turf its used just for rcd ui purposes