Commit Graph

135 Commits

Author SHA1 Message Date
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
f8c616b68b [MIRROR] BCI component expansion [MDB IGNORE] (#12275)
* BCI component expansion (#65616)

This PR adds 2 new BCI components: VOX component which allows to play vox announcements(for the user only!) and Thought Listener component which allows user to input a string upon activation.

I've also added a rotation port for the object overlay component so you can make pinpointers using it.

This PR requires #65604

* BCI component expansion

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2022-03-25 18:09:02 +00:00
SkyratBot
c526aa829d [MIRROR] Adds view sensor [MDB IGNORE] (#12274)
* Adds view sensor (#65624)

Adds view sensor component to circuits which allows to get all visible(no ghost detectors, sorry) movable atoms in a 5 tile range. It only works when your circuit's shell is placed on the ground or is held in hands.

* Adds view sensor

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2022-03-25 18:08:52 +00:00
SkyratBot
e13d57e6a1 [MIRROR] BCI overlay fix [MDB IGNORE] (#12222)
* BCI overlay fix (#65604)

* BCI overlay fix

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2022-03-22 21:04:14 +00:00
SkyratBot
8acef974bd [MIRROR] Adds format (associative) list wiremod component [MDB IGNORE] (#12189)
* Adds format (associative) list wiremod component (#65404)

Adds a wiremod component called "Format List" and one called "Format Associative List" that you get at round-start.

It accepts a format string and a list of parameters.

For "Format List":
The format string contains normal text, and codes of the form %n (eg. %1, %2, %3) that correlate to indexes in the param list.
For "Format Associative List":
The format string contains normal text, and codes of the form %key (eg. %name, %health) that correlate to keys in the associative param list.
The param list can contain any types, which will be automatically converted to strings.
Conversion of entities to strings still follows the range rule of To String. Important to keep in mind if you're formatting an NTNet transmission.
For the associative version, the keys must be strings comprised of letters, numbers, or underscore.
Simplest example that says "Bob McToolbox pressed the button.":

* Adds format (associative) list wiremod component

Co-authored-by: Tastyfish <crazychris32@gmail.com>
2022-03-20 09:36:36 -07: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
fa4a85b41a [MIRROR] Improves proccall admin circuit component. Adds the option to not resolve weakrefs for set variables and proccall admin circuit components. [MDB IGNORE] (#11471)
* Improves proccall admin circuit component. Adds the option to not resolve weakrefs for set variables and proccall admin circuit components. (#64564)

* Improves proccall admin circuit function

* Improves proccall admin circuit component. Adds the option to not resolve weakrefs for set variables and proccall admin circuit components.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2022-02-12 21:10:10 +00:00
SkyratBot
f8196cd6a8 [MIRROR] Adds a trigger version of the variable setter circuit component [MDB IGNORE] (#11443)
* Adds a trigger version of the variable setter component (#64820)

See title. Lets you use input and output signals to set variables instead of automatically setting them.

Gives more control, additionally there may be cases where you don't want this, and the normal component still exists.
They're two separate components so that the first one can be a lot more compact

* Adds a trigger version of the variable setter circuit component

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2022-02-11 10:26:59 +00:00
SkyratBot
1d2d7d2b6c [MIRROR] Fixes an issue with tags for mobs not properly being handled correctly and adds logging to admin circuits [MDB IGNORE] (#11441)
* Fixes an issue with tags for mobs not properly being handled correctly and adds logging to admin circuits (#64821)

Tags would bug out due to how the 'Save Shell' component would copy all the variables on an object except a few restricted ones, though this proved to be very buggy.
The duplicator part has been removed and more proper logging has been added.
To compensate for the duplicator part being removed, admin circuit display names will now replace the entire name of the shell.

* Fixes an issue with tags for mobs not properly being handled correctly and adds logging to admin circuits

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2022-02-11 10:25:58 +00:00
SkyratBot
4f58adba08 [MIRROR] Adds basic list manipulation and fixes some performance issues with lists in integrated circuits [MDB IGNORE] (#11273)
* Adds basic list manipulation and fixes some performance issues with lists in integrated circuits (#64541)

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

* Adds basic list manipulation and fixes some performance issues with lists in integrated circuits

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2022-02-06 14:05:37 +00:00
SkyratBot
8165052c7b [MIRROR] Remove the beakers requirement for making component printers and module duplicators [MDB IGNORE] (#11259)
* Remove the beakers requirement for making component printers and module duplicators (#64620)

Remove the beakers requirement for making component printers and module duplicators.
I added this because I was copying, like, the protolathe or something, which can take chemicals even though we don't actually use that for anything, it's just annoying.

* Remove the beakers requirement for making component printers and module duplicators

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-02-03 19:13:50 +00: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
65b8082678 [MIRROR] Harddel Fix Pack #42 + Better Live Reftracking Support [MDB IGNORE] (#10639)
* Harddel Fix Pack #42 + Better Live Reftracking Support

* awooga

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-01-12 21:57:49 +00:00
SkyratBot
4b80bb178a [MIRROR] Circuit ID Components [MDB IGNORE] (#10472)
* Circuit ID Components (#63817)

This PR adds several circuit components used for scanning and checking ID cards:

The Get ID component returns the ID the target is wearing or holding
The Read ID Info component returns the name, rank, and age registered on the ID
The Read ID Access component returns a list of all the accesses on the ID
The Access Checker component does comparisons on lists of numbers, specifically tailored for checking ID access
Due to the access checker using a similar UI element to the airlock electronics, that element has been moved to its own file in tgui/interfaces/common. This change is not player-facing.

* Circuit ID Components

Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
2022-01-06 08:15: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
092e534e75 [MIRROR] TGUI list conversions + bug fixes [MDB IGNORE] (#10355)
* TGUI list conversions + bug fixes

* Fixing conflicts

* Maintaining a few modular files while we're at it...

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-01-03 22:53:58 +00:00
SkyratBot
edcd051e56 [MIRROR] Fixes loading shells with their own initial circuits [MDB IGNORE] (#10293)
* save shell component properly loads shells that come with their own circuit (#63628)

Attempting to load a BCI or circuit MODsuit module with the save shell component yields an empty circuit. This PR fixes that by making the save shell component check for and delete any pre-existing circuit in the loaded shell.

* Fixes loading shells with their own initial circuits

Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
2021-12-27 02:25:37 +00:00
SkyratBot
a0c805ff4c [MIRROR] Fix skin tone sorting and refactor color procs [MDB IGNORE] (#10210)
* Fix skin tone sorting and refactor color procs (#63554)

* Remove superfluous hash from hex2rgb call
Add stack_trace to hex2rgb to catch future nonsense

* Fix skin tone sorting and refactor color procs

Co-authored-by: AndrewL97 <andrewjlove97@gmail.com>
2021-12-23 16:46:08 +00:00
SkyratBot
92f1b976a0 [MIRROR] Fix missing SIGNAL_HANDLERs [MDB IGNORE] (#10116)
* Fix missing SIGNAL_HANDLERs (#63404)

More missing signal handlers caught by dm-lua

* Fix missing SIGNAL_HANDLERs

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-12-17 12:33:32 +00: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
241d22ec4b [MIRROR] Fixes the foreach and filter circuit component [MDB IGNORE] (#9469)
* Fixes the foreach and filter circuit component (#62798)

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

* Fixes the foreach and filter circuit component

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-11-15 09:42:10 -05:00
SkyratBot
aa4f9a13db [MIRROR] Reagents scanner circuit component [MDB IGNORE] (#9377)
* Reagents scanner circuit component (#62704)

It allows people to make circuits objects that interface with reagents.

* Reagents scanner circuit component

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-11-10 14:56:39 -05:00
SkyratBot
b7c63d2c50 [MIRROR] Material Scanner circuit component [MDB IGNORE] (#9367)
* Material Scanner circuit component (#62677)

* Material Scanner circuit component

* get_turf(src) to get_location()

* Material Scanner circuit component

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-11-10 10:33:35 -05:00
SkyratBot
2d327b67d9 [MIRROR] Fixes some connection problems with response signals for integrated circuits [MDB IGNORE] (#9336)
* Fixes some connection problems with response signals for integrated circuits (#62627)

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

* Fixes some connection problems with response signals for integrated circuits

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-11-09 08:25:01 -05: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
6cdf152a84 [MIRROR] Made integrated circuits duplicatable through the module printer [MDB IGNORE] (#9198)
* Made integrated circuits duplicatable (#62302)

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

* Made integrated circuits duplicatable through the module printer

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-11-02 08:04:25 -04:00
SkyratBot
c9b268a72a [MIRROR] Integrated the component printer into the integrated circuit UI. You can now link integrated circuits to component printers [MDB IGNORE] (#9107)
* Integrated the component printer into the integrated circuit UI. You can now link integrated circuits to component printers (#62287)

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

* Integrated the component printer into the integrated circuit UI. You can now link integrated circuits to component printers

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-10-28 15:49:34 -04:00
SkyratBot
26c915c93f [MIRROR] Binary and Decimal Conversion Components. [MDB IGNORE] (#8995)
* Binary and Decimal Conversion Components. (#61889)

Added a couple components that convert a number into an array of binary digits and viceversa.
May help players mak more complex and advanced components without filtering those lacking knowledge in the binary field.

* Binary and Decimal Conversion Components.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-10-23 15:14:32 +01:00
SkyratBot
24f3d27c8b [MIRROR] Adds 2 new signals, adds pre/postattack_secondary signals to circuit signal handler presets (+a proccall component fix) [MDB IGNORE] (#8969)
* Adds 2 new signals, adds pre/postattack_secondary signals to circuit signal handler presets (+a proccall component fix) (#62233)

Adds COMSIG_ITEM_AFTERATTACK_SECONDARY and COMSIG_MOB_ITEM_AFTERATTACK_SECONDARY signals, which are both called by item/proc/afterattack_secondary.
Adds COMSIG_ITEM_PRE_ATTACK_SECONDARY and COMSIG_ITEM_AFTERATTACK_SECONDARY to the list of circuit signal handler presets.
The proc call, set var, and spawn atom components will resolve any weakrefs passed to them in their parameter port, seeing as the list literal component now converts datums into weakrefs.

* Adds 2 new signals, adds pre/postattack_secondary signals to circuit signal handler presets (+a proccall component fix)

Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
2021-10-23 00:24:37 +01:00
SkyratBot
457644fd27 [MIRROR] clickon signal procs cleanup (fixes inability to examine things in certain situations). [MDB IGNORE] (#8928)
* clickon signal procs cleanup (fixes inability to examine things in certain situations).

* Mirror!

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-10-22 23:18:33 +13: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
778e030a1a [MIRROR] List literal components now store weakrefs in their list instead of the datum directly [MDB IGNORE] (#8891)
* List literal components now store weakrefs instead of the datum directly (#62004)

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

* List literal components now store weakrefs in their list instead of the datum directly

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-10-17 23:15:19 +01:00
SkyratBot
be43595093 [MIRROR] Trigonometry circuit component [MDB IGNORE] (#8863)
* Trigonometry circuit component (#61885)

Adds a trigonometry circuit component to the game.

* Trigonometry circuit component

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-10-16 20:32:27 -04: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
01a41bef0d [MIRROR] Printer Circuit Component [MDB IGNORE] (#8825)
* Printer Circuit Component (#62012)

I'm adding a circuit component that can print text string on a paper object in a variety of colors and font typefaces (currently only web-safe ones are available, maybe i'll add some fancy ones in the future but they'd need to be imported either through @ import of @ font-face in a separate CSS not imported by every tgui UI).
It's important to note that because the UI sanitizes new text inputed by users and not what's already written on the paper (so the pen_color and pen_font don't be purged in the process), we can't safely have these strings "printed" into the info variable directly, because of that these values will be stored in two new list variables, one for the text and one for font color, face and the signature. When the paper sheet UI is opened, these will be sanitized and then parsed into the text, so the next time the paper is edited we can clear these two lists.
Obviously better than a hacky byond proc - parsemarkdown() is outdated af -, albeit a bit messy... like the rest of paper code.

Requires #62033.

* Printer Circuit Component

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-10-14 21:20:22 +01:00
SkyratBot
e294c9ba84 Fixes bugs with admin circuits, expands upon some admin circuit components and fixes duplicator runtiming when a port doesn't exist. (#8738)
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-10-13 19:46:14 +01:00
SkyratBot
e18c8a1e38 Makes it so that datums input ports can take entity input ports too (#8718)
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-10-13 19:41:23 +01: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
f5d6224bb8 [MIRROR] Fix list literal unable to contain tables [MDB IGNORE] (#8794)
* Fix list literal unable to contain tables (#62009)

Co-authored-by: me <>

* Fix list literal unable to contain tables

Co-authored-by: FA120 <91917171+FA120@users.noreply.github.com>
2021-10-13 19:10:21 +01:00
SkyratBot
c5f573d82c [MIRROR] timepiece circuit module [MDB IGNORE] (#8780)
* timepiece circuit module (#62039)

Adds a circuit component that outputs the station time in chosen format and unit of time when triggered. The options are currently 24-hour and 12-hour for the time format, hours, minutes and seconds for the unit of time.
The component is called timepiece because clock was already taken by another component that sends signal outputs at intervals.

* timepiece circuit module

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-10-13 19:09:06 +01:00
SkyratBot
80b535b1ff [MIRROR] Adds the CIRCUIT_FLAG_REFUSE_MODULE circuit flag. [MDB IGNORE] (#8763)
* Adds the CIRCUIT_FLAG_REFUSE_MODULE circuit flag. (#62033)

Components like the MMI one can't be added to circuits more than once since they may register signals with same proctype and similar things which make for some tangled up race conditions if more than one is present.
Unfortunately this safety can be bypassed - with little gain alas, an MMI can't be inserted by attacking the component with it. it needs a shell - by using a module component. That's no good. So I'm adding a flag that can be used to stop certain components from being added to module components.

* Adds the CIRCUIT_FLAG_REFUSE_MODULE circuit flag.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-10-12 01:45:54 +01:00
SkyratBot
3696b3058e [MIRROR] Fixed circuit variables not working because of a null listener in their listener list [MDB IGNORE] (#8703)
* Fixed circuit variables not working because of a null listener in their listener list (#61961)

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

* Fixed circuit variables not working because of a null listener in their listener list

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2021-10-09 09:19:37 -04: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
fc29da4e9c [MIRROR] [s] Cleanup escalation unsafe procs [MDB IGNORE] (#8642)
* [s] Cleanup escalation unsafe procs (#61905)

Fixes admins spawning in atoms and datums without the DF_VAR_EDITED flag

* [s] Cleanup escalation unsafe procs

Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
2021-10-06 14:36:27 -04:00