* Added: CanReach property to AfterAttack events which signals if the attack was within reach.
Fixed: You cannot construct/deconstruct things out of reach.
Fixed: Construction entities now preserve transform rotation.
Fixed: No more exceptions about missing grids when constructing world entities.
Fixed: Used the proper intermediate sprite for intermediate entities.
Fixed: Issue with missing sprite layers on ghost.
* The alligator is greedy, he always eats the bigger number...
* Adds a check so that you cannot use tools on entities that are obstructed from view.
* Add some extra comments
* Remove the redundant closedTiles variable
* Rename some variables to better match the common naming schemes
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Start work on Slippery Component
* Slips work
* Add banana peel
* Add required slip speed
* Add slip sound
* Adds soap
* Make soapnt, soapsyndie and soapdeluxe inherit soap
* Adds homemade soap and omega soap
* Fix slipping not taking into account the entity being in a container
* Add test to check all LogicNames in prototypes
* Change CreateProcessor to AiLogicProcessor (I thought I'd already done this as I remember PJB telling me to do this but apparently I'm an idiot)
* Temporarily remove invalid AiControllers
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Remove Unnecessary AnchorUpdate() call
* NodeGroupManager
* NodeGroupManager issues NodeGroup remake attempts
* Code cleanup
* NodeGroupManager only stores dirty groups, handles them on next frame
* Removes unused NodeGroupManager dependency
* Prevents OnRemoveNode from iterating over every connector after the first time
* Revert "Prevents OnRemoveNode from iterating over every connector after the first time"
This reverts commit c72af4b18d55192af789514f74bef893cf076fbc.
* Dependancy warning fix
Co-authored-by: py01 <pyronetics01@gmail.com>
* ConstructionSystem now detects when a tool is used on an arbitrary entity.
* Refactored building logic from ConstructionComponent to ConstructionSystem.
* Add OnDeconstruct events so that deconstruction can be blocked if prerequisites are not met.
* Multi-step deconstruction works.
Windows can be deconstructed using a screwdriver.
* In-hand construction and deconstruction works.
* Intermediate entities now have a better name assigned to them when created.
* Removed a question mark to appease Jenkins.
* Instead of running ExposeData on the existing ItemComponent of an intermediateFrame, the system will now replace the existing ItemComponent with a new one, and run ExposeData on the new one.
* 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