fish-station/Content.Server/GameObjects/Components
moneyl 3ab8036363 De-hardcode chemical metabolism of StomachComponent (#437)
* Move chemical reaction effects into Chemistry/ReactionEffects/ subfolder

* Replace hardcoded StomachComponent metabolism with IMetabolizable

The benefits of this approach are that reagent metabolism effects are not hardcoded into StomachComponent, and metabolism effects can be more easily chained together in yaml prototypes, and reagents can have different metabolism rates. One problem with this approach is that getting metabolism rates slower than 1u / second is impossible. Implementing #377 should resolve that problem.

* Fix DefaultFood and DefaultDrink so they remove reagent regardless of Hunger/ThirstComponent presence

Previously if neither of those were present the reagents wouldn't be removed from the stomach. This fixes that.

* Additional comment on function

* Make metabolizer interface implementations explicit

Also removed some unused using statements

* Make StomachComponent._reagentDeltas readonly

* Fix misleading variable names and docs for metabolizables

Changes one of the arguments for `IMetabolizable.Metabolize()` to be called `tickTime` instead of `frameTime` to more accurately reflect it's purpose. It's not really the frametime, but the time since the last metabolism tick. Also updated and expanded the docs to reflect this and to be more clear.
2019-11-21 23:24:19 +01:00
..
Access Make ID console fancier. 2019-10-21 22:54:16 +02:00
Chemistry Add hunger and thirst (#363) 2019-11-11 22:20:03 +01:00
Construction Rider static analysis (#433) 2019-11-13 23:37:46 +01:00
Damage Rider static analysis (#433) 2019-11-13 23:37:46 +01:00
Doors Correctly implement opening animation for airlocks with open maintenance panel. 2019-10-14 00:20:01 +02:00
Explosion Rider static analysis (#433) 2019-11-13 23:37:46 +01:00
GUI Rider static analysis (#433) 2019-11-13 23:37:46 +01:00
Healing Use automatic component registration. 2019-07-31 15:07:54 +02:00
Interactable Fix flashlight PointLight radius (#438) 2019-11-21 15:23:09 +01:00
Items Rider static analysis (#433) 2019-11-13 23:37:46 +01:00
Markers Use automatic component registration. 2019-07-31 15:07:54 +02:00
Medical Rider static analysis (#433) 2019-11-13 23:37:46 +01:00
Mining Rider static analysis (#433) 2019-11-13 23:37:46 +01:00
Mobs Rider static analysis (#433) 2019-11-13 23:37:46 +01:00
Movement IoC'd random (#302) 2019-08-17 12:09:09 -07:00
Nutrition De-hardcode chemical metabolism of StomachComponent (#437) 2019-11-21 23:24:19 +01:00
Power fixes power provider range calculation (#442) 2019-11-17 19:56:54 +01:00
Projectiles Physics Shapes (#306) 2019-09-03 22:14:04 +02:00
Research Rider static analysis (#433) 2019-11-13 23:37:46 +01:00
Sound Rider static analysis (#433) 2019-11-13 23:37:46 +01:00
Stack Localize & fancify all the examine tooltips with markup. 2019-10-13 22:49:07 +02:00
Temperature Use automatic component registration. 2019-07-31 15:07:54 +02:00
Trigger/TimerTrigger Use automatic component registration. 2019-07-31 15:07:54 +02:00
VendingMachines Rider static analysis (#433) 2019-11-13 23:37:46 +01:00
Weapon Make melee weapons use raycasts. 2019-11-17 21:46:39 +01:00
CatwalkComponent.cs Use automatic component registration. 2019-07-31 15:07:54 +02:00
ComputerComponent.cs Eris computer sprites, visualizer. 2019-08-12 18:43:24 +02:00
PlaceableSurfaceComponent.cs Use automatic component registration. 2019-07-31 15:07:54 +02:00
RotatableComponent.cs Basic rotatable component (#416) 2019-11-06 17:22:26 +01:00
WiresComponent.cs Wire colors are now unique (#407) 2019-10-21 23:54:29 +02:00
Wrenchable.cs Basic wrenchable component (#418) 2019-11-06 17:22:55 +01:00