Commit Graph

16 Commits

Author SHA1 Message Date
tmyqlfpir
53518e043b Circuit editor QoL and new circuit components (#82969)
## About The Pull Request

This PR introduces a number of minor quality of life improvements to
already existing circuit components, and adds three new components.

<img width="600" alt="preview"
src="https://github.com/tgstation/tgstation/assets/80724828/85d39b6d-b055-430e-8996-0da088616887">

## Why It's Good For The Game

This improves the overall experience for circuits.

### UI changes

<img width="550" alt="grid aligned"
src="https://github.com/tgstation/tgstation/assets/80724828/cc7b43b5-292f-4643-beab-e01ae675fb19">

Grid align is now an option for circuit designers. It will round objects
to the nearest 10px units internally, and can be toggled on/off by the
new additional button beside the component menu button. This makes
circuits easier on the eyes as things are pixel perfect aligned.

<img width="814" alt="tooltips"
src="https://github.com/tgstation/tgstation/assets/80724828/0d31c98f-3be9-46e0-ab37-20bac3799112">

All three buttons have been given tool tips.

### Tweaked Components

<img width="136" alt="voice activator"
src="https://github.com/tgstation/tgstation/assets/80724828/21dd0f65-cb98-4bd5-aeb0-63315e842cb6">

* Adds a on/off flag to the voice activator component
-- This saves power for circuits as you're not forced to use a compare
flag check to turn off voice activation

<img width="136" alt="speech"
src="https://github.com/tgstation/tgstation/assets/80724828/9137b76c-3077-4597-8411-2d9694b39e9e">

* Adds a quiet mode flag to speech component
-- This is ideal when you want a device to speak, but don't want other
people to hear. A good example would be a handheld translator that you
only want to hear yourself.

### New Components

<img width="136" alt="ntnet list literal"
src="https://github.com/tgstation/tgstation/assets/80724828/657c851b-d442-4a63-8650-410cb8e76089">

* An NTNet Send component that allows everything to be input much like
the list literal component
-- This makes sending stuff over NTNet easier for the user, and use less
power as it won't require an additional list literal component

<img width="136" alt="compare health state"
src="https://github.com/tgstation/tgstation/assets/80724828/0bed076c-3aa1-4931-af90-2b9eb8e1ae9a">

* A health comparison component that checks the entity's health state,
and can return true or false depending if the entity is alive, sleeping,
unconscious, critical or dead
-- This could be achieved by using a health sensor and a compare
component, however it lacks the ability to know when a entity is
unconscious or sleeping

<img width="136" alt="toggle"
src="https://github.com/tgstation/tgstation/assets/80724828/7017b6bf-937a-42ad-87f3-4f1134853ac3">

* A quick toggle component to allow the switching between a true and
false state
-- This could be achieved by using a logic component and self linking,
however this makes it far easier for newcomers to make something as
simple as an on/off switch (such as a handheld translator which uses the
front button to turn on/off)

## Changelog
🆑
qol: Add tooltips to circuit editor buttons
qol: Add grid alignment mode to circuit editor
add: Added new compare health state component
add: Added new NTNet send list literal component
add: Added new toggle component
qol: Added activity toggle to voice activator component
qol: Added quiet mode to speech component
qol: NTNet send component will not use power/trigger if NTNet is offline
/🆑
2024-05-15 19:31:18 +00:00
Time-Green
9d6e70171a Adds arctangent 2 component to circuits (#79892)
## About The Pull Request
Adds an arctangent 2 component (atan2)

## Why It's Good For The Game

It's made to convert offsets into angles, something thats pretty useful
in a coordinate based game
## Changelog
🆑
add: Adds an arctangent2 component to circuitry!
/🆑
2023-11-24 20:04:49 +00:00
Watermelon914
74dddffb29 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>
2022-07-28 23:55:41 -07:00
Watermelon914
44a2af780d 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>
2021-10-28 11:42:57 -07:00
Ghom
585f1119e3 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.
2021-10-23 08:03:26 +01:00
Ghom
88b420d240 Trigonometry circuit component (#61885)
Adds a trigonometry circuit component to the game.
2021-10-16 19:25:30 -04:00
Watermelon914
126411f405 Refactors how components are triggered and refactors how ports are ordered (#60934)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
2021-09-03 02:22:39 -07:00
Gurkenglas
e0fad671fd 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>
2021-08-11 18:48:29 +03:00
Watermelon914
0deb859b3c Moves most circuit defines to files (#60705)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
2021-08-07 16:16:18 -07:00
Watermelon914
13296f5f74 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>
2021-08-04 09:06:48 -07:00
Gurkenglas
aa018a857a Circuit component descriptions and module names are now visible to the naked eye. (#60545) 2021-07-31 21:19:43 -07:00
Watermelon914
ac2efd9b86 Removes Destroy overrides from most circuit components (#60492)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
2021-07-28 18:31:42 -07:00
Watermelon914
7e9e2df721 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>
2021-06-29 13:23:14 -07:00
Watermelon914
f92403f3ed 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.
2021-06-23 18:34:19 -03:00
Watermelon914
34e46de218 Fixes comparison component runtime (#59584) 2021-06-11 13:10:04 -03:00
Watermelon914
f2b39b6803 More circuit components. Restructures the circuit components folder to be more organised. (#59459)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
2021-06-04 21:38:30 -07:00