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.
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.
Goon-ported-assets - All files excluding this one you're reading right now have been most likely, taken from goonstation's 2016 release, unless stated otherwise.
It is very likely that there are modifications to be compatible or on par with our code, however. These changes are licensed under the same license as the other goon files.
License - This work is licensed under the Creative Commons
Attribution-NonCommercial-ShareAlike 3.0 United States License. To view a copy
of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/us/ or
send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
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.
Contractor Support Unit - 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.
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.
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
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.
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
holiday/Garbage Day - Garbage DAYYYYY
Huh?.... NOOOO
GUNSHOT
AHHHGHHHHHHH
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.
Nanite Protocol - A nanite program containing a behaviour protocol. Only one protocol of each class can be active at once.
objective/assassinate/obsessed - CREEPY objectives (few chosen per obsession)
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.
round_event/stray_cargo - Spawns a cargo pod containing a random cargo supply pack on a random area of the station
2 SPOOKY! (Halloween) - You will appear adjacent to the beacon
Stray Cargo Pod - Spawns a cargo pod containing a random cargo supply pack on a random area of the station
Stray Syndicate Cargo Pod - 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"
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 - Copyright (c) 2020 Aleksej Komarov
SPDX-License-Identifier: MIT
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 - Copyright (c) 2020 Aleksej Komarov
SPDX-License-Identifier: MIT
tgui_window - Copyright (c) 2020 Aleksej Komarov
SPDX-License-Identifier: MIT
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:
defense grid - 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.
hard_drive/small/nukeops - For tablets given to nuke ops
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.
smoke grenade - 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.
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
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
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
pizza - PIZZA
salad - SALAD
store - All the food items that can store an item inside itself, like bread or cake.
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.
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.
pipe thing - 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
chemical filter - chemical plumbing filter. If it's not filtered by left and right, it goes straight.
input gate - 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 gate - We can fill beakers in here and everything. we dont inheret from input because it has nothing that we need
chemical 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
Chemical 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
chemical synthesizer - A single machine that produces a single chem. Can be placed in unison with others through plumbing to create chemical factories
Succumb - Gives the player the option to succumb while in critical condition
background - A generic background object.
It is also implicitly used to allocate a rectangle on the map, which will
be used for auto-scaling the map.
map_view - A screen object, which acts as a container for turfs and other things
you want to show on the map, which you usually attach to "vis_contents".
plane_master
emissive plane master - Things placed on this mask the lighting plane. Doesn't render directly.
tear in the fabric of reality - BoH tear
The BoH tear is a stationary singularity with a really high gravitational pull, which collapses briefly after being created
The BoH isn't deleted for 10 minutes (only moved to nullspace) so that admins may retrieve the things back in case of a grief
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.