-Ability to mix drinks to create cocktails with shiny icons
-New Chemistry System which can relay chemistry events to corresponding components
-moved some solution logic from Shared to Server
-fixed some weird stuff with DrinkComponent
* throwforce and probability fixes for explosions
Applies force to all affected by explosion entities with ItemComponent
Fixes probability issues with explosion related callbacks
* dependency fix, throw helper
* delete TODO
Co-authored-by: gituhabu <48828502+gituhabu@users.noreply.github.com>
* Add BloodstreamComponent and BloodstreamSystem
New component for metabolizing reagents that other organs like the stomach pass their input reagents to.
* Change StomachComponent to put ingested reagents in bloodstream after delay
Now StomachComponent does not metabolize any reagents. Instead, it tracks how long each reagent has been inside it, and once they pass "digestionDelay" they'll be put inside the bloodstream, where the bloodstream will handle metabolism of the reagent.
* Add reagent injectors
Injects reagents straight into the bloodstream when used on mobs with bloodstreams. Also allows draw/inject from beakers. Does not support drawing blood/reagents from the bloodstream yet.
* Address code review
Make use of `Loc` static class instead of using `ILocalizationManager`. Localize InjectorToggleMode enum properly.
* movement modifier system
* update default exposedata values
* changing base speed marks as dirty
* formatting
* movement speed modifier component
* Moves slowdown component to the prototype
AIController respects slowdown
* reset dirty flag
* Improve addai error handling and help message
Fix client crash from giving addai an invalid processorId argument and improved it's help message to describe each parameter.
* Only IoC resolve when addai is run
Makes the code simpler. No need to cache it since it's going to be run so infrequently.