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

#[derive(Copy,EnumIter,Debug, Clone, PartialEq, Eq, Hash)]
pub enum WarriorEmbodimentCapability {
    /// Selected for entities whose defining presence is physical strength and steadfast courage,
    /// essential for inspiring confidence in intense or perilous combat scenarios.
    EmbodiesStrengthAndBravery,

    /// Ideal when entities exemplify strength coupled specifically with heroic valor,
    /// suitable for rallying allies and confronting formidable adversaries.
    EmbodiesStrengthAndValor,

    /// Chosen for those whose identity revolves around strict discipline and unwavering honor,
    /// vital in scenarios demanding ethical clarity and strict codes of conduct.
    EmbodiesDisciplineAndHonor,

    /// Best suited to entities that represent both determined resolve and genuine compassion,
    /// beneficial when moral leadership and empathy are crucial to unit cohesion.
    EmbodiesResolveAndCompassion,

    /// Appropriate for entities reflecting an ideal balance between physical prowess and mental clarity,
    /// selected when tactical effectiveness requires peak harmony of mind and body.
    EmbodiesHarmonyBetweenMindAndBody,

    /// Crucial when entities personify relentless persistence and creative problem-solving,
    /// especially valuable in sustained conflicts or resource-scarce situations.
    EmbodiesPerseveranceAndIngenuity,

    /// Preferred for entities that exemplify calmness and clear decision-making under severe stress,
    /// essential in scenarios characterized by chaos or uncertainty.
    EmbodiesCalmUnderPressure,

    /// Selected for entities who embody adaptability and resourcefulness,
    /// essential for thriving in rapidly changing or unpredictable conditions.
    EmbodiesAdaptabilityAndResourcefulness,

    /// Ideal for entities whose defining trait is unwavering loyalty and protective devotion,
    /// critical when safeguarding allies and maintaining trust is paramount.
    EmbodiesLoyaltyAndDevotion,

    /// Optimal for entities that personify rigorous training and disciplined self-improvement,
    /// particularly effective in fostering continuous growth and setting a strong example for others.
    EmbodiesTrainingAndSelfMastery,

    /// Chosen when entities represent decisive leadership combined with an intuitive grasp of strategy,
    /// especially suited for command roles requiring swift, confident decision-making.
    EmbodiesDecisiveLeadershipAndIntuition,

    /// Appropriate for entities who exemplify humility and self-sacrifice,
    /// invaluable in inspiring dedication and moral integrity in those around them.
    EmbodiesHumilityAndSacrifice,
}

impl WarriorEmbodimentCapability {
    /// Compute the intrinsic dimension ratings for each [`WarriorEmbodimentCapability`] variant.
    /// Ratings follow a 0.0 → 1.0 continuum where 0.0 = absent and 1.0 = exemplary.
    #[tracing::instrument(level = "trace", skip(self))]
    pub fn intrinsic_dimension_ratings(&self) -> WarriorCapabilityIntrinsicDimensionRatings {
        use WarriorEmbodimentCapability::*;
        tracing::trace!(
            variant = ?self,
            "computing warrior embodiment intrinsic dimension ratings"
        );
        match self {
            EmbodiesStrengthAndBravery => wc_ratings!(
                /*   1- 10 */ 0.80,0.40,0.40,0.60,0.90,0.75,0.10,0.10,0.70,0.65,
                /*  11- 20 */ 0.90,0.80,0.80,0.30,0.85,0.70,0.50,0.30,0.70,0.10,
                /*  21- 30 */ 0.60,0.60,0.20,0.20,0.60,0.20,0.30,0.15,0.60,0.40,
                /*  31- 40 */ 0.50,0.60,0.30,0.25,0.15,0.50,0.60,0.50,0.60,0.70,
                /*  41- 50 */ 1.00,0.85,0.55,0.50,0.85,0.40,0.70,0.30,0.20,0.50,
                /*  51- 60 */ 0.80,0.75,0.50,0.60,0.70,0.40,0.85,0.60,0.70,0.65,
                /*  61- 70 */ 0.70,0.30,0.10,0.20,0.10,0.10,0.10,0.70,0.60,0.15,
                /*  71- 80 */ 0.60,0.55,0.05,0.55,0.80,0.10,0.05,0.05,0.10,0.10,
                /*  81- 90 */ 0.10,0.10,0.10,0.35,0.30,0.50,0.60,0.05,0.40,0.10,
                /*  91-100 */ 0.85,0.60,0.30,0.90,0.50,1.00,0.95,0.75,0.50,0.60,
                /* 101-110 */ 0.80,0.20,0.30,0.60,0.50,0.60,0.30,0.30,0.50,0.60,
                /* 111-115 */ 0.20,0.50,0.60,0.30,0.80
            ),
            EmbodiesStrengthAndValor => wc_ratings!(
                /*   1- 10 */ 0.95,0.45,0.45,0.60,0.90,0.75,0.10,0.10,0.75,0.70,
                /*  11- 20 */ 0.90,0.85,0.80,0.10,0.80,0.75,0.55,0.10,0.70,0.10,
                /*  21- 30 */ 0.65,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10,
                /*  31- 40 */ 0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.70,
                /*  41- 50 */ 0.10,0.85,0.10,0.10,0.80,0.10,0.10,0.10,0.10,0.10,
                /*  51- 60 */ 0.70,0.80,0.60,0.60,0.70,0.40,0.80,0.55,0.70,0.60,
                /*  61- 70 */ 0.80,0.30,0.10,0.15,0.10,0.10,0.10,0.70,0.60,0.15,
                /*  71- 80 */ 0.60,0.55,0.05,0.55,0.75,0.10,0.05,0.05,0.10,0.10,
                /*  81- 90 */ 0.10,0.10,0.10,0.35,0.30,0.50,0.60,0.05,0.40,0.10,
                /*  91-100 */ 0.85,0.70,0.30,0.90,0.50,0.95,0.95,0.80,0.55,0.60,
                /* 101-110 */ 0.80,0.20,0.30,0.55,0.50,0.60,0.30,0.30,0.50,0.60,
                /* 111-115 */ 0.20,0.50,0.60,0.30,0.80
            ),
            EmbodiesDisciplineAndHonor => wc_ratings!(
                /*   1- 10 */ 0.60,0.50,0.50,0.60,0.80,0.75,0.10,0.10,0.85,0.30,
                /*  11- 20 */ 0.70,0.80,0.75,0.20,0.70,0.65,0.50,0.30,0.85,0.10,
                /*  21- 30 */ 0.40,0.10,0.10,0.10,0.60,0.20,0.30,0.15,0.60,0.40,
                /*  31- 40 */ 0.50,0.60,0.30,0.25,0.15,0.50,0.60,0.50,0.60,0.70,
                /*  41- 50 */ 0.80,0.80,0.55,0.50,0.75,0.40,0.60,0.30,0.20,0.50,
                /*  51- 60 */ 0.70,0.75,0.50,0.60,0.70,0.40,0.75,0.60,0.70,0.60,
                /*  61- 70 */ 0.70,0.30,0.10,0.20,0.10,0.10,0.10,0.70,0.60,0.15,
                /*  71- 80 */ 0.60,0.55,0.05,0.55,0.75,0.10,0.05,0.05,0.10,0.10,
                /*  81- 90 */ 0.10,0.10,0.10,0.35,0.30,0.50,0.60,0.05,0.40,0.10,
                /*  91-100 */ 0.80,0.60,0.30,0.80,0.50,0.80,0.60,0.70,0.50,0.60,
                /* 101-110 */ 0.80,0.20,0.30,0.60,0.50,0.70,0.30,0.30,0.50,0.60,
                /* 111-115 */ 0.20,0.80,0.60,0.30,0.80
            ),
            EmbodiesResolveAndCompassion => wc_ratings!(
                /*   1- 10 */ 0.60,0.40,0.40,0.70,0.80,0.75,0.10,0.10,0.85,0.50,
                /*  11- 20 */ 0.75,0.80,0.85,0.20,0.80,0.70,0.50,0.30,0.75,0.10,
                /*  21- 30 */ 0.50,0.10,0.10,0.10,0.70,0.20,0.30,0.15,0.70,0.45,
                /*  31- 40 */ 0.60,0.65,0.30,0.25,0.15,0.60,0.70,0.50,0.70,0.60,
                /*  41- 50 */ 0.75,0.80,0.55,0.50,0.75,0.40,0.70,0.35,0.20,0.55,
                /*  51- 60 */ 0.85,0.80,0.50,0.60,0.70,0.40,0.80,0.75,0.75,0.70,
                /*  61- 70 */ 0.70,0.40,0.10,0.20,0.10,0.10,0.10,0.70,0.60,0.15,
                /*  71- 80 */ 0.60,0.55,0.05,0.55,0.75,0.10,0.05,0.05,0.10,0.10,
                /*  81- 90 */ 0.10,0.10,0.10,0.35,0.30,0.50,0.60,0.05,0.40,0.10,
                /*  91-100 */ 0.85,0.70,0.30,0.80,0.50,0.70,0.70,0.75,0.55,0.60,
                /* 101-110 */ 0.85,0.20,0.30,0.60,0.50,0.75,0.30,0.30,0.50,0.70,
                /* 111-115 */ 0.20,0.85,0.60,0.30,0.80
            ),
            EmbodiesHarmonyBetweenMindAndBody => wc_ratings!(
                /*   1- 10 */ 0.60,0.40,0.50,0.60,0.80,0.75,0.10,0.10,0.75,0.60,
                /*  11- 20 */ 0.70,0.75,0.70,0.20,0.70,0.70,0.50,0.30,0.70,0.10,
                /*  21- 30 */ 0.50,0.10,0.10,0.10,0.70,0.20,0.30,0.15,0.70,0.50,
                /*  31- 40 */ 0.60,0.70,0.30,0.25,0.15,0.60,0.70,0.50,0.70,0.75,
                /*  41- 50 */ 0.85,0.80,0.70,0.70,0.70,0.40,0.80,0.30,0.20,0.50,
                /*  51- 60 */ 0.80,0.80,0.50,0.70,0.75,0.40,0.75,0.70,0.75,0.70,
                /*  61- 70 */ 0.70,0.50,0.10,0.20,0.10,0.10,0.10,0.80,0.70,0.15,
                /*  71- 80 */ 0.60,0.55,0.05,0.60,0.75,0.10,0.05,0.05,0.10,0.10,
                /*  81- 90 */ 0.10,0.10,0.10,0.35,0.30,0.50,0.70,0.05,0.40,0.10,
                /*  91-100 */ 0.80,0.70,0.30,0.85,0.50,0.80,0.70,0.80,0.55,0.70,
                /* 101-110 */ 0.80,0.20,0.30,0.70,0.60,0.80,0.30,0.30,0.50,0.70,
                /* 111-115 */ 0.20,0.60,0.60,0.35,0.85
            ),
            EmbodiesPerseveranceAndIngenuity => wc_ratings!(
                /*   1- 10 */ 0.60,0.45,0.45,0.60,0.75,0.80,0.10,0.10,0.70,0.65,
                /*  11- 20 */ 0.70,0.70,0.90,0.20,0.80,0.70,0.50,0.30,0.70,0.10,
                /*  21- 30 */ 0.55,0.10,0.10,0.10,0.85,0.20,0.30,0.15,0.95,0.50,
                /*  31- 40 */ 0.60,0.70,0.30,0.25,0.15,0.80,0.80,0.50,0.70,0.65,
                /*  41- 50 */ 0.80,0.75,0.55,0.50,0.75,0.50,0.70,0.30,0.20,0.50,
                /*  51- 60 */ 0.80,0.80,0.50,0.60,0.70,0.80,0.80,0.75,0.70,0.70,
                /*  61- 70 */ 0.70,0.40,0.10,0.20,0.10,0.10,0.10,0.80,0.70,0.15,
                /*  71- 80 */ 0.80,0.70,0.05,0.60,0.80,0.10,0.05,0.05,0.10,0.10,
                /*  81- 90 */ 0.10,0.10,0.10,0.35,0.30,0.50,0.70,0.05,0.40,0.10,
                /*  91-100 */ 0.80,0.70,0.30,0.80,0.50,0.75,0.60,0.75,0.55,0.60,
                /* 101-110 */ 0.80,0.20,0.30,0.70,0.60,0.80,0.30,0.30,0.50,0.70,
                /* 111-115 */ 0.20,0.60,0.60,0.30,0.75
            ),
            EmbodiesCalmUnderPressure => wc_ratings!(
                /*   1- 10 */ 0.50,0.40,0.50,0.65,0.70,0.80,0.10,0.10,0.70,0.60,
                /*  11- 20 */ 0.65,0.80,0.80,0.20,0.60,0.60,0.50,0.30,0.65,0.10,
                /*  21- 30 */ 0.50,0.10,0.10,0.10,0.60,0.20,0.30,0.15,0.75,0.45,
                /*  31- 40 */ 0.60,0.70,0.30,0.25,0.15,0.70,0.75,0.50,0.70,0.75,
                /*  41- 50 */ 0.80,0.90,0.50,0.45,0.75,0.40,0.70,0.30,0.20,0.50,
                /*  51- 60 */ 0.85,0.80,0.85,0.60,0.70,0.40,0.80,0.70,0.70,0.70,
                /*  61- 70 */ 0.70,0.50,0.10,0.20,0.10,0.10,0.10,0.75,0.70,0.15,
                /*  71- 80 */ 0.60,0.55,0.05,0.60,0.75,0.10,0.05,0.05,0.10,0.10,
                /*  81- 90 */ 0.10,0.10,0.10,0.35,0.30,0.50,0.75,0.05,0.40,0.10,
                /*  91-100 */ 0.85,0.70,0.30,0.80,0.50,0.80,0.70,0.75,0.55,0.70,
                /* 101-110 */ 0.80,0.20,0.30,0.75,0.60,0.80,0.30,0.30,0.50,0.70,
                /* 111-115 */ 0.20,0.70,0.60,0.30,0.95
            ),
            EmbodiesAdaptabilityAndResourcefulness => wc_ratings!(
                /*   1- 10 */ 0.50,0.50,0.55,0.60,0.70,0.80,0.10,0.10,0.70,0.70,
                /*  11- 20 */ 0.60,0.75,0.80,0.30,0.80,0.70,0.60,0.30,0.70,0.10,
                /*  21- 30 */ 0.55,0.10,0.10,0.10,0.90,0.20,0.30,0.90,0.95,0.50,
                /*  31- 40 */ 0.80,0.70,0.30,0.25,0.15,0.75,0.80,0.50,0.70,0.80,
                /*  41- 50 */ 0.80,0.80,0.60,0.75,0.80,0.40,0.90,0.40,0.20,0.50,
                /*  51- 60 */ 0.80,0.85,0.50,0.70,0.80,0.80,0.80,0.85,0.80,0.80,
                /*  61- 70 */ 0.80,0.50,0.10,0.60,0.10,0.10,0.10,0.90,0.80,0.15,
                /*  71- 80 */ 0.80,0.70,0.05,0.70,0.80,0.10,0.05,0.05,0.10,0.10,
                /*  81- 90 */ 0.10,0.10,0.10,0.35,0.30,0.50,0.75,0.05,0.40,0.10,
                /*  91-100 */ 0.80,0.70,0.30,0.80,0.50,0.80,0.70,0.80,0.60,0.70,
                /* 101-110 */ 0.80,0.30,0.30,0.80,0.70,0.80,0.30,0.30,0.60,0.80,
                /* 111-115 */ 0.30,0.60,0.70,0.35,0.75
            ),
            EmbodiesLoyaltyAndDevotion => wc_ratings!(
                /*   1- 10 */ 0.60,0.40,0.45,0.80,0.75,0.75,0.10,0.10,0.80,0.50,
                /*  11- 20 */ 0.75,0.75,0.80,0.20,0.85,0.70,0.50,0.30,0.80,0.10,
                /*  21- 30 */ 0.40,0.10,0.10,0.10,0.70,0.20,0.30,0.15,0.70,0.45,
                /*  31- 40 */ 0.60,0.70,0.30,0.25,0.15,0.50,0.60,0.50,0.70,0.70,
                /*  41- 50 */ 0.75,0.80,0.55,0.50,0.70,0.40,0.70,0.30,0.20,0.50,
                /*  51- 60 */ 0.75,0.70,0.50,0.60,0.70,0.40,0.80,0.70,0.70,0.70,
                /*  61- 70 */ 0.70,0.40,0.10,0.20,0.10,0.10,0.10,0.70,0.60,0.15,
                /*  71- 80 */ 0.60,0.55,0.05,0.60,0.75,0.10,0.05,0.05,0.10,0.10,
                /*  81- 90 */ 0.10,0.10,0.10,0.35,0.30,0.50,0.60,0.05,0.40,0.10,
                /*  91-100 */ 0.90,0.75,0.30,0.85,0.50,0.70,0.65,0.85,0.60,0.65,
                /* 101-110 */ 0.80,0.20,0.30,0.70,0.50,0.75,0.30,0.30,0.60,0.70,
                /* 111-115 */ 0.20,0.90,0.60,0.30,0.80
            ),
            EmbodiesTrainingAndSelfMastery => wc_ratings!(
                /*   1- 10 */ 0.60,0.45,0.50,0.60,0.80,0.75,0.10,0.10,0.80,0.60,
                /*  11- 20 */ 0.70,0.75,0.85,0.20,0.70,0.70,0.50,0.30,0.75,0.10,
                /*  21- 30 */ 0.55,0.10,0.10,0.10,0.85,0.20,0.30,0.15,0.70,0.50,
                /*  31- 40 */ 0.60,0.70,0.30,0.25,0.15,0.90,0.80,0.50,0.70,0.75,
                /*  41- 50 */ 0.80,0.80,0.70,0.70,0.75,0.40,0.80,0.35,0.20,0.50,
                /*  51- 60 */ 0.85,0.80,0.50,0.70,0.75,0.60,0.80,0.75,0.75,0.70,
                /*  61- 70 */ 0.75,0.50,0.10,0.20,0.10,0.10,0.10,0.80,0.70,0.15,
                /*  71- 80 */ 0.70,0.60,0.05,0.70,0.75,0.10,0.05,0.05,0.10,0.10,
                /*  81- 90 */ 0.10,0.10,0.10,0.35,0.30,0.50,0.60,0.05,0.40,0.10,
                /*  91-100 */ 0.85,0.70,0.30,0.80,0.50,0.80,0.70,0.80,0.60,0.70,
                /* 101-110 */ 0.80,0.20,0.30,0.80,0.60,0.80,0.30,0.30,0.60,0.80,
                /* 111-115 */ 0.20,0.70,0.65,0.35,0.80
            ),
            EmbodiesDecisiveLeadershipAndIntuition => wc_ratings!(
                /*   1- 10 */ 0.70,0.90,0.85,0.70,0.75,0.75,0.10,0.10,0.70,0.75,
                /*  11- 20 */ 0.70,0.70,0.70,0.30,0.70,0.80,0.80,0.80,0.75,0.10,
                /*  21- 30 */ 0.70,0.80,0.50,0.30,0.70,0.30,0.30,0.15,0.70,0.55,
                /*  31- 40 */ 0.60,0.70,0.30,0.25,0.15,0.55,0.60,0.50,0.70,0.70,
                /*  41- 50 */ 0.70,0.80,0.55,0.60,0.70,0.40,0.70,0.30,0.20,0.50,
                /*  51- 60 */ 0.70,0.75,0.50,0.60,0.70,0.40,0.70,0.75,0.80,0.80,
                /*  61- 70 */ 0.70,0.40,0.10,0.20,0.10,0.10,0.10,0.75,0.70,0.15,
                /*  71- 80 */ 0.60,0.55,0.05,0.60,0.75,0.10,0.05,0.05,0.10,0.10,
                /*  81- 90 */ 0.10,0.10,0.10,0.35,0.30,0.50,0.70,0.05,0.70,0.80,
                /*  91-100 */ 0.75,0.70,0.30,0.80,0.50,0.70,0.70,0.85,0.70,0.80,
                /* 101-110 */ 0.75,0.20,0.30,0.80,0.70,0.80,0.70,0.70,0.60,0.80,
                /* 111-115 */ 0.20,0.70,0.65,0.35,0.80
            ),
            EmbodiesHumilityAndSacrifice => wc_ratings!(
                /*   1- 10 */ 0.50,0.40,0.40,0.60,0.70,0.75,0.10,0.10,0.85,0.50,
                /*  11- 20 */ 0.60,0.80,0.75,0.20,0.70,0.70,0.50,0.30,0.80,0.10,
                /*  21- 30 */ 0.40,0.10,0.10,0.10,0.70,0.20,0.30,0.15,0.60,0.40,
                /*  31- 40 */ 0.50,0.60,0.30,0.25,0.15,0.50,0.60,0.50,0.70,0.70,
                /*  41- 50 */ 0.60,0.75,0.55,0.45,0.70,0.40,0.70,0.30,0.20,0.50,
                /*  51- 60 */ 0.70,0.70,0.50,0.60,0.70,0.40,0.70,0.70,0.70,0.60,
                /*  61- 70 */ 0.70,0.40,0.10,0.20,0.10,0.10,0.10,0.70,0.60,0.15,
                /*  71- 80 */ 0.60,0.55,0.05,0.60,0.75,0.10,0.05,0.05,0.10,0.10,
                /*  81- 90 */ 0.10,0.10,0.10,0.35,0.30,0.50,0.60,0.05,0.40,0.10,
                /*  91-100 */ 0.70,0.75,0.30,0.80,0.50,0.60,0.60,0.80,0.60,0.70,
                /* 101-110 */ 0.90,0.20,0.30,0.70,0.60,0.80,0.30,0.30,0.50,0.75,
                /* 111-115 */ 0.20,0.90,0.60,0.30,0.80
            ),
        }
    }
}