Beispiel #1
0
        private void QuickText_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Enter)
            {
                var text = QuickText.Text.Trim();
                int end;
LOOP:
                var r = GameString.Find(text, out end);
                if (end == 0)
                {
                    QuickText.Text = text;
                    return;
                }
                var n = int.Parse(r.Substring(1));
                switch (r[0])
                {
                case 'p':
                    VM.PokemonForm = RomData.GetPokemon(n / 100, n % 100);
                    break;

                case 'm':
                    VM.AddMove(RomData.GetMove(n));
                    break;

                case 'a':
                    VM.Model.Ability = n;
                    break;

                case 'i':
                    VM.HeldItem = n;
                    break;

                case 'n':
                    VM.Model.Nature = (PokemonNature)n;
                    break;
                }
                text = text.Substring(end);
                goto LOOP;
            }
        }
Beispiel #2
0
        void AutoTeam(string text)
        {
            int end;

LOOP:
            var r = GameString.Find(text, out end);

            if (end == 0)
            {
                if (!string.IsNullOrWhiteSpace(text))
                {
                    Console.WriteLine(@"<ERROR> """ + text + @"""");
                }
                return;
            }
            var n = int.Parse(r.Substring(1));

            switch (r[0])
            {
            case 'p':
                Team.Add(new PokemonData(n / 100, n % 100));
                break;

            case 'm':
            {
                var pm = Team.LastOrDefault();
                if (pm == null)
                {
                    pm = new PokemonData(235, 0);
                    Team.Add(pm);
                }
                pm.AddMove(RomData.GetMove(n));
            }
            break;

            case 'a':
            {
                var pm = Team.LastOrDefault();
                if (pm == null || !pm.Form.Data.Abilities.Contains(n))
                {
                    foreach (var p in RomData.Pokemons)
                    {
                        if (p.Forms.First().Data.Abilities.Contains(n))
                        {
                            pm = new PokemonData(p.Number, 0);
                            Team.Add(pm);
                            break;
                        }
                    }
                }
                pm.Ability = n;
            }
            break;

            case 'i':
            {
                var pm = Team.LastOrDefault();
                if (pm == null || pm.Item != 0)
                {
                    pm = new PokemonData(235, 0);
                    Team.Add(pm);
                }
                pm.Item = n;
            }
            break;
            }
            text = text.Substring(end);
            goto LOOP;
        }