#[repr(u8)] #[derive(Copy, Clone, Debug, PartialEq, Eq)] pub enum ScriptCapabilities { Initialize = 1, OnStack, OnRemove, OnBeforeTurn, ChangeAttack, ModifyNumberOfHits, PreventAttack, FailAttack, StopBeforeAttack, OnBeforeAttack, FailIncomingAttack, IsInvulnerable, OnAttackMiss, ChangeAttackType, ChangeEffectiveness, BlockCritical, OnIncomingHit, OnFaintingOpponent, PreventStatBoostChange, ModifyStatBoostChange, PreventSecondaryEffects, OnSecondaryEffect, OnAfterHits, PreventSelfSwitch, ModifyEffectChance, ModifyIncomingEffectChance, OverrideBasePower, ChangeDamageStatsUser, BypassDefensiveStat, BypassOffensiveStat, ModifyStatModifier, ModifyDamageModifier, OverrideDamage, OverrideIncomingDamage, ChangeSpeed, ChangePriority, OnFail, OnOpponentFail, PreventRunAway, PreventOpponentRunAway, PreventOpponentSwitch, OnEndTurn, OnDamage, OnFaint, OnAfterHeldItemConsume, PreventIncomingCritical, ModifyCriticalStage, OverrideCriticalModifier, OverrideSTABModifier, ModifyExperienceGain, DoesShareExperience, BlockWeather, OnSwitchIn, ModifyOffensiveStatValue, ModifyDefensiveStatValue, }