public SwapPokemon(Slot slot, Unique.IPokemon replacement) : base(slot) { if (!slot.Participant.Party.Contains(replacement)) { throw new ArgumentException("Replacement pokemon is not part of the Participant's Party", "replacement"); } if (!replacement.HasFainted()) { throw new ArgumentException("Replacement pokemon has fainted", "replacement"); } Replacement = replacement; }
public Pokemon(Unique.IPokemon basePokemon) { Base = basePokemon; Stats = new Statistics(basePokemon.Stats); IList <IMove> list = new List <IMove>(Base.Moves.Count); foreach (Unique.IMove move in Base.Moves) { if (move == null) { list.Add(null); continue; } list.Add(new Move(move)); } Moves = new MoveSet <IMove>(list); }
public static bool HasFainted(this Unique.IPokemon pokemon) { return(pokemon.HP == 0); }
public PokemonReplacedEventArgs(Unique.IPokemon partyPokemon, int partyPokemonSlot, Unique.IPokemon replacementPokemon) : base() { PartyPokemon = partyPokemon; PartyPokemonSlot = partyPokemonSlot; ReplacementPokemon = replacementPokemon; }
public static int BaseSpeed(this Unique.IPokemon pokemon) { return((pokemon as Model.IPokemon).Stats[Model.Statistic.Speed]); }
public static int BaseSpecialDefense(this Unique.IPokemon pokemon) { return((pokemon as Model.IPokemon).Stats[Model.Statistic.SpecialDefense]); }
public static int BaseSpecialAttack(this Unique.IPokemon pokemon) { return((pokemon as Model.IPokemon).Stats[Model.Statistic.SpecialAttack]); }
public static int MaxHP(this Unique.IPokemon pokemon) { return(pokemon.Stats[Statistic.HP]); }
public static int BaseHP(Unique.IPokemon pokemon) { return((pokemon as Model.IPokemon).Stats[Model.Statistic.HP]); }