void_chill - Contains the "Void Chill" status effect. Harmful debuff which freezes and slows down non-heretics
Cannot affect silicons (How are you gonna freeze a robot?)
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.
unholy_determination - Screen alert for the below status effect.
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.
center - Centered fullscreen atoms
These are used to center a widescreen image so it scales properly across screen sizes, not suitable for screen images that eminate from the edge of the screen
stretch - Stretch version is suitable for images that stick to screen edges, as they scale with user screen size
For centrally located screen objects, use /atom/movable/screen/fullscreen/center
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".
capricious_retaliate - Add or remove people to our retaliation shitlist just on an arbitrary whim
cling_spider_follow - Attempt to follow the owner
conjure_skulls - Nyeh heh heh!
cover_minimum_distance - instead of taking a single step, we cover the entire distance
drop_item - Drops items in hands, very important for future behaviors that require the pawn to grab stuff
find_and_set - Finds an item near themselves, sets a blackboard key as it. Very useful for AIs that need to use machines or something.
If you want to do something more complicated than find a single atom, change the search_tactic() proc
cool tip: search_tactic() can set lists
edible - Variant of find and set that also requires the item to be edible. checks hands too
in_list - Variant of find and set that takes a list of things to find.
pawn_must_hold_item - Variant of find and set that fails if the living pawn doesn't hold something
target_from_retaliate_list - Picks a target from a provided list of atoms who have been pissing you off
You will probably need /datum/element/ai_retaliate to take advantage of this unless you're populating the blackboard yourself
nearest - As above but targets have been filtered from the 'retaliate' blackboard list
Targeted Mob Ability - Attempts to use a mob's cooldown ability on a target
Try Mob Ability and clear target - Attempts to use a mob's cooldown ability on a target and releases the target when the action completes
Try Mob Ability and plan execute - Attempts to use a mob's cooldown ability on a target and then move the target into a special target blackboard datum
Doesn't need another subtype to clear BB_BASIC_MOB_EXECUTION_TARGET because it will be the target key for the normal action
min_range - Attempts to move into the provided range and then use a mob's cooldown ability on a target
tipped_reaction - Type of tipped reaction that is akin to puppy dog eyes.
Travel Towards - Moves towards the atom in the passed blackboard key.
Planning continues during this action so it can be interrupted by higher priority actions.
Travel Towards Atom - Travel towards an atom you pass directly from the controller rather than a blackboard key.
You might need to do this to avoid repeating some checks in both a controller and an action.
use_in_hand - Use in hand the currently held item
use_mob_ability/shapeshift - Selects a random shapeshift ability before shifting
use_on_object - Use the currently held item, or unarmed, on a weakref to an object in the world
wrap_target - Move to an unwrapped item and wrap it
ai_controller - AI controllers are a datumized form of AI that simulates the input a player
would otherwise give to a atom. What this means is that these datums have
ways of interacting with a specific atom and control it. They posses a
"blackboard" with the information the AI knows and has, and will plan actions
it will try to perform through multiple modular subtrees with behaviors.
basic_controller
big_legion - Big Legion
blob_spore - As blob zombie but will prioritise attacking corpses to zombify them
blobbernaut - Extremely simple AI, this isn't a very smart boy
Only notable quirk is that it uses JPS movement, simple avoidance would fail to realise it can path through blobs
crab - Crabs don't do much, but they want to live. They will flee when attacked, but will opportunistically melee attack people who do
diona_nymph - Diona nymphs want to eat plant matter to get to evolution stage, but won't evolve or sample blood on their own. They flee when attacked.
giant_spider - Attacks people it can see, spins webs if it can't see anything to attack.
retaliate - Used by Araneus, who only attacks those who attack first. He is house-trained and will not web up the HoS office.
goat - Goats are normally content to sorta hang around and crunch any plant in sight, but they will go ape on someone who attacks them.
hivelord - Keep away and launch skulls at every opportunity
legion - With evil speech
hivelord_brood - Chase and attack whatever we are targeting
advanced_legion - Same as hivelords, but go after corpses too
incursion - Prowls around when not attacking people
mouse - The mouse AI controller
raw_prophet - Walk and attack people, blind them when we can
rust_walker - Converts unconverted terrain, sprays pocket sand around
simple
clown - Fight back if attacked
retaliate - Fight back if attacked
simple_ability - Use an ability on target on cooldown
simple_ability_melee - Use an ability on target on cooldown, then try to punch them
simple_ability_ranged - Use an ability on target on cooldown, then try to shoot them
simple_ability_retaliate - Use an ability to retaliate on cooldown
simple_capricious - Get pissed at random people for no reason. Most often seen with goats.
simple_fearful - Runs away from anyone it sees
simple_hostile_obstacles - Find a target, walk at target, attack intervening obstacles
prowler - Prowls around when not attacking people
ventcrawler - Will ventcrawl around until it finds a target to attack.
simple_ranged - Find a target, keep distance
simple_ranged_retaliate - Retaliate at range, keep distance
simple_skirmisher - Find a target, walk towards it AND shoot it
prowler - Wanders around until it finds something it can walk towards and shoot
simple_skittish - Runs away when attacked
snake - Snakes are primarily concerned with getting those tasty, tasty mice, but aren't afraid to strike back at those who attack them
stalker - Changes shape and lies in wait when it has no target, uses EMP and attacks once it does
swarmer - Attacks people it can see, disintegrates things based on priority.
lesser - Attacks people it can see, disintegrates things based on priority. More aggressive.
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
backstep - Move immediately and don't update our facing
complete_stop - Come to a complete stop for a set amount of time.
jps - This movement datum represents smart-pathing
ai_planning_subtree - A subtree is attached to a controller and is occasionally called by
/ai_controller/select_behaviors(). This mainly exists to act as a way to
subtype and modify select_behaviors() without needing to subtype the AI
controller itself.
attack_obstacle_in_path - If there's something between us and our target then we need to queue a behaviour to make it not be there
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.
clean - Find and clean things
corpses - Find and attack corpses
human - Find and attack specifically human corpses
drink_water - subtree to go around drinking water
graze - subtree to go around grazing
hunt_ores/minebot - store ores in our body
mark_territory - subtree to mark trees as territories
find_food - Similar to finding a target but looks for food types in the blackboard.
find_unwebbed_turf - Search for a nearby location to put webs on
find_unwrapped_target - Search for a nearby location to put webs on
flee_target - Try to escape from your current target, without performing any other actions.
from_flee_key - Try to escape from your current target, without performing any other actions.
Reads from some fleeing-specific targeting keys rather than the current mob target.
legion - Don't run away from friendlies
mouse - Don't look for anything to run away from if you are distracted by being adjacent to cheese
Pet Planning - Perform behaviour based on what pet commands you have received. This is delegated to the pet command datum.
When a command is set, we blackboard a key to our currently active command.
The blackboard also has a weak reference to every command datum available to us.
We use the key to figure out which datum to run, then ask it to figure out how to execute its action.
play_with_friends - subtree to go around playing with other deers
target_retaliate - Sets the BB target to a mob which you can see and who has recently attacked you
to_flee - Places a mob which you can see and who has recently attacked you into some 'run away from this' AI keys
Can use a different targeting strategy than you use to select attack targets
Not required if fleeing is the only target behaviour or uses the same target datum
use_mob_ability - Simple behaviours which simply try to use an ability whenever it is available.
For something which wants a target try targeted_mob_ability.
rust_walker - Use if we're not stood on rust right now
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)
cachedbook - Datum used to cache the SQL DB books locally in order to achieve a performance gain.
callback/verb_callback - like normal callbacks but they also record their creation time for measurement purposes
camerachunk - A 16x16 grid of the map with a list of turfs that can be seen, are visible and are dimmed.
Allows camera eyes to stream these chunks and know what they can and cannot see.
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.
Cogbar - Represents that the user is busy doing something.
color_matrix - A color matrix allows us to set the color of an atom in a list form, thus allowing us to change color in more flexible ways. For example, we can set the brightness and contrast of the bloom and exposure of lamps
action_item_overlay - Apply to an action to allow it to take an item
and apply it as an overlay of the action button
aggro_emote - A component for ai-controlled atoms which plays a sound if they switch to a living target which they can attack
ai_retaliate_advanced - Attached to a mob with an AI controller, passes things which have damaged it to a blackboard.
The AI controller is responsible for doing anything with that information.
Differs from the element as it passes new entries through a callback.
ai_target_timer - Increments a blackboard key while the attached mob is engaged with a particular target, does nothing else on its own
anti_magic - This provides different types of magic resistance on an object
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.
codeword_hearing - Component that allows for highlighting of words or phrases in chat based on regular expressions.
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
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.
construct_held_body - A component for tracking and manipulating bodies held inside constructs/shades
Will drop the body/brain when the parent dies or is deleted.
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
damage_aura - Applies a status effect and deals damage to people in the area.
Will deal more damage the more people are present.
direct_explosive_trap - Responds to certain signals and 'explodes' on the person using the item.
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
goal - A verson of the label component specific to labelling goal items.
largetransparency - Makes large icons partially see through if high priority atoms are behind them.
leash - Keeps the parent within the distance of its owner as naturally as possible,
but teleporting if necessary.
Living Heart Component - Applied to a heart to turn it into a heretic's 'living heart'.
The living heart is what they use to track people they need to sacrifice.
multitile - Lets multitile objects have dense walls around them based on the coordinate map
Obeys Commands Component - Manages a list of pet command datums, allowing you to boss it around
Creates a radial menu of pet commands when this creature is alt-clicked, if it has any
ranged_attacks - Configurable ranged attack for basic mobs.
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.
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.
Surgery Initiator - Allows an item to start (or prematurely stop) a surgical operation.
tameable - This component lets you make specific mobs tameable by feeding them
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
tippable - Tippable component. For making mobs able to be tipped, like cows and medibots.
meathunk - A specialized add-item step for specific meat subtypes
supermatter_sliver - A step that allows either direct adding of a supermatter sliver
(if you have somehow manage to hold one), or
from tongs if those are used and contain a sliver in them.
add_produce - A cooking step that involves using grown foods.
recipe_tracker - A recipe tracker is an abstract representation of the progress that a
cooking container has made towards any of its possible recipe outcomes.
cooking_surface - Cooking surfaces are representations of the available "slots" on a cooking machine
that can hold a cooking container.
dynamic_airlock_linker - A manager that is used on mapload to generate airlock chambers based on the
usage of /obj/effect/map_effect/dynamic_airlock helpers. These helpers
make up the "zone" of an airlock chamber, as well as indicate which airlocks
are exterior or interior, what access should be applied to the doors and
controls, And what buttons, vents, and airlock controllers should be linked
together. This is performed on Initialize of one of the related helpers.
Once done, all the other helpers are deleted to prevent it happening again
for that zone.
element - A holder for simple behaviour that can be attached to many different types
ai_flee_while_injured - Attached to a mob with an AI controller, simply sets a flag on whether or not to run away based on current health values.
ai_retaliate - Attached to a mob with an AI controller, passes things which have damaged it to a blackboard.
The AI controller is responsible for doing anything with that information.
atmos_requirements - Bespoke element that deals damage to the attached mob when the atmos requirements aren't satisfied
body_temperature - Bespoke element that deals damage to the attached mob when the ambient temperature is unsuitable.
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
butchers_humans - An element for items that butcher human corpses into meat when attacked on
harm intent.
clothing_adjustment - An element for making visual modifications to items when worn externally by
a carbon mob. This could range to anything from changing its pixel offsets
to its color or size.
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.
corrupted_organ - Component applying shared behaviour by cursed organs granted when sacrificed by a heretic
Mostly just does something spooky when it is removed
heretic_focus - Heretic focus element, simple element for making an item a heretic focus,
allowing heretics to cast advanced spells (examine message included).
hostile_machine - AIs will attack this as a potential target if they see it
leeching_walk - Buffs and heals the target while standing on rust.
light_blocking - Attached to movable atoms with opacity. Listens to them move and updates their old and new turf loc's opacity accordingly
noticable_organ - noticable organ element; which makes organs have a special description added to the person with the organ, if certain body zones aren't covered.
Pet bonus element! - Bespoke element that plays a fun message, and sends a heart out when you pet this animal.
relay_attackers - This element registers to a shitload of signals which can signify "someone attacked me".
If anyone does it sends a single "someone attacked me" signal containing details about who done it.
This prevents other components and elements from having to register to the same list of a million signals, should be more maintainable in one place.
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.
rust - Adding this element to an atom will have it automatically render an overlay.
heretic - For rust applied by heretics (if that ever happens) / revenants
shatters_when_thrown - When attached to something, will make that thing shatter into shards on throw impact or z level falling
shelf_positioning - Shelf positioning allows for custom positioning on shelves for individual items.
sideways_movement - A simple element that forces the mob to face a perpendicular direction when moving, like crabs.
codex_cicatrix - Codex Cicatrixi is available at the start:
This allows heretics to choose if they want to rush all the influences and take them stealthily, or
Construct a codex and take what's left with more points.
Another downside to having the book is strip searches, which means that it's not just a free nab, at least until you get exposed - and when you do, you'll probably need the faster drawing speed.
Overall, it's a tradeoff between speed and stealth or power.
plant_weeds - Alien projectile
Try to avoid friendly fire, and has a 3 second delay.
rust - Moves a lot if healthy and on rust (to find more tiles to rust) or unhealthy and not on rust (to find healing rust)
Still moving in random directions though we're not really seeking it out
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.*
job_candidate - A datum representing all the information needed to perform roundstart job
selection, without actually needing clients. This allows for the creation
of fake candidates, allowing testing of the role selection system independent
of the number of actual players.
local_powernet - Manages all power related mechanics for a single /area
Machines in areas will directly register to this datum in order to receive power
middle_click_override/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.
milla_safe - Create a subclass of this and implement on_run to manipulate tile air safely.
milla_safe_must_sleep - Create a subclass of this and implement on_run to manipulate tile air safely. ONLY USE THIS VERSION IF YOU CAN'T AVOID SLEEPING; it will delay atmos ticks!
move_loop - Template class of the movement datums, handles the timing portion of the loops
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_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
move_manager - Acts as a namespace for movement packet/type related procs
movement_detector - A datum to handle the busywork of registering signals to handle in depth tracking of a movable
movement_packet - A packet of information that describes the current state of a moving object
object_window_info - Datum that holds and tracks info about a client's object window
Really only exists because I want to be able to do logic with signals
And need a safe place to do the registration
advanced - Movable and easily code-modified fields! Allows for custom AOE effects that affect movement
and anything inside of them, and can do custom turf effects!
Supports automatic recalculation/reset on movement.
microwave/brain_disposal_method - This recipe exists solely so that placing a brain in a microwave destroys it
for the purpose of round-removing antag assassination targets. Because an
effect can never be inserted into a microwave by hand, one hopes, the recipe
itself cannot be completed. However, it accepts a brain as an ingredient, so
microwaves can take that as input.
Redis callback - Callback datum for subscribed redis channel handling
aggressive_spread - very OP, but im out of other ideas currently
explosive - OH SHIT IT CAN CHAINREACT RUN!!!
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.
spawn_pool - Keeps track of the available points for a given pool, as well as any
spawners that need to keep track globally of the number of any specific item
that they spawn.
spawn_pool_manager - The singleton which keeps track of all spawn pools.
All known /datum/spawn_pool subtypes are registered
to it and are processed in SSlate_mapping.
diona/pod - Same name and everything; we want the same limitations on them; we just want their regeneration to kick in at all times and them to have special factions
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
augment_menu - The shop for purchasing and upgrading abilities, from here on the rest of the file is just handling shopping. Specific powers are in the powers subfolder.
overclock - A toggle ability that makes you speedy and attack faster while heating up, level one cast is guaranteed to hurt a bit.
override_key - After a 7 second channel time you can emag a borg
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
sprite_accessory
body_markings
head
tajara
muzzle_alt_taj - Companion marking for Tajaran Belly 2.
patchy_taj - Companion marking for Tajaran Patches.
points_taj - Companion marking for Tajaran Points.
unathi
banded_una - Companion marking for Unathi Banded.
points_una - Companion marking for Unathi Points.
sharp/snout_narrow_una_sharp - Companion marking for Unathi Narrow Belly.
snout_narrow_una - Companion marking for Unathi Narrow Belly.
vulpkanin
muzzle_ears_vulp - Companion marking for Vulpkanin Belly Alt..
muzzle_vulp - Companion marking for Vulpkanin Belly Alt..
points_fade_vulp - Companion marking for Vulpkanin Points Fade.
points_sharp_vulp - Companion marking for Vulpkanin Points Sharp.
tail
shared/short_tip - Species-ambiguous, generic short tail.
tajara/taj_wingler_stripes - Tiger stripes.
tattoo - Tattoos applied post-round startup with tattoo guns in item_defines.dm
tiger_body - Yep, this is repeated. To be fixed later
crusher_damage - tracks the damage dealt to this mob by kinetic crushers
cultghost - is a cult ghost and can't use manifest runes, can see ghosts and dies if too far from summoner
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.
stun/goliath_tentacled - Goliath tentacle stun with special removal conditions
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.
moon_converted - Used by moon heretics to make people mad
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).
protective_blades - Summons multiple foating knives around the owner.
Each knife will block an attack straight up.
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
shadow_cloak - Shadow cloak effect. Conceals the owner in a cloud of purple smoke, making them unidentifiable.
Also comes with some other buffs and debuffs - faster movespeed, slower actionspeed, etc.
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.
abstract - Abstract supply packs that don't contain any goods, but instead represent purchases that cargo can make.
A supply pack that does not contain physical objects, but instead fires some sort of callback when ordered.
admin_notify - A sample supply pack that notifies admins when it is purchased, but provides no items.
donations - Simple supply pack for easy admin modification
shuttle - A "supply pack" that allows for purchasing a custom shuttle.
emergency - Section header - use these to set default supply group and crate type for sections
engineering/tools - the most robust crate
misc
boxing - For non log spamming cargo brawls!
formalwear - This is a very classy crate.
janitor - Janitor Supplies
paper - Paper Work
polo - For space polo! Or horsehead Quiditch
randomised/ingredients - its a bit hacky...
servicecostume - Costumes
teamcolors - For team sports like space polo
organic
cow - livestock
hydroponics - /// hippy gear
-- Skie
security
armory - Armory stuff
ballistic - Weapons: Specialist
epistol - costs 3/5ths of the normal e-guns for 3/4ths the total ammo, making it cheaper to arm more people, but less convient for any one person
mindshield - Implants & etc
riothelmets - Armor: Specialist
baton - Weapons: Basic
helmets - Armor: Basic
lowinquisitor - Has a bunch of neat equipment for Skulk Officers, do note only Skkulakin can use these items
officerpack - Starter pack for an officer. Contains everything in a locker but backpack (officer already start with one). Convenient way to equip new officer on highpop.
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.
extra - Surgeries for tending brute and burn damage without needing to expend items.
Syndicate Contract - Describes a contract that can be completed by a Contractor.
targeting_strategy - Datum for basic mobs to define what they can attack.
Global, just like ai_behaviors.
Meant to be subtyped into different kinds of targeting strategies.
not_friends - Don't target an atom in our friends list (or turfs), anything else is fair game
allow_items - Subtype that allows us to target items while deftly avoiding attacking our allies. Be careful when it comes to targeting items as an AI could get trapped targeting something it can't destroy.
of_size - Subtype which searches for mobs of a size relative to ours
lightgeist - Attack only mobs who have damage that we can heal, I think this is specific enough not to be a generic type
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_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
bio_chips/uplink - Nukies get Nuclear Uplink Bio-chip instead
device_tools/thermal_drill - Nukies get Diamond Tipped Thermal Safe Drill instead
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.
stealthy_weapons/combat_minus - Nukies get combat gloves plus instead
user_verb - This is the user verb datum. It is used to store the verb's information and handle the verb's functionality.
All of this is setup for you, and you should not be defining this manually.
That means you reader.
admin_observe - Allow an admin to observe someone.
mentors are allowed to use this verb while living, but with some stipulations:
if they attempt to do anything that would stop their orbit, they will immediately be returned to their body.
admin_pm_by_key_panel - Shows a list of clients we could send PMs to, then forwards our choice to cmd_admin_pm.
admin_pm_panel - Shows a list of clients we could send PMs to, then forwards our choice to cmd_admin_pm.
admin_pm_target - Allows right clicking mobs to send an admin PM to their client.
Forwards the selected mob's client to cmd_admin_pm.
ccbdb_lookup_ckey - Just a simple verb so admins can do manual lookups
check_player_exp - Allows admins to determine who the newer players are.
get_server_logs - Allows download of past server logs saved within the data/logs/ folder.
get_server_logs_by_round_id - Allows download of past server logs saved within the data/logs/ folder by specifying a specific round ID.
respawn_character - If a guy was gibbed and you want to revive him, this is a good way to do so.
Works kind of like entering the game with a new character. Character
receives a new mind if they didn't have one. Traitors and the like can also
be revived with the previous role mostly intact.
voice_of_god_command - Voice of god command datums that are used in [/proc/voice_of_god()]
attract - This command throws the listeners at the user.
bleed - This command makes carbon listeners bleed from a random body part.
brute - This command applies 15 points of brute damage to the listeners. There's subtle theological irony in this being more powerful than healing.
burn - This command sets the listeners ablaze.
emote - Supertype of all those commands that make people emote and nothing else. Fuck copypasta.
getup - This command forces the listeners to get the fuck up, resetting all stuns.
hallucinate - This command makes the listeners see others as corgis, carps, skellies etcetera etcetera.
heal - This command heals the listeners for 10 points of total damage.
honk - This command plays a bikehorn sound after 2 seconds and a half have passed, and also slips listeners if the user is a clown.
jump - This command forces the listener to do the jump emote 3/4 of the times or reply "HOW HIGH?!!".
knock_knock - This command forces the listeners to say "Who's there?".
move - This command forces the listeners to take step in a direction chosen by the user, otherwise a random cardinal one.
multispin - This command spins the listeners 1800° degrees clockwise.
repulse - This command throws the listeners away from the user.
run - This command forces the listeners to switch to run intent.
say_my_name - This command forces the listeners to say the user's name
silence - This command silences the listeners. Thrice as effective is the user is a mime or curator.
sit - This command forces each listener to buckle to a chair found on the same tile.
stand - This command forces each listener to unbuckle from whatever they are buckled to.
state_laws - This command forces silicon listeners to state all their laws.
throw_catch - This command turns the listeners' throw mode on.
wake_up - This command wakes up the listeners.
walk - This command forces the listeners to switch to walk intent.
who_are_you - This command forces the listeners to say their true name (so masks and hoods won't help).
Basic and simple mobs who are forced to state their name and don't have one already will... reveal their actual one!
camera/eye - Camera eyes are remote-control mobs that can move and see throughout the global cameranet.
They're used in AI eyes, holograms, advanced camera consoles, abductor consoles, shuttle consoles,
and xenobiology consoles. When created, the user with which they are initialized will be granted control,
and their movements will be relayed to the camera eye instead. When destroyed, the user's control of the
camera eye will be released; if they were previously remote controlling another object (such as another
camera eye) then they will be put back in control of that object; otherwise they will return to their body.
Basic Mob - Basic mobs are a modern replacement for the simple_animal/"simple mob"
system. Rather than deep type trees with overrides for AI, basic mobs rely
on their AI controllers for the majority of their behavior.
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
particle_holder - These effects can be added to anything to hold particles, which is useful because Byond only allows a single particle per atom
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 - Fake Grenade Flashbang - A random grenade is thrown near the target from offscreen.
The target will get flashbanged on 'detonation' if too close.
Hallucination - Fake Grenade Spawner - A random grenade is thrown near the target from offscreen.
A space carp will spawn on the grenade upon 'detonation'.
Hallucination - Fake Health - Visually changes the target's health status to something it shouldn't be.
Hallucination - Fake Item - Displays a random fake item around the target. If it's on the floor and they try to pick it up, they will trip and fall.
Hallucination - Loose Energy Ball - A progressive hallucination that begins with intermittent explosions, before displaying an energy ball that shocks the target.
no_delete - Subtype that doesn't delete itself.
Mostly used for hallucination managers because they delete the hallucinations when required
map_effect/dynamic_airlock - A mapping helper that defines the zone of a dynamically arranged airlock
chamber. This can be used as an alternative to
/obj/effect/spawner/airlocks.
door - A helper used to indicate what doors are connected to an airlock zone. Comes
in interior and exterior variants as subtypes.
dynamic_bridge - A spawner for dynamic bridges, largely with hardcoded expectations to be
operating on Lavaland.
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.
disabler/cyborg - seperate balancing for cyborg, again
emitter/cyborg/proto - needed a slightly weaker ranged option to give to Safety Overriden borgs. The fire rate is about the same as an emitter if you put it on the ground.
laser/cyborg - to balance cyborg energy cost seperately
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
adaptive - Purchased by Syndicate agents, these cutouts are indistinguishable from normal cutouts but aren't discolored when their appearance is changed
anticcw_armor_booster - ///////////////////////// ARMOR BOOSTER MODULES //////////////////////////////////////////////////////////
what is that noise? A BAWWW from TK mutants.
mod - MODsuits, trade-off between armor and utility
armor
mod_theme_administrative - considering this should not be used, it's getting just DS armor, not infinity in everything.
mod_theme_responsory - This has no slowdown active, and no variation between levels. I am ASSUMING this will be gamma only.
construction/plating
advanced - This may be a bad idea. I think this is an interesting idea. And you still need robotics to build it, and traders can charge as much for it as they want. Also with ones like the CE modsuit, it is the flagship mod. That means it is sold a lot.
rescue - I want to add a way to get the rarer modsuit types, that is limited. A low chance for traders to have plating for it seems interesting
research - Don't think people will want the RD one though, it is as slow as shit. Anyway, here it is. Surely this will not end poorly.
safeguard - Continued from above, none of these are steal objectives, and only the CE or RD one comes pre-installed with modules. You are getting the protection / speed / looks of these hardsuits, but no special modules.
inquisitory - Diffrent look, as well as magic proof. It's perfect for inqusitors. Or if you want to give your ERT a fancy look. At this time, the other ones are unused, and frankly I don't like the idea of antimagic gamma.
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
anti_magic - Magic Nullifier - Protects you from magic.
armor_booster - Armor Booster - Grants your suit more armor and speed in exchange for EVA protection. Also acts as a welding screen.
saltshaker - Seperate from above since it's a small shaker rather then
cooking - Cooking containers are used in ovens, fryers and so on, to hold multiple
ingredients for a recipe. They interact with the cooking process, and link
up with the cooking code dynamically. Originally sourced from the Aurora,
heavily retooled to actually work with PCWJ Holder for a portion of an
incomplete meal, allows a cook to temporarily offload recipes to work on
things factory-style, eliminating the need for 20 plates to get things done
fast.
drinks - Drinks.
bottle - Alchohol bottles! -Agouri
molotov - MOLOTOV
orangejuice - JUICES AND STUFF
coffee - Drinks
shaker - drinkingglass and shaker
trophy - Drinks. END
bronze_cup/toolbox_win - 2023 toolbox tournament 3rd place went to paradise station.
dark_reprise - Revives anyone nearby, but turns them into shadowpeople and renders them uncloneable, so the crystal is your only hope of getting up again if you go down.
emitter - Generates a projectile when interacted with
helpers - Lets ghost spawn as helpful creatures that can only heal people slightly. Incredibly fragile and they can't converse with humans
possessor - Allows you to bodyjack small animals, then exit them at your leisure, but you can only do this once per activation. Because they blow up. Also, if the bodyjacked animal dies, SO DO YOU.
theme_warp - Warps the area you're in to look like a new one
security - The root type of all camera consoles. When used, these open a UI that has a left-hand sidebar
displaying a list of active cameras in the console's assigned camera network. The bulk of the window
on the right hand side displays a camera feed of the selected camera. This feed will attempt to refresh
every time process() is called by SSobj as long as there are active watchers, living or dead.
hatch/syndicate/command/trapped - This door is used in the malf AI telecomms ruin. This door starts early access, and will try to crush someone to death who enters it's turf like how an AI door crushes.
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.
cigarette/beach - Used in the lavaland_biodome_beach.dmm ruin. As the ultimate in smokable vending, it sells the widest range in the grestest quantity.
food/chef - The Chefs smartfridge. This smartfridge will spawn with a random condiment, then 3 stacks of 3 plants (or fish meat) to give chef some extra starting variety, or new ideas on what to cook!
Food and Drink Cart - Variant of the Smart Fridge that holds food and drinks in a mobile form
Refrigerated Medicine Storage - Medical variant of the Smart Fridge.
Secure Fridge - Secure variant of the Smart Fridge.
Can be emagged and EMP'd to short the lock.
Smart Chemical Storage - Secure, Chemistry variant of the Smart Fridge.
Smart Chemical Storage (Preloaded) - A Smart Chemical Storage but with some items already in.
Prisoner Belongings Closet - Cannot be opened. Contains the belongings of all kidnapped targets.
Any item added inside stops processing and starts again when removed.
quartermaster/lavaland - used in mining outpost
statue - this type path is a crime, ponies what the fuck
jungle/no_creep - This vairant shows up under normal turfs so fits in the regular 32x32 sprite
no_creep - This vairant shows up under normal turfs so fits in the regular 32x32 sprite
indestructible/boss - you put stone tiles on this and use it as a base
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.
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.
false_asteroid - Used in situations like the anomalous crystal where we want
floors that look and act like asteroid floors but aren't.
This doesn't allow you to dig sand out of it but whatever.