* metabolism -> respirator, add reageanteffect and reagenteffectcondition, start on metabolizercomp/system
* move LiverBehavior metabolism logic to Metabolizer
* minor tweaks and update all YAML
* how about actually taking conditions into account
* off by one
* removals
* reviews
* HealthChangeMetabolism now scales with ticktime and metabolism rate
Both Food and Drink metabolisms scale with ticktime, Now HealthChangeMetabolism also does so.
Additionally, 'healthChange' now correctly scales with the metabolism rate, so it's description is now correct.
* LiverBehaviour now uses correct frameTime
Previously, the liver only metabolised reagants once every second, but incorrectly passes the current frameTime to the metabilism function, not 1 second.
* Stomach now only transfers non-empty solutions.
Makes debugging bloodstream bugs easier if the stomach is not constantly adding empty solution to it.
* Fixed StomachBehaviour using wrong SolutionContainerComponent
Stomach was using the first SolutionContainerComponent in the owner of the body, instead of the container in the owner of the mechanism (stomach). As a result, it used to use the BloodStreamComponent.Solution as a "Stomach".
* Update StomachBehavior.cs
Somach now checks if it still contains a reagant, before transferring it.
* Added argument to IMetabolizable.Metabolize()
Added availableReagent argument to IMetabolizable.Metabolize(), This ensures that this function does not over-metabolize a reagant, which can happen if tickTime*metabolismRate is larger than the available reagant
* Revert "Stomach now only transfers non-empty solutions."
This reverts commit 2a51e2d87e6e17ab76b48e5316ce501ec05ac061.
* Renamed _updateInterval to _updateIntervalSeconds
Also modified doc comment specifying units
* Fix spelling of healthChangeAmount
Changed from healthChangeAmmount to healthChangeAmount
* Fixed comment
comment used to mention _updateInterval, which has been renamed _updateIntervalSeconds
* Fixed typo in comment
* fixed typos: reagant -> reagent
Most typos were just in comments.
* Make metabolizable classes inherit from DefaultMetabolizable
Also involved changing around IMetabolizable
* Renamed variables
metabolismAmount -> amountMetabolized
* Updated Comments in DefaultMetabolizable
Makes it clearer why DefaultMetabolizable works as it does, and that other classes depend on it.
* #4420 moved sound components to a better spot in the project
* MWF-4420 - ported SecureEntityStorageComponent to new ECS system, as a LockComponent
* MWF-4420 - removed unused usings
* #4420 removed dumb ToggleLockVerb override workaround
* #4420 added SoundSpecifier to LockComponent
* Revert "#3935 implemented suggestions from PR"
This reverts commit a9b1c7b96333ca570067d6a9df1954481005892a.
* #4219 revert of single sound removal in EmitSoundSystem
* #4219 single sounds in EmitSoundSystem should work now
* #4219 some small project tweaks
* #4219 upgraded EmitSoundSystem to use SoundSpecifier
* #4219 pr tweaks
* #4219 pr tweak
* #4219 missing bike horn .yaml change
* basic eui and window
* finish EUI, update defaults
* unnecessary usings
* convert to bounduserinterface
* merge me up
merge me up inside
* Fix repeated define for component in prototype
* impl swept UI suggestion
* apply discord reviews
* small changes
* Added mapped storage for things like crayon belts and tools
* Attempt to get StorageFillEvent to work
* Managed to get it working with Visualizer logi
* Improved PR and did some light refactoring of components
* Update Content.Client/Storage/Visualizers/MappedItemVisualizer.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Removed event, went with stateful ApperanceData
* Removed ids in favor of whitelist
* Refactor YAML, Moved functionality to Shared and renamed it.
* Changed so insert/remove always send full state.
* Move logic to component
* Fix some issues on MappedVisualizer and few nitpicks
- Fix mapped visualizer only doing init or update layers
- Fixed naming of systems
- Fixed sort of crayons
* Forgot to apply Vera's suggestion
* Fix the data to be more strict and to avoid unnecessary clearing
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>