Commit Graph

35 Commits

Author SHA1 Message Date
Kevin Zheng
d7fa5b73c3 Remove atmos device dependency on game timer (#18847) 2023-08-13 16:42:12 +10:00
faint
2f85b5ea3c Little NodeContainer ECS (#17702) 2023-06-28 21:28:38 +10:00
Chief-Engineer
5df6c307e1 add filter change logs for gas filters (#13950) 2023-02-12 12:42:28 +00:00
Visne
5a5a3afbb1 Remove some obsolete AppearanceComponent method usages (#13726) 2023-02-02 12:34:53 -04:00
Leon Friedrich
881a2b2ece PopupSystem public methods rejig (#12830) 2022-12-19 08:41:47 +11:00
Vordenburg
bf908512bd Allow gas filters to not filter gases. (#12051) 2022-11-04 12:27:20 +11:00
Kevin Zheng
45349e3c0d Add gas recyclers (#9934)
* Add RemoveVolume()

RemoveVolume(vol) captures the common pattern of:

    air.RemoveRatio(vol / air.Volume)

Change existing code to use this method where appropriate.

* Add gas recyclers

Gas recyclers catalyze the conversion of CO2 and N2O to O2 and N2. The
gas recycler component takes waste gas from the input net and releases
the result into the output net.

To make things more fun, the input net must be pressurized to 3 MPa and
heated to at least 300 C; otherwise, no reaction will occur.

Game-mechanic wise, gas recyclers contain the catalyst for the
conversion reaction, and therefore, requires no external power. However,
the external pumps and heaters required to make the reaction happen
still do.

* Fix gas recyclers

Fix negative sqrt, fix pressure check after remove.
2022-09-11 18:02:01 -05:00
theashtronaut
868abaca5c Gas Analyzer can now scan pipes/devices along with the environment (#10976) 2022-09-08 07:22:14 -07:00
Kevin Zheng
9cb7e0f6c4 Make atmos Turing-complete (#10520)
* Add pneumatic valves

Pneumatic valves permit bidirectional flow between the inlet and outlet
if the pressure at the control port is high enough.

* Add construction recipe
2022-08-11 16:19:31 -05:00
Vera Aguilera Puerto
9090460e0e Cleans up the appearance and ambience of various atmos devices. (#9071) 2022-06-23 22:18:11 +10:00
wrexbe
1e0babbd50 Make AdminLogsSystem an IoC manager (#8492)
* Make log not entity system

* Fixes
2022-05-28 23:41:17 -07:00
wrexbe
bc68ac96dd Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00
metalgearsloth
72da2db62d Content changes for grid splitting (#7645) (#7746)
Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
2022-04-24 13:54:25 +10:00
metalgearsloth
ecaad9c349 Revert "Update submodule (again)" (#7730) 2022-04-24 02:26:00 +10:00
metalgearsloth
8c7772630c Content changes for grid splitting (#7645)
Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
2022-04-24 00:59:38 +10:00
Moony
f5c92caef4 Ambience enhancements. (#7073) 2022-03-12 15:20:31 -07:00
Leon Friedrich
ee7d0440f3 Limit atmos device rates (#6533) 2022-03-01 01:39:30 +11:00
mirrorcult
ec4d4688c7 Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
Leon Friedrich
b417c022bf Disable mixer and filter on unanchor (#6577) 2022-02-10 14:28:11 +11:00
Leon Friedrich
dfc03d6871 Fix gas mixer visuals (#6534) 2022-02-07 13:42:07 -07:00
Leon Friedrich
32ada7de7a Reduce atmos system resolves (#6465) 2022-02-05 21:57:26 +11:00
Vera Aguilera Puerto
f6371c6e62 Make all current admin logs use ToPrettyString 2021-12-11 16:00:10 +01:00
Moony
7bc656bf4d Add atmos device logs (#5743) 2021-12-10 19:23:18 +01:00
Vera Aguilera Puerto
c8b65be747 Replace IEntityManager resolves in systems for cached EntityManager 2021-12-08 13:00:43 +01:00
Vera Aguilera Puerto
5cd42c9ad6 Inline UID 2021-12-03 15:53:09 +01:00
Vera Aguilera Puerto
2654775bf0 Inline GetComponentOrNull 2021-12-03 15:32:05 +01:00
Vera Aguilera Puerto
ee4ff9cfe8 Inline Name 2021-12-03 15:25:51 +01:00
Vera Aguilera Puerto
a5b57c8e10 Inline Transform 2021-12-03 14:20:34 +01:00
Vera Aguilera Puerto
69b270017b Inline TryGetComponent completely, for real 2021-12-03 14:17:01 +01:00
ike709
c06f52a456 Adds a UI for gas mixers (#5165)
Co-authored-by: E F R <602406+Efruit@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: ike709 <ike709@github.com>
2021-11-11 23:10:21 +01:00
ike709
9da98e3916 Adds a UI for gas filters (#5052)
* Adds a UI for gas filters

* Address reviews

* Update Content.Client/Atmos/UI/GasFilterBoundUserInterface.cs

* Update Content.Server/Atmos/Piping/Trinary/EntitySystems/GasFilterSystem.cs

* Fix build

Co-authored-by: ike709 <ike709@github.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
2021-11-02 10:44:40 +01:00
Vera Aguilera Puerto
0be5ff829b Gets rid of all ComponentManager usages. (#4707) 2021-09-28 13:35:29 +02:00
Vera Aguilera Puerto
331604cc66 GasFilter appearance, EnabledAtmosDeviceVisualizer improvements. 2021-08-02 13:20:31 +02:00
Pieter-Jan Briers
103bc19508 Pow3r: stage 1 (#4208)
Co-authored-by: 20kdc <asdd2808@gmail.com>
2021-07-04 18:11:52 +02:00
Vera Aguilera Puerto
a2b737d945 Atmos pipe rework (#3833)
* Initial

* Cleanup a bunch of things

* some changes dunno

* RequireAnchored

* a

* stuff

* more work

* Lots of progress

* delete pipe visualizer

* a

* b

* pipenet and pipenode cleanup

* Fixes

* Adds GasValve

* Adds GasMiner

* Fix stuff, maybe?

* More fixes

* Ignored components on the client

* Adds thermomachine behavior, change a bunch of stuff

* Remove Anchored

* some work, but it's shitcode

* significantly more ECS

* ECS AtmosDevices

* Cleanup

* fix appearance

* when the pipe direction is sus

* Gas tanks and canisters

* pipe anchoring and stuff

* coding is my passion

* Unsafe pipes take longer to unanchor

* turns out we're no longer using eris canisters

* Gas canister inserted tank appearance, improvements

* Work on a bunch of appearances

* Scrubber appearance

* Reorganize AtmosphereSystem.Piping into a bunch of different systems

* Appearance for vent/scrubber/pump turns off when leaving atmosphere

* ThermoMachine appearance

* Cleanup gas tanks

* Remove passive gate unused imports

* remove old canister UI functionality

* PipeNode environment air, make everything use AssumeAir instead of merging manually

* a

* Reorganize atmos to follow new structure

* ?????

* Canister UI, restructure client

* Restructure shared

* Fix build tho

* listen, at least the canister UI works entirely...

* fix build : )

* Atmos device prototypes have names and descriptions

* gas canister ui slider doesn't jitter

* trinary prototypes

* sprite for miners

* ignore components

* fix YAML

* Fix port system doing useless thing

* Fix build

* fix thinking moment

* fix build again because

* canister direction

* pipenode is a word

* GasTank Air will throw on invalid states

* fix build....

* Unhardcode volume pump thresholds

* Volume pump and filter take time into account

* Rename Join/Leave atmosphere events to AtmosDeviceEnabled/Disabled Event

* Gas tank node volume is set by initial mixtuer

* I love node container
2021-06-19 13:25:05 +02:00