Beispiel #1
0
 public bool IsPokemonUsable(SwitchedPokemon pokemon)
 {
     if (pokemon.Health > 0)
     {
         foreach (var move in pokemon.Moves)
         {
             MovesManager.MoveData moveData = MovesManager.Instance.GetMoveData(move.id);
             if (move.pp > 0 && IsMoveOffensive(moveData) && !move.disabled &&
                 moveData.ID != DreamEater && moveData.ID != Synchronoise && moveData.ID != DoubleEdge)
             {
                 return(true);
             }
         }
     }
     return(false);
 }
Beispiel #2
0
        private double ApplySpecialEffects(MovesManager.MoveData move, SwitchedPokemon poke, SwitchedPokemon active, double power)
        {
            if (move.ID == DragonRage)
            {
                return(poke.Health <= 40 ? 10000.0 : 1.0);
            }

            if (move.ID == SeismicToss || move.ID == NightShade)
            {
                return(poke.Health <= active.Level ? 10000.0 : 1.0);
            }

            if (move.ID == Psywave)
            {
                return(poke.Health <= (active.Level / 2) ? 10000.0 : 1.0);
            }

            if (move.ID == FalseSwipe)
            {
                return(0.1);
            }

            return(power);
        }