Commit Graph

823 Commits

Author SHA1 Message Date
metalgearsloth a89d4c750b
Power stuff (#31314)
* Power stuff

- Add shared IsPowered
- Add shared ResolveApc
- Move PowerChangedEvent to shared for now
- Add SlimPoweredLight that actually functions how you'd expect a PoweredLight to function it id didn't have a bunch of bloat on it.

* big update

* boing
2024-08-25 22:18:42 +10:00
eoineoineoin b0375f115c
Remove client state from server AirAlarmComponent (#31236)
* Remove client state from server AirAlarmComponent

Send information for all connected devices, not just the ones for the
current tab, as attempting to limit this breaks multiple users viewing
the same UI.

Fixes #12842

* Send device data as a list, rather than a dictionary

---------

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
2024-08-25 12:01:46 +10:00
Mervill 059c84c2cf
Replace obsolete code in GasPortableSystem (#31407) 2024-08-25 11:55:02 +10:00
deltanedas 608a179626 Add Vox atmosphere marker, vents, and air alarms 2024-08-24 14:21:59 -07:00
deltanedas 2d05be3740 Make component fields datafields 2024-08-24 14:21:59 -07:00
Mervill c561ff1b4a
Replace obsolete map function in AtmosphereSystem (#31252) 2024-08-20 23:30:46 -07:00
Mervill 2e3365793c
Greatly improve the usability of the Gas Analyzer. (#30763)
* greatly improve how the gas analyzer behaves

* don't close the analyzer when the object goes out of range

* cleanup

* always switch to the device tab when a new device is analyzed

* modern api part one

* modern api part 2

* modern api part three

* file scope namespace
2024-08-15 10:45:13 -04:00
Mervill b8d10a3f5e
Add verbose (client predicted!) examine text to Gas Miners (#30480)
* add verbose examine text to gas miners so their behaviour can be understood

* no need for these to be properties

* use an enum instead of two booleans for the miner state

* require the gas miner to be anchored in order to not be disabled

* xmldoc

* pr feedback

* file-scope namespace

* it's to late to hide my transgressions in a rebase

* turns out the normal examine distance is totally fine for this
2024-08-08 12:14:31 +10:00
Nemanja ce97225c2d
Replace IClickAlert with events (#30728)
* Replace IAlertClick with events

* whoop

* eek!
2024-08-07 15:15:35 +10:00
Plykiya a87efd7d01
Replace xform.WorldPosition with xformSystem method for Setting/Getting (#30029)
* GET WORLD POSITON, ROTATION

* Missing parentheses

* ui system depndency

* the issue

* Unused

* Let the function do the transform

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-06 21:02:01 +10:00
slarticodefast bb2981400c
replace all uses of TryGetContainingContainer with non-obsolete overload (#30583)
* replace all uses of TryGetContainerContainer with non-obsolete overload

* rerun
2024-08-04 15:38:53 +10:00
TemporalOroboros bea8c1a0b8
Relocate TemperatureProtectionComponent (#30437)
Moves it from the atmos module to the temperature module where it is actually used.
2024-07-30 12:31:55 -07:00
Plykiya b7aa97e203
Replace obsolete EntityCoordiates.InRange() with TransformSystem.InRange() (#29993)
* Replace EntityCoordiates.InRange() with TransformSystem.InRange()

* nullspace

* I figured it out

* man I have no clue how client side sutff works

* please have mercy

* remove RadiationPulseOverlay changes

* nullspace

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-07-13 23:25:51 +02:00
Plykiya c94c72785d
Updates GasTankSystem and InternalsSystem to not use Component.Owner (#29934)
* blah, setup

* Updates GasTankSystem and InternalsSystem to not use Component.Owner

* squish the diff

* Fixa the rest

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-07-12 21:44:45 +10:00
Tayrtahn e6f55fafb4
Fix AtmosDeviceSystem debug assert Heisenbug (#29752)
Fix AtmosDeviceSystem debug assertion Heisenbug
2024-07-11 16:14:34 +10:00
Mervill 4ec15c84fa
Clean up gas miners (#29657)
Separate the environment check from CapSpawnAmount into GetValidEnvironment to make the code a little cleaner, and also makes these two checks independent.

CapSpawnAmount and GetValidEnvironment now both have zero side-effects

Broken renamed Idle to reflect its use. Broken in my mind implies that there's some method for fixing.

---------

Co-authored-by: Partmedia <kevinz5000@gmail.com>
2024-07-02 12:18:56 -08:00
jmcb ed2789a0e4
Remove outdated NotNullWhen annotation (#29641)
A previous version of this function returned a bool. Since this no longer does that, remove the annotation.
2024-07-01 09:10:49 -08:00
Guillaume E 83e048ee45
Improve gas miner's output bounds checks (#29569)
Miners now can produce a fraction of their SpawnAmount corresponding
to the "remaining space" available in their environment according to
their MaxExternalPressure and MaxExternalAmount.
2024-06-29 11:44:32 -07:00
osjarw 6af418663e
Limit air lost by wrenching/breaking pipes (#29574)
Gas lost via wrench/breaking capped
2024-06-29 09:06:25 -07:00
slarticodefast cd2968d849
Add sprite for vent under-pressure lock-out (#29527) 2024-06-28 22:02:48 -07:00
slarticodefast ebd6104c63
Fix air vent and scrubber not requiring power (#29544) 2024-06-28 21:41:49 -07:00
Guillaume E c38859b77a
Make miners respect AtmosDeviceUpdateEvent.dt (#29522)
Miners' prototype have been changed to reflect this (I read
somewhere that we have about 1 atmos tick/0.5s, my tests show more
like 1/0.53 but that looks close enough).

This also means that miner's spawnAmount is now expressed in mol/s.

See: #18781
2024-06-28 10:49:39 -08:00
Partmedia 849a790617
Increase lockout threshold (#29504) 2024-06-27 01:05:27 -07:00
osjarw 707f1f4981
Fix air alarms (#29172)
Broken by #28272
2024-06-18 16:20:57 -08:00
Nemanja 748e5831e8
Add moon boots (#29009) 2024-06-14 20:43:23 -07:00
MjrLandWhale 222d3b532d
Override under-pressure lock-out in air alarm "Fill" mode (#28909) 2024-06-13 15:25:02 -08:00
Plykiya dec1c281a8
Internals are kept on as long as any breathing tool is on (#28595) 2024-06-06 03:01:45 -04:00
Nemanja a1a8f04036
Decouple interactions from hands, cleanup old events, add new fears (#28393)
* ok basic shit

* second part

* pretend it isn't real it can't hurt you.

* 👁️ 👁️

* shadowcommander review
2024-05-31 13:26:19 -07:00
Leon Friedrich 54337911d3
Only auto-enable internals when necessary (#28248)
* Only auto-enable internals when necessary

* Add toxic gas check

* Rename Any -> AnyPositive
2024-05-31 12:28:11 +10:00
Kevin Zheng 241b8d8be5
Fix flow rate display (#28372) 2024-05-29 20:34:41 -04:00
metalgearsloth 962a1192bd
Block gas analyzer updates if the UI doesn't open (#28376)
Fixes the gas analyzer UI coming up when used with a target.
2024-05-29 10:19:06 -08:00
Kevin Zheng 4b9fa926c0
Tune spacing speed to fix under-pressure lockout (#28370) 2024-05-28 23:21:48 -06:00
Nemanja 44b93e68ee
Prevent stacking pipes (#28308)
* prevent stacking pipes

* access

* notafet review

* notafet review pt. 2

* not the actual fix
2024-05-27 16:37:27 -06:00
Ed afb1acab10
Fix candles (firestack fading) (#28139)
Update FlammableSystem.cs
2024-05-25 16:22:34 -04:00
Nemanja 8a95cb186c
Remove AlertType and AlertCategory (#27933) 2024-05-23 22:43:04 -04:00
Leon Friedrich 0f6e1196d8
Use non-generic `TryComp()` for metadata & transform (#28133) 2024-05-20 22:40:35 -07:00
DrSmugleaf e53f225a39
Move most rotting code to shared (#28050)
* Move most rotting code to shared

* Remove unused dependency
2024-05-15 17:45:50 -04:00
deltanedas bad5367479
fire troll fix (#28034)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-05-14 16:47:00 -07:00
deltanedas 4b2193a8a0
fix fire spread round removal (#27986)
* fix a resolve debug assert

* rewrite fire spread

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-05-13 17:49:44 -04:00
Leon Friedrich 1f03111ff8
Change some `EntityQueryEnumerator` to `AllEntityQuery` (#27969) 2024-05-13 15:11:49 +10:00
Kara 993eef1e7c
Resolve `'EntitySystem.Get<T>()' is obsolete` in content (#27936)
* PROJECT 0 WARNINGS: Resolve `'EntitySystem.Get<T>()' is obsolete` in content

* pass entman

* dog ass test

* webeditor
2024-05-12 20:34:52 -04:00
Kara 1596e04d0f
Resolve all non-obsoleting warnings in content (#27934)
* Resolve all non-obsoleting warnings in content

* Update ClientGameTicker.cs

* Update SkeletonAccentSystem.cs

* Update BwoinkSystem.cs
2024-05-11 20:13:58 -07:00
deltanedas cd92046966
make fire not burn through hardsuits (#27161)
* add FireProtection system and event

* minor optimisation + make flammable use fire protection event

* add fire protection values to some things, nerf firesuit heat resistance

* bruh

* unrevert laser nerfs, make elite hardsuit fully fireproof

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-05-09 00:12:48 -07:00
Errant f64dd5f45f
Space Ninjas auto-toggle internals after spawning (#25083)
* fix engine version

* actually fix engine version

* Automatically activated breathing masks

* weh

* who needed that component anyway

* check if internals are already running

* Update Content.Server/Atmos/Components/BreathToolComponent.cs

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

* Update Content.Server/Body/Systems/InternalsSystem.cs

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

* prediction

* record struct event

* remove delayed activation, instead ensure that masks spawn last

* leftover

* engine version

* re-implement

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-05-03 11:24:21 +10:00
Leon Friedrich fd9894164f
Fix Gas Analyzers not opening (#27610) 2024-05-02 16:00:01 +10:00
metalgearsloth 7ba228732d
Optimise navmaps significantly (#27528)
* Optimise navmaps significantly

- Reduce the delta state size significantly.
- Remove AirtightChangedEvent because this will spam them out constantly.

* weh

* review

---------

Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2024-05-02 10:18:38 +10:00
Jezithyr 6869adfa78
Move GasMixture to shared (#27480)
* Moved GasMixture to shared

* Temp Fix for sandbox violation, idk why Array.Resize isn't working properly. It's already sandboxed.

* The most powerful webedit in history
2024-04-30 14:31:05 -07:00
Leon Friedrich 3c154abb5b
Content changes for engine exception tolerance PR (#27455)
* Content changes for engine exception tolerance PR

* Poke tests
2024-04-29 18:43:15 +10:00
Gotimanga eb41f1da5f
Adding new Cryogenics Reagent - Opporozidone (Attempt 2) (#24074)
* Fixing mistakes

* How did I make the same mistake twice

---------

Co-authored-by: Kara <lunarautomaton6@gmail.com>
2024-04-28 21:13:14 -07:00
metalgearsloth 5896e68752
Content update for UI prediction (#27214)
* Content update for UI refactor

* Big update

* Sharing

* Remaining content updates

* First big update

* Prototype updates

* AUGH

* Fix UI comp ref

* Cleanup

- Fix predicted message, fix item slots, fix interaction range check.

* Fix regressions

* Make this predictive

idk why it wasn't.

* Fix slime merge

* Merge conflict

* Fix merge
2024-04-26 18:16:24 +10:00