#[derive(Debug, PartialEq, Eq, Hash, Ord, PartialOrd, Copy, Clone)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
pub enum AuraMod {
None,
BindSight,
ModPossess,
PeriodicDamage,
Dummy,
ModConfuse,
ModCharm,
ModFear,
PeriodicHeal,
ModAttackspeed,
ModThreat,
ModTaunt,
ModStun,
ModDamageDone,
ModDamageTaken,
DamageShield,
ModStealth,
ModStealthDetect,
ModInvisibility,
ModInvisibilityDetection,
ObsModHealth,
ObsModMana,
ModResistance,
PeriodicTriggerSpell,
PeriodicEnergize,
ModPacify,
ModRoot,
ModSilence,
ReflectSpells,
ModStat,
ModSkill,
ModIncreaseSpeed,
ModIncreaseMountedSpeed,
ModDecreaseSpeed,
ModIncreaseHealth,
ModIncreaseEnergy,
ModShapeshift,
EffectImmunity,
StateImmunity,
SchoolImmunity,
DamageImmunity,
DispelImmunity,
ProcTriggerSpell,
ProcTriggerDamage,
TrackCreatures,
TrackResources,
ModParrySkill,
ModParryPercent,
ModDodgeSkill,
ModDodgePercent,
ModBlockSkill,
ModBlockPercent,
ModCritPercent,
PeriodicLeech,
ModHitChance,
ModSpellHitChance,
Transform,
ModSpellCritChance,
ModIncreaseSwimSpeed,
ModDamageDoneCreature,
ModPacifySilence,
ModScale,
PeriodicHealthFunnel,
PeriodicManaFunnel,
PeriodicManaLeech,
ModCastingSpeedNotStack,
FeignDeath,
ModDisarm,
ModStalked,
SchoolAbsorb,
ExtraAttacks,
ModSpellCritChanceSchool,
ModPowerCostSchoolPct,
ModPowerCostSchool,
ReflectSpellsSchool,
ModLanguage,
FarSight,
MechanicImmunity,
Mounted,
ModDamagePercentDone,
ModPercentStat,
SplitDamagePct,
WaterBreathing,
ModBaseResistance,
ModRegen,
ModPowerRegen,
ChannelDeathItem,
ModDamagePercentTaken,
ModHealthRegenPercent,
PeriodicDamagePercent,
ModResistChance,
ModDetectRange,
PreventsFleeing,
ModUnattackable,
InterruptRegen,
Ghost,
SpellMagnet,
ManaShield,
ModSkillTalent,
ModAttackPower,
AurasVisible,
ModResistancePct,
ModMeleeAttackPowerVersus,
ModTotalThreat,
WaterWalk,
FeatherFall,
Hover,
AddFlatModifier,
AddPctModifier,
AddTargetTrigger,
ModPowerRegenPercent,
AddCasterHitTrigger,
OverrideClassScripts,
ModRangedDamageTaken,
ModRangedDamageTakenPct,
ModHealing,
ModRegenDuringCombat,
ModMechanicResistance,
ModHealingPct,
SharePetTracking,
Untrackable,
Empathy,
ModOffhandDamagePct,
ModTargetResistance,
ModRangedAttackPower,
ModMeleeDamageTaken,
ModMeleeDamageTakenPct,
RangedAttackPowerAttackerBonus,
ModPossessPet,
ModSpeedAlways,
ModMountedSpeedAlways,
ModRangedAttackPowerVersus,
ModIncreaseEnergyPercent,
ModIncreaseHealthPercent,
ModManaRegenInterrupt,
ModHealingDone,
ModHealingDonePercent,
ModTotalStatPercentage,
ModMeleeHaste,
ForceReaction,
ModRangedHaste,
ModRangedAmmoHaste,
ModBaseResistancePct,
ModResistanceExclusive,
SafeFall,
Charisma,
Persuaded,
MechanicImmunityMask,
RetainComboPoints,
ResistPushback,
ModShieldBlockvaluePct,
TrackStealthed,
ModDetectedRange,
SplitDamageFlat,
ModStealthLevel,
ModWaterBreathing,
ModReputationGain,
PetDamageMulti,
ModShieldBlockvalue,
NoPvpCredit,
ModAoeAvoidance,
ModHealthRegenInCombat,
PowerBurnMana,
ModCritDamageBonus,
Unknown164,
MeleeAttackPowerAttackerBonus,
ModAttackPowerPct,
ModRangedAttackPowerPct,
ModDamageDoneVersus,
ModCritPercentVersus,
DetectAmore,
ModSpeedNotStack,
ModMountedSpeedNotStack,
AllowChampionSpells,
ModSpellDamageOfStatPercent,
ModSpellHealingOfStatPercent,
SpiritOfRedemption,
AoeCharm,
ModDebuffResistance,
ModAttackerSpellCritChance,
ModFlatSpellDamageVersus,
ModFlatSpellCritDamageVersus,
ModResistanceOfStatPercent,
ModCriticalThreat,
ModAttackerMeleeHitChance,
ModAttackerRangedHitChance,
ModAttackerSpellHitChance,
ModAttackerMeleeCritChance,
ModAttackerRangedCritChance,
ModRating,
ModFactionReputationGain,
UseNormalMovementSpeed,
}
impl AuraMod {
pub const fn as_int(&self) -> u32 {
match self {
Self::None => 0x0,
Self::BindSight => 0x1,
Self::ModPossess => 0x2,
Self::PeriodicDamage => 0x3,
Self::Dummy => 0x4,
Self::ModConfuse => 0x5,
Self::ModCharm => 0x6,
Self::ModFear => 0x7,
Self::PeriodicHeal => 0x8,
Self::ModAttackspeed => 0x9,
Self::ModThreat => 0xa,
Self::ModTaunt => 0xb,
Self::ModStun => 0xc,
Self::ModDamageDone => 0xd,
Self::ModDamageTaken => 0xe,
Self::DamageShield => 0xf,
Self::ModStealth => 0x10,
Self::ModStealthDetect => 0x11,
Self::ModInvisibility => 0x12,
Self::ModInvisibilityDetection => 0x13,
Self::ObsModHealth => 0x14,
Self::ObsModMana => 0x15,
Self::ModResistance => 0x16,
Self::PeriodicTriggerSpell => 0x17,
Self::PeriodicEnergize => 0x18,
Self::ModPacify => 0x19,
Self::ModRoot => 0x1a,
Self::ModSilence => 0x1b,
Self::ReflectSpells => 0x1c,
Self::ModStat => 0x1d,
Self::ModSkill => 0x1e,
Self::ModIncreaseSpeed => 0x1f,
Self::ModIncreaseMountedSpeed => 0x20,
Self::ModDecreaseSpeed => 0x21,
Self::ModIncreaseHealth => 0x22,
Self::ModIncreaseEnergy => 0x23,
Self::ModShapeshift => 0x24,
Self::EffectImmunity => 0x25,
Self::StateImmunity => 0x26,
Self::SchoolImmunity => 0x27,
Self::DamageImmunity => 0x28,
Self::DispelImmunity => 0x29,
Self::ProcTriggerSpell => 0x2a,
Self::ProcTriggerDamage => 0x2b,
Self::TrackCreatures => 0x2c,
Self::TrackResources => 0x2d,
Self::ModParrySkill => 0x2e,
Self::ModParryPercent => 0x2f,
Self::ModDodgeSkill => 0x30,
Self::ModDodgePercent => 0x31,
Self::ModBlockSkill => 0x32,
Self::ModBlockPercent => 0x33,
Self::ModCritPercent => 0x34,
Self::PeriodicLeech => 0x35,
Self::ModHitChance => 0x36,
Self::ModSpellHitChance => 0x37,
Self::Transform => 0x38,
Self::ModSpellCritChance => 0x39,
Self::ModIncreaseSwimSpeed => 0x3a,
Self::ModDamageDoneCreature => 0x3b,
Self::ModPacifySilence => 0x3c,
Self::ModScale => 0x3d,
Self::PeriodicHealthFunnel => 0x3e,
Self::PeriodicManaFunnel => 0x3f,
Self::PeriodicManaLeech => 0x40,
Self::ModCastingSpeedNotStack => 0x41,
Self::FeignDeath => 0x42,
Self::ModDisarm => 0x43,
Self::ModStalked => 0x44,
Self::SchoolAbsorb => 0x45,
Self::ExtraAttacks => 0x46,
Self::ModSpellCritChanceSchool => 0x47,
Self::ModPowerCostSchoolPct => 0x48,
Self::ModPowerCostSchool => 0x49,
Self::ReflectSpellsSchool => 0x4a,
Self::ModLanguage => 0x4b,
Self::FarSight => 0x4c,
Self::MechanicImmunity => 0x4d,
Self::Mounted => 0x4e,
Self::ModDamagePercentDone => 0x4f,
Self::ModPercentStat => 0x50,
Self::SplitDamagePct => 0x51,
Self::WaterBreathing => 0x52,
Self::ModBaseResistance => 0x53,
Self::ModRegen => 0x54,
Self::ModPowerRegen => 0x55,
Self::ChannelDeathItem => 0x56,
Self::ModDamagePercentTaken => 0x57,
Self::ModHealthRegenPercent => 0x58,
Self::PeriodicDamagePercent => 0x59,
Self::ModResistChance => 0x5a,
Self::ModDetectRange => 0x5b,
Self::PreventsFleeing => 0x5c,
Self::ModUnattackable => 0x5d,
Self::InterruptRegen => 0x5e,
Self::Ghost => 0x5f,
Self::SpellMagnet => 0x60,
Self::ManaShield => 0x61,
Self::ModSkillTalent => 0x62,
Self::ModAttackPower => 0x63,
Self::AurasVisible => 0x64,
Self::ModResistancePct => 0x65,
Self::ModMeleeAttackPowerVersus => 0x66,
Self::ModTotalThreat => 0x67,
Self::WaterWalk => 0x68,
Self::FeatherFall => 0x69,
Self::Hover => 0x6a,
Self::AddFlatModifier => 0x6b,
Self::AddPctModifier => 0x6c,
Self::AddTargetTrigger => 0x6d,
Self::ModPowerRegenPercent => 0x6e,
Self::AddCasterHitTrigger => 0x6f,
Self::OverrideClassScripts => 0x70,
Self::ModRangedDamageTaken => 0x71,
Self::ModRangedDamageTakenPct => 0x72,
Self::ModHealing => 0x73,
Self::ModRegenDuringCombat => 0x74,
Self::ModMechanicResistance => 0x75,
Self::ModHealingPct => 0x76,
Self::SharePetTracking => 0x77,
Self::Untrackable => 0x78,
Self::Empathy => 0x79,
Self::ModOffhandDamagePct => 0x7a,
Self::ModTargetResistance => 0x7b,
Self::ModRangedAttackPower => 0x7c,
Self::ModMeleeDamageTaken => 0x7d,
Self::ModMeleeDamageTakenPct => 0x7e,
Self::RangedAttackPowerAttackerBonus => 0x7f,
Self::ModPossessPet => 0x80,
Self::ModSpeedAlways => 0x81,
Self::ModMountedSpeedAlways => 0x82,
Self::ModRangedAttackPowerVersus => 0x83,
Self::ModIncreaseEnergyPercent => 0x84,
Self::ModIncreaseHealthPercent => 0x85,
Self::ModManaRegenInterrupt => 0x86,
Self::ModHealingDone => 0x87,
Self::ModHealingDonePercent => 0x88,
Self::ModTotalStatPercentage => 0x89,
Self::ModMeleeHaste => 0x8a,
Self::ForceReaction => 0x8b,
Self::ModRangedHaste => 0x8c,
Self::ModRangedAmmoHaste => 0x8d,
Self::ModBaseResistancePct => 0x8e,
Self::ModResistanceExclusive => 0x8f,
Self::SafeFall => 0x90,
Self::Charisma => 0x91,
Self::Persuaded => 0x92,
Self::MechanicImmunityMask => 0x93,
Self::RetainComboPoints => 0x94,
Self::ResistPushback => 0x95,
Self::ModShieldBlockvaluePct => 0x96,
Self::TrackStealthed => 0x97,
Self::ModDetectedRange => 0x98,
Self::SplitDamageFlat => 0x99,
Self::ModStealthLevel => 0x9a,
Self::ModWaterBreathing => 0x9b,
Self::ModReputationGain => 0x9c,
Self::PetDamageMulti => 0x9d,
Self::ModShieldBlockvalue => 0x9e,
Self::NoPvpCredit => 0x9f,
Self::ModAoeAvoidance => 0xa0,
Self::ModHealthRegenInCombat => 0xa1,
Self::PowerBurnMana => 0xa2,
Self::ModCritDamageBonus => 0xa3,
Self::Unknown164 => 0xa4,
Self::MeleeAttackPowerAttackerBonus => 0xa5,
Self::ModAttackPowerPct => 0xa6,
Self::ModRangedAttackPowerPct => 0xa7,
Self::ModDamageDoneVersus => 0xa8,
Self::ModCritPercentVersus => 0xa9,
Self::DetectAmore => 0xaa,
Self::ModSpeedNotStack => 0xab,
Self::ModMountedSpeedNotStack => 0xac,
Self::AllowChampionSpells => 0xad,
Self::ModSpellDamageOfStatPercent => 0xae,
Self::ModSpellHealingOfStatPercent => 0xaf,
Self::SpiritOfRedemption => 0xb0,
Self::AoeCharm => 0xb1,
Self::ModDebuffResistance => 0xb2,
Self::ModAttackerSpellCritChance => 0xb3,
Self::ModFlatSpellDamageVersus => 0xb4,
Self::ModFlatSpellCritDamageVersus => 0xb5,
Self::ModResistanceOfStatPercent => 0xb6,
Self::ModCriticalThreat => 0xb7,
Self::ModAttackerMeleeHitChance => 0xb8,
Self::ModAttackerRangedHitChance => 0xb9,
Self::ModAttackerSpellHitChance => 0xba,
Self::ModAttackerMeleeCritChance => 0xbb,
Self::ModAttackerRangedCritChance => 0xbc,
Self::ModRating => 0xbd,
Self::ModFactionReputationGain => 0xbe,
Self::UseNormalMovementSpeed => 0xbf,
}
}
pub const fn variants() -> [Self; 192] {
[
Self::None,
Self::BindSight,
Self::ModPossess,
Self::PeriodicDamage,
Self::Dummy,
Self::ModConfuse,
Self::ModCharm,
Self::ModFear,
Self::PeriodicHeal,
Self::ModAttackspeed,
Self::ModThreat,
Self::ModTaunt,
Self::ModStun,
Self::ModDamageDone,
Self::ModDamageTaken,
Self::DamageShield,
Self::ModStealth,
Self::ModStealthDetect,
Self::ModInvisibility,
Self::ModInvisibilityDetection,
Self::ObsModHealth,
Self::ObsModMana,
Self::ModResistance,
Self::PeriodicTriggerSpell,
Self::PeriodicEnergize,
Self::ModPacify,
Self::ModRoot,
Self::ModSilence,
Self::ReflectSpells,
Self::ModStat,
Self::ModSkill,
Self::ModIncreaseSpeed,
Self::ModIncreaseMountedSpeed,
Self::ModDecreaseSpeed,
Self::ModIncreaseHealth,
Self::ModIncreaseEnergy,
Self::ModShapeshift,
Self::EffectImmunity,
Self::StateImmunity,
Self::SchoolImmunity,
Self::DamageImmunity,
Self::DispelImmunity,
Self::ProcTriggerSpell,
Self::ProcTriggerDamage,
Self::TrackCreatures,
Self::TrackResources,
Self::ModParrySkill,
Self::ModParryPercent,
Self::ModDodgeSkill,
Self::ModDodgePercent,
Self::ModBlockSkill,
Self::ModBlockPercent,
Self::ModCritPercent,
Self::PeriodicLeech,
Self::ModHitChance,
Self::ModSpellHitChance,
Self::Transform,
Self::ModSpellCritChance,
Self::ModIncreaseSwimSpeed,
Self::ModDamageDoneCreature,
Self::ModPacifySilence,
Self::ModScale,
Self::PeriodicHealthFunnel,
Self::PeriodicManaFunnel,
Self::PeriodicManaLeech,
Self::ModCastingSpeedNotStack,
Self::FeignDeath,
Self::ModDisarm,
Self::ModStalked,
Self::SchoolAbsorb,
Self::ExtraAttacks,
Self::ModSpellCritChanceSchool,
Self::ModPowerCostSchoolPct,
Self::ModPowerCostSchool,
Self::ReflectSpellsSchool,
Self::ModLanguage,
Self::FarSight,
Self::MechanicImmunity,
Self::Mounted,
Self::ModDamagePercentDone,
Self::ModPercentStat,
Self::SplitDamagePct,
Self::WaterBreathing,
Self::ModBaseResistance,
Self::ModRegen,
Self::ModPowerRegen,
Self::ChannelDeathItem,
Self::ModDamagePercentTaken,
Self::ModHealthRegenPercent,
Self::PeriodicDamagePercent,
Self::ModResistChance,
Self::ModDetectRange,
Self::PreventsFleeing,
Self::ModUnattackable,
Self::InterruptRegen,
Self::Ghost,
Self::SpellMagnet,
Self::ManaShield,
Self::ModSkillTalent,
Self::ModAttackPower,
Self::AurasVisible,
Self::ModResistancePct,
Self::ModMeleeAttackPowerVersus,
Self::ModTotalThreat,
Self::WaterWalk,
Self::FeatherFall,
Self::Hover,
Self::AddFlatModifier,
Self::AddPctModifier,
Self::AddTargetTrigger,
Self::ModPowerRegenPercent,
Self::AddCasterHitTrigger,
Self::OverrideClassScripts,
Self::ModRangedDamageTaken,
Self::ModRangedDamageTakenPct,
Self::ModHealing,
Self::ModRegenDuringCombat,
Self::ModMechanicResistance,
Self::ModHealingPct,
Self::SharePetTracking,
Self::Untrackable,
Self::Empathy,
Self::ModOffhandDamagePct,
Self::ModTargetResistance,
Self::ModRangedAttackPower,
Self::ModMeleeDamageTaken,
Self::ModMeleeDamageTakenPct,
Self::RangedAttackPowerAttackerBonus,
Self::ModPossessPet,
Self::ModSpeedAlways,
Self::ModMountedSpeedAlways,
Self::ModRangedAttackPowerVersus,
Self::ModIncreaseEnergyPercent,
Self::ModIncreaseHealthPercent,
Self::ModManaRegenInterrupt,
Self::ModHealingDone,
Self::ModHealingDonePercent,
Self::ModTotalStatPercentage,
Self::ModMeleeHaste,
Self::ForceReaction,
Self::ModRangedHaste,
Self::ModRangedAmmoHaste,
Self::ModBaseResistancePct,
Self::ModResistanceExclusive,
Self::SafeFall,
Self::Charisma,
Self::Persuaded,
Self::MechanicImmunityMask,
Self::RetainComboPoints,
Self::ResistPushback,
Self::ModShieldBlockvaluePct,
Self::TrackStealthed,
Self::ModDetectedRange,
Self::SplitDamageFlat,
Self::ModStealthLevel,
Self::ModWaterBreathing,
Self::ModReputationGain,
Self::PetDamageMulti,
Self::ModShieldBlockvalue,
Self::NoPvpCredit,
Self::ModAoeAvoidance,
Self::ModHealthRegenInCombat,
Self::PowerBurnMana,
Self::ModCritDamageBonus,
Self::Unknown164,
Self::MeleeAttackPowerAttackerBonus,
Self::ModAttackPowerPct,
Self::ModRangedAttackPowerPct,
Self::ModDamageDoneVersus,
Self::ModCritPercentVersus,
Self::DetectAmore,
Self::ModSpeedNotStack,
Self::ModMountedSpeedNotStack,
Self::AllowChampionSpells,
Self::ModSpellDamageOfStatPercent,
Self::ModSpellHealingOfStatPercent,
Self::SpiritOfRedemption,
Self::AoeCharm,
Self::ModDebuffResistance,
Self::ModAttackerSpellCritChance,
Self::ModFlatSpellDamageVersus,
Self::ModFlatSpellCritDamageVersus,
Self::ModResistanceOfStatPercent,
Self::ModCriticalThreat,
Self::ModAttackerMeleeHitChance,
Self::ModAttackerRangedHitChance,
Self::ModAttackerSpellHitChance,
Self::ModAttackerMeleeCritChance,
Self::ModAttackerRangedCritChance,
Self::ModRating,
Self::ModFactionReputationGain,
Self::UseNormalMovementSpeed,
]
}
pub const fn from_int(value: u32) -> Result<Self, crate::errors::EnumError> {
match value {
0 => Ok(Self::None),
1 => Ok(Self::BindSight),
2 => Ok(Self::ModPossess),
3 => Ok(Self::PeriodicDamage),
4 => Ok(Self::Dummy),
5 => Ok(Self::ModConfuse),
6 => Ok(Self::ModCharm),
7 => Ok(Self::ModFear),
8 => Ok(Self::PeriodicHeal),
9 => Ok(Self::ModAttackspeed),
10 => Ok(Self::ModThreat),
11 => Ok(Self::ModTaunt),
12 => Ok(Self::ModStun),
13 => Ok(Self::ModDamageDone),
14 => Ok(Self::ModDamageTaken),
15 => Ok(Self::DamageShield),
16 => Ok(Self::ModStealth),
17 => Ok(Self::ModStealthDetect),
18 => Ok(Self::ModInvisibility),
19 => Ok(Self::ModInvisibilityDetection),
20 => Ok(Self::ObsModHealth),
21 => Ok(Self::ObsModMana),
22 => Ok(Self::ModResistance),
23 => Ok(Self::PeriodicTriggerSpell),
24 => Ok(Self::PeriodicEnergize),
25 => Ok(Self::ModPacify),
26 => Ok(Self::ModRoot),
27 => Ok(Self::ModSilence),
28 => Ok(Self::ReflectSpells),
29 => Ok(Self::ModStat),
30 => Ok(Self::ModSkill),
31 => Ok(Self::ModIncreaseSpeed),
32 => Ok(Self::ModIncreaseMountedSpeed),
33 => Ok(Self::ModDecreaseSpeed),
34 => Ok(Self::ModIncreaseHealth),
35 => Ok(Self::ModIncreaseEnergy),
36 => Ok(Self::ModShapeshift),
37 => Ok(Self::EffectImmunity),
38 => Ok(Self::StateImmunity),
39 => Ok(Self::SchoolImmunity),
40 => Ok(Self::DamageImmunity),
41 => Ok(Self::DispelImmunity),
42 => Ok(Self::ProcTriggerSpell),
43 => Ok(Self::ProcTriggerDamage),
44 => Ok(Self::TrackCreatures),
45 => Ok(Self::TrackResources),
46 => Ok(Self::ModParrySkill),
47 => Ok(Self::ModParryPercent),
48 => Ok(Self::ModDodgeSkill),
49 => Ok(Self::ModDodgePercent),
50 => Ok(Self::ModBlockSkill),
51 => Ok(Self::ModBlockPercent),
52 => Ok(Self::ModCritPercent),
53 => Ok(Self::PeriodicLeech),
54 => Ok(Self::ModHitChance),
55 => Ok(Self::ModSpellHitChance),
56 => Ok(Self::Transform),
57 => Ok(Self::ModSpellCritChance),
58 => Ok(Self::ModIncreaseSwimSpeed),
59 => Ok(Self::ModDamageDoneCreature),
60 => Ok(Self::ModPacifySilence),
61 => Ok(Self::ModScale),
62 => Ok(Self::PeriodicHealthFunnel),
63 => Ok(Self::PeriodicManaFunnel),
64 => Ok(Self::PeriodicManaLeech),
65 => Ok(Self::ModCastingSpeedNotStack),
66 => Ok(Self::FeignDeath),
67 => Ok(Self::ModDisarm),
68 => Ok(Self::ModStalked),
69 => Ok(Self::SchoolAbsorb),
70 => Ok(Self::ExtraAttacks),
71 => Ok(Self::ModSpellCritChanceSchool),
72 => Ok(Self::ModPowerCostSchoolPct),
73 => Ok(Self::ModPowerCostSchool),
74 => Ok(Self::ReflectSpellsSchool),
75 => Ok(Self::ModLanguage),
76 => Ok(Self::FarSight),
77 => Ok(Self::MechanicImmunity),
78 => Ok(Self::Mounted),
79 => Ok(Self::ModDamagePercentDone),
80 => Ok(Self::ModPercentStat),
81 => Ok(Self::SplitDamagePct),
82 => Ok(Self::WaterBreathing),
83 => Ok(Self::ModBaseResistance),
84 => Ok(Self::ModRegen),
85 => Ok(Self::ModPowerRegen),
86 => Ok(Self::ChannelDeathItem),
87 => Ok(Self::ModDamagePercentTaken),
88 => Ok(Self::ModHealthRegenPercent),
89 => Ok(Self::PeriodicDamagePercent),
90 => Ok(Self::ModResistChance),
91 => Ok(Self::ModDetectRange),
92 => Ok(Self::PreventsFleeing),
93 => Ok(Self::ModUnattackable),
94 => Ok(Self::InterruptRegen),
95 => Ok(Self::Ghost),
96 => Ok(Self::SpellMagnet),
97 => Ok(Self::ManaShield),
98 => Ok(Self::ModSkillTalent),
99 => Ok(Self::ModAttackPower),
100 => Ok(Self::AurasVisible),
101 => Ok(Self::ModResistancePct),
102 => Ok(Self::ModMeleeAttackPowerVersus),
103 => Ok(Self::ModTotalThreat),
104 => Ok(Self::WaterWalk),
105 => Ok(Self::FeatherFall),
106 => Ok(Self::Hover),
107 => Ok(Self::AddFlatModifier),
108 => Ok(Self::AddPctModifier),
109 => Ok(Self::AddTargetTrigger),
110 => Ok(Self::ModPowerRegenPercent),
111 => Ok(Self::AddCasterHitTrigger),
112 => Ok(Self::OverrideClassScripts),
113 => Ok(Self::ModRangedDamageTaken),
114 => Ok(Self::ModRangedDamageTakenPct),
115 => Ok(Self::ModHealing),
116 => Ok(Self::ModRegenDuringCombat),
117 => Ok(Self::ModMechanicResistance),
118 => Ok(Self::ModHealingPct),
119 => Ok(Self::SharePetTracking),
120 => Ok(Self::Untrackable),
121 => Ok(Self::Empathy),
122 => Ok(Self::ModOffhandDamagePct),
123 => Ok(Self::ModTargetResistance),
124 => Ok(Self::ModRangedAttackPower),
125 => Ok(Self::ModMeleeDamageTaken),
126 => Ok(Self::ModMeleeDamageTakenPct),
127 => Ok(Self::RangedAttackPowerAttackerBonus),
128 => Ok(Self::ModPossessPet),
129 => Ok(Self::ModSpeedAlways),
130 => Ok(Self::ModMountedSpeedAlways),
131 => Ok(Self::ModRangedAttackPowerVersus),
132 => Ok(Self::ModIncreaseEnergyPercent),
133 => Ok(Self::ModIncreaseHealthPercent),
134 => Ok(Self::ModManaRegenInterrupt),
135 => Ok(Self::ModHealingDone),
136 => Ok(Self::ModHealingDonePercent),
137 => Ok(Self::ModTotalStatPercentage),
138 => Ok(Self::ModMeleeHaste),
139 => Ok(Self::ForceReaction),
140 => Ok(Self::ModRangedHaste),
141 => Ok(Self::ModRangedAmmoHaste),
142 => Ok(Self::ModBaseResistancePct),
143 => Ok(Self::ModResistanceExclusive),
144 => Ok(Self::SafeFall),
145 => Ok(Self::Charisma),
146 => Ok(Self::Persuaded),
147 => Ok(Self::MechanicImmunityMask),
148 => Ok(Self::RetainComboPoints),
149 => Ok(Self::ResistPushback),
150 => Ok(Self::ModShieldBlockvaluePct),
151 => Ok(Self::TrackStealthed),
152 => Ok(Self::ModDetectedRange),
153 => Ok(Self::SplitDamageFlat),
154 => Ok(Self::ModStealthLevel),
155 => Ok(Self::ModWaterBreathing),
156 => Ok(Self::ModReputationGain),
157 => Ok(Self::PetDamageMulti),
158 => Ok(Self::ModShieldBlockvalue),
159 => Ok(Self::NoPvpCredit),
160 => Ok(Self::ModAoeAvoidance),
161 => Ok(Self::ModHealthRegenInCombat),
162 => Ok(Self::PowerBurnMana),
163 => Ok(Self::ModCritDamageBonus),
164 => Ok(Self::Unknown164),
165 => Ok(Self::MeleeAttackPowerAttackerBonus),
166 => Ok(Self::ModAttackPowerPct),
167 => Ok(Self::ModRangedAttackPowerPct),
168 => Ok(Self::ModDamageDoneVersus),
169 => Ok(Self::ModCritPercentVersus),
170 => Ok(Self::DetectAmore),
171 => Ok(Self::ModSpeedNotStack),
172 => Ok(Self::ModMountedSpeedNotStack),
173 => Ok(Self::AllowChampionSpells),
174 => Ok(Self::ModSpellDamageOfStatPercent),
175 => Ok(Self::ModSpellHealingOfStatPercent),
176 => Ok(Self::SpiritOfRedemption),
177 => Ok(Self::AoeCharm),
178 => Ok(Self::ModDebuffResistance),
179 => Ok(Self::ModAttackerSpellCritChance),
180 => Ok(Self::ModFlatSpellDamageVersus),
181 => Ok(Self::ModFlatSpellCritDamageVersus),
182 => Ok(Self::ModResistanceOfStatPercent),
183 => Ok(Self::ModCriticalThreat),
184 => Ok(Self::ModAttackerMeleeHitChance),
185 => Ok(Self::ModAttackerRangedHitChance),
186 => Ok(Self::ModAttackerSpellHitChance),
187 => Ok(Self::ModAttackerMeleeCritChance),
188 => Ok(Self::ModAttackerRangedCritChance),
189 => Ok(Self::ModRating),
190 => Ok(Self::ModFactionReputationGain),
191 => Ok(Self::UseNormalMovementSpeed),
v => Err(crate::errors::EnumError::new(NAME, v as i128),)
}
}
}
#[cfg(feature = "print-testcase")]
impl AuraMod {
pub const fn as_test_case_value(&self) -> &'static str {
match self {
Self::None => "NONE",
Self::BindSight => "BIND_SIGHT",
Self::ModPossess => "MOD_POSSESS",
Self::PeriodicDamage => "PERIODIC_DAMAGE",
Self::Dummy => "DUMMY",
Self::ModConfuse => "MOD_CONFUSE",
Self::ModCharm => "MOD_CHARM",
Self::ModFear => "MOD_FEAR",
Self::PeriodicHeal => "PERIODIC_HEAL",
Self::ModAttackspeed => "MOD_ATTACKSPEED",
Self::ModThreat => "MOD_THREAT",
Self::ModTaunt => "MOD_TAUNT",
Self::ModStun => "MOD_STUN",
Self::ModDamageDone => "MOD_DAMAGE_DONE",
Self::ModDamageTaken => "MOD_DAMAGE_TAKEN",
Self::DamageShield => "DAMAGE_SHIELD",
Self::ModStealth => "MOD_STEALTH",
Self::ModStealthDetect => "MOD_STEALTH_DETECT",
Self::ModInvisibility => "MOD_INVISIBILITY",
Self::ModInvisibilityDetection => "MOD_INVISIBILITY_DETECTION",
Self::ObsModHealth => "OBS_MOD_HEALTH",
Self::ObsModMana => "OBS_MOD_MANA",
Self::ModResistance => "MOD_RESISTANCE",
Self::PeriodicTriggerSpell => "PERIODIC_TRIGGER_SPELL",
Self::PeriodicEnergize => "PERIODIC_ENERGIZE",
Self::ModPacify => "MOD_PACIFY",
Self::ModRoot => "MOD_ROOT",
Self::ModSilence => "MOD_SILENCE",
Self::ReflectSpells => "REFLECT_SPELLS",
Self::ModStat => "MOD_STAT",
Self::ModSkill => "MOD_SKILL",
Self::ModIncreaseSpeed => "MOD_INCREASE_SPEED",
Self::ModIncreaseMountedSpeed => "MOD_INCREASE_MOUNTED_SPEED",
Self::ModDecreaseSpeed => "MOD_DECREASE_SPEED",
Self::ModIncreaseHealth => "MOD_INCREASE_HEALTH",
Self::ModIncreaseEnergy => "MOD_INCREASE_ENERGY",
Self::ModShapeshift => "MOD_SHAPESHIFT",
Self::EffectImmunity => "EFFECT_IMMUNITY",
Self::StateImmunity => "STATE_IMMUNITY",
Self::SchoolImmunity => "SCHOOL_IMMUNITY",
Self::DamageImmunity => "DAMAGE_IMMUNITY",
Self::DispelImmunity => "DISPEL_IMMUNITY",
Self::ProcTriggerSpell => "PROC_TRIGGER_SPELL",
Self::ProcTriggerDamage => "PROC_TRIGGER_DAMAGE",
Self::TrackCreatures => "TRACK_CREATURES",
Self::TrackResources => "TRACK_RESOURCES",
Self::ModParrySkill => "MOD_PARRY_SKILL",
Self::ModParryPercent => "MOD_PARRY_PERCENT",
Self::ModDodgeSkill => "MOD_DODGE_SKILL",
Self::ModDodgePercent => "MOD_DODGE_PERCENT",
Self::ModBlockSkill => "MOD_BLOCK_SKILL",
Self::ModBlockPercent => "MOD_BLOCK_PERCENT",
Self::ModCritPercent => "MOD_CRIT_PERCENT",
Self::PeriodicLeech => "PERIODIC_LEECH",
Self::ModHitChance => "MOD_HIT_CHANCE",
Self::ModSpellHitChance => "MOD_SPELL_HIT_CHANCE",
Self::Transform => "TRANSFORM",
Self::ModSpellCritChance => "MOD_SPELL_CRIT_CHANCE",
Self::ModIncreaseSwimSpeed => "MOD_INCREASE_SWIM_SPEED",
Self::ModDamageDoneCreature => "MOD_DAMAGE_DONE_CREATURE",
Self::ModPacifySilence => "MOD_PACIFY_SILENCE",
Self::ModScale => "MOD_SCALE",
Self::PeriodicHealthFunnel => "PERIODIC_HEALTH_FUNNEL",
Self::PeriodicManaFunnel => "PERIODIC_MANA_FUNNEL",
Self::PeriodicManaLeech => "PERIODIC_MANA_LEECH",
Self::ModCastingSpeedNotStack => "MOD_CASTING_SPEED_NOT_STACK",
Self::FeignDeath => "FEIGN_DEATH",
Self::ModDisarm => "MOD_DISARM",
Self::ModStalked => "MOD_STALKED",
Self::SchoolAbsorb => "SCHOOL_ABSORB",
Self::ExtraAttacks => "EXTRA_ATTACKS",
Self::ModSpellCritChanceSchool => "MOD_SPELL_CRIT_CHANCE_SCHOOL",
Self::ModPowerCostSchoolPct => "MOD_POWER_COST_SCHOOL_PCT",
Self::ModPowerCostSchool => "MOD_POWER_COST_SCHOOL",
Self::ReflectSpellsSchool => "REFLECT_SPELLS_SCHOOL",
Self::ModLanguage => "MOD_LANGUAGE",
Self::FarSight => "FAR_SIGHT",
Self::MechanicImmunity => "MECHANIC_IMMUNITY",
Self::Mounted => "MOUNTED",
Self::ModDamagePercentDone => "MOD_DAMAGE_PERCENT_DONE",
Self::ModPercentStat => "MOD_PERCENT_STAT",
Self::SplitDamagePct => "SPLIT_DAMAGE_PCT",
Self::WaterBreathing => "WATER_BREATHING",
Self::ModBaseResistance => "MOD_BASE_RESISTANCE",
Self::ModRegen => "MOD_REGEN",
Self::ModPowerRegen => "MOD_POWER_REGEN",
Self::ChannelDeathItem => "CHANNEL_DEATH_ITEM",
Self::ModDamagePercentTaken => "MOD_DAMAGE_PERCENT_TAKEN",
Self::ModHealthRegenPercent => "MOD_HEALTH_REGEN_PERCENT",
Self::PeriodicDamagePercent => "PERIODIC_DAMAGE_PERCENT",
Self::ModResistChance => "MOD_RESIST_CHANCE",
Self::ModDetectRange => "MOD_DETECT_RANGE",
Self::PreventsFleeing => "PREVENTS_FLEEING",
Self::ModUnattackable => "MOD_UNATTACKABLE",
Self::InterruptRegen => "INTERRUPT_REGEN",
Self::Ghost => "GHOST",
Self::SpellMagnet => "SPELL_MAGNET",
Self::ManaShield => "MANA_SHIELD",
Self::ModSkillTalent => "MOD_SKILL_TALENT",
Self::ModAttackPower => "MOD_ATTACK_POWER",
Self::AurasVisible => "AURAS_VISIBLE",
Self::ModResistancePct => "MOD_RESISTANCE_PCT",
Self::ModMeleeAttackPowerVersus => "MOD_MELEE_ATTACK_POWER_VERSUS",
Self::ModTotalThreat => "MOD_TOTAL_THREAT",
Self::WaterWalk => "WATER_WALK",
Self::FeatherFall => "FEATHER_FALL",
Self::Hover => "HOVER",
Self::AddFlatModifier => "ADD_FLAT_MODIFIER",
Self::AddPctModifier => "ADD_PCT_MODIFIER",
Self::AddTargetTrigger => "ADD_TARGET_TRIGGER",
Self::ModPowerRegenPercent => "MOD_POWER_REGEN_PERCENT",
Self::AddCasterHitTrigger => "ADD_CASTER_HIT_TRIGGER",
Self::OverrideClassScripts => "OVERRIDE_CLASS_SCRIPTS",
Self::ModRangedDamageTaken => "MOD_RANGED_DAMAGE_TAKEN",
Self::ModRangedDamageTakenPct => "MOD_RANGED_DAMAGE_TAKEN_PCT",
Self::ModHealing => "MOD_HEALING",
Self::ModRegenDuringCombat => "MOD_REGEN_DURING_COMBAT",
Self::ModMechanicResistance => "MOD_MECHANIC_RESISTANCE",
Self::ModHealingPct => "MOD_HEALING_PCT",
Self::SharePetTracking => "SHARE_PET_TRACKING",
Self::Untrackable => "UNTRACKABLE",
Self::Empathy => "EMPATHY",
Self::ModOffhandDamagePct => "MOD_OFFHAND_DAMAGE_PCT",
Self::ModTargetResistance => "MOD_TARGET_RESISTANCE",
Self::ModRangedAttackPower => "MOD_RANGED_ATTACK_POWER",
Self::ModMeleeDamageTaken => "MOD_MELEE_DAMAGE_TAKEN",
Self::ModMeleeDamageTakenPct => "MOD_MELEE_DAMAGE_TAKEN_PCT",
Self::RangedAttackPowerAttackerBonus => "RANGED_ATTACK_POWER_ATTACKER_BONUS",
Self::ModPossessPet => "MOD_POSSESS_PET",
Self::ModSpeedAlways => "MOD_SPEED_ALWAYS",
Self::ModMountedSpeedAlways => "MOD_MOUNTED_SPEED_ALWAYS",
Self::ModRangedAttackPowerVersus => "MOD_RANGED_ATTACK_POWER_VERSUS",
Self::ModIncreaseEnergyPercent => "MOD_INCREASE_ENERGY_PERCENT",
Self::ModIncreaseHealthPercent => "MOD_INCREASE_HEALTH_PERCENT",
Self::ModManaRegenInterrupt => "MOD_MANA_REGEN_INTERRUPT",
Self::ModHealingDone => "MOD_HEALING_DONE",
Self::ModHealingDonePercent => "MOD_HEALING_DONE_PERCENT",
Self::ModTotalStatPercentage => "MOD_TOTAL_STAT_PERCENTAGE",
Self::ModMeleeHaste => "MOD_MELEE_HASTE",
Self::ForceReaction => "FORCE_REACTION",
Self::ModRangedHaste => "MOD_RANGED_HASTE",
Self::ModRangedAmmoHaste => "MOD_RANGED_AMMO_HASTE",
Self::ModBaseResistancePct => "MOD_BASE_RESISTANCE_PCT",
Self::ModResistanceExclusive => "MOD_RESISTANCE_EXCLUSIVE",
Self::SafeFall => "SAFE_FALL",
Self::Charisma => "CHARISMA",
Self::Persuaded => "PERSUADED",
Self::MechanicImmunityMask => "MECHANIC_IMMUNITY_MASK",
Self::RetainComboPoints => "RETAIN_COMBO_POINTS",
Self::ResistPushback => "RESIST_PUSHBACK",
Self::ModShieldBlockvaluePct => "MOD_SHIELD_BLOCKVALUE_PCT",
Self::TrackStealthed => "TRACK_STEALTHED",
Self::ModDetectedRange => "MOD_DETECTED_RANGE",
Self::SplitDamageFlat => "SPLIT_DAMAGE_FLAT",
Self::ModStealthLevel => "MOD_STEALTH_LEVEL",
Self::ModWaterBreathing => "MOD_WATER_BREATHING",
Self::ModReputationGain => "MOD_REPUTATION_GAIN",
Self::PetDamageMulti => "PET_DAMAGE_MULTI",
Self::ModShieldBlockvalue => "MOD_SHIELD_BLOCKVALUE",
Self::NoPvpCredit => "NO_PVP_CREDIT",
Self::ModAoeAvoidance => "MOD_AOE_AVOIDANCE",
Self::ModHealthRegenInCombat => "MOD_HEALTH_REGEN_IN_COMBAT",
Self::PowerBurnMana => "POWER_BURN_MANA",
Self::ModCritDamageBonus => "MOD_CRIT_DAMAGE_BONUS",
Self::Unknown164 => "UNKNOWN164",
Self::MeleeAttackPowerAttackerBonus => "MELEE_ATTACK_POWER_ATTACKER_BONUS",
Self::ModAttackPowerPct => "MOD_ATTACK_POWER_PCT",
Self::ModRangedAttackPowerPct => "MOD_RANGED_ATTACK_POWER_PCT",
Self::ModDamageDoneVersus => "MOD_DAMAGE_DONE_VERSUS",
Self::ModCritPercentVersus => "MOD_CRIT_PERCENT_VERSUS",
Self::DetectAmore => "DETECT_AMORE",
Self::ModSpeedNotStack => "MOD_SPEED_NOT_STACK",
Self::ModMountedSpeedNotStack => "MOD_MOUNTED_SPEED_NOT_STACK",
Self::AllowChampionSpells => "ALLOW_CHAMPION_SPELLS",
Self::ModSpellDamageOfStatPercent => "MOD_SPELL_DAMAGE_OF_STAT_PERCENT",
Self::ModSpellHealingOfStatPercent => "MOD_SPELL_HEALING_OF_STAT_PERCENT",
Self::SpiritOfRedemption => "SPIRIT_OF_REDEMPTION",
Self::AoeCharm => "AOE_CHARM",
Self::ModDebuffResistance => "MOD_DEBUFF_RESISTANCE",
Self::ModAttackerSpellCritChance => "MOD_ATTACKER_SPELL_CRIT_CHANCE",
Self::ModFlatSpellDamageVersus => "MOD_FLAT_SPELL_DAMAGE_VERSUS",
Self::ModFlatSpellCritDamageVersus => "MOD_FLAT_SPELL_CRIT_DAMAGE_VERSUS",
Self::ModResistanceOfStatPercent => "MOD_RESISTANCE_OF_STAT_PERCENT",
Self::ModCriticalThreat => "MOD_CRITICAL_THREAT",
Self::ModAttackerMeleeHitChance => "MOD_ATTACKER_MELEE_HIT_CHANCE",
Self::ModAttackerRangedHitChance => "MOD_ATTACKER_RANGED_HIT_CHANCE",
Self::ModAttackerSpellHitChance => "MOD_ATTACKER_SPELL_HIT_CHANCE",
Self::ModAttackerMeleeCritChance => "MOD_ATTACKER_MELEE_CRIT_CHANCE",
Self::ModAttackerRangedCritChance => "MOD_ATTACKER_RANGED_CRIT_CHANCE",
Self::ModRating => "MOD_RATING",
Self::ModFactionReputationGain => "MOD_FACTION_REPUTATION_GAIN",
Self::UseNormalMovementSpeed => "USE_NORMAL_MOVEMENT_SPEED",
}
}
}
const NAME: &str = "AuraMod";
impl Default for AuraMod {
fn default() -> Self {
Self::None
}
}
impl std::fmt::Display for AuraMod {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Self::None => f.write_str("None"),
Self::BindSight => f.write_str("BindSight"),
Self::ModPossess => f.write_str("ModPossess"),
Self::PeriodicDamage => f.write_str("PeriodicDamage"),
Self::Dummy => f.write_str("Dummy"),
Self::ModConfuse => f.write_str("ModConfuse"),
Self::ModCharm => f.write_str("ModCharm"),
Self::ModFear => f.write_str("ModFear"),
Self::PeriodicHeal => f.write_str("PeriodicHeal"),
Self::ModAttackspeed => f.write_str("ModAttackspeed"),
Self::ModThreat => f.write_str("ModThreat"),
Self::ModTaunt => f.write_str("ModTaunt"),
Self::ModStun => f.write_str("ModStun"),
Self::ModDamageDone => f.write_str("ModDamageDone"),
Self::ModDamageTaken => f.write_str("ModDamageTaken"),
Self::DamageShield => f.write_str("DamageShield"),
Self::ModStealth => f.write_str("ModStealth"),
Self::ModStealthDetect => f.write_str("ModStealthDetect"),
Self::ModInvisibility => f.write_str("ModInvisibility"),
Self::ModInvisibilityDetection => f.write_str("ModInvisibilityDetection"),
Self::ObsModHealth => f.write_str("ObsModHealth"),
Self::ObsModMana => f.write_str("ObsModMana"),
Self::ModResistance => f.write_str("ModResistance"),
Self::PeriodicTriggerSpell => f.write_str("PeriodicTriggerSpell"),
Self::PeriodicEnergize => f.write_str("PeriodicEnergize"),
Self::ModPacify => f.write_str("ModPacify"),
Self::ModRoot => f.write_str("ModRoot"),
Self::ModSilence => f.write_str("ModSilence"),
Self::ReflectSpells => f.write_str("ReflectSpells"),
Self::ModStat => f.write_str("ModStat"),
Self::ModSkill => f.write_str("ModSkill"),
Self::ModIncreaseSpeed => f.write_str("ModIncreaseSpeed"),
Self::ModIncreaseMountedSpeed => f.write_str("ModIncreaseMountedSpeed"),
Self::ModDecreaseSpeed => f.write_str("ModDecreaseSpeed"),
Self::ModIncreaseHealth => f.write_str("ModIncreaseHealth"),
Self::ModIncreaseEnergy => f.write_str("ModIncreaseEnergy"),
Self::ModShapeshift => f.write_str("ModShapeshift"),
Self::EffectImmunity => f.write_str("EffectImmunity"),
Self::StateImmunity => f.write_str("StateImmunity"),
Self::SchoolImmunity => f.write_str("SchoolImmunity"),
Self::DamageImmunity => f.write_str("DamageImmunity"),
Self::DispelImmunity => f.write_str("DispelImmunity"),
Self::ProcTriggerSpell => f.write_str("ProcTriggerSpell"),
Self::ProcTriggerDamage => f.write_str("ProcTriggerDamage"),
Self::TrackCreatures => f.write_str("TrackCreatures"),
Self::TrackResources => f.write_str("TrackResources"),
Self::ModParrySkill => f.write_str("ModParrySkill"),
Self::ModParryPercent => f.write_str("ModParryPercent"),
Self::ModDodgeSkill => f.write_str("ModDodgeSkill"),
Self::ModDodgePercent => f.write_str("ModDodgePercent"),
Self::ModBlockSkill => f.write_str("ModBlockSkill"),
Self::ModBlockPercent => f.write_str("ModBlockPercent"),
Self::ModCritPercent => f.write_str("ModCritPercent"),
Self::PeriodicLeech => f.write_str("PeriodicLeech"),
Self::ModHitChance => f.write_str("ModHitChance"),
Self::ModSpellHitChance => f.write_str("ModSpellHitChance"),
Self::Transform => f.write_str("Transform"),
Self::ModSpellCritChance => f.write_str("ModSpellCritChance"),
Self::ModIncreaseSwimSpeed => f.write_str("ModIncreaseSwimSpeed"),
Self::ModDamageDoneCreature => f.write_str("ModDamageDoneCreature"),
Self::ModPacifySilence => f.write_str("ModPacifySilence"),
Self::ModScale => f.write_str("ModScale"),
Self::PeriodicHealthFunnel => f.write_str("PeriodicHealthFunnel"),
Self::PeriodicManaFunnel => f.write_str("PeriodicManaFunnel"),
Self::PeriodicManaLeech => f.write_str("PeriodicManaLeech"),
Self::ModCastingSpeedNotStack => f.write_str("ModCastingSpeedNotStack"),
Self::FeignDeath => f.write_str("FeignDeath"),
Self::ModDisarm => f.write_str("ModDisarm"),
Self::ModStalked => f.write_str("ModStalked"),
Self::SchoolAbsorb => f.write_str("SchoolAbsorb"),
Self::ExtraAttacks => f.write_str("ExtraAttacks"),
Self::ModSpellCritChanceSchool => f.write_str("ModSpellCritChanceSchool"),
Self::ModPowerCostSchoolPct => f.write_str("ModPowerCostSchoolPct"),
Self::ModPowerCostSchool => f.write_str("ModPowerCostSchool"),
Self::ReflectSpellsSchool => f.write_str("ReflectSpellsSchool"),
Self::ModLanguage => f.write_str("ModLanguage"),
Self::FarSight => f.write_str("FarSight"),
Self::MechanicImmunity => f.write_str("MechanicImmunity"),
Self::Mounted => f.write_str("Mounted"),
Self::ModDamagePercentDone => f.write_str("ModDamagePercentDone"),
Self::ModPercentStat => f.write_str("ModPercentStat"),
Self::SplitDamagePct => f.write_str("SplitDamagePct"),
Self::WaterBreathing => f.write_str("WaterBreathing"),
Self::ModBaseResistance => f.write_str("ModBaseResistance"),
Self::ModRegen => f.write_str("ModRegen"),
Self::ModPowerRegen => f.write_str("ModPowerRegen"),
Self::ChannelDeathItem => f.write_str("ChannelDeathItem"),
Self::ModDamagePercentTaken => f.write_str("ModDamagePercentTaken"),
Self::ModHealthRegenPercent => f.write_str("ModHealthRegenPercent"),
Self::PeriodicDamagePercent => f.write_str("PeriodicDamagePercent"),
Self::ModResistChance => f.write_str("ModResistChance"),
Self::ModDetectRange => f.write_str("ModDetectRange"),
Self::PreventsFleeing => f.write_str("PreventsFleeing"),
Self::ModUnattackable => f.write_str("ModUnattackable"),
Self::InterruptRegen => f.write_str("InterruptRegen"),
Self::Ghost => f.write_str("Ghost"),
Self::SpellMagnet => f.write_str("SpellMagnet"),
Self::ManaShield => f.write_str("ManaShield"),
Self::ModSkillTalent => f.write_str("ModSkillTalent"),
Self::ModAttackPower => f.write_str("ModAttackPower"),
Self::AurasVisible => f.write_str("AurasVisible"),
Self::ModResistancePct => f.write_str("ModResistancePct"),
Self::ModMeleeAttackPowerVersus => f.write_str("ModMeleeAttackPowerVersus"),
Self::ModTotalThreat => f.write_str("ModTotalThreat"),
Self::WaterWalk => f.write_str("WaterWalk"),
Self::FeatherFall => f.write_str("FeatherFall"),
Self::Hover => f.write_str("Hover"),
Self::AddFlatModifier => f.write_str("AddFlatModifier"),
Self::AddPctModifier => f.write_str("AddPctModifier"),
Self::AddTargetTrigger => f.write_str("AddTargetTrigger"),
Self::ModPowerRegenPercent => f.write_str("ModPowerRegenPercent"),
Self::AddCasterHitTrigger => f.write_str("AddCasterHitTrigger"),
Self::OverrideClassScripts => f.write_str("OverrideClassScripts"),
Self::ModRangedDamageTaken => f.write_str("ModRangedDamageTaken"),
Self::ModRangedDamageTakenPct => f.write_str("ModRangedDamageTakenPct"),
Self::ModHealing => f.write_str("ModHealing"),
Self::ModRegenDuringCombat => f.write_str("ModRegenDuringCombat"),
Self::ModMechanicResistance => f.write_str("ModMechanicResistance"),
Self::ModHealingPct => f.write_str("ModHealingPct"),
Self::SharePetTracking => f.write_str("SharePetTracking"),
Self::Untrackable => f.write_str("Untrackable"),
Self::Empathy => f.write_str("Empathy"),
Self::ModOffhandDamagePct => f.write_str("ModOffhandDamagePct"),
Self::ModTargetResistance => f.write_str("ModTargetResistance"),
Self::ModRangedAttackPower => f.write_str("ModRangedAttackPower"),
Self::ModMeleeDamageTaken => f.write_str("ModMeleeDamageTaken"),
Self::ModMeleeDamageTakenPct => f.write_str("ModMeleeDamageTakenPct"),
Self::RangedAttackPowerAttackerBonus => f.write_str("RangedAttackPowerAttackerBonus"),
Self::ModPossessPet => f.write_str("ModPossessPet"),
Self::ModSpeedAlways => f.write_str("ModSpeedAlways"),
Self::ModMountedSpeedAlways => f.write_str("ModMountedSpeedAlways"),
Self::ModRangedAttackPowerVersus => f.write_str("ModRangedAttackPowerVersus"),
Self::ModIncreaseEnergyPercent => f.write_str("ModIncreaseEnergyPercent"),
Self::ModIncreaseHealthPercent => f.write_str("ModIncreaseHealthPercent"),
Self::ModManaRegenInterrupt => f.write_str("ModManaRegenInterrupt"),
Self::ModHealingDone => f.write_str("ModHealingDone"),
Self::ModHealingDonePercent => f.write_str("ModHealingDonePercent"),
Self::ModTotalStatPercentage => f.write_str("ModTotalStatPercentage"),
Self::ModMeleeHaste => f.write_str("ModMeleeHaste"),
Self::ForceReaction => f.write_str("ForceReaction"),
Self::ModRangedHaste => f.write_str("ModRangedHaste"),
Self::ModRangedAmmoHaste => f.write_str("ModRangedAmmoHaste"),
Self::ModBaseResistancePct => f.write_str("ModBaseResistancePct"),
Self::ModResistanceExclusive => f.write_str("ModResistanceExclusive"),
Self::SafeFall => f.write_str("SafeFall"),
Self::Charisma => f.write_str("Charisma"),
Self::Persuaded => f.write_str("Persuaded"),
Self::MechanicImmunityMask => f.write_str("MechanicImmunityMask"),
Self::RetainComboPoints => f.write_str("RetainComboPoints"),
Self::ResistPushback => f.write_str("ResistPushback"),
Self::ModShieldBlockvaluePct => f.write_str("ModShieldBlockvaluePct"),
Self::TrackStealthed => f.write_str("TrackStealthed"),
Self::ModDetectedRange => f.write_str("ModDetectedRange"),
Self::SplitDamageFlat => f.write_str("SplitDamageFlat"),
Self::ModStealthLevel => f.write_str("ModStealthLevel"),
Self::ModWaterBreathing => f.write_str("ModWaterBreathing"),
Self::ModReputationGain => f.write_str("ModReputationGain"),
Self::PetDamageMulti => f.write_str("PetDamageMulti"),
Self::ModShieldBlockvalue => f.write_str("ModShieldBlockvalue"),
Self::NoPvpCredit => f.write_str("NoPvpCredit"),
Self::ModAoeAvoidance => f.write_str("ModAoeAvoidance"),
Self::ModHealthRegenInCombat => f.write_str("ModHealthRegenInCombat"),
Self::PowerBurnMana => f.write_str("PowerBurnMana"),
Self::ModCritDamageBonus => f.write_str("ModCritDamageBonus"),
Self::Unknown164 => f.write_str("Unknown164"),
Self::MeleeAttackPowerAttackerBonus => f.write_str("MeleeAttackPowerAttackerBonus"),
Self::ModAttackPowerPct => f.write_str("ModAttackPowerPct"),
Self::ModRangedAttackPowerPct => f.write_str("ModRangedAttackPowerPct"),
Self::ModDamageDoneVersus => f.write_str("ModDamageDoneVersus"),
Self::ModCritPercentVersus => f.write_str("ModCritPercentVersus"),
Self::DetectAmore => f.write_str("DetectAmore"),
Self::ModSpeedNotStack => f.write_str("ModSpeedNotStack"),
Self::ModMountedSpeedNotStack => f.write_str("ModMountedSpeedNotStack"),
Self::AllowChampionSpells => f.write_str("AllowChampionSpells"),
Self::ModSpellDamageOfStatPercent => f.write_str("ModSpellDamageOfStatPercent"),
Self::ModSpellHealingOfStatPercent => f.write_str("ModSpellHealingOfStatPercent"),
Self::SpiritOfRedemption => f.write_str("SpiritOfRedemption"),
Self::AoeCharm => f.write_str("AoeCharm"),
Self::ModDebuffResistance => f.write_str("ModDebuffResistance"),
Self::ModAttackerSpellCritChance => f.write_str("ModAttackerSpellCritChance"),
Self::ModFlatSpellDamageVersus => f.write_str("ModFlatSpellDamageVersus"),
Self::ModFlatSpellCritDamageVersus => f.write_str("ModFlatSpellCritDamageVersus"),
Self::ModResistanceOfStatPercent => f.write_str("ModResistanceOfStatPercent"),
Self::ModCriticalThreat => f.write_str("ModCriticalThreat"),
Self::ModAttackerMeleeHitChance => f.write_str("ModAttackerMeleeHitChance"),
Self::ModAttackerRangedHitChance => f.write_str("ModAttackerRangedHitChance"),
Self::ModAttackerSpellHitChance => f.write_str("ModAttackerSpellHitChance"),
Self::ModAttackerMeleeCritChance => f.write_str("ModAttackerMeleeCritChance"),
Self::ModAttackerRangedCritChance => f.write_str("ModAttackerRangedCritChance"),
Self::ModRating => f.write_str("ModRating"),
Self::ModFactionReputationGain => f.write_str("ModFactionReputationGain"),
Self::UseNormalMovementSpeed => f.write_str("UseNormalMovementSpeed"),
}
}
}
impl TryFrom<u32> for AuraMod {
type Error = crate::errors::EnumError;
fn try_from(value: u32) -> Result<Self, Self::Error> {
Self::from_int(value)
}
}
impl TryFrom<u8> for AuraMod {
type Error = crate::errors::EnumError;
fn try_from(value: u8) -> Result<Self, Self::Error> {
Self::from_int(value.into())
}
}
impl TryFrom<u16> for AuraMod {
type Error = crate::errors::EnumError;
fn try_from(value: u16) -> Result<Self, Self::Error> {
Self::from_int(value.into())
}
}
impl TryFrom<u64> for AuraMod {
type Error = crate::errors::EnumError;
fn try_from(value: u64) -> Result<Self, Self::Error> {
TryInto::<u32>::try_into(value)
.map_err(|_| crate::errors::EnumError::new(NAME, value.into()))?
.try_into()
}
}
impl TryFrom<i8> for AuraMod {
type Error = crate::errors::EnumError;
fn try_from(value: i8) -> Result<Self, Self::Error> {
TryInto::<u32>::try_into(value)
.map_err(|_| crate::errors::EnumError::new(NAME, value.into()))?
.try_into()
}
}
impl TryFrom<i16> for AuraMod {
type Error = crate::errors::EnumError;
fn try_from(value: i16) -> Result<Self, Self::Error> {
TryInto::<u32>::try_into(value)
.map_err(|_| crate::errors::EnumError::new(NAME, value.into()))?
.try_into()
}
}
impl TryFrom<i32> for AuraMod {
type Error = crate::errors::EnumError;
fn try_from(value: i32) -> Result<Self, Self::Error> {
let v = u32::from_le_bytes(value.to_le_bytes());
Self::from_int(v)
}
}
impl TryFrom<i64> for AuraMod {
type Error = crate::errors::EnumError;
fn try_from(value: i64) -> Result<Self, Self::Error> {
TryInto::<u32>::try_into(value)
.map_err(|_| crate::errors::EnumError::new(NAME, value.into()))?
.try_into()
}
}
impl TryFrom<usize> for AuraMod {
type Error = crate::errors::EnumError;
fn try_from(value: usize) -> Result<Self, Self::Error> {
TryInto::<u32>::try_into(value)
.map_err(|_| crate::errors::EnumError::new(NAME, value as i128))?
.try_into()
}
}