Commit Graph

244 Commits

Author SHA1 Message Date
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
Tayrtahn 50631f430d
Add clothing equipped/unequipped events (#27155)
* Added ClothingGotEquipped/ClothingGotUnequipped events

* Better version

* Implemented in a few places

* More implementations

* Add ClothingDidEquipped/ClothingDidUnequipped events
2024-04-21 11:00:50 -04:00
slarticodefast b22c06230c
fix cryopod volume (#27148) 2024-04-19 23:44:39 -04: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
Pspritechologist f5d9d3c458
Suit Sensors No Longer Use a Hardcoded 'Total Health' (#26658)
* Suit sensors now know the 'total health' of an entity

* Missed the constructor 😔
2024-04-04 02:38:27 -06:00
deltanedas 170e13b7aa
fix health analyzer crash (#26700)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-04-04 17:26:54 +11: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
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
nikthechampiongr 266cc85f57
Create DeviceNetworkJammerComponent & System as a general way for entities to act as jammers (#26342)
* Add DeviceNetworkJammerComponent & System

Allows for entities to "jam" DeviceNetwork packets.

Whenever a device attempts to send a packet, the
DeviceNetworkJammerSystem listens for the BeforePacketSentEvent.
From there if any entity with the jammer component is within range of
either the sender or receiver of the packet the event will be cancelled.
Additionally jammers can only block packets in certain networks. If a
packet is not being transmitted in one of the networks it can block then
even if the jammer is in range the event will not be cancelled.

The range is stored in the jammer component along with the networks it
can jam.

Jammable network ids are stored as strings which seems to be how custom
networks are stored (E.g. network ids for suit sensors).

To allow for all of this, the BeforePacketSentEvent was modified to
provide the NetworkId.

* Make JammerSystem for the radio jammer use the DeviceNetworkJammer. Remove redundant event.

* Replace calls to TryDistance with InRange
2024-03-24 21:59:16 -04:00
nikthechampiongr 362d56981f
Simplify DoAfterArgs behavior for movement and distance checks (#25226)
* Merge BreakOnWeightlessMove and BreakOnMove. Provide different theshold for weightless movement.

* Adjust WeightlessMovementThresholds. Put a thing I forgot to put in the doafterargs.

* Make DoAfterArgs only use OnMove to determine whether to check for
movement and MoveThreshold to determine the threshold regardless of
weightlessness. Gave DistanceThreshold a default value which will always
be checked now.

* Fix issue introduced by merge.

* Use interaction system for determining whether a distance is within range

* Fix incorrect doafter args introduced by previous merge.
Forgor to commit these.

* Exorcise ghost.

The execution system should have been deleted when I merged previously.
For a reason I cannot comprehend it came back, but only the execution
system.

* Exorcise ghost Pt. 2

* Allow for movement check to be overriden in zero g and adjust doafter args where needed.

You can now override checking for movement in zero g with the BreakOnWeightlessMove bool. By default it will check.
The following doafters were made to ignore the movement check in zero g:
- Healing yourself with healing items,
- Removing embedded projectiles,
- Using tools like welders and crowbars

* Adjust distance for cuffing/uncuffing to work. Make injections not break on weightless movement.

* Fix evil incorrect and uneeded comments
2024-03-19 21:09:00 +11:00
nikthechampiongr dce24dfd03
Make radio jammer block suit sensors (#26046)
* Make radio jammer block suit sensors

* Fix stupid

Use CancellableEventArgs instead of doing what the hell I was doing before.

* Address Reviews.

Change the event from a CancellableEntityEventArgs to a ByRefEvent.
2024-03-14 11:55:14 -04:00
Ilya246 ec4e0990e1
allow biomass reclaimer to reclaim plants (#23731) 2024-03-11 17:59:21 -04:00
Julian Giebel 1ed63d43b0
System for single device net server per station functionality (#23946) 2024-03-03 20:45:37 -04:00
Whisper ff65cb7b0c
Whisper bleed update v3 (#25434)
* Whisper bleed update v3

* missed a few

* Add bleeding message to health analyzer.

* Fix bleed notification not updating.

* Apparently this either doesnt exist
2024-02-26 16:26:46 -07:00
Pieter-Jan Briers e00f74505c
Use new ComponentPauseGenerator (#25183)
Also includes some (non critical) changes to the solution file to re-organize the Roslyn components.
2024-02-26 14:36:19 +11:00
Fildrance ef849a0156
fix: #25102 cryo pod now uses health-analyzer system to update body state in UI (#25109)
* fix: cryo pod now uses health-analyzer system to update body state in UI

* refactor: use EntityEventRefHandler instead ComponentEventRefHandler in CryoPodComponent subscribe on EntRemovedFromContainerMessage

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2024-02-21 17:47:23 +03:00
metalgearsloth 05a2ddff1c
Predict two-way levers (#25043)
* Predict two-way levers

Annoys me the rare occasions I touch cargo. Doesn't predict the signal but at least the lever responds immediately.

* space

* a
2024-02-11 14:19:45 +11:00
Rainfey 4129c77a5b
Make Health Analysers UI continuously update (#22449) 2024-02-06 09:20:09 -04:00
themias 09dd92ce61
EMP disables suit sensors (#24869)
* EMP disables suit sensors

* update to supersede and not disable

* Revert "update to supersede and not disable"

This reverts commit 337028c31af1c0fa2b1838bcf5d6759bfd7ed97c.

* separate logic out into just emp events
2024-02-04 11:50:23 +11:00
themias efb623de19
Fix cryopod debug assert (#24830) 2024-02-02 09:33:53 +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
Errant 2737c80169
Suffocation alerts for nitrogen breathers (#24373)
* Respiratorsystem namespace

* WIP gas alert update, does not work

* Finally
2024-01-23 15:17:40 -05:00
Nemanja a9e89ab372
Rip out remaining machine upgrades (#24413)
* Rip out remaining machine upgrades

* eek
2024-01-23 09:13:04 +11:00
LordCarve c77eb8691d
DamageSpecifier Total => GetTotal (#24160)
* DamageSpecifier [Obsolete] Total => GetTotal()

* Remove obsolete Total member from DamageSpecifier.
2024-01-21 18:59:14 -07:00
Scribbles0 7a2e500f68
Unrevivable trait (#24226)
* unrevivable trait + remove unclonable remnants

* cleanup

* change to hascomp
2024-01-20 13:22:15 +11:00
themias 25c477a642
Fix clumsy defib debug assert (#23930)
* Fix clumsy defib debug assert

* don't need to specify null
2024-01-11 16:58:25 -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
AJCM-git 9c522c8b19
UseDelay + ItemCooldown merge (#22502) 2024-01-03 21:33:09 -04:00
Nemanja 8d9a76c95d
Fix defibs resetting rot timer + slimes not having perishable (#23340)
* Fix defibs resetting rot timer + slimes not having perishable

* fix the sound too
2024-01-02 13:12:32 +11:00
Whisper da055fcd98
make healing sounds audible (#23211) 2023-12-30 15:32:00 -07:00
TemporalOroboros d23c8d5c19
Revert 'Revert 'Solution Entities'' (#23168) 2023-12-29 08:47:43 -04:00
Emisse 938d6d9945
Revert "Solution Entities" (#23160)
Revert "Solution Entities (#21916)"

This reverts commit d75e743dd7.
2023-12-28 20:45:42 -07:00
TemporalOroboros d75e743dd7
Solution Entities (#21916)
* Creates Content.Shared.Chemistry.Solutions
Copies Solution class to new namespace
Obsoletes old Solution class

* Switches over to the Solutions.Solution Solution

* Creates Content.Shared.Chemistry.Containers
Copies relevant components/systems to the new namespace
Obsoletes old versions

* Switches over to the Containers.XYZ namespace

* Creates SolutionSystem and obsoletes old SolutionContainerSystem methods

* Start using SolutionSystem for Solution manipulation

* EnumerateSolutions

* Move TryGetMixableSolution

* Move EnsureSolution to Server

* Create Solution Entities

* Stop using obsolete solution system methods

* Fix prototype component tests

* Add using ..Audio.Systems; back

* Wrap solution container slots in ContainerSlots

* Actually add the slot to the solution container map

* Dirty SolutionContainerComponent when ensuring solutions

* Revert namespace changes

* Remerge SolutionSystem and SolutionContainerSystem

* SolutionContainerManagerComponent refactor

* Avoid wrapping necessary code in DebugTools.Assert as it is removed when compiling for release

* Readd examine reagent sorting

* Fix errors

* Poke tests

* Fix solution names not being applied

* Fix WoolyComponent including statement

* Fix merge skew

* Fix compile errors

* Make reactions use solntities

* Reindent solution class namespace

* Field attribute changes

* AutoGenerateComponentState for SolutionContainerComponent

* SolutionContainerComponent -> ContainedSolutionComponent

* ref ReactionAttemptEvent

* Denetwork preinit solutions

* Misc 1

* Nullable TryGetSolution out vars

* Cache associated solutions

* Fix merge skew

* Use explicit regions in SharedSolutionContainerSystem.Capabilities

* Add debug assert

* Use explicit regions in SharedSolutionContainerSystem.Relay + ref SolutionContainerChangedEvent

* ContainedSolutionComponent.Name -> ContainedSolutionComponent.ContainerName

* SolutionComponent doc comments

* Implicit DataField names and property purge

* ReagentEffect DataField names

* Local variables for readability

* Sort using statements + Entity<T> event handlers

* Fix compile erros

* Fix compile errors

---------

Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2023-12-28 17:58:14 -08:00
TemporalOroboros 7a77d6d5dd
Content ecs containers (#22484) 2023-12-28 01:30:03 -04:00
Leon Friedrich 907b873145
Fix various errors/exceptions (#22841)
* Fix entity storage localization

* Fix HumanoidAppearanceComponent resolve

* Fix null reference exceptions

* Fix duplicate key error

* Fix artifact error spam

* actually maybe this is what its meant to do

* Fix entities playing sounds on deletion
2023-12-22 00:26:08 -07:00
Kara bc1f8b0e40
Convert atmos device events to ref events (#22843) 2023-12-21 17:48:18 -08:00
Kara ad97580727
Rename Miasma to Ammonia (#22791)
* Rename Miasma to Ammonia

* Namespace changes

* Map change????? why
2023-12-20 21:19:50 -07:00
Leon Friedrich 9a3342d972
Remove uses of `TransformComponent.ChildEntities` (#22442)
* Make output of ChildEnumerator non-nullable

* Remove uses of ChildEntities

* poke tests

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-12-17 03:09:50 +11:00
themias 9cc4a50692
Add more DNA interactions (#21989)
* Add more DNA interactions

* remove unused import

* update based on feedback

* Add event for chemistrysystem.injector

* move event to shared; transfer dna to implanter

* doafter and interaction event fixes

* add BreakOnHandChange

* doh

* use events instead of updating component directly

* Add DataFields to ForensicScannerComponent fields

* Convert most events to system api call
2023-12-15 02:52:55 -07:00
chromiumboy b70c0845d0
Crew monitor revisit (#22240) 2023-12-10 16:38:50 +11:00
metalgearsloth 269c93245d
Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-11-27 22:12:34 +11:00
Nemanja ac5e9cd70b
Fix borg mobstates (#21307)
* Add dead states to borgs

* this?

* ack
2023-11-09 16:14:06 -07:00
Nemanja 94368f1f00
Speed Boots [Tier 3 Civ-Service] (#21438)
* Speed Boots

* validate

* monkey
2023-11-07 18:25:43 -07:00
metalgearsloth 5b8f3c48c4
Revert "Update submodule to 175.0.0 (#21318)" (#21319) 2023-10-29 15:29:30 +11:00
metalgearsloth 9b1b3e03ed
Content audio (#20862) 2023-10-29 14:58:23 +11:00
Leon Friedrich f308adffaf
Move ActorComponent to shared (#21293) 2023-10-29 04:21:02 +11:00
Leon Friedrich e685cb626b
Un-revert IPlayerManager refactor (#21244) 2023-10-28 09:59:53 +11:00
metalgearsloth a2bbda43cc
Revert "Update submodule to 172.0.0 (#21222)" (#21225) 2023-10-24 21:55:20 +11:00
Leon Friedrich 7ba0ea2926
IPlayerManager refactor (#21215) 2023-10-24 20:19:08 +11:00
metalgearsloth 46a3076ecb
Predict tile-prying (#21167) 2023-10-24 00:20:33 +11:00