* Engine namespace changes.
* Automated remove redundant using statements.
* Simplified Graphics namespace.
* Apparently the container system stores full type names in the map file.😞 This updates those names.
* API Changes to LocalizationManager.LoadCulture.
* Update submodule to v0.3.2
* WIP changes
* Fix tests, merge conflict and trigger once behavior
* Update yml
* Change test strings to be consts
* Fix total damage types and classes triggers
* Simplify damage trigger logic, move state to Threshold
* Update outdated code and docs
* Change the name of IBehavior back to IThresholdBehavior
* Change human gibbing to trigger at 400 brute damage
* Change gibbing from brute to blunt damage
* Fix one (1) typo
* Add damage class trigger test
* Add missing nullable enable to thresholds
* Make damage work through messages and events, make destructible not inherit ruinable or reference damageable
* Copy sound logic to destructible component for now
* Fix typo
* Fix prototype error
* Remove breakable component damageable reference
* Remove breakable construction reference
* Remove ruinable component
* Move thresholds to individual components and away from damageable
* Add threshold property to damageable component code
* Add thresholds to destructible component, add states to damageable, remove damage container, fix up mob states
* Being alive isn't normal
* Fix not reading the id
* Merge fixes
* YAML fixes
* Grammar moment
* Remove unnecessary dependency
* Update thresholds doc
* Change naming of thresholds to states in MobStateComponent
* Being alive is once again normal
* Make DamageState a byte
* Bring out classes structs and enums from DestructibleComponent
* Add test for destructible thresholds
* Merge fixes
* More merge fixes and fix rejuvenate test
* Remove IMobState.IsConscious
* More merge fixes someone please god review this shit already
* Fix rejuvenate test
* Update outdated destructible in YAML
* Fix repeatedly entering the current state
* Fix repeatedly entering the current state, add Threshold.TriggersOnce and expand test
* Update saltern
* Put the damage in the windows
* add crack overlays
* Window cracking
* glass related sounds
* let's use a valid state
* run optipng on these for posterity
* Examine damage descriptions
* add "Constructible" to dictionary
* Downmix stereo effects to mono
* breaking and knocking
* Add shard etc. sprites
* shard inhands
* more sprite wrangling
* Expand destructiblecomponent drop system + implement it for windows
* Shard descriptions
* Random sprite component
* no nullbabby
* Random destroysounds
* random offset on destructible drops
* fix fucked yaml
* sound collections
* random pitch for knocking
* Localization
* hascomponent
* better spawnondestroy
* missed one
- Powerful
- Data-oriented
- Approved by PJB
- Powered by node graphs and AI pathfinding
- Coded by the same nerd who brought you atmos
Co-authored-by: Exp <theexp111@gmail.com>