character-traits-warrior-capability 0.1.0

A Rust crate for modeling and simulating a broad spectrum of warrior capabilities, aimed at enhancing intricate game mechanics and strategic simulations.
Documentation
// ---------------- [ File: character-traits-warrior-capability/src/resilience.rs ]
crate::ix!();

#[derive(Copy,EnumIter,Debug, Clone, PartialEq, Eq, Hash)]
pub enum WarriorResilienceCapability {
    /// Selected for warriors whose defining trait is enduring severe hardship, persevering physically or emotionally through extended periods of adversity.
    CapableOfEnduringHardships,

    /// Ideal for individuals characterized by a strong determination to confront, navigate, and ultimately overcome challenging circumstances or persistent obstacles.
    DeterminedToOvercomeChallenges,

    /// Suited for warriors who demonstrate resilience through patient, graceful strength rather than aggressive confrontation, remaining quietly persistent and unyielding.
    GentleYetUnstoppableStrength,

    /// Optimal for warriors who thrive in environments of decay, decline, or entropy, effectively transforming negative situations into growth opportunities.
    AbsorbsAndTransformsDecay,

    /// Appropriate when resilience involves enduring and systematically overcoming complex, multifaceted obstacles through sustained effort and patience.
    PatientlyEnduresAndOvercomesObstacles,

    /// Preferred for characters who manage intricate processes or projects over extended periods, maintaining focus and effectiveness despite complexity.
    PatientlyManagesComplexProcesses,

    /// Chosen for warriors specifically trained to maintain vigilance and readiness for threats that are not immediately visible or predictable.
    PatientlyPreparedForUnseenThreats,

    /// Best for warriors demonstrating notable resilience specifically when facing severe adversity, such as significant personal or communal crises.
    ResilientInFaceOfAdversity,

    /// Selected when resilience specifically involves the ability to rapidly recover and continue effectively after experiencing failures or significant setbacks.
    ResilientInFaceOfSetbacks,

    /// Ideal for warriors uniquely adapted to survive and function efficiently in extremely harsh or inhospitable environmental conditions.
    AdaptedToHarshConditions,

    /// Suited for warriors who maintain clear thinking, decisive action, and overall resilience under significant situational pressure, stress, or threat.
    SteadfastUnderPressure,

    /// Appropriate for individuals strongly dedicated to upholding community values and traditions, resiliently protecting communal identity through adversity.
    SteadfastDefenderOfCommunityValues,

    /// Optimal for characters explicitly trained or naturally capable of remaining calm, composed, and effective when facing intense physical or environmental extremes.
    CalmlyPreparedForExtremeChallenges,

    /// Ideal for warriors specifically ready to confront spiritual threats or metaphysical dangers, maintaining composure and effectiveness under supernatural stress.
    CalmlyPreparedForSpiritualDefense,

    /// Chosen for warriors whose resilience is marked by exceptional long-term tenacity and persistent dedication, enduring over prolonged struggles or endeavors.
    TenaciousThroughLongTermStruggles,

    /// Selected when a warrior maintains effectiveness and adaptability during prolonged uncertainty or ambiguous situations requiring persistent focus and flexibility.
    ResilientInAmbiguousSituations,

    /// Appropriate for warriors who display exceptional ability to conserve and renew their strength, effectively managing resources during extended or repetitive challenges.
    ResilientThroughResourceManagement,
}

#[allow(clippy::too_many_lines)]
impl WarriorResilienceCapability {
    /// Compute the numeric intrinsic‐dimension ratings for each `WarriorResilienceCapability`
    /// variant.  
    ///  
    /// *Every* rating uses a `0.0‑1.0` scale as recommended; see crate‑level
    /// documentation for interpretation guidelines.
    pub fn intrinsic_dimension_ratings(&self) -> WarriorCapabilityIntrinsicDimensionRatings {
        trace!(target: "warrior.resilience", ?self, "computing intrinsic ratings");
        use WarriorResilienceCapability::*;
        match self {
            /* ------------------------------------------------------------------
               Endures severe physical or emotional hardship
            ------------------------------------------------------------------ */
            CapableOfEnduringHardships => wc_ratings!(
                /*  1‑10  */ 0.40,0.40,0.40,0.40,0.40,0.90,0.40,0.40,0.40,0.40,
                /* 11‑20  */ 0.40,0.40,0.90,0.40,0.40,0.40,0.40,0.40,0.40,0.40,
                /* 21‑30  */ 0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.70,0.40,
                /* 31‑40  */ 0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,
                /* 41‑50  */ 0.40,0.70,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,
                /* 51‑60  */ 0.85,0.80,0.75,0.40,0.40,0.40,0.80,0.40,0.40,0.40,
                /* 61‑70  */ 0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,
                /* 71‑80  */ 0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,
                /* 81‑90  */ 0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,
                /* 91‑100 */ 0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,
                /* 101‑115*/ 0.75,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,
                              0.40,0.40,0.40,0.40,0.85
            ),

            /* ------------------------------------------------------------------
               Driven resolve to overcome challenges
            ------------------------------------------------------------------ */
            DeterminedToOvercomeChallenges => wc_ratings!(
                0.40,0.40,0.40,0.45,0.50,0.85,0.40,0.40,0.40,0.60,
                0.45,0.45,0.85,0.45,0.45,0.45,0.45,0.45,0.45,0.40,
                0.45,0.55,0.45,0.45,0.40,0.40,0.40,0.45,0.65,0.45,
                0.45,0.45,0.40,0.40,0.40,0.55,0.45,0.45,0.45,0.50,
                0.55,0.65,0.55,0.40,0.45,0.45,0.55,0.50,0.45,0.45,
                0.80,0.80,0.70,0.50,0.65,0.40,0.75,0.45,0.55,0.45,
                0.55,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,
                0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.50,0.45,
                0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,
                0.50,0.55,0.45,0.50,0.45,0.45,0.45,0.45,0.45,0.45,
                0.80,0.45,0.45,0.45,0.45,0.45,0.80,0.50,0.45,0.45,
                              0.45,0.45,0.45,0.45,0.80
            ),

            /* ------------------------------------------------------------------
               Quiet, graceful, unstoppable strength
            ------------------------------------------------------------------ */
            GentleYetUnstoppableStrength => wc_ratings!(
                0.50,0.45,0.50,0.50,0.60,0.75,0.40,0.40,0.80,0.40,
                0.45,0.60,0.80,0.35,0.60,0.50,0.50,0.50,0.60,0.45,
                0.25,0.45,0.45,0.45,0.45,0.30,0.40,0.45,0.60,0.35,
                0.45,0.50,0.40,0.45,0.40,0.55,0.50,0.45,0.45,0.50,
                0.60,0.70,0.60,0.45,0.45,0.45,0.55,0.50,0.45,0.45,
                0.75,0.75,0.70,0.55,0.65,0.40,0.90,0.50,0.60,0.50,
                0.50,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,
                0.50,0.50,0.45,0.50,0.45,0.45,0.45,0.45,0.55,0.50,
                0.45,0.45,0.45,0.50,0.45,0.50,0.50,0.45,0.45,0.45,
                0.55,0.60,0.50,0.55,0.50,0.50,0.55,0.50,0.60,0.55,
                0.85,0.60,0.45,0.80,0.50,0.45,0.75,0.55,0.45,0.50,
                              0.45,0.45,0.45,0.45,0.75
            ),

            /* ------------------------------------------------------------------
               Transforms decay into growth
            ------------------------------------------------------------------ */
            AbsorbsAndTransformsDecay => wc_ratings!(
                0.45,0.40,0.45,0.45,0.45,0.80,0.50,0.40,0.45,0.45,
                0.45,0.45,0.80,0.40,0.45,0.45,0.45,0.45,0.45,0.40,
                0.40,0.50,0.45,0.45,0.45,0.35,0.40,0.50,0.80,0.45,
                0.45,0.45,0.60,0.45,0.55,0.60,0.50,0.45,0.45,0.45,
                0.50,0.60,0.55,0.45,0.45,0.45,0.55,0.50,0.45,0.45,
                0.80,0.90,0.70,0.55,0.65,0.40,0.75,0.55,0.55,0.50,
                0.50,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.55,0.50,
                0.50,0.50,0.45,0.50,0.45,0.45,0.45,0.45,0.60,0.55,
                0.45,0.45,0.45,0.55,0.45,0.50,0.55,0.45,0.45,0.45,
                0.55,0.60,0.50,0.55,0.50,0.50,0.55,0.50,0.60,0.55,
                0.75,0.50,0.55,0.60,0.50,0.45,0.60,0.55,0.45,0.50,
                              0.45,0.45,0.55,0.55,0.70
            ),

            /* ------------------------------------------------------------------
               Patient endurance of multifaceted obstacles
            ------------------------------------------------------------------ */
            PatientlyEnduresAndOvercomesObstacles => wc_ratings!(
                0.40,0.40,0.40,0.45,0.45,0.80,0.40,0.40,0.45,0.40,
                0.45,0.45,0.85,0.40,0.45,0.45,0.45,0.45,0.45,0.40,
                0.40,0.50,0.45,0.45,0.45,0.35,0.40,0.45,0.70,0.40,
                0.45,0.45,0.40,0.40,0.40,0.55,0.45,0.45,0.45,0.45,
                0.45,0.55,0.80,0.45,0.45,0.45,0.55,0.50,0.45,0.45,
                0.80,0.85,0.90,0.60,0.80,0.40,0.80,0.55,0.60,0.50,
                0.50,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,
                0.45,0.45,0.45,0.50,0.45,0.45,0.45,0.45,0.50,0.45,
                0.45,0.45,0.45,0.50,0.45,0.50,0.55,0.45,0.45,0.45,
                0.55,0.65,0.50,0.60,0.50,0.50,0.55,0.50,0.60,0.55,
                0.85,0.50,0.50,0.55,0.50,0.45,0.70,0.50,0.45,0.50,
                              0.45,0.45,0.50,0.55,0.80
            ),

            /* ------------------------------------------------------------------
               Sustains focus amid complex processes
            ------------------------------------------------------------------ */
            PatientlyManagesComplexProcesses => wc_ratings!(
                0.40,0.40,0.50,0.45,0.45,0.75,0.40,0.45,0.45,0.40,
                0.45,0.45,0.80,0.45,0.45,0.45,0.60,0.55,0.50,0.40,
                0.40,0.50,0.50,0.50,0.50,0.35,0.40,0.45,0.60,0.40,
                0.45,0.45,0.40,0.40,0.40,0.55,0.45,0.45,0.45,0.45,
                0.45,0.55,0.70,0.45,0.45,0.45,0.55,0.50,0.45,0.45,
                0.75,0.75,0.80,0.55,0.80,0.40,0.75,0.45,0.70,0.60,
                0.55,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,
                0.50,0.50,0.45,0.50,0.45,0.45,0.45,0.45,0.50,0.45,
                0.50,0.55,0.45,0.55,0.50,0.55,0.60,0.45,0.45,0.45,
                0.55,0.60,0.50,0.55,0.50,0.50,0.55,0.50,0.60,0.55,
                0.70,0.50,0.55,0.55,0.50,0.50,0.75,0.55,0.50,0.55,
                              0.50,0.50,0.55,0.55,0.75
            ),

            /* ------------------------------------------------------------------
               Prepared vigilance for unseen threats
            ------------------------------------------------------------------ */
            PatientlyPreparedForUnseenThreats => wc_ratings!(
                0.40,0.45,0.45,0.50,0.45,0.75,0.40,0.40,0.45,0.40,
                0.45,0.45,0.75,0.45,0.45,0.45,0.50,0.50,0.45,0.40,
                0.40,0.55,0.50,0.55,0.50,0.35,0.40,0.55,0.70,0.40,
                0.45,0.45,0.40,0.40,0.40,0.60,0.85,0.45,0.45,0.45,
                0.50,0.60,0.60,0.45,0.45,0.45,0.55,0.50,0.45,0.45,
                0.80,0.75,0.80,0.60,0.70,0.40,0.75,0.60,0.60,0.60,
                0.65,0.55,0.55,0.60,0.60,0.50,0.45,0.50,0.45,0.45,
                0.60,0.60,0.45,0.60,0.50,0.45,0.45,0.45,0.65,0.60,
                0.45,0.45,0.45,0.55,0.45,0.55,0.60,0.55,0.45,0.45,
                0.60,0.65,0.55,0.60,0.55,0.55,0.60,0.55,0.70,0.65,
                0.75,0.55,0.55,0.55,0.55,0.55,0.70,0.60,0.55,0.60,
                              0.55,0.55,0.60,0.60,0.80
            ),

            /* ------------------------------------------------------------------
               General adversity‐resilience
            ------------------------------------------------------------------ */
            ResilientInFaceOfAdversity => wc_ratings!(
                0.40,0.45,0.45,0.45,0.50,0.90,0.40,0.40,0.45,0.55,
                0.50,0.50,0.85,0.45,0.50,0.45,0.55,0.50,0.50,0.40,
                0.40,0.55,0.50,0.50,0.50,0.40,0.40,0.50,0.70,0.45,
                0.45,0.45,0.40,0.40,0.40,0.55,0.50,0.45,0.45,0.50,
                0.60,0.70,0.60,0.45,0.45,0.45,0.55,0.50,0.45,0.45,
                0.85,0.80,0.70,0.55,0.70,0.45,0.80,0.60,0.60,0.55,
                0.55,0.50,0.50,0.55,0.55,0.50,0.45,0.45,0.45,0.45,
                0.55,0.55,0.45,0.55,0.50,0.45,0.45,0.45,0.60,0.55,
                0.45,0.50,0.45,0.55,0.50,0.50,0.55,0.50,0.45,0.45,
                0.65,0.70,0.60,0.65,0.60,0.60,0.65,0.60,0.70,0.65,
                0.85,0.60,0.55,0.60,0.55,0.50,0.80,0.60,0.55,0.60,
                              0.55,0.55,0.60,0.60,0.85
            ),

            /* ------------------------------------------------------------------
               Rapid recovery after setbacks
            ------------------------------------------------------------------ */
            ResilientInFaceOfSetbacks => wc_ratings!(
                0.40,0.40,0.45,0.45,0.50,0.85,0.40,0.40,0.45,0.60,
                0.45,0.45,0.80,0.45,0.45,0.45,0.50,0.50,0.45,0.40,
                0.40,0.55,0.45,0.50,0.50,0.40,0.40,0.50,0.70,0.45,
                0.45,0.45,0.40,0.40,0.40,0.55,0.50,0.45,0.45,0.50,
                0.60,0.70,0.60,0.45,0.45,0.45,0.55,0.50,0.45,0.45,
                0.80,0.80,0.80,0.55,0.75,0.40,0.80,0.50,0.55,0.50,
                0.50,0.45,0.45,0.50,0.50,0.45,0.45,0.45,0.45,0.45,
                0.50,0.50,0.45,0.50,0.45,0.45,0.45,0.45,0.55,0.50,
                0.45,0.45,0.45,0.50,0.45,0.50,0.55,0.45,0.45,0.45,
                0.60,0.65,0.55,0.60,0.55,0.55,0.60,0.55,0.65,0.60,
                0.80,0.55,0.50,0.55,0.50,0.50,0.75,0.55,0.50,0.55,
                              0.50,0.50,0.55,0.55,0.80
            ),

            /* ------------------------------------------------------------------
               Adapted to harsh or inhospitable conditions
            ------------------------------------------------------------------ */
            AdaptedToHarshConditions => wc_ratings!(
                0.45,0.40,0.45,0.45,0.70,0.80,0.40,0.40,0.45,0.45,
                0.45,0.45,0.75,0.45,0.45,0.45,0.45,0.45,0.45,0.40,
                0.40,0.50,0.45,0.45,0.50,0.35,0.40,0.45,0.80,0.45,
                0.80,0.45,0.60,0.45,0.55,0.60,0.50,0.45,0.45,0.55,
                0.70,0.90,0.90,0.45,0.45,0.45,0.55,0.50,0.45,0.45,
                0.75,0.80,0.70,0.55,0.60,0.40,0.80,0.50,0.55,0.50,
                0.50,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.60,0.55,
                0.55,0.55,0.45,0.55,0.50,0.45,0.45,0.45,0.70,0.55,
                0.50,0.50,0.45,0.60,0.50,0.55,0.60,0.50,0.45,0.45,
                0.65,0.70,0.60,0.65,0.60,0.60,0.65,0.60,0.75,0.70,
                0.75,0.55,0.55,0.60,0.55,0.50,0.70,0.60,0.50,0.55,
                              0.50,0.50,0.60,0.60,0.80
            ),

            /* ------------------------------------------------------------------
               Maintains composure & effectiveness under pressure
            ------------------------------------------------------------------ */
            SteadfastUnderPressure => wc_ratings!(
                0.40,0.45,0.45,0.45,0.50,0.80,0.40,0.40,0.45,0.50,
                0.50,0.50,0.80,0.45,0.50,0.45,0.50,0.50,0.45,0.40,
                0.40,0.55,0.50,0.50,0.50,0.40,0.40,0.50,0.70,0.45,
                0.45,0.45,0.40,0.40,0.40,0.55,0.50,0.45,0.45,0.55,
                0.65,0.80,0.70,0.45,0.45,0.45,0.55,0.50,0.45,0.45,
                0.85,0.85,0.75,0.55,0.70,0.40,0.90,0.60,0.65,0.50,
                0.55,0.50,0.50,0.55,0.55,0.50,0.45,0.45,0.45,0.45,
                0.55,0.55,0.45,0.55,0.50,0.45,0.45,0.45,0.60,0.55,
                0.45,0.55,0.45,0.60,0.50,0.55,0.60,0.55,0.45,0.45,
                0.70,0.75,0.65,0.70,0.65,0.65,0.70,0.65,0.75,0.70,
                0.85,0.60,0.55,0.60,0.55,0.50,0.90,0.60,0.55,0.60,
                              0.55,0.55,0.60,0.60,0.90
            ),

            /* ------------------------------------------------------------------
               Community values defender
            ------------------------------------------------------------------ */
            SteadfastDefenderOfCommunityValues => wc_ratings!(
                0.45,0.45,0.45,0.50,0.50,0.75,0.40,0.40,0.85,0.45,
                0.50,0.60,0.80,0.45,0.55,0.60,0.50,0.60,0.55,0.45,
                0.40,0.55,0.55,0.50,0.50,0.30,0.45,0.50,0.65,0.45,
                0.80,0.90,0.60,0.70,0.45,0.75,0.55,0.50,0.50,0.55,
                0.65,0.75,0.60,0.45,0.45,0.45,0.60,0.55,0.50,0.50,
                0.75,0.80,0.70,0.55,0.65,0.45,0.85,0.65,0.60,0.55,
                0.55,0.50,0.50,0.55,0.55,0.50,0.45,0.45,0.45,0.45,
                0.55,0.60,0.45,0.55,0.55,0.45,0.45,0.45,0.60,0.55,
                0.50,0.50,0.45,0.55,0.55,0.55,0.60,0.55,0.50,0.50,
                0.70,0.75,0.60,0.65,0.65,0.60,0.70,0.65,0.75,0.70,
                0.80,0.85,0.55,0.65,0.50,0.60,0.85,0.70,0.55,0.60,
                              0.55,0.60,0.60,0.60,0.70
            ),

            /* ------------------------------------------------------------------
               Calm resilience amid extreme challenges
            ------------------------------------------------------------------ */
            CalmlyPreparedForExtremeChallenges => wc_ratings!(
                0.40,0.40,0.45,0.45,0.60,0.80,0.40,0.40,0.45,0.45,
                0.45,0.45,0.75,0.40,0.45,0.45,0.45,0.45,0.45,0.40,
                0.40,0.50,0.45,0.45,0.45,0.35,0.40,0.45,0.70,0.40,
                0.45,0.45,0.40,0.40,0.40,0.55,0.45,0.45,0.45,0.55,
                0.65,0.80,0.85,0.45,0.45,0.45,0.55,0.50,0.45,0.45,
                0.80,0.80,0.80,0.60,0.80,0.40,0.80,0.50,0.55,0.50,
                0.50,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,
                0.50,0.50,0.45,0.50,0.45,0.45,0.45,0.45,0.55,0.50,
                0.45,0.50,0.45,0.60,0.50,0.55,0.60,0.55,0.45,0.45,
                0.60,0.65,0.60,0.65,0.60,0.60,0.65,0.60,0.70,0.65,
                0.80,0.55,0.50,0.55,0.50,0.50,0.85,0.60,0.50,0.55,
                              0.50,0.50,0.60,0.60,0.90
            ),

            /* ------------------------------------------------------------------
               Calm spiritual defense preparedness
            ------------------------------------------------------------------ */
            CalmlyPreparedForSpiritualDefense => wc_ratings!(
                0.40,0.40,0.45,0.45,0.50,0.80,0.80,0.40,0.50,0.45,
                0.45,0.45,0.75,0.40,0.45,0.45,0.45,0.45,0.45,0.40,
                0.40,0.50,0.45,0.45,0.45,0.35,0.40,0.45,0.70,0.40,
                0.45,0.45,0.40,0.40,0.75,0.55,0.50,0.45,0.45,0.55,
                0.65,0.80,0.70,0.45,0.45,0.45,0.55,0.50,0.45,0.45,
                0.80,0.80,0.80,0.60,0.80,0.90,0.80,0.90,0.55,0.50,
                0.50,0.45,0.50,0.60,0.55,0.55,0.50,0.50,0.50,0.45,
                0.50,0.55,0.45,0.55,0.50,0.45,0.55,0.45,0.55,0.50,
                0.45,0.45,0.45,0.55,0.45,0.50,0.55,0.50,0.50,0.45,
                0.60,0.65,0.60,0.60,0.60,0.60,0.65,0.60,0.70,0.60,
                0.80,0.55,0.55,0.60,0.55,0.55,0.90,0.65,0.55,0.60,
                              0.50,0.55,0.60,0.60,0.85
            ),

            /* ------------------------------------------------------------------
               Tenacity sustained over very long struggles
            ------------------------------------------------------------------ */
            TenaciousThroughLongTermStruggles => wc_ratings!(
                0.40,0.45,0.45,0.45,0.50,0.85,0.40,0.40,0.45,0.50,
                0.50,0.50,0.85,0.45,0.50,0.50,0.55,0.50,0.50,0.40,
                0.40,0.55,0.50,0.50,0.50,0.40,0.40,0.50,0.75,0.45,
                0.45,0.45,0.40,0.40,0.40,0.60,0.50,0.45,0.45,0.55,
                0.65,0.80,0.70,0.45,0.45,0.45,0.55,0.50,0.45,0.45,
                0.85,0.80,0.85,0.60,0.85,0.40,0.90,0.70,0.70,0.60,
                0.60,0.50,0.50,0.55,0.55,0.50,0.45,0.45,0.45,0.45,
                0.55,0.55,0.45,0.55,0.50,0.45,0.45,0.45,0.60,0.55,
                0.45,0.55,0.45,0.60,0.50,0.60,0.65,0.55,0.45,0.45,
                0.70,0.75,0.70,0.70,0.70,0.70,0.75,0.70,0.80,0.75,
                0.90,0.60,0.55,0.60,0.55,0.55,0.90,0.70,0.60,0.65,
                              0.55,0.55,0.65,0.65,0.85
            ),

            /* ------------------------------------------------------------------
               Resilience amid uncertainty & ambiguity
            ------------------------------------------------------------------ */
            ResilientInAmbiguousSituations => wc_ratings!(
                0.40,0.45,0.50,0.45,0.50,0.80,0.40,0.40,0.45,0.50,
                0.50,0.50,0.80,0.45,0.50,0.50,0.55,0.50,0.50,0.40,
                0.40,0.55,0.50,0.50,0.50,0.40,0.40,0.55,0.85,0.45,
                0.45,0.45,0.40,0.40,0.40,0.60,0.55,0.45,0.50,0.55,
                0.65,0.80,0.70,0.45,0.45,0.45,0.55,0.50,0.45,0.45,
                0.80,0.80,0.75,0.60,0.80,0.45,0.80,0.50,0.85,0.70,
                0.70,0.60,0.60,0.80,0.80,0.60,0.45,0.60,0.50,0.50,
                0.60,0.65,0.50,0.60,0.55,0.50,0.55,0.55,0.70,0.65,
                0.50,0.55,0.50,0.65,0.55,0.60,0.65,0.60,0.50,0.50,
                0.75,0.80,0.70,0.75,0.75,0.70,0.80,0.75,0.80,0.75,
                0.80,0.60,0.55,0.65,0.55,0.60,0.85,0.70,0.60,0.65,
                              0.55,0.60,0.70,0.70,0.85
            ),

            /* ------------------------------------------------------------------
               Resilience via resource conservation & renewal
            ------------------------------------------------------------------ */
            ResilientThroughResourceManagement => wc_ratings!(
                0.40,0.45,0.45,0.45,0.50,0.80,0.40,0.40,0.45,0.55,
                0.50,0.50,0.80,0.45,0.50,0.50,0.55,0.50,0.50,0.40,
                0.40,0.55,0.50,0.50,0.90,0.40,0.40,0.50,0.70,0.45,
                0.45,0.45,0.40,0.40,0.40,0.60,0.50,0.45,0.45,0.50,
                0.60,0.70,0.60,0.45,0.45,0.45,0.55,0.50,0.45,0.45,
                0.80,0.80,0.75,0.55,0.75,0.40,0.85,0.65,0.60,0.55,
                0.55,0.50,0.50,0.55,0.55,0.50,0.45,0.45,0.45,0.45,
                0.55,0.55,0.45,0.55,0.50,0.45,0.45,0.45,0.60,0.55,
                0.50,0.55,0.45,0.60,0.55,0.60,0.65,0.60,0.50,0.55,
                0.70,0.75,0.60,0.65,0.65,0.60,0.70,0.65,0.75,0.70,
                0.80,0.60,0.55,0.60,0.55,0.55,0.80,0.70,0.55,0.60,
                              0.55,0.55,0.60,0.60,0.80
            ),
        }
    }
}