Commit Graph

256 Commits

Author SHA1 Message Date
Cojoke b57174007c
Remove all Assigned Values that are Never Used (#30110)
Remove all Assigned Values that are never used
2024-07-18 20:22:23 -04:00
Plykiya b7aa97e203
Replace obsolete EntityCoordiates.InRange() with TransformSystem.InRange() (#29993)
* Replace EntityCoordiates.InRange() with TransformSystem.InRange()

* nullspace

* I figured it out

* man I have no clue how client side sutff works

* please have mercy

* remove RadiationPulseOverlay changes

* nullspace

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-07-13 23:25:51 +02:00
deltanedas 02636386b5
item toggling giga rework + full ninja refactor (#28039)
* item toggle refactoring and some new systems

* add ToggleClothing component/system

* unhardcode magboots gravity logic

* make magboots and speedboots use ItemToggle and stuff

* remove now useless clothing components

* update client/server magboots systems

* add note to use ItemToggledEvent in ToggleActionEvent doc

* refactor PowerCellDraw to use ItemToggle for ui open/close control

* add TryUseCharges, refactor charges system

* update magboot trigger code

* make borg use ItemToggle, network SelectedModule instead of now removed Activated

* add AccessToggle for borg

* the giga ninja refactor

* update ninja yml

* update ItemToggle usage for some stuff

* fix activatableui requires power

* random fixing

* yaml fixing

* nuke ItemToggleDisarmMalus

* make defib use ItemToggle

* make things that use power not turn on if missing use charge

* pro

* fix sound prediction

* bruh

* proximity detector use ItemToggle

* oop

* big idiot syndrome

* fix ninja spawn rule and make it generic

* fix ninja spawn rule yml

* move loading profiles into AntagLoadProfileRule

* more ninja refactor

* ninja yml fixes

* the dreaded copy paste ops

* remove useless NinjaRuleComponent and ue AntagSelection for greeting

* fix invisibility

* move IsCompleted to SharedObjectivesSystem

* ability fixes

* oop fix powercell instantly draining itself

* sentient speedboots gaming

* make reflect use ItemToggle

* fix other test

* loadprofilerule moved into its own pr

* remove conflict with dragon refactor

* remove all GenericAntag code from ninja

* )

* probably

* remove old enabled

* great language bravo vince

* GREAT LANGUAGE

* who made this language

* because it stinks

* reparent blood-red magboots to magboots probbbly works

* most of the review stuff

* hasGrav doesnt mean what i thought it did

* make health analyzer use itemtoggle, not fail test

* fix mag/speed boots being wacky

* UNTROLL

* add ItemToggle to the random health analyzers

* a

* remove unused obsolete borg func

* untrolling

* :trollface:

* fix test

* fix

* g

* untroll

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-07-11 15:55:56 +10:00
lzk 061ec432ff
Add popup for health analyzer target (#29803)
* Add popup for health analyzer target

* addition

* fix showing popup to all
2024-07-09 04:42:35 -04:00
lzk 74d9ac7241
Add popup for healing target (#29804)
* Add popup for healing target

* hop

* huh

* fix one

* fix showing popup to all
2024-07-09 04:41:47 -04:00
BombasterDS 81e41f8e8d
Mannequin (#29004)
* Mannequin

* rsi license fix

* damage container fix

* container fix

hope this works

* layers fix + appearance comp (mb it help?)

* maybe fixed?

* one day it will work...

* can't even understand why test failing... (maybe fix?)

* last try?
2024-06-15 13:50:55 -04:00
Plykiya 1d4d6c3331
Fix gauze stopping if it stops bleeding (#28844)
delete a line

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-06-12 22:19:10 -04:00
AJCM-git 91875e91e1
Strip Items From Things Before Biomassing Them (#28544) 2024-06-02 23:30:00 -04:00
eoineoineoin b44b159431
Replace Matrix3 with System.Numerics.Matrix3x2 (#27443)
Replace Matrix3 with Matrix3x2
2024-06-02 14:07:41 +10:00
DrSmugleaf dbb7dcd16d
Add defib event, add fields to be able to disable crit defib and do after movement (#28174)
* Add defib event, add fields to be able to disable crit defib and do after movement

* Fix check
2024-05-21 14:11:49 +02:00
Leon Friedrich 0f6e1196d8
Use non-generic `TryComp()` for metadata & transform (#28133) 2024-05-20 22:40:35 -07: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
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