Commit Graph

71 Commits

Author SHA1 Message Date
Zonespace
1135ac5e2c Mirror #72280 (#18648)
Add lints for idiomatic balloon alert usage (#72280)

Adds lints for `balloon_alert(span_xxx(...))` (which is always wrong),
and balloon alert where the first letter is a capital (which is usually
wrong). Fixes everything that failed them. As a reminder, abbreviations
like "AI" and "GPS" shouldn't be capitalized in a balloon alert.

In cases where this is intentional for flavor (there was one case), you
can `UNLINT` like so:

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
2023-01-12 08:48:06 -05:00
SkyratBot
ae713bf18a [MIRROR] Crafting/Cooking menu update [MDB IGNORE] (#18334)
* Crafting/Cooking menu update

* Yeeted away all of the merge conflicts, time to fix the code

* Okay, now it compiles, and after testing, it seems to work just fine

* Actually, early addition of an upstream fix, so those that don't have hunger can still open the cooking menu

* Fixes the units tests by removing the extra comma in the Stuffed Muli Pod recipe

Co-authored-by: Andrew <mt.forspam@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-01-08 15:02:18 -05:00
SkyratBot
650d64f6d4 [MIRROR] afterattack now returns a flag if it's reasonable to suspect the user intends to act on an item [MDB IGNORE] (#18519)
* afterattack now returns a flag if it's reasonable to suspect the user intends to act on an item

* Update _neck.dm

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-01-07 06:55:38 +00:00
SkyratBot
15faaa54f5 [MIRROR] Rewrites how action buttons icons are generated, makes them layer nicer. Allows observers to see a mob's action buttons. [MDB IGNORE] (#17907)
* Rewrites how action buttons icons are generated, makes them layer nicer. Allows observers to see a mob's action buttons.

* conflicts

* Modular!

* update modular

* icon icon icon icon icon

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2022-12-16 16:01:41 +00:00
SkyratBot
a70a6a8055 [MIRROR] Save 0.6-0.7s of init time by splitting registering lists of signals into its own proc, and optimizing QDELETED [MDB IGNORE] (#17670)
* Save 0.6-0.7s of init time by splitting registering lists of signals into its own proc, and optimizing QDELETED

* modular RegisterSignals

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-28 14:51:08 -05:00
SkyratBot
c4afb8a473 [MIRROR] Fixes an exploit with stacking igniters. Refactors some assembly flag oddities. Limits assembly holders at 12 assemblies. [MDB IGNORE] (#17689)
* Fixes an exploit with stacking igniters. Refactors some assembly flag oddities. Limits assembly holders at 12 assemblies.  (#71264)

## About The Pull Request

Soft revert of #71224 , Fixes #71222

Fixes an exploit involving attachment of multiple igniters to one
assembly.
- Multiple igniters or condensers can no longer be attached to the same
assembly holder
- Assembly holders have a limit of 12 assemblies maximum
- I'm not sure if this is too low or limited, I picked it arbitrarily.
Please inform me if it could be upped a smidge.
- This lag exploit was born because of limitless assembly holders, which
is a little silly even with the exploit aside. All that uncapped holders
can bring are exploits or bugs, which I feel confident limited can
prevent. What use is there even for having so many?
- Cleans up / refactors some aspects of assemblies and assembly holders.
- Assemblies had a weird wire type flag that was only ever used by
signallers, but also used wrong by signallers. I did some scanning of
the code and realized that ... a lot of this was just straight up
unused, and not even assigned anywhere.
- Now, there is a flag assembly flag var, which everything is read off
of. Tested it and still seemed to all work fine.

## Why It's Good For The Game

Lag exploits are bad.

## Changelog

🆑 Melbert
fix: Fixed an exploit involving igniters attached to themselves.
Assembly holders are now limited to 12 assemblies maximum, and you
cannot attach multiple igniters to the same assembly.
refactor: Refactored some assembly jank, namely in how they pulse and
are pulsed.
/🆑

* Fixes an exploit with stacking igniters. Refactors some assembly flag oddities. Limits assembly holders at 12 assemblies.

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-11-24 14:34:57 -05:00
SkyratBot
24ae11ad6f [MIRROR] Adds a reagent injector component and BCI manipulators to all circuit labs [MDB IGNORE] (#17617)
* Adds a reagent injector component and BCI manipulators to all circuit labs (#71236)

<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

This PR adds a reagent injector component that's exclusive to BCIs.
(Requested to be integrated into BCIs by Mothblocks.)
When outside of a circuit, the component itself stores the reagents.
However, if it's inside of a BCI, the storage is moved to the BCI. The
storage can contain up to 15u of reagents and acts like an open
container. (However, it won't spill even if you throw it, it just acts
like an open container code-wise, don't worry about it.)
You can only have one reagent injector in a circuit. Trying to insert
multiple will give you an error message.
The entire dose is administered at once. (Requirement set by
Mothblocks.)

Please don't try to dispute any of the specific limitations in the
comments as they're out of my control. They're reasonable anyways.

Reagent Injector Input/Output:
Inject (Input Signal) - Administers all reagents currently stored inside
of the BCI into the user.
Injected (Output Signal) - Triggered when reagents are injected. Not
triggered if the reagent storage is empty.

New BCI Input:
Show Charge Meter (Number) - Toggles showing the charge meter action.
(Adds some capacity for stealth.)

Install Detector Outputs: (Added following a comment about having to use
weird workarounds for proper loops.)
Current State (Number) - Outputs 1 if the BCI is implanted and 0 if it's
not.
Installed (Signal) - Triggered when the BCI is implanted into it's user.
Removed (Signal) - Triggered when the BCI is removed from it's user.

This PR also adds BCI manipulation chambers to all currently present
circuit labs. (Solution proposed by Mothblocks.)
Yes I had to do some other mapping changes to allow for this. No I don't
have any mapping experience, why do you ask?

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game

One small step for BCIs, one giant leap for circuit kind. (First
"proper" circuit to human interaction in the entire game!)

This allows for some funky stuff and also makes it less of a pain in the
ass to use BCIs. What's not to love?

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
add: Added a reagent injector component and BCI manipulators to all
circuit labs. (+ install detector component)
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

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

* Adds a reagent injector component and BCI manipulators to all circuit labs

Co-authored-by: RikuTheKiller <88713943+RikuTheKiller@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
2022-11-23 04:53:03 -05:00
Zonespace
f7c26bbf25 515 Compat (#17465)
* ONLY SKYRAT CHANGES

* ACTUALLY SKYRAT CHANGES

* yolo, revert later

* Update alternate_byond_versions.txt

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2022-11-15 06:59:06 +00:00
SkyratBot
1a9331199a [MIRROR] BCIs are now stored in the manipulation chamber's contents, instead of nullspace [MDB IGNORE] (#16715)
* BCIs are now stored in the manipulation chamber's contents, instead of nullspace (#70350)

Fixes a bug where MMIs would be sent into the nullspace room when in an MMI component inside of a BCI that is inserted into a BCI manipulation chamber.

Stores the BCI in the chamber's contents, instead of nullspace, allowing the MMI to talk, the BCI to still act as it would normally and overall just solves the issue and maybe some others alongside it.

Fixes #70349

* BCIs are now stored in the manipulation chamber's contents, instead of nullspace

Co-authored-by: RikuTheKiller <88713943+RikuTheKiller@users.noreply.github.com>
2022-10-08 08:07:19 -07:00
SkyratBot
74586e2091 [MIRROR] Upgrades the Modsuit Adapter Shell [MDB IGNORE] (#16669)
* Upgrades the Modsuit Adapter Shell (#70286)

Code improvements are much appreciated as some things may be rather hacky.

Adds more options to the currently very limited modsuit adapter shell. Right now you can only select a module and activate (not deploy) the suit.

This has some major problems as you literally can't even deploy the suit to activate it so that's rendered useless and selecting a module is like... kind of a weird input anyways but I won't judge so I left it in. Please comment down below if you'd like for me to add an "Activate Selected Module" input and "On Module Activated" output as those are certainly possible to do. I was just a little torn on how balanced that would be.

Changes:

"Module to Select" input is now an option. You can still use a string input, but simply inserting it into the suit and activating it, then accessing the circuit that way will give you a list of all modules that the modsuit has.
Modsuit quick deploy (RMB) no longer tries to deploy the rest of the pieces when used while the suit is only partially deployed. It will now instead retract the extended pieces. This makes the "Toggle Deployment" input less prone to errors. (Why was it like this in the first place? Having to manually retract the already extended pieces sucks ass.)
Added Inputs:

"Toggle Deployment" is a new signal input that does exactly what it says it does. It simply tries to extend or retract all pieces of the modsuit depending on it's current state.
Added Outputs:

"Activated" is a new number output that outputs 1 if the suit is activated and 0 if it's not.
"Deployed" is a new number output that outputs 1 if all parts of the suit are extended and 0 if they aren't.
"Deployed Parts" is a new string list output that outputs a list of the names of all currently deployed parts.
"On Deploy" is a new signal output that outputs a signal whenever all parts of the suit are deployed or retracted, regardless of the method used.
"Finished Toggling" is a new signal output that outputs a signal whenever the suit has finished activating or deactivating, regardless of the method used.

* Upgrades the Modsuit Adapter Shell

Co-authored-by: RikuTheKiller <88713943+RikuTheKiller@users.noreply.github.com>
2022-10-05 10:57:09 -07:00
SkyratBot
a5c0e72e44 [MIRROR] Fix xeno hivemind talk causing hissing sound [MDB IGNORE] (#16624)
* Fix xeno hivemind talk causing hissing sound (#69844)

* Fix xeno hivemind talk causing hissing sound

* Fix dullahan speech arg

Add message_range and saymode to say arguments

Add new say args to other say procs

Add new say args to other say procs

* Revert "Fix dullahan speech arg"

This reverts commit abff2bec1a03c1270b2896faa547c465e046ad78.

* Fix speech_args to be list

* Refactor hulk speech signal handler

* Revert "Revert "Fix dullahan speech arg""

This reverts commit 58997930096ef6b7fa8a1c79395595e61db954c6.

* Change filterproof to be null like other say procs

* Remove unused COMSIG_MOB_SAY defines

* Readd defines for COMSIGH_MOB_SAY

* Fix xeno hivemind talk causing hissing sound

* Updates the arguments of the say and whisper procs for the borers

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-10-04 10:54:44 -04:00
SkyratBot
260df1bcf9 [MIRROR] Fixed airlock shells made from airlock electronics not triggering AAE circuit component [MDB IGNORE] (#16360)
* Fixed airlock shells made from airlock electronics not triggering AAE circuit component (#69992)

Airlock shells made from airlock electronic and door assemblies would not trigger the 'Airlock Access Event' circuit component because the registered signals did not include the signals called by regular airlocks. This fixes that.

* Fixed airlock shells made from airlock electronics not triggering AAE circuit component

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2022-09-25 18:53:57 -04:00
SkyratBot
1e416342ea [MIRROR] [IDB IGNORE] Renames the inhand/misc folder to inhand/items [MDB IGNORE] (#15956)
* [IDB IGNORE] Renames the inhand/misc folder to inhand/items (#69573)

Also adds balloons to inhand/items

* [IDB IGNORE] Renames the inhand/misc folder to inhand/items

* update modular

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-04 15:29:47 +01:00
SkyratBot
a8c10d1659 [MIRROR] Converts a shitload of istypes to their more concise macros [MDB IGNORE] (#15702)
Converts a shitload of istypes to their more concise macros

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-08-27 16:23:44 -04:00
SkyratBot
9bd406b65b [MIRROR] Adds support for "realistic" public elevators (elevator doors, elevator panel, etc) [MDB IGNORE] (#15515)
* Adds support for "realistic" public elevators (elevator doors, elevator panel, etc) (#68888)

* Elevators are a bit more friendly part 1
- Emaggable elevator buttons / support for emaggable device assemblies
- Delayed travel between floors
- Elevators can now show a warning sign to areas below while travelling
- Elevators can now optionally wound heavily instead of gibbing

* Adds supoprt for "lift doors"

* Comment tweak

* Splitting these variables

* Functional prototype

* multiz debug

* Elevator button framework

* Unifies these behaviors

* Emergency doors

* Lift button framework

* UI closes on floor change

* Testing changes

* Fix

* UI Tweaks

* Panel works pretty swell

* Minor tweaks

* Move to static

* Bonus tram change

* User experience

* Slight tweak to mapload stuff

* This is silly

* Some UI tweaks, need to update css

* CSS and ui overhaul

* Documentation updates.

* Multi-z lift support

* Multitile lift fix

* Adds support for "realistic" public elevators (elevator doors, elevator panel, etc)

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-08-13 22:06:26 -07:00
SkyratBot
dbd4667d23 [MIRROR] Adds keyboard shell [MDB IGNORE] (#15610)
* Adds keyboard shell (#69105)

Adds keyboard shell.

Works very similar to the thought listener component for BCIs
It opens up an input panel when you use it (tgui_input_text)
Players with the illiterate quirk cannot use this shell. When they try to use it they get a warning message.
It's printed out as assembled (like compact remote or controller)
It can fit in a bag but not in a box
Has small capacity (SHELL_CAPACITY_SMALL)
Available after researching the Advanced Shells tech node
Can be printed from the component printer or the protolathe
Costs 2000 glass and 10000 iron sheets to print (slightly more than the controller shell)
Has 3 outputs. First one returns the entity who used the shell, second is the text that entity wrote and submitted, third one is triggered after the input window is closed. (by submitting, cancelling or just hitting the X button)
Icons (screenhots from the dream maker)

* Adds keyboard shell

Co-authored-by: YusufEmirKoroglu <67878361+YusufEmirKoroglu@users.noreply.github.com>
2022-08-13 17:31:39 -07:00
SkyratBot
856ea9c79a [MIRROR] Refactored fundamental circuit components that have varying inputs. Improvements to the integrated circuit UI. Improves and rebalances the drone shell [MDB IGNORE] (#15264)
* Refactored fundamental circuit components that have varying inputs. Improvements to the integrated circuit UI. Improves and rebalances the drone shell (#68586)

* Refactored fundamental circuit components that have varying inputs. Made the integrated circuit UI slightly better.

* Fixes with UI

* Removes logger

* Ran prettier

* Fixed documentation

* Rebalances drone circuit

* Drones can now charge in chargers

Co-authored-by: Watermelon914 <hidden@ hidden.com>

* Refactored fundamental circuit components that have varying inputs. Improvements to the integrated circuit UI. Improves and rebalances the drone shell

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <hidden@ hidden.com>
2022-07-30 08:22:46 -07:00
SkyratBot
fbce7aa40f [MIRROR] Drastically improved the USB connection for air alarms. Any airlock can now be made into a shell [MDB IGNORE] (#15270)
* Drastically improved the USB connection for air alarms. Any airlock can now be made into a shell (#68632)

The USB connections for air alarms have been improved and now include scrubber control, vent control and the setting of the air alarm mode. Also fixes a bug where the limits were not being properly set.

The scrubber, vent and limit control can be duplicated in the circuit to allow multiple limits/scrubbers/vents to be controlled by one circuit.

Any airlock can be made into a shell during construction by configuring the airlock electronic before insert.

* Drastically improved the USB connection for air alarms. Any airlock can now be made into a shell

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2022-07-29 15:41:36 -07:00
SkyratBot
d2603fe4af [MIRROR] Fixes circuit dispensers add_item [MDB IGNORE] (#15048)
* Fixes circuit dispensers add_item (#68528)

adding items to a dispenser shell would hit the shell with the item first
little to no feedback from the shell as it just eats your held item
bulk adding items could theoretically exceed the weight limit for items or add in nested bags

* Fixes circuit dispensers add_item

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2022-07-23 13:52:41 -04:00
SkyratBot
ad662fe555 [MIRROR] Dispenser shells can be bulk filled from storage bags [MDB IGNORE] (#14941)
* Dispenser shells can be bulk filled from storage bags (#68302)

* Dispenser shells can be bulk filled from storage bags

Co-authored-by: Moose1002 <33578674+Moose1002@users.noreply.github.com>
2022-07-17 14:03:17 -04:00
SkyratBot
3eda6267a8 [MIRROR] Fixes a big oversight with steal guns objective [MDB IGNORE] (#14723)
* Fixes a big oversight with steal guns objective (#68093)

* Fixes a big oversight with steal guns objective

Co-authored-by: Salex08 <33989683+Salex08@users.noreply.github.com>
2022-07-04 23:56:22 -07:00
SkyratBot
0a1f06a2d1 [MIRROR] This tail refactor turned into an organ refactor. Funny how that works. [MDB IGNORE] (#14017)
* This tail refactor turned into an organ refactor. Funny how that works.

* Firstly, fixing all the conflicts.

* Fixes all our maps (hopefully)

* Actually, this should fix pod people hair :)

* Almost everything is working, just two major things to fix

* Fixed a certain kind of external organ

* Cleaning up some more stuff

* Turned tail_cat into tail because why the fuck are they separate?

* Moved all the tails into tails.dmi because that was just dumb to have like 3 in a different file

* Adds relevant_layers to organs to help with rendering

* Makes stored_feature_id also check mutant_bodyparts

* Fixes the icon_state names of ALL the tails (pain)

* Fixes wagging, gotta refactor most mutant bodyparts later on

* I Love Added Failures

* Fixed some organs that slipped through my searches

* This could possibly fix the CI for this?

* It doesn't look like it did fix it

* This will make it pass, even if it's ugly as sin.

* Fixed Felinids having a weird ghost tail

* Fixes instances of snouts and tails not being properly colored

Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-06-11 23:20:16 -04:00
SkyratBot
729132a4e0 [MIRROR] Rebalanced Power consumption, increase for machines [MDB IGNORE] (#12930)
* Rebalanced Power consumption, increase for machines

* wew

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-04-20 17:07:14 +01:00
SkyratBot
6aebab2146 [MIRROR] MODsuit module update: clamp nerf, replacement of holster and pepper spray modules, some tweaks to suit starting modules [MDB IGNORE] (#12783)
* MODsuit module update: clamp nerf, replacement of holster and pepper spray modules, some tweaks to suit starting modules

* Update mod_control.dm

* fixes

* fix2

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2022-04-18 20:34:32 -07:00
SkyratBot
cec72761ac [MIRROR] Action button refactor/rework: Enhanced Dragging [MDB IGNORE] (#12423)
* Action button refactor/rework: Enhanced Dragging

* PHEW

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-04-01 01:38:57 +01:00
SkyratBot
17e4f6ad76 [MIRROR] Converts SFX keys into DEFINES [MDB IGNORE] (#11990)
* Converts SFX keys into DEFINES

* fixes and updates

Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2022-03-11 16:43:39 -07:00
SkyratBot
bbc93ba3f0 [MIRROR] Stops silicons from opening circuit airlocks by bumping them open [MDB IGNORE] (#11174)
* Stops silicons from opening circuit airlocks by bumping them open (#63780)

Prevents silicons from easily opening circuit airlocks by simply bumping them open (This happened as airlock/bumpopen(mob/user) called door/proc/bumpopen(mob/user) which called door/allowed(mob/user) which calls obj/allowed(mob/user) which checks for silicons before it checks for check_access)

* Stops silicons from opening circuit airlocks by bumping them open

Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
2022-02-01 01:32:18 +00:00
SkyratBot
020631ba84 [MIRROR] MODsuit Action Circuit Component (+ MODsuit circuit module fixes) [MDB IGNORE] (#10996)
* MODsuit Action Circuit Component (+ MODsuit circuit module fixes) (#63755)

This makes several small changes to the MODsuit circuit module:

Adds the MODsuit Action component. When selected, the circuit module opens a radial menu with which to select an action component to trigger.
Due to its similarity to the BCI Action component, both it and the BCI Action component have been made subtypes of an abstract equipment_action component that implements their shared functionality.
Renames the MOD component to the MOD circuit adapter core component.
Changes the "selected module" port on the MOD circuit adapter core to a string port, for consistency with the corresponding input port.
The circuit in the circuit module can be removed. Consequentually, the circuit module no longer comes with a pre-installed circuit.
The "Toggle Suit" signal port on the MOD circuit adapter core can now activate the modsuit.
Makes the circuit module printable in the component printer, for consistency.
Moves the circuit module's code to modules/wiremod, for consistency.
BCI action component properly typechecks the shell it's inserted in.
Co-authored-by: Watermelon914 <37270891+Watermelon914@ users.noreply.github.com>

* MODsuit Action Circuit Component (+ MODsuit circuit module fixes)

Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
2022-01-26 04:16:09 +00:00
SkyratBot
5910fd9649 [MIRROR] MOD update: Modular Cores [MDB IGNORE] (#10710)
* MOD update: Modular Cores

* Fixing all dem conflicts

* Okay now it's going to compile too

* Fixing some Trigger() (they triggered me)

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-01-16 15:25:41 -05:00
SkyratBot
43a8951d07 [MIRROR] Circuit assemblies can be attached to wires [MDB IGNORE] (#10471)
* circuit assemblies can be attached to wires (#63675)

* Circuit assemblies can be attached to wires

Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
2022-01-06 06:11:22 -05:00
SkyratBot
b7164873d4 [MIRROR] Speeds up the preference menu, significantly. Adds object pooling, other stuff too [MDB IGNORE] (#9962)
* Speeds up the preference menu, significantly. Adds object pooling, other stuff too

* First fixes

* Feex

* Quick fix for the unit test to shut up

* Fixing the runtime with randomly-colored jumpsuits

* Fixes that one hard del

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-12-10 02:22:41 +00:00
SkyratBot
6f91e1359f [MIRROR] BCI implanters no longer drop their BCI on the floor when opened [MDB IGNORE] (#9885)
* BCI implanters no longer drop their BCI on the floor when opened (#63204)

Exactly what it says in the title. Implanters used to drop the BCI they contained when opened up. Now they don't. For good measure I made them drop their contained BCIs when deconstructed as well in case they already did that as a consequence of the BCI being located inside the implanter, which was the cause of the issue in the first place.

* BCI implanters no longer drop their BCI on the floor when opened

Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
2021-12-05 10:29:23 -05:00
SkyratBot
150088f510 [MIRROR] Allows shells that requiring anchoring to take power from APCs [MDB IGNORE] (#9570)
* Allows shells that requiring anchoring to take power from APCs (#62907)

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

* Allows shells that requiring anchoring to take power from APCs

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-11-19 20:38:00 +00:00
SkyratBot
4179614ebb [MIRROR] Made admin circuits more abstract, they no longer end up in the contents of the shell. [MDB IGNORE] (#9318)
* Made admin circuits more abstract, they no longer end up in the contents of the shell. (#62630)

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

* Made admin circuits more abstract, they no longer end up in the contents of the shell.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-11-08 22:26:45 -05:00
SkyratBot
238b43aa80 [MIRROR] Adds the assembly shell [MDB IGNORE] (#9209)
* Adds the assembly shell (#62307)

Adds the assembly shell, which can be attached to wires and other assemblies like proximity sensors, timers, etc. Because assemblies already have screwdriver interaction that gets overriden by the shell component, the regular assembly screwdriver interaction can also be performed with right-click. This can be seen on examine.
While currently, circuits can interact with wires and such using remote signalers and the radio component, this has its limits, such as the possibility that someone else uses the same frequency/code combo. With the assembly shell, you can put all your circuit logic into the attached assembly.

* Adds the assembly shell

Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
2021-11-02 23:11:47 +00:00
SkyratBot
18e59c3e9b [MIRROR] Pacifists can now fire circuit guns [MDB IGNORE] (#8952)
* Pacifists can now fire wire guns (#62173)

Pacifists can use non-lethal weapons and the circuit gun seems pretty non-lethal.

* Pacifists can now fire circuit guns

Co-authored-by: MMMiracles <lolaccount1@hotmail.com>
2021-10-20 20:39:47 +01:00
SkyratBot
0d5eb8a0c4 [MIRROR] Add missing SIGNAL_HANDLERs [MDB IGNORE] (#8834)
* Add missing SIGNAL_HANDLERs (#62115)

Add missing SIGNAL_HANDLERs

* Add missing SIGNAL_HANDLERs

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-10-15 12:32:41 -04:00
SkyratBot
4c22c1f842 [MIRROR] Fixed animating filters with circuits and added special signal ports for instant circuit execution. [MDB IGNORE] (#8689)
* Fixed animating filters with circuits and added special signal ports for instant circuit execution.

* Update filter.dm

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-10-13 19:39:00 +01:00
SkyratBot
e25ff9aa2c [MIRROR] Fixed dispenser and new circuit list components not being available [MDB IGNORE] (#8715)
* Fixed dispenser and new circuit list components not being available (#61960)

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

* Fixed dispenser and new circuit list components not being available

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-10-09 09:10:32 -04:00
SkyratBot
30e071673f [MIRROR] Refactors the list datatype to support composite lists. Adapts a lot of circuits to be able to properly use composite lists. Adds the dispenser shell [MDB IGNORE] (#8650)
* Refactors the list datatype to support composite lists. Adapts a lot of circuits to be able to properly use composite lists. Adds the dispenser shell (#61856)

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

* Refactors the list datatype to support composite lists. Adapts a lot of circuits to be able to properly use composite lists. Adds the dispenser shell

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
Co-authored-by: Colovorat <35225170+Colovorat@ users.noreply.github.com>
2021-10-08 14:19:46 +01:00
SkyratBot
c23bd1cb8c [MIRROR] every case of initialize that should have mapload, does (#8374)
* every case of initialize that should have mapload, does

* E

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-24 23:07:53 +01:00
SkyratBot
f817ed6387 [MIRROR] Adds the interrupt signal to the delay component, reorganises BCI files and circuit code improvements (#8264)
* Adds the interrupt signal to the delay component, reorganises BCI files and circuit code improvements (#61393)

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

* Adds the interrupt signal to the delay component, reorganises BCI files and circuit code improvements

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-09-19 22:21:35 +01:00
SkyratBot
51d33ddd80 [MIRROR] BCIs now come with an integrated circuit with a bci action which is also now removable (#8258)
* BCIs now come with one bci action (#61521)

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

* BCIs now come with an integrated circuit with a bci action which is also now removable

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-09-19 03:44:49 +01:00
SkyratBot
1d86f54aad [MIRROR] Disables wrenching on money bot and scanner gate shells when they are locked (#8048)
* Disables wrenching on money bot and scanner gate shells when they are locked (#61274)

* Tweaks to wrenching

* Addresses comments

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

* Disables wrenching on money bot and scanner gate shells when they are locked

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-09-07 18:29:03 -04:00
SkyratBot
dc1b0d01a2 [MIRROR] Adds instant integrated circuit execution for event handling circuits. (#8015)
* Adds instant integrated circuit execution for event handling circuits. (#61205)

* Adds instant integrated circuit execution for event handling circuits.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-09-06 08:07:51 -04:00
SkyratBot
af8c0d2977 [MIRROR] Refactors how components are triggered and refactors how ports are ordered (#7951)
* Refactors how components are triggered and refactors how ports are ordered (#60934)

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

* Refactors how components are triggered and refactors how ports are ordered

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-09-03 14:02:48 +01:00
SkyratBot
ebbd5fae19 [MIRROR] adds a gun circuit shell (#7934)
* adds a gun circuit shell (#61156)

adds the circuit gun shell, every projectile it hits with outputs the shot mob, everytime its shot charge from an attached circuit is transferred to it, it deals no damage
increases the range of the to string circuit to 7 tiles from 5, now should get everything in view range

* adds a gun circuit shell

* Update gun.dm

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-03 03:56:14 +01:00
SkyratBot
8794b3bcff [MIRROR] Fixes right click on circuit controller (#7584)
* Fixes right click on circuit controller (#60840)

Co-authored-by: Colovorat <lolqwert569@ gmail.com>

* Fixes right click on circuit controller

Co-authored-by: Colovorat <35225170+Colovorat@users.noreply.github.com>
Co-authored-by: Colovorat <lolqwert569@ gmail.com>
2021-08-15 23:53:21 +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
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