Commit Graph

61 Commits

Author SHA1 Message Date
daerSeebaer
0bb8c222bd Added blocked visuals to volumetric pump (#20610) 2023-09-29 19:35:23 -08:00
DrSmugleaf
a88e747a0b Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07:00
Kevin Zheng
d7fa5b73c3 Remove atmos device dependency on game timer (#18847) 2023-08-13 16:42:12 +10:00
Pieter-Jan Briers
a242af506e Adds the thermo-electric generator (#18840)
* Basic TEG start.

Connects via node group.

* Basic TEG test map

* Sensor monitoring basics, TEG circulator flow

* Basic power generation (it doesn't work)

* More sensor monitoring work

* Battery (SMES) monitoring system.

* Sensor monitoring fixes

Make it work properly when mapped.

* Test map improvements

* Revise TEG power output mechanism.

Now uses a fixed supplier with a custom ramping system.

* TEG test map fixes

* Make air alarms and pumps open UI on activate.

* Clean up thermo machines power switch.

Removed separate Enabled bool from the component that always matched the power receiver's state.

This enables adding a PowerSwitch component to give us alt click/verb menu.

* TEG but now fancy

* Make sensor monitoring console obviously WiP to mappers.

* Vending machine sound, because of course.

* Terrible, terrible graph background color

* Examine improvements for the TEG.

* Account for electrical power when equalizing gas mixtures.

* Get rid of the TegCirculatorArrow logic.

Use TimedDespawn instead. The "no show in right-click menuu" goes into a new general-purpose component.

Thanks Julian.

* Put big notice of "not ready, here's why" on the sensor monitoring console.

* TryGetComponent -> TryComp

* Lol there's a HideContextMenu tag

* Test fixes

* Guidebook for TEG

Fixed rotation on GuideEntityEmbed not working correctly.

Added Margin property to GuideEntityEmbed

* Make TEG power bar default to invisible.

So it doesn't appear in the guidebook and spawn menu.
2023-08-12 15:41:55 -05:00
Leon Friedrich
f2bfdd8e17 Remove superseded machine linking code (#18244) 2023-07-24 12:07:35 +10:00
faint
2f85b5ea3c Little NodeContainer ECS (#17702) 2023-06-28 21:28:38 +10:00
Julian Giebel
6ebd784cb6 Device Linking and better linking ui (#13645)
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
Co-authored-by: Visne <39844191+Visne@users.noreply.github.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-05-07 16:07:24 +10:00
Nemanja
823c8204c9 Simplifying Machine Upgrading (#15802) 2023-04-29 13:23:49 +10:00
deltanedas
3cd30c408b add signal valve (#14830)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-03-25 16:16:27 -07:00
Visne
5a5a3afbb1 Remove some obsolete AppearanceComponent method usages (#13726) 2023-02-02 12:34:53 -04:00
DrSmugleaf
7fbc2608e8 Remove redundant read-only VV from datafields (#12626) 2022-11-16 20:22:11 +01:00
Nemanja
b0e7c6f2f4 machine upgrade for gas recycler (#12496) 2022-11-09 19:11:23 -06: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
Visne
58769634c7 Fix a bunch of compiler warnings (#10518) 2022-08-13 22:28:34 -07:00
Kevin Zheng
da11acd8c3 Make passive gates great (#9816) 2022-07-30 20:00:34 -07:00
Leon Friedrich
c7ad6b709e Audio System Rejig (#9635) 2022-07-29 12:13:12 +10:00
Vera Aguilera Puerto
aa9281d667 Refactors the AtmosphereSystem public-facing API to allow for multiple atmos backends. (#8134)
* Refactors the entirety of the AtmosphereSystem public-facing API to allow for multiple atmos backends.

* actually compiles

* Remove commented out code

* funny bracket

* Move archived moles, temperature from GasMixture to TileAtmosphere.

* WIP customizable map default mixture
still VERY buggy

* broken mess
aaaaaaaaaaaaa

* Fix lattice, etc not being considered space

* visualization for "IsSpace"

* help

* Update Content.Client/Atmos/Overlays/AtmosDebugOverlay.cs

Co-authored-by: Moony <moonheart08@users.noreply.github.com>

* Holy SHIT it compiles AGAIN

* Fix AtmosDeviceSystem crash at shutdown

* Fix immutable tiles on map blueprints not being fixed by fixgridatmos/revalidate.

* Use space instead of gasmixture immutable for heat capacity calculations

* Remove all LINDA-specific code from GasMixture, move it to TileAtmosphere/AtmosphereSystem instead.

* Fix roundstart tiles not processing

* Update Content.Server/Atmos/Commands/SetTemperatureCommand.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update Content.Server/Atmos/EntitySystems/AtmosphereSystem.API.cs

Changed Files tab is so large I can't commit both suggestions at once mfw

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

Co-authored-by: Moony <moonheart08@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2022-07-04 09:51:34 -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
Leon Friedrich
229627a934 Gas injector visuals & balance (#8963) 2022-06-20 19:04:55 -07:00
keronshb
f7b1bda3e5 Reorders Sound Systems signatures to match Popup Systems. (#8728) 2022-06-13 09:45:47 +10:00
Leon Friedrich
cbae005d08 Fix dual port vents 2: Electric Boogaloo (#8396) 2022-06-06 01:38:20 -07:00
wrexbe
1e0babbd50 Make AdminLogsSystem an IoC manager (#8492)
* Make log not entity system

* Fixes
2022-05-28 23:41:17 -07:00
TheIntoxicatedCat
382da1f419 fixed pressure pump multiplying transferred moles by 8 (PEMDAS) (#8326) 2022-05-21 01:37:44 -07:00
20kdc
2899dbf2f5 Map-disablable pumps (for fixing Delta) (#8164) 2022-05-14 16:08:27 -04:00
wrexbe
bc68ac96dd Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00
Putnam3145
c342ed6240 Fixes gas pumps overpressurizing if already over (#7919) 2022-05-03 22:24:30 +02: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
ad9ddf1552 Reduce action blocker uses and add target entity to CanInteract (#6655) 2022-02-15 15:06:52 +11:00
Leon Friedrich
32ada7de7a Reduce atmos system resolves (#6465) 2022-02-05 21:57:26 +11:00
wrexbe
17db0775c8 Auto comp (#6416) 2022-02-02 14:35:40 +11:00
wrexbe
94207a42e9 Make manual valves work (#6121)
* Make manual valves work

* Change some GasValveSystem lookups
2022-01-15 05:18:45 -08:00
Flipp Syder
b1584793bf Adds fire/air alarms (#5018)
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: E F R <602406+Efruit@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-01-02 15:56:24 +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
Vera Aguilera Puerto
2ff4ec65d5 Inline TryGetComponent completely 2021-12-03 14:05:27 +01:00
Acruid
fa0ec5cbd9 AppearanceComponent API Changes (#5446) 2021-11-23 18:22:59 +11: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
Vera Aguilera Puerto
48f8dd2284 ActionBlocker CanInteract uses EntityUid exclusively
ActionBlockerSystem fully uses EntityUid now!
2021-11-09 15:05:49 +01:00
Swept
b46957e0d8 Initial (#5193) 2021-11-06 17:32:33 -07:00
ike709
17e1b7827e Adds UIs for volume and pressure pumps (#5155)
* Adds UIs for volume and pressure pumps

* Update Content.Server/Atmos/Piping/Binary/EntitySystems/GasPressurePumpSystem.cs

* Update Content.Server/Atmos/Piping/Binary/EntitySystems/GasVolumePumpSystem.cs

Co-authored-by: ike709 <ike709@github.com>
2021-11-04 17:41:56 -07:00
E F R
0ab6ca9a12 Content/Atmos: add status info to binary devices' examine text (#4928) 2021-10-19 23:46:31 +02:00
metalgearsloth
ad783396f8 Update CloseTo to CloseToPercent (#4708) 2021-09-29 20:07:01 +10:00