crate::ix!();
#[derive(Copy,EnumIter,Debug, Clone, PartialEq, Eq, Hash)]
pub enum WarriorDefensiveMagicCapability {
DefendsDomainWithMagic,
StrategicallyUsesMagicalDefenses,
SkilledInMagicalDefenseAndCurses,
ConjuresProtectiveEnergyBarriers,
WardsAlliesAgainstHarmfulSpells,
BindsFoesWithRestrictiveEnchantments,
ShieldsTerritoryWithRunicWardings,
AdeptAtCounteringMagicalIntrusions,
ProficientInDispellingNegativeEnchantments,
SkilledAtDetectingHiddenMagicalThreats,
SpecializedInMagicNullification,
MasterOfReflectiveSpellcraft,
RepairsAndStrengthensMagicalStructures,
ExpertInProactiveRepulsionWards,
}
impl WarriorDefensiveMagicCapability {
#[must_use]
pub fn intrinsic_dimension_ratings(&self) -> WarriorCapabilityIntrinsicDimensionRatings {
info!(?self, "computing intrinsic dimension ratings");
use WarriorDefensiveMagicCapability::*;
match self {
DefendsDomainWithMagic => wc_ratings!(
0.00,0.00,0.50,0.50,0.00,0.50,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.75,0.00,0.00,0.00,0.75,0.50,0.50,0.50,0.50,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.50,0.00,
0.00,0.00,0.00,0.75,0.00,0.50,0.00,0.00,0.00,0.00,
1.00,0.50,0.00,0.75,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.50,0.00
),
StrategicallyUsesMagicalDefenses => wc_ratings!(
0.00,0.00,0.75,0.50,0.00,0.50,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.50,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.50,0.00,
0.00,0.00,0.00,0.00,0.50,0.75,0.00,0.00,0.50,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.50,0.00,
0.00,0.00,0.00,0.00,0.00,0.50,0.00,0.00,0.00,0.00,
0.00,0.75,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.50,0.00
),
SkilledInMagicalDefenseAndCurses => wc_ratings!(
0.00,0.00,0.50,0.40,0.00,0.60,0.00,0.00,0.00,0.40,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.40,0.50,0.00,0.00,0.60,0.40,0.00,
0.00,0.00,0.00,0.00,0.60,0.60,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.40,0.00,
0.50,0.00,0.50,0.75,0.00,0.60,0.00,0.00,0.00,0.00,
0.00,0.60,0.00,0.50,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.60,0.00
),
ConjuresProtectiveEnergyBarriers => wc_ratings!(
0.00,0.00,0.40,0.50,0.00,0.50,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.70,0.60,0.00,0.00,0.60,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.75,0.00,
0.75,0.00,0.60,0.80,0.50,0.60,0.50,0.00,0.00,0.00,
0.00,0.50,0.50,0.50,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.75,0.60,0.00,0.75,0.00,0.00,0.00,0.00,0.60,0.75,
0.00,0.00,0.00,0.60,0.00,0.00,0.00,0.00,0.60,0.00,
0.00,0.00,0.00,0.60,0.75
),
WardsAlliesAgainstHarmfulSpells => wc_ratings!(
0.00,0.00,0.50,0.50,0.00,0.50,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.50,0.50,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.70,0.50,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.60,0.00,
1.00,0.00,0.60,0.80,0.00,0.70,0.00,0.00,0.00,0.60,
0.00,0.60,0.00,0.60,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.60,0.70,0.00,0.70,0.00,0.60,0.00,0.00,0.50,0.50,
0.60,0.60,0.60,0.50,0.00,0.00,0.00,0.00,0.60,0.00,
0.00,0.00,0.00,0.60,0.00
),
BindsFoesWithRestrictiveEnchantments => wc_ratings!(
0.00,0.00,0.40,0.40,0.00,0.50,0.00,0.00,0.00,0.30,
0.00,0.00,0.00,0.00,0.00,0.00,0.40,0.00,0.00,0.00,
0.00,0.00,0.00,0.40,0.00,0.00,0.00,0.60,0.60,0.00,
0.00,0.00,0.00,0.00,0.40,0.40,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.30,0.00,
0.60,0.00,0.60,0.60,0.00,0.60,0.00,0.00,1.00,0.30,
0.00,0.50,0.00,0.50,0.30,0.00,0.00,0.00,0.60,0.30,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.50,0.55,0.00,0.50,0.00,0.00,0.00,0.00,0.55,0.50,
0.30,0.00,0.00,0.45,0.00,0.30,0.00,0.30,0.30,0.00,
0.00,0.00,0.00,0.60,0.00
),
ShieldsTerritoryWithRunicWardings => wc_ratings!(
0.00,0.00,0.50,0.50,0.00,0.60,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.70,0.00,0.00,0.00,0.75,0.60,0.50,0.50,0.80,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.50,0.00,
0.00,0.00,0.00,0.70,0.00,0.60,0.00,0.00,0.00,0.00,
0.80,0.60,0.00,0.70,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.60,0.55,0.00,0.55,0.00,0.00,0.00,0.00,0.60,0.60,
0.60,0.00,0.00,0.60,0.60
),
AdeptAtCounteringMagicalIntrusions => wc_ratings!(
0.00,0.00,0.50,0.50,0.00,0.50,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.60,0.50,0.00,0.00,0.00,0.50,0.00,
0.00,0.00,0.00,0.00,0.70,0.75,0.60,0.60,0.75,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.60,0.00,
0.75,0.00,0.70,0.70,0.00,0.70,0.00,0.00,0.00,0.00,
1.00,0.70,0.00,0.60,0.00,0.00,0.00,0.00,0.60,0.50,
0.00,0.60,0.00,0.50,0.00,0.00,0.00,0.00,0.00,0.00,
0.50,0.50,0.00,0.50,0.00,0.00,0.00,0.00,0.50,0.50,
0.50,0.50,0.50,0.50,0.00,0.00,0.00,0.50,0.50,0.50,
0.50,0.50,0.00,0.50,0.50
),
ProficientInDispellingNegativeEnchantments => wc_ratings!(
0.00,0.00,0.50,0.50,0.00,0.50,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.60,0.50,0.00,0.00,0.00,0.50,0.00,
0.00,0.00,0.00,0.00,0.50,0.50,0.00,0.00,0.60,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.55,0.00,
0.70,0.00,0.75,0.90,0.00,0.75,0.00,0.00,0.00,0.00,
0.90,0.75,0.00,0.55,0.00,0.00,0.00,0.00,0.50,0.55,
0.00,0.50,0.00,0.50,0.00,0.00,0.00,0.00,0.00,0.00,
0.50,0.55,0.00,0.55,0.00,0.00,0.00,0.00,0.55,0.55,
0.50,0.50,0.50,0.50,0.00,0.00,0.00,0.50,0.50,0.50,
0.50,0.50,0.00,0.50,0.50
),
SkilledAtDetectingHiddenMagicalThreats => wc_ratings!(
0.00,0.00,0.40,0.50,0.00,0.50,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.60,0.50,0.00,0.00,0.00,0.40,0.00,
0.00,0.00,0.00,0.00,0.40,0.40,0.80,0.80,0.50,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.80,0.00,
0.50,0.00,0.60,0.80,0.00,0.60,0.00,0.00,0.00,0.00,
0.60,0.60,0.00,0.55,0.00,0.00,0.00,0.00,0.80,0.80,
0.00,1.00,0.00,0.50,0.00,0.00,0.00,0.00,0.00,0.00,
0.50,0.50,0.00,0.50,0.00,0.00,0.00,0.00,0.50,0.50,
0.50,0.50,0.50,0.50,0.00,0.00,0.00,0.50,0.50,0.50,
0.50,0.50,0.00,0.50,0.50
),
SpecializedInMagicNullification => wc_ratings!(
0.00,0.00,0.50,0.50,0.00,0.50,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.60,0.50,0.00,0.00,0.00,0.50,0.00,
0.00,0.00,0.00,0.00,0.50,0.70,0.00,0.00,0.60,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.60,0.00,
0.80,0.00,0.70,1.00,0.00,0.70,0.00,0.00,0.00,0.00,
1.00,0.70,0.00,0.60,0.00,0.00,0.00,0.00,0.50,0.55,
0.00,0.50,0.00,0.50,0.00,0.00,0.00,0.00,0.00,0.00,
0.50,0.50,0.00,0.50,0.00,0.00,0.00,0.00,0.50,0.50,
0.50,0.50,0.50,0.50,0.00,0.00,0.00,0.50,0.50,0.50,
0.50,0.50,0.00,0.50,0.50
),
MasterOfReflectiveSpellcraft => wc_ratings!(
0.00,0.00,0.50,0.50,0.00,0.50,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.60,0.50,0.00,0.00,0.00,0.50,0.00,
0.00,0.00,0.00,0.00,0.70,0.70,0.00,0.00,0.60,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.60,0.00,
0.60,0.00,0.60,0.60,0.00,0.80,0.60,0.00,0.00,0.00,
0.60,0.60,0.60,0.60,0.00,0.00,0.00,0.00,0.70,0.60,
0.00,0.60,0.00,0.50,0.00,0.00,0.00,0.00,0.00,0.00,
0.55,0.60,0.00,0.60,0.00,0.60,0.00,0.00,0.60,0.60,
0.55,0.55,0.55,0.55,0.00,0.00,0.00,0.55,0.55,0.55,
0.60,0.55,0.00,0.55,0.55
),
RepairsAndStrengthensMagicalStructures => wc_ratings!(
0.00,0.00,0.50,0.50,0.00,0.80,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.60,0.60,0.00,0.00,0.00,0.50,0.00,
0.00,0.00,0.00,0.00,0.75,0.60,0.00,0.00,0.60,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.60,0.60,0.00,0.00,0.00,0.00,0.00,0.60,0.00,
0.60,0.00,0.60,0.75,0.00,0.60,0.00,0.00,0.00,0.00,
0.70,0.60,0.00,0.60,0.00,0.00,0.00,0.00,0.60,0.60,
0.00,0.60,0.00,0.60,0.00,0.00,0.00,0.00,0.60,0.60,
0.60,0.60,0.00,0.60,0.00,0.60,0.00,0.00,0.60,0.60,
0.60,0.60,0.60,0.60,0.00,0.00,0.00,0.60,0.60,0.60,
0.60,0.60,0.60,1.00,0.60
),
ExpertInProactiveRepulsionWards => wc_ratings!(
0.00,0.00,0.50,0.50,0.00,0.60,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.60,0.55,0.00,0.00,0.00,0.60,0.00,
0.00,0.00,0.00,0.00,0.75,0.60,0.60,0.60,0.60,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.60,0.00,
0.70,0.00,0.55,0.75,0.00,0.60,0.00,0.00,0.00,0.00,
0.60,0.60,0.00,0.65,0.00,0.00,0.00,0.00,0.60,0.60,
0.00,0.60,0.00,0.60,0.00,0.00,0.00,0.00,0.00,0.00,
0.50,0.55,0.00,0.60,0.00,0.60,0.00,0.00,0.60,0.60,
0.55,0.55,0.55,0.55,0.00,0.00,0.00,0.60,0.60,0.60,
0.60,0.60,0.60,0.65,0.60
),
}
}
}