Commit Graph

56 Commits

Author SHA1 Message Date
SkyratBot
0331c496c7 Fix merge skew from NTNet components (#7549)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-08-15 23:12:35 +01:00
SkyratBot
430d8712ee [MIRROR] Adds 3 new NTNet components (#7546)
* Adds 3 new NTNet components (#60557)

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>

* Adds 3 new NTNet components

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2021-08-15 23:11:26 +01:00
SkyratBot
b3d9d870ab [MIRROR] Moved all the integrated circuit core files into a new subfolder called core (#7550)
* Moved all the integrated circuit core files into a new subfolder called core (#60787)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Moved all the integrated circuit core files into a new subfolder called core

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-08-14 22:47:28 -04:00
SkyratBot
db78fbb47a [MIRROR] Adds Circuit variables (#7539)
* Adds Circuit variables (#60590)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Adds Circuit variables

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-08-13 17:23:58 +01:00
SkyratBot
9e74cd4a03 [MIRROR] Input ports now connect to multiple output ports. Remove combiner. (#7505)
* Input ports now connect to multiple output ports. Remove combiner. (#60494)

* tgui bsod

* debug disconnections

* prelim

* recomment

* set_value -> put ._.

* DAMN IT

* reinsert subsystem

* prepare

* unditch signals

* remove combiner

* remove combiner some more

* how did router.dm get here? deleting.

* These two COMSIGS should be one.

* critical typo

* inline cast

* have your signals

* Have your set_input & set_output.

* make compile

* upgrade save/load to n-to-n-wires

* have your documentation

* have your unsafe proc

* pay no attention to the compile errors

* unlist the ref

* paste my for block back in ._.

* fix manual input

* oops pushed too soon

* Have your !port.connected_to?.length

Co-authored-by: Watermelon914 <37270891+Watermelon914@ users.noreply.github.com>

Co-authored-by: Watermelon914 <37270891+Watermelon914@ users.noreply.github.com>

* Input ports now connect to multiple output ports. Remove combiner.

Co-authored-by: Gurkenglas <gurkenglas@hotmail.de>
Co-authored-by: Watermelon914 <37270891+Watermelon914@ users.noreply.github.com>
2021-08-11 20:27:29 +01:00
SkyratBot
b0964f0a03 [MIRROR] Observers can now read circuits from anywhere + fix obscure tgui bug (#7477)
* Fixes admins not being able to open circuits from anywhere (#60775)

* Observers can now read circuits from anywhere + fix obscure tgui bug

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-08-10 15:56:51 +01:00
SkyratBot
dbf75b8a04 [MIRROR] Fixes a small problem with the pathfinding path and the robot fix merge (#7458)
* Fixes a small problem with the pathfinding path and the robot fix merge   (#60751)

* Fixes a small problem with the pathfinding path and the robot fix merge

Co-authored-by: TheSmallBlue <ilanmori@hotmail.com>
2021-08-08 15:56:25 +01:00
SkyratBot
47bb16ee3d [MIRROR] Moves most circuit component defines to files to reduce the amount of scattered code. (#7450)
* Moves most circuit defines to files (#60705)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Moves most circuit component defines to files to reduce the amount of scattered code.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-08-08 02:41:46 +01:00
SkyratBot
4e4647bd71 [MIRROR] Add admin panel for viewing circuits (#7389)
* Add admin panel for viewing circuits

* Update admin_verbs.dm

* Update admin_verbs.dm

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-08-06 02:05:37 +01:00
SkyratBot
bab28c321d [MIRROR] Adds scanner gate shells (#7408)
* Adds scanner gate shells (#60558)

* Adds scanner gate shells

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2021-08-05 23:33:27 +01:00
SkyratBot
0eaabf407a [MIRROR] Fixes List Literal Components (#7387)
* Fixes List Literal Components (#60670)

* Fixes List Literal Components

Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
2021-08-04 18:31:11 +01:00
SkyratBot
3ab1e7ebe2 [MIRROR] Refactors port types completely and adds the option type. Refactors options to use this new type (#7386)
* Refactors port types completely and adds the option type. Refactors options to use this new type (#60571)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Refactors port types completely and adds the option type. Refactors options to use this new type

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-08-04 18:30:56 +01:00
SkyratBot
7daee4669a [MIRROR] Removes required_shells var on circuit components not allowing them to be placed in an integrated circuit. (#7364)
* Removes required_shells var on circuit components not allowing them to be placed in an integrated circuit. (#60661)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Removes required_shells var on circuit components not allowing them to be placed in an integrated circuit.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-08-03 21:26:32 +01:00
SkyratBot
e2c9240251 [MIRROR] Adds the bare minimum admin components and allows admins to define list literals. (#7320)
* Adds the bare minimum admin components and allows admins to define list literals.

* Update decaySS.dm

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-08-03 21:11:09 +01:00
SkyratBot
7b7abfbde7 [MIRROR] Multiplexer gains extra outputs and wraps out-of-range indices. (#7355)
* Multiplexer gains extra outputs and wraps out-of-range indices. (#60462)

* Multiplexer also selects output port, indices wrap

* Remove broken multiplexer type changer

* Scratch that. Wasn't broken.

* Document WRAPACCESS

* Rename Multiplexer to Router

* Address review.

* typo

* Address review.

* fix partial rename

* Address review

* double desc

* Multiplexer gains extra outputs and wraps out-of-range indices.

Co-authored-by: Gurkenglas <gurkenglas@hotmail.de>
2021-08-03 20:06:59 +01:00
SkyratBot
cc1ece2b38 [MIRROR] BCI overlays and click interception (#7319)
* BCI overlays and click interception (#60503)

* BCI overlays and click interception

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2021-08-03 18:36:42 +01:00
SkyratBot
170863cfd7 [MIRROR] Circuit component descriptions and module names are now visible to the naked eye. (#7290)
* Circuit component descriptions and module names are now visible to the naked eye. (#60545)

* Circuit component descriptions and module names are now visible to the naked eye.

Co-authored-by: Gurkenglas <gurkenglas@hotmail.de>
2021-08-01 11:42:08 +01:00
SkyratBot
dba5a3798d [MIRROR] Servers now have USB ports (#7285)
* Gives servers a USB port (#60564)

* Servers now have USB ports

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2021-08-01 11:41:32 +01:00
SkyratBot
90d8116d10 [MIRROR] Cool sprites and animations for module duplicator (#7273)
* Cool sprites and animations for module duplicator (#60540)

imageadd: Added new sprites and animations for module duplicator

* Cool sprites and animations for module duplicator

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2021-08-01 11:41:07 +01:00
SkyratBot
8b9ecf10e5 [MIRROR] Give ghosts the ability to examine BCIs (#7233)
* Give ghosts the ability to examine BCIs (#60500)

Examining a mob with a BCI inside them will now give you the ability to look at it. Helpful for admins, but also keeps in line with every other circuit shell.

* Give ghosts the ability to examine BCIs

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-07-29 23:43:47 +01:00
SkyratBot
3e3c391aee [MIRROR] Removes Destroy overrides from most circuit components (#7216)
* Removes Destroy overrides from most circuit components (#60492)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Removes Destroy overrides from most circuit components

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-07-29 11:16:23 +01:00
SkyratBot
9f7d93f3f3 [MIRROR] Remove nanites (#7210)
* Remove nanites

* a

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-29 00:45:17 +01:00
SkyratBot
778c303215 [MIRROR] Adds the ability to save/load circuits for admins. Adds the ability to duplicate modules in a round. (#7197)
* Adds the ability to save/load circuits for admins. Adds the ability to duplicate modules in a round. (#60222)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Adds the ability to save/load circuits for admins. Adds the ability to duplicate modules in a round.

* a

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-28 23:28:01 +01:00
SkyratBot
439ae7812b [MIRROR] Brain-computer interfaces, circuits in your brain (#7145)
* Brain-computer interfaces, circuits in your brain (#60338)

BCIs are a new shell that can be implanted in your brain through surgery or through a BCI Manipulation Chamber, which provide the ability to easily implant and remove BCIs. They are the same size as compact remotes and generally share the same limitations.

Also adds CIRCUIT_FLAG_HIDDEN, to hide components from the UI. I didn't end up needing this, but Watermelon said he had ideas for it, so eh.
Why It's Good For The Game

BCIs provide an interesting, stealthy input method for circuits. They are seen as a healthier alternative to nanites, and improve on them in several ways:

    Circuits have limited manipulation of the world, and intentionally do not perform the ability to provide passive healing, revives, etc.
    Circuits have a significantly better UI and UX than nanites.
    Circuits regularly get content expansions, which means that as a side-effect, there'll often be new things to play with for BCIs.

Other point to make:

    BCI implanters have no cloud, and instead require the BCI to be put inside the machine. This means it requires the attention of the scientist (or even just a box with them inside). With

    Adds the ability to save/load circuits for admins. Adds the ability to duplicate modules in a round. #60222, which lets you reprint a circuit you made that round, this means you can print out lots of BCIs, rather than going through the tedium of constantly remaking it.
    BCI implanters are not roundstart, but rather in the advanced shells node. This is essentially the same as nanites, except for the difference of nanites starting with all the machinery, but none of the powers.

Changelog

cl
add: Added brain-computer interface circuit shells.
/cl

* Brain-computer interfaces, circuits in your brain

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-07-26 15:49:46 +01:00
SkyratBot
b815e34ffd [MIRROR] Adds a Pathfinding circuit component (#7144)
* Adds a Pathfinding circuit component (#60095)

* Adds a Pathfinding circuit component

Co-authored-by: TheSmallBlue <ilanmori@hotmail.com>
2021-07-26 15:49:38 +01:00
SkyratBot
c9f09abc4e [MIRROR] Fixes index table circuit component outputting a table rather than a list (#7062)
* Fixes index table circuit component outputting a table rather than a list (#60348)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Fixes index table circuit component outputting a table rather than a list

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-07-26 15:42:38 +01:00
SkyratBot
3d8adaaf17 [MIRROR] Adds the scanner shell. (#7048)
* Adds the scanner shell. (#60325)

Adds the scanner shell that lets you scan objects. Not much else than that.

* Adds the scanner shell.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-07-26 15:40:49 +01:00
SkyratBot
353ee480da [MIRROR] Adds the "To Number" circuit component (#7027)
* Adds the "To Number" circuit component (#60202)

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>

* Adds the "To Number" circuit component

Co-authored-by: TheSmallBlue <ilanmori@hotmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2021-07-20 14:42:29 +02:00
SkyratBot
f593849ce5 [MIRROR] makes get_hearers_in_view() faster AGAIN, fixes issue with previous optimization (#6979)
* makes get_hearers_in_view() faster AGAIN, fixes issue with previous optimization

* Mirror!

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-07-19 20:15:59 +12:00
SkyratBot
b37a8b5ef0 [MIRROR] Circuit submodules (#6980)
* Circuit submodules (#60109)

Adds the module component that is basically a subroutine. Allows you to compact your logic into a bunch of functions.

* Circuit submodules

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-07-19 20:12:15 +12:00
SkyratBot
8330f5dabe [MIRROR] Adds temperature and pressure sensors to circuits (#6726)
* Adds temperature and pressure sensors to circuits (#59993)

Co-authored-by: Watermelon914 <37270891+Watermelon914@ users.noreply.github.com>

* Adds temperature and pressure sensors to circuits

Co-authored-by: obsol <33932119+read-0nly@users.noreply.github.com>
Co-authored-by: Watermelon914 <37270891+Watermelon914@ users.noreply.github.com>
2021-07-05 15:56:17 +01:00
SkyratBot
493e6223c1 [MIRROR] Adds the "Split" circuit component (#6721)
* Adds the "Split" circuit component (#59950)

* Adds the "Split" circuit component

Co-authored-by: TheSmallBlue <ilanmori@hotmail.com>
2021-07-05 00:44:19 +01:00
SkyratBot
926f3a0360 [MIRROR] Fixed being able to insert infinitely many components into a shell. Fixes being able to view the shell's circuit in a locked shell. (#6686)
* Fixed being able to insert infinitely many components into a shell. Fixes being able to view the shell's circuit in a locked shell. (#59962)

* Fixed being able to insert infinitely many components into a shell. Fixes being able to view the shell's circuit in a locked shell.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-07-03 22:25:18 +01:00
SkyratBot
d4df0f5ee2 [MIRROR] RAM now has an option to select between types. Refactored the any type to be more friendly with circuit code. (#6681)
* RAM now has an option to select between types. Refactored the any type to be more friendly with circuit code. (#59953)

RAM now has an option to select between types and an output signal. Refactored the any type to be more friendly with user displays.
Code that includes changing type is no longer hard to read because of snowflake code for the "any" type.
RAM can now more easily act as a constant value component.
RAM also has an output signal because it should and the fact that it doesn't was an oversight when converting everything to use input and output signals.

* RAM now has an option to select between types. Refactored the any type to be more friendly with circuit code.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-07-03 22:24:30 +01:00
SkyratBot
f1bd99a620 [MIRROR] Adds crew monitor usb connections and fixes the soundemitter's frequency port (#6678)
* Adds crew monitor usb connections and fixes the soundemitter's frequency port (#59942)

Adds crew monitor usb connections and fixes the soundemitter's frequency port
Allows you to view health and stuff.

* Adds crew monitor usb connections and fixes the soundemitter's frequency port

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-07-03 22:23:49 +01:00
SkyratBot
a24c6f260f [MIRROR] Fixed cooldowns for speech and soundemitter circuit components. Brought speech component more in line with other components. (#6676)
* Fixed cooldowns for speech and soundemitter circuit components. Brought speech component more in line with other components. (#59958)

Fixes to the cooldowns. Also circuits now use an input trigger/output trigger system which the speech component hadn't yet adopted because it was made before that system was introduced and left out when changing most components to use this system.

Also temporarily disables input/output signal ports for the prebuilt speech relay circuit until I can properly code in a way to load circuits.

* Fixed cooldowns for speech and soundemitter circuit components. Brought speech component more in line with other components.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-07-03 22:23:36 +01:00
SkyratBot
0de56dcfb5 [MIRROR] Limits the maximum string length of a circuit component port to 5K characters (#6675)
* Limits the maximum string length of a circuit component port to 5K characters (#59959)

People could duplicate string lengths to the point where UIs break (and maybe OOMs though it'd take a while).

* Limits the maximum string length of a circuit component port to 5K characters

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-07-03 22:23:29 +01:00
SkyratBot
a049df07d3 Adds the sound emitter circuit component (#6613)
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-30 20:20:36 +01:00
SkyratBot
7269bd83ab [MIRROR] Adds USB to arrest consoles. Adds list circuit components. (#6593)
* Adds USB to arrest consoles. Adds list circuit components. (#59850)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>

* Adds USB to arrest consoles. Adds list circuit components.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2021-06-30 20:01:36 +01:00
SkyratBot
79c3c379b9 [MIRROR] Fix missing SIGNAL_HANDLER (#6552)
* Fix missing SIGNAL_HANDLER (#59826)

Adds SIGNAL_HANDLER to everywhere that didn't have it that was picked up by dm-lua, which is now ready enough to catch these.

* Fix missing SIGNAL_HANDLER

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-06-27 16:16:04 +01:00
SkyratBot
665fe76566 [MIRROR] Modifies right click logic so that it is not the same priority as modifier keys. (#6498)
* Modifies right click logic so that it is not the same priority as modifier keys. (#59656)

Strips out the existing right click code - Due to the myriad of ways right clicking has been implemented, dedicated signals and procs for right clicking without modifiers are fundamentally incompatible with our system of primary and secondary attacks.

Adds additional signals to attacking code. These signals allow atoms to cancel the attack chain early on secondary attacks, or override the standard procs and not send signals to prevent any undesired behaviour from signal handlers.

Items that used RightClick procs have been converted to attack_hand_secondary.

The slaughter demon, having its own set of snowflake code as poor OOP principles have been applied in UnarmedAttack() procs with lacking calls to parent procs and arbitrary redefinition of behaviour, checks for a right click in its own UnarmedAttack() and performs a bodyslam off that.

Storage components now hijack the secondary attackby stage via signals to handle their opening and closing shortcuts on right click. When you right click a storage component equipped item with an object in your active hand, the object has an opportunity to perform its logic in pre secondary attack code and cancel the attack chain. If it does not cancel the attack chain in pre-attack, then the storage component takes over for attackby and, if possible, opens the relevant inventory and ends the attack chain.

The forensic scanner is a proof-of-concept of this working in action. With its scan logic moved from afterattack code to pre attack code for right clicking, right clicking with the scanner will now perform a scan where previously one was impossible. Left clicking still does what it always does - Scans at the very end of the attack chain.

The logic still isn't perfect - For example, you still can't attack containers in melee even in combat mode (you'll either open them or put your weapon into them regardless of which option you choose) - But this is a better setup overall which allows for items to at least override this behaviour in pre-attack if needed.

* Modifies right click logic so that it is not the same priority as modifier keys.

* a

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-27 16:10:15 +01:00
SkyratBot
10c5d9cf60 [MIRROR] Fixes oversights and disables AI interaction with door shell (#6529)
* Fixes oversights and disables AI interaction with door shell (#59809)

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Fixes oversights and disables AI interaction with door shell

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-06-25 22:34:07 +01:00
SkyratBot
07e35c019a [MIRROR] Adds the airlock shell, refactors USB code to be easier to use, implements USB cables for the binary valve and more. (#6496)
* Adds the airlock shell, refactors USB code to be easier to use, implements USB cables for the binary valve and more. (#59728)

Adds the airlock shell. The circuit has full control over the airlock.
Refactors USB code to be easier to use for less experienced coders.
Implements USB cables for the binary valve to be able to open/close the valve.
Adds a private channel for radios that only lets circuits with the same owner's ID to interact with it.

* Adds the airlock shell, refactors USB code to be easier to use, implements USB cables for the binary valve and more.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-06-24 23:02:43 +01:00
SkyratBot
0cdfe18b1c [MIRROR] Adds the MMI circuit component. Allows inputting signals into circuit component ports (#6493)
* Adds the MMI circuit component. Allows inputting signals into circuit component ports (#59743)

Adds the MMI component which outputs signals whenever they click somewhere/try to move.
Allows inputting signals into ports, making it easier to debug integrated components.

* Adds the MMI circuit component. Allows inputting signals into circuit component ports

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-06-24 23:02:23 +01:00
SkyratBot
5ab9aba9d4 [MIRROR] Added circuit component UI details, added multiplexer and allowed inserting components directly into shells. (#6479)
* Added circuit component UI details, added multiplexer and allowed inserting components directly into shells. (#59635)

Adds the multiplexer circuit component - en.wikipedia.org/wiki/Multiplexer
Circuit components can now be directly inserted into shells rather than having to take the integrated circuit out.
Special information can be accessed from components now through the "Info" button besides the eject button on a component.

* Added circuit component UI details, added multiplexer and allowed inserting components directly into shells.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-06-23 22:50:59 +01:00
SkyratBot
b232192266 [MIRROR] Fixed signal ports receiving signals when a signal is not actually sent (#6421)
* Fixed signal ports receiving signals when a signal is not actually sent (#59745)

It's an oversight that signals are sent when ports are connected between each other. Signal ports should only receive updates when triggered.

* Fixed signal ports receiving signals when a signal is not actually sent

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-06-21 00:50:40 +01:00
SkyratBot
1b122706a3 [MIRROR] USB Cables -- Connect circuits to computers/machines (#6327)
* USB Cables -- Connect circuits to computers/machines (#59345)

* Initial commit

* Sprites, finishing work

* More ways to detach from circuitboards

* Clear TODOs, give bots a button

* Fix qdel loop

* Designs

* It's the bots that have them

* Grammar fix

* Feedback for connecting to circuit directly

* Add USB cable design to basic circuitry

* Better naming

* Feedback

* Fix for new code

* COMSIG_CIRCUIT_ADD_COMPONENT_MANUALLY

* span procs

* USB Cables -- Connect circuits to computers/machines

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-06-16 00:37:07 +01:00
SkyratBot
7d1d0e1fad [MIRROR] Refactors most spans into span procs (#6315)
* Refactors most spans into span procs

* AA

* a

* AAAAAAAAAAAAAAAAAAAAAA

* Update species.dm

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-16 00:24:49 +01:00
SkyratBot
6f1af6c9be [MIRROR] Fixed RAM component retaining its type after the input port is cleared (#6328)
* Fixed RAM component retaining its type after the input port is cleared (#59592)

Allows people to input types, such as strings, entities or numbers with the Stored Value type retaining its last input type, which can result in bugs.

* Fixed RAM component retaining its type after the input port is cleared

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-06-15 20:36:18 +01:00
SkyratBot
25eab054b4 [MIRROR] Fixed moneybots dispensing 0 credits (#6292)
* Fixed moneybots dispensing 0 credits (#59613)

* Fixed moneybots dispensing 0 credits

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-06-14 18:39:38 +12:00