Commit Graph

22 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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