mirror of
https://github.com/kwsch/PKHeX
synced 2025-02-17 05:48:44 +00:00
Play with living dex gen a little
generate altforms too, store in a list
This commit is contained in:
parent
c301ce88ab
commit
f0fb6a2371
1 changed files with 32 additions and 14 deletions
|
@ -10,25 +10,43 @@ namespace PKHeX.Core
|
||||||
{
|
{
|
||||||
public static IList<PKM> GetLivingDex(SaveFile sav)
|
public static IList<PKM> GetLivingDex(SaveFile sav)
|
||||||
{
|
{
|
||||||
var bd = sav.BoxData;
|
var speciesToGenerate = Enumerable.Range(1, sav.MaxSpeciesID);
|
||||||
var tr = sav;
|
return GetLivingDex(sav, speciesToGenerate, sav.BlankPKM);
|
||||||
for (int i = 1; i <= sav.MaxSpeciesID; i++) // should really get a list of valid species IDs
|
}
|
||||||
|
|
||||||
|
public static List<PKM> GetLivingDex(ITrainerInfo tr, IEnumerable<int> speciesToGenerate, PKM blank)
|
||||||
|
{
|
||||||
|
var result = new List<PKM>();
|
||||||
|
var destType = blank.GetType();
|
||||||
|
foreach (var s in speciesToGenerate)
|
||||||
{
|
{
|
||||||
var pk = sav.BlankPKM;
|
var pk = blank.Clone();
|
||||||
pk.Species = i;
|
pk.Species = s;
|
||||||
pk.Gender = pk.GetSaneGender();
|
pk.Gender = pk.GetSaneGender();
|
||||||
if (i == (int)Species.Meowstic)
|
|
||||||
pk.AltForm = pk.Gender;
|
|
||||||
|
|
||||||
var f = EncounterMovesetGenerator.GeneratePKMs(pk, tr).FirstOrDefault();
|
var pi = pk.PersonalInfo;
|
||||||
if (f == null)
|
for (int i = 0; i < pi.FormeCount; i++)
|
||||||
continue;
|
{
|
||||||
|
pk.AltForm = i;
|
||||||
|
if (s == (int) Species.Indeedee || s == (int) Species.Meowstic)
|
||||||
|
pk.Gender = i;
|
||||||
|
|
||||||
var converted = PKMConverter.ConvertToType(f, sav.PKMType, out _);
|
var f = EncounterMovesetGenerator.GeneratePKMs(pk, tr).FirstOrDefault();
|
||||||
if (converted != null)
|
if (f == null)
|
||||||
bd[i] = converted;
|
continue;
|
||||||
|
var converted = PKMConverter.ConvertToType(f, destType, out _);
|
||||||
|
if (converted == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
converted.CurrentLevel = 100;
|
||||||
|
converted.Species = s;
|
||||||
|
converted.AltForm = i;
|
||||||
|
|
||||||
|
result.Add(converted);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return bd;
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue