#pragma once

// Score bands for ship-behavior evaluation. The AiSystem selection pass picks
// the behavior with the highest score per ship; these constants define a single
// comparable scale so the desired priority falls out:
//   Retreat > Attack > Repair / Salvage / Deliver > Rally > Standby > Advance.
// Evaluators may return kInactive when their behavior does not apply this tick.
namespace BehaviorScores
{
    constexpr float kInactive = 0.0f;
    constexpr float kAdvance  = 0.05f;  // baseline fallback; always present
    constexpr float kStandby  = 0.10f;  // repair-capable ships; hold with the fleet
    constexpr float kRally    = 0.20f;
    constexpr float kDeliver  = 0.50f;  // cargo full
    constexpr float kRepair   = 0.55f;
    constexpr float kSalvage  = 0.55f;  // cargo not full and scrap in range
    constexpr float kAttack   = 0.60f;  // healthy and target in sensor range
    constexpr float kRetreat  = 0.90f;

    // Health fraction below which a ship is considered "low HP" — used by the
    // Retreat evaluator to trigger retreat (which outscores attack).
    constexpr float kLowHpFraction = 0.3f;
}
