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/approach_capability.rs ]
crate::ix!();

#[derive(Copy,EnumIter,Debug, Clone, PartialEq, Eq, Hash)]
pub enum WarriorApproachCapability {
    /// Prioritizes diplomacy, negotiation, and avoids direct aggression.
    EmphasizesDefensiveAndDiplomaticSolutions,

    /// Values long-term partnerships, alliances, and coalition-building over direct confrontation.
    PrefersStrategicAlliancesOverConflict,

    /// Carefully balances diplomatic negotiation with tactical, calculated use of force when necessary.
    BalancesNegotiationWithCalculatedForce,

    /// Uses measured escalation, steadily applying pressure to achieve goals without provoking full-scale conflict.
    EmploysIncrementalPressureTactics,

    /// Actively develops mutual respect with adversaries to reduce hostility and enable cooperative resolutions.
    CultivatesMutualRespectInAdversaries,

    /// Prioritizes swift and decisive action to preemptively neutralize threats or gain strategic advantage.
    FavorsPreemptiveDecisiveAction,

    /// Relies on maintaining strategic ambiguity and unpredictability to keep adversaries off balance.
    UtilizesStrategicAmbiguity,

    /// Prefers indirect methods, such as psychological operations or deception, to weaken opponents’ resolve before direct confrontation.
    EmploysIndirectPsychologicalMethods,

    /// Values containment strategies to limit adversaries’ options without engaging in direct hostilities.
    AdvocatesStrategicContainment,

    /// Employs tactical retreats or temporary disengagements to preserve resources, reassess strategy, and regroup effectively.
    PracticesTacticalWithdrawalAndRegrouping,
}

/* -------------------------------------------------------------------------- */
/*  WarriorApproachCapability → WarriorCapabilityIntrinsicDimensionRatings    */
/* -------------------------------------------------------------------------- */
impl WarriorApproachCapability {
    pub fn intrinsic_dimension_ratings(&self) -> WarriorCapabilityIntrinsicDimensionRatings {
        use WarriorApproachCapability::*;
        match self {
            /* ------------------------------------------------------------------
               Emphasizes Defensive & Diplomatic Solutions
               – Focus: diplomacy, de‑escalation, guardian instinct
               – Low appetite for risk, dominance, total warfare
            ------------------------------------------------------------------ */
            EmphasizesDefensiveAndDiplomaticSolutions => wc_ratings!(
                /*  1‑10  */ 0.00,0.60,0.60,0.70,0.00,0.60,0.00,0.30,0.80,0.30,
                /* 11‑20  */ 0.30,0.70,0.50,0.40,0.60,0.60,0.60,0.60,0.80,0.00,
                /* 21‑30  */ 0.20,0.50,0.90,0.60,0.60,0.10,0.40,0.50,0.60,0.20,
                /* 31‑40  */ 0.50,0.70,0.00,0.30,0.00,0.70,0.60,0.20,0.80,0.30,
                /* 41‑50  */ 0.30,0.40,0.30,0.00,0.00,0.20,0.40,0.40,0.00,0.00,
                /* 51‑60  */ 0.30,0.60,0.50,0.80,0.30,0.60,0.50,0.70,0.50,0.60,
                /* 61‑70  */ 0.50,0.40,0.90,0.00,0.00,0.30,0.00,0.00,0.00,0.00,
                /* 71‑80  */ 0.50,0.80,0.00,0.70,0.80,0.00,0.30,0.00,0.50,0.40,
                /* 81‑90  */ 0.30,0.40,0.00,0.50,0.60,0.60,0.60,0.00,0.60,0.00,
                /* 91‑100 */ 0.80,0.90,0.40,0.80,0.70,0.30,0.50,0.95,0.90,0.70,
                /* 101‑115*/ 0.85,0.90,0.50,0.60,0.30,0.00,0.60,0.00,0.70,0.60,
                              0.30,0.00,0.70,0.60,0.30
            ),

            /* ------------------------------------------------------------------
               Prefers Strategic Alliances Over Conflict
               – High diplomatic bias, alliance preference, relational orientation
            ------------------------------------------------------------------ */
            PrefersStrategicAlliancesOverConflict => wc_ratings!(
                0.00,0.55,0.60,0.60,0.00,0.55,0.00,0.30,0.80,0.35,
                0.35,0.70,0.55,0.35,0.55,0.65,0.60,0.70,0.75,0.00,
                0.25,0.55,0.85,0.55,0.60,0.10,0.45,0.50,0.65,0.25,
                0.50,0.70,0.00,0.30,0.00,0.70,0.60,0.25,0.70,0.30,
                0.30,0.40,0.30,0.00,0.00,0.20,0.45,0.45,0.00,0.00,
                0.35,0.55,0.55,0.70,0.35,0.60,0.55,0.65,0.55,0.60,
                0.55,0.40,0.80,0.00,0.00,0.30,0.00,0.00,0.00,0.00,
                0.45,0.75,0.00,0.65,0.75,0.00,0.30,0.00,0.45,0.40,
                0.30,0.40,0.00,0.50,0.60,0.55,0.55,0.00,0.60,0.00,
                0.75,1.00,0.40,0.75,0.70,0.35,0.50,0.90,1.00,0.65,
                0.80,0.85,0.55,0.55,0.30,0.00,0.65,0.00,0.65,0.55,
                                0.30,0.00,0.70,0.55,0.30
            ),

            /* ------------------------------------------------------------------
               Balances Negotiation with Calculated Force
               – Diplomatic + tactical coordination, higher risk tolerance
            ------------------------------------------------------------------ */
            BalancesNegotiationWithCalculatedForce => wc_ratings!(
                0.00,0.60,0.70,0.60,0.35,0.60,0.00,0.35,0.75,0.55,
                0.55,0.70,0.60,0.45,0.55,0.60,0.70,0.65,0.70,0.00,
                0.40,0.70,0.80,0.60,0.65,0.25,0.60,0.60,0.70,0.45,
                0.55,0.60,0.00,0.30,0.00,0.65,0.60,0.30,0.75,0.50,
                0.40,0.45,0.40,0.25,0.25,0.35,0.50,0.50,0.15,0.10,
                0.40,0.65,0.60,0.60,0.40,0.65,0.60,0.60,0.60,0.70,
                0.65,0.55,0.75,0.00,0.00,0.40,0.00,0.00,0.00,0.00,
                0.40,0.70,0.00,0.60,0.65,0.00,0.45,0.15,0.60,0.50,
                0.40,0.50,0.00,0.60,0.60,0.60,0.55,0.00,0.55,0.00,
                0.70,0.90,0.50,0.70,0.65,0.45,0.60,0.75,0.85,0.70,
                0.70,0.75,0.60,0.60,0.40,0.10,0.70,0.10,0.65,0.60,
                                0.35,0.05,0.75,0.60,0.40
            ),

            /* ------------------------------------------------------------------
               Employs Incremental Pressure Tactics
               – Steady escalation, moderate diplomacy, high escalation_control
            ------------------------------------------------------------------ */
            EmploysIncrementalPressureTactics => wc_ratings!(
                0.00,0.55,0.65,0.55,0.30,0.55,0.00,0.30,0.70,0.40,
                0.45,0.65,0.55,0.35,0.50,0.55,0.65,0.60,0.65,0.00,
                0.35,0.65,0.70,0.55,0.60,0.20,0.55,0.55,0.70,0.60,
                0.50,0.60,0.00,0.30,0.00,0.65,0.65,0.35,0.70,0.45,
                0.35,0.45,0.40,0.20,0.20,0.30,0.45,0.45,0.10,0.10,
                0.35,0.55,0.50,0.55,0.35,0.60,0.55,0.55,0.55,0.60,
                0.55,0.45,0.65,0.00,0.00,0.45,0.00,0.00,0.00,0.00,
                0.45,0.60,0.00,0.55,0.60,0.00,0.35,0.10,0.55,0.45,
                0.35,0.45,0.00,0.50,0.55,0.60,0.55,0.00,0.55,0.00,
                0.65,0.85,0.55,0.75,0.70,0.50,0.65,0.75,0.80,0.60,
                0.65,0.70,0.55,0.55,0.45,0.15,0.65,0.00,0.60,0.55,
                                0.40,0.00,0.75,0.55,0.35
            ),

            /* ------------------------------------------------------------------
               Cultivates Mutual Respect in Adversaries
               – Highest relational‑orientation & respect‑cultivation
            ------------------------------------------------------------------ */
            CultivatesMutualRespectInAdversaries => wc_ratings!(
                0.00,0.60,0.60,0.60,0.00,0.60,0.00,0.25,0.85,0.30,
                0.35,0.75,0.55,0.30,0.60,0.70,0.60,0.60,0.85,0.00,
                0.25,0.55,0.85,0.50,0.60,0.05,0.35,0.40,0.65,0.15,
                0.40,0.70,0.00,0.35,0.00,0.70,0.70,0.15,0.75,0.25,
                0.30,0.35,0.30,0.20,0.20,0.25,0.30,0.40,0.05,0.05,
                0.40,0.60,0.55,0.80,0.35,0.60,0.60,0.75,0.50,0.60,
                0.50,0.40,0.80,0.00,0.00,0.25,0.00,0.00,0.00,0.00,
                0.45,0.65,0.00,0.65,0.75,0.00,0.20,0.00,0.45,0.45,
                0.25,0.30,0.00,0.50,0.55,0.55,0.45,0.00,0.45,0.00,
                0.80,1.00,0.35,0.85,0.75,0.20,0.45,0.85,0.95,0.60,
                0.85,0.90,0.65,0.85,0.20,0.00,0.70,0.00,0.70,0.50,
                                0.25,0.00,0.60,0.45,0.30
            ),

            /* ------------------------------------------------------------------
               Favors Pre‑emptive Decisive Action
               – High risk tolerance, dominance, tempo, threat‑neutralization
            ------------------------------------------------------------------ */
            FavorsPreemptiveDecisiveAction => wc_ratings!(
                0.10,0.70,0.75,0.55,0.45,0.60,0.00,0.35,0.70,0.75,
                0.75,0.60,0.70,0.60,0.50,0.50,0.70,0.60,0.55,0.05,
                0.65,0.75,0.60,0.55,0.65,0.50,0.50,0.55,0.75,0.70,
                0.45,0.55,0.00,0.25,0.00,0.55,0.65,0.60,0.60,0.60,
                0.55,0.55,0.50,0.40,0.40,0.50,0.55,0.45,0.20,0.20,
                0.45,0.60,0.55,0.50,0.30,0.50,0.50,0.50,0.80,0.70,
                0.70,0.70,0.30,0.30,0.30,0.35,0.00,0.00,0.00,0.00,
                0.40,0.55,0.00,0.45,0.55,0.00,0.20,0.10,0.60,0.50,
                0.35,0.45,0.00,0.50,0.55,0.60,0.55,0.00,0.50,0.00,
                0.55,0.65,0.60,0.60,0.65,0.65,0.60,0.50,0.65,0.70,
                0.50,0.50,0.50,0.50,0.40,0.30,0.60,0.10,0.55,0.45,
                                0.40,0.10,0.70,0.50,0.50
            ),

            /* ------------------------------------------------------------------
               Utilizes Strategic Ambiguity
               – High deception, psychological ops, moderate diplomatic bias
            ------------------------------------------------------------------ */
            UtilizesStrategicAmbiguity => wc_ratings!(
                0.00,0.55,0.75,0.55,0.20,0.55,0.00,0.25,0.65,0.40,
                0.40,0.65,0.55,0.50,0.45,0.45,0.65,0.55,0.55,0.00,
                0.30,0.70,0.75,0.80,0.60,0.40,0.55,0.85,0.70,0.35,
                0.40,0.50,0.00,0.25,0.00,0.50,0.55,0.25,0.55,0.40,
                0.35,0.35,0.35,0.35,0.35,0.40,0.55,0.40,0.10,0.05,
                0.35,0.50,0.55,0.55,0.35,0.55,0.50,0.55,0.60,0.65,
                0.60,0.55,0.40,0.50,0.40,0.50,0.00,0.00,0.00,0.00,
                0.40,0.50,0.00,0.40,0.50,0.00,0.65,0.25,0.80,0.65,
                0.25,0.35,0.00,0.60,0.55,0.55,0.55,0.00,0.45,0.00,
                0.70,0.80,0.55,0.60,0.55,0.50,0.55,0.60,0.70,0.55,
                0.65,0.70,0.50,0.45,0.45,0.20,0.55,0.20,0.55,0.55,
                                0.35,0.20,0.60,0.45,0.40
            ),

            /* ------------------------------------------------------------------
               Employs Indirect Psychological Methods
               – Peak psychological ops, deception, respect for diplomacy low
            ------------------------------------------------------------------ */
            EmploysIndirectPsychologicalMethods => wc_ratings!(
                0.00,0.55,0.70,0.55,0.20,0.50,0.00,0.25,0.60,0.45,
                0.45,0.60,0.50,0.50,0.40,0.45,0.65,0.55,0.50,0.00,
                0.35,0.65,0.60,0.90,0.55,0.40,0.50,0.90,0.70,0.30,
                0.35,0.45,0.00,0.25,0.00,0.50,0.55,0.20,0.50,0.45,
                0.35,0.35,0.35,0.30,0.30,0.35,0.50,0.45,0.10,0.05,
                0.30,0.50,0.55,0.50,0.35,0.55,0.50,0.50,0.65,0.70,
                0.65,0.60,0.30,0.45,0.35,0.50,0.00,0.00,0.00,0.00,
                0.40,0.50,0.00,0.40,0.50,0.00,0.70,0.30,0.85,0.70,
                0.25,0.30,0.00,0.55,0.50,0.55,0.50,0.00,0.45,0.00,
                0.60,0.70,0.60,0.55,0.55,0.60,0.55,0.55,0.60,0.55,
                0.60,0.70,0.50,0.40,0.50,0.25,0.50,0.20,0.55,0.50,
                                0.35,0.20,0.55,0.45,0.40
            ),

            /* ------------------------------------------------------------------
               Advocates Strategic Containment
               – High boundary defense, strategic safeguarding, escalation control
            ------------------------------------------------------------------ */
            AdvocatesStrategicContainment => wc_ratings!(
                0.00,0.60,0.70,0.75,0.30,0.60,0.00,0.40,0.70,0.35,
                0.40,0.65,0.55,0.35,0.55,0.55,0.65,0.65,0.65,0.10,
                0.45,0.70,0.70,0.55,0.60,0.20,0.60,0.55,0.70,0.55,
                0.70,0.60,0.00,0.30,0.00,0.75,0.70,0.50,0.80,0.40,
                0.35,0.40,0.35,0.25,0.25,0.30,0.45,0.45,0.10,0.10,
                0.35,0.55,0.55,0.60,0.35,0.60,0.55,0.55,0.70,0.65,
                0.65,0.60,0.40,0.30,0.40,0.60,0.00,0.00,0.00,0.00,
                0.50,0.65,0.00,0.55,0.65,0.00,0.25,0.05,0.60,0.55,
                0.30,0.40,0.00,0.55,0.60,0.60,0.60,0.00,0.50,0.00,
                0.70,0.90,0.55,0.70,0.70,0.60,0.60,0.60,0.75,0.60,
                0.60,0.65,0.55,0.50,0.45,0.20,0.60,0.10,0.60,0.55,
                                0.35,0.10,0.70,0.50,0.45
            ),

            /* ------------------------------------------------------------------
               Practices Tactical Withdrawal & Regrouping
               – Strong adaptability & patience; lower dominance, risk
            ------------------------------------------------------------------ */
            PracticesTacticalWithdrawalAndRegrouping => wc_ratings!(
                0.00,0.55,0.65,0.60,0.25,0.70,0.00,0.30,0.75,0.40,
                0.45,0.70,0.70,0.35,0.60,0.55,0.70,0.60,0.70,0.05,
                0.30,0.65,0.60,0.55,0.65,0.15,0.55,0.50,0.80,0.40,
                0.60,0.65,0.00,0.25,0.00,0.60,0.65,0.20,0.85,0.55,
                0.40,0.40,0.45,0.20,0.25,0.35,0.55,0.55,0.10,0.05,
                0.45,0.70,0.75,0.90,0.50,0.75,0.80,0.65,0.85,0.70,
                0.75,0.70,0.50,0.50,0.45,0.60,0.00,0.00,0.00,0.00,
                0.45,0.50,0.00,0.50,0.55,0.00,0.20,0.10,0.50,0.45,
                0.30,0.35,0.00,0.55,0.60,0.60,0.60,0.00,0.60,0.00,
                0.75,0.90,0.55,0.75,0.70,0.50,0.65,0.70,0.80,0.60,
                0.75,0.80,0.60,0.60,0.45,0.10,0.70,0.10,0.60,0.60,
                                0.45,0.05,0.80,0.55,0.50
            ),
        }
    }
}