Commit graph

330 commits

Author SHA1 Message Date
Whatstone
58dae1ce4a
Check RelayInputMoverComponent lifecycle when applying input (#46172)
* Remove operator relay components immediately

* Use EntityQuery for relay comp lookups

* learn your ABCs with whatstone

* Check component lifecycle, not immediate removal
2026-10-05 02:24:24 +00:00
eoineoineoin
74b926888d
Fix error when pressing movement keys in an MMI (#46135)
Missing component is OK. No error logging, please
2026-09-22 22:07:43 +00:00
AndrewFenriz
07a90a5a63
Fix camera rotation while movement is blocked (#45953)
FIX
2026-09-19 12:13:20 +00:00
AndrewFenriz
c48d77c0d2
Predict SpriteMovement visuals (#45930)
* small cleanup

* predict
2026-09-19 07:21:57 +00:00
Whatstone
a023e5784c
Cleanup: Remove byte order markers from most files (#45796) 2026-09-17 23:23:54 +10:00
Princess Cheeseballs
bb98838d67
Energy Bow Nerf (#44138)
* phase 1

* delayed knockdown

* brudda

* microbalance

* enrrhguy gjkasnnboew

* does nothing

* whoop

* fix YAML linter

* some more changes

* no discounts

* I hate ContainerContainer

* gorbino's quest

* asfassaffsa

* dgdgsdgsgds

* humburber

* better description

* make it a metabolite...

* nevermind

* API text

* grok

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-09-05 23:45:37 +00:00
TheShuEd
e1a8c66676
Movement Modifier Status Effect fix (#45437)
self stabile
2026-08-18 20:39:02 +00:00
Whatstone
26a92f4180
Cleanup: Resolve GetAnchoredEntitiesEnumerator, Get*TilesEnumerator warnings (#45234)
* Resolve GetLocalTilesEnumerator etc. warnings

* forgot you

* technically correct

* dangit
2026-08-17 01:34:10 +00:00
Samuka
838984971c
Xenoborg guided missile (#45247)
* update math

* target finder system

* ports

* guns with projectiles

* make sure

* custom sprites for the laser

* add auto link

* add module

* sprite for the missile

* update animation speed

* ops

* make it glow

* overlay sprite

* stuff that doesn't work

* update launcher

* fix it

* make it see from far

* make it work

* sprite for the module

* 30 seconds is too much

* sprite for the range finder

* why was that here?

* update sprite of the missile

* update module icon

* ops

* update missile and missile launcher

* make it look like the launcher item

* remove ammo counter from range finder

* increase to 15 seconds

* no longer show the battery percentage

* use comp

* change summary

* ops

* new line

* make it last longer

* commentary

* acme moment

* fix bug when shooter was also the target and the projectile wouldn't move

* empty commit

* fix test fail

* replace with global behavior

* forgot to remove from the yml

* important

* check to see if the target exists

* fix autorefill bug

* remove unused system

* make it reload a tad slower

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
2026-08-16 05:10:57 +00:00
deltanedas
cf7fde3d62
Big prototype and datafield cleanup (#45202)
* giant protoid cleanup

* yml changes

* !

---------

Co-authored-by: deltanedas <@deltanedas:goida.zip>
2026-08-12 02:07:22 +00:00
Голубь
c86c92c5cf
update namespace for shared ghost folder (#45095)
a
2026-08-03 07:16:25 +00:00
Whatstone
dd5b6fcc5f
Refresh both weightless and movement speed modifiers on each refresh call. (#45074)
* always apply weightless and mvmt speed modifiers

* Fix xmldocs
2026-08-01 09:17:56 +00:00
AndrewFenriz
0007d22d8d
Fix vehicles retaining movement input after unbuckling (#44964)
fix
2026-07-27 08:01:45 +00:00
Stanislav
b22d38f9c0
Yaml audio params are often ignored (#36259)
* Replace WithVolume() with AddVolume(),
Remove AudioHelpers.WithVariation(),
Use specifier options for audio params

* Undo switching to AudioParams.AddVariation()

* Replace AudioHelpers.WithVariation with AudioParams.AddVariation()

* Test AudioParams.AddVariation() and change input parameters to sound like previous AudioHelpers.WithVariation()

* Fix build error

* Fix build error v2

* Remove DoAfter

* fixes

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-07-25 16:16:23 +00:00
Whatstone
a88d2c5164
Cleanup: Resolve remaining PopupSystem warnings in Content.Shared (#44685)
* PopupClient to PopupEntity/Coordinates

* PopupPredictedX to PopupEntity/Cursor/Coordinates

* The rest of the damn owl

* nullability fixes

* Buckle cleanup

* cleanup, address PR comments

* ExecutionSystem: one popup method

* correct my filthy lies

* Apply most of ajcm's suggestions

* return user to SharedItemRecallSystem.cs

* Fix lingering Ensnarable broadcast popups

* targeted drain popups

* fix lingering untargeted Guardian popups

I read the comment on GuardianHostRecall.  Oops.

* target stethoscope popups

* fix the PDA vibration popup

* Fix target for encryption key removal popup

* anomaly scanner: args.User, not uid

* disposal unit comment, bcast pda vibration popup
2026-07-16 21:54:33 +00:00
Crude Oil
a80d2db97b
Fix crawling slowdown remaining after standing back up (#44683)
add missing function calls for downing and standing
2026-07-15 13:14:10 +00:00
Princess Cheeseballs
d25c783183
Better API for Weightless Movement Modifiers (#38773)
* Make IsWeightless event based

* Extremely stupid bugfix how did I not catch this

* Ancient forbidden bugfix

* Merge conflicts?

* Fix merge conflicts

* Push

* fix

* AAAAAAAAAAAAA

* AAAAAAAAAAAAAAAA 2

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-07-15 02:41:43 +00:00
SlamBamActionman
abf7361f72
Revert "Add "wobbly walk" - movement deviation when drunk/bloodloss" (#44671)
Revert "Add "wobbly walk" - movement deviation when drunk/bloodloss (#44652)"

This reverts commit fe31522461.
2026-07-14 20:48:35 +00:00
SlamBamActionman
fe31522461
Add "wobbly walk" - movement deviation when drunk/bloodloss (#44652)
* Initial commit - not sure why it won't trigger

* Fix it iuohgrhjkgsefawed SEALED not ABSTRACT

* Include for bloodloss and add a buffer time

* Review changes

* Yaml'd

* Add comment explaining no movement speed stop
2026-07-14 10:32:27 +00:00
Samuka
c93da79aed
Fix slipping canceling held movement inputs (#44478)
* remove this

* move comp removal of ActiveInputMoverComponent to shared
2026-07-03 02:31:36 +00:00
Princess Cheeseballs
82bf785647
Linear Damping final fixes (#37987)
* Init Commit

* Last commit

* Merge conflict resolve

* fix test failures

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 20:56:59 +10:00
Whatstone
e3c10b36b1
MoverController.IsAroundCollider: skip children, one-way collision check (#44053)
* MoverController.IsAroundCollider: parents, collide

* minor optimization

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-26 02:31:56 +00:00
AndrewFenriz
ab9d7efc36
Vehicle system: Movement & Buckling (#43525)
* Part one of Vehicles

* Also we need this

* And we need this

* We REALLY need this

* Little fix

* fixes (i'm tired)

* Apply suggestions from code review

Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>

* update

* fixed

* just for cleaner diff

* just in case

* I think this might be cleaner

* small fix

---------

Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
2026-05-21 23:37:18 +00:00
Pieter-Jan Briers
5168b5f3d4
IoC source gen compatibility (#43863)
* IoC source gen compatibility

Can be merged before or after https://github.com/space-wizards/RobustToolbox/pull/6549 doesn't really matter.

* Missed a spot
2026-05-09 03:29:58 +00:00
ScarKy0
869dd7a743
Changeling clone melee, puller and (most of) temperature (#43609)
* init

* docs

* alphabet and networking

* weh

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-04-18 14:54:30 +00:00
ThatGuyUSA
ee0f4050ef
Movement mod status clean up (#43582)
* save station

* Revert "Merge branch 'wiz-guardian-deck'"

This reverts commit 78fa318583b6c93110c47e3b9e23f7222747f89a, reversing
changes made to 4d5dab1098.

* yea basically this is good

* newline

* ok newline REAL on the RIGHT part of the code

* i hate formatting
2026-04-13 03:10:12 +00:00
ArtisticRoomba
376f16504c
Content.Shared EntityQuery<T> dependency injection refactor (#43498)
* part 1

* second pass

* final fix

* last fix i swear

* an even bigger genius

* regex missed this

* should be all of em?

* oops

* yeah

* Revert "should be all of em?"

This reverts commit 4dd54d1b9a76977b4cf8d6008358e4dacdee6eb1.

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-04-11 21:30:36 +00:00
slarticodefast
4fb78b777c
fix tailwag action for changelings (#43452) 2026-04-03 23:22:43 +00:00
WS01
53e413913e
Removed MovementBodyPartComponent (#43257) 2026-03-16 18:06:42 +01:00
Steel
f5bab1961f
Fix jetpacks not turning off when switching to another jetpack (#42689)
Initial commit
2026-02-16 21:47:05 +00:00
Princess Cheeseballs
6cefe4299d
[Staging] Let admins ignore the laws of physics again. (#42221)
admin ignore physics

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-03 20:39:17 +01:00
Princess Cheeseballs
8b33f4734f
Fix Kitchen Spike Paralysis by removing an unused subscription. (#42078)
* remove

* ACK ACK ACK ACK

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-12-26 07:41:27 +00:00
Princess Cheeseballs
eb41d5010b
Physics Assert in SharedMoverController (#37970)
* Physics asserts and Xenoarch fixes

* Fix blocking asserts

* Alright ready for the test fails

* Fix whitespace issues

* Fix whitespace

* Okay fix whitespace issues for real

* Fix test fails

* Temp fix

* Fix

* Whitespace

* Added a big ass comment

* Right

* A

* Should work

* Debug performance

* Mothership

* fix test fails real

* push

* fix

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-12-22 02:42:39 +00:00
Perry Fraser
79f58a0314
Don't process paused MoverControllers (#39444)
* refactor: make MoverController use more queries

* perf: don't process paused MoverControllers

* perf: track active input movers via events

* Revert "place stored changeling identities next to each other (#39452)"

This reverts commit 9b5d2ff11b.

* perf: keep around the seen movers hashset

* fix: don't reintroduce wild wild west ordering

* style: use virtual method

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* docs: better ActiveInputMoverComponent motiviation

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* fix: pass through known comp

* fix: properly order relay movers for real

* perf: use proxy Transform() and inline it

Actually this might be a slight performance improvement since it avoids

the dictionary lookup until the case that its body status is on ground.

* style: switch an event handler to Entity<T>

* fix: just-in-case track for relay loops

* merg conflix

* borger

* whitespace moment

* whoops

* empty

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-12-20 19:24:04 +00:00
WS01
75bb75539b
Changed PullingSystem to use MobStateChangedEvent instead of UpdateMo… (#41835)
Changed PullingSystem to use MobStateChangedEvent instead of UpdateMobStateEvent
2025-12-12 12:10:43 +00:00
Ciarán Walsh
c2f4b5145d
Defibs will now also shock anyone still interacting with the target. (#35998)
* Defibs will now also shock anyone still interacting with the target.

* Improvements to test readability

* Apply fixes to other tests

* Refactor the interacting entities query to use an event.

* Include pullers as interacting with the entity they are pulling

* Broadcast event

* Use a constant

* Convert new test to InteractionTest

* Convert existing test

* Add behaviour note

* Revert "Convert existing test"

This reverts commit b8a8f2f68e3733bdb6ec254faf955a42096d47d7.

* Move new test into separate (InteractionTest) test file

* Use ToServer

* Use a constant for prototype id

* Use ToServer

* Add EntProtoId constructor

* Add assertion failure messages

* Manual cleanup of test entities

* Remove obsolete flag

* Add test summaries

* Remove tuple constructor

* Wrap entity deletion in WaitPost

* Extend DoAfter interacting test with an extra mob
2025-11-22 23:44:26 +00:00
Princess Cheeseballs
4059c29ebc
Entity effects ECS refactor (#40580)
* LOCKED THE FUCK IN

* Forgot this little fella

* Crying

* All entity effects ported, needs cleanup still

* Commit

* HEHEHEHAW

* Shelve for now

* fixe

* Big

* First big chunk of changes

* Big if true

* Commit

* IT BUILDS!!!

* Fix LINTER fails

* Cleanup

* Scale working, cut down on some evil code

* Delete old Entity Effects

* Accidentally breaking shit by fixing bugs

* Fix a bunch of effects not working

* Fix reagent thresholds

* Update damage

* Wait don't change the gas metabolisms A

* Cleanup

* more fixes

* Eh

* Misc fixes and jank

* Remove two things, add bullshit, change condition to inverted

* Remove unused "Shared" system structure

* Namespace fix

* merge conflicts/cleanup

* More fixes

* Guidebook text begins

* Shelve

* Push

* More shit to push

* Fix

* Fix merg conflicts

* BLOOD FOR THE BLOOD GOD!!!

* Mild cleanup and lists

* Fix localization and comments

* Shuffle localization around a bit.

* All done?

* Nearly everything

* Is this the end?

* Whoops forgot to remove that TODO

* Get rid of some warnings for good measure...

* It's done

* Should make those virtual in case we want to override them tbqh...

* Update Content.Shared/EntityEffects/Effects/Botany/PlantAttributes/PlantDestroySeeds.cs

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>

* Fix test fails real

* Add to codeowners

* Documentation to everything

* Forgot to push whoops

* Standardize Condition names

* Fix up metabolism a little as a treat

* review

* add IsServer checks

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
2025-10-12 21:23:42 +00:00
Lordbrandon12
365d12a4e9
moves magic number from SharedMoverController to InputMoverComponent (#40411) 2025-09-20 11:35:07 -07:00
slarticodefast
e0fd44da66
merge stable into master (#40369) 2025-09-15 13:45:40 +02:00
Errant
9b5f9c3fd6
[Hotfix] Remove pull-escape trick (#40368)
* make HandleStopPull byref

* we get signal
2025-09-15 13:31:22 +02:00
Princess Cheeseballs
ab40b1ab73
Chameleon Projector Physics Fix (#37960)
* One commit

* Move files

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-09-13 01:23:57 +02:00
InsoPL
49fb6fdd6c
Fix for can't stop pulling when cuffed (#40233)
* fix

* fix

* spaces added
2025-09-11 20:39:25 -07:00
Princess Cheeseballs
d488ca96b2
Alerts Cleanup and API (#39544)
* alert cleanup and API

* I expect update loops to be at the top.

* Address review

* Address review x 2

* Merg my PR

* Fix

* Update Content.Shared/Alert/AlertsSystem.cs

webedit

Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>

* FIX THAT TEST FAIL!!!!

* Me when I forget to actually give you alerts

* Hammedborgar

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
2025-09-05 12:45:48 +03:00
Travis Reid
9f36a3b4ea
Fix docstring typo starts -> stops (#40031) 2025-09-01 02:32:59 +02:00
Princess Cheeseballs
9de76e70c7
EVENT BASED WEIGHTLESSNESS (#37971)
* Init Commit

* Typos

* Commit 2

* Save Interaction Test Mob from failing

* ssss

* Confident I've gotten all the correct prototypes

* Whoops forgot to edit those

* aaaaa

* Better solution

* Test fail fixes

* Yaml fix

* THE FINAL TEST FIX

* Final fix(?)

* whoops

* Added a WeightlessnessChangedEvent

* Check out this diff

* Wait I'm dumb

* Final optimization and don't duplicate code

* Death to IsWeightless

* File scoped namespaces

* REVIEW

* Fix test fails

* FIX TEST FAILS REAL

* A

* Commit of doom

* borgar

* We don't need to specify on map init apparently

* Fuck it

* LOAD BEARING COMMENT

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-08-19 14:35:09 -04:00
B_Kirill
438090a505
Cleanup warnings: CS0414 (#39748)
* Cleanup

* Fix
2025-08-19 09:42:54 +02:00
ScarKy0
14f949c311
Jumpability collisions (#39710) 2025-08-18 14:22:36 +02:00
Princess Cheeseballs
ce7b7c1adf
Fix Whoopie Cushions from lagging the game. (#39194) 2025-08-09 01:11:13 +03:00
poklj
f76e3b63b7
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-08-06 21:55:49 +02:00
Pieter-Jan Briers
444180c20d
Optimizations from server profile (#38290)
* Properly cache regexes in chat sanitization/accents

Wow I wonder if `new Regex()` has a cost to it *looks at server profile*.

* Avoid lag caused by Tippy command completions

CompletionHelper.PrototypeIDs explicitly says *not* to use it with EntityPrototype. Unsurprisingly, reporting a completion result for every entity prototype in the game is a *bad idea*.

* Add active count metrics to some high-load systems

Mover & NPCs

I suspect the thing that caused the Leviathan round to shit itself on performance is NPC spam in space or something. So let's verify that.

* Enable parallel processing on pow3r again

Originally disabled due to a theory of it causing bugs, it was re-enabled on Vulture, and I'm not aware of it having caused any issues there.

* Replace hashset with bitflags for AtmosMonitor alert types.

Allocating these hashsets was like 20% of the CPU of atmos, somehow.

* Cache HashSet used for space movement collider checks

Turns out this was a ton of server allocations. Huh.
2025-07-26 11:44:34 +02:00