Understanding Powernets - Much like any other massive numbers system in SS13, the power (or powernet) system is complex and confusing to work with, only being trumped in complexity by atmospherics/LINDA. This README serves as a powernets 101 guide and breaks down how the system works.
emissive_blocker - Internal atom that copies an appearance on to the blocker plane
plane_master_controller - Atom that manages and controls multiple planes. It's an atom so we can hook into add_filter etc. Multiple controllers can control one plane.
sbiten - DRINKS THAT REQUIRED IMPROVED SPRITES BELOW:: -Agouri
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.
Give click intercept - While a mob has this intercept, left clicking on a carbon mob will attempt to offer their currently held item to that mob.
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.
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.
Advanced Proximity Monitor - This component functions similar to the basic version, however it has some extra features:
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.*
local_powernet - Manages all power related mechanics for a single /area
Machines in areas will directly register to this datum in order to recieve power
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.
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
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
limited_bonus - A status effect that can have a certain amount of "bonus" duration added, which extends the duration every tick,
although there is a maximum amount of bonus time that can be active at any given time.
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).
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.
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.
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, bones, and burns.
Should be added into surgeries just after the first three standard steps.
robotics/repair_limb - The robotic equivalent
Syndicate Contract - Describes a contract that can be completed by a Contractor.
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.
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:
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.
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).
Advanced Proximity Checker - Like basic proximity checkers, these objects can also detect proximity.
However these are meant for when you need to have some additional (more advanced) behavior on top of what basic proximity checkers can do.
Edge Field Proximity Checker - An advanced proximity checker object which sits on the outer edge tiles of a field.
Inner Field Proximity Checker - An advanced proximity checker object which sits on the the inner tiles of a field.
Hallucination - Base object for hallucinations. Contains basic behaviour to display an icon only to the target.
Hallucination - Abduction - Sends an abductor agent after the target. On knockdown, spawns an abductor scientist next to the target. Nothing else happens.
Hallucination - Assault - An imaginary attacker spawns close to the target and attacks them to stamcrit.
Hallucination - Loose Energy Ball - A progressive hallucination that begins with intermittent explosions, before displaying an energy ball that shocks the target.
hallucinations - Gives everyone in a 7 tile radius 2 minutes of hallucinations
haunt_object - Makes objects be haunted and then throws them at conscious people to do damage, spooky!
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
grouped_spawner - Can be used to group spawners together so you ensure a certain amount of things are spawned but can be spawned on multiple locations.
Standard Book - Game Object which stores pages of text usually written by players, has other editable information such as the book's
title, author, summary, and categories. Has other values that are generated when books are acquired through the library
computer.
MANUALS (BOOKS) - These are "programmatic books," that is books that are hard-coded into the game. Just for the sake of maintainability, keep
information subject to change (as in likely to change SOON) out of the non-wiki manuals as they require PRs to change
and it is not an author's responsbility to update manuals if they change a mechanic/recipe/feature referenced in one of them
Don't worry about adding them to the library, as long as they're one of these types it is automatically added.
Wiki Page Based Book Manuals - These are programmatic books that source its pages / "content" straight from the wiki
That means that this content can ONLY be changed by editing the wiki
Space Law and SOP Manuals can only be edited by Wiki Admins
economy - Base machine type for machinery that needs to interact with users spending Space Cash or credit from Money Accounts
has helper procs to automate account authentification and handling transactions.
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.
fullscreen/cursor_catcher - An effect which tracks the cursor's location on the screen
map_view - A screen object, which acts as a container for turfs and other things
you want to show on the map, which you usually attach to "vis_contents".
plane_master/emissive - Things placed on this mask the lighting plane. Doesn't render directly.
miningcar - Mining car (Crate like thing, not the rail car)
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.
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.