private bool CheckSpForm() { switch (number) { case Ps.ARCEUS: form = _item / 1000 == Is.FLAME_PLATE / 1000 ? _item - Is.FLAME_PLATE + 1 : 0; break; case Ps.GIRATINA: form = _item == Is.GRISEOUS_ORB ? 1 : 0; break; case Ps.GENESECT: form = _item / 100 == Is.DOUSE_DRIVE / 100 ? _item - Is.DOUSE_DRIVE + 1 : 0; break; case Ps.KELDEO: if (!HasMove(Ms.SECRET_SWORD)) { form = 0; } break; case Ps.MEOWSTIC: form = _gender == PokemonGender.Female ? 1 : 0; break; } if (_form != null && _form.Index != form) { _form = null; } return(_form == null); }
public void ChangeForm(int form, bool forever) { Form = Form.Species.GetForm(form); if (forever) { originForm = Form; } }
internal PokemonSpecies(int number, int gender, EggGroup e1, EggGroup e2, PokemonColor color, int forms) { _number = number; _genderBoundary = (byte)gender; _forms = new PokemonForm[forms]; for (int i = 0; i < forms; ++i) { _forms[i] = new PokemonForm(this, i); } _eggGroup1 = e1; _eggGroup2 = e2; _color = color; }
/// <summary> /// will not notify property changes /// </summary> public void SetAll(string name, PokemonForm form, PokemonGender gender, int lv, Position position, bool substitute, int hp, PokemonState state, bool shiny) { _name = name; Form = form; _gender = gender; Lv = lv; _position.X = position.X; _position.Y = position.Y; IsSubstitute = substitute; Hp.Value = hp; _state = state; Shiny = shiny; }