This commit is contained in:
deathride58
2018-01-07 15:29:15 -05:00
parent a2b4ffccdf
commit 3e937fcecf
11 changed files with 131 additions and 124 deletions

View File

@@ -494,6 +494,11 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
deltimer(adminhelptimerid)
adminhelptimerid = 0
// Used for methods where input via arg doesn't work
/client/proc/get_adminhelp()
var/msg = input(src, "Please describe your problem concisely and an admin will help as soon as they're able.", "Adminhelp contents") as text
adminhelp(msg)
/client/verb/adminhelp(msg as text)
set category = "Admin"
set name = "Adminhelp"

View File

@@ -12,7 +12,7 @@
/obj/item/integrated_circuit/passive/power/solar_cell
name = "tiny photovoltaic cell"
desc = "It's a very tiny solar cell, generally used in calculators."
extended_desc = "The cell generates 1 W of power in optimal lighting conditions. Less light will result in less power being generated."
extended_desc = "This cell generates 1 W of power in optimal lighting conditions. Less light will result in less power being generated."
icon_state = "solar_cell"
complexity = 8
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH
@@ -29,7 +29,7 @@
/obj/item/integrated_circuit/passive/power/starter
name = "starter"
desc = "This tiny circuit will send pulse right after device is turned on. Or when power is restored."
desc = "This tiny circuit will send a pulse right after the device is turned on, or when power is restored to it."
icon_state = "led"
complexity = 1
activators = list("pulse out" = IC_PINTYPE_PULSE_OUT)
@@ -53,7 +53,7 @@
name = "tesla power relay"
desc = "A seemingly enigmatic device which connects to nearby APCs wirelessly and draws power from them."
w_class = WEIGHT_CLASS_SMALL
extended_desc = "The siphon generates 50 W of energy, so long as an APC is in the same room, with a cell that has energy. It will always drain \
extended_desc = "The siphon drains 50 W of power from an APC in the same room as it as long as it has charge remaining. It will always drain \
from the 'equipment' power channel."
icon_state = "power_relay"
complexity = 7
@@ -75,8 +75,8 @@
name = "large tesla power relay"
desc = "A seemingly enigmatic device which connects to nearby APCs wirelessly and draws power from them, now in industiral size!"
w_class = WEIGHT_CLASS_BULKY
extended_desc = "The siphon generates 2 kW of energy, so long as an APC is in the same room, with a cell that has energy. It will always drain \
from the 'equipment' power channel."
extended_desc = "The siphon drains 2 kW of power from an APC in the same room as it as long as it has charge remaining. It will always drain \
from the 'equipment' power channel."
icon_state = "power_relay"
complexity = 15
spawn_flags = IC_SPAWN_RESEARCH
@@ -89,7 +89,7 @@
desc = "Produces electricity from chemicals."
icon_state = "chemical_cell"
extended_desc = "This is effectively an internal beaker. It will consume and produce power from plasma, slime jelly, welding fuel, carbon,\
ethanol, nutriments and blood , in order of decreasing efficiency. It will consume fuel only if the battery can take more energy."
ethanol, nutriments, and blood in order of decreasing efficiency. It will consume fuel only if the battery can take more energy."
container_type = OPENCONTAINER
complexity = 4
inputs = list()

View File

@@ -22,7 +22,7 @@
name = "addition circuit"
desc = "This circuit can add numbers together."
extended_desc = "The order that the calculation goes is;<br>\
result = ((((A + B) + C) + D) ... ) and so on, until all pins have been added. \
result = ((((A + B) + C) + D) ... ) and so on, until all pins have been added. \
Null pins are ignored."
icon_state = "addition"
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH
@@ -44,8 +44,8 @@
name = "subtraction circuit"
desc = "This circuit can subtract numbers."
extended_desc = "The order that the calculation goes is;<br>\
result = ((((A - B) - C) - D) ... ) and so on, until all pins have been subtracted. \
Null pins are ignored. Pin A <b>must</b> be a number or the circuit will not function."
result = ((((A - B) - C) - D) ... ) and so on, until all pins have been subtracted. \
Null pins are ignored. Pin A <b>must</b> be a number, or the circuit will not function."
icon_state = "subtraction"
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH
@@ -70,8 +70,8 @@
name = "multiplication circuit"
desc = "This circuit can multiply numbers."
extended_desc = "The order that the calculation goes is;<br>\
result = ((((A * B) * C) * D) ... ) and so on, until all pins have been multiplied. \
Null pins are ignored. Pin A <b>must</b> be a number or the circuit will not function."
result = ((((A * B) * C) * D) ... ) and so on, until all pins have been multiplied. \
Null pins are ignored. Pin A <b>must</b> be a number, or the circuit will not function."
icon_state = "multiplication"
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH
@@ -96,8 +96,8 @@
name = "division circuit"
desc = "This circuit can divide numbers, just don't think about trying to divide by zero!"
extended_desc = "The order that the calculation goes is;<br>\
result = ((((A / B) / C) / D) ... ) and so on, until all pins have been divided. \
Null pins, and pins containing 0, are ignored. Pin A <b>must</b> be a number or the circuit will not function."
result = ((((A / B) / C) / D) ... ) and so on, until all pins have been divided. \
Null pins, and pins containing 0, are ignored. Pin A <b>must</b> be a number or the circuit will not function."
icon_state = "division"
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH
@@ -191,7 +191,7 @@
/obj/item/integrated_circuit/arithmetic/absolute
name = "absolute circuit"
desc = "This outputs a non-negative version of the number you put in. This may also be thought of as its distance from zero."
desc = "This outputs a non-negative version of the number you put in. This may also be thought of as its distance from zero."
icon_state = "absolute"
inputs = list("A" = IC_PINTYPE_NUMBER)
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH
@@ -236,7 +236,7 @@
// Pi, because why the hell not? //
/obj/item/integrated_circuit/arithmetic/pi
name = "pi constant circuit"
desc = "Not recommended for cooking. Outputs '3.14159' when it receives a pulse."
desc = "Not recommended for cooking. Outputs '3.14159' when it receives a pulse."
icon_state = "pi"
inputs = list()
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH
@@ -251,7 +251,7 @@
name = "random number generator circuit"
desc = "This gives a random (integer) number between values A and B inclusive."
extended_desc = "'Inclusive' means that the upper bound is included in the range of numbers, e.g. L = 1 and H = 3 will allow \
for outputs of 1, 2, or 3. H being the higher number is not <i>strictly</i> required."
for outputs of 1, 2, or 3. H being the higher number is not <i>strictly</i> required."
icon_state = "random"
inputs = list("L" = IC_PINTYPE_NUMBER,"H" = IC_PINTYPE_NUMBER)
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH
@@ -272,7 +272,7 @@
/obj/item/integrated_circuit/arithmetic/square_root
name = "square root circuit"
desc = "This outputs the square root of a number you put in."
desc = "This outputs the square root of a number you input."
icon_state = "square_root"
inputs = list("A" = IC_PINTYPE_NUMBER)
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH

View File

@@ -10,7 +10,7 @@
/obj/item/integrated_circuit/converter/num2text
name = "number to string"
desc = "This circuit can convert a number variable into a string."
extended_desc = "Because of game limitations null/false variables will output a '0' string."
extended_desc = "Because of circuit limitations, null/false variables will output a '0' string."
icon_state = "num-string"
inputs = list("input" = IC_PINTYPE_NUMBER)
outputs = list("output" = IC_PINTYPE_STRING)
@@ -88,7 +88,7 @@
/obj/item/integrated_circuit/converter/refdecode
name = "reference decoder"
desc = "This circuit can convert a encoded reference to actual reference."
desc = "This circuit can convert an encoded reference to actual reference."
icon_state = "ref-string"
inputs = list("input" = IC_PINTYPE_STRING)
outputs = list("output" = IC_PINTYPE_REF)
@@ -104,7 +104,7 @@
/obj/item/integrated_circuit/converter/lowercase
name = "lowercase string converter"
desc = "this will cause a string to come out in all lowercase."
desc = "this circuit will cause a string to come out in all lowercase."
icon_state = "lowercase"
inputs = list("input" = IC_PINTYPE_STRING)
outputs = list("output" = IC_PINTYPE_STRING)
@@ -207,7 +207,7 @@
name = "find text"
desc = "This gives position of sample in the string. Or returns 0."
extended_desc = "The first pin is the string to be examined. The second pin is the sample to be found. \
For example, 'eat this burger',' ' will give you position 4. This circuit isn't case sensitive."
For example, 'eat this burger' will give you position 4. This circuit isn't case sensitive."
complexity = 4
inputs = list(
"string" = IC_PINTYPE_STRING,
@@ -232,7 +232,7 @@
name = "string exploder"
desc = "This splits a single string into a list of strings."
extended_desc = "This circuit splits a given string into a list of strings based on the string and given delimiter. \
For example, 'eat this burger',' ' will be converted to list('eat','this','burger')."
For example, 'eat this burger' will be converted to list('eat','this','burger')."
icon_state = "split"
complexity = 4
inputs = list(

View File

@@ -78,7 +78,7 @@
/obj/item/integrated_circuit/input/med_scanner
name = "integrated medical analyser"
desc = "A very small version of the common medical analyser. This allows the machine to know how healthy someone is."
desc = "A very small version of the common medical analyser. This allows the machine to know how healthy someone is."
icon_state = "medscan"
complexity = 4
inputs = list("\<REF\> target")
@@ -106,7 +106,7 @@
/obj/item/integrated_circuit/input/adv_med_scanner
name = "integrated advanced medical analyser"
desc = "A very small version of the medbot's medical analyser. This allows the machine to know how healthy someone is. \
desc = "A very small version of the medbot's medical analyser. This allows the machine to know how healthy someone is. \
This type is much more precise, allowing the machine to know much more about the target than a normal analyzer."
icon_state = "medscan_adv"
complexity = 12
@@ -145,20 +145,20 @@
/obj/item/integrated_circuit/input/slime_scanner
name = "slime_scanner"
desc = "A very small version of the xenobio analyser. This allows the machine to know every needed properties of slime."
desc = "A very small version of the xenobio analyser. This allows the machine to know every needed properties of slime."
icon_state = "medscan_adv"
complexity = 12
inputs = list("\<REF\> target")
outputs = list(
"colour" = IC_PINTYPE_STRING,
"adult" = IC_PINTYPE_BOOLEAN,
"nutrition" = IC_PINTYPE_NUMBER,
"charge" = IC_PINTYPE_NUMBER,
"health" = IC_PINTYPE_NUMBER,
"possible mutation" = IC_PINTYPE_LIST,
"genetic destability"= IC_PINTYPE_NUMBER,
"slime core amount" = IC_PINTYPE_NUMBER,
"Growth progress" = IC_PINTYPE_NUMBER,
"colour" = IC_PINTYPE_STRING,
"adult" = IC_PINTYPE_BOOLEAN,
"nutrition" = IC_PINTYPE_NUMBER,
"charge" = IC_PINTYPE_NUMBER,
"health" = IC_PINTYPE_NUMBER,
"possible mutation" = IC_PINTYPE_LIST,
"genetic destability" = IC_PINTYPE_NUMBER,
"slime core amount" = IC_PINTYPE_NUMBER,
"Growth progress" = IC_PINTYPE_NUMBER,
)
activators = list("scan" = IC_PINTYPE_PULSE_IN, "on scanned" = IC_PINTYPE_PULSE_OUT)
spawn_flags = IC_SPAWN_RESEARCH
@@ -188,8 +188,8 @@
/obj/item/integrated_circuit/input/plant_scanner
name = "integrated plant analyzer"
desc = "A very small version of the plant analyser. This allows the machine to know all valuable params of plants in trays. \
it can't scan seeds and fruits.only plants."
desc = "A very small version of the plant analyser. This allows the machine to know all valuable params of plants in trays. \
It cannot scan seeds nor fruits, only plants."
icon_state = "medscan_adv"
complexity = 12
inputs = list("\<REF\> target")
@@ -210,7 +210,7 @@
"Water level" = IC_PINTYPE_NUMBER,
"Nutrition level" = IC_PINTYPE_NUMBER,
"harvest" = IC_PINTYPE_NUMBER,
"dead" = IC_PINTYPE_NUMBER ,
"dead" = IC_PINTYPE_NUMBER,
"plant health" = IC_PINTYPE_NUMBER
)
activators = list("scan" = IC_PINTYPE_PULSE_IN, "on scanned" = IC_PINTYPE_PULSE_OUT)
@@ -250,8 +250,8 @@
/obj/item/integrated_circuit/input/gene_scanner
name = "gene scanner"
desc = "This circuit will scan plant for traits and reagent genes."
extended_desc = "This allows the machine to scan plants in trays for reagent and trait genes. \
it can't scan seeds and fruits.only plants."
extended_desc = "This allows the machine to scan plants in trays for reagent and trait genes. \
It cannot scan seeds nor fruits, only plants."
inputs = list(
"\<REF\> target" = IC_PINTYPE_REF
)
@@ -287,23 +287,23 @@
/obj/item/integrated_circuit/input/examiner
name = "examiner"
desc = "It' s a little machine vision system. It can return the name, description, distance, \
relative coordinates, total amount of reagents, maximum amount of reagents, density and opacity of the referenced object."
desc = "It's a little machine vision system. It can return the name, description, distance, \
relative coordinates, total amount of reagents, maximum amount of reagents, density, and opacity of the referenced object."
icon_state = "video_camera"
complexity = 6
inputs = list(
"target" = IC_PINTYPE_REF
)
outputs = list(
"name" = IC_PINTYPE_STRING,
"description" = IC_PINTYPE_STRING,
"X" = IC_PINTYPE_NUMBER,
"Y" = IC_PINTYPE_NUMBER,
"distance" = IC_PINTYPE_NUMBER,
"name" = IC_PINTYPE_STRING,
"description" = IC_PINTYPE_STRING,
"X" = IC_PINTYPE_NUMBER,
"Y" = IC_PINTYPE_NUMBER,
"distance" = IC_PINTYPE_NUMBER,
"max reagents" = IC_PINTYPE_NUMBER,
"amount of reagents" = IC_PINTYPE_NUMBER,
"density" = IC_PINTYPE_BOOLEAN,
"opacity" = IC_PINTYPE_BOOLEAN,
"amount of reagents" = IC_PINTYPE_NUMBER,
"density" = IC_PINTYPE_BOOLEAN,
"opacity" = IC_PINTYPE_BOOLEAN,
)
activators = list(
"scan" = IC_PINTYPE_PULSE_IN,
@@ -341,7 +341,7 @@
/obj/item/integrated_circuit/input/local_locator
name = "local locator"
desc = "This is needed for certain devices that demand a reference for a target to act upon. This type only locates something \
desc = "This is needed for certain devices that demand a reference for a target to act upon. This type only locates something \
that is holding the machine containing it."
inputs = list()
outputs = list("located ref")
@@ -360,10 +360,10 @@
/obj/item/integrated_circuit/input/adjacent_locator
name = "adjacent locator"
desc = "This is needed for certain devices that demand a reference for a target to act upon. This type only locates something \
desc = "This is needed for certain devices that demand a reference for a target to act upon. This type only locates something \
that is standing a meter away from the machine."
extended_desc = "The first pin requires a ref to a kind of object that you want the locator to acquire. This means that it will \
give refs to nearby objects that are similar. If more than one valid object is found nearby, it will choose one of them at \
extended_desc = "The first pin requires a ref to the kind of object that you want the locator to acquire. This means that it will \
give refs to nearby objects that are similar. If more than one valid object is found nearby, it will choose one of them at \
random."
inputs = list("desired type ref")
outputs = list("located ref")
@@ -400,11 +400,11 @@
/obj/item/integrated_circuit/input/advanced_locator_list
complexity = 6
name = "list advanced locator"
desc = "This is needed for certain devices that demand list of names for a targets to act upon. This type locates something \
desc = "This is needed for certain devices that demand list of names for a targets to act upon. This type locates something \
that is standing in given radius up to 8 meters"
extended_desc = "The first pin requires list a kinds of object that you want the locator to acquire. If This means that it will \
give refs to nearby objects that are similar. It will locate objects by given names and description,given in list. It will give list of all found objects.\
.The second pin is a radius"
extended_desc = "The first pin requires a list of kinds of objects that you want the locator to acquire. It will locate nearby objects by name and description, \
and will then provide a list of all found objects which are similar. \
The second pin is a radius."
inputs = list("desired type ref" = IC_PINTYPE_LIST, "radius" = IC_PINTYPE_NUMBER)
outputs = list("located ref" = IC_PINTYPE_LIST)
activators = list("locate" = IC_PINTYPE_PULSE_IN,"found" = IC_PINTYPE_PULSE_OUT,"not found" = IC_PINTYPE_PULSE_OUT)
@@ -455,9 +455,9 @@
name = "advanced locator"
desc = "This is needed for certain devices that demand a reference for a target to act upon. This type locates something \
that is standing in given radius up to 8 meters"
extended_desc = "The first pin requires a ref to a kind of object that you want the locator to acquire. If This means that it will \
give refs to nearby objects that are similar. If this pin is string, locator will search\
item by matching desired text in name + description. If more than one valid object is found nearby, it will choose one of them at \
extended_desc = "The first pin requires a ref to a kind of object that you want the locator to acquire. This means that it will \
give refs to nearby objects which are similar. If this pin is string, this locator will search for an \
item by matching desired text in it's name and description. If more than one valid object is found nearby, it will choose one of them at \
random. The second pin is a radius."
inputs = list("desired type" = IC_PINTYPE_ANY, "radius" = IC_PINTYPE_NUMBER)
outputs = list("located ref")
@@ -505,10 +505,10 @@
/obj/item/integrated_circuit/input/signaler
name = "integrated signaler"
desc = "Signals from a signaler can be received with this, allowing for remote control. Additionally, it can send signals as well."
extended_desc = "When a signal is received from another signaler, the 'on signal received' activator pin will be pulsed. \
The two input pins are to configure the integrated signaler's settings. Note that the frequency should not have a decimal in it. \
Meaning the default frequency is expressed as 1457, not 145.7. To send a signal, pulse the 'send signal' activator pin."
desc = "Signals from a signaler can be received with this, allowing for remote control. Additionally, it can send signals as well."
extended_desc = "When a signal is received from another signaler, the 'on signal received' activator pin will be pulsed. \
The two input pins are to configure the integrated signaler's settings. Note that the frequency should not have a decimal in it, \
meaning the default frequency is expressed as 1457, not 145.7. To send a signal, pulse the 'send signal' activator pin."
icon_state = "signal"
complexity = 4
inputs = list("frequency" = IC_PINTYPE_NUMBER,"code" = IC_PINTYPE_NUMBER)
@@ -583,10 +583,10 @@
/obj/item/integrated_circuit/input/ntnet_packet
name = "NTNet networking circuit"
desc = "Enables the sending and receiving of messages on NTNet with packet data protocol."
extended_desc = "Data can be send or received using the \
second pin on each side, with additonal data reserved for the third pin. When a message is received, the second activation pin \
will pulse whatever's connected to it. Pulsing the first activation pin will send a message."
desc = "Enables the sending and receiving of messages on NTNet via packet data protocol."
extended_desc = "Data can be send or received using the second pin on each side, \
with additonal data reserved for the third pin. When a message is received, the second activation pin \
will pulse whatever's connected to it. Pulsing the first activation pin will send a message."
icon_state = "signal"
complexity = 4
inputs = list(
@@ -665,7 +665,7 @@
/obj/item/integrated_circuit/input/microphone
name = "microphone"
desc = "Useful for spying on people or for voice activated machines."
extended_desc = "This will automatically translate most languages it hears to Galactic Common. \
extended_desc = "This will automatically translate most languages it hears to Galactic Common. \
The first activation pin is always pulsed when the circuit hears someone talk, while the second one \
is only triggered if it hears someone speaking a language other than Galactic Common."
icon_state = "recorder"
@@ -696,8 +696,8 @@
/obj/item/integrated_circuit/input/sensor
name = "sensor"
desc = "Scans and obtains a reference for any objects or persons near you. All you need to do is shove the machine in their face."
extended_desc = "If 'ignore storage' pin is set to true, the sensor will disregard scanning various storage containers such as backpacks."
desc = "Scans and obtains a reference for any objects or persons near you. All you need to do is shove the machine in their face."
extended_desc = "If the 'ignore storage' pin is set to true, the sensor will disregard scanning various storage containers such as backpacks."
icon_state = "recorder"
complexity = 12
inputs = list("ignore storage" = IC_PINTYPE_BOOLEAN)
@@ -722,8 +722,8 @@
/obj/item/integrated_circuit/input/sensor/ranged
name = "ranged sensor"
desc = "Scans and obtains a reference for any objects or persons in range. All you need to do is point the machine towards target."
extended_desc = "If 'ignore storage' pin is set to true, the sensor will disregard scanning various storage containers such as backpacks."
desc = "Scans and obtains a reference for any objects or persons in range. All you need to do is point the machine towards the target."
extended_desc = "If the 'ignore storage' pin is set to true, the sensor will disregard scanning various storage containers such as backpacks."
icon_state = "recorder"
complexity = 36
inputs = list("ignore storage" = IC_PINTYPE_BOOLEAN)
@@ -753,10 +753,10 @@
return TRUE
/obj/item/integrated_circuit/input/objscaner
name = "scaner"
desc = "Scans and obtains a reference for any objects you use on assembly."
extended_desc = "If 'put down' pin is set to true, assembly will take scanned object from your hands to it's location.\
useful for interaction with grabber. Scaner works only with help intent."
name = "scanner"
desc = "Scans and obtains a reference for any objects you use on the assembly."
extended_desc = "If the 'put down' pin is set to true, the assembly will take the scanned object from your hands to it's location. \
Useful for interaction with the grabber. The scanner only works using the help intent."
icon_state = "recorder"
complexity = 4
inputs = list("put down" = IC_PINTYPE_BOOLEAN)
@@ -782,7 +782,7 @@
name = "internal battery monitor"
desc = "This monitors the charge level of an internal battery."
icon_state = "internalbm"
extended_desc = "This circuit will give you values of charge, max charge and percentage of the internal battery on demand."
extended_desc = "This circuit will give you values of charge, max charge, and percentage of the internal battery on demand."
w_class = WEIGHT_CLASS_TINY
complexity = 1
inputs = list()
@@ -814,7 +814,7 @@
name = "external battery monitor"
desc = "This can help to watch battery state of any device in view"
icon_state = "externalbm"
extended_desc = "This circuit will give you values of charge, max charge and percentage of any device or battery in view"
extended_desc = "This circuit will give you values of charge, max charge, and percentage of any device or battery in view"
w_class = WEIGHT_CLASS_TINY
complexity = 2
inputs = list("target" = IC_PINTYPE_REF)
@@ -847,7 +847,7 @@
/obj/item/integrated_circuit/input/ntnetsc
name = "NTnet scaner"
desc = "This can return NTnet id of component insi given object, if there is any."
desc = "This can return NTnet IDs of a component inside the given object, if there are any."
icon_state = "signalsc"
w_class = WEIGHT_CLASS_TINY
complexity = 2

View File

@@ -4,10 +4,10 @@
/obj/item/integrated_circuit/manipulation/weapon_firing
name = "weapon firing mechanism"
desc = "This somewhat complicated system allows one to slot in a gun, direct it towards a position, and remotely fire it."
extended_desc = "The firing mechanism can slot in any energy weapon. \
The first and second inputs need to be numbers. They are coordinates for the gun to fire at, relative to the machine itself. \
The 'fire' activator will cause the mechanism to attempt to fire the weapon at the coordinates, if possible. Mode is switch between \
lethal (TRUE) or stun (FALSE) modes.It uses internal battery of weapon."
extended_desc = "The firing mechanism can slot in any energy weapon. \
The first and second inputs need to be numbers which correspond to coordinates for the gun to fire at relative to the machine itself. \
The 'fire' activator will cause the mechanism to attempt to fire the weapon at the coordinates, if possible. Mode is switch between \
lethal (TRUE) or stun (FALSE) modes. It uses the internal battery of the weapon."
complexity = 20
w_class = WEIGHT_CLASS_SMALL
size = 3
@@ -135,7 +135,7 @@
icon_state = "locomotion"
extended_desc = "The circuit accepts a 'dir' number as a direction to move towards.<br>\
Pulsing the 'step towards dir' activator pin will cause the machine to move a meter in that direction, assuming it is not \
being held, or anchored in some way. It should be noted that the ability to move is dependant on the type of assembly that this circuit inhabits."
being held, or anchored in some way. It should be noted that the ability to move is dependant on the type of assembly that this circuit inhabits."
w_class = WEIGHT_CLASS_SMALL
complexity = 20
inputs = list("direction" = IC_PINTYPE_DIR)
@@ -236,7 +236,7 @@
name = "plant manipulation module"
desc = "Used to uproot weeds or harvest plants in trays."
icon_state = "plant_m"
extended_desc = "The circuit accepts a reference to hydroponic tray. It work from adjacent tiles. \
extended_desc = "The circuit accepts a reference to a hydroponic tray in an adjacent tile. \
Mode(0- harvest, 1-uproot weeds, 2-uproot plant) determinies action."
w_class = WEIGHT_CLASS_TINY
complexity = 10
@@ -353,9 +353,9 @@
/obj/item/integrated_circuit/manipulation/thrower
name = "thrower"
desc = "A compact launcher to throw things from inside or nearby tiles."
extended_desc = "The first and second inputs need to be numbers. They are coordinates to throw thing at, relative to the machine itself. \
The 'fire' activator will cause the mechanism to attempt to throw thing at the coordinates, if possible. Note that the \
projectile need to be inside the machine, or to be on an adjacent tile, and to be up to medium size."
extended_desc = "The first and second inputs need to be numbers which correspond to coordinates to throw objects at relative to the machine itself. \
The 'fire' activator will cause the mechanism to attempt to throw objects at the coordinates, if possible. Note that the \
projectile need to be inside the machine, or to be on an adjacent tile, and must be medium sized or smaller."
complexity = 15
w_class = WEIGHT_CLASS_SMALL
size = 2

View File

@@ -6,8 +6,8 @@
desc = "This can wirelessly transmit electricity from an assembly's battery towards a nearby machine."
icon_state = "power_transmitter"
extended_desc = "This circuit transmits 5 kJ of electricity every time the activator pin is pulsed. The input pin must be \
a reference to a machine to send electricity to. This can be a battery, or anything containing a battery. The machine can exist \
inside the assembly, or adjacent to it. The power is sourced from the assembly's power cell. If the target is outside of the assembly, \
a reference to a machine to send electricity to. This can be a battery, or anything containing a battery. The machine can exist \
inside the assembly, or adjacent to it. The power is sourced from the assembly's power cell. If the target is outside of the assembly, \
some power is lost due to ineffiency."
w_class = WEIGHT_CLASS_SMALL
complexity = 16
@@ -24,10 +24,10 @@
/obj/item/integrated_circuit/power/transmitter/large
name = "large power transmission circuit"
desc = "This can wirelessly transmit a lot of electricity from an assembly's battery towards a nearby machine. Warning: Do not operate in flammable enviroments."
desc = "This can wirelessly transmit a lot of electricity from an assembly's battery towards a nearby machine. <b>Warning:</b> Do not operate in flammable enviroments."
extended_desc = "This circuit transmits 20 kJ of electricity every time the activator pin is pulsed. The input pin must be \
a reference to a machine to send electricity to. This can be a battery, or anything containing a battery. The machine can exist \
inside the assembly, or adjacent to it. The power is sourced from the assembly's power cell. If the target is outside of the assembly, \
a reference to a machine to send electricity to. This can be a battery, or anything containing a battery. The machine can exist \
inside the assembly, or adjacent to it. The power is sourced from the assembly's power cell. If the target is outside of the assembly, \
some power is lost due to ineffiency."
w_class = WEIGHT_CLASS_BULKY
complexity = 32

View File

@@ -19,8 +19,8 @@
name = "smoke generator"
desc = "Unlike most electronics, creating smoke is completely intentional."
icon_state = "smoke"
extended_desc = "This smoke generator creates clouds of smoke on command. It can also hold liquids inside, which will go \
into the smoke clouds when activated. The reagents are consumed when smoke is made."
extended_desc = "This smoke generator creates clouds of smoke on command. It can also hold liquids inside, which will go \
into the smoke clouds when activated. The reagents are consumed when smoke is made."
container_type = OPENCONTAINER
volume = 100
@@ -72,7 +72,7 @@
name = "integrated hypo-injector"
desc = "This scary looking thing is able to pump liquids into whatever it's pointed at."
icon_state = "injector"
extended_desc = "This autoinjector can push reagents into another container or someone else outside of the machine. The target \
extended_desc = "This autoinjector can push reagents into another container or someone else outside of the machine. The target \
must be adjacent to the machine, and if it is a person, they cannot be wearing thick clothing. Negative given amount makes injector suck out reagents."
container_type = OPENCONTAINER
@@ -222,7 +222,7 @@
name = "reagent pump"
desc = "Moves liquids safely inside a machine, or even nearby it."
icon_state = "reagent_pump"
extended_desc = "This is a pump, which will move liquids from the source ref to the target ref. The third pin determines \
extended_desc = "This is a pump which will move liquids from the source ref to the target ref. The third pin determines \
how much liquid is moved per pulse, between 0 and 50. The pump can move reagents to any open container inside the machine, or \
outside the machine if it is next to the machine."
@@ -280,7 +280,7 @@
/obj/item/integrated_circuit/reagent/storage
name = "reagent storage"
desc = "Stores liquid inside, and away from electrical components. Can store up to 60u."
desc = "Stores liquid inside the device away from electrical components. It can store up to 60u."
icon_state = "reagent_storage"
extended_desc = "This is effectively an internal beaker."
@@ -297,6 +297,7 @@
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH
/obj/item/integrated_circuit/reagent/storage/do_work()
set_pin_data(IC_OUTPUT, 2, WEAKREF(src))
push_data()
@@ -304,9 +305,19 @@
/obj/item/integrated_circuit/reagent/storage/on_reagent_change(changetype)
push_vol()
/obj/item/integrated_circuit/reagent/storage/big
name = "big reagent storage"
icon_state = "reagent_storage_big"
desc = "Stores liquid inside the device away from electrical components. Can store up to 180u."
volume = 180
complexity = 16
spawn_flags = IC_SPAWN_RESEARCH
/obj/item/integrated_circuit/reagent/storage/cryo
name = "cryo reagent storage"
desc = "Stores liquid inside, and away from electrical components. Can store up to 60u. This will also suppress reactions."
desc = "Stores liquid inside the device away from electrical components. It can store up to 60u. This will also suppress reactions."
icon_state = "reagent_storage_cryo"
extended_desc = "This is effectively an internal cryo beaker."
@@ -317,21 +328,9 @@
. = ..()
reagents.set_reacting(FALSE)
/obj/item/integrated_circuit/reagent/storage/big
name = "big reagent storage"
desc = "Stores liquid inside, and away from electrical components. Can store up to 180u."
icon_state = "reagent_storage_big"
extended_desc = "This is effectively an internal beaker."
volume = 180
complexity = 16
spawn_flags = IC_SPAWN_RESEARCH
/obj/item/integrated_circuit/reagent/storage/grinder
name = "reagent grinder"
desc = "This is reagent grinder.It accepts ref to something and refines it into reagents. Can store up to 100u."
desc = "This is reagent grinder. It accepts a ref to something and refines it into reagents. It can store up to 100u."
icon_state = "blender"
extended_desc = ""
inputs = list(
@@ -378,7 +377,7 @@
obj/item/integrated_circuit/reagent/storage/juicer
name = "reagent juicer"
desc = "This is reagent juicer.It accepts ref to something and refines it into reagents. Can store up to 100u."
desc = "This is reagent juicer. It accepts a ref to something and refines it into reagents. It can store up to 100u."
icon_state = "blender"
extended_desc = ""
inputs = list(
@@ -424,7 +423,7 @@ obj/item/integrated_circuit/reagent/storage/juicer
/obj/item/integrated_circuit/reagent/storage/scan
name = "reagent scanner"
desc = "Stores liquid inside, and away from electrical components. Can store up to 60u. On pulse this beaker will send list of contained reagents."
desc = "Stores liquid inside the device away from electrical components. It can store up to 60u. On pulse this beaker will send list of contained reagents."
icon_state = "reagent_scan"
extended_desc = "Mostly useful for reagent filter."
@@ -456,9 +455,9 @@ obj/item/integrated_circuit/reagent/storage/juicer
name = "reagent filter"
desc = "Filtering liquids by list of desired or unwanted reagents."
icon_state = "reagent_filter"
extended_desc = "This is a filter, which will move liquids from the source to the target. \
It will move all reagents, except list, given in fourth pin if amount value is positive.\
Or it will move only desired reagents if amount is negative, The third pin determines \
extended_desc = "This is a filter which will move liquids from the source to the target. \
It will move all reagents, except those in the unwanted list, given the fourth pin if amount value is positive, \
or it will move only desired reagents if amount is negative. The third pin determines \
how much reagent is moved per pulse, between 0 and 50. Amount is given for each separate reagent."
complexity = 8
@@ -523,8 +522,8 @@ obj/item/integrated_circuit/reagent/storage/juicer
/obj/item/integrated_circuit/reagent/storage/heater
name = "chemical heater"
desc = "Stores liquid inside, and away from electrical components. Can store up to 60u. Will heat or freeze reagents \
to target temperature, when turned on."
desc = "Stores liquid inside the device away from electrical components. It can store up to 60u. It will heat or cool the reagents \
to the target temperature when turned on."
icon_state = "heater"
container_type = OPENCONTAINER
complexity = 8

View File

@@ -4,7 +4,7 @@
/obj/item/integrated_circuit/smart/basic_pathfinder
name = "basic pathfinder"
desc = "This complex circuit is able to determine what direction a given target is."
extended_desc = "This circuit uses a miniturized, integrated camera to determine where the target is. If the machine \
extended_desc = "This circuit uses a miniturized integrated camera to determine where the target is. If the machine \
cannot see the target, it will not be able to calculate the correct direction."
icon_state = "numberpad"
complexity = 25

View File

@@ -17,11 +17,14 @@
if(keys_held["Ctrl"] && keys_held["Shift"]) // Is this command ever used?
winset(src, null, "command=.options")
else
adminhelp()
get_adminhelp()
return
if("F2") // Screenshot. Hold shift to choose a name and location to save in
winset(src, null, "command=.screenshot [!keys_held["shift"] ? "auto" : ""]")
return
if("F12") // Toggles minimal HUD
mob.button_pressed_F12()
return
if(holder)
holder.key_down(_key, src)

View File

@@ -26,7 +26,7 @@
/obj/item/drone_shell/proc/build_seasonal_hats()
possible_seasonal_hats = list()
if(!SSevents.holidays.len)
if(!length(SSevents.holidays))
return //no holidays, no hats; we'll keep the empty list so we never call this proc again
for(var/V in SSevents.holidays)
var/datum/holiday/holiday = SSevents.holidays[V]
@@ -59,4 +59,4 @@
D.equip_to_slot_or_del(new_hat, slot_head)
D.admin_spawned = admin_spawned
D.key = user.key
qdel(src)
qdel(src)