User talk:Xhuis: Difference between revisions

From BeeStation Wiki
Jump to navigation Jump to search
imported>Xhuis
(Adds a Flow Control section)
imported>Xhuis
(Finalizes the trait page)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
Science is now capable of building customizable machines, called '''integrated circuits''', to fill any kind of niche imaginable, like a health monitor, a smart turret, a signaller, or maybe just something like a syringe - or something else entirely. Circuits are very complex, though, and take time to learn and work with, so here's a few primers to getting started.
'''Traits''' are modifiers to your character in Space Station 13. Inspired by similar mechanics from many games (especially roguelikes, ala Cataclysm: Dark Days Ahead), they impact the way you play the game in small (or sometimes large) ways by adding passive mechanical bonuses and drawbacks.


'''''Disclaimer:''''' Simple circuits and even a lot of complex ones are doable just with knowledge about circuits. However, complex circuits '''can and often do require math knowledge.''' There are components that use trigonometry, complex flow control components that can operate differently based on conditions, and component combinations to use tons of arithmetic to get the desired result. ''Be ready!''
== Getting Traits ==


== Preface: Tools ==
Traits are modified through the game preferences menu by clicking on Configure Traits. Doing so will open your trait setup.


To make any circuit, you'll need a few special tools. These all spawn in the circuit lab at roundstart, and more can be made with a protolathe once they're unlocked through R&D.
[[File:Trait_menu.png|right]]
* [[File:Circuitprinter.gif]] '''Integrated Circuit Printer:''' Your essential tool for creating circuits. It consumes metal to print out assemblies and components, and can recycle those components and assemblies back into itself for metal.
* [[File:circuitwirer.gif]] '''Circuit Wirer:''' Used to link parts together (as well as unlink them) too tell the machine how to function.
* [[File:circuitdebugger.gif]] '''Circuit Debugger:''' Used to change values directly, as well as to directly "pulse" inputs to activate them.
* [[File:circuitanalyzer.gif]] '''Circuit Analyzer:''' Can be used on any assembly to get a code that allows you to clone that circuit in a printer with the cloning upgarde.
* [[File:Multitool.png]] '''Multitool:''' A slimmed-down version of the debugger. It can write true/false values, and pulse inputs.
* [[File:Screwdriver_tool.png]] '''Screwdriver:''' Lets you open and close the maintenance panel on assemblies. You should probably do this unless you want people to starts yanking pieces out and undoing tons of work.


This guide will assume you have all of these tools handy (except maybe the multitool.) Keep in mind that you can also print out wirers, debuggers, and analyzers from any circuit printer with metal.
Traits are organized alphabetically and by quality, in descending order: positive, negative, and neutral. You can see their names, and next to those, a short gameplay descriptor on what they do. To the right of that is a button to either take the trait or lose it. Whenever you spawn in, either through latejoining or when the round starts, your trait setup will be locked in, preventing you from modifying it again until the next round starts.


Circuits are inherently complex. ''Really'' complex. Each part in a machine serves a specific purpose and communicates with other parts in various ways to do it, and circuits are designed in such a way that making a machine is also a matter of finding the most efficient way to do that so as to conserve space in the assembly. Here's a ''basic'' rundown of how it all works:
Traits use a point system, called '''trait balance,''' which defaults to 0. This is used to balance the traits you take, and designed in such a way that every positive trait requires some drawbacks. Positive traits take from this balance, negative traits add to it, and neutral traits don't affect it at all.


== Fundamentals, Part I: Hardware, Space, and Complexity ==
You cannot buy a positive trait unless you have the balance for it, but you can take any amount of negative traits. For instance, if you take the Poor Aim trait, you now have a trait balance of 1 and can purchase any one trait that has a balance cost of -1, like Night Vision. If you were to also take Nearsighted, you would have a trait balance of 2, and could take a trait with a cost of -2, like Skittish or Self-Aware. In this case, you could also take two traits that cost -1. Simple stuff!


'''Assemblies''' are what house machine components. Without an assembly, there is no machine. Every assembly also requires a power cell in order to power its components. The circuitry lab spawns with four by default, but more can be made from an autolathe (which is handily also inside the circuitry lab!) Other than power, there are two variables every assembly has:
Regardless of balance points, you can only have six total traits at a time. Unspent balance is left unused.
* '''Space''' is the total amount of components that can fit in an assembly
* '''Complexity''' is the overall "complexity" score of the machine, which varies based on which components are added


Each component you insert takes up one point of space; there are no exceptions or deviations from this. However, every component also has a complexity score, depending largely on what it does. For instance, screens are very basic since they only serve one purpose - to display information - and so they only have a complexity score of 1, but integrated hypo-injectors inject, draw, and move reagents around. Because those are complex and serve many more functions, it has a complexity score of 20.
Example trait setup, using the right image as a reference:
* Starting points: 0
* You want to take Self-Aware and Night Vision, meaning you'll need 3 points.
* You take Nearsighted to gain 1 point.
* You take Poor Aim to gain 1 point.
* You now have 2 points, so you take Self-Aware for 2.
* You decide not to take Night Vision, and instead you want Skittish.
* You remove Self-Aware to regain the spent points, and remove Nearsighted. You now have 1 point.
* You take Pacifism to gain 2 points.
* You take Prosopagnosia to gain 1 point.
* You take Self-Aware again and then take Skittish. You now have 0 points.


Making your circuits effectively is a matter of making the most use out of the complexity available to you, though space is very rarely a concern. The amount of complexity and space depends on the type of assembly, of which there are four:
This setup coincides with the point costs (0 - 1 - 2 - 1 + 2 + 2 = 0) as well as the trait limit (5/6). If you wanted, you could also take an additional negative trait or a neutral trait to get your maximum traits.
* [[File:Smallcircuits.png]] '''Assemblies''' are small-sized, and have a max space of 25 and max complexity of 75
* [[File:Mediumcircuits.png]] '''Mechanisms''' are normal-sized, and have a max space of 50 and max complexity of 150
* [[File:Largecircuits.png]] '''Machines''' are bulky-sized, and have a max space of 100 and max complexity of 300
* [[File:Dronecircuits.png]] '''Drones''' are bulky-sized, and have a max space of 75 and max complexity of 225, but are the only assemblies that can move autonomously


Very simple designs, like flashlights or translators, can typically fit into assemblies. More complex ones, like blood draw kits, are usually mechanisms, and the most powerful designs are only capable of fitting into machines. Drones are more niche, but open up a huge amount of possibilities due to their ability to move.
Keep in mind that there's nothing forcing you to take the maximum amount of traits, spend all your points, or even use traits at all. You are able to enter the game and play even with no traits, so don't let it concern you too badly!


Assemblies have different "types", such as type-a, type-b, and so on. The only difference between these is cosmetic, and they all have the same attributes regardless of which "type" you choose you use.
<br /><br /> <!-- this is to add some white space between the bottom entry and the list so it doesn't format weirdly with the image -->


== Fundamentals, Part II: Components, Pins, and Data Values ==
== List of Traits ==


'''Components''', or circuits (yes, it's confusing) are the parts of a machine that make it tick. They handle everything the machine does, from storing reagents to passive recharging to holding and throwing items. As mentioned in Part I, each component has a complexity value, which you can see by examining that component.
Below is a list of all positive, negative, and neutral traits in the game, including their balance costs and actual gameplay effects. If you don't see a trait on here, that means it's missing - please update the list to include it! Conversely, any traits on this list that are not in-game have likely been removed, so you are free to remove them. from this list to avoid misinformation.


Components are created from a circuit printer. Many, however, are unavailable by default, and need an upgrade disk installed in order to print them. You can recycle components back into the printer by hitting the printer with that component. Additionally, if you have an assembly full of components, you can quickly recycle all of them by hitting the printer with the assembly as long as the assembly's maintenance panel is open. After a short delay, this will start shaking out all the components into the printer, and once they're all gone, you can also recycle the assembly itself for a full metal refund.
----


To communicate with the rest of the machine, components use '''pins.''' Pins are connected to other pins using a circuit wirer, either in the same component or in another component in the same machine, and are used to pass information through activation pulses. In short, they're the guts of your machines.
=== Positive Traits ===


There are three types of pins:
Positive traits take from trait balance and have useful or beneficial effects.


[[File:Pins.png]]
{| style='text-align:center; background-color:#FFFFFF;' border=1 cellspacing=0 cellpadding=6
! style='background-color:#66ff55;' width='75px'|Trait Name
! style='background-color:#66ff55;' width='10px'|Balance
! style='background-color:#66ff55;' width='75px'|Entry Description
! style='background-color:#66ff55;' width='100px'|Gameplay Effects
|-
|style='background:#bbffaa;' | Alcohol Tolerance
|style='background:#bbffaa;' | -1
|style='background:#bbffaa;' | ''"You become drunk more slowly and suffer fewer drawbacks from alcohol."''
|style='background:#bbffaa;' | You only take 70% of the drunkenness from alcohol, and some negative effects (i.e. jittering) won't affect you.
|-
|style='background:#bbffaa;' | Freerunning
|style='background:#bbffaa;' | -2
|style='background:#bbffaa;' | ''"You're great at quick moves! You can climb tables more quickly."''
|style='background:#bbffaa;' | You climb tables 20% faster.
|-
|style='background:#bbffaa;' | Light Step
|style='background:#bbffaa;' | -1
|style='background:#bbffaa;' | ''"You walk with a gentle step, making stepping on sharp objects quieter and less painful.''"
|style='background:#bbffaa;' | Stepping on sharp things, like glass shards and d4s, is 20% quieter than normal. Additionally, stepping on them without shoes will deal 25% less damage than normal.
|-
|style='background:#bbffaa;' | Night Vision
|style='background:#bbffaa;' | -1
|style='background:#bbffaa;' | ''"You can see slightly more clearly in full darkness than most people."''
|style='background:#bbffaa;' | Your vision in darkness is very slightly brighter, and you can see the 3x3 area around you without a blur.
|-
|style='background:#bbffaa;' | Self-Aware
|style='background:#bbffaa;' | -2
|style='background:#bbffaa;' | ''"You know your body well, and can accurately assess the extent of your wounds."''
|style='background:#bbffaa;' | When checking yourself for injuries, you can see the exact amount of brute and burn damage. You can also tell if you have toxin or oxygen damage.
|-
|style='background:#bbffaa;' | Skittish
|style='background:#bbffaa;' | -2
|style='background:#bbffaa;' | ''"You can conceal yourself in danger. Ctrl-shift-click a closed locker to jump into it, as long as you have access."''
|style='background:#bbffaa;' | Ctrl-shift-clicking on a locker will, if you can open it, cause you to jump in and lock the door behind you.
|-
|style='background:#bbffaa;' | Spiritual
|style='background:#bbffaa;' | -1
|style='background:#bbffaa;' | ''"You're in tune with the gods, and your prayers may be more likely to be heard by the gods. Or not."''
|style='background:#bbffaa;' | When you pray, administrators online will see a special notice next to your name. This doesn't mean they have to respond, though.
|-
|style='background:#bbffaa;' | Voracious
|style='background:#bbffaa;' | -1
|style='background:#bbffaa;' | ''"Nothing gets between you and your food. You eat twice as fast everyone else!"''
|style='background:#bbffaa;' | The click delay when eating food and drinking drinks is halved.
|}


<span style='color:#005500'>'''Inputs'''</span> store info on how the component operates. This might be how many reagents to inject, or how much power to transfer.


<span style='color:#000099'>'''Outputs'''</span> store info gained when the component does an operation, and are used as inputs in other components.
----


<span style='color:#FF0000'>'''Activators'''</span> tell the component to do certain things, like calculate how two values compare.
=== Negative Traits ===


A circuit wirer is used to link pins together. By clicking on the name of a pin, you store that pin's data, and you can click on another pin to link those two pins, which will cause them to share values. You can also use the circuit wirer in your hand to switch between "wire" and "unwire" modes; in unwire, it works in reverse, by unlinking two pins that are already linked.
Negative traits add to the trait balance, and have detrimental effects.


How different pins can be linked depends on the data type they use. There are several data types: String, Number, Ref, List, Bool, and null.
{| style='text-align:center; background-color:#FFFFFF;' border=1 cellspacing=0 cellpadding=6
! style='background-color:#ff6655;' width='75px'|Trait Name
! style='background-color:#ff6655;' width='10px'|Balance
! style='background-color:#ff6655;' width='75px'|Entry Description
! style='background-color:#ff6655;' width='100px'|Gameplay Effects
|-
|style='background:#ffbbaa;' | Heavy Sleeper
|style='background:#ffbbaa;' | +1
|style='background:#ffbbaa;' | ''"You sleep like a rock! Whenever you're put to sleep, you sleep for a little bit longer."''
|style='background:#ffbbaa;' | All unconsciousness effects are increased in duration by an amount between 25% and 30%.
|-
|style='background:#ffbbaa;' | Nearsighted
|style='background:#ffbbaa;' | +1
|style='background:#ffbbaa;' | ''"You are nearsighted without prescription glasses, but spawn with a pair."''
|style='background:#ffbbaa;' | Anything far away from you is difficult to see. Unlike genetic mutation nearsightedness or nearsightedness caused by eye damage, this variety ''cannot'' be cured. without admin intervention. Any new bodies created through cloning will suffer the same issue, so you can't circumvent it that way.
|-
|style='background:#ffbbaa;' | Pacifist
|style='background:#ffbbaa;' | +2
|style='background:#ffbbaa;' | ''"The thought of violence makes you sick. So much so, in fact, that you can't hurt anyone."''
|style='background:#ffbbaa;' | You are incapable of directly hurting any other creatures. You cannot fire guns, use harm intent, or swing weapons. Stun batons can still stun, but that's the extent of it. '''''Note:''' If you spawn as an antagonist, Pacifist is automatically disabled.''
|-
|style='background:#ffbbaa;' | Poor Aim
|style='background:#ffbbaa;' | +1
|style='background:#ffbbaa;' | ''"You're terrible with guns and can't line up a straight shot to save your life. Dual wielding is right out."''
|style='background:#ffbbaa;' | Any shots you fire with projectile weapons are shifted randomly by up to 25 degrees.
|-
|style='background:#ffbbaa;' | Prosopagnosia
|style='background:#ffbbaa;' | +1
|style='background:#ffbbaa;' | ''"You have a mental disorder that prevents you from being able to recognize faces at all."''
|style='background:#ffbbaa;' | Examining someone will always show them as Unknown, regardless of appearance, ID, etc.
|-
|style='background:#ffbbaa;' | Prosthetic Limb
|style='background:#ffbbaa;' | +1
|style='background:#ffbbaa;' | ''"An accident caused you to lose a limb. Because of this, you now have a random prosthetic!"''
|style='background:#ffbbaa;' | One of your arms or legs is replaced with a surplus prosthetic, which are very fragile and need tools to repair.
|-
|style='background:#ffbbaa;' | Reality Dissociation Syndrome
|style='background:#ffbbaa;' | +2
|style='background:#ffbbaa;' | ''"You suffer from a severe disorder that causes very vivid hallucinations. Mindbreaker toxin can suppress its effects, and you are immune to mindbreaker's hallucinogenic properties."''
|style='background:#ffbbaa;' | You suffer from intense, constant hallucinations. These include normal hallucinations but can also be strange, unique effects that can't be induced by anything else. '''Having this does not give you a license to act in an antagonistic manner.'''
|-
|style='background:#ffbbaa;' | Social Anxiety
|style='background:#ffbbaa;' | +1
|style='background:#ffbbaa;' | ''"Talking to people is difficult for you, and you often stutter or even lock up."''
|style='background:#ffbbaa;' | You periodically stutter, and there is a very low chance every second for you to become incapable of speech for a time.
|}


    “This is a string.”
    98.5
    the crowbar [Ref]
    list[2](("hydroponics tray"),("soil"))
    TRUE
    null


* Strings are text. They hold words, sentences, and the whole shebang. Numbers in a string are treated like letters.
----
* Numbers are numbers.
* Ref is shorthand for "reference" and points to a specific object in the game world.
* Lists can hold multiple data values of any other kind, like two strings or two numbers. They can also be interchanged, so you can have one string and one number.
* Bools are either TRUE (yes) or FALSE (no). The debugger doesn't have a bool function, and instead uses number assignments; 0 for FALSE, and 1 for TRUE.
* Null values point to nothing. It means that the value hasn't been set, or that it isn't being acquired correctly.


You can see data values, among other things, near a pin's name:
=== Neutral Traits ===


[[File:Pin_notation.png]]
Neutral traits cost no points and do not impactfully alter the way the game plays.


Some parts lack inputs, outputs, activators, or all three. Passive components like the tiny photovoltaic cell have no pins at all and will simply fill their function automatically when conditions are met.
{| style='text-align:center; background-color:#FFFFFF;' border=1 cellspacing=0 cellpadding=6
 
! style='background-color:#5566ff;' width='75px'|Trait Name
== Fundamentals, Part III: Pulses ==
! style='background-color:#5566ff;' width='10px'|Balance
 
! style='background-color:#5566ff;' width='75px'|Entry Description
As mentioned earlier, '''pulses''' are what tells a machine to operate. They're the only way to make it ''do'' anything, because even with data values, it can't use them unless it hears something telling it to. There are two types of pulses, PULSE_IN and PULSE_OUT.
! style='background-color:#5566ff;' width='100px'|Gameplay Effects
 
|-
PULSE_IN pulses are "listeners." When they receive a command, they will run whatever function they're linked to. For instance, the "light" component has a PULSE_IN called "toggle light." When that toggle light receives a command, it will toggle the light component on or off. ''However,'' PULSE_IN components '''can''' link to other PULSE_IN components and work together with them. The "button" component uses a PULSE_IN called "on pressed" to communicate its pulses.
|style='background:#aabbff;' | Ageusia
 
|style='background:#aabbff;' | 0
PULSE_OUT pulses are "speakers." They do not receive commands directly, but will ''output'' commands when certain actions transpire. For instance, the "reagent pump" component has a PULSE_OUT called "on transfer." Whenever the reagent pump successfully transfers reagents, it will send a command from "on transfer", and any PULSE_INs linked to that will receive a command. PULSE_OUT pins ''cannot'' be linked to other PULSE_OUT pins.
|style='background:#aabbff;' | ''"You can't taste anything! Toxic food will still poison you."''
 
|style='background:#aabbff;' | Food, drinks, and reagents have no taste to you. However, toxic food will still incur nausea.
Understanding pulse links is essential to making circuits work. As an example, the button component's "on pressed" can be linked to the light component's "toggle light" using a circuit wirer. As long as the assembly has power, this will cause the light to toggle on and off when the button is pressed by using the assembly in your hand. You can also link multiple pulses together; even when it's linked to "toggle light", you can also put that "on pressed" onto a beeper circuit's "play sound" to make it play its sound with the value it's been assigned. This will make pressing the button toggle the light ''and'' play a sound.
|-
 
|style='background:#aabbff;' | Deviant Tastes
=== A Note on "push ref" ===
|style='background:#aabbff;' | 0
 
|style='background:#aabbff;' | ''"You dislike food that most people enjoy, and find delicious what they don't."''
Some circuits, especially those with an output pin that references itself, have a PULSE_IN pin called "push ref." When pulsed, this pin will cause any other components this part is linked to via that reference to actually obtain the reference for it. However, if you ''don't'' do this, then it will refer to the self-reference of the component as null, thus making it impossible to work. For this reason, "push ref" should be pulsed '''''exactly once''''' in order to synchronize it with other components.
|style='background:#aabbff;' | Your liked and disliked foods are swapped. This means that for humans you will suddenly like raw and gross foods, but disliked fried and junk food. This differs between species, so being a lizard or moth will cause you to like and dislike different things.
 
|}
The easiest way to do this is with a "starter" component, in the Power - Passive section. This component will pulse out a single time whenever the machine gains power. Linking the starter's "pulse out" to any "push ref" pins in your circuit is essential to getting them to work. You can also assign them in other ways, but note that pulsing "push ref" while the machine is running ''will'' cause it to malfunction and not work with no clear indicator.
 
== Fundamentals, Part IV: Flow Control ==
 
Flow control is a term used generally for programming languages for determining in what order code is executed. This principle also applies to integrated circuits. The proper management of how a pulse goes to each component in the correct order is very important for large or complex machines.
 
Fortunately, there are some components to help with organizing your flow control. For example, there are pulse splitters to allow for cleaner wiring by transforming a single input into multiple outputs. Delay timers also exist so that you can make sure everything goes off at the right time (although it's best if your machine is not dependent on that, which is known as a race condition in programming.) Many circuits will also propagate a pulse if it passes a certain condition, like logic gates, ensuring that something will occur only if you want it to.
 
Here's a somewhat terrifying chart illustrating the concept:
 
[[File:Circuit relationship.png]]
 
When the button is pressed, the first thing to happen is for the global positioning system to gather its coordinates. Immediately after this, the X screen loads its data, and then the Y screen. These screens have the X-coordinate and Y-coordinate from the GPS respectively as their displayed data. Because the GPS gathers coordinates before the screens load their data, it displays the coordinates without a hitch, but if the screens were to load first, then it would not display the coordinates correctly, instead displaying the coordinates ''last'' recorded - so if you pressed it at one spot and then moved a few rooms away and pressed it again, the coordinates displayed would be for the first spot, even though the GPS's recorded data is in the new room, because the screens updated before the coordinates did!
 
== Making a Basic Circuit: Step-by-Step ==
 
To put all this knowledge together, here's a step-by-step guide to making a very simple circuit flashlight. This will use a button to toggle the light on and off, and we'll also put a tiny photovoltaic cell inside of it so that it charges itself from being in the light - enough to counter its own power draw, making it self-charging!
 
First, print any assembly - we'll use a type-a one for this purpose - a light component (Output), a button component (Input), and a tiny photovoltaic cell (Power - Passive).
 
[[File:Circuit_stepbystep_1.png]]
 
Once you have all of your parts ready, insert them into the assembly one at a time by attacking the assembly with them. You should also put in a variety of power cell; the roundstart ones work, or you can make one from the autolathe. For this purpose, we'll use a light fixture battery from the autolathe, due to its extremely cheap cost and compact size. Once you've done that, your assembly interface will look like this:
 
[[File:Circuit_stepbystep_2.png]]
 
Take note of the space and complexity. To get this thing to actually, work, we're going to need to link the button's "on pressed" to the light's "toggle light" using our circuit wirer. Click on the button's name, then put the circuit wirer in your hand and click on "on pressed" to store it in the data buffer. Then click "Return to Assembly", navigate to the light, and click "toggle light", also with the ciruit wirer, to link them.
 
[[File:Circuit_stepbystep_3.png]]
 
[[File:Circuit_stepbystep_4.png]]
 
[[File:Circuit_stepbystep_5.png]]
 
And voila! The two are linked. You can see this on both of their interfaces:
 
[[File:Circuit_stepbystep_6.png]] [[File:Circuit_stepbystep_7.png]]
 
Now that our machine is finished, use your screwdriver to close the maintenance panel so the part list doesn't come up every time we turn it on or off:
 
[[File:Circuit_stepbystep_8.png]]
 
We now have a complete circuit that functions as a flashlight and charges itself in the light to ensure that it won't run out of power. To test it, head to a dark area - we'll say maintenance, and try turning it on and off.
 
[[File:Circuit_stepbystep_9.png]] [[File:Circuit_stepbystep_10.png]]
 
''"Let there be light"''
 
And there you go! You now have a fully functional flashlight. But don't stop there - experiment! With a little bit of experimentation by using an advanced light, a debugger to manually set its brightness and color, and linking in the same way, you can make something closer to a portable floodlight with a little bit more effort. And this all barely scratches the surface of what circuits are capable of - it's possible to make portable gun chargers, assemblies that grind up food you hit them with and then inject it into you directly, translators that let people communicate even with no known languages, and a nearly limitless amount of other gadgets, tools, and devices to fill any purpose you can imagine.
 
Welcome to integrated circuits, bucko.
 
[[File:Circuit_stepbystep_11.png|500px]] [[File:Circuit_stepbystep_12.png|500px]]
 
''"Nightmaresbane"''
 
== Common Concepts and Important Notes==
 
Although the basics are out of the way, there are some helpful concepts as well as some things to know that should be kept in mind when making integrated circuits. Feel free to add to this list with your own!
 
* Tiny photovoltaic cells are enough to power most simple gadgets and devices indefinitely.
* Starter components are highly important, and can be used to cause things like screens to gain their information when powered if they should always have that information to begin with.
* You can make a one-second ticker by linking two "one-sec delay circuit" components together, and pulsing one through starter, so that they indefinitely pulse each other.
* Light-emitting diodes have a very small complexity cost (0.1), making them the best way to track status of Bool variables on examining.
* Small screens only show their data on examine. Screens show their data to the person holding the assembly when they load their data. Large screens show that data to anyone nearby, as well. They all have the same complexity, so use them according to your needs. For instance, something that gathers data when you point the assembly at something might be best to have a normal screen to tell you that data immediately.
* There is the potential for skilled players to make immensely-powerful circuits that can easily break the game just by existing. Please don't use them. We like circuits. They're fun. Please don't get them nerfed and removed. Please?

Latest revision as of 01:34, 19 February 2018

Traits are modifiers to your character in Space Station 13. Inspired by similar mechanics from many games (especially roguelikes, ala Cataclysm: Dark Days Ahead), they impact the way you play the game in small (or sometimes large) ways by adding passive mechanical bonuses and drawbacks.

Getting Traits

Traits are modified through the game preferences menu by clicking on Configure Traits. Doing so will open your trait setup.

Traits are organized alphabetically and by quality, in descending order: positive, negative, and neutral. You can see their names, and next to those, a short gameplay descriptor on what they do. To the right of that is a button to either take the trait or lose it. Whenever you spawn in, either through latejoining or when the round starts, your trait setup will be locked in, preventing you from modifying it again until the next round starts.

Traits use a point system, called trait balance, which defaults to 0. This is used to balance the traits you take, and designed in such a way that every positive trait requires some drawbacks. Positive traits take from this balance, negative traits add to it, and neutral traits don't affect it at all.

You cannot buy a positive trait unless you have the balance for it, but you can take any amount of negative traits. For instance, if you take the Poor Aim trait, you now have a trait balance of 1 and can purchase any one trait that has a balance cost of -1, like Night Vision. If you were to also take Nearsighted, you would have a trait balance of 2, and could take a trait with a cost of -2, like Skittish or Self-Aware. In this case, you could also take two traits that cost -1. Simple stuff!

Regardless of balance points, you can only have six total traits at a time. Unspent balance is left unused.

Example trait setup, using the right image as a reference:

  • Starting points: 0
  • You want to take Self-Aware and Night Vision, meaning you'll need 3 points.
  • You take Nearsighted to gain 1 point.
  • You take Poor Aim to gain 1 point.
  • You now have 2 points, so you take Self-Aware for 2.
  • You decide not to take Night Vision, and instead you want Skittish.
  • You remove Self-Aware to regain the spent points, and remove Nearsighted. You now have 1 point.
  • You take Pacifism to gain 2 points.
  • You take Prosopagnosia to gain 1 point.
  • You take Self-Aware again and then take Skittish. You now have 0 points.

This setup coincides with the point costs (0 - 1 - 2 - 1 + 2 + 2 = 0) as well as the trait limit (5/6). If you wanted, you could also take an additional negative trait or a neutral trait to get your maximum traits.

Keep in mind that there's nothing forcing you to take the maximum amount of traits, spend all your points, or even use traits at all. You are able to enter the game and play even with no traits, so don't let it concern you too badly!



List of Traits

Below is a list of all positive, negative, and neutral traits in the game, including their balance costs and actual gameplay effects. If you don't see a trait on here, that means it's missing - please update the list to include it! Conversely, any traits on this list that are not in-game have likely been removed, so you are free to remove them. from this list to avoid misinformation.


Positive Traits

Positive traits take from trait balance and have useful or beneficial effects.

Trait Name Balance Entry Description Gameplay Effects
Alcohol Tolerance -1 "You become drunk more slowly and suffer fewer drawbacks from alcohol." You only take 70% of the drunkenness from alcohol, and some negative effects (i.e. jittering) won't affect you.
Freerunning -2 "You're great at quick moves! You can climb tables more quickly." You climb tables 20% faster.
Light Step -1 "You walk with a gentle step, making stepping on sharp objects quieter and less painful." Stepping on sharp things, like glass shards and d4s, is 20% quieter than normal. Additionally, stepping on them without shoes will deal 25% less damage than normal.
Night Vision -1 "You can see slightly more clearly in full darkness than most people." Your vision in darkness is very slightly brighter, and you can see the 3x3 area around you without a blur.
Self-Aware -2 "You know your body well, and can accurately assess the extent of your wounds." When checking yourself for injuries, you can see the exact amount of brute and burn damage. You can also tell if you have toxin or oxygen damage.
Skittish -2 "You can conceal yourself in danger. Ctrl-shift-click a closed locker to jump into it, as long as you have access." Ctrl-shift-clicking on a locker will, if you can open it, cause you to jump in and lock the door behind you.
Spiritual -1 "You're in tune with the gods, and your prayers may be more likely to be heard by the gods. Or not." When you pray, administrators online will see a special notice next to your name. This doesn't mean they have to respond, though.
Voracious -1 "Nothing gets between you and your food. You eat twice as fast everyone else!" The click delay when eating food and drinking drinks is halved.



Negative Traits

Negative traits add to the trait balance, and have detrimental effects.

Trait Name Balance Entry Description Gameplay Effects
Heavy Sleeper +1 "You sleep like a rock! Whenever you're put to sleep, you sleep for a little bit longer." All unconsciousness effects are increased in duration by an amount between 25% and 30%.
Nearsighted +1 "You are nearsighted without prescription glasses, but spawn with a pair." Anything far away from you is difficult to see. Unlike genetic mutation nearsightedness or nearsightedness caused by eye damage, this variety cannot be cured. without admin intervention. Any new bodies created through cloning will suffer the same issue, so you can't circumvent it that way.
Pacifist +2 "The thought of violence makes you sick. So much so, in fact, that you can't hurt anyone." You are incapable of directly hurting any other creatures. You cannot fire guns, use harm intent, or swing weapons. Stun batons can still stun, but that's the extent of it. Note: If you spawn as an antagonist, Pacifist is automatically disabled.
Poor Aim +1 "You're terrible with guns and can't line up a straight shot to save your life. Dual wielding is right out." Any shots you fire with projectile weapons are shifted randomly by up to 25 degrees.
Prosopagnosia +1 "You have a mental disorder that prevents you from being able to recognize faces at all." Examining someone will always show them as Unknown, regardless of appearance, ID, etc.
Prosthetic Limb +1 "An accident caused you to lose a limb. Because of this, you now have a random prosthetic!" One of your arms or legs is replaced with a surplus prosthetic, which are very fragile and need tools to repair.
Reality Dissociation Syndrome +2 "You suffer from a severe disorder that causes very vivid hallucinations. Mindbreaker toxin can suppress its effects, and you are immune to mindbreaker's hallucinogenic properties." You suffer from intense, constant hallucinations. These include normal hallucinations but can also be strange, unique effects that can't be induced by anything else. Having this does not give you a license to act in an antagonistic manner.
Social Anxiety +1 "Talking to people is difficult for you, and you often stutter or even lock up." You periodically stutter, and there is a very low chance every second for you to become incapable of speech for a time.



Neutral Traits

Neutral traits cost no points and do not impactfully alter the way the game plays.

Trait Name Balance Entry Description Gameplay Effects
Ageusia 0 "You can't taste anything! Toxic food will still poison you." Food, drinks, and reagents have no taste to you. However, toxic food will still incur nausea.
Deviant Tastes 0 "You dislike food that most people enjoy, and find delicious what they don't." Your liked and disliked foods are swapped. This means that for humans you will suddenly like raw and gross foods, but disliked fried and junk food. This differs between species, so being a lizard or moth will cause you to like and dislike different things.