internal PokemonFormData(BattleType t1, BattleType t2, int a1, int a2, int a3, ReadOnly6D d6, float height, float weight) { _type1 = t1; _type2 = t2; if (a1 == a2) { a2 = 0; } _abilities = new int[3] { a1, a2, a3 }; _base = d6; _height = height; _weight = weight; }
static RomData() { var dll = System.Reflection.Assembly.GetExecutingAssembly(); using (var sr = new StreamReader(dll.GetManifestResourceStream("PokemonBattleOnline.Game.dat.Pokemons.txt"))) { _pokemons = new PokemonSpecies[POKEMONS]; for (int i = 0; i < POKEMONS; ++i) { //31 Monster Grass Green 1 var line = sr.ReadLine(); var s = line.Split('\t'); _pokemons[i] = new PokemonSpecies(i + 1, int.Parse(s[0]), (EggGroup)Enum.Parse(typeof(EggGroup), s[1]), string.IsNullOrEmpty(s[2]) ? EggGroup.Invalid : (EggGroup)Enum.Parse(typeof(EggGroup), s[2]), (PokemonColor)Enum.Parse(typeof(PokemonColor), s[3]), int.Parse(s[4])); } } using (var sr = new StreamReader(dll.GetManifestResourceStream("PokemonBattleOnline.Game.dat.Forms.txt"))) { for (string line = sr.ReadLine(); !string.IsNullOrWhiteSpace(line); line = sr.ReadLine()) { //# F T1 T2 A1 A2 A3 HP A D SA SD S H W //1 0 Grass Poison 65 34 45 49 49 65 65 45 0.7 6.9 var s = line.Split('\t'); var t1 = (BattleType)Enum.Parse(typeof(BattleType), s[2]); var t2 = string.IsNullOrEmpty(s[3]) ? BattleType.Invalid : (BattleType)Enum.Parse(typeof(BattleType), s[3]); var a1 = int.Parse(s[4]); var a2 = string.IsNullOrEmpty(s[5]) ? 0 : int.Parse(s[5]); var a3 = string.IsNullOrEmpty(s[6]) ? 0 : int.Parse(s[6]); var d6 = new ReadOnly6D(int.Parse(s[7]), int.Parse(s[8]), int.Parse(s[9]), int.Parse(s[10]), int.Parse(s[11]), int.Parse(s[12])); var h = float.Parse(s[13]); var w = float.Parse(s[14]); _pokemons[int.Parse(s[0]) - 1].SetFormData(int.Parse(s[1]), new PokemonFormData(t1, t2, a1, a2, a3, d6, h, w)); } } using (var sr = new StreamReader(dll.GetManifestResourceStream("PokemonBattleOnline.Game.dat.Evolutions.txt"))) { var es = new List <Evolution>(354); for (string line = sr.ReadLine(); !string.IsNullOrWhiteSpace(line); line = sr.ReadLine()) { var s = line.Split('\t'); es.Add(new Evolution(int.Parse(s[0]), int.Parse(s[1]))); } _evolutions = es.ToArray(); } using (var sr = new StreamReader(dll.GetManifestResourceStream("PokemonBattleOnline.Game.dat.Moves.txt"))) { _moves = new MoveType[MOVES]; for (int i = 0; i < MOVES; ++i) { //Normal Physical 40 100 35 Single var line = sr.ReadLine(); var s = line.Split('\t'); _moves[i] = new MoveType(i + 1, (BattleType)Enum.Parse(typeof(BattleType), s[0]), (MoveCategory)Enum.Parse(typeof(MoveCategory), s[1]), int.Parse(s[2]), int.Parse(s[3]), int.Parse(s[4]), (MoveRange)Enum.Parse(typeof(MoveRange), s[5])); } } using (var sr = new StreamReader(dll.GetManifestResourceStream("PokemonBattleOnline.Game.dat.Items.txt"))) { var items = new List <int>(234); items.Add(0); for (string line = sr.ReadLine(); !string.IsNullOrWhiteSpace(line); line = sr.ReadLine()) { items.Add(int.Parse(line)); } _items = items.ToArray(); } _learnSet = new Learnset(); }