Commit Graph

241 Commits

Author SHA1 Message Date
Jezithyr 17ff17a0d0
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-05-07 04:00:15 +02:00
metalgearsloth 1d63b4cfcb
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

(cherry picked from commit 5896e6875266b22c565009b5d45f60ceb981d90a)
2024-05-03 00:15:32 +02:00
Tayrtahn ab2d7626b3
Add clothing equipped/unequipped events (#27155)
* Added ClothingGotEquipped/ClothingGotUnequipped events

* Better version

* Implemented in a few places

* More implementations

* Add ClothingDidEquipped/ClothingDidUnequipped events

(cherry picked from commit 50631f430d62fc413bc8757f8d1e1c4523417816)
2024-04-21 23:45:55 +02:00
slarticodefast 89316bf811
fix cryopod volume (#27148)
(cherry picked from commit b22c06230c0f38a77dc0ce699e68ac2d946f60d5)
2024-04-21 23:21:55 +02:00
slarticodefast a2e1dc8107
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.

(cherry picked from commit 5a5efa11cf1d68708a70d48a286cb97fde96afdf)
2024-04-21 22:05:43 +02:00
Pspritechologist 31bda710af
Suit Sensors No Longer Use a Hardcoded 'Total Health' (#26658)
* Suit sensors now know the 'total health' of an entity

* Missed the constructor 😔

(cherry picked from commit f5d9d3c4586252b6741f1c7473eef2b63b8fe586)
2024-04-07 14:34:09 +02:00
deltanedas 1c9e756178
fix health analyzer crash (#26700)
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 170e13b7aa8644c6db8ef3809554455c069a617d)
2024-04-07 14:32:37 +02:00
Leon Friedrich 01e6149cc1
Atmos device performance improvements (#26493)
* Atmos device performance improvements

* AtmosDirection perf improvements

* Fix errors

* Add GasTileOverlayComponent arguments

* Make excite no longer invalidate a tile

(cherry picked from commit 888a3bda515a214733bf748c5d6a7e7c923a301e)
2024-04-07 14:14:34 +02:00
Jake Huxell 7be31aab33
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

(cherry picked from commit 59e46aab93ca38f8d57fcad4e3a2c893737d9ad4)
2024-04-07 14:11:06 +02:00
nikthechampiongr 11d85b8796
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

(cherry picked from commit 266cc85f57c883b3a604a66da91d94bb1e18ec5d)
2024-03-27 18:35:36 +01:00
nikthechampiongr ad5628777b
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

(cherry picked from commit 362d56981fd7654f6ebec36f16cc8fabdd04b6a7)
2024-03-24 00:03:28 +01:00
nikthechampiongr 554aa0774b
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.

(cherry picked from commit dce24dfd03b3ddfe1044297edf9d35bc9f75c523)
2024-03-17 15:07:58 +01:00
Ilya246 5809d981b5
allow biomass reclaimer to reclaim plants (#23731)
(cherry picked from commit ec4e0990e16f70e6e4a2c1461680240f78cccaf3)
2024-03-17 14:53:20 +01:00
Julian Giebel 236bba59c2
System for single device net server per station functionality (#23946)
(cherry picked from commit 1ed63d43b00ebacafb5d6bc50d6c39348c7e8b39)
2024-03-07 01:22:35 +01:00
Whisper e0d84f2db2
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

(cherry picked from commit ff65cb7b0caaeb9edd9461eff942bdc6f5eb7f50)
2024-03-07 00:59:34 +01:00
Pieter-Jan Briers e7a3b82a8d
Use new ComponentPauseGenerator (#25183)
Also includes some (non critical) changes to the solution file to re-organize the Roslyn components.

(cherry picked from commit e00f74505c62310bd15aeaba8d6530f648397074)
2024-03-07 00:57:05 +01:00
Fildrance d0a55859df
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>
(cherry picked from commit ef849a0156e52d93c3a3c3b03f30858b33400292)
2024-03-05 09:44:53 +01:00
metalgearsloth 9e366f3119
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

(cherry picked from commit 05a2ddff1cc415c3bdf1e15ef3a2c953bcb5384b)
2024-02-18 22:46:26 +01:00
VMSolidus 8df7cc309e
Metempsychosis Returns (#685)
* Metempsychosis Returns

* Last updates

* Fixin the linter

* Update lathe.yml

* Update CloningSystem.cs

* Fixing the random name bug

* Fugitive, rough but functional

* Update fugitive.yml

* Update humanoid.yml

* Checking if its the floortile

* Guh

* Update EntityTest.cs

* Revert "Update EntityTest.cs"

This reverts commit 82375acd67.

* Revert "Guh"

This reverts commit bc98f0f858.

* Revert "Checking if its the floortile"

This reverts commit 51d3355cc1.

* Revert "Update humanoid.yml"

This reverts commit 5af8fbdabe.

* Revert "Update fugitive.yml"

This reverts commit 13124dbc77.

* Revert "Fugitive, rough but functional"

This reverts commit 47586c3b15.

* Update Content.Server/Medical/Components/MedicalScannerComponent.cs

Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Update Content.Server/Nyanotrasen/Cloning/MetempsychosisKarmaComponent.cs

Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Update Content.Server/Nyanotrasen/Cloning/MetempsychoticMachineComponent.cs

Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Update Content.Server/Nyanotrasen/Cloning/MetempsychoticMachineSystem.cs

Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Update Content.Server/Nyanotrasen/Cloning/MetempsychoticMachineSystem.cs

Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Update Content.Server/Nyanotrasen/Cloning/MetempsychoticMachineSystem.cs

Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Update Resources/Prototypes/Nyanotrasen/Entities/Structures/Machines/metempsychoticMachine.yml

Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Update Resources/Prototypes/Nyanotrasen/Research/biochemical.yml.yml

Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Update Resources/Textures/Nyanotrasen/Structures/Machines/metempsychotic.rsi/meta.json

Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Update CloningSystem.cs

Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Update CloningSystem.cs

* Update Content.Server/Nyanotrasen/Cloning/MetempsychoticMachineSystem.cs

Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Update MetempsychoticMachineSystem.cs

* Cleaning up some of the Metem code

* Update CloningConsoleSystem.cs

reordering for less merge conflict

Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Reordering usings for less merge conflicts

Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Update HumanoidAppearanceComponent.cs

Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Update CloningSystem.cs

Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Apply suggestions from code review

Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Update CloningConsoleSystem.cs

Somehow this got removed during cleanup

Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Update CloningConsoleSystem.cs

Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Update CloningSystem.cs

I put it back in the wrong file...

Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Update CloningConsoleSystem.cs

Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Apply suggestions from code review

Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Requested changes but need assistance with test fail

* biochem is gone apparently

* Update experimental.yml

Signed-off-by: VMSolidus <evilexecutive@gmail.com>

* Update MetempsychosisTest.cs

* Update CloningSystem.cs

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
2024-02-18 03:36:16 +01:00
Rainfey ecf9634e0c
Make Health Analysers UI continuously update (#22449)
(cherry picked from commit 4129c77a5b7c4d5cdfa4763881bdaa443c128f33)
2024-02-08 12:39:55 +01:00
themias 85c69617a9
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

(cherry picked from commit 09dd92ce61b90f0ec64de77e0d5ae35090b931c8)
2024-02-08 12:36:07 +01:00
themias 22acbfd31c
Fix cryopod debug assert (#24830)
(cherry picked from commit efb623de19d1107f6319ebef451c043c0c606579)
2024-02-08 12:25:37 +01:00
Ed 25dbae8f9c
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>
(cherry picked from commit 498ad2d5d714c73d9212bda9d3d89d53b2001e04)
2024-02-08 12:11:07 +01:00
Errant 42ac528eda
Suffocation alerts for nitrogen breathers (#24373)
* Respiratorsystem namespace

* WIP gas alert update, does not work

* Finally

(cherry picked from commit 2737c80169853223660948931aadba894723fcaf)
2024-01-27 23:50:55 +01:00
Nemanja 7573dba496
Rip out remaining machine upgrades (#24413)
* Rip out remaining machine upgrades

* eek

(cherry picked from commit a9e89ab37221c4f5eff5a9e1d42e97c6f3e0753b)
2024-01-27 23:43:49 +01:00
LordCarve 3dfd479199
DamageSpecifier Total => GetTotal (#24160)
* DamageSpecifier [Obsolete] Total => GetTotal()

* Remove obsolete Total member from DamageSpecifier.

(cherry picked from commit c77eb8691dc08d384a88ddaf3b734f7777d741b5)
2024-01-27 23:42:35 +01:00
Debug aea2326ecc
Revert "Unrevivable trait (#24226)"
This reverts commit 7a2e500f689738b64abc24929e8d4a387749ba64.
2024-01-26 23:42:54 +01:00
Scribbles0 830ae5579f
Unrevivable trait (#24226)
* unrevivable trait + remove unclonable remnants

* cleanup

* change to hascomp

(cherry picked from commit 7a2e500f689738b64abc24929e8d4a387749ba64)
2024-01-26 23:13:01 +01:00
themias fde8491664
Fix clumsy defib debug assert (#23930)
* Fix clumsy defib debug assert

* don't need to specify null

(cherry picked from commit 25c477a64270aa5b2394ed5405c29a6882a78925)
2024-01-26 22:27:16 +01:00
Kara 03b3e36d43
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

(cherry picked from commit 0ae3858b69b695697ea9300609460f8ddb70ebbf)
2024-01-26 21:48:02 +01:00
AJCM-git 6b7e8b4f5b
UseDelay + ItemCooldown merge (#22502)
(cherry picked from commit 9c522c8b19f7a6f6b396c66342413572a22d7845)
2024-01-26 21:32:09 +01:00
TemporalOroboros ce27944275
Revert 'Revert 'Solution Entities'' (#23168)
(cherry picked from commit d23c8d5c19e56a582b6b12f832bd318efbdac7c7)
2024-01-23 23:00:42 +01:00
Nemanja 6e8c4009b4
Fix defibs resetting rot timer + slimes not having perishable (#23340)
* Fix defibs resetting rot timer + slimes not having perishable

* fix the sound too

(cherry picked from commit 8d9a76c95d25e5bc26c897e61ec9702141afed7a)
2024-01-23 22:53:17 +01:00
Whisper aae12e3bc8
make healing sounds audible (#23211)
(cherry picked from commit da055fcd988e47ab278606e9c8895bd3b23bcaac)
2024-01-22 21:04:15 +01:00
TemporalOroboros aebae6fab7
Content ecs containers (#22484)
(cherry picked from commit 7a77d6d5dd73a34be238fdebc284da5bc2917c67)
2024-01-22 18:47:55 +01:00
Leon Friedrich adee2a7465 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 23:25:06 +01:00
Kara 7decaa29e7 Convert atmos device events to ref events (#22843) 2023-12-22 23:25:05 +01:00
Kara a23dce4702 Rename Miasma to Ammonia (#22791)
* Rename Miasma to Ammonia

* Namespace changes

* Map change????? why
2023-12-22 23:12:06 +01:00
Leon Friedrich b87fcdb622 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-16 20:38:06 +01:00
themias 2851e53c28 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-16 20:30:32 +01:00
chromiumboy 66b5437d81 Crew monitor revisit (#22240) 2023-12-16 19:37:30 +01:00
metalgearsloth b1ee2d48ff Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-12-02 20:16:36 +01:00
Nemanja f2b749bd31 Fix borg mobstates (#21307)
* Add dead states to borgs

* this?

* ack
2023-11-12 20:52:59 +01:00
Nemanja 27624ad280 Speed Boots [Tier 3 Civ-Service] (#21438)
* Speed Boots

* validate

* monkey
2023-11-12 20:48:04 +01:00
Leon Friedrich 1465c02a77 Move ActorComponent to shared (#21293) 2023-10-31 19:12:44 +01:00
Leon Friedrich e66c0b5035 Un-revert IPlayerManager refactor (#21244) 2023-10-31 19:00:44 +01:00
metalgearsloth 4cf7f4f1c9 Predict tile-prying (#21167) 2023-10-23 23:54:01 +02:00
DrSmugleaf 9cc8a7fc81 Remove 700 usages of Component.Owner (#21100) 2023-10-20 15:31:13 +02:00
TemporalOroboros 8c55d3e5ce Moves SolutionContainerManagerComponent to Shared. (#20944) 2023-10-14 22:07:17 +02:00
Kara 4f5142356a Kill `UserInterfaceHelpers` (#20912) 2023-10-14 22:02:34 +02:00