-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.
* You cannot pickup items across walls, or pickup items when dead/in crit.
* Adds InRangeUnobstructed method to InteractionSystem.
Changes HandsSystem and ItemComponent to use it.
Currently if this component is present the delay timer is started but it doesn't actually prevent use interactions.
To test this bug, do the following:
1. Set the delay for [bike_horn](https://github.com/space-wizards/space-station-14/blob/master/Resources/Prototypes/Entities/items/bike_horn.yml#L25) to something large like 5.0 that'll make the effect obvious
2. Use the bike horn with the z key. The delay anim will play properly but you'll still be able to spam the honk.
* Change variable name in some interactions
I definitely didn't copy-paste some stuff back then, absolutely not.
* Fix bug where dropping items in tables didn't cause the drop interaction
* use delay timer
* remove accidental using
* and remove accidental newline because i don't proofread my code
* compatibility with HUD cooldown
suggested changes
* get out of here
* suggested changes
* change to seconds from milliseconds
* remove redundancy
* Instrument test.
* Midi stuff
* Some more work
* This actually works now!
* update
* Midi Audio works!
* Lots of stuff, and cool interfaces for items
* Update
* Fix a few things
* It just works
* Move textures to another folder, remove placeholder description from instruments
* Fix warning
* Use renderer enum
* Instruments now use DisposeRenderer method, and send MidiEvents as they receive them. Deletes InstrumentSystem whoo.
* Fix incorrect sprite paths
* Instruments take midi file size check into account when enabling/disabling midi playback buttons
* Fix crash when pressing drop on empty hand.
* Use new renderer return values for midi/input
* Xylophones are no longer handheld instruments, fix their sprites.
* Use new API
* Remove nfluidsynth from solution
* Timing information
* Use IGameTiming.CurTime for timestamps instead