* Initial framework for pulling.
* Make it possible to pull items via (temporary) keybind Ctrl+Click, make items follow the player correctly.
* Make other objects pullable, implement functionality for moving an object being pulled, make only one object able to be pulled at a time.
* Make sure that MoveTo won't allow collisions with the player
* Update everything to work with the new physics engine
* Update Content.Server/GameObjects/EntitySystems/Click/InteractionSystem.cs
Co-authored-by: ComicIronic <comicironic@gmail.com>
* Physics update and convert to direct type casts
* Add notnull checks
* Add pull keybinds to the tutorial window
* Move PullController to shared
* Fix pulled items getting left behind
* Fix moving pulled objects into walls
* Remove flooring of coordinates when moving pulled objects
* Add missing null check in PutInHand
* Change pulling keybind to control and throwing to alt
* Change PhysicsComponent references to IPhysicsComponent
* Add trying to pull a pulled entity disabling the pull
* Add pulled status effect
* Fix merge conflicts
* Merge fixes
* Make players pullable
* Fix being able to pull yourself
* Change pull moving to use a velocity
* Update pulled and pulling icons to not be buckle
A tragedy
* Make pulled and pulling icons more consistent
* Remove empty not pulled and not pulling images
* Pulled icon update
* Pulled icon update
* Add clicking pulling status effect to stop the pull
* Fix spacewalking when pulling
* Merge conflict fixes
* Add a pull verb
* Fix nullable error
* Add pulling through the entity drop down menu
Co-authored-by: Jackson Lewis <inquisitivepenguin@protonmail.com>
Co-authored-by: ComicIronic <comicironic@gmail.com>
* Flash component, overlay and shader
Add BeginDraw method to Overlay.cs
* Add flash icons, sounds
* Progress
* Multiple overlays without enums
* This is probably the worst way to do this IDK
* Remove nullable reference type
* Add AttackEventArgs as parameter to OnHitEntities
MeleeWeaponComponent.Attack now continues when OnHitEntities returns true (it hit something)
Add OverlayType enum so client and server can agree on overlay ids
Move IConfigurable to its own file
Add AoE flash with shorter duration
Flashing someone slows them down
* Add arc to flash
Set item size to something reasonable
Remove chat log message when flash burns out
* Remove unused interface
* Create BuckleableComponent.cs
* Add strap component and keybind to buckle targeted entity
* Remove buckle keybind, turn it into a verb
* Add moving and attaching the buckled entity to the strap
* Fix reality collapsing when clicking on a buckled entity
* Add strap position to buckle a mob in the standing or down position
* Add new default strap position that makes no change to the mob's standing state
* Add Strap component to office chairs and stools
* Add Strap component to the pilot chair
* Add buckled status effect icon
* Add status effect click behaviour
* Add buckling and unbuckling sounds
* Change Buckle verb to only appear when an entity can be currently buckled
* Rotate buckled entity in the direction of the seat
* Disable entity rotation when buckled
* Fix buckle rotation on beds
* Buckling now finds the closest strap to the buckleable entity
* Fix rotation when unbuckling an entity
* Move buckle verb to StrapComponent
* Added buckled entity unbuckle verb, range and interaction checks
* Add checks for currently occupied straps
* Add unbuckling entity if its respective strap component is removed
* Add Clickable, InteractionOutline and Collidable components to bed
* Add rotation property to strap component
* Rename Buckleable to Buckle
* Add Buckle and Strap sizes to buckle multiple entities in the same strap
* Remove out of range popup message from strap verb GetData
* Move BuckledTo setter logic to its methods
* Fix Strap BuckledEntities being public
* Fix not updating status when Buckle component is removed
* Change BuckleComponent.BuckledTo to be of type StrapComponent
* Fix NRE when unbuckling
* Add buckle perspective messages
* Fix not equals comparison in strap verb
* Add added check to Strap TryAdd
* Change buckle.ogg and unbuckle.ogg from stereo to mono
* Remove -2f volume on buckle and unbuckle sounds
* Add summary to Strap TryAdd and Remove methods
* Make buckled entities unable to fall
* Fix default strap position not rotating the buckled entity
* Add downing after unbuckling an entity if it is knocked down
* Prevent an entity from buckling onto itself
Fixes stack overflow error
* Disable recursive buckling
* Add buckling onto straps by clicking them with an empty hand
* Add recursive buckle check to the trybuckle method as well
* Fix being able to click on a different strap to unbuckle from the current one
* Merge TryUnbuckle and ForceUnbuckle with a force argument
* Remove explicit unimplemented status effect clicking cases
* Add documentation to EffectBlockerSystem and ActionBlockerSystem
* IExamine can now limit certain details behind a 'details' range check.
* Comic's Review fixes.
- colour -> color. My ancestors are saddened by this.
- Can see wire panel opened/closed at any distance again.