The ugly white with text looks kinda ugly, so let's add some css to it and make
it borderline bearable for eyes.
Because the interface is kinda hard to look at as it is now and it can be
confusing to get into circuitry that way.
* Added max and min circuit
This now has a max and min circuit which checks all values and returns the highest/lowest of them. Tested and working.
* update: saving lines of code
The more compact min max. you may as well want to try the same with addition and substraction.
* Reformated code and improved proc
As you said, added early continue, put the vars low and changed the logic on the result.
* Update arithmetic.dm
* adds signal and modifies each call of afterattack to call it's inherited proc
* uses new macro for sendsignal()
* map fuck
* skip precommithooks
* combine and negate 2 ifs
* Shrinks the internal cavity, allowing only singletanks, small, and smaller items to be implanted in the chest (heavily nerfs 'chestgun' circuits). Additionally, prevents circuits from grabbing or throwing in storage implants. As part of this change, grabbers can now hold items up to assembly size (shouldn't be problematic, since they cannot hold TTVs or two-handed weapons, and can no longer function inside of a storage implant).
* Un-nerfs cavity implants, while preventing medium circuits from functioning as storage implants or chestguns.
A later PR soon should add logging for throwers and examine text for implanted small weapon circuits.
* Adds gas circuits
* Integrated connector
* Filters, tanks, some balancing
* fixed fucky wucky in tank size
* maybe they'll appreciate you more one day
* this code was written by a gibbon
* data cards actually have a function now
* Adds data cards to the IC printer for real rea
* more cards, less shitty code
* how the fuck did I miss that
adds a missing ..()
* wait wrong use of ..() fuck
* some circuit fixes
I removed the ability for you to save whether or not an assembly is open since you always want the assebly to be open when its printed so you can put a battery in. I fixed the other three issues because they were bugs.
* tells user when they use a sensor or scanner
* oops
* revert last commit
* usr -> user
The component is initialized with any combination of three flags, EMP_PROTECT_SELF protects against effects that target the object itself, EMP_PROTECT_WIRES protects against wires being messed with similar to the NO_EMP_WIRES_1 flag which this PR removes, EMP_PROTECT_CONTENTS protects against things that are inside the object like organs, internal "non-virtual" power cells and the like
This enables (but doesn't introduce) new mechanics such as adding EMP shielding at runtime to any atom, or taking it away.
* Fixes a ton of typos, inaccuracies, poor grammar, and confusing weirdnesses from the descriptions of almost every integrated circuit.
For example, the reagent filter:
Before:
"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."
After:
This is a filter which will move liquids from the source to its target.
If the amount in the fourth pin is positive, it will move all reagents except those in the unwanted list.
If the amount in the fourth pin is negative, it will only move the reagents in the wanted list.
The third pin determines how many reagents are moved per pulse, between 0 and 50. Amount is given for each separate reagent."
* fixed, ready
* Actually fixed and ready.
* Reverts the name of the coordinate pathfinder circuit back to "coordinte"
* Fixes a few missed, or poorly rewritten parts.
* Update smart.dm
* circuit tweaks
two new variants of concatenators: small and large. each have corresponding complexity and inputs
find text circuit now has two pulse outs, one for if it finds the text, one for if it does not. may break some old circuits but should be easy to fix
* readds after search pulse out
* adds length circuit for strings
* null delimiter in exploder returns list of all chars
* adds indexer circuit
* actual null check
* better descs
* addresses review
removed unneeded var
* moves concatenator pin setup to initialize
rscadd: Circuit ntnet components buffed. Added a new low level ntnet component that can send custom data instead of just the two plaintext and one passkey format, which things will use by default. Ntnet now uses a list for their data instead of three variables. they also have lowered complexity for the now weakened normal network component, and has lower cooldowns.
* A few additions, tweaks, and fixes for integrated circuits, and some very minor tweaks to hydroponics and carbon/silicon examine() to support those changes.
🆑 SailorDave
rscadd: A new manipulation circuit, the Seed Extractor. Extracts seeds from produce, and outputs a list of the extracted seeds.
rscadd: A new list circuit, the List Filter. Searches through a list for anything matching the desired element and outputs two lists: one containing just the matches, and the other with matches filtered out.
rscadd: A new list circuit, the Set circuit. Removes duplicate entries from a list.
tweak: The Plant Manipulation circuit can now plant seeds, and outputs a list of harvested plants.
tweak: Reagent circuits can now irrigate connected hydroponic trays and inject blood samples into Replica pods.
tweak: The Examiner circuit outputs worn items and other examined details of carbon and silicon mobs into the description pin.
tweak: List Advanced Locator circuit now accepts refs as well as strings.
bugfix: Fixed the Power Transmitter circuit not properly displaying a message when activated.
bugfix: Medical Analyzer circuit can now properly scan non-human mobs.
/🆑
Additional details:
- Plant Manipulation: obj/item/seeds harvest() proc and obj/machinery/hydroponics attack_hand() procs were adjusted slightly to allow this, returning a list when harvested.
- Seed Extractor Module: obj/machinery/seed_extractor /proc/seedify() was adjusted to return a list of seeds.
- Hydroponics replica pod was adjusted to be injectable|drawable, and use reagents and on_reagent_change() rather than a hardcoded attackby(), so other injection methods can use it to allow blood sampling/future reagent reactions regardless of type.
- IC Examiner Module returns a list of examine() messages from mob/living/carbon, mob/living/carbon/human, mob/living/carbon/silicon, and mob/living/carbon/silicon/ai in the description data pin, rather than outputting null since they had an empty desc var. The relevant examine procs were adjusted to return their messages.
- IC get_data() and set_pin_data() adjusted to return text/num properly and to WEAKREF/un-WEAKREF the contents of passed lists.
* fixes errors from screwy merge conflicts and replaces illegal proc name
* re-added a traits tag that accidentally got removed
* review changes
* plant analyzer outputs irrigation status and connected trays, search circuit uses 2 Cx down from 6
* examiner outputs the occupied turf of the examined object and can also scan turfs
* string inputs on circuit pins now use multiline input; fixed edit/remove not working on list pins; fixed large screens not outputting visible messages when held
* locomotion now has a cooldown of 0.1sec and their complexity + pathfinder complexity reduced
* assemblies can open doors they have access to from a card reader through collision
* Merge master branch; fixes pathfinder AStar runtime; fixes tile pointer; fixes material manager self-ref; various grammar touchups
* review changes
* fixes improper weakref type checking
* fixes seed extractor merge confict, removes unnecessary weakref change
* dang ol merge undoing my changes HECK
* updated to robbym's tile pointer PR with clearer var names
* added missing "not scanned" results to tile analyzer, removes duplicate circuit entries(???? how)
* Reorganised component controls
* Simplied menu further
Removed "rename" and "copy ref", renamed "remove" to just "-"
* Added similar changes to "built in" components and added "Rename"