render_plate - Custom rendering solution to allow for advanced effects
We (ab)use plane masters and render source/target to cheaply render 2+ planes as 1
if you want to read more read the _render_readme.md
In-code keypress handling system - This whole system is heavily based off of forum_account's keyboard library.
Thanks to forum_account for saving the day, the library can be found
here!
vision_change_area - Here lie areas that reset your vision.
Designed to cancel off xray/meson/thermal vision effects.
Special for spooky secret areas and gates. :D
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
game - Exists for convienience when referencing all game render plates
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
succumb - Gives the player the option to succumb while in critical condition
Take Item alert - Alert which appears for a user when another player is attempting to offer them an item.
The user can click the alert to accept, or simply do nothing to not take the item.
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.
cinematic - The cinematic screen showed to everyone.
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.
lighting - Contains all turf lighting
o_light_visual - This will not work through multiz, because of a byond bug with BLEND_MULTIPLY
Bug report is up, waiting on a fix
augmented_eyesight - Augmented Eyesight: Gives you thermal and night vision - bye bye, flashlights. Also, high DNA cost because of how powerful it is.
Possible todo: make a custom message for directing a penlight/flashlight at the eyes - not sure what would display though.
strained_muscles - Strained Muscles: Temporary speed boost at the cost of rapid damage.
Limited because of hardsuits and such; ideally, used for a quick getaway.
suit
armor - *
|ARMOR|
*
organic_space_suit -
|SPACE SUIT + HELMET|
**
weapon
arm_blade - *
|ARM BLADE|
*
fleshy_maul - *
|FLESHY MAUL|
*
shield -
|SHIELD|
*
tentacle -
|COMBAT TENTACLES|
**
Base guardian host action - These are used by guardian hosts to interact with their guardians. These are not buttons that guardians themselves use.
Communicate action - Allows the guardian host to communicate with their guardian.
Recall guardian action - Allows the guardian host to recall their guardian.
Reset guardian action - Allows the guardian host to exchange their guardian's player for another.
innate
check_gondola_contents - Checks the contents of the gondola and lets them know what they're holding.
ai_movement - This datum is an abstract class that can be overriden for different types of movement
basic_avoidance - Uses Byond's basic obstacle avoidance 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
find_and_hunt_target - Tells the AI to find a certain target nearby to hunt.
If a target has been found, we will start to move towards it, and eventually attack it.
icon_states - Generates assets based on iconstates of a single icon
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)
verb_callback - like normal callbacks but they also record their creation time for measurement purposes
they also require the same usr/user that made the callback to both still exist and to still have a client in order to execute
sbiten - DRINKS THAT REQUIRED IMPROVED SPRITES BELOW:: -Agouri
cinematic - Cinematic datum. Used to show an animation to everyone.
cult_arm - A blood cult summoned Nar'sie, and most of the station was harvested or converted!
cult_fail - A blood cult summoned Nar'sie, but some badass (or admin) managed to destroy Nar'sie themselves.
malf - A malfunctioning AI has activated the doomsday device and wiped the station!
nuke - Simple, base cinematic for all animations based around a nuke detonating.
clown - The clown operative nuclear bomb was activated and clowned the station!
cult - A blood cult summoned Nar'sie, but central command deployed a nuclear package to stop them.
fake - A fake version of the nuclear detonation, where it winds up, but doesn't explode.
far_explosion - The syndicate nuclear bomb was activated, but just missed the station by a whole z-level!
mutual_destruction - The syndicate nuclear bomb was activated, and the nuclear operatives failed to extract on their shuttle before it detonated on the station!
no_core - A fake version of the nuclear detonation, where it winds up, but doesn't explode as the nuke core within was missing.
ops_miss - The syndicate nuclear bomb was activated, but just barely missed the station!
ops_victory - The syndicate nuclear bomb was activated, and destroyed the station!
self_destruct - The self destruct, or another station-destroying entity like a blob, destroyed the station!
self_destruct_miss - The self destruct was activated, yet somehow avoided destroying the station!
Click intercept datum - Datum which is intended to be stored by a client's click_intercept variable.
Used to override normal clicking behavior when clicking on an object.
While active, a mob's ClickOn proc will redirect to the InterceptClickOn() proc instead.
aura_healing - Applies healing to those in the area.
Will provide them with an alert while they're in range, as well as
give them a healing particle.
Can be applied to those only with a trait conditionally.
boomerang - If an object is given the boomerang component, it should be thrown back to the thrower after either hitting it's target, or landing on the thrown tile.
Thrown objects should be thrown back to the original thrower with this component, a number of tiles defined by boomerang_throw_range.
boss_music - Attaches to a hostile simplemob and plays that music while they have a target.
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
convey - Manages the loop caused by being on a conveyor belt
Prevents movement while you're floating, etc
Takes the direction to move, delay between steps, and time before starting to move as arguments
defib - A component for an item that attempts to defibrillate a mob when activated.
drift - Component that handles drifting
Manages a movement loop that actually does the legwork of moving someone
Alongside dealing with the post movement input blocking required to make things look nice
eatable - If our item has material type and this type included in special_diet (species) it can be eaten.
force_move - Forced directional movement, but with a twist
Let's block pressure and client movements while doing it so we can't be interrupted
Supports spinning on each move, for lube related reasons
ghost_direct_control - Component which lets ghosts click on a mob to take control of it
guardian_mine - Datum specialized for guardian(holoparasite)-bomber.
hide_weather_planes - Component that manages a list of plane masters that are dependent on weather
Force hides/shows them depending on the weather activity of their z stack
Transparency is achieved by manipulating the alpha of the planes that are visible
Applied to the plane master group that owns them
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
Basic Proximity Monitor - Attaching this component to an atom means that the atom will be able to detect mobs or objects moving within a specified radius of it.
seethrough - A component that lets you turn an object invisible when you're standing on certain relative turfs to it, like behind a tree
shielded - The shielded component causes the parent item to nullify a certain number of attacks against the wearer, see: shielded vests.
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.
admin_legacy_system - Defines whether the server uses the legacy admin system with admins.txt or the SQL system
allow_admin_ooccolor - allows admins with relevant permissions to have their own ooc colour
allow_antag_hud - Ghosts can turn on Antagovision to see a HUD of who is the bad guys this round.
allow_metadata - Metadata is supported.
allow_vote_mode - allow votes to change mode
antag_hud_restricted - Ghosts that turn on Antagovision cannot rejoin the round.
assistant_limit - enables assistant limiting
automute_on - enables automuting/spam prevention
ban_legacy_system - Defines whether the server uses the legacy banning system with the files in /data or the SQL system. Config option in config.txt
continuous_rounds - Gamemodes which end instantly will instead keep on going until the round ends by escape shuttle or nuke.
default_no_vote - vote does not default to nochange/norestart (tbi)
del_new_on_log - qdel's new players if they log before they spawn in
demos_enabled - Whether demos are written, if not set demo SS never initializes
disable_root_log - disable writing world.log to log panel / root logger of DreamDaemon
discord_forward_all_ahelps - Do we want to forward all adminhelps to the discord or just ahelps when admins are offline.
(This does not mean all ahelps are pinged, only ahelps sent when staff are offline get the ping, regardless of this setting)
enable_bombarda_craft - Entries here contain flags that are used only on testing servers
Enables bombarda crafting on server.
enable_titlescreen_lateload - Enables loading titlescreen only after master has been loaded.
feature_object_spell_system - spawns a spellbook which gives object-type spells instead of verb-type spells for the wizard
jobs_have_minimal_access - determines whether jobs use minimal access or expanded access.
load_no_station - Do not load station
log_access - log login/logout
log_admin - log admin actions
log_adminchat - log admin chat messages
log_adminwarn - log admin warns
log_attack - log attack messages
log_conversion - log conversion messages
log_debug - log debugging
log_emote - log emotes
log_game - log game events
log_hrefs - logs all links clicked in-game. Could be used for debugging and tracking down exploits
log_mapmanip - log map manipulations
log_ooc - log messages sent in OOC
log_pda - log pda messages
log_runtime - logs world.log to a file
log_say - log client say
log_timers_on_bucket_reset - logs all timers in buckets on automatic bucket reset (Useful for timer debugging)
log_vote - log voting
log_whisper - log client whisper
log_world_output - log world.log << messages
popup_admin_pm - Gives the ability to send players a maptext popup.
protect_roles_from_antagonist - If security and such can be traitor/cult/other
report_active_turfs - Reports roundstart active turfs. Super needful and useful for mappers for optimization sanity.
starlight - Whether space turfs have ambient light or not
use_age_restriction_for_antags - Do antags use account age restrictions? --requires database
use_age_restriction_for_jobs - Do jobs use account age restrictions? --requires database
assistant_ratio - how many assistants to security members
auto_cryo_afk - How long till you get put into cryo when you're AFK
auto_despawn_afk - How long till you actually despawn in cryo when you're AFK (Not ssd so not automatic)
clientfps - Default fps for clients with "0" in prefs. -1 for synced with server.
gateway_delay - How long the gateway takes before it activates. Default is 10 minutes. Only matters if roundstart_away is enabled.
panic_bunker_threshold - above this player count threshold, never-before-seen players are blocked from connecting
player_reroute_cap - number of players before the server starts rerouting
pregame_timestart - Time it takes for the server to start the game
round_abandon_penalty_period - Time from round start during which ghosting out is penalized
socket_talk - use socket_talk to communicate with other processes
tgui_max_chunk_count - Tgui ui_act payloads larger than 2kb are split into chunks a maximum of 1kb in size.
This flag represents the maximum chunk count the server is willing to receive.
traitor_scaling - if amount of traitors scales based on amount of players
vote_autotransfer_initial - Length of time before the first autotransfer vote is called
vote_autotransfer_interval - length of time before next sequential autotransfer vote
vote_delay - minimum time between voting sessions (deciseconds, 10 minute default)
warn_afk_minimum - How long till you get a warning while being AFK
str_list - List config entry, used for configuring a list of strings
discord_admin_webhook_urls - Webhook URLs for the admin webhook
discord_mentor_webhook_urls - Webhook URLs for the mentor webhook
discord_requests_webhook_urls - Webhook URLs for the requests webhook
firefighting - A factory which produces firefighting foam
long - A factory which produces foam with an extended lifespan.
metal - 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.
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
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
after_attack - Ancestor class for various post-attack effects. Requires /datum/component/after_attacks_hub for on_attack proc work
atmos_requirements - Atmos effect - Yes, you can make creatures that require plasma or co2 to survive. N2O is a trace gas and handled separately, hence why it isn't here. It'd be hard to add it. Hard and me don't mix (Yes, yes make all the dick jokes you want with that.) - Errorage
Leaving something at 0 means it's off - has no maximum.
This damage is taken when atmos doesn't fit all the requirements above.
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.
falling_hazard - An element that will make a target thing do damage to any mob that it falls on from a z-level above
footstep - Footstep element. Plays footsteps at parents location when it is appropriate.
give_turf_traits - A bespoke element that adds a set of traits to the turf while occupied by at least one attached movabled.
halo_attach - bespoke halo attach element (for cult and his grace)
light_blocking - Attached to movable atoms with opacity. Listens to them move and updates their old and new turf loc's opacity accordingly.
movetype_handler - An element that enables and disables movetype bitflags whenever the relative traits are added or removed.
It also handles the +2/-2 pixel y anim loop typical of mobs possessing the FLYING or FLOATING movetypes.
This element is necessary for the TRAIT_MOVE_ traits to work correctly, so make sure to attach this element
before adding them to non-living movables.
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 (which we don't have) 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.
ranged_attacks - This proc is used by basic mobs to give them a simple ranged attack! In theory this could be extended to
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.
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!
fluid_group - SMOKE SYSTEMS
A group of fluid objects.
font - A font datum, it exists to define a custom font to use in a span style later.
grand9k - For clean results on map, use only sizing pt, multiples of 6: 6pt 12pt 18pt 24pt etc. - Not for use with px sizing
Can be used in TGUI etc, px sizing is pt / 0.75. 6pt = 8px, 12pt = 16px etc.
Base font
size_6pt - For icon overlays
Grand9K 6pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus)
Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
pixellari - For clean results on map, use only sizing pt, multiples of 12: 12pt 24pt 48pt etc. - Not for use with px sizing
Can be used in TGUI etc, px sizing is pt / 0.75. 12pt = 16px, 24pt = 32px etc.
Base font
size_12pt - For icon overlays
Pixellari 12pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus)
Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
spessfont - For clean results on map, use only sizing pt, multiples of 6: 6t 12pt 18pt etc. - Not for use with px sizing
Can be used in TGUI etc, px sizing is pt / 0.75. 12pt = 16px, 24pt = 32px etc.
Base font
size_6pt - For icon overlays
Spess Font 6pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus)
Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
tiny_unicode - For clean results on map, use only sizing pt, multiples of 12: 12pt 24pt 48pt etc. - Not for use with px sizing
Can be used in TGUI etc, px sizing is pt / 0.75. 12pt = 16px, 24pt = 32px etc.
Base font
size_12pt - For icon overlays
TinyUnicode 12pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus)
Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
autotraitor - This is a beta game mode to test ways to implement an "infinite" traitor round in which more traitors are automatically added in as needed.
Bio-chip Fluff Datum - Bio-chip fluff is just lore about the bio-chip that is accessed through the implantpad, you must attach
one of these datums to the implant_data var on a bio-chip for it to show it up.
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.*
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.
middleClickOverride/Callback invoker middle click override datum - Middle click override which accepts a callback as an arugment in the New() proc.
When the living mob that has this datum middle-clicks or alt-clicks on something, the callback will be invoked.
move_loop - Template class of the movement datums, handles the timing portion of the loops
disposal_holder - Disposal holders need to move through a chain of pipes
Rather then through the world. This supports this
If this ever changes, get rid of this, add drift component like logic to the holder
And move them to move()
freeze - As close as you can get to a "do-nothing" move loop, the pure intention of this is to absolutely resist all and any automated movement until the move loop times out.
move_towards - Used as a alternative to walk_towards
move_towards_budget - The actual implementation of walk_towards()
move - Replacement for walk()
move_rand - This isn't actually the same as walk_rand
Because walk_rand is really more like walk_to_rand
It appears to pick a spot outside of range, and move towards it, then pick a new spot, etc.
I can't actually replicate this on our side, because of how bad our pathfinding is, and cause I'm not totally sure I know what it's doing.
I can just implement a random-walk though
move_to_rand - Wrapper around step_rand
movement_packet - A packet of information that describes the current state of a moving object
find_and_scan - The goal is to find a person with information. All a ninja knows is person's profession.
To achieve this goal, the ninja must kidnap people of a certain profession until he finds THAT SAME asshole with the information.
Or until enough people are kidnapped (from 3 to 6 (per 100 players))
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
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)
pod_style - Datum holding information about pod type visuals, VFX, name and description
These are not created anywhere and thus should not be assigned procs, only being used as data storage
point_precise - A precise point on the map in absolute pixel locations based on world.icon_size. Pixels are FROM THE EDGE OF THE MAP!
sound_effect datum - Use for when you need multiple sound files to play at random in a playsound.
See var documentation below.
Initialized and added to sfx_datum_by_key in /datum/controller/subsystem/sounds/init_sound_keys()
Spatial Grid Cell - used by /datum/controller/subsystem/spatial_grid to cover every z level so that the coordinates of every turf in the world corresponds to one of these in
the subsystems list of grid cells by z level. each one of these contains content lists holding all atoms meeting a certain criteria that is in our borders.
these datums shouldnt have significant behavior, they should just hold data. the lists are filled and emptied by the subsystem.
spell_handler - The base class for the handler systems spells use.
Subtypes of this class can be added to spells to modify their behaviour and change their can_cast.
Thus allowing for a more modular behaviour system. For example a vampire spell that jaunts can just add the vampire spell_handler to the jaunt spell
spell_targeting - The base class for the targeting systems spells use.
alive_mob_list - Will find targets in the GLOB.alive_mob_list. The result will be in a random order
aoe - An area of effect based spell targeting system. Will return all targets in the given range
click - A click based spell targeting system. The clicked atom will be used to determine who/what to target
clicked_atom - A simple spell targeting system. Will return the clicked atom as a target. Only works for 1 target max and is basically a dumbed down /datum/spell_targeting/click
matter_eater - A spell targeting system especially made for the matter eater gene
reachable_turfs - A spell targeting system which will return nearby turfs which are reachable from the users location. Will pad the targets with the user's location if needed
remoteview - A spell targeting system which will return one user picked target from all alive mobs who have the remoteview block but do not have the psyresist block active.
self - A spell targeting system which will return the caster as target
spiral - Gets a list of turfs around the center atom to scramble.
targeted - A spell targeting system which is able to select 1 to many targets in range/view of the caster. Has a random mode, distance from user based mode or a user input mode.
telepathic - A spell targeting system which will allow the user to select a target from nearby living mobs. The name will be "Unknown entity" if the user can not see them
Status effect absorption - Applies temporal or permanent immunities for certain status effects, with additional info tied to it,
such as showing a message on trigger / examine, or only blocking a limited amount.
Offering Item status effect - Status effect given to mobs after they've offered an item to another player using the Give Item action (/datum/click_intercept/give).
sport_grouped - ////////////////////////////////////////////////////// Auxiliary status effects ////////////////////////////////////////////////////////////
Mostly the same as /datum/status_effect/grouped, but with saved modifiers.
strength_level_delta - How our strength level changed by different sources. If multiplication of all modifiers is X, they will get X times more stamina damage after exercising.
swing_effect_mod - How effective exercising is. If multiplication of all modifiers is X, they will get X times more strength points.
swing_stamina_mod - How stamina do we use when exercising. If multiplication of all modifiers is X, they will get X times more stamina damage after exercising.
sport_reagents - The effects of sports food are divided into four phases.
In the first phase, sports nutrition has a normal effect.
In the second, there is no effect at all. In the third, the effect becomes negative.
In the fourth, it is even worse.
Transient Status Effect (basetype) - A status effect that works off a (possibly decimal) counter before expiring, rather than a specified world.time.
This allows for a more precise tweaking of status durations at runtime (e.g. paralysis).
Confusion - Prevents moving straight, sometimes changing movement direction at random.
Decays at a rate of 1 per second.
Disoriented - Modification of confusion effect. Makes you crash and take damage if confused
Dizziness - Slightly offsets the client's screen randomly every tick.
Decays at a rate of 1 per second, or 5 when resting.
Drowsiness - Slows down and causes eye blur, with a 5% chance of falling asleep for a short time.
Decays at a rate of 1 per second, or 5 when resting.
Drukenness - Causes a myriad of status effects and other afflictions the stronger it is.
Decays at a rate of 1 per second if no alcohol remains inside.
intermediate - A partial surgery that consists of a few steps that may be found in the middle of another operation.
An existing surgery can yield to an intermediate surgery for a few steps by way of a proxy surgery_step.
vocal_cords_surgery - Surgery to change the voice of TTS.
Below are the operations for organics and IPC.
proxy - Here's the special sauce: a surgery step that can pretend to be a few different surgery steps.
These proxy steps will, depending on the tool that's used, either continue to the next surgery step, or temporarily spin off a new surgery
by adding new steps to the current surgery.
ib - Mend IB without healing bones
manipulate_organs - The surgery step to trigger this whole situation
open_organ - Proxy surgery step to allow healing bleeding and mending bones.
Should be added into surgeries just after the first three standard steps.
syndie_data_storage - Хранилище данных.
Консоли её находят и используют как сервер для снхронизации данных.
Если консоль построить в зоне без хранилища данных, консоль создаст новое хранилище данных в своей зоне при попытке синхронизации через кнопку "Link pads"
Такой подход позволяет игрокам построить собственное синдикарго
syndie_supply_order - SUPPLY ORDER //доработать
syndie_supply_packs
emergency - Use the sections to keep things tidy please /Malkevin
engineering - Engineering
materials - Materials
medical - Medical
misc - Miscellaneous
costume - Costumes
janitor - Janitor Supplies
paper - Paper Work
toilet - Bathroom Fixtures
organic - Organic
cow - livestock
hydroponics - hippy gear
science - Science
security - Security
armor - Armor: Basic
armory - Armory stuff
syndicate_special - Syndicate Special
vending - Vending
tape_piece - Datum used to operate with message pieces.
targetting_datum - Datum for basic mobs to define what they can attack.
tgui_input_keycombo - Datum used for instantiating and using a TGUI-controlled key input that prompts the user with
a message and listens for key presses.
tgui_input_number - Datum used for instantiating and using a TGUI-controlled number input that prompts the user with
a message and has an input for number entry.
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
tgui_list_input/ranked - Datum used for allowing a user to sort a TGUI-controlled list input that prompts the user with
a message and shows a list of rankable options
tgui_list_input/ranked - Datum used for allowing a user to sort a TGUI-controlled list input that prompts the user with
a message and shows a list of rankable options
tgui_panel - Copyright (c) 2020 Aleksej Komarov
SPDX-License-Identifier: MIT
tgui_say - The tgui say modal. This initializes an input window which hides until
the user presses one of the speech hotkeys. Once something is entered, it will
delegate the speech to the proper channel.
tgui_window - Copyright (c) 2020 Aleksej Komarov
SPDX-License-Identifier: MIT
basic - Simple animals 2.0, This time, let's really try to keep it simple. This basetype should purely be used as a base-level for implementing simplified behaviours for things such as damage and attacks. Everything else should be in components or AI behaviours.
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:
blob_minion - Root of shared behaviour for mobs spawned by blobs, is abstract and should not be spawned
blobbernaut - Player-piloted brute mob. Mostly just a "move and click" kind of guy.
Has a variant which takes damage when away from blob tiles
minion - This variant is the one actually spawned by blob factories, takes damage when away from blob tiles
spore - A floating fungus which turns people into zombies and explodes into reagent clouds upon death.
minion - Variant of the blob spore which is actually spawned by blob factories
weak - Weakened spore spawned by distributed neurons, can't zombify people and makes a teeny explosion
zombie - A shambling mob made out of a crew member
controlled - Blob-created zombies will ping for player control when they make a zombie
The abstract object - This is an object that is intended to able to be placed, but that is completely invisible.
The object should be immune to all forms of damage, or things that can delete it, such as the singularity, or explosions.
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.
particle_holder_tgmc - These effects can be added to anything to hold particles, which is useful because Byond only allows a single particle per atom.
Basic Proximity Checker - Inteded for use with the proximity checker component /datum/component/proximity_monitor.
Whenever a movable atom crosses this object, it calls HasProximity() on the object which is listening for proximity (hasprox_receiver).
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.
charge_up - A click-based spell template which starts charging up once you click the action button/verb. Click again on something to activate the actual spell
bounce - A spell template that adds bounces to the charge_up spell template. The spell will bounce between targets once released.
Don't override cast and instead override apply_bounce_effect and the other procs
ninja - ninja's id card. Used only by chameleon module, to fake sec huds.
it does NOT provide any access beyond standart
it copies the assignment on the card of the scanned person via toggle_chameleon code.
neck/Ninja Scarf - Игроку дана возможность вместо шлема носить не прикрывающий волосы шарф.
Если игрок такую возможность активирует, то при инициализации костюма на него наденется шарф,
а капюшон приобретёт необходимые флаги чтобы не скрывать волосы и пропадёт с персонажа визуально, но останется на игроке.
ИЦ оправдание такому подходу. Адаптивная защита шарфа прикрывающая голову. А по механу, это сохранит фишки шлема и визуал необходимый для образа.
Ninja Suit - Space ninja's suit. Gives space ninja all his iconic powers, which are mostly kept in
the folder ninja_equipment_actions. Has a lot of unique stuff going on, so make sure to check
the variables. Check suit_attackby to see uranium interactions, disk copying, and cell replacement.
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.
Implants - Code for implants that can be inserted into a person and have some sort of passive or triggered action.
exile - Exile implants will allow you to use the station gate, but not return home.
This will allow security to exile badguys/for badguys to exile their kill targets.
thunderdome - Here lie special thunderdome bundles.
Absurdly strong or weak items included.
internal - A storage item intended to be used by other items to provide storage functionality.
Types that use this should consider overriding emp_act() and hear_talk(), unless they shield their contents somehow.
secure_closet/Prisoner Belongings Closet - Cannot be opened. Contains the belongings of all kidnapped targets.
Any item added inside stops processing and starts again when removed.
transit_tube/station - A place where tube pods stop, and people can get in or out.
Mappers: use "Generate Instances from Directions" for this one.
Guide "HOW DOES DIRS WORKS"
Arrow start - direction of mob is aible to get into pod
Arrow direction - where to pod will move
explosion_smoke - MARK: TGMC
Particles ported from TGMC.
They are used in case of explosions and hits on objects from firearms (except for disabler and taser).
engine/hull/ceiling - RCD-immune plating generated only by shuttle code for shuttle ceilings on multi-z maps, should not be mapped in or creatable in any other way
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.