Commit Graph

37 Commits

Author SHA1 Message Date
slarticodefast 22c086c901 cleanup EntityStorageSystem (#40163) 2026-04-04 16:54:51 +02:00
slarticodefast a3bf2c8155 predict morgue and crematorium (#39293) 2025-11-23 15:22:29 -06:00
poklj 46f1c81cd0 Changeling devour and transform (#34002)
* Initial:

Create Devour componentry, preliminary identity storage and the systems
for Devouring

* I have genuinely no idea what i'm doing

- added the radial menu, it has nothing in it.

- trying to get it to populate. the event under the event is broken,
i don't know why, but apparently it's not typed right

- Added a placeholder transform

- oh also fixed up some devour stuff and moved some things around.

* Holey moley, Transform, better devour, oh my!

- Move DnaComponent into Shared because we need it for the DNA cloning

- Make Transform MOSTLY work on the LAST identity devoured.

- Fix some issues on devour that involved prediction, canceling and
Damage exeucting (Thanks Plykiya for pointing out AttemptFrequency!)

* Proper tail stealing and Damage modifier attempt

Add check to add a wagging component on the Changeling if the victim's
species Prototype had one.

attempt to add the Damage mitigation check

* MAJOR CLEANUP AND FIXES AUGH 3 DAYS!!!

- Nullspaced a clone of a victim

- fix audio using server virtualized Pvs (i hate this)

- fix the mispredicted doafters

- Clean up a wholelotta code

- utilize clone systems to clone appearances

- Move CloneAppearance from server to shared So we can actually access
it

* Examine stuff, more cleanup, Jumpsuit ripping

- make rotting prevent the action

- Add ripping of clothing (guh why is it also server)

- add some System stuff for pushing husked corpse inspection

- clean up more badcode

* Doing things properly, UI sorta kinda works.

- Utilize Relayed events for Devour checking

- Get a UI that partially works, Says the name of identities, doesn't
show their looks

- Make use of the New Dynamic BUI assignment

- commit the sin of no client prediction cause nullspace entities aren't
networked

* Got an entity for the Frontend transform

Issue with the looks

* Stick a camera into a fake mobs forehead

- Get the UI to see the net entity in pause space by using a
ViewSubscriber to get the Pvs from the initially stored identity entity

- Remove all the other parts used to try to get this to work before hand

* Raaaaadiallllllls also fix protection coefficents

- Change FancyWindow to Radial

- Fix Issue where coeffeient checking was the wrong way round

* absolutely massive cleanup, no more camera in mobs

- cleaned up event variables that are not needed

- Removed the use of a Pause space and go back to Nullspace usage

- use a PvsOverride rather than ViewSharing

- Remove old commented out code and Lots of unused code

* Fix "Ui elements" dying  on the screen

- some minor cleanup

- don't start the entities that get cloned

* ftl, cleanup, and fixing missing transform details

- add replace functionality to TypingIndicatorSystem and
BodyEmotesSystem

- add placeholder sounds and functions to TransformBodyEmotes

- add extra Pvs handling for later use

- attributions for the funny straw sound

- Sound collections for all of the sounds

- various cleanups

* Some extra cleanup

* Fix some false assumptions about TypingIndicator

- Bubbles now transfer on spawned humans rather than used humans

- Clean up YET MORE CODE

- make it so you can't eat yourself

* Oooprs, forgot to add a Husked Corpse Loc

* Missing period in the husked corpse loc

* bad devour windup placeholder

* Husking and WIP Lungs

- Husking now will be prevented from Revival fully and will change
the appearance of players

* Add finalized Sprites for actions and final meta

- add devour on and off sprites

- add transform action sprite

- Add Armblade sprite for future use

- Credit obscenelytinyshark for the sprites <3

* Remove ling lungs, Entity<> everything

- Remove the ling lungs stuff for now... body system is overly
complicated, makes my head hurt

- Switch every method to use Entity<> from Uid, Comp format

* cleanup, admin logging, WIP Roles

* Admin verb, Roundstart, gamerule stuff

- add a Admin verb to make Changelingification easy!

- Add game rule stuff for admin verb and to tell the hapless
goober how to be a changeling... sorta

- clean up parts to make VV easy... USE THE VERB!!

* Armor Coefficent Check

- Remove bespoke changeling armor check and replace it
with a generic armor coefficient query.

* move to UnrevivableComponent instead of husked

- Move UnrevivableComponent to shared

- add Analyzable and ReasonMessage to UnrevivableComponent
to give granular control of the message and whether or not it shows up
in the analyzer

- remove the check for HuskedComponent in DefibrillatorSystem

* aaaaaaa CopyComp

- Some cleanup

- make Vocal system shared

- make VocalSystem Not make more Actions than it needs

- Use some code from ChameleonProjector so we can copy components

- partially ungod method the Transform system

* Cleanup, Moving more things to CopyComp

- TransformBodyEmotes now uses CopyComp (it's a server component so i
need to tell the server to deal with it

- TypingIndicatorComponent also now uses CopyComp

- cleaned up old, now unused "replace" methods in favor of CopyComp

- BodyEmotesSystem now has a publically accessable LoadSounds to deal
with the same problem Screaming had

* WIP

* Devour Windup noise, ForensicsSystem cleanup

* Revert VocalSystem Changes

- Reverted Moving VocalSystem to shared, copy comp acomplishes it

- added component.ScreamActionEntity = null; for copy comp

* cleanup unneeded comments

* revert an accidental line removal

* Remove duplicate SharedHumanoidAppearanceSystem

* Cleanup Typo's and import Forensics components for Dna

* Some more forensics calls

* cleanup use CopyComp for now until CopyComps

* CR cleanup

* Undo some SharedHumanoidAppearanceSystem changes

* Confound these spaces

* Some Copycomp stuff and fixing some PVS override

* use the proper TryCopyComps that are merged

* Change TransformMenu with RadialWithSector

* All sounds done, Fix lack of typing indicator issue

* Updated attributions to include used sound authors

* some ftl typos and mind_role text issue

* DNA, Screaming, appearance, grammar, wagging

- reduced all of the above using ApplyComponentChanges

- Issue still remains with bodyEmotes sticking around in the UI

* Fix UI stuff, partials, entprotoid, good practices

- bunch of partials added

- UI now has a predicted message

- EntProtoID in the admin verb

- RipClothing now uses Entity<ButcherableComponent>

- husking is now optional (off by default) for testing/till we have
hivemind/when we figure out what were doing with devour

- remove TransformGrammarSet

* More CR stuff and documentation

- Make TargetIsProtected less of a meme, with a prototype
set of DamageTypes to check

- Documenation everywhere

- Move DevourEvents into its own file

* Predicted sounds and fix the comp clone list

- Made all start and stop sounds shared

- Split out the rest of the events and UI stuff into subfiles

- Fixed some Clone comp list issues where comments had -'s causing them
to be read incorrectly

* Damage cap check, Identity Shutdown cleanup, cleanup

* Sound stuff (but actually this time)

* Missed documentation

* Missed Documentation and a EntProtoId

* Remove unused dependency

* Remove a nullcheck

* Some dummy minplayers

* CR - Husked now uses a rem/ensure

* Update Actions in the Prototype

* Fixup mindswap handover

- cleanup and handover PVS on mindswap

* Fixup Missing meta from accidental "Take-theirs"

* Add the Armblade to the roundstart-role

* Cleanup, CR (everything but the UI and renames)

* missed a spot

* missed some more whitespace

* Renames

* Primary constructor and a space in these trying times

* User interface stuff for Slime transformation

* popup prediction

* Ling devour no longer makes duplicate identities

- added a key to identities to the original victim

- Add some extra clone settings

* add guard statements to OnClones

* SentOnlyToOwner additions

* fix for sound stoppage error

* Move Organ deleter into soon to be atomized husk

* clone event inventory

* mono sounds

* lower sound volume

* Fix networked sound warning

* Clone comps thing

* review

* attributions

* Fix clobbered changes

* I'm gonna weh out

- whole bunch of CR changes

* fix some very buggy git

* okay its fixed

* address most review points

* fix inventory

* we hate entityuids

* fix test and more cleanup

* move this

* fix more stuff

* fix validation and rootable

* Remove Quickswitch due to some UI quirks

* oops left out some better explanation

* remove dangling LastConsumed component fields

* fix test fail

* try this

* cleanup cloning subscriptions, add movement speed modifier

* fix slime storage

* fix cloning setting inheritance

* Add session information to transform admin logs

* slay the integration test hydra

* dwarf size

* more volume tweaks

* comments

* improve comments and unpredict deletion due to errors when shutting down the server

* fix displancement cloning

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-11-23 15:22:18 -06:00
Tayrtahn 93ae609d84 Cleanup redundant `SpriteSystem` dependencies in `VisualizerSystem`s (#37758)
Cleanup redundant SpriteSystem dependencies in VisualizerSystems
2025-08-05 16:16:25 +02:00
deltanedas 496d60448a
cherry pick Fix storage (#37714) (#3833)
* Optimise storage a quadrillion times (#37638)

* Optimise storage a quadrillion times

* How sweaty can we get

* Add fast angle checks

* Fix chunk indices

* Optimise the refresh method

Helps on client a lot as the clientside is suboptimal atm.

* Better name

* wawawewa

* Add single-angle path

* Okay FINE rider

* Fix storage (#37714)

The one path I forgot to get the relative index.

* cleanup ring box

* Fix 1x1 storage windows (#35985)

* fix stupid lunchbox error

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-05-23 17:34:37 +01:00
Tayrtahn 972e1cbb17 Cleanup more `SpriteComponent` warnings (part 2) (#37522)
* Cleanup warnings in DamageMarkerSystem

* Cleanup warnings in CuffableSystem

* Cleanup warnings in DeployableTurretSystem

* Cleanup warnings in StorageContainerVisualsSystem

* Cleanup warnings in ItemMapperSystem

* Cleanup warnings in ItemCounterSystem

* Cleanup warnings in RandomSpriteSystem

* Cleanup warnings in PowerCellSystem

* Cleanup warnings in ParticleAcceleratorPartVisualizerSystem

* Cleanup warnings in PaperVisualizerSystem

* Cleanup warnings in PoweredLightVisualizerSystem

* Cleanup warnings in LightBulbSystem

* Cleanup warnings in EmergencyLightSystem

* Cleanup warnings in DoorSystem

* Cleanup warnings in ClockSystem

* Cleanup warnings in BuckleSystem

* Cleanup warnings in JukeboxSystem
2025-05-18 17:58:43 +01:00
metalgearsloth 1f355142b8 General storage fixes (#34845)
* Fix storage stars

* Fix some more storage bugs

- Fix positions not saving.
- Fix the 1-tick delay between parent and child storage UIs opening / closing.
- Fix BackButton being visible sometimes when it shouldn't be.

* milon is a furry
2025-03-01 13:31:09 +00:00
pathetic meowmeow 4bfd53fc66 Don't force-show storage windows when their contents change (#35048) 2025-03-01 12:38:14 +00:00
deltanedas 57ff361009 Revert "Revert `Storage UI V2` (#2950)"
This reverts commit 94dcefd803.
2025-03-01 12:37:16 +00:00
Michael Shaw 94dcefd803
Revert `Storage UI V2` (#2950)
* Revert `Storage UI V2`

Storage UI v2 has been a buggy and infuriating mess to use.
This idea needs additional polish before it is ready. I think we should
go ahead and remove it until that point, to alleviate further
aggrevation.

Signed-off-by: Michael Shaw <michaelsshaw44@gmail.com>

* storage: remove unused cvars

---------

Signed-off-by: Michael Shaw <michaelsshaw44@gmail.com>
2025-02-10 22:55:39 +00:00
metalgearsloth 767b43fd26 Storage UI V2 (#33045) 2025-01-28 04:52:58 +00:00
Crude Oil b8af5b195c Add ability to show stack visuals on closed containers (#29309)
* add ability to show stack visuals on closed containers

* remove container stack visuals logic from sharedstoragesystem

* improve comments a bit

* move logic for open/closed containers into itemcountersystem

* move behavior to storage component

* remove unused import

* remove old comment

* fix comments

* fix wrong property name

* Update Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs

* Rename variable for clarity

---------

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
2024-08-09 17:52:22 +01:00
Plykiya 1f8b8180e5 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-08-09 17:47:22 +01:00
Plykiya ae0a69d769 Replace obsolete xform.ToMap() with xformSystem.ToMapCoordinates() (#30010)
* Get rid of a bunch of obsolete usages

* position

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-09 17:47:21 +01:00
DrSmugleaf 914f397035
Fix storages bugging out if an open storage has its component removed (#29485)
* Fix storages bugging out if an open storage has its component removed

* Fix error on close
2024-07-25 01:50:40 +02:00
eoineoineoin c62bd23656
Replace Matrix3 with System.Numerics.Matrix3x2 (#27443)
Replace Matrix3 with Matrix3x2
2024-06-06 21:44:48 +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
metalgearsloth 8bd58f68b5
More storage tweaks (#25970)
- Fix some prediction stuff.
- Fix some jank.
- UseDelay.
- Cap.

(cherry picked from commit b2b1926eccbae918c8d9702cfba40e54d1f4d870)
2024-04-21 23:20:53 +02:00
metalgearsloth c639a4efbb
Predicted movement opening lockers (#24937)
Relay wasn't really networked properly and this annoys me.

EntityStorage is still pretty skrunkly but this fixes the main issue I think.

(cherry picked from commit 042feae2e91f41f7d39e55340405e3c448903d61)
2024-02-08 12:36:12 +01:00
Debug 18f0af1f68
Implement gridinv, proper (#703)
* Implement gridinv, 1500 squashed commits :elp:

* Me when

* Linter errors

* Fix katana belts
2024-01-21 19:58:28 +01:00
DrSmugleaf 9cc8a7fc81 Remove 700 usages of Component.Owner (#21100) 2023-10-20 15:31:13 +02:00
DrSmugleaf ce08cd5b35 Remove obsolete usages of AnimationPlayerComponent (#20806) 2023-10-14 22:07:18 +02:00
Kara b8f401d664 Bows & arrows (#19771) 2023-09-27 21:59:12 +02:00
metalgearsloth a7208af7d6 Add ore bag area pickups (#19358) 2023-09-27 21:59:12 +02:00
metalgearsloth f38f0ab614 Predict StorageComponent (#19682) 2023-09-27 21:59:12 +02:00
metalgearsloth c9648da984 Content update for NetEntities (#18935) 2023-09-27 21:59:12 +02:00
Nemanja f5d961e7be
Fix foldables (#19717) 2023-09-01 12:30:40 +10:00
metalgearsloth ef5a4ec306
More ent storage ref (#19693) 2023-08-31 22:29:11 +10:00
metalgearsloth 609bf63893
Remove entity storage compref (#19557) 2023-08-31 18:32:03 +10:00
metalgearsloth fcf01cc6ef
Trashbag stuff (#18096) 2023-07-18 21:44:00 +10:00
TemporalOroboros a1715666f0
Resolves StackVisualizer is Obsolete (#13908) 2023-05-18 16:16:53 +10:00
metalgearsloth ae01618874
Revert "Revert "Replace `ResourcePath` with `ResPath` (#15308)" (#155… (#15566) 2023-04-20 20:16:01 +10:00
metalgearsloth acf79a8209
Revert "Replace `ResourcePath` with `ResPath` (#15308)" (#15551) 2023-04-20 11:43:54 +10:00
Ygg01 71f358a027
Replace `ResourcePath` with `ResPath` (#15308) 2023-04-19 23:39:17 +10:00
Nemanja a5b9cecc78
Predict entitystorage (#14082)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-02-26 23:44:30 +11:00
Visne 5a5a3afbb1
Remove some obsolete AppearanceComponent method usages (#13726) 2023-02-02 12:34:53 -04:00
metalgearsloth 189d49a51f
ItemMapper ECS (#9867) 2022-08-08 12:35:57 +10:00