public sealed override void ExecuteAndUpdate(BattlePokemon user, BattlePokemon defender)
 {
     OnUsed();
     if (IsAMiss(user, defender))
     {
         OnMissed();
     }
     else if (defender.CanStatGoLower(StatType.Accuracy) &&
              !defender.IsSubstituteActive &&
              !defender.IsMistActive())
     {
         defender.ModifyStatStageAsPrimaryEffect(StatType.Accuracy, -1);
     }
     SetLastMoveAndMirrorMove(user, defender);
     SubtractPP(1);
 }