private void Mega() { var m = false; foreach (var p in ActingPokemons) { p.BeforeMegaSpeed = p.Speed; } foreach (var p in ActingPokemons) { if (p.Action == PokemonAction.MoveAttached && p.SelectMega) { if (p.Pokemon.Item == 0) { p.ShowLogPm(Ls.MegaPre384); } else { p.ShowLogPm("MegaPre", p.Pokemon.Item); } p.Pokemon.Mega = true; p.ChangeForm(ITs.MegaForm(p.Pokemon.Item), true, "Mega"); p.CalculatePriority(); p.BeforeMegaSpeed = p.Speed; //mega速度刷新只对自己有效 雨天下mega轻快会变快,正常天气mega降雨不会使轻快队友变快 m = true; } } if (m) { ReportBuilder.AddHorizontalLine(); ActingPokemons.Sort(MegaComparer); } }
private void SortActingPokemons() { for (int i = 0; i < ActingPokemons.Count - 1; i++) { int j; j = Controller.GetRandomInt(i, ActingPokemons.Count - 1); PokemonProxy temp = ActingPokemons[i]; ActingPokemons[i] = ActingPokemons[j]; ActingPokemons[j] = temp; } foreach (var p in Board.Pokemons) { p.CalculatePriority(); } ActingPokemons.Sort(Comparer); }