#[repr(u8)] #[derive(Copy, Clone, Debug, PartialEq, Eq)] pub enum ScriptCapabilities { None = 0, Initialize = 1, OnStack, OnRemove, OnBeforeTurn, ChangeMove, ChangeNumberOfHits, PreventMove, FailMove, StopBeforeMove, OnBeforeMove, FailIncomingMove, IsInvulnerable, OnMoveMiss, ChangeMoveType, ChangeEffectiveness, BlockCritical, OnIncomingHit, OnFaintingOpponent, PreventStatBoostChange, ChangeStatBoostChange, PreventSecondaryEffects, OnSecondaryEffect, OnAfterHits, PreventSelfSwitch, ChangeEffectChance, ChangeIncomingEffectChance, ChangeBasePower, ChangeDamageStatsUser, BypassDefensiveStat, BypassOffensiveStat, ChangeStatModifier, ChangeDamageModifier, ChangeDamage, ChangeIncomingDamage, ChangeSpeed, ChangePriority, OnFail, OnOpponentFail, PreventSelfRunAway, PreventOpponentRunAway, PreventOpponentSwitch, OnEndTurn, OnDamage, OnFaint, OnAfterHeldItemConsume, BlockIncomingCritical, ChangeAccuracy, ChangeCriticalStage, ChangeCriticalModifier, ChangeSTABModifier, ChangeExperienceGain, DoesShareExperience, BlockWeather, OnSwitchIn, ChangeOffensiveStatValue, ChangeDefensiveStatValue, ChangeCaptureRate, }