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

#[derive(Copy,EnumIter,Debug, Clone, PartialEq, Eq, Hash)]
pub enum WarriorOffensiveMagicCapability {
    /// Selected for warriors whose magical attacks consistently dominate combat encounters due to raw arcane strength and intensity.
    PowerfulMagicalCombatant,

    /// Ideal for characters specifically renowned for exceptional proficiency and commanding presence in magical duels or battles.
    FormidableSorceressInMagicalConflicts,

    /// Chosen when a character strategically employs elemental forces (fire, water, air, earth) to tactically exploit environmental conditions or opponent vulnerabilities.
    ChannelsElementalForcesForAssault,

    /// Appropriate for warriors whose strength lies in precise, targeted magical strikes to eliminate or disable key adversaries quickly and efficiently.
    UnleashesPrecisionEnergyBlasts,

    /// Best suits characters who rely on overwhelming, continuous arcane attacks designed to exhaust or break enemy defenses through sustained magical pressure.
    OverwhelmsOpponentsWithArcaneBarrages,

    /// Suited for entities specialized in identifying and neutralizing enemy spellcasting through expertly timed and executed counterspells.
    DisruptsEnemyMagicWithCounterspells,

    /// Preferred for characters adept at combining different forms of magic dynamically, creating unexpected and synergistic offensive effects during engagements.
    ExpertInArcaneCombinationTactics,

    /// Chosen for warriors whose offensive spells are specifically optimized for penetrating magical or supernatural defenses.
    SpecializesInPiercingMagicalDefenses,

    /// Represents warriors who can summon powerful entities or constructs specifically designed for aggressive combat scenarios.
    SummonsCombatFocusedArcaneEntities,

    /// Ideal for warriors who strategically enhance weaponry or physical attacks through potent magical augmentations.
    EmpowersPhysicalWeaponsWithOffensiveEnchantments,

    /// Selected for characters who specialize in covert, subtle magical attacks intended to weaken foes unnoticed until critical damage is inflicted.
    DeploysSubtleAndDelayedArcaneAssaults,

    /// Suitable for warriors proficient in rapidly draining the magical reserves or stamina of opponents, crippling their ability to retaliate.
    ExpertInMagicalResourceDepletion,

    /// Chosen for warriors who wield explosive, area-of-effect magic designed to scatter enemy formations or cause chaos on the battlefield.
    SpecialistInAreaDenialAndBattlefieldDisruption,

    /// Represents warriors with mastery in magically induced fear, intimidation, or psychological disruption to weaken enemy morale and cohesion.
    UtilizesPsychologicalOffensiveMagic,

    /// Optimal for warriors skilled at creating intense, short-duration magical bursts capable of instantly overwhelming enemy defenses.
    MasterOfInstantaneousArcaneBursts,

    /// Suited for characters whose magical attacks actively weaken or corrupt enemy protections, progressively lowering their defensive capabilities.
    AppliesCorrosiveMagicalEffects,

    /// Ideal for entities capable of projecting their offensive magical force over extreme distances, enabling strategic targeting of remote threats.
    ExecutesLongRangeMagicalStrikes,

    /// Chosen when a warrior frequently innovates or adapts magical offense in real-time, exploiting novel weaknesses as they emerge during combat.
    AdaptiveInCombatSpellInnovation,
}

impl WarriorOffensiveMagicCapability {
    #[instrument(level = "trace", skip(self))]
    pub fn intrinsic_dimension_ratings(&self) -> WarriorCapabilityIntrinsicDimensionRatings {
        use WarriorOffensiveMagicCapability::*;
        match self {
            PowerfulMagicalCombatant => {
                trace!("computing ratings for PowerfulMagicalCombatant");
                wc_ratings!(
                    0.05,0.60,0.55,0.20,0.40,0.55,0.85,0.20,0.50,0.70,
                    0.75,0.45,0.65,0.30,0.35,0.50,0.60,0.25,0.40,0.10,
                    0.70,0.65,0.20,0.30,0.60,0.55,0.40,0.25,0.55,0.50,
                    0.30,0.25,0.10,0.10,0.60,0.35,0.60,0.50,0.40,0.45,
                    0.45,0.50,0.60,0.55,0.30,0.60,0.40,0.15,0.35,0.30,
                    0.65,0.50,0.30,0.50,0.55,0.45,0.50,0.65,0.70,0.60,
                    0.80,0.20,0.90,0.60,0.30,0.65,0.60,0.70,0.75,0.50,
                    0.40,0.35,0.30,0.55,0.35,0.35,0.25,0.10,0.25,0.20,
                    0.35,0.30,0.30,0.60,0.40,0.55,0.70,0.30,0.40,0.30,
                    0.45,0.30,0.50,0.45,0.50,0.60,0.75,0.50,0.25,0.45,
                    0.60,0.15,0.15,0.40,0.20,0.25,0.55,0.60,0.60,0.65,
                    0.20,0.65,0.55,0.50,0.65
                )
            },

            FormidableSorceressInMagicalConflicts => {
                trace!("computing ratings for FormidableSorceressInMagicalConflicts");
                wc_ratings!(
                    0.05,0.75,0.55,0.20,0.40,0.55,0.85,0.20,0.55,0.65,
                    0.80,0.45,0.65,0.30,0.35,0.65,0.60,0.25,0.45,0.15,
                    0.70,0.65,0.20,0.30,0.65,0.50,0.40,0.25,0.60,0.50,
                    0.30,0.25,0.10,0.10,0.60,0.35,0.65,0.50,0.40,0.50,
                    0.40,0.50,0.60,0.55,0.30,0.65,0.40,0.15,0.35,0.30,
                    0.65,0.50,0.30,0.50,0.55,0.45,0.50,0.65,0.70,0.60,
                    0.80,0.20,0.88,0.65,0.35,0.65,0.60,0.75,0.70,0.55,
                    0.40,0.35,0.30,0.55,0.35,0.35,0.30,0.10,0.25,0.20,
                    0.35,0.30,0.30,0.60,0.40,0.55,0.75,0.30,0.40,0.35,
                    0.45,0.30,0.50,0.45,0.50,0.65,0.78,0.55,0.30,0.45,
                    0.60,0.15,0.15,0.40,0.20,0.30,0.55,0.65,0.60,0.70,
                    0.20,0.70,0.60,0.55,0.70
                )
            },

            ChannelsElementalForcesForAssault => {
                trace!("computing ratings for ChannelsElementalForcesForAssault");
                wc_ratings!(
                    0.05,0.60,0.55,0.20,0.45,0.55,0.85,0.20,0.50,0.65,
                    0.75,0.45,0.65,0.30,0.35,0.50,0.60,0.25,0.40,0.10,
                    0.70,0.65,0.20,0.30,0.65,0.55,0.50,0.25,0.60,0.50,
                    0.30,0.25,0.10,0.10,0.60,0.35,0.60,0.50,0.40,0.50,
                    0.45,0.50,0.60,0.55,0.30,0.60,0.40,0.15,0.35,0.30,
                    0.65,0.50,0.30,0.50,0.55,0.45,0.50,0.65,0.70,0.60,
                    0.80,0.20,0.85,0.60,0.30,0.65,0.90,0.65,0.70,0.55,
                    0.40,0.35,0.30,0.55,0.35,0.35,0.25,0.10,0.25,0.20,
                    0.65,0.30,0.30,0.60,0.40,0.55,0.70,0.30,0.40,0.30,
                    0.45,0.30,0.50,0.45,0.50,0.60,0.75,0.50,0.25,0.45,
                    0.60,0.15,0.15,0.40,0.20,0.25,0.55,0.60,0.60,0.70,
                    0.20,0.70,0.55,0.55,0.60
                )
            },

            UnleashesPrecisionEnergyBlasts => {
                trace!("computing ratings for UnleashesPrecisionEnergyBlasts");
                wc_ratings!(
                    0.05,0.60,0.55,0.20,0.40,0.55,0.85,0.20,0.50,0.70,
                    0.75,0.45,0.65,0.30,0.35,0.50,0.60,0.25,0.40,0.10,
                    0.70,0.65,0.20,0.30,0.65,0.55,0.40,0.25,0.60,0.50,
                    0.30,0.25,0.10,0.10,0.60,0.35,0.60,0.50,0.40,0.55,
                    0.45,0.50,0.60,0.85,0.30,0.60,0.40,0.15,0.35,0.30,
                    0.65,0.50,0.30,0.50,0.55,0.45,0.50,0.65,0.70,0.60,
                    0.80,0.20,0.80,0.60,0.30,0.65,0.60,0.90,0.30,0.50,
                    0.40,0.35,0.30,0.55,0.35,0.35,0.25,0.10,0.25,0.20,
                    0.35,0.30,0.30,0.60,0.40,0.55,0.70,0.30,0.40,0.30,
                    0.45,0.30,0.50,0.45,0.50,0.60,0.80,0.50,0.25,0.45,
                    0.60,0.15,0.15,0.40,0.20,0.25,0.55,0.60,0.60,0.65,
                    0.20,0.65,0.55,0.55,0.70
                )
            },

            OverwhelmsOpponentsWithArcaneBarrages => {
                trace!("computing ratings for OverwhelmsOpponentsWithArcaneBarrages");
                wc_ratings!(
                    0.05,0.60,0.55,0.20,0.40,0.55,0.85,0.20,0.50,0.75,
                    0.75,0.45,0.65,0.30,0.35,0.50,0.60,0.25,0.40,0.10,
                    0.70,0.65,0.20,0.30,0.65,0.55,0.40,0.25,0.60,0.50,
                    0.30,0.25,0.10,0.10,0.60,0.35,0.60,0.50,0.40,0.50,
                    0.45,0.50,0.60,0.55,0.30,0.60,0.40,0.15,0.35,0.30,
                    0.65,0.55,0.30,0.50,0.55,0.45,0.50,0.65,0.70,0.60,
                    0.80,0.20,0.85,0.60,0.30,0.65,0.60,0.70,0.90,0.50,
                    0.40,0.35,0.30,0.55,0.35,0.35,0.25,0.10,0.25,0.20,
                    0.35,0.30,0.30,0.60,0.40,0.55,0.70,0.30,0.40,0.30,
                    0.45,0.30,0.50,0.45,0.50,0.60,0.75,0.50,0.25,0.45,
                    0.60,0.15,0.15,0.40,0.20,0.25,0.55,0.60,0.60,0.65,
                    0.20,0.65,0.55,0.50,0.55
                )
            },

            DisruptsEnemyMagicWithCounterspells => {
                trace!("computing ratings for DisruptsEnemyMagicWithCounterspells");
                wc_ratings!(
                    0.05,0.60,0.60,0.20,0.40,0.55,0.85,0.20,0.50,0.65,
                    0.75,0.45,0.65,0.30,0.35,0.50,0.60,0.25,0.40,0.10,
                    0.70,0.60,0.20,0.30,0.60,0.55,0.40,0.25,0.55,0.50,
                    0.30,0.25,0.10,0.10,0.60,0.35,0.60,0.75,0.40,0.50,
                    0.45,0.50,0.60,0.55,0.30,0.60,0.40,0.15,0.35,0.30,
                    0.65,0.50,0.30,0.50,0.55,0.45,0.50,0.65,0.70,0.60,
                    0.75,0.20,0.55,0.80,0.25,0.70,0.60,0.65,0.60,0.50,
                    0.40,0.35,0.30,0.55,0.35,0.35,0.25,0.10,0.25,0.20,
                    0.35,0.30,0.30,0.60,0.40,0.55,0.75,0.30,0.40,0.30,
                    0.45,0.30,0.50,0.45,0.50,0.60,0.75,0.50,0.25,0.45,
                    0.60,0.15,0.15,0.40,0.20,0.25,0.55,0.60,0.60,0.65,
                    0.20,0.70,0.55,0.50,0.65
                )
            },

            ExpertInArcaneCombinationTactics => {
                trace!("computing ratings for ExpertInArcaneCombinationTactics");
                wc_ratings!(
                    0.05,0.60,0.55,0.20,0.40,0.55,0.85,0.20,0.50,0.70,
                    0.75,0.45,0.65,0.30,0.35,0.50,0.60,0.25,0.40,0.10,
                    0.70,0.65,0.20,0.30,0.65,0.55,0.40,0.25,0.75,0.50,
                    0.30,0.25,0.10,0.10,0.60,0.35,0.60,0.50,0.40,0.45,
                    0.45,0.50,0.60,0.55,0.30,0.80,0.40,0.15,0.35,0.30,
                    0.65,0.50,0.30,0.50,0.55,0.45,0.50,0.65,0.70,0.60,
                    0.75,0.20,0.75,0.60,0.30,0.65,0.70,0.70,0.65,0.60,
                    0.40,0.35,0.30,0.55,0.35,0.35,0.25,0.10,0.25,0.20,
                    0.35,0.30,0.30,0.60,0.40,0.55,0.70,0.30,0.40,0.30,
                    0.45,0.30,0.50,0.45,0.50,0.65,0.75,0.50,0.25,0.45,
                    0.60,0.15,0.15,0.40,0.20,0.25,0.55,0.85,0.60,0.70,
                    0.20,0.75,0.55,0.50,0.65
                )
            },

            SpecializesInPiercingMagicalDefenses => {
                trace!("computing ratings for SpecializesInPiercingMagicalDefenses");
                wc_ratings!(
                    0.05,0.60,0.55,0.20,0.40,0.55,0.85,0.20,0.50,0.70,
                    0.75,0.45,0.65,0.30,0.35,0.50,0.60,0.25,0.40,0.10,
                    0.70,0.65,0.20,0.30,0.60,0.55,0.40,0.25,0.60,0.50,
                    0.30,0.25,0.10,0.10,0.60,0.35,0.60,0.50,0.40,0.45,
                    0.45,0.50,0.60,0.55,0.30,0.60,0.40,0.15,0.35,0.30,
                    0.65,0.50,0.30,0.50,0.55,0.45,0.50,0.65,0.70,0.60,
                    0.80,0.20,0.80,0.65,0.30,0.65,0.60,0.80,0.60,0.50,
                    0.40,0.35,0.30,0.55,0.35,0.35,0.25,0.10,0.25,0.20,
                    0.35,0.30,0.30,0.60,0.40,0.55,0.70,0.30,0.40,0.30,
                    0.45,0.30,0.50,0.45,0.50,0.60,0.75,0.50,0.25,0.45,
                    0.60,0.15,0.15,0.40,0.20,0.25,0.70,0.60,0.60,0.65,
                    0.20,0.65,0.55,0.50,0.60
                )
            },

            SummonsCombatFocusedArcaneEntities => {
                trace!("computing ratings for SummonsCombatFocusedArcaneEntities");
                wc_ratings!(
                    0.05,0.60,0.55,0.20,0.40,0.55,0.80,0.20,0.50,0.70,
                    0.75,0.45,0.65,0.30,0.35,0.50,0.60,0.25,0.40,0.10,
                    0.70,0.65,0.20,0.30,0.65,0.55,0.40,0.25,0.60,0.50,
                    0.30,0.25,0.10,0.10,0.60,0.35,0.60,0.50,0.40,0.50,
                    0.45,0.50,0.60,0.55,0.30,0.60,0.40,0.15,0.35,0.30,
                    0.65,0.50,0.30,0.50,0.55,0.45,0.50,0.65,0.70,0.60,
                    0.75,0.20,0.75,0.60,0.30,0.65,0.60,0.70,0.70,0.50,
                    0.40,0.35,0.30,0.55,0.35,0.35,0.25,0.10,0.25,0.20,
                    0.35,0.30,0.30,0.60,0.40,0.55,0.70,0.30,0.40,0.30,
                    0.45,0.30,0.50,0.45,0.50,0.60,0.75,0.80,0.25,0.45,
                    0.60,0.15,0.15,0.40,0.20,0.25,0.50,0.70,0.60,0.65,
                    0.20,0.70,0.55,0.50,0.65
                )
            },

            EmpowersPhysicalWeaponsWithOffensiveEnchantments => {
                trace!("computing ratings for EmpowersPhysicalWeaponsWithOffensiveEnchantments");
                wc_ratings!(
                    0.05,0.60,0.55,0.20,0.45,0.55,0.85,0.20,0.50,0.60,
                    0.75,0.45,0.65,0.30,0.35,0.50,0.60,0.25,0.40,0.10,
                    0.70,0.65,0.20,0.30,0.65,0.55,0.40,0.25,0.60,0.50,
                    0.30,0.25,0.10,0.10,0.60,0.35,0.60,0.50,0.40,0.55,
                    0.55,0.55,0.60,0.70,0.30,0.60,0.40,0.15,0.35,0.30,
                    0.65,0.50,0.30,0.50,0.55,0.45,0.50,0.65,0.70,0.60,
                    0.70,0.20,0.70,0.60,0.30,0.65,0.60,0.75,0.60,0.55,
                    0.40,0.35,0.30,0.55,0.35,0.35,0.25,0.10,0.25,0.20,
                    0.35,0.30,0.30,0.60,0.40,0.55,0.75,0.30,0.40,0.30,
                    0.45,0.30,0.55,0.45,0.55,0.60,0.75,0.50,0.25,0.45,
                    0.60,0.15,0.15,0.40,0.20,0.25,0.55,0.65,0.60,0.65,
                    0.20,0.65,0.55,0.55,0.65
                )
            },

            DeploysSubtleAndDelayedArcaneAssaults => {
                trace!("computing ratings for DeploysSubtleAndDelayedArcaneAssaults");
                wc_ratings!(
                    0.05,0.60,0.55,0.20,0.40,0.55,0.85,0.20,0.50,0.60,
                    0.75,0.45,0.65,0.30,0.35,0.50,0.60,0.25,0.40,0.10,
                    0.70,0.65,0.20,0.30,0.65,0.55,0.40,0.85,0.60,0.50,
                    0.30,0.25,0.10,0.10,0.60,0.35,0.60,0.50,0.40,0.45,
                    0.45,0.50,0.60,0.55,0.30,0.60,0.40,0.15,0.35,0.30,
                    0.65,0.50,0.30,0.50,0.55,0.45,0.50,0.65,0.70,0.60,
                    0.70,0.20,0.65,0.60,0.85,0.65,0.55,0.75,0.65,0.50,
                    0.40,0.35,0.30,0.55,0.35,0.35,0.25,0.10,0.25,0.20,
                    0.35,0.30,0.30,0.60,0.40,0.55,0.70,0.30,0.40,0.30,
                    0.45,0.30,0.50,0.45,0.50,0.60,0.70,0.50,0.25,0.45,
                    0.60,0.15,0.15,0.40,0.20,0.25,0.55,0.65,0.60,0.65,
                    0.40,0.65,0.55,0.55,0.55
                )
            },

            ExpertInMagicalResourceDepletion => {
                trace!("computing ratings for ExpertInMagicalResourceDepletion");
                wc_ratings!(
                    0.05,0.60,0.55,0.20,0.40,0.55,0.85,0.20,0.50,0.65,
                    0.75,0.45,0.65,0.30,0.35,0.50,0.60,0.25,0.40,0.10,
                    0.70,0.65,0.20,0.40,0.70,0.55,0.40,0.25,0.60,0.50,
                    0.30,0.25,0.10,0.10,0.60,0.35,0.60,0.50,0.40,0.45,
                    0.45,0.50,0.60,0.55,0.30,0.60,0.40,0.15,0.35,0.30,
                    0.65,0.50,0.30,0.50,0.55,0.45,0.50,0.65,0.70,0.60,
                    0.70,0.20,0.65,0.70,0.30,0.85,0.60,0.70,0.55,0.50,
                    0.40,0.35,0.30,0.55,0.35,0.35,0.25,0.10,0.25,0.20,
                    0.35,0.30,0.30,0.60,0.40,0.55,0.70,0.30,0.40,0.30,
                    0.45,0.30,0.50,0.45,0.50,0.60,0.75,0.50,0.25,0.45,
                    0.60,0.15,0.15,0.40,0.20,0.25,0.65,0.80,0.75,0.65,
                    0.20,0.70,0.55,0.50,0.65
                )
            },

            SpecialistInAreaDenialAndBattlefieldDisruption => {
                trace!("computing ratings for SpecialistInAreaDenialAndBattlefieldDisruption");
                wc_ratings!(
                    0.05,0.60,0.55,0.20,0.40,0.55,0.85,0.20,0.50,0.70,
                    0.75,0.45,0.65,0.30,0.35,0.50,0.60,0.25,0.40,0.10,
                    0.70,0.65,0.20,0.30,0.65,0.55,0.55,0.25,0.60,0.60,
                    0.30,0.25,0.10,0.10,0.60,0.35,0.60,0.50,0.40,0.50,
                    0.45,0.50,0.60,0.55,0.30,0.60,0.40,0.15,0.35,0.30,
                    0.65,0.50,0.30,0.50,0.55,0.45,0.50,0.65,0.70,0.60,
                    0.80,0.20,0.75,0.60,0.30,0.65,0.65,0.70,0.80,0.60,
                    0.40,0.35,0.30,0.55,0.35,0.35,0.25,0.10,0.25,0.20,
                    0.80,0.30,0.30,0.60,0.40,0.55,0.70,0.30,0.40,0.30,
                    0.45,0.30,0.50,0.45,0.50,0.60,0.75,0.50,0.25,0.45,
                    0.60,0.15,0.15,0.40,0.20,0.25,0.55,0.70,0.60,0.70,
                    0.20,0.70,0.55,0.50,0.65
                )
            },

            UtilizesPsychologicalOffensiveMagic => {
                trace!("computing ratings for UtilizesPsychologicalOffensiveMagic");
                wc_ratings!(
                    0.05,0.60,0.55,0.20,0.40,0.55,0.85,0.20,0.50,0.65,
                    0.75,0.45,0.65,0.30,0.35,0.50,0.60,0.25,0.40,0.10,
                    0.70,0.60,0.20,0.90,0.65,0.55,0.40,0.25,0.60,0.50,
                    0.30,0.25,0.10,0.10,0.60,0.35,0.60,0.50,0.40,0.45,
                    0.45,0.50,0.60,0.55,0.30,0.60,0.40,0.15,0.35,0.30,
                    0.65,0.50,0.30,0.50,0.55,0.45,0.50,0.65,0.70,0.60,
                    0.70,0.20,0.55,0.60,0.85,0.65,0.60,0.70,0.65,0.50,
                    0.40,0.35,0.30,0.55,0.35,0.35,0.80,0.10,0.25,0.20,
                    0.35,0.30,0.30,0.60,0.40,0.55,0.70,0.30,0.40,0.30,
                    0.45,0.30,0.50,0.45,0.50,0.60,0.75,0.50,0.25,0.45,
                    0.60,0.15,0.15,0.40,0.20,0.25,0.55,0.60,0.60,0.65,
                    0.20,0.70,0.55,0.50,0.65
                )
            },

            MasterOfInstantaneousArcaneBursts => {
                trace!("computing ratings for MasterOfInstantaneousArcaneBursts");
                wc_ratings!(
                    0.05,0.60,0.55,0.20,0.40,0.55,0.85,0.20,0.50,0.75,
                    0.75,0.45,0.65,0.30,0.35,0.50,0.60,0.25,0.40,0.10,
                    0.70,0.65,0.20,0.30,0.65,0.55,0.40,0.25,0.60,0.50,
                    0.30,0.25,0.10,0.10,0.60,0.35,0.60,0.50,0.40,0.60,
                    0.45,0.50,0.60,0.55,0.30,0.60,0.40,0.15,0.35,0.30,
                    0.65,0.50,0.30,0.50,0.55,0.45,0.50,0.65,0.70,0.60,
                    0.80,0.20,0.85,0.60,0.30,0.65,0.60,0.90,0.30,0.50,
                    0.40,0.35,0.30,0.55,0.35,0.35,0.25,0.10,0.25,0.20,
                    0.35,0.30,0.30,0.60,0.40,0.55,0.70,0.30,0.40,0.30,
                    0.45,0.30,0.50,0.45,0.50,0.60,0.85,0.50,0.25,0.45,
                    0.60,0.15,0.15,0.40,0.20,0.25,0.55,0.60,0.60,0.65,
                    0.20,0.80,0.55,0.50,0.70
                )
            },

            AppliesCorrosiveMagicalEffects => {
                trace!("computing ratings for AppliesCorrosiveMagicalEffects");
                wc_ratings!(
                    0.05,0.60,0.55,0.20,0.40,0.55,0.85,0.20,0.50,0.70,
                    0.75,0.45,0.65,0.30,0.35,0.50,0.60,0.25,0.40,0.10,
                    0.70,0.65,0.20,0.30,0.60,0.55,0.40,0.25,0.60,0.50,
                    0.30,0.25,0.10,0.10,0.60,0.35,0.60,0.50,0.40,0.45,
                    0.45,0.50,0.60,0.55,0.30,0.60,0.40,0.15,0.35,0.30,
                    0.65,0.50,0.30,0.50,0.55,0.45,0.50,0.65,0.70,0.60,
                    0.70,0.20,0.70,0.65,0.50,0.65,0.60,0.70,0.65,0.50,
                    0.40,0.35,0.30,0.55,0.35,0.35,0.25,0.10,0.25,0.20,
                    0.35,0.30,0.30,0.60,0.40,0.55,0.70,0.30,0.40,0.30,
                    0.45,0.30,0.50,0.45,0.50,0.60,0.75,0.50,0.25,0.45,
                    0.60,0.15,0.15,0.40,0.20,0.25,0.90,0.60,0.60,0.65,
                    0.20,0.65,0.55,0.50,0.65
                )
            },

            ExecutesLongRangeMagicalStrikes => {
                trace!("computing ratings for ExecutesLongRangeMagicalStrikes");
                wc_ratings!(
                    0.05,0.60,0.60,0.20,0.40,0.55,0.85,0.20,0.50,0.65,
                    0.75,0.45,0.65,0.30,0.35,0.50,0.60,0.25,0.40,0.10,
                    0.70,0.65,0.20,0.30,0.65,0.55,0.55,0.25,0.60,0.50,
                    0.30,0.25,0.10,0.10,0.60,0.35,0.60,0.50,0.40,0.50,
                    0.45,0.50,0.60,0.55,0.30,0.60,0.40,0.15,0.35,0.30,
                    0.65,0.50,0.30,0.50,0.55,0.45,0.50,0.65,0.70,0.60,
                    0.80,0.20,0.75,0.60,0.30,0.65,0.60,0.75,0.75,0.50,
                    0.90,0.35,0.30,0.55,0.35,0.35,0.25,0.10,0.25,0.20,
                    0.35,0.30,0.30,0.60,0.40,0.55,0.70,0.30,0.40,0.30,
                    0.45,0.30,0.50,0.45,0.50,0.60,0.75,0.50,0.25,0.45,
                    0.60,0.15,0.15,0.40,0.20,0.25,0.55,0.65,0.60,0.65,
                    0.20,0.70,0.55,0.50,0.65
                )
            },

            AdaptiveInCombatSpellInnovation => {
                trace!("computing ratings for AdaptiveInCombatSpellInnovation");
                wc_ratings!(
                    0.05,0.60,0.55,0.20,0.40,0.55,0.85,0.20,0.50,0.70,
                    0.75,0.45,0.65,0.30,0.35,0.50,0.60,0.25,0.40,0.10,
                    0.70,0.65,0.20,0.30,0.70,0.55,0.40,0.25,0.90,0.50,
                    0.30,0.25,0.10,0.10,0.60,0.35,0.60,0.50,0.40,0.45,
                    0.45,0.50,0.60,0.55,0.30,0.85,0.40,0.15,0.35,0.30,
                    0.65,0.50,0.30,0.50,0.55,0.45,0.50,0.65,0.70,0.60,
                    0.75,0.20,0.70,0.60,0.30,0.65,0.65,0.70,0.75,0.60,
                    0.40,0.35,0.30,0.55,0.35,0.35,0.25,0.10,0.25,0.20,
                    0.35,0.30,0.30,0.60,0.40,0.55,0.70,0.30,0.40,0.30,
                    0.45,0.30,0.50,0.45,0.50,0.65,0.75,0.50,0.25,0.45,
                    0.60,0.15,0.15,0.40,0.20,0.25,0.55,0.90,0.60,0.70,
                    0.20,0.70,0.55,0.50,0.65
                )
            },
        }
    }
}