public Pokemon(Player owner, PokemonCustomInfo custom, GameSettings settings) { Id = settings.NextId(); Owner = owner; TeamId = owner.TeamId; Name = custom.Name; PokemonType = DataService.GetPokemonType(custom.PokemonTypeId); Gender = custom.Gender; Lv = custom.Lv; Ability = DataService.GetAbility(custom.AbilityId); Nature = custom.Nature; { Moves = new Move[4]; int i = 0; foreach (int moveId in custom.MoveIds) if (i < 4) Moves[i++] = new Move(moveId, settings); StruggleId = settings.NextId(); SwitchId = settings.NextId(); } Base = new ReadOnly6D(PokemonType.BaseHp, PokemonType.BaseAtk, PokemonType.BaseDef, PokemonType.BaseSpAtk, PokemonType.BaseSpDef, PokemonType.BaseSpeed); Iv = new ReadOnly6D(custom.HpIv, custom.AtkIv, custom.DefIv, custom.SpAtkIv, custom.SpDefIv, custom.SpeedIv); Ev = new ReadOnly6D(custom.HpEv, custom.AtkEv, custom.DefEv, custom.SpAtkEv, custom.SpDefEv, custom.SpeedEv); Static = new ReadOnly6D(GetState(StatType.Hp), GetState(StatType.Atk), GetState(StatType.Def), GetState(StatType.SpAtk), GetState(StatType.SpDef), GetState(StatType.Speed)); if (custom.ItemId.HasValue) Item = DataService.GetItem(custom.ItemId.Value); State = PokemonState.Normal; Hp = new PairValue(Static.Hp, Static.Hp, 48); }
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 SimGame(int userId, int teamId, PokemonCustomInfo[] pms, GameSettings settings) { Team = new Team(teamId, settings); Team.AddPlayer(userId, pms); Player = Team.GetPlayer(userId); Pokemons = new SimPokemon[settings.XBound]; pokemons = new List<SimPokemon>(); }
internal static bool InputAction(GameContext game, Player player, ActionInput input) { #warning unfinished return true; }