* 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
* checkpoint
* pt 2
* pt... i forgot
* pt 4
* patch
* More test fixes
* optimization!!!
* the REAL hand system
* fix RetractableItemActionSystem.cs oversight
* the review
* test
* remove test usage of body prototype
* Update Content.IntegrationTests/Tests/Interaction/InteractionTest.cs
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* hellcode
* hellcode 2
* Minor cleanup
* test
* Chasing the last of the bugs
* changes
---------
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Joints were created with pivots at object origin, causing unintuitive behaviour when an object was not centered on the origin. Now puts the pivots at the COM.
Joint limits were set based on fractions of the union of the AABB of objects, which did not make geometric sense. Now uses the pivot length with an additional [arbitrary] length.
Joints were created with a very low spring stiffness, which had a negligible effect most of the time but caused very unintuitive behaviour when the pulled object had a low mass (#28028) - disable the spring limit, and just use the hard min/max limits.
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
* Fixes pull rotation logic
* cleaner condition
* even less code
* I CHANGED MY MIND
* first one
* second one
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* Add slowdown to dragging Items that slow when held
* Heh, fancy
* Heh, fancy
* rename SetMovementSpeedModifiers to GetHeldMovementSpeedModifiers because it was not setting anything
* partial buckling refactor
* git mv test
* change test namespace
* git mv test
* Update test namespace
* Add pulling test
* Network BuckleTime
* Add two more tests
* smelly
I am leaving the issues open and have updated #26547 with more info on what we should do long-term. This is just to bandaid the short-term complaining.
Fix pulling when already pulling
The TryStopPull were failing due to wrong arguments provided.
Replacing the virtual item in hand with a different pull was failing due to the hand not being cleared.
Fix stop pulling checks that had the wrong variables provided.
VirtualItems are already queue deleted at the end of HandleEntityRemoved.
Fix puller not being improperly unset on PullableComponent while being unpulled.
When unpulled, the pullableComp has its puller field set to null after the message signifying the pulling has stopped
has been sent. Since the component has a field to determine whether its owner is being pulled which is determined by
the puller field, systems listening on the event would think that the owner of the component was still being pulled.
* Pulling rework
Fixing up the FOUR systems managing pulling, all the shitcode, and also making it nicer ingame.
* More pulling cleanup
* stats
* More cleanup
* First draft
* More pulling
* weh
* Fix puller
* Pulling working
* Fix merge
* Dunked
* Self-merge time
* Fix hotkey
* Fix container changes
* oop
* Fix multi-pulling
* Move alerts cleanup.
* pulling fixes
* Pulling rework
Fixing up the FOUR systems managing pulling, all the shitcode, and also making it nicer ingame.
* More pulling cleanup
* stats
* More cleanup
* First draft
* More pulling
* weh
* Fix puller
* Pulling working
* Fix merge
* Dunked
* Self-merge time