using Content.Server.AI.WorldState; using Content.Server.AI.WorldState.States; using Content.Server.Nutrition.Components; using Content.Shared.Nutrition.Components; using Robust.Shared.GameObjects; using Robust.Shared.IoC; namespace Content.Server.AI.Utility.Considerations.Nutrition.Drink { public sealed class ThirstCon : Consideration { protected override float GetScore(Blackboard context) { var owner = context.GetState().GetValue(); if (!IoCManager.Resolve().TryGetComponent(owner, out ThirstComponent? thirst)) { return 0.0f; } return 1 - (thirst.CurrentThirst / thirst.ThirstThresholds[ThirstThreshold.OverHydrated]); } } }