Commit Graph

18 Commits

Author SHA1 Message Date
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
keronshb f7b1bda3e5
Reorders Sound Systems signatures to match Popup Systems. (#8728) 2022-06-13 09:45:47 +10:00
wrexbe bc68ac96dd
Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00
metalgearsloth 836930e733
EntityLookup as a system for content (#6931) 2022-03-03 21:18:35 +11:00
metalgearsloth 07b38e5acd
Minor atmos optimisations (#6625) 2022-02-20 17:43:20 +11:00
mirrorcult ec4d4688c7
Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
Vera Aguilera Puerto daef343c2c
Fires now play a sound effect. (#6138) 2022-01-14 01:18:17 +11:00
metalgearsloth 64de4bbed9
Nuke gridtilelookup (#6030) 2022-01-09 23:47:01 +11:00
Vera Aguilera Puerto 5cd42c9ad6 Inline UID 2021-12-03 15:53:09 +01:00
Vera Aguilera Puerto 6cea9cb973
Refactor Flammable to be ECS. (#4671)
- Refactor IHotItem into IsHotEvent.
- Refactor IFireAct into TileFireEvent.
2021-09-22 11:05:33 +02:00
Vera Aguilera Puerto 611340e454 Enables nullables for atmos internals 2021-08-02 17:03:13 +02:00
Vera Aguilera Puerto 5d929485ed Hotspot passes MapManager to GetTileRef. 2021-07-26 11:28:43 +02:00
Vera Aguilera Puerto 8066eb196b Remove Hotspot Start method. 2021-07-25 15:03:07 +02:00
Vera Aguilera Puerto d8fe13af04 Further optimize atmos by reusing specific arrays instead of using a shared arraypool 2021-07-24 16:33:04 +02:00
Vera Aguilera Puerto da25266dd5 CVar for explosive depressurization tile ripping. 2021-07-23 13:45:56 +02:00
Vera Aguilera Puerto 07c478afb6 Optimize atmos by not invalidating hotspot tiles every time they react. 2021-07-23 11:10:06 +02:00
Vera Aguilera Puerto 4112847142
ECS Atmos Part 5: Moves all logic from GridAtmosphereComponent to AtmosphereSystem. (#4331) 2021-07-23 11:09:01 +02:00
Vera Aguilera Puerto fcafa8f439
ECS Atmos Part 4: Moves all atmos logic from TileAtmosphere to AtmosphereSystem. (#4295)
* Moves all atmos logic from TileAtmosphere to AtmosphereSystem.

* Atmos uses grid anchoring to check for firelocks instead of grid tile lookups.

* CVar for space wind sound

* CVar for explosive depressurization
2021-07-20 18:03:49 +02:00