Commit Graph

880 Commits

Author SHA1 Message Date
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
Plykiya 540b1b15b1
Fix build and lint (#32180) 2024-09-14 21:00:06 -07:00
Partmedia 30c5fbb0be
Make pressure and volume pumps require power (#28995) 2024-09-15 11:58:10 +10:00