internal OnboardPokemon(Pokemon pokemon, int x) { this.pokemon = pokemon; conditions = new ConditionsDictionary(); Owner = pokemon.Owner; Type1 = pokemon.PokemonType.Type1; Type2 = pokemon.PokemonType.Type2; Gender = pokemon.Gender; Ability = pokemon.Ability; Base = new SixD(pokemon.Base); Iv = new SixD(pokemon.Iv); Ev = new SixD(pokemon.Ev); Static = new SixD(pokemon.Static); Lv5D = new SixD(); Moves = new Move[4] { pokemon.Moves[0], pokemon.Moves[1], pokemon.Moves[2], pokemon.Moves[3] }; Position = new Position(pokemon.TeamId,x); //幻影new完后覆盖属性 Outward = new PokemonOutward(this, pokemon.Hp); Outward.Name = pokemon.Name; Outward.Gender = Gender; Outward.ImageId = pokemon.PokemonType.Id; }
public Player(int userId, int teamId, PokemonCustomInfo[] pokemons, GameSettings settings) { Id = userId; TeamId = teamId; Pokemons = new Pokemon[pokemons.Length]; for (int i = 0; i < pokemons.Length; i++) Pokemons[i] = new Pokemon(this, pokemons[i], settings); }
internal SimPokemon(Pokemon pokemon, PokemonOutward outward) { this.pokemon = pokemon; Outward = outward; //Owner = pokemon.Owner; Position = outward.Position; Moves = new Move[4] { pokemon.Moves[0], pokemon.Moves[1], pokemon.Moves[2], pokemon.Moves[3] }; IsActive = true; foreach (Move m in Moves) if (m != null && m.PP.Value > 0) CanUseMove = true; CanStruggle = !CanUseMove; CanSwitch = true; }
bool IPlayerController.Switch(SimPokemon withdraw, Pokemon sendout) { sendCommand(new InputCommand(ActionInput.SwitchPokemonAction(withdraw, sendout))); return true; }
public void Pokemon_Click(Pokemon pokemon) { MessageBox.Show(pokemon.Id.ToString()); //if (ControllingPokemon.CanSwitch && pokemon.Hp > 0 && pokemon.PositionOnBoard == null) // controller.Switch(ControllingPokemon, pokemon); }
public static ActionInput SwitchPokemonAction(SimPokemon withdraw, Pokemon sendout) { return new ActionInput(withdraw.SwitchId) { SendoutId = sendout.Id }; }