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.
Модпаки - Модпаки загружаются компилятором сразу после всего остального кода и после карты, что позволяет делать оверрайды, безболезненно добавлять предметы, пользуясь дефайнами из core code и много много всего.
goonstation/LICENSE - All files located in this directory and any subdirectories are licensed under the
Creative Commons 3.0 BY-NC-SA license (https://creativecommons.org/licenses/by-nc-sa/3.0)
camera_nanomap - В этом модуле, для добавления наномапы в камеры, были затронуты НЕ модульно следующие файлы:
"NanoMap.js"
"NanoMap.scss"
"CameraConsole.scss"
"ByondUI.js"
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.
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)
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.
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.
boss_music - Attaches to a hostile simplemob and plays that music while they have a target.
codeword_hearing - Component that allows for highlighting of words or phrases in chat based on regular expressions.
connect_range - This component behaves similar to connect_loc_behalf but for all turfs in range, hooking into a signal on each of them.
Just like connect_loc_behalf, It can react to that signal on behalf of a seperate listener.
Good for components, though it carries some overhead. Can't be an element as that may lead to bugs.
corpse_description - Mapping component which adds examine text to a corpse that is removed on revival (in case for some reason someone revives your space ruin mob)
For immersive environmental story telling
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.
Surgery Initiator - Allows an item to start (or prematurely stop) a surgical operation.
tilted - A component that should be attached to things that have been tilted over, and can be righted.
This can optionally block normal attack_hand interactions
bombable_turf - Apply this to a turf (usually a wall) and it will be destroyed instantly by any explosion.
Most walls can already be destroyed by explosions so this is largely for usually indestructible ones.
For applying it in a map editor, use /obj/effect/mapping_helpers/bombable_wall
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
cursed - Status effect that gives the target miscellanous debuffs while throwing a status alert and causing them to smoke from the damage they're incurring.
Purposebuilt for cursed slot machines.
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.
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, 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.
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_panel - Copyright (c) 2020 Aleksej Komarov
SPDX-License-Identifier: MIT
tgui_window - Copyright (c) 2020 Aleksej Komarov
SPDX-License-Identifier: MIT
special - This uplink catagory is for uplink items avalible by special circumstances. Think station traits, or if some event rolling in a round gave traitors special items, or an objective.
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.
chasm_storage - An abstract object which is basically just a bag that the chasm puts people inside
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).
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
vortex_shotgun - Vortex arm mounted shotgun. Fucks up reality in front of it, very power draining. Compeating with the vortex arm and stealth armor after all
armor_booster - Armor Booster - Grants your suit more armor and speed in exchange for EVA protection. Also acts as a welding screen.
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.
cinematic - The cinematic screen showed to everyone
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.
lava - Lava turf, burns things that are on it.
Currently a subtype of floor so that footsteps work on it.
Perhaps we could move it down to /turf/simulated/lava someday, as I dont think footsteps over lava are very important.
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.