using Content.Server.AI.Utility.Curves; using Content.Server.AI.WorldState; using Content.Server.AI.WorldState.States.Combat; using Content.Server.GameObjects.Components.Weapon.Melee; namespace Content.Server.AI.Utility.Considerations.Combat.Melee { public sealed class MeleeWeaponSpeedCon : Consideration { public MeleeWeaponSpeedCon(IResponseCurve curve) : base(curve) {} public override float GetScore(Blackboard context) { var target = context.GetState().GetValue(); if (target == null || !target.TryGetComponent(out MeleeWeaponComponent meleeWeaponComponent)) { return 0.0f; } return meleeWeaponComponent.CooldownTime / 10.0f; } } }