* Letting circuits get items in assembly
This adds a proc so that certain circuits can have an item inserted once they are in the assembly. Also gets rid of the second list in the attack_self() proc and removes that pesky list.Find() proc by turning the first list into an associative list, which should make the proc more reliable and slightly more optimized.
* Letting circuits get items in assembly
Add a boolean var and an additem proc so that you can insert items inside some circuits after they are inside the assembly, while it is still open
* Fixed indentation error
Happens when I use copypaste for new code, sorry folks.
* fixed a little error due to false object path
* Fixed single-input assemblies
The choice variable detected the name of the association rather than the circuit associated to it in the list.
* Added a fix for batteries
There was this bug, where the battery would be transferred into the location of the assembly rather than its contents when putting it inside.
* fixed a little issue with analyzers
* Indentation error due to copy paste again
* fixing nonreactivity on input circuits
hey, it's not easy reworking a whole proc like this...
* further simplifications
* Adding new var
can_input_object_when_closed, which should make it possible for people to take items from an assembly.
* Adding the code to the corresponding new var
* small correction
forgot to make the var reference the circuit
* since most stuff just calls attackby(), why not let it relay directly?
* Whelp, since no one's reviewing, let's add onto this
* seeing if another travis check will still result in errors
* done it, Naksu!
thanks for giving this another chance!
Walking instead of running will reduce the noise, making it now more useful to gameplay.
Plating and wood makes a lot of noise, floor and carpet are quieter.
Range and volume may need to be balanced later on.
Oh, I reorganized some sound files too - the ones beepsky and medbot uses.
Circuits may have deserved many of the nerfs in #39376, but the removal of medium screens was absolutely not one of them. It is one of the only meaningful ways to send feedback to the user, and fills the niche of essentially being a to_chat() that the TTS circuit doesn't do (TTS announces to EVERYBODY within a screen's range, medium screens only announce to the user and anybody adjacent).
The main reason for removal was "anti-deaf" circuits. The usefulness of those is only questionably useful at best to begin with, as it is very situational (requires you to have printed and to be carrying the circuit with you and then go deaf and then get into a conversation where the other person is unaware that you are deaf). I don't believe this was even close to enough of a reason to remove one of the only meaningful ways of giving user feedback with circuits.
GPS circuit now has a 4th output, placing X,Y,Z all in a string.
2 new converters: Rel to Abs, and Adv Rel to Abs.
Rel to Abs takes a set of relative and a set of absolute coordinates, and converts the relative one to absolute. 1 complexity.
Adv Rel to Abs takes a set of relative coordinates and converts it to absolute without the need for an already known set of absolute coordinates. 2 complexity.
* Adds programmable nanites to robotics
* Oh yeah i might want to actually PR the files
* nanite injectors, nanite printer, nanite analyzer
* We're back
* remove some reagent stuff
* more removal
* those too
* cool icons!
* might pass travis now
* lotsa code
* tgui fixes/misc fixes
* WE'RE FUNCTIONAL BOYS
* some ui stuff
* Misc fixes, cloud update, access nanites
* activation check
* stuff
* preparing for new chamber sprite
* Physical backups, sensor nanite programs
* techweb sensor nanites
* fix
* include
* fix again
* revert
* blinding nanites
* minor change
* minor tweaks
* makes minor shocks interfere with nanites
* fix
* split trigger file into the others, for consistency
* cleanup, added mindshield nanites to techwebs
* include n all
* how'd that even happen
* Fixed HUD, readded missing remote icon, added nanite scanner, health analyzers can now detect nanites, added stealth program
* cost tweaks
* better term
* new icon! by MrDoomBringer
* icons/tweaks
* tgui build
* boards
* fix
* fixes implants not updating mindshield status
* move implant hud to living
* new remote sprite
* scanner sprite
* biotype checks
* some nerfs
* new open chamber sprite
* Fixes mindshield implants not updating the HUD, fixes uninstalling always removing the first program, adds 25% and 75% health sensors
* correction
* nerfs antistun nanites
* fixes scanners and minor tweaks
* fixes revs with mindshield
* oh yeah haha
* Fixes wonky techweb
* Moves pyro program to weapon node
* Adds defib program and some investigate logging
* mistype
* fix
* fix2
* save your files before committing
* emps can desync from cloud
* pretty outdated
* Cloud backups are now tied to the cloud consoles; you can no longer build a new console to access existing backups.
* UI fix
* more fix
* okay fix for real
* tested and working
* Extra Settings rework, sensor nanites vastly better
* non-unique glitches
* Public chamber, extra settings rework, new sensors, speech program
* Mute and mind control nanites
* mind control into hazard
* better description
* fixes
* fixes relay nanites
* fixes TK access
* mind control costs less
* UI update
* removed pointless code bit
* tgui build
* compiles
* dammit
* paralysis keeps victim upright
* Adds sounds to consoles
* some feedback for some subtle effects
* new chem lore
* Viral nanite customization
* fix
* tgui build
* Added mitosis nanites
* removes glitched nanites from techwebs
* Added flesh eating nanites, poison nanites, hallucination nanites
* ,
* #traviscoding
* Adds memory leak, renames nanite roam node to nanite smart
* Voice sensor + some techweb desc tweaks
* hallucination and Hear() fix
* changes signal registering to the new method
* 75% done, i think
* should be all
* more fix
* more changes
* okay should be fine now
* ninja
* inheritance
* i don't care about originality!
* line endings
* line endings 2
* maybe
* fixes program installation
* new review
* line endings?
* line endings??
* line endings???
* wait do i even use this
* fixes public nanite chamber cloud id
* maint overlay for chambers
* args doesn't work well here
* antiabuse checks
* compile tho
* fixes locked remotes
* disk renaming
* skull echo nanites
* self scan program
* Condenses a lot of sensors into a few generic but customizable versions
* fixes machinery runtimes. Hacky, but a proper fix would likely require a refactor of machinery typing.
* forgot to save
* empty
* metastation nanite lab
* Removes duplicate APC
* fix for nanite chamber
* Raise max programs
* UI Tweaks, aggr. replication rebalance, minor fixes
* let's not do that again
* Fixes nanites meta merge conflict
* Merge conflict v2
* fuck this HDD is slow
* What the fuck did you just fucking say about me, you little leaf? I'll have you know I graduated top of my class in the Lawyer School, and I've been involved in numerous secret DMCA raids. I am trained in law violations warfare and you are nothing to me but just another target. I will wipe you the fuck out with precision the likes of which has never been seen before on BYOND, mark my fucking words. You think you can get away with changing the code? Think again, fucker. As we speak I am contacting my secret network of attorneys in the Fox and your IP is being traced right now so you better prepare for an outstanding warrant, maggot. The storm that wipes out the pathetic little thing you call your leaked code. You're fucking done, kid. I can file for an injunction anywhere, anytime, and I can take legal actions in over seven hundred ways, and that's just with my bare hands. Not only am I extensively trained in unarmed combat, but I have access to the entire arsenal of the Florida Statute and I will use it to its full extent to wipe your miserable ass off the face of Canada, you little shit. If only you could have known what unholy retribution your little "clever" action was about to bring down upon you, maybe you would have held your fucking tongue. But you couldn't, you didn't, and now you're paying the price, you goddamn idiot. I will send you to spend time in a Florida State Penitentiary if you ever decide to travel from Canada to the U.S. You're fucking done, kiddo.
* Adds virus symptoms that interact with nanites
* Fixes spreading nanites being more infective the more protection the victims have
* Review plus public chamber tweak
* . = ..()
* ball
* cloud
* . = ..()
* always press save all before committing
* missed a couple
* Refactor several log lines to use datum_info_line and atom_loc_line
* Add default return strings from datum_info_line and atom_loc_line
* Add parentheses around atom_loc_line data
* Change more logs to use atom_loc_line
* Add check in atom_loc_line for turfs to avoid calling get_turf on them
* Re-add removed 'at'
* Replace datum_info_line with key_name and atom_loc_line with loc_name
* Refactor logging functions
* Avoid double-logging self-interactions
* Fallback to simple stringification if all else fails in key_name()
* Rewrite muscle spasm logging to use log_message
* Standardize logging of martial arts
* Tweak individual logging panel look
* Fix individual logging panel source
* When I typed || I really meant &&
* Fix Telecomms logging always showing client logs in the panel
* Reverts addition of buggy ownership log to panel
* Remove colon
* Fix missing log_directed_talk tag
* Add warning for missing type in log_direted_talk
* Change warnings to stack_traces
* Add square brackets around fallthrough key_name() case to help parsing
* Allow atom arguments/src in log_*() functions
* Change log_combat call with null argument to log_message
* Change mecha types' log_message() arguments to match atom and mob version
* Add key_name() case for atoms
* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it
* Fix log_globally logic
* Add logging for hitting objects with items
* Move log_combat() to atoms.dm
* Use utility functions for object stringification in log_combat()
* Use utility functions for object stringification in log_combat()
* Add missing logs for interacting with display cases
* Rewrite log_combat() comment
* Add missing space in log_combat()
* Add logging for hitting grilles barehanded
* Add missing ..()
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