private void RandomizeSpecFormItem(IPokeData pk, int Type) { if (pk is TrainerPoke7b p7b) { RandomizeSpecForm(p7b, Type); return; } // replaces Megas with another Mega (Dexio and Lysandre in USUM) if (MegaDictionary.Any(z => z.Value.Contains(pk.HeldItem))) { int[] mega = GetRandomMega(MegaDictionary, out int species); pk.Species = species; int index = Util.Random.Next(mega.Length); pk.HeldItem = mega[index]; pk.Form = 0; // allow it to Mega Evolve naturally } else // every other pkm { pk.Species = RandSpec.GetRandomSpeciesType(pk.Species, Type); TryForceEvolve(pk); pk.HeldItem = PossibleHeldItems[Util.Random.Next(PossibleHeldItems.Length)]; pk.Form = Legal.GetRandomForme(pk.Species, Settings.AllowRandomMegaForms, true, Personal); } }
private void RandomizeSpecForm(TrainerPoke7b pk, int type) { bool isMega = pk.MegaFormChoice != 0; if (isMega) { int[] mega = GetRandomMega(MegaDictionary, out int species); pk.Species = species; pk.CanMegaEvolve = true; pk.MegaFormChoice = Util.Random.Next(mega.Length) + 1; pk.Form = 0; // allow it to Mega Evolve naturally return; } pk.Species = RandSpec.GetRandomSpeciesType(pk.Species, type); pk.Form = RandForm.GetRandomForme(pk.Species, Settings.AllowRandomMegaForms, Settings.AllowRandomFusions, true, false, Personal.Table); }
private void RandomizeSpecForm(TrainerPoke7b pk, int type) { bool isMega = pk.MegaFormChoice != 0; if (isMega) { int[] mega = GetRandomMega(MegaDictionary, out int species); pk.Species = species; pk.MegaFormChoice = Util.Random.Next(mega.Length); pk.CanMegaEvolve = true; pk.Form = Legal.GetRandomForme(pk.Species, Settings.AllowRandomMegaForms, true, Personal); return; } pk.MegaFormChoice = 0; pk.Species = RandSpec.GetRandomSpeciesType(pk.Species, type); TryForceEvolve(pk); pk.Form = Legal.GetRandomForme(pk.Species, Settings.AllowRandomMegaForms, true, Personal); }
private void DetermineSpecies(IPokeData pk) { if (Settings.RandomizeTeam) { int Type = Settings.TeamTypeThemed ? Util.Random.Next(17) : -1; // replaces Megas with another Mega (Dexio and Lysandre in USUM) if (MegaDictionary.Any(z => z.Value.Contains(pk.HeldItem))) { int[] mega = GetRandomMega(MegaDictionary, out int species); pk.Species = species; pk.HeldItem = mega[Util.Random.Next(mega.Length)]; pk.Form = 0; // allow it to Mega Evolve naturally } // every other pkm else { pk.Species = RandSpec.GetRandomSpeciesType(pk.Species, Type); pk.HeldItem = PossibleHeldItems[Util.Random.Next(PossibleHeldItems.Length)]; pk.Form = Legal.GetRandomForme(pk.Species, Settings.AllowRandomMegaForms, true, Personal); } pk.Gender = 0; // random pk.Nature = Util.Random.Next(25); // random } if (Settings.ForceFullyEvolved && pk.Level >= Settings.ForceFullyEvolvedAtLevel && !FinalEvo.Contains(pk.Species)) { int randFinalEvo() => Util.Random.Next(FinalEvo.Count); if (FinalEvo.Count != 0) { pk.Species = FinalEvo[randFinalEvo()]; } pk.Form = Legal.GetRandomForme(pk.Species, Settings.AllowRandomMegaForms, true, Personal); } }