* 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
There was some extra bloat in the path graph updates.
Now the queue should also just run if it gets too big regardless.
Un-anchored physics objects are no longer a hard fail for pathfinding.
Add AccessReader support so open / close doors show up for pathfinding
AI also ensure they call the operator's shutdown when they're shutdown so that should cancel the pathfinding job.
I tried to split these into 2 commits but they were kinda coupled together
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Change exploding storages to explode their contents as well
* Change storages to only trigger content explosions when the severity is heavy or destruction
* Make inventories explode their contents as well
* Change InventoryComponent IExAct into an explicit implementation
* Change chain explosions to only trigger for explosion severities larger than or equal to heavy
* Start adding flashy flash
* Change slop
Might give a smoother decline
* flashy flash
* Add flashbang and flash projectiles
Bang bang bang pull my flash trigger
* Add collision check to area flash
* Flash cleanupo
* flash.ogg mixed to mono
* Adjusted flash curve again
* Enhancing flashes with unshaded and lights and shit
Still a WIP
* Add the other ballistic gun types
Re-organised some of the gun stuff so the powercell guns share the shooting code with the ballistic guns.
* Re-merging branch with master
Also fixed some visualizer bugs
* Last cleanup
Fixed some crashes
Fixed Deckard sprite
Fixed Hitscan effects
Re-applied master changes
Re-factor to using soundsystem
Add some more audio effects
* Cleanup flashes for merge
Can put flashbangs in lockers so you don't get blinded
Fix some bugs
* Fix shotties
Also removed some redundant code
* Bulldoze some legacycode
brrrrrrrrt
* Fix clientignore warnings
* Add the other Stunnable types to StunnableProjectile
* Some gun refactoring
* Removed extra visualizers
* All casing ejections use the same code
* Speed loaders can have their ammo pulled out
* Bolt sound less loud
* Stop ThrowController from throwing
* Fix speed loader visuals
* Update hitscan collision mask and fix typo
* Cleanup
* Fit hitscan and flashbang collisions
* Use the new flags support
* Update taser placeholder description
* Update protonames per style guide
* Add yaml flag support for gun firerates
* Cleanup crew
* Fix Audio up (components, audio file, + remove global sounds)
* Add server-side recoil back-in (forgot that I was testing this client-side)
* Add Flag support for fire-rate selectors
* Wrong int you dolt
* Fix AI conflicts
Haha ranged bulldozer go BRR
(I'll rewrite it after the other AI systems are done).
* Mix bang.ogg from stereo to mono
* Make sure serializer's reading for guns
Fixes integration test
* Change EntitySystem calls to use the static function
Also removed the Pumpbarrel commented-out code
* Change StunnableProjectile defaults to 0
* Fix taser paralyse
Apparently removing defaults means you have to specify the values, whodathunkit
* Add slowdown to stunnableprojectiles and fix tasers
* Remove FlagsFor from gun components
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
* Changed "Run" to "Walk" in code
Fixes#844
* Revert "Changed "Run" to "Walk" in code"
This reverts commit bf70dc7214d08c208823bccd5d3f36854d6b80de.
* Changed "Run" to "Walk" in code
Fixes#844