Commit Graph

26 Commits

Author SHA1 Message Date
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
SkyratBot
b42599038f [MIRROR] Fixes comparison component runtime (#6264)
* Fixes comparison component runtime (#59584)

* Fixes comparison component runtime

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-06-11 23:56:41 +01:00
SkyratBot
5d09efa7f7 [MIRROR] New circuit multitool sprite (#6161)
* sprites (#59487)

imageadd: The circuit multitool has a new sprite.

* New circuit multitool sprite

Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
2021-06-06 23:09:16 +12:00
SkyratBot
cc5cf407b0 [MIRROR] More circuit components. Restructures the circuit components folder to be more organised. (#6142)
* More circuit components. Restructures the circuit components folder to be more organised.

* Mirror!

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-06-05 17:15:43 +12:00
SkyratBot
3e2ab2771c [MIRROR] Rebind alt-right-click to right-click for circuit controllers (#6099)
* Rebind alt-right-click to right-click for circuit controllers (#59337)

Easier key combination.

* Rebind alt-right-click to right-click for circuit controllers

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-06-03 15:26:16 +12:00
SkyratBot
70bed45cc8 [MIRROR] Fixes AND/OR gates for Integrated Circuits (#6022)
* Fixes AND/OR gates ignoring a port if it has a null value but it is still connected to another port (#59348)

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

* Fixes AND/OR gates for Integrated Circuits

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-05-30 00:52:26 +01:00
SkyratBot
0a0835b833 [MIRROR] Integrated Circuits (Wiremod) (#5949)
* Integrated Circuits (Wiremod)

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-05-25 19:57:29 +01:00