Commit Graph

352 Commits

Author SHA1 Message Date
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
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
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
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 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
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
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
Whisper eee056eaf0
lower max firestacks to 10, refactor flammable (#27159)
* lower max firestacks to 10, refactor flammable

* fix

* uncap fire stack damage, lower fire stack damage
2024-04-23 21:30:01 +10:00
deltanedas fcf5057b61
make fire spreading scale with mass (#27202)
* make fire spreading scale with mass

* realer

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-04-22 01:42:26 -07:00
Leon Friedrich 6ec40900ef
Fix fixgridatmos command (#27113) 2024-04-18 19:39:38 -07:00
chromiumboy 009d06d978
Navmap rework (#26713)
* Optimized the drawing of lines and tracked entities

* Optimized nav map updating and added thin wall support

* Added support for thin doors

* Removed floor tile seams, more line drawing optimizations

* Fixed split grids not updating correctly

* Cleaned up NavMapControl code

* Fix nav map header

* Converted nav map updates from system network messages to delta-states

* Addressed review comments

* Fixed timing issue where NavMapSystem would update before AirtightSystem did
2024-04-17 12:59:31 -05:00
slarticodefast 5a5efa11cf
Show volume on the gas analyzer (#25720)
The gas analyzer now shows the volume of pipes, tanks, canisters and the environment.

Adjust gas analyzers so that the volume and number of moles shown corresponds to only the scanned element, e.g. a canister or single pipe in a pipenet.
2024-04-17 09:42:24 -08:00
Leon Friedrich d2bee7ec91
Fix GastTileOverlay sending redundant data (#26623)
Fix GastTileOverlay not updating properly
2024-03-31 16:45:40 -04:00
Leon Friedrich 888a3bda51
Atmos device performance improvements (#26493)
* Atmos device performance improvements

* AtmosDirection perf improvements

* Fix errors

* Add GasTileOverlayComponent arguments

* Make excite no longer invalidate a tile
2024-03-30 15:17:53 +11:00
Leon Friedrich bb5ca720fc
Split GasTileOverlaySystem update over two ticks (#26542)
Split GasTileOverlaySystem update over ticks
2024-03-30 13:34:55 +11:00
Jake Huxell 59e46aab93
Reduced Warning Count By 130 For Full Rebuilds (#26518)
* remove deprecated entity coordinate extension functions. Reduces warning count by approximately 50

* final toCoords Removed

* Remove all unused variables and dead code paths

* remove always true variable, should be a cvar or something instead

* remove superfluous variables from tests
2024-03-29 16:28:16 +11:00
Leon Friedrich 77e029d4ca
Remove atmos method events (#26402)
* Remove HasAtmosphereMethodEvent

* Remove GetTileMixturesMethodEvent

* Remove GetTileMixtureMethodEvent

* Remove GetAdjacentTilesMethodEvent

* Add TileMixtureEnumerator

* Remove GetAdjacentTileMixturesMethodEvent

* Remove IsTileSpaceMethodEvent

* Remove HotspotExposeMethodEvent

* Remove pipe net method events

* Remove device method events

* Use Entity<T>

* Misc fixes

* A

* Theres probably a few more of these

* Fix other resolve errors
2024-03-28 13:22:19 +11:00
Leon Friedrich fdb4a61487
Fix atmos NaN error (#26441)
* Fix atmos NAN error

* Remove redundant yaml entries
2024-03-26 15:44:56 +11:00
Tayrtahn 964c6d54ca
Code cleanup: Purge obsoleted SharedPhysicsSystem methods (#26287)
Updated calls to SharedPhysicsSystem methods
2024-03-25 17:37:25 +11:00
Leon Friedrich ec761114ea
Run `fixgridatmos` for cargo & emergency shuttle (#26382)
Fix cargo & emergency shuttle
2024-03-25 03:17:56 +11:00
Leon Friedrich 18a35e7e83
Partial atmos refactor (#22521)
* Reduce atmos component queries

* Remove method events

* Cache airtight data

* Make MolesArchived nullable

* Fix airtight cache

* only get tile def once

* Immutable mixtures

* firelock queries

* misc

* misc cleanup

* Trim disconnected tiles

* Fix merge issues and bugs

* Why does the PR keep increasing in scope

* debug overlay

* Fix bugs

* Fix test, remove unused events

* Add setmapatmos command

* Fix overlays

* Add map check

* A

* Resolve conflicts with #26102

* Remove some obsolete methods
2024-03-24 03:34:56 +11:00
Tayrtahn f4cb02fb0c
Code cleanup: Purge calls to obsolete EntityCoordinates methods (#26292)
* Purge calls to obsolete EntityCoordinates methods

* Pizza defruited; rerun those tests!
2024-03-21 12:59:56 +11:00
Tayrtahn 4a83c36585
Code cleanup: Dirty(Comp) (#26238)
* Replaced uses of Dirty(Component) with Dirty(Uid, Component)
Modified some systems (notably pulling-related) to use uids.

* Missed a few

* Revert changes to pulling

* No
2024-03-19 23:27:02 -04:00
Pieter-Jan Briers db81438d30
Fix barotrauma pressure protection (#26236)
Oops

In #26217 I re-organized the logic for the calculation. Part of that was moving the logic for GetFeltLowPressure and GetFeltHighPressure to be done before we actually check the hazard thresholds. What I didn't realize is that, with how our pressure protection is set up, these functions can return values so extreme they rebound into the other category.

For example, according to the math, when you're wearing a hardsuit in a low-pressure environment you have "felt" pressure of 1000 kPa. Yeah that's not right.

Now these functions clamp their result to OneAtmosphere, in the appropriate direction (101.3 kPa).

Fixes #26234
2024-03-18 17:46:31 +01:00
Pieter-Jan Briers b5138b245e Fix barotrauma calculations
The math for our pressure damage (barotrauma) system is directly taken from TG. The constants are the same and the math is almost the same. However there are two errors.

1. Pressure damage started being applied within the WARNING bounds, rather than the HAZARD bounds. This means you started taking low pressure damage at 50 kPa instead of the intended 20 kPa, and also the HUD icon didn't show "danger" like it should even if you were already taking damage.

2. The calculations for high pressure damage were wrong. These are supposed to be linearly scaled, but the function was wrong so the scaling didn't actually work properly (especially when considering the fixed bounds above). This appears to be the case because the function was taken from an incorrect comment in the original source, rather than the real math.

Both of these issues are now fixed to match the TG behavior. Note that this somewhat nerfs pressure damage in non-extreme circumstances. e.g. a room at 40 kPa now gives NO pressure damage, whereas previously it would do full space damage.

The description of the pressure alerts is wrong for "low" severity, but I can't be arsed to fix that right now. Alerts don't have a way to change the description depending on severity...
2024-03-17 22:37:28 +01:00
LordCarve 7d275a4b5e
Obsolete `Logger` cleanup for `EntitySystem`s part 2 (#26159)
* Kill the static InRangeUnOccluded

* Adjusted 4 more EntitySystems that were missed.
2024-03-17 18:31:09 +11:00
LordCarve aafe815122
Obsolete `Logger` cleanup for `EntitySystem`s (#25941)
* Small obsolete Logger cleanup

* Fixed three EntitySystem logs that weren't doing it right.
2024-03-10 01:15:13 +01:00
metalgearsloth a9502be29e
Revert "Fix chat bubbles (#25643)" (#25645)
* Revert "Fix chat bubbles (#25643)"

This reverts commit 23d2c4d924.

* Revert "Fixes obsolete Transform warnings in Content. (#25256)"

This reverts commit f284b43ff6.
2024-02-28 00:51:20 +11:00
TemporalOroboros f284b43ff6
Fixes obsolete Transform warnings in Content. (#25256)
* Fix TransformComponent.MapPosition warnings in Content.Client

* Fix TransformComponent.MapPosition warnings in Content.IntegrationTests

* Fix TransformComponent.MapPosition warnings in Content.Shared

* Fix TransformComponent.MapPosition warnings in Content.Server

* Fix TransformComponent.WorldPosition warnings in Content.Shared

* Fix TransformComponent.WorldPosition warnings in Content.Client
Excepts ClickableComponent b/c that needs to be ECS'd entirely later

* Fix TransformComponent.WorldPosition warnings in Content.Server

* Fix TransformComponent.WorldRotation warnings in Content.*

* Fix TransformComponent.MapPosition warnings I missed

* Fix TransformComponent.WorldMatrix warnings in Content.*

* Fix TransformComponent.InvWorldMatrix warnings in Content.*

* Fix TransformComponent.GetWorldPositionRotationMatrixWithInv warnings in Content.*

* Fix TransformComponent.GetWorldPositionRotationMatrix warnings in Content.*

* Fix TransformComponent.GetWorldPositionRotation warnings in Content.*

* Fix TransformComponent.Anchored.set warnings in Content.*

* Fix TransformComponent.Coordinates.set warnings in Content.*

* Fix TransformComponent.LocalPosition.set warnings in Content.*

* Fix TransformComponent.AttachToGridOrMap warnings in Content.*

* Fix TransformComponent.AttachParent warnings in Content.*

* Preempt TransformComponent.LocalRotation.set warnings in Content.Shared

* Preempt TransformComponent.LocalRotation.set warnings in Content.Client

* Preempt TransformComponent.LocalRotation.set warnings in Content.IntegrationTests

* Preempt TransformComponent.LocalRotation.set warnings in Content.Server

* Fix/Preempt the remaining obsolete TransformComponent properties/methods in Content.*

* ECS ClickableComponent

* Fix obsolete SharedTransformSystem methods in Content.*

* Fix ExplosionOverlay `SharedTransformSystem` dependency

* Maybe fix null eye position breaking tests

* MGS requested changes
2024-02-27 12:06:20 +11:00
LankLTE 407d4aed58
Diona Nymphs & Splitting (#24630)
* Porting & implementation

* Fix two stupid errors

* Human not humans

* fix audio path

* Fix test fails & update cooldown

* Work on reviews & test fail

* Rework nymph organ system.

* Make the nymph organs nospawn.

* IsDeadIC
2024-02-16 18:54:44 -08:00
Nemanja 8ed32a1e42
Add events for TemperatureProtection and PressureProtection (#25165) 2024-02-13 23:44:47 -08:00
Pieter-Jan Briers 68ce53ae17
Random spontaneous cleanup PR (#25131)
* Use new Subs.CVar helper

Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.

This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.

* Fix a bunch of warnings

* More warning fixes

* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.

* Get rid of some more ISerializationHooks for enums

* And a little more

* Apply suggestions from code review

Co-authored-by: 0x6273 <0x40@keemail.me>

---------

Co-authored-by: 0x6273 <0x40@keemail.me>
2024-02-13 16:48:39 -05:00
metalgearsloth 52808694e0
Remove obsolete transform call (#24217)
* Remove obsolete transform call

Shrimple PR also fixed bad flatpack call that would break on non-standard tilesizes.

* Update calls

* weh
2024-02-02 00:39:43 +11:00
Ed 498ad2d5d7
Lock Anomaly generator to research access (#24464)
* small patch

* fix

* remove garbage

* fix

* moved to shared events

* fix

* LocId

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-02-01 19:45:24 +11:00
metalgearsloth a6ea8b210d
Firestarter fixes (#24647)
* Firestarter fixes

- Actually networks the action.
- Namespace fixes.

* No networky for you
2024-02-01 00:01:52 +11:00
Pieter-Jan Briers 3e3cb10a96
Make some damage sources not cancel do afters (#24635)
- poison chemicals (HealthChange effect)
- being on fire
- guardians transferring damage to owner
2024-01-28 10:51:54 +11:00
Nemanja c29896f505
fix radiators leaking heat into atmos blocked tiles (#24124)
* fix radiators leaking heat into atmos blocked tiles

* Fix the fix

Pointyhat to: emogarbage

* Remove unused imports

---------

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
2024-01-16 18:58:04 +11:00
Pieter-Jan Briers a6c9c36b68
Dependency update / fixes / skrungle bungle (#23745)
* Give .props files 2-space indents.

* Move to Central Package Management.

Allows us to store NuGet package versions all in one place. Yay!

* Update NuGet packages and fix code for changes.

Notable:

Changes to ILVerify.
Npgsql doesn't need hacks for inet anymore, now we need hacks to make the old code work with this new reality.
NUnit's analyzers are already complaining and I didn't even update it to 4.x yet.
TerraFX changed to GetLastSystemError so error handling had to be changed.
Buncha APIs have more NRT annotations.

* Remove dotnet-eng NuGet package source.

I genuinely don't know what this was for, and Central Package Management starts throwing warnings about it, so YEET.

* Remove Robust.Physics project.

Never used.

* Remove erroneous NVorbis reference.

Should be VorbisPizza and otherwise wasn't used.

* Sandbox fixes

* Remove unused unit test package references.

Castle.Core and NUnit.ConsoleRunner.

* Update NUnit to 4.0.1

This requires replacing all the old assertion methods because they removed them 🥲

* Oh so that's what dotnet-eng was used for. Yeah ok that makes sense.

* Add Robust.Analyzers.Test

* Update submodule

* commit to re-run CI
2024-01-12 23:22:01 +01:00
Arendian 6bf6994298
Incendiary projectiles and lava firestack reduction (#23479)
* Firestack reduction and FireStackOnHit added

* Slight lava tweak

* Remove component and tweaked incendiary pellets

* Incendiary grenade tweak

* Now ignites on projectile fixture or ignition fixture + incendiary grenade tweak

* flare shells now  ignite entities again

* Comment

* undo flare gun ignite
2024-01-08 00:41:42 -05:00
Kara 0ae3858b69
Examine prediction (#23565)
* Initial prediction

* new group handling

* groups for all examines that use multiple rn

* compile

* why was it doing this??

* handle newlines with sorting properly
2024-01-06 17:53:13 +11:00