Commit Graph

882 Commits

Author SHA1 Message Date
Tayrtahn
6f89c2c455 Cleanup warnings in AtmosPipeAppearanceSystem (#37706)
* Cleanup 2 warnings in AtmosPipeAppearanceSystem

* Let's use the Entity<T> version

* todo comment
2025-05-21 21:06:06 -04:00
Krunklehorn
abec27737e AutomaticAtmosSystem uses MassDataChangedEvent, clarifies TileMassMultiplier (#37548)
* Initial commit, no tile changes, just mass

* Rename TileMassMultiplier to TileDensityMultiplier
2025-05-17 21:57:50 -04:00
metalgearsloth
fca7337bcf Fix tile-events returns (#37502)
* Fix tile-events returns

Should really be continues.

* More

* More optimisations
2025-05-16 14:22:20 +02:00
Tayrtahn
4dc1c4c3d6 Content changes for SetTiles change (#37229)
* Content changes for SetTiles change

* Retest with new engine changes

* Derp

* Update for new engine PR changes
2025-05-15 20:26:47 +10:00
qwerltaz
b374d2468a air alarm panic wire snipping forces panic mode (#36439)
* air alarm panic wire snipping forces panic mode

* document

* ForcedMode is datafield

* switch to bool flag

* lock button when panic wire cut

* prevent manually individually changing scrubbers from siphon when panic wire is cut

* failure alert when wire snipped

* is Control

* remove double horizontalExpand

* Update Content.Server/Atmos/Monitor/Systems/AirAlarmSystem.cs

* Update Content.Server/Atmos/Monitor/Systems/AirAlarmSystem.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-05-14 22:39:47 +02:00
metalgearsloth
c09aa6039c Predict gas valves (#33836)
* Predict gas valves

* wawawewa

* Fix imports before I get yelled at

* soff
2025-05-14 20:06:37 +02:00
metalgearsloth
df2257cd92 Predict gasthermomachines (#33837)
* Predict gasthermomachines

* despawn

* smellby
2025-05-13 21:49:43 +10:00
Nemanja
942b2b4dcb Change atmos plaques to yaml (#37318)
* Change atmos plaques to yaml

* remove locale strings
2025-05-10 02:24:07 +02:00
ArtisticRoomba
ee201c6eb7 fix atmos grid markers (#37142)
* fix atmos grid markers

* 1984 CL
2025-05-03 09:11:31 +02:00
metalgearsloth
bd69fc612a Predicted internals (#33800)
* Predicted gas pumps

I wanted to try out atmos and first thing I found.

* a

* Atmos device prediction

- Canisters
- Tanks
- Internals

AirMixes aren't predicted so nothing on that front but all the UIs should be a lot closer.

* Remove details range

* Gas tank prediction

* Even more sweeping changes

* Alerts

* rehg

* Popup fix

* Fix merge conflicts

* Fix

* Review
2025-05-02 18:22:29 +10:00
K-Dynamic
ea64d4d106 Atmos air (6500 kPa) marker (#37061)
* air GM atmosphere

* atmos fix air miner
2025-05-01 18:03:47 -04:00
chromiumboy
ed5c7aa942 Releasing an under-pressure lockout is now a verb (#36910)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-04-25 00:21:00 -07:00
Leon Friedrich
e1c70882ef Fix NRE in GasTileOverlaySystem (#36793) 2025-04-21 15:06:54 +10:00
Kyle Tyo
2c54ec10c6 replace obsolete IsGrid calls with HasComp<MapGridComponent> (#36729)
* replace obsolete IsGrid calls with HasComp<MapGridComponent>

* remove IMapManager dependency

* well would you look at that

* just look at it
2025-04-20 14:14:58 +10:00
metalgearsloth
63dfd21b14 Predict dumping (#32394)
* Predict dumping

- This got soaped really fucking hard.
- Dumping is predicted, this required disposals to be predicte.d
- Disposals required mailing (because it's tightly coupled), and a smidge of other content systems.
- I also had to fix a compnetworkgenerator issue at the same time so it wouldn't mispredict.

* Fix a bunch of stuff

* nasty merge

* Some reviews

* Some more reviews while I stash

* Fix merge

* Fix merge

* Half of review

* Review

* re(h)f

* lizards

* feexes

* feex
2025-04-19 16:20:40 +10:00
metalgearsloth
be8fa724a7 Fix import (#36706) 2025-04-19 12:31:21 +10:00
metalgearsloth
72372dc77d Predict gas volume pumps (#33835)
* Predict gas volume pumps

* Also this one

* Review
2025-04-19 11:48:41 +10:00
lzk
b96fa3dcfa Fix space wind layer removal (#33888)
* Fix space wind layer removal

* apply review

* Update MovedByPressureComponent.cs

* remove this
2025-04-19 00:52:09 +02:00
Leon Friedrich
e4f3d19094 Make MappingDataNode use string keys (#36111)
* MappingDataNode string keys

* a

* poke
2025-04-18 19:28:22 +10:00
Pieter-Jan Briers
843d79be5f Fire extinguishers can now extinguish items, including when held/worn (#36267)
* Fire extinguishers now put out candles

This did not actually require any changes to flammable or extinguishers directly, the only necessary changes were to make the collision actually work.

Vapor entities (also used for fire extinguishers) now have a collision layer, so they can hit items.

Added a new FlammableSetCollisionWake component to actually enable collision on candles while they are lit, because otherwise CollisionWake on entities gets in the way too.

* Extinguishing items is now relayed to held/worn items

This means held candles get extinguished too.

Involved moving the core logic of ExtinguishReaction into an event so that it can be relayed via the existing hand/inventory relay logic.

* Add helper functions for subscribing to relayed events.

Use these in FlammableSystem

* Make extinguishers work on cigarettes too

A bunch of renaming to make the rest of my code work with SmokableComponent

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2025-04-14 19:00:47 +10:00
slarticodefast
50bbb1c101 predict IgnitionSourceComponent (#36310)
* PREDICTION

* comment

* don't overwrite event args

* totally not a web edit

* intn't
2025-04-06 17:54:47 -07:00
slarticodefast
aa24066450 move DeviceLinking events to shared (#36307)
move events
2025-04-05 14:20:14 +02:00
J
6a79c247e3 Fix some atmos warnings (#36157) 2025-03-29 18:12:14 -07:00
Milon
92a3fd99ca Fix gas pressure pump prediction (#35865)
* ACTUALLY predict gas pumps

* generic fake

* aaaaaaaaaaaaa
2025-03-28 10:42:16 +11:00
Tayrtahn
86aa82f2b6 Cleanup: Remove redundant prototype name specifications (#35793)
* Remove redundant prototype name specifications

* These can stay
2025-03-19 19:30:31 +01:00
metalgearsloth
fa35c9623d Revert "Purge uses of TransformComponent.Anchored.set. Also adds parentheses." (#35332) 2025-02-21 00:12:12 +11:00
TemporalOroboros
a4001fba1b Purge uses of TransformComponent.Anchored.set. Also adds parentheses. (#34938) 2025-02-20 23:06:39 +11:00
slarticodefast
d171057680 UseInHandEvent cleanup (#35231) 2025-02-18 23:27:30 +11:00
Kyle Tyo
4474727886 Fix air devices ignoring settings after power cycle (#34887)
* add powered variable to vent components

* add checks for powered to vent systems

also corrected onpowerchanged methods to update powered arg.

* removed powered from components

* Use ApcPowerReceieverComponent for power state.

* removed unneeded code from OnPowerChanged

* document what enabled is used for in components

* only you can prevent oopsie daisies.

* add check for powered in OnGasVentPumpUpdated

* apcPowerReceiverComponent BEGONE

* CODE RED EVERYTHINGS ON FIRE wait we're fine now.
2025-02-15 07:07:15 +01:00
ArtisticRoomba
75727db3a3 Add new freezer atmos devices and fix freezer fixgridatmos marker (#34991) 2025-02-12 18:32:18 +11:00
SpaceManiac
4122310735 Fix 38 non-obsolete warnings (#33794) 2025-02-11 20:59:50 +11:00
TemporalOroboros
08e5362f43 Purges uses of TransformComponent.WorldRotation (#34946) 2025-02-11 14:16:20 +11:00
metalgearsloth
ba1fd6c5f3 Make ReactionResults an array (#34967)
* Make ReactionResults an array

We're making the dictionaries fixed-size anyway.
Alternatively could use a frozendictionary but not sure on the perf difference. Worst case whoever adds another reactionresult makes a minor adjustment

* apply conventions

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-02-09 03:13:47 +01:00
Palladinium
001d61c6d5 Add air alarm admin logs (#33426) 2025-02-05 21:10:21 -08:00
ScarKy0
253a9fbdf1 Seperate EMAG into EMAG and Authentication Disruptor (#34337) 2025-01-29 23:05:47 -05:00
ArtisticRoomba
98c606d760 Engineering guidebook megaupdate v2 (#33062)
Significantly updates the Engineering guidebook (more explicitly the Atmos section) to have a lot more relevant and useful information.

Right now engineering has been getting update after update with no real change to the relevant guidebook entry. This has lead to a lot of out of date information and bad practices being prevalent in the guidebook, something that pains me to read.
2025-01-27 11:42:27 -08:00
PJB3005
f63eb691f0 Improve canister admin logs.
1. Now clearly says "opened"/"closed" when changing the release valve.
2. Clearly says whether the valve was opened while a canister was inserted or not.
3. When a tank is ejected, logs if the valve is open and the ejection started spilling into the environment.

Fixes #34488
2025-01-18 00:51:32 +01:00
Leon Friedrich
1c315ba033 Remove Entity<T> data-fields (#34083) 2025-01-11 21:22:29 +01:00
Southbridge
edbc861c78 Add copy threshold button to air alarms (#34346) 2025-01-09 22:55:05 -08:00
chromiumboy
27e59d35fb Atmospheric network monitor (#32294)
* Updated to latest master version

* Added gas pipe analyzer

* Completed prototype

* Playing with UI display

* Refinement of the main UI

* Renamed gas pipe analyzer to gas pipe sensor

* Added focus network highlighting and map icons for gas pipe sensors

* Added construction graph for gas pipe sensor

* Improved efficiency of atmos pipe and focus pipe network data storage

* Added gas pipe sensor variants

* Fixed gas pipe sensor nav map icon not highlighting on focus

* Rendered pipe lines now get merged together

* Set up appearance handling for the gas pipe sensor, but setting the layers is bugged

* Gas pipe sensor lights turn off when the device is unpowered

* Renamed console

* The gas pipe sensor is now a pipe. Redistributed components between it and its assembly

* AtmosMonitors can now optionally monitor their internal pipe network instead of the surrounding atmosphere

* Massive code clean up

* Added delta states to handle pipe net updates, fixed entity deletion handling

* Nav map blip data has been replaced with prototypes

* Nav map blip fixes

* Nav map colors are now set by the console component

* Made the nav map more responsive to changes in focus

* Updated nav map icons

* Reverted unnecessary namespace changes

* Code tidy up

* Updated sprites and construction graph for gas pipe sensor

* Updated localization files

* Misc bug fixes

* Added missing comment

* Fixed issue with the circuit board for the monitor

* Embellished the background of the console network entries

* Updated console to account for PR #32273

* Removed gas pipe sensor

* Fixing merge conflict

* Update

* Addressing reviews part 1

* Addressing review part 2

* Addressing reviews part 3

* Removed unnecessary references

* Side panel values will be grayed out if there is no gas present in the pipe network

* Declaring colors at the start of some files

* Added a colored stripe to the side of the atmos network entries

* Fixed an issue with pipe sensor blip coloration

* Fixed delay that occurs when toggling gas sensors on/off
2024-12-17 04:53:17 +01:00
TGRCDev
89522e7144 Made anchor visuals generic (#33810)
Added a generic anchor visuals enum
2024-12-11 14:50:20 +01:00
slarticodefast
ede8a1d377 Fix gas pipe leaking when unanchoring or breaking them (#33774)
* fix gas pipe unanchoring

* remove unneeded update

* revert popup change
2024-12-09 00:20:04 +01:00
metalgearsloth
9365e3a99b Predicted gas pumps (#33717)
* Predicted gas pumps

I wanted to try out atmos and first thing I found.

* a

* Remove details range
2024-12-07 14:39:52 +11:00
chromiumboy
403528cbf3 Gas pipe sensors (#33128)
* Initial commit

* Monitored pipe node is now referenced by name

* Review changes

* Simplified construction

* Tweaked deconstruction to match other binary atmos devices

* Helper function removal

* Updated attribution
2024-11-21 21:46:10 -06:00
chromiumboy
d2216835d8 Visualized regions for NavMapControl (#31910)
* Atmospheric alerts computer

* Moved components, restricted access to them

* Minor tweaks

* The screen will now turn off when the computer is not powered

* Bug fix

* Adjusted label

* Updated to latest master version

* Initial commit

* Tidy up

* Add firelocks to the nav map

* Add nav map regions to atmos alerts computer

* Added support for multiple region overlay sets per grid

* Fixed issue where console values were not updating correctly

* Fixing merge conflict

* Fixing merge conflicts

* Finished all major features

* Removed station map regions (to be re-added in a separate PR)

* Improved clarity

* Adjusted the color saturation of the regions displayed on the atmos alerts computer
2024-10-23 14:49:58 +02:00
Leon Friedrich
2d60a4684c Hide role entities in the spawn menu (#32798) 2024-10-14 14:05:49 +11:00
drakewill-CRL
7cf04dcb20 Use archived gas mixture in gas exchange comparison (#32088)
The comparison for doing gas exchange used current and not archived
moles. This could lead to update order-dependent gas spreading effects.

To fix this, convert TileAtmosphere's MolesArchived and
TemperatureArchived to a AirArchived, and use that in the comparison
method.

---------

Co-authored-by: PraxisMapper <praxismapper@gmail.com>
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
2024-09-29 22:14:07 -07:00
nikthechampiongr
a5840b925b Fix RA0032 (#32514) 2024-09-29 02:25:21 +02:00
PotentiallyTom
d3ff4d5401 Makes it possible to disable the vent pressure lockout temporarily with a screwdriver (#31050)
* builds

* doesn't crash

* seems to work

* distance cap was dumb

* Requested changes

* can't find any issues from making the changes

* Check for anchor and minor optimisation

* Removed unnecessary usings

* Code less verbose and cleanup
2024-09-22 21:59:56 +02:00
Winkarst
c2a201d998 Make fire leave burnt decals on the tiles (#31939)
* Make fire leave burnt decals on the tiles

* License

* Yes

* Update

* Spelling error

* Prototypes reload support

* To array
2024-09-19 10:23:50 +10:00