mirror of
https://github.com/kwsch/PKHeX.git
synced 2026-05-09 04:24:36 -05:00
Merge remote-tracking branch 'origin/master' into f/savedata-checksum-tests
This commit is contained in:
commit
563d03e51a
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -210,6 +210,7 @@ $RECYCLE.BIN/
|
|||
#############
|
||||
|
||||
*.resources
|
||||
pingme.txt
|
||||
|
||||
|
||||
#############
|
||||
|
|
|
|||
|
|
@ -183,6 +183,8 @@ private void SanitizeItemNames()
|
|||
itemlist[771] += " (3)"; // Meteorite
|
||||
itemlist[772] += " (4)"; // Meteorite
|
||||
itemlist[842] += " (SM)"; // Fishing Rod
|
||||
itemlist[945] += " (2)"; // Used Solarizer
|
||||
itemlist[946] += " (2)"; // Used Lunarizer
|
||||
|
||||
// Append Z-Crystal flagging
|
||||
foreach (var i in Legal.Pouch_ZCrystal_USUM)
|
||||
|
|
@ -315,7 +317,7 @@ public static void InitializeDataSources(GameStrings s)
|
|||
SpeciesDataSource = Util.GetCBList(s.specieslist, null);
|
||||
NatureDataSource = Util.GetCBList(s.natures, null);
|
||||
AbilityDataSource = Util.GetCBList(s.abilitylist, null);
|
||||
VersionDataSource = Util.GetCBList(s.gamelist, Legal.Games_7sm, Legal.Games_6oras, Legal.Games_6xy, Legal.Games_5, Legal.Games_4, Legal.Games_4e, Legal.Games_4r, Legal.Games_3, Legal.Games_3e, Legal.Games_3r, Legal.Games_3s);
|
||||
VersionDataSource = Util.GetCBList(s.gamelist, Legal.Games_7usum, Legal.Games_7sm, Legal.Games_6oras, Legal.Games_6xy, Legal.Games_5, Legal.Games_4, Legal.Games_4e, Legal.Games_4r, Legal.Games_3, Legal.Games_3e, Legal.Games_3r, Legal.Games_3s);
|
||||
VersionDataSource.AddRange(Util.GetCBList(s.gamelist, Legal.Games_7vc1).OrderBy(g => g.Value)); // stuff to end unsorted
|
||||
VersionDataSource.AddRange(Util.GetCBList(s.gamelist, Legal.Games_7vc2).OrderBy(g => g.Value)); // stuff to end unsorted
|
||||
VersionDataSource.AddRange(Util.GetCBList(s.gamelist, Legal.Games_7go).OrderBy(g => g.Value)); // stuff to end unsorted
|
||||
|
|
@ -472,7 +474,7 @@ public static List<ComboItem> GetLocationList(GameVersion Version, int SaveForma
|
|||
case GameVersion.GD:
|
||||
case GameVersion.SV:
|
||||
case GameVersion.C:
|
||||
return MetGen7.Take(3).Concat(MetGen7.Skip(3).OrderByDescending(loc => loc.Value < 200)).ToList(); // Outer Cape
|
||||
return MetGen7.Take(3).Concat(MetGen7.Skip(3).OrderByDescending(loc => loc.Value < 234)).ToList(); // Dividing Peak Tunnel
|
||||
}
|
||||
|
||||
// Currently on a future game, return corresponding list for generation
|
||||
|
|
|
|||
|
|
@ -294,7 +294,7 @@ private void UpdateChecks()
|
|||
}
|
||||
private string GetLegalityReport()
|
||||
{
|
||||
if (!Parsed || pkm == null)
|
||||
if (!Parsed || pkm == null || Info == null)
|
||||
return V189;
|
||||
|
||||
var lines = new List<string>();
|
||||
|
|
@ -323,7 +323,7 @@ private string GetLegalityReport()
|
|||
}
|
||||
private string GetVerboseLegalityReport()
|
||||
{
|
||||
if (!Parsed || pkm == null)
|
||||
if (!Parsed || pkm == null || Info == null)
|
||||
return V189;
|
||||
|
||||
const string separator = "===";
|
||||
|
|
|
|||
|
|
@ -324,9 +324,9 @@ private void VerifyNicknameTrade()
|
|||
{
|
||||
case 1:
|
||||
case 2: VerifyTrade12(); return;
|
||||
case 3: VerifyTrade3(); return; // todo
|
||||
case 3: VerifyTrade3(); return;
|
||||
case 4: VerifyTrade4(); return;
|
||||
case 5: VerifyTrade5(); return; // todo
|
||||
case 5: VerifyTrade5(); return;
|
||||
case 6: VerifyTrade6(); return;
|
||||
case 7: VerifyTrade7(); return;
|
||||
}
|
||||
|
|
@ -1170,7 +1170,7 @@ private void VerifyBall()
|
|||
return;
|
||||
}
|
||||
|
||||
if (pkm.Ball == 0x14 && pkm.Gen7) // Heavy Ball
|
||||
if (pkm.Ball == 0x14 && !Info.EncounterMatch.EggEncounter && pkm.SM) // Heavy Ball
|
||||
{
|
||||
var lineage = Legal.GetLineage(pkm);
|
||||
if (lineage.Any(e => Legal.AlolanCaptureNoHeavyBall.Contains(e)))
|
||||
|
|
@ -1977,13 +1977,6 @@ private void VerifyForm()
|
|||
return;
|
||||
}
|
||||
break;
|
||||
case 718: // Zygarde
|
||||
if (pkm.AltForm >= 4)
|
||||
{
|
||||
AddLine(Severity.Invalid, V310, CheckIdentifier.Form);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 773: // Silvally
|
||||
{
|
||||
int item = pkm.HeldItem;
|
||||
|
|
@ -1996,13 +1989,6 @@ private void VerifyForm()
|
|||
AddLine(Severity.Valid, V309, CheckIdentifier.Form);
|
||||
break;
|
||||
}
|
||||
case 774: // Minior
|
||||
if (pkm.AltForm < 7)
|
||||
{
|
||||
AddLine(Severity.Invalid, V310, CheckIdentifier.Form);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
// Party Only Forms
|
||||
case 492: // Shaymin
|
||||
|
|
@ -2014,6 +2000,17 @@ private void VerifyForm()
|
|||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
// Battle only Forms with other legal forms allowed
|
||||
case 718 when pkm.AltForm >= 4: // Zygarde Complete
|
||||
case 774 when pkm.AltForm < 7: // Minior Shield
|
||||
case 800 when pkm.AltForm == 3: // Ultra Necrozma
|
||||
AddLine(Severity.Invalid, V310, CheckIdentifier.Form);
|
||||
return;
|
||||
case 800 when pkm.AltForm < 3: // Necrozma Fused forms & default
|
||||
case 778 when pkm.AltForm == 2: // Totem disguise Mimikyu
|
||||
AddLine(Severity.Valid, V315, CheckIdentifier.Form);
|
||||
return;
|
||||
}
|
||||
|
||||
if (pkm.Format >= 7 && Info.Generation < 7 && pkm.AltForm != 0)
|
||||
|
|
|
|||
|
|
@ -918,7 +918,7 @@ internal static IEnumerable<EncounterStatic> GetEncounterStaticTable(PKM pkm, Ga
|
|||
case GameVersion.US: return StaticUS;
|
||||
case GameVersion.UM: return StaticUM;
|
||||
|
||||
default: return new EncounterStatic[0];
|
||||
default: return Enumerable.Empty<EncounterStatic>();
|
||||
}
|
||||
}
|
||||
internal static IEnumerable<EncounterArea> GetEncounterTable(PKM pkm, GameVersion gameSource = GameVersion.Any)
|
||||
|
|
@ -969,7 +969,7 @@ internal static IEnumerable<EncounterArea> GetEncounterTable(PKM pkm, GameVersio
|
|||
case GameVersion.US: return SlotsUS;
|
||||
case GameVersion.UM: return SlotsUM;
|
||||
|
||||
default: return new EncounterArea[0];
|
||||
default: return Enumerable.Empty<EncounterArea>();
|
||||
}
|
||||
}
|
||||
private static IEnumerable<EncounterStatic> GetEncounterStaticTableGSC(PKM pkm)
|
||||
|
|
@ -1014,7 +1014,7 @@ internal static IEnumerable<EncounterArea> GetDexNavAreas(PKM pkm)
|
|||
case (int)GameVersion.OR:
|
||||
return SlotsO.Where(l => l.Location == pkm.Met_Location);
|
||||
default:
|
||||
return new EncounterArea[0];
|
||||
return Enumerable.Empty<EncounterArea>();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1157,7 +1157,7 @@ private static bool IsEvolvedFormChange(PKM pkm)
|
|||
if (pkm.IsEgg)
|
||||
return false;
|
||||
|
||||
if (pkm.Format >= 7 && EvolveToAlolanForms.Contains(pkm.Species))
|
||||
if (pkm.Format >= 7 && AlolanVariantEvolutions12.Contains(pkm.Species))
|
||||
return pkm.AltForm == 1;
|
||||
if (pkm.Species == 678 && pkm.Gender == 1)
|
||||
return pkm.AltForm == 1;
|
||||
|
|
@ -1249,9 +1249,7 @@ internal static bool IsFormChangeable(PKM pkm, int species)
|
|||
if (IsEvolvedFormChange(pkm))
|
||||
return true;
|
||||
if (pkm.Species == 718 && pkm.InhabitedGeneration(7) && pkm.AltForm != 1)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -1694,12 +1692,22 @@ private static IEnumerable<int> GetValidMoves(PKM pkm, GameVersion Version, DexL
|
|||
if (pkm.Format <= 3)
|
||||
return r.Distinct();
|
||||
if (LVL)
|
||||
{
|
||||
if (species == 479 && Generation >= 4) // Rotom
|
||||
r.Add(RotomMoves[pkm.AltForm]);
|
||||
|
||||
if (species == 718 && Generation == 7) // Zygarde
|
||||
r.AddRange(ZygardeMoves);
|
||||
{
|
||||
switch (species)
|
||||
{
|
||||
case 479 when Generation >= 4: // rotom
|
||||
r.Add(RotomMoves[pkm.AltForm]);
|
||||
break;
|
||||
case 718 when Generation == 7: // zygarde
|
||||
r.AddRange(ZygardeMoves);
|
||||
break;
|
||||
case 800 when pkm.AltForm == 1: // Sun Necrozma
|
||||
r.Add(713);
|
||||
break;
|
||||
case 800 when pkm.AltForm == 2: // Moon Necrozma
|
||||
r.Add(714);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (Tutor)
|
||||
{
|
||||
|
|
@ -2202,10 +2210,10 @@ internal static IEnumerable<int> GetTutorMoves(PKM pkm, int species, int form, b
|
|||
}
|
||||
return moves.Distinct();
|
||||
|
||||
IEnumerable<int> GetTutors(PersonalTable t, IReadOnlyList<int[]> tutors)
|
||||
IEnumerable<int> GetTutors(PersonalTable t, params int[][] tutors)
|
||||
{
|
||||
var pi = t.GetFormeEntry(species, form);
|
||||
for (int i = 0; i < tutors.Count; i++)
|
||||
for (int i = 0; i < tutors.Length; i++)
|
||||
for (int b = 0; b < tutors[i].Length; b++)
|
||||
if (pi.SpecialTutors[i][b])
|
||||
yield return tutors[i][b];
|
||||
|
|
|
|||
|
|
@ -31,10 +31,14 @@ static Encounters7()
|
|||
|
||||
var REG_US = GetEncounterTables(GameVersion.US);
|
||||
var REG_UM = GetEncounterTables(GameVersion.UM);
|
||||
var SOS_US = GetEncounterTables("uu", "us_sos");
|
||||
var SOS_UM = GetEncounterTables("uu", "um_sos");
|
||||
MarkG7REGSlots(ref REG_US);
|
||||
MarkG7REGSlots(ref REG_UM);
|
||||
SlotsUS = AddExtraTableSlots(REG_US);
|
||||
SlotsUM = AddExtraTableSlots(REG_UM);
|
||||
MarkG7SMSlots(ref SOS_US);
|
||||
MarkG7SMSlots(ref SOS_UM);
|
||||
SlotsUS = AddExtraTableSlots(REG_US, SOS_US, Encounter_Pelago_SM, Encounter_Pelago_SN);
|
||||
SlotsUM = AddExtraTableSlots(REG_UM, SOS_UM, Encounter_Pelago_SM, Encounter_Pelago_MN);
|
||||
}
|
||||
private static void MarkG7REGSlots(ref EncounterArea[] Areas)
|
||||
{
|
||||
|
|
@ -67,8 +71,8 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas)
|
|||
new EncounterStatic { Gift = true, Species = 133, Level = 1, EggLocation = 60002, }, // Eevee @ Nursery helpers
|
||||
new EncounterStatic { Gift = true, Species = 137, Level = 30, Location = 116, }, // Porygon @ Route 15
|
||||
new EncounterStatic { Gift = true, Species = 772, Level = 40, Location = 188, IV3 = true, }, // Type: Null
|
||||
new EncounterStatic { Gift = true, Species = 789, Level = 5, Location = 142, Shiny = false, IV3 = true, Version = GameVersion.SN}, // Cosmog 00 FF
|
||||
new EncounterStatic { Gift = true, Species = 789, Level = 5, Location = 144, Shiny = false, IV3 = true, Version = GameVersion.MN}, // Cosmog 00 FF
|
||||
new EncounterStatic { Gift = true, Species = 789, Level = 5, Location = 142, Shiny = false, Ability = 2, IV3 = true, Version = GameVersion.SN }, // Cosmog
|
||||
new EncounterStatic { Gift = true, Species = 789, Level = 5, Location = 144, Shiny = false, Ability = 2, IV3 = true, Version = GameVersion.MN }, // Cosmog
|
||||
new EncounterStatic { Gift = true, Species = 142, Level = 40, Location = 172, }, // Aerodactyl @ Seafolk Village
|
||||
|
||||
new EncounterStatic { Gift = true, Species = 718, Form = 0, Level = 30, Shiny = false, Location = 118, IV3 = true, }, // Zygarde
|
||||
|
|
@ -83,7 +87,7 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas)
|
|||
|
||||
new EncounterStatic // Magearna (Bottle Cap) 00 FF
|
||||
{
|
||||
Gift = true, Species = 801, Level = 50, Location = 40001, Shiny = false, IV3 = true,
|
||||
Gift = true, Species = 801, Level = 50, Location = 40001, Shiny = false, IV3 = true, HeldItem = 795, Ability = 2,
|
||||
Fateful = true, RibbonWishing = true, Relearn = new [] {705, 430, 381, 270}, Ball = 0x10, // Cherish
|
||||
},
|
||||
|
||||
|
|
@ -164,11 +168,209 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas)
|
|||
};
|
||||
private static readonly EncounterStatic[] Encounter_USUM =
|
||||
{
|
||||
new EncounterStatic { Gift = true, Species = 722, Level = 05, Location = 8, }, // Rowlet
|
||||
new EncounterStatic { Gift = true, Species = 725, Level = 05, Location = 8, }, // Litten
|
||||
new EncounterStatic { Gift = true, Species = 728, Level = 05, Location = 8, }, // Popplio
|
||||
new EncounterStatic { Gift = true, Species = 138, Level = 15, Location = 58, }, // Omanyte
|
||||
new EncounterStatic { Gift = true, Species = 140, Level = 15, Location = 58, }, // Kabuto
|
||||
new EncounterStatic { Gift = true, Species = 142, Level = 15, Location = 58, }, // Aerodactyl
|
||||
new EncounterStatic { Gift = true, Species = 345, Level = 15, Location = 58, }, // Lileep
|
||||
new EncounterStatic { Gift = true, Species = 347, Level = 15, Location = 58, }, // Anorith
|
||||
new EncounterStatic { Gift = true, Species = 408, Level = 15, Location = 58, }, // Cranidos
|
||||
new EncounterStatic { Gift = true, Species = 410, Level = 15, Location = 58, }, // Shieldon
|
||||
new EncounterStatic { Gift = true, Species = 564, Level = 15, Location = 58, }, // Tirtouga
|
||||
new EncounterStatic { Gift = true, Species = 566, Level = 15, Location = 58, }, // Archen
|
||||
new EncounterStatic { Gift = true, Species = 696, Level = 15, Location = 58, }, // Tyrunt
|
||||
new EncounterStatic { Gift = true, Species = 698, Level = 15, Location = 58, }, // Amaura
|
||||
new EncounterStatic { Gift = true, Species = 133, Level = 01, EggLocation = 60002, }, // Eevee @ Nursery helpers
|
||||
new EncounterStatic { Gift = true, Species = 137, Level = 30, Location = 116, }, // Porygon @ Route 15
|
||||
new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = 188, IV3 = true, }, // Type: Null @ Aether Paradise
|
||||
new EncounterStatic { Gift = true, Species = 772, Level = 60, Location = 160, IV3 = true, }, // Type: Null @ Ancient Poni Path
|
||||
new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = 142, IV3 = true, Shiny = false, Ability = 2, Version = GameVersion.US }, // Cosmog @ Lake of the Sunne
|
||||
new EncounterStatic { Gift = true, Species = 789, Level = 05, Location = 144, IV3 = true, Shiny = false, Ability = 2, Version = GameVersion.UM }, // Cosmog @ Lake of the Moone
|
||||
new EncounterStatic { Gift = true, Species = 142, Level = 40, Location = 172, }, // Aerodactyl @ Seafolk Village
|
||||
new EncounterStatic { Gift = true, Species = 025, Level = 40, Location = 070, IV3 = true, HeldItem = 796, Relearn = new[] {57,0,0,0} }, // Pikachu @ Heahea City
|
||||
new EncounterStatic { Gift = true, Species = 803, Level = 40, Location = 208, IV3 = true,}, // Poipole @ Megalo Tower
|
||||
new EncounterStatic { Gift = true, Species = 803, Level = 40, Location = 206, IV3 = true,}, // Poipole @ Ultra Megalopolis
|
||||
|
||||
// Totem-Sized Gifts @ Heahea Beach
|
||||
new EncounterStatic { Gift = true, Species = 735, Level = 20, Ability = 4, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.US }, // Gumshoos
|
||||
new EncounterStatic { Gift = true, Species = 020, Level = 20, Ability = 4, Location = 202, Form = 2, Shiny = false, IV3 = true, Version = GameVersion.UM }, // Raticate
|
||||
new EncounterStatic { Gift = true, Species = 105, Level = 25, Ability = 4, Location = 202, Form = 2, Shiny = false, IV3 = true, Version = GameVersion.US }, // Marowak
|
||||
new EncounterStatic { Gift = true, Species = 752, Level = 25, Ability = 1, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.UM }, // Araquanid
|
||||
new EncounterStatic { Gift = true, Species = 754, Level = 30, Ability = 2, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.US }, // Lurantis
|
||||
new EncounterStatic { Gift = true, Species = 758, Level = 30, Ability = 1, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.UM }, // Salazzle
|
||||
new EncounterStatic { Gift = true, Species = 738, Level = 35, Ability = 1, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.US }, // Vikavolt
|
||||
new EncounterStatic { Gift = true, Species = 777, Level = 35, Ability = 4, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.UM }, // Togedemaru
|
||||
new EncounterStatic { Gift = true, Species = 778, Level = 40, Ability = 1, Location = 202, Form = 2, Shiny = false, IV3 = true, }, // Mimikyu
|
||||
new EncounterStatic { Gift = true, Species = 743, Level = 50, Ability = 4, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.US }, // Ribombee
|
||||
new EncounterStatic { Gift = true, Species = 784, Level = 50, Ability = 4, Location = 202, Form = 1, Shiny = false, IV3 = true, Version = GameVersion.UM }, // Kommo-o
|
||||
|
||||
new EncounterStatic { Gift = true, Species = 718, Level = 63, Ability = 1, Location = 118, Form = 1, Shiny = false, IV3 = true, }, // Zygarde @ Route 16
|
||||
|
||||
new EncounterStatic // Magearna (Bottle Cap)
|
||||
{
|
||||
Gift = true, Species = 801, Level = 50, Location = 40001, Shiny = false, IV3 = true, HeldItem = 795, Ability = 2,
|
||||
Fateful = true, RibbonWishing = true, Relearn = new [] {705, 430, 381, 270}, Ball = 0x10, // Cherish
|
||||
},
|
||||
new EncounterStatic // Pikachu (Pretty Wing), should probably be a fake mystery gift as it has OT details
|
||||
{
|
||||
Gift = true, Species = 25, Level = 21, Location = 40005, Shiny = false, Form = 7, HeldItem = 571, Ability = 1,
|
||||
Fateful = true, RibbonWishing = true, Relearn = new[] {85, 98, 87, 231}, Nature = Nature.Hardy,
|
||||
},
|
||||
|
||||
new EncounterStatic { Gift = true, Species = 718, Form = 0, Level = 50, Shiny = false, Location = 118, IV3 = true, }, // Zygarde
|
||||
new EncounterStatic { Gift = true, Species = 718, Form = 1, Level = 50, Shiny = false, Location = 118, IV3 = true, }, // Zygarde
|
||||
new EncounterStatic { Gift = true, Species = 718, Form = 2, Level = 50, Shiny = false, Location = 118, IV3 = true, }, // Zygarde
|
||||
new EncounterStatic { Gift = true, Species = 718, Form = 3, Level = 50, Shiny = false, Location = 118, IV3 = true, }, // Zygarde
|
||||
|
||||
new EncounterStatic { Species = 791, Level = 60, Location = 028, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {713,322,242,428}, Version = GameVersion.US }, // Solgaleo @ Mahalo Trail (Plank Bridge)
|
||||
new EncounterStatic { Species = 792, Level = 60, Location = 028, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {714,322,539,585}, Version = GameVersion.UM }, // Lunala @ Mahalo Trail (Plank Bridge)
|
||||
|
||||
// QR Scan: Su/M/Tu/W/Th/F/Sa
|
||||
// Melemele Island
|
||||
new EncounterStatic { Species = 004, Level = 12, Location = 010, Relearn = new[] {068,108,052,010}, }, // Charmander @ Route 3
|
||||
new EncounterStatic { Species = 007, Level = 12, Location = 042, Relearn = new[] {453,110,055,033}, }, // Squirtle @ Seaward Cave
|
||||
new EncounterStatic { Species = 095, Level = 14, Location = 034, Relearn = new[] {563,099,317,088}, }, // Onix @ Ten Carat Hill
|
||||
new EncounterStatic { Species = 116, Level = 18, Location = 014, Relearn = new[] {352,239,055,043}, }, // Horsea @ Kala'e Bay
|
||||
new EncounterStatic { Species = 664, Level = 09, Location = 020, Relearn = new[] {476,081,078,033}, }, // Scatterbug @ Hau'oli City
|
||||
new EncounterStatic { Species = 001, Level = 10, Location = 012, Relearn = new[] {580,022,045,033}, }, // Bulbasaur @ Route 2
|
||||
new EncounterStatic { Species = 607, Level = 09, Location = 038, Relearn = new[] {203,052,083,123}, }, // Litwick @ Hau'oli Cemetery
|
||||
|
||||
// Akala Island
|
||||
new EncounterStatic { Species = 280, Level = 17, Location = 054, Relearn = new[] {581,345,381,574}, }, // Ralts @ Route 6
|
||||
new EncounterStatic { Species = 363, Level = 19, Location = 056, Relearn = new[] {187,362,301,227}, }, // Spheal @ Route 7
|
||||
new EncounterStatic { Species = 256, Level = 20, Location = 058, Relearn = new[] {067,488,064,028}, }, // Combusken @ Route 8
|
||||
new EncounterStatic { Species = 679, Level = 24, Location = 094, Relearn = new[] {469,332,425,475}, }, // Honedge @ Akala Outskirts
|
||||
new EncounterStatic { Species = 015, Level = 14, Location = 050, Relearn = new[] {099,031,041,000}, }, // Beedrill @ Route 4
|
||||
new EncounterStatic { Species = 253, Level = 16, Location = 052, Relearn = new[] {580,072,098,071}, }, // Grovyle @ Route 5
|
||||
new EncounterStatic { Species = 259, Level = 17, Location = 086, Relearn = new[] {068,193,189,055}, }, // Marshtomp @ Brooklet Hill
|
||||
|
||||
// Ula'ula Island
|
||||
new EncounterStatic { Species = 111, Level = 32, Location = 138, Relearn = new[] {470,350,498,523}, }, // Rhyhorn @ Blush Mountain
|
||||
new EncounterStatic { Species = 220, Level = 33, Location = 114, Relearn = new[] {333,036,420,196}, }, // Swinub @ Tapu Village
|
||||
new EncounterStatic { Species = 394, Level = 35, Location = 118, Relearn = new[] {681,362,031,117}, }, // Prinplup @ Route 16
|
||||
new EncounterStatic { Species = 388, Level = 36, Location = 128, Relearn = new[] {484,073,072,044}, }, // Grotle @ Ula'ula Meadow
|
||||
new EncounterStatic { Species = 018, Level = 29, Location = 106, Relearn = new[] {211,297,239,098}, }, // Pidgeot @ Route 10
|
||||
new EncounterStatic { Species = 391, Level = 29, Location = 108, Relearn = new[] {612,172,154,259}, }, // Monferno @ Route 11
|
||||
new EncounterStatic { Species = 610, Level = 30, Location = 136, Relearn = new[] {068,337,206,163}, }, // Axew @ Mount Hokulani
|
||||
|
||||
// Poni Island
|
||||
new EncounterStatic { Species = 604, Level = 55, Location = 164, Relearn = new[] {242,435,029,306}, }, // Eelektross @ Poni Grove
|
||||
new EncounterStatic { Species = 306, Level = 57, Location = 166, Relearn = new[] {179,484,038,334}, }, // Aggron @ Poni Plains
|
||||
new EncounterStatic { Species = 479, Level = 61, Location = 170, Relearn = new[] {268,506,486,164}, }, // Rotom @ Poni Gauntlet
|
||||
new EncounterStatic { Species = 542, Level = 57, Location = 156, Relearn = new[] {580,437,014,494}, }, // Leavanny @ Poni Meadow
|
||||
new EncounterStatic { Species = 652, Level = 45, Location = 184, Relearn = new[] {191,341,402,596}, }, // Chesnaught @ Exeggutor Island
|
||||
new EncounterStatic { Species = 658, Level = 44, Location = 158, Relearn = new[] {516,164,185,594}, }, // Greninja @ Poni Wilds
|
||||
new EncounterStatic { Species = 655, Level = 44, Location = 160, Relearn = new[] {273,473,113,595}, }, // Delphox @ Ancient Poni Path
|
||||
|
||||
new EncounterStatic { Species = 785, Level = 60, Location = 030, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Koko @ Ruins of Conflict
|
||||
new EncounterStatic { Species = 786, Level = 60, Location = 092, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Lele @ Ruins of Life
|
||||
new EncounterStatic { Species = 787, Level = 60, Location = 140, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Bulu @ Ruins of Abundance
|
||||
new EncounterStatic { Species = 788, Level = 60, Location = 180, Ability = 1, Shiny = false, IV3 = true, }, // Tapu Fini @ Ruins of Hope
|
||||
|
||||
new EncounterStatic { Species = 023, Level = 10, Location = 012, Ability = 1, }, // Ekans @ Route 2
|
||||
|
||||
new EncounterStatic { Species = 736, Level = 04, Location = 008, Ability = 1, Shiny = false, }, // Grubbin @ Route 1
|
||||
new EncounterStatic { Species = 127, Level = 42, Location = 184, Shiny = false, }, // Pinsir @ Exeggutor Island
|
||||
new EncounterStatic { Species = 127, Level = 43, Location = 184, Shiny = false, }, // Pinsir @ Exeggutor Island
|
||||
new EncounterStatic { Species = 800, Level = 65, Location = 146, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {722,334,408,400}, HeldItem = 923, }, // Necrozma @ Mount Lanakila
|
||||
|
||||
// Legendaries @ Ultra Space Wilds
|
||||
new EncounterStatic { Species = 144, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {246,573,115,258}, }, // Articuno
|
||||
new EncounterStatic { Species = 145, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {246,435,365,240}, }, // Zapdos
|
||||
new EncounterStatic { Species = 146, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {246,053,403,241}, }, // Moltres
|
||||
new EncounterStatic { Species = 150, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {094,105,129,427}, }, // Mewtwo
|
||||
new EncounterStatic { Species = 243, Level = 60, Location = 222, Ability = 1, IV3 = true, Version = GameVersion.US }, // Raikou
|
||||
new EncounterStatic { Species = 244, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {023,044,207,436}, Version = GameVersion.UM }, // Entei
|
||||
new EncounterStatic { Species = 245, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {061,062,054,240}, }, // Suicune
|
||||
new EncounterStatic { Species = 249, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {285,177,326,246}, Version = GameVersion.UM }, // Lugia
|
||||
new EncounterStatic { Species = 250, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {682,221,326,246}, HeldItem = 044, Version = GameVersion.US }, // Ho-Oh
|
||||
new EncounterStatic { Species = 377, Level = 60, Location = 222, Ability = 1, IV3 = true, }, // Regirock
|
||||
new EncounterStatic { Species = 378, Level = 60, Location = 222, Ability = 1, IV3 = true, }, // Regice
|
||||
new EncounterStatic { Species = 379, Level = 60, Location = 222, Ability = 1, IV3 = true, }, // Registeel
|
||||
new EncounterStatic { Species = 380, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {296,406,375,273}, Gender = 1, Version = GameVersion.UM }, // Latias
|
||||
new EncounterStatic { Species = 381, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {295,406,375,225}, Gender = 0, Version = GameVersion.US }, // Latios
|
||||
new EncounterStatic { Species = 382, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {058,618,347,330}, Version = GameVersion.UM }, // Kyogre
|
||||
new EncounterStatic { Species = 383, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {089,619,339,076}, Version = GameVersion.US }, // Groudon
|
||||
new EncounterStatic { Species = 384, Level = 60, Location = 222, Ability = 1, IV3 = true, }, // Rayquaza
|
||||
new EncounterStatic { Species = 480, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {326,281,133,129}, }, // Uxie
|
||||
new EncounterStatic { Species = 481, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {326,204,248,129}, }, // Mesprit
|
||||
new EncounterStatic { Species = 482, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {326,417,253,129}, }, // Azelf
|
||||
new EncounterStatic { Species = 483, Level = 60, Location = 222, Ability = 1, IV3 = true, Version = GameVersion.US }, // Dialga
|
||||
new EncounterStatic { Species = 484, Level = 60, Location = 222, Ability = 1, IV3 = true, Version = GameVersion.UM }, // Palkia
|
||||
new EncounterStatic { Species = 485, Level = 60, Location = 222, Ability = 1, IV3 = true, Version = GameVersion.US }, // Heatran
|
||||
new EncounterStatic { Species = 486, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {428,279,146,109}, Version = GameVersion.UM }, // Regigigas
|
||||
new EncounterStatic { Species = 487, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {467,396,414,337}, }, // Giratina
|
||||
new EncounterStatic { Species = 488, Level = 60, Location = 222, Ability = 1, IV3 = true, Gender = 1, }, // Cresselia
|
||||
new EncounterStatic { Species = 638, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {533,014,098,442}, }, // Cobalion
|
||||
new EncounterStatic { Species = 639, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {533,014,157,444}, }, // Terrakion
|
||||
new EncounterStatic { Species = 640, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {533,014,202,348}, }, // Virizion
|
||||
new EncounterStatic { Species = 641, Level = 60, Location = 222, Ability = 1, IV3 = true, Gender = 0, Version = GameVersion.US }, // Tornadus
|
||||
new EncounterStatic { Species = 642, Level = 60, Location = 222, Ability = 1, IV3 = true, Gender = 0, Version = GameVersion.UM }, // Thundurus
|
||||
new EncounterStatic { Species = 643, Level = 60, Location = 222, Ability = 1, IV3 = true, Version = GameVersion.US }, // Reshiram
|
||||
new EncounterStatic { Species = 644, Level = 60, Location = 222, Ability = 1, IV3 = true, Version = GameVersion.UM }, // Zekrom
|
||||
new EncounterStatic { Species = 645, Level = 60, Location = 222, Ability = 1, IV3 = true, Gender = 0, }, // Landorus
|
||||
new EncounterStatic { Species = 646, Level = 60, Location = 222, Ability = 1, IV3 = true, }, // Kyurem
|
||||
new EncounterStatic { Species = 716, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {601,532,400,585}, Version = GameVersion.US }, // Xerneas
|
||||
new EncounterStatic { Species = 717, Level = 60, Location = 222, Ability = 1, IV3 = true, Relearn = new[] {613,399,566,094}, Version = GameVersion.UM }, // Yveltal
|
||||
|
||||
new EncounterStatic { Species = 334, Level = 60, Location = 222, IV3 = true, }, // Altaria @ Ultra Space Wilds
|
||||
new EncounterStatic { Species = 469, Level = 60, Location = 222, IV3 = true, }, // Yanmega @ Ultra Space Wilds
|
||||
new EncounterStatic { Species = 561, Level = 60, Location = 222, IV3 = true, }, // Sigilyph @ Ultra Space Wilds
|
||||
new EncounterStatic { Species = 581, Level = 60, Location = 222, IV3 = true, }, // Swanna @ Ultra Space Wilds
|
||||
new EncounterStatic { Species = 277, Level = 60, Location = 222, IV3 = true, }, // Swellow @ Ultra Space Wilds
|
||||
new EncounterStatic { Species = 452, Level = 60, Location = 222, IV3 = true, }, // Drapion @ Ultra Space Wilds
|
||||
new EncounterStatic { Species = 531, Level = 60, Location = 222, IV3 = true, }, // Audino @ Ultra Space Wilds
|
||||
new EncounterStatic { Species = 695, Level = 60, Location = 222, IV3 = true, }, // Heliolisk @ Ultra Space Wilds
|
||||
new EncounterStatic { Species = 274, Level = 60, Location = 222, IV3 = true, }, // Nuzleaf @ Ultra Space Wilds
|
||||
new EncounterStatic { Species = 326, Level = 60, Location = 222, IV3 = true, }, // Grumpig @ Ultra Space Wilds
|
||||
new EncounterStatic { Species = 460, Level = 60, Location = 222, IV3 = true, }, // Abomasnow @ Ultra Space Wilds
|
||||
new EncounterStatic { Species = 308, Level = 60, Location = 222, IV3 = true, }, // Medicham @ Ultra Space Wilds
|
||||
new EncounterStatic { Species = 450, Level = 60, Location = 222, IV3 = true, }, // Hippowdon @ Ultra Space Wilds
|
||||
new EncounterStatic { Species = 558, Level = 60, Location = 222, IV3 = true, }, // Crustle @ Ultra Space Wilds
|
||||
new EncounterStatic { Species = 219, Level = 60, Location = 222, IV3 = true, }, // Magcargo @ Ultra Space Wilds
|
||||
new EncounterStatic { Species = 689, Level = 60, Location = 222, IV3 = true, }, // Barbaracle @ Ultra Space Wilds
|
||||
new EncounterStatic { Species = 271, Level = 60, Location = 222, IV3 = true, }, // Lombre @ Ultra Space Wilds
|
||||
new EncounterStatic { Species = 618, Level = 60, Location = 222, IV3 = true, }, // Stunfisk @ Ultra Space Wilds
|
||||
new EncounterStatic { Species = 419, Level = 60, Location = 222, IV3 = true, }, // Floatzel @ Ultra Space Wilds
|
||||
new EncounterStatic { Species = 195, Level = 60, Location = 222, IV3 = true, }, // Quagsire @ Ultra Space Wilds
|
||||
|
||||
new EncounterStatic { Species = 793, Level = 60, Location = 190, Ability = 1, IV3 = true, Relearn = new[] {408,491,446,243}, }, // Nihilego @ Ultra Deep Sea
|
||||
new EncounterStatic { Species = 794, Level = 60, Location = 218, Ability = 1, IV3 = true, Version = GameVersion.US }, // Buzzwole @ Ultra Jungle
|
||||
new EncounterStatic { Species = 795, Level = 60, Location = 214, Ability = 1, IV3 = true, Version = GameVersion.UM }, // Pheromosa @ Ultra Desert
|
||||
new EncounterStatic { Species = 796, Level = 60, Location = 210, Ability = 1, IV3 = true, }, // Xurkitree @ Ultra Plant
|
||||
new EncounterStatic { Species = 797, Level = 60, Location = 212, Ability = 1, IV3 = true, Version = GameVersion.UM }, // Celesteela @ Ultra Crater
|
||||
new EncounterStatic { Species = 798, Level = 60, Location = 216, Ability = 1, IV3 = true, Version = GameVersion.US }, // Kartana @ Ultra Forest
|
||||
new EncounterStatic { Species = 799, Level = 60, Location = 220, Ability = 1, IV3 = true, }, // Guzzlord @ Ultra Ruin
|
||||
new EncounterStatic { Species = 760, Level = 28, Location = -01, Shiny = false, }, // Bewear @ ???
|
||||
new EncounterStatic { Species = 097, Level = 29, Location = 020, Shiny = false, Relearn = new[] {095,171,139,029}, }, // Hypno @ Hau'oli City Police Station
|
||||
new EncounterStatic { Species = 097, Level = 29, Location = 020, Shiny = false, Relearn = new[] {417,060,050,139}, }, // Hypno @ Hau'oli City Police Station
|
||||
new EncounterStatic { Species = 097, Level = 29, Location = 020, Shiny = false, Relearn = new[] {093,050,001,096}, }, // Hypno @ Hau'oli City Police Station
|
||||
new EncounterStatic { Species = 092, Level = 19, Location = 230, Shiny = false, Relearn = new[] {174,109,122,101}, }, // Gastly @ Route 1 (Trainers’ School)
|
||||
new EncounterStatic { Species = 425, Level = 19, Location = 230, Shiny = false, Relearn = new[] {310,132,016,371}, }, // Drifloon @ Route 1 (Trainers’ School)
|
||||
new EncounterStatic { Species = 769, Level = 30, Location = 116, Shiny = false, Relearn = new[] {310,523,072,328}, }, // Sandygast @ Route 15
|
||||
new EncounterStatic { Species = 592, Level = 34, Location = 126, Shiny = false, Gender = 1, }, // Frillish @ Route 14
|
||||
new EncounterStatic { Species = 132, Level = 29, Location = 060, IVs = new[] {-1,-1,31,30,-1,00}, Nature = Nature.Bold }, // Ditto @ Route 9
|
||||
new EncounterStatic { Species = 132, Level = 29, Location = 072, IVs = new[] {-1,-1,30,30,-1,31}, Nature = Nature.Jolly }, // Ditto @ Konikoni City
|
||||
new EncounterStatic { Species = 132, Level = 29, Location = 072, IVs = new[] {-1,31,30,-1,-1,30}, Nature = Nature.Adamant }, // Ditto @ Konikoni City
|
||||
new EncounterStatic { Species = 132, Level = 29, Location = 072, IVs = new[] {-1,00,-1,31,30,-1}, Nature = Nature.Modest }, // Ditto @ Konikoni City
|
||||
new EncounterStatic { Species = 132, Level = 29, Location = 072, IVs = new[] {-1,30,-1,-1,30,31}, Nature = Nature.Timid }, // Ditto @ Konikoni City
|
||||
new EncounterStatic { Species = 718, Level = 60, Location = 182, Ability = 1, Shiny = false, IV3 = true, Relearn = new[] {616,137,219,225}, }, // Zygarde @ Resolution Cave
|
||||
new EncounterStatic { Species = 805, Level = 60, Location = 164, Ability = 1, IV3 = true, Version = GameVersion.UM }, // Stakataka @ Poni Grove
|
||||
new EncounterStatic { Species = 806, Level = 60, Location = 164, Ability = 1, IV3 = true, Version = GameVersion.US }, // Blacephalon @ Poni Grove
|
||||
new EncounterStatic { Species = 101, Level = 60, Location = 224, Ability = 1, Shiny = false, }, // Electrode @ Team Rocket's Castle
|
||||
};
|
||||
internal static readonly EncounterTrade[] TradeGift_USUM =
|
||||
{
|
||||
|
||||
// Trades - 4.bin
|
||||
new EncounterTrade { Species = 701, Form = 0, Level = 08, Ability = 2, TID = 00410, SID = 00000, IVs = new[] {-1,31,-1,-1,-1,-1}, OTGender = 1, Gender = 0, Nature = Nature.Brave, }, // Hawlucha
|
||||
new EncounterTrade { Species = 714, Form = 0, Level = 19, Ability = 1, TID = 20683, SID = 00009, IVs = new[] {-1,-1,-1,-1,31,-1}, OTGender = 0, Gender = 1, Nature = Nature.Modest, }, // Noibat
|
||||
new EncounterTrade { Species = 339, Form = 0, Level = 21, Ability = 2, TID = 01092, SID = 00009, IVs = new[] {31,-1,-1,-1,-1,-1}, OTGender = 0, Gender = 1, Nature = Nature.Naughty, }, // Barboach
|
||||
new EncounterTrade { Species = 024, Form = 0, Level = 22, Ability = 1, TID = 10913, SID = 00000, IVs = new[] {-1,-1,31,-1,-1,-1}, OTGender = 1, Gender = 1, Nature = Nature.Impish, }, // Arbok
|
||||
new EncounterTrade { Species = 708, Form = 0, Level = 33, Ability = 1, TID = 20778, SID = 00009, IVs = new[] {-1,-1,-1,-1,-1,31}, OTGender = 0, Gender = 0, Nature = Nature.Calm, EvolveOnTrade = true }, // Phantump
|
||||
new EncounterTrade { Species = 422, Form = 0, Level = 44, Ability = 2, TID = 20679, SID = 00009, IVs = new[] {-1,-1,31,-1,-1,-1}, OTGender = 1, Gender = 1, Nature = Nature.Quiet, }, // Shellos
|
||||
new EncounterTrade { Species = 128, Form = 0, Level = 59, Ability = 1, TID = 56734, SID = 00008, IVs = new[] {-1,-1,-1,31,-1,-1}, OTGender = 0, Gender = 0, Nature = Nature.Jolly, }, // Tauros
|
||||
};
|
||||
internal static readonly string[][] TradeSM =
|
||||
{
|
||||
|
|
@ -186,7 +388,17 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas)
|
|||
};
|
||||
internal static readonly string[][] TradeUSUM =
|
||||
{
|
||||
// todo
|
||||
new string[0], // 0 - None
|
||||
Util.GetStringList("tradeusum", "ja"), // 1
|
||||
Util.GetStringList("tradeusum", "en"), // 2
|
||||
Util.GetStringList("tradeusum", "fr"), // 3
|
||||
Util.GetStringList("tradeusum", "it"), // 4
|
||||
Util.GetStringList("tradeusum", "de"), // 5
|
||||
new string[0], // 6 - None
|
||||
Util.GetStringList("tradeusum", "es"), // 7
|
||||
Util.GetStringList("tradeusum", "ko"), // 8
|
||||
Util.GetStringList("tradeusum", "zh"), // 9
|
||||
Util.GetStringList("tradeusum", "zh"), // 10
|
||||
};
|
||||
|
||||
private static readonly EncounterArea[] Encounter_Pelago_SM =
|
||||
|
|
|
|||
|
|
@ -572,69 +572,90 @@ private static IEnumerable<EncounterSlot> GetValidEncounterSlots(PKM pkm, Encoun
|
|||
if (lvl < 0)
|
||||
lvl = GetMinLevelEncounter(pkm);
|
||||
if (lvl <= 0)
|
||||
yield break;
|
||||
|
||||
int gen = pkm.GenNumber;
|
||||
int fluteBoost = gen < 3 ? 0 : 4;
|
||||
const int dexnavBoost = 30;
|
||||
|
||||
int df = DexNav ? fluteBoost : 0;
|
||||
int dn = DexNav ? fluteBoost + dexnavBoost : 0;
|
||||
return Enumerable.Empty<EncounterSlot>();
|
||||
|
||||
var maxspeciesorigin = -1;
|
||||
if (gameSource == GameVersion.RBY) maxspeciesorigin = MaxSpeciesID_1;
|
||||
else if (GameVersion.GSC.Contains(gameSource)) maxspeciesorigin = MaxSpeciesID_2;
|
||||
|
||||
// Get Valid levels
|
||||
IEnumerable<DexLevel> vs = GetValidPreEvolutions(pkm, maxspeciesorigin: maxspeciesorigin, lvl: ignoreLevel ? 100 : -1, skipChecks: ignoreLevel);
|
||||
var vs = GetValidPreEvolutions(pkm, maxspeciesorigin: maxspeciesorigin, lvl: ignoreLevel ? 100 : -1, skipChecks: ignoreLevel);
|
||||
if (!FilterGBSlotsCatchRate(pkm, ref vs, out GameVersion Gen1Version, out bool RBDragonair))
|
||||
yield break;
|
||||
return Enumerable.Empty<EncounterSlot>();
|
||||
|
||||
int gen = pkm.GenNumber;
|
||||
int fluteBoost = gen < 3 ? 0 : 4;
|
||||
const int dexnavBoost = 30;
|
||||
int df = DexNav ? fluteBoost : 0;
|
||||
int dn = DexNav ? fluteBoost + dexnavBoost : 0;
|
||||
|
||||
// Get slots where pokemon can exist with respect to the evolution chain
|
||||
IEnumerable<EncounterSlot> slots = loc.Slots.Where(slot => vs.Any(evo => evo.Species == slot.Species && (ignoreLevel || evo.Level >= slot.LevelMin - df)));
|
||||
|
||||
List<EncounterSlot> encounterSlots;
|
||||
if (ignoreLevel)
|
||||
encounterSlots = slots.ToList();
|
||||
else if (pkm.HasOriginalMetLocation)
|
||||
encounterSlots = slots.Where(slot => slot.LevelMin - df <= lvl && lvl <= slot.LevelMax + (slot.Permissions.AllowDexNav ? dn : df)).ToList();
|
||||
else // check for any less than current level
|
||||
encounterSlots = slots.Where(slot => slot.LevelMin <= lvl).ToList();
|
||||
var slots = loc.Slots.Where(slot => vs.Any(evo => evo.Species == slot.Species && (ignoreLevel || evo.Level >= slot.LevelMin - df)));
|
||||
// Get slots where pokemon can exist with respect to level constraints
|
||||
var encounterSlots = GetSlotsFilterByLevel(pkm, lvl, ignoreLevel, slots, df, dn);
|
||||
|
||||
// Return enumerable of slots pkm might have originated from
|
||||
if (gen <= 2)
|
||||
{
|
||||
var gbslots = FilterGBSlots(pkm, gen, Gen1Version, encounterSlots, RBDragonair);
|
||||
foreach (var s in gbslots.OrderBy(slot => slot.LevelMin))
|
||||
yield return s;
|
||||
yield break;
|
||||
}
|
||||
return GetFilteredSlots12(pkm, gen, Gen1Version, encounterSlots, RBDragonair).OrderBy(slot => slot.LevelMin); // prefer lowest levels
|
||||
if (gen <= 5)
|
||||
return GetFilteredSlotsByForm(pkm, encounterSlots);
|
||||
if (DexNav && gen == 6)
|
||||
return GetFilteredSlots6DexNav(pkm, lvl, encounterSlots, fluteBoost);
|
||||
return GetFilteredSlots67(pkm, encounterSlots);
|
||||
}
|
||||
private static List<EncounterSlot> GetSlotsFilterByLevel(PKM pkm, int lvl, bool ignoreLevel, IEnumerable<EncounterSlot> slots, int df, int dn)
|
||||
{
|
||||
if (ignoreLevel)
|
||||
return slots.ToList();
|
||||
if (pkm.HasOriginalMetLocation)
|
||||
return slots.Where(slot => slot.LevelMin - df <= lvl && lvl <= slot.LevelMax + (slot.Permissions.AllowDexNav ? dn : df)).ToList();
|
||||
// check for any less than current level
|
||||
return slots.Where(slot => slot.LevelMin <= lvl).ToList();
|
||||
}
|
||||
private static IEnumerable<EncounterSlot> GetFilteredSlotsByForm(PKM pkm, IEnumerable<EncounterSlot> encounterSlots)
|
||||
{
|
||||
return WildForms.Contains(pkm.Species)
|
||||
? encounterSlots.Where(slot => slot.Form == pkm.AltForm)
|
||||
: encounterSlots;
|
||||
}
|
||||
private static IEnumerable<EncounterSlot> GetFilteredSlots67(PKM pkm, IReadOnlyCollection<EncounterSlot> encounterSlots)
|
||||
{
|
||||
IEnumerable<EncounterSlot> slotdata;
|
||||
int species = pkm.Species;
|
||||
int form = pkm.AltForm;
|
||||
|
||||
if (AlolanVariantEvolutions12.Contains(species)) // match form if same species, else form 0.
|
||||
slotdata = encounterSlots.Where(slot => species == slot.Species ? slot.Form == form : slot.Form == 0);
|
||||
else if (WildForms.Contains(species) || AlolanOriginForms.Contains(species)) // match slot form
|
||||
slotdata = encounterSlots.Where(slot => slot.Form == form);
|
||||
else
|
||||
slotdata = encounterSlots; // no form checking
|
||||
|
||||
foreach (var z in slotdata)
|
||||
yield return z;
|
||||
|
||||
// Filter for Form Specific
|
||||
// Pressure Slot
|
||||
EncounterSlot slotMax = encounterSlots.OrderByDescending(slot => slot.LevelMax).FirstOrDefault();
|
||||
if (slotMax == null)
|
||||
yield break; // yield break;
|
||||
|
||||
if (gen >= 6 && !DexNav)
|
||||
if (AlolanVariantEvolutions12.Contains(species)) // match form if same species, else form 0.
|
||||
{
|
||||
var slotdata = WildForms.Contains(pkm.Species)
|
||||
? encounterSlots.Where(slot => slot.Form == pkm.AltForm)
|
||||
: encounterSlots;
|
||||
|
||||
foreach (var z in slotdata)
|
||||
yield return z;
|
||||
|
||||
// Filter for Form Specific
|
||||
if (slotMax != null)
|
||||
yield return getPressureSlot(slotMax);
|
||||
yield break;
|
||||
if (species == slotMax.Species ? slotMax.Form == form : slotMax.Form == 0)
|
||||
yield return GetPressureSlot(slotMax, pkm);
|
||||
}
|
||||
|
||||
IEnumerable<EncounterSlot> formMatchSlots = encounterSlots.Where(slot => !WildForms.Contains(pkm.Species) || slot.Form == pkm.AltForm);
|
||||
if (gen <= 5)
|
||||
else if (WildForms.Contains(species) || AlolanOriginForms.Contains(species)) // match slot form
|
||||
{
|
||||
foreach (var z in formMatchSlots)
|
||||
yield return z;
|
||||
yield break;
|
||||
if (slotMax.Form == form)
|
||||
yield return GetPressureSlot(slotMax, pkm);
|
||||
}
|
||||
|
||||
else
|
||||
yield return GetPressureSlot(slotMax, pkm);
|
||||
}
|
||||
private static IEnumerable<EncounterSlot> GetFilteredSlots6DexNav(PKM pkm, int lvl, IReadOnlyCollection<EncounterSlot> encounterSlots, int fluteBoost)
|
||||
{
|
||||
var formMatchSlots = GetFilteredSlotsByForm(pkm, encounterSlots);
|
||||
foreach (EncounterSlot s in formMatchSlots)
|
||||
{
|
||||
bool nav = s.Permissions.AllowDexNav && (pkm.RelearnMove1 != 0 || pkm.AbilityNumber == 4);
|
||||
|
|
@ -649,17 +670,19 @@ private static IEnumerable<EncounterSlot> GetValidEncounterSlots(PKM pkm, Encoun
|
|||
slot.Permissions.DexNav = true;
|
||||
yield return slot;
|
||||
}
|
||||
// Pressure Slot
|
||||
EncounterSlot slotMax = encounterSlots.OrderByDescending(slot => slot.LevelMax).FirstOrDefault();
|
||||
if (slotMax != null)
|
||||
yield return getPressureSlot(slotMax);
|
||||
|
||||
EncounterSlot getPressureSlot(EncounterSlot s)
|
||||
{
|
||||
var max = s.Clone();
|
||||
max.Permissions.Pressure = true;
|
||||
max.Form = pkm.AltForm;
|
||||
return max;
|
||||
}
|
||||
yield return GetPressureSlot(slotMax, pkm);
|
||||
}
|
||||
private static EncounterSlot GetPressureSlot(EncounterSlot s, PKM pkm)
|
||||
{
|
||||
var max = s.Clone();
|
||||
max.Permissions.Pressure = true;
|
||||
max.Form = pkm.AltForm;
|
||||
return max;
|
||||
}
|
||||
|
||||
private static bool FilterGBSlotsCatchRate(PKM pkm, ref IEnumerable<DexLevel> vs, out GameVersion Gen1Version, out bool RBDragonair)
|
||||
{
|
||||
RBDragonair = false;
|
||||
|
|
@ -710,7 +733,7 @@ private static bool FilterGBSlotsCatchRate(PKM pkm, ref IEnumerable<DexLevel> vs
|
|||
return true;
|
||||
}
|
||||
}
|
||||
private static IEnumerable<EncounterSlot> FilterGBSlots(PKM pkm, int gen, GameVersion Gen1Version, IEnumerable<EncounterSlot> slots, bool RBDragonair)
|
||||
private static IEnumerable<EncounterSlot> GetFilteredSlots12(PKM pkm, int gen, GameVersion Gen1Version, IEnumerable<EncounterSlot> slots, bool RBDragonair)
|
||||
{
|
||||
switch (gen)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -166,21 +166,18 @@ private void FixEvoTreeSM()
|
|||
}
|
||||
Lineage[711].Chain.RemoveRange(0, 3);
|
||||
|
||||
// Add past gen evolutions for other Marowak and Exeggutor
|
||||
var raichu1 = Lineage[Personal.GetFormeIndex(26, 1)];
|
||||
var evo1 = raichu1.Chain[0].StageEntryMethods[0].Copy();
|
||||
Lineage[26].Chain.Add(new EvolutionStage { StageEntryMethods = new List<EvolutionMethod> { evo1 } });
|
||||
var evo2 = raichu1.Chain[1].StageEntryMethods[0].Copy();
|
||||
evo2.Form = -1; evo2.Banlist = EvolutionMethod.BanSM;
|
||||
Lineage[26].Chain.Add(new EvolutionStage { StageEntryMethods = new List<EvolutionMethod> { evo2 } });
|
||||
|
||||
var exegg = Lineage[Personal.GetFormeIndex(103, 1)].Chain[0].StageEntryMethods[0].Copy();
|
||||
exegg.Form = -1; exegg.Banlist = EvolutionMethod.BanSM; exegg.Method = 8; // No night required (doesn't matter)
|
||||
Lineage[103].Chain.Add(new EvolutionStage { StageEntryMethods = new List<EvolutionMethod> { exegg } });
|
||||
|
||||
var marowak = Lineage[Personal.GetFormeIndex(105, 1)].Chain[0].StageEntryMethods[0].Copy();
|
||||
marowak.Form = -1; marowak.Banlist = EvolutionMethod.BanSM;
|
||||
Lineage[105].Chain.Add(new EvolutionStage { StageEntryMethods = new List<EvolutionMethod> { marowak } });
|
||||
// Ban Raichu Evolution on SM
|
||||
Lineage[Personal.GetFormeIndex(26, 0)]
|
||||
.Chain[1].StageEntryMethods[0]
|
||||
.Banlist = EvolutionMethod.BanSM;
|
||||
// Ban Exeggutor Evolution on SM
|
||||
Lineage[Personal.GetFormeIndex(103, 0)]
|
||||
.Chain[0].StageEntryMethods[0]
|
||||
.Banlist = EvolutionMethod.BanSM;
|
||||
// Ban Marowak Evolution on SM
|
||||
Lineage[Personal.GetFormeIndex(105, 0)]
|
||||
.Chain[0].StageEntryMethods[0]
|
||||
.Banlist = EvolutionMethod.BanSM;
|
||||
}
|
||||
|
||||
private int GetIndex(PKM pkm)
|
||||
|
|
@ -549,7 +546,7 @@ public class EvolutionMethod
|
|||
|
||||
internal static readonly HashSet<int> TradeMethods = new HashSet<int> {5, 6, 7};
|
||||
private static readonly IReadOnlyCollection<GameVersion> NoBanlist = new GameVersion[0];
|
||||
internal static readonly IReadOnlyCollection<GameVersion> BanSM = new[] {GameVersion.SN, GameVersion.MN, GameVersion.US, GameVersion.UM};
|
||||
internal static readonly IReadOnlyCollection<GameVersion> BanSM = new[] {GameVersion.SN, GameVersion.MN};
|
||||
internal IReadOnlyCollection<GameVersion> Banlist = NoBanlist;
|
||||
|
||||
public bool Valid(PKM pkm, int lvl, bool skipChecks)
|
||||
|
|
@ -559,12 +556,13 @@ public bool Valid(PKM pkm, int lvl, bool skipChecks)
|
|||
if (!skipChecks && pkm.AltForm != Form)
|
||||
return false;
|
||||
|
||||
if (!skipChecks && Banlist.Contains((GameVersion)pkm.Version))
|
||||
if (!skipChecks && Banlist.Contains((GameVersion)pkm.Version) && pkm.IsUntraded) // sm lacks usum kantonian evos
|
||||
return false;
|
||||
|
||||
switch (Method)
|
||||
{
|
||||
case 8: // Use Item
|
||||
case 42:
|
||||
return true;
|
||||
case 17: // Male
|
||||
return pkm.Gender == 0;
|
||||
|
|
|
|||
|
|
@ -54,6 +54,8 @@ public static partial class Legal
|
|||
720, // Hoopa
|
||||
741, // Oricorio
|
||||
773, // Silvally
|
||||
|
||||
800, // Necrozma
|
||||
};
|
||||
public static readonly HashSet<int> FormChangeMoves = new HashSet<int>
|
||||
{
|
||||
|
|
@ -153,6 +155,12 @@ public static partial class Legal
|
|||
800, // Necrozma
|
||||
801, // Magearna
|
||||
802, // Marshadow
|
||||
|
||||
803, // Poipole
|
||||
804, // Naganadel
|
||||
805, // Stakataka
|
||||
806, // Blacephalon
|
||||
807, // Zeraora
|
||||
};
|
||||
|
||||
public static readonly HashSet<int> BattleFrontierBanlist = new HashSet<int>
|
||||
|
|
@ -195,6 +203,7 @@ public static partial class Legal
|
|||
800, // Necrozma
|
||||
801, // Magearna
|
||||
802, // Marshadow
|
||||
807, // Zeraora
|
||||
};
|
||||
|
||||
public static readonly HashSet<int> BattleForms = new HashSet<int>
|
||||
|
|
@ -223,7 +232,10 @@ public static partial class Legal
|
|||
302,319,323,334,362,373,376,384,
|
||||
428,475,
|
||||
531,
|
||||
719
|
||||
719,
|
||||
|
||||
// USUM
|
||||
800, // Ultra Necrozma
|
||||
};
|
||||
public static readonly HashSet<int> BattlePrimals = new HashSet<int> { 382, 383 };
|
||||
|
||||
|
|
@ -232,6 +244,7 @@ public static partial class Legal
|
|||
622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658,
|
||||
695, 696, 697, 698, 699, 700, 701, 702, 703,
|
||||
719,
|
||||
723, 724, 725, 726, 727, 728
|
||||
};
|
||||
internal static readonly HashSet<int> InvalidSketch = new HashSet<int>(new[] { 165, 448 }.Concat(Z_Moves)); // Struggle & Chatter
|
||||
|
||||
|
|
@ -240,14 +253,14 @@ public static partial class Legal
|
|||
150, 151, 249, 250, 251, 382, 383, 384, 385, 386, 483,
|
||||
484, 487, 489, 490, 491, 492, 493, 494, 643, 644, 646,
|
||||
647, 648, 649, 716, 717, 718, 719, 720, 721, 789, 790,
|
||||
791, 792, 800, 801, 802
|
||||
791, 792, 800, 801, 802, 807
|
||||
};
|
||||
public static readonly HashSet<int> SubLegends = new HashSet<int>
|
||||
{
|
||||
144, 145, 146, 243, 244, 245, 377, 378, 379, 380, 381,
|
||||
480, 481, 482, 485, 486, 488, 638, 639, 640, 641, 642,
|
||||
645, 772, 773, 787, 788, 785, 786, 793, 794, 795, 796,
|
||||
797, 798, 799
|
||||
797, 798, 799, 803, 804, 805, 806,
|
||||
};
|
||||
|
||||
public static readonly int[] Arceus_Plate = {303, 306, 304, 305, 309, 308, 310, 313, 298, 299, 301, 300, 307, 302, 311, 312, 644};
|
||||
|
|
@ -386,6 +399,7 @@ public static partial class Legal
|
|||
public static readonly int[] Games_7vc2 = { 39, 40, 41 }; // Gold, Silver, Crystal
|
||||
public static readonly int[] Games_7vc1 = { 35, 36, 37, 38 }; // Red, Green, Blue, Yellow
|
||||
public static readonly int[] Games_7go = { 34 };
|
||||
public static readonly int[] Games_7usum = { 32, 33 };
|
||||
public static readonly int[] Games_7sm = { 30, 31 };
|
||||
public static readonly int[] Games_6xy = { 24, 25 };
|
||||
public static readonly int[] Games_6oras = { 26, 27 };
|
||||
|
|
|
|||
|
|
@ -12,9 +12,10 @@ public static partial class Legal
|
|||
internal const int MaxBallID_7 = 0x1A; // 26
|
||||
internal const int MaxGameID_7 = 41; // Crystal (VC?)
|
||||
|
||||
internal const int MaxSpeciesID_7_USUM = 802;
|
||||
internal const int MaxMoveID_7_USUM = 720;
|
||||
internal const int MaxItemID_7_USUM = 920;
|
||||
internal const int MaxSpeciesID_7_USUM = 807;
|
||||
internal const int MaxMoveID_7_USUM = 728;
|
||||
internal const int MaxItemID_7_USUM = 959;
|
||||
internal const int MaxAbilityID_7_USUM = 233;
|
||||
|
||||
#region Met Locations
|
||||
|
||||
|
|
@ -26,7 +27,10 @@ public static partial class Legal
|
|||
006, 008, 010, 012, 014, 016, 018, 020, 022, 024, 026, 028, 030, 032, 034, 036, 038, 040, 042, 044, 046, 048,
|
||||
050, 052, 054, 056, 058, 060, 062, 064, 066, 068, 070, 072, 074, 076, 078, 082, 084, 086, 088, 090, 092, 094,
|
||||
100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148,
|
||||
150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192
|
||||
150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192,
|
||||
|
||||
194, 196, 198,
|
||||
200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232,
|
||||
};
|
||||
|
||||
internal static readonly int[] Met_SM_3 =
|
||||
|
|
@ -50,12 +54,14 @@ public static partial class Legal
|
|||
|
||||
#endregion
|
||||
|
||||
internal static readonly int[][] Tutors_USUM =
|
||||
internal static readonly int[] Tutors_USUM =
|
||||
{
|
||||
new int[0], // todo
|
||||
new int[0], // todo
|
||||
new int[0], // todo
|
||||
new int[0], // todo
|
||||
450, 343, 162, 530, 324, 442, 402, 529, 340, 067, 441, 253, 009, 007, 008,
|
||||
277, 335, 414, 492, 356, 393, 334, 387, 276, 527, 196, 401, 428, 406, 304, 231,
|
||||
020, 173, 282, 235, 257, 272, 215, 366, 143, 220, 202, 409, 264, 351, 352,
|
||||
380, 388, 180, 495, 270, 271, 478, 472, 283, 200, 278, 289, 446, 285,
|
||||
|
||||
477, 502, 432, 710, 707, 675, 673
|
||||
};
|
||||
internal static readonly ushort[] Pouch_Regular_SM = // 00
|
||||
{
|
||||
|
|
@ -90,8 +96,12 @@ public static partial class Legal
|
|||
705, 706, 765, 773, 797,
|
||||
841, 842, 843, 845, 847, 850, 857, 858, 860,
|
||||
};
|
||||
internal static readonly ushort[] Pouch_Key_USUM = {
|
||||
// todo
|
||||
internal static readonly ushort[] Pouch_Key_USUM = Pouch_Key_SM.Concat(new ushort[] {
|
||||
933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948,
|
||||
440,
|
||||
}).ToArray();
|
||||
public static readonly ushort[] Pouch_Roto_USUM = {
|
||||
949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959
|
||||
};
|
||||
internal static readonly ushort[] Pouch_TMHM_SM = { // 02
|
||||
328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
|
||||
|
|
@ -117,16 +127,16 @@ public static partial class Legal
|
|||
776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 798, 799, 800, 801, 802, 803, 804, 805, 806, 836
|
||||
};
|
||||
internal static readonly ushort[] Pouch_ZCrystal_USUM = Pouch_ZCrystal_SM.Concat(new ushort[] { // Bead
|
||||
// todo
|
||||
927, 928, 929, 930, 931, 932
|
||||
}).ToArray();
|
||||
internal static readonly ushort[] Pouch_ZCrystalHeld_USUM = Pouch_ZCrystalHeld_SM.Concat(new ushort[] { // Piece
|
||||
// todo
|
||||
921, 922, 923, 924, 925, 926
|
||||
}).ToArray();
|
||||
public static readonly Dictionary<int, int> ZCrystalDictionary = Pouch_ZCrystal_USUM
|
||||
.Zip(Pouch_ZCrystalHeld_USUM, (k, v) => new { Key = (int)k, Value = (int)v })
|
||||
.ToDictionary(x => x.Key, x => x.Value);
|
||||
internal static readonly ushort[] HeldItems_SM = new ushort[1].Concat(Pouch_Items_SM).Concat(Pouch_Berries_SM).Concat(Pouch_Medicine_SM).Concat(Pouch_ZCrystalHeld_SM).ToArray();
|
||||
internal static readonly ushort[] HeldItems_USUM = HeldItems_SM; // todo
|
||||
internal static readonly ushort[] HeldItems_USUM = new ushort[1].Concat(Pouch_Items_SM).Concat(Pouch_Berries_SM).Concat(Pouch_Medicine_SM).Concat(Pouch_ZCrystalHeld_USUM).ToArray();
|
||||
|
||||
private static readonly HashSet<int> WildPokeballs7 = new HashSet<int> {
|
||||
0x01, 0x02, 0x03, 0x04, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
|
||||
|
|
@ -171,7 +181,37 @@ public static partial class Legal
|
|||
422, 423, 425, 426, 429, 430, 438, 440, 443, 444, 445, 446, 447, 448, 456, 457, 461, 462, 466, 467, 470, 471,
|
||||
474, 476, 478, 506, 507, 508, 524, 525, 526, 546, 547, 548, 549, 551, 552, 553, 564, 565, 566, 567, 568, 569,
|
||||
582, 583, 584, 587, 594, 627, 628, 629, 630, 661, 662, 663, 674, 675, 700, 703, 704, 705, 706, 707, 708, 709,
|
||||
718
|
||||
718,
|
||||
|
||||
// Regular
|
||||
023, 086, 108, 138, 140, 163, 177, 179, 190, 204,
|
||||
206, 214, 223, 228, 238, 246, 303, 309, 341, 343,
|
||||
345, 347, 352, 353, 357, 366, 427, 439, 458, 550,
|
||||
559, 570, 572, 592, 605, 619, 621, 622, 624, 636,
|
||||
667, 669, 676, 686, 690, 692, 696, 698, 701, 702,
|
||||
714,
|
||||
|
||||
// Wormhole
|
||||
333, 334, // Altaria
|
||||
193, 469, // Yanmega
|
||||
561, // Sigilyph
|
||||
580, 581, // Swanna
|
||||
276, 277, // Swellow
|
||||
451, 452, // Drapion
|
||||
531, // Audino
|
||||
695, // Heliolisk
|
||||
273, 274, 275, // Nuzleaf
|
||||
325, 326, // Gumpig
|
||||
459, 460, // Abomasnow
|
||||
307, 308, // Medicham
|
||||
449, 450, // Hippowdon
|
||||
557, 558, // Crustle
|
||||
218, 219, // Magcargo
|
||||
688, 689, // Barbaracle
|
||||
270, 271, 272, // Lombre
|
||||
618, // Stunfisk
|
||||
418, 419, // Floatzel
|
||||
194, 195, // Quagsire
|
||||
};
|
||||
public static readonly HashSet<int> PastGenAlolanNativesUncapturable = new HashSet<int>
|
||||
{
|
||||
|
|
@ -212,6 +252,26 @@ public static partial class Legal
|
|||
532, // [534] Conkeldurr (Timburr)
|
||||
540, // [542] Leavanny (Sewaddle)
|
||||
602, // [604] Eelektross (Tynamo)
|
||||
|
||||
004, // Charmander
|
||||
007, // Squirtle
|
||||
095, // Onix
|
||||
663, 664, // Scatterbug
|
||||
001, // Bulbasaur
|
||||
280, // Ralts
|
||||
255, 256, // Combusken
|
||||
013, 014, 015, // Beedrill
|
||||
252, 253, // Grovyle
|
||||
258, 259, // Marshtomp
|
||||
393, 394, // Prinplup
|
||||
387, 388, // Grotle
|
||||
016, 017, 018, // Pidgeot
|
||||
389, 390, 391, // Monferno
|
||||
304, 305, 306, // Aggron
|
||||
479, // Rotom
|
||||
650, 651, 652, // Chesnaught
|
||||
656, 657, 658, // Greninja
|
||||
653, 654, 655, // Delphox
|
||||
};
|
||||
internal static readonly HashSet<int> Inherit_Apricorn6 = new HashSet<int>
|
||||
{
|
||||
|
|
@ -257,7 +317,15 @@ public static partial class Legal
|
|||
731, 734, 736, 739, 741, 742, 744, 746, 747, 749,
|
||||
751, 753, 755, 757, 759, 761, 764, 765, 766, 767,
|
||||
769, 771, 774, 775, 776, 777, 778, 779, 780, 781,
|
||||
782
|
||||
782,
|
||||
|
||||
// USUM Additions
|
||||
023, 086, 108, 138, 140, 163, 177, 179, 190, 204,
|
||||
206, 214, 223, 228, 238, 246, 303, 309, 341, 343,
|
||||
345, 347, 352, 353, 357, 366, 427, 439, 458, 550,
|
||||
559, 570, 572, 592, 605, 619, 621, 622, 624, 636,
|
||||
667, 669, 676, 686, 690, 692, 696, 698, 701, 702,
|
||||
714
|
||||
};
|
||||
internal static readonly HashSet<int> AlolanCaptureNoHeavyBall = new HashSet<int> { 374, 785, 786, 787, 788}; // Beldum & Tapus
|
||||
internal static readonly HashSet<int> Inherit_ApricornMale7 = new HashSet<int>
|
||||
|
|
@ -351,6 +419,39 @@ public static partial class Legal
|
|||
687, // Core Enforcer
|
||||
};
|
||||
|
||||
internal static readonly HashSet<int> Totem_Alolan = new HashSet<int>
|
||||
{
|
||||
020, // Raticate (Normal, Alolan, Totem)
|
||||
105, // Marowak (Normal, Alolan, Totem)
|
||||
778, // Mimikyu (Normal, Busted, Totem, Totem_Busted)
|
||||
};
|
||||
internal static readonly HashSet<int> Totem_SM = new HashSet<int>
|
||||
{
|
||||
020, // Raticate
|
||||
735, // Gumshoos
|
||||
//746, // Wishiwashi
|
||||
758, // Salazzle
|
||||
754, // Lurantis
|
||||
738, // Vikavolt
|
||||
778, // Mimikyu
|
||||
784, // Kommo-o
|
||||
};
|
||||
internal static readonly HashSet<int> Totem_USUM = new HashSet<int>
|
||||
{
|
||||
020, // Raticate
|
||||
735, // Gumshoos
|
||||
//746, // Wishiwashi
|
||||
758, // Salazzle
|
||||
754, // Lurantis
|
||||
738, // Vikavolt
|
||||
778, // Mimikyu
|
||||
784, // Kommo-o
|
||||
105, // Marowak
|
||||
752, // Araquanid
|
||||
777, // Togedemaru
|
||||
743, // Ribombee
|
||||
};
|
||||
|
||||
internal static readonly int[] EggLocations7 = {60002, 30002};
|
||||
internal static readonly HashSet<int> ValidMet_SM = new HashSet<int>
|
||||
{
|
||||
|
|
@ -361,9 +462,10 @@ public static partial class Legal
|
|||
|
||||
30016 // Poké Pelago
|
||||
};
|
||||
internal static readonly HashSet<int> ValidMet_USUM = new HashSet<int>
|
||||
internal static readonly HashSet<int> ValidMet_USUM = new HashSet<int>(ValidMet_SM)
|
||||
{
|
||||
// todo
|
||||
194, 196, 198,
|
||||
200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232,
|
||||
};
|
||||
|
||||
private static readonly int[] TMHM_SM =
|
||||
|
|
@ -399,7 +501,7 @@ public static partial class Legal
|
|||
05, 10, 05, 05, 15, 10, 05, 05, 05, 10, 10, 10, 10, 20, 25, 10, 20, 30, 25, 20, 20, 15, 20, 15, 20, 20, 10, 10, 10, 10, 10, 20, 10, 30, 15, 10, 10, 10, 20, 20, 05, 05, 05, 20, 10, 10, 20, 15, 20, 20,
|
||||
10, 20, 30, 10, 10, 40, 40, 30, 20, 40, 20, 20, 10, 10, 10, 10, 05, 10, 10, 05, 05, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01,
|
||||
01, 01, 01, 01, 01, 01, 01, 01, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 40, 15, 20, 30, 20, 15, 15, 20, 10, 15, 15, 10, 05, 10, 10, 20, 15, 10, 15, 15, 15, 05, 15, 20, 20, 01, 01, 01, 01, 01, 01,
|
||||
01, 01, 01, 05, 05, 10, 10, 10, 20, 10, 10, 10, 05, 05, 20, 10, 10, 10, 01
|
||||
01, 01, 01, 05, 05, 10, 10, 10, 20, 10, 10, 10, 05, 05, 20, 10, 10, 10, 01, 05, 15, 05, 01, 01, 01, 01, 01, 01,
|
||||
};
|
||||
|
||||
internal static readonly HashSet<int> Ban_NoHidden7 = new HashSet<int>
|
||||
|
|
|
|||
|
|
@ -48,7 +48,9 @@
|
|||
<None Remove="Resources\byte\encounter_sn_sos.pkl" />
|
||||
<None Remove="Resources\byte\encounter_ss.pkl" />
|
||||
<None Remove="Resources\byte\encounter_us.pkl" />
|
||||
<None Remove="Resources\byte\encounter_us_sos.pkl" />
|
||||
<None Remove="Resources\byte\encounter_um.pkl" />
|
||||
<None Remove="Resources\byte\encounter_um_sos.pkl" />
|
||||
<None Remove="Resources\byte\encounter_w.pkl" />
|
||||
<None Remove="Resources\byte\encounter_w2.pkl" />
|
||||
<None Remove="Resources\byte\encounter_x.pkl" />
|
||||
|
|
@ -145,6 +147,7 @@
|
|||
<None Remove="Resources\text\de\text_tradehgss_de.txt" />
|
||||
<None Remove="Resources\text\de\text_traderse_de.txt" />
|
||||
<None Remove="Resources\text\de\text_tradesm_de.txt" />
|
||||
<None Remove="Resources\text\de\text_tradeusum_de.txt" />
|
||||
<None Remove="Resources\text\de\text_tradexy_de.txt" />
|
||||
<None Remove="Resources\text\de\text_TrainingBag_de.txt" />
|
||||
<None Remove="Resources\text\de\text_Types_de.txt" />
|
||||
|
|
@ -190,6 +193,7 @@
|
|||
<None Remove="Resources\text\en\text_tradehgss_en.txt" />
|
||||
<None Remove="Resources\text\en\text_traderse_en.txt" />
|
||||
<None Remove="Resources\text\en\text_tradesm_en.txt" />
|
||||
<None Remove="Resources\text\en\text_tradeusum_en.txt" />
|
||||
<None Remove="Resources\text\en\text_tradexy_en.txt" />
|
||||
<None Remove="Resources\text\en\text_TrainingBag_en.txt" />
|
||||
<None Remove="Resources\text\en\text_Types_en.txt" />
|
||||
|
|
@ -234,6 +238,7 @@
|
|||
<None Remove="Resources\text\es\text_tradehgss_es.txt" />
|
||||
<None Remove="Resources\text\es\text_traderse_es.txt" />
|
||||
<None Remove="Resources\text\es\text_tradesm_es.txt" />
|
||||
<None Remove="Resources\text\es\text_tradeusum_es.txt" />
|
||||
<None Remove="Resources\text\es\text_tradexy_es.txt" />
|
||||
<None Remove="Resources\text\es\text_TrainingBag_es.txt" />
|
||||
<None Remove="Resources\text\es\text_Types_es.txt" />
|
||||
|
|
@ -278,6 +283,7 @@
|
|||
<None Remove="Resources\text\fr\text_tradehgss_fr.txt" />
|
||||
<None Remove="Resources\text\fr\text_traderse_fr.txt" />
|
||||
<None Remove="Resources\text\fr\text_tradesm_fr.txt" />
|
||||
<None Remove="Resources\text\fr\text_tradeusum_fr.txt" />
|
||||
<None Remove="Resources\text\fr\text_tradexy_fr.txt" />
|
||||
<None Remove="Resources\text\fr\text_TrainingBag_fr.txt" />
|
||||
<None Remove="Resources\text\fr\text_Types_fr.txt" />
|
||||
|
|
@ -343,6 +349,7 @@
|
|||
<None Remove="Resources\text\it\text_tradehgss_it.txt" />
|
||||
<None Remove="Resources\text\it\text_traderse_it.txt" />
|
||||
<None Remove="Resources\text\it\text_tradesm_it.txt" />
|
||||
<None Remove="Resources\text\it\text_tradeusum_it.txt" />
|
||||
<None Remove="Resources\text\it\text_tradexy_it.txt" />
|
||||
<None Remove="Resources\text\it\text_TrainingBag_it.txt" />
|
||||
<None Remove="Resources\text\it\text_Types_it.txt" />
|
||||
|
|
@ -387,6 +394,7 @@
|
|||
<None Remove="Resources\text\ja\text_tradehgss_ja.txt" />
|
||||
<None Remove="Resources\text\ja\text_traderse_ja.txt" />
|
||||
<None Remove="Resources\text\ja\text_tradesm_ja.txt" />
|
||||
<None Remove="Resources\text\ja\text_tradeusum_ja.txt" />
|
||||
<None Remove="Resources\text\ja\text_tradexy_ja.txt" />
|
||||
<None Remove="Resources\text\ja\text_TrainingBag_ja.txt" />
|
||||
<None Remove="Resources\text\ja\text_Types_ja.txt" />
|
||||
|
|
@ -430,6 +438,7 @@
|
|||
<None Remove="Resources\text\ko\text_tradedppt_ko.txt" />
|
||||
<None Remove="Resources\text\ko\text_tradehgss_ko.txt" />
|
||||
<None Remove="Resources\text\ko\text_tradesm_ko.txt" />
|
||||
<None Remove="Resources\text\ko\text_tradeusum_ko.txt" />
|
||||
<None Remove="Resources\text\ko\text_tradexy_ko.txt" />
|
||||
<None Remove="Resources\text\ko\text_TrainingBag_ko.txt" />
|
||||
<None Remove="Resources\text\ko\text_Types_ko.txt" />
|
||||
|
|
@ -585,6 +594,7 @@
|
|||
<None Remove="Resources\text\script\const_pt_en.txt" />
|
||||
<None Remove="Resources\text\script\const_rs_en.txt" />
|
||||
<None Remove="Resources\text\script\const_sm_en.txt" />
|
||||
<None Remove="Resources\text\script\const_usum_en.txt" />
|
||||
<None Remove="Resources\text\script\flags_b2w2_en.txt" />
|
||||
<None Remove="Resources\text\script\flags_bw_en.txt" />
|
||||
<None Remove="Resources\text\script\flags_dp_en.txt" />
|
||||
|
|
@ -595,6 +605,7 @@
|
|||
<None Remove="Resources\text\script\flags_pt_en.txt" />
|
||||
<None Remove="Resources\text\script\flags_rs_en.txt" />
|
||||
<None Remove="Resources\text\script\flags_sm_en.txt" />
|
||||
<None Remove="Resources\text\script\flags_usum_en.txt" />
|
||||
<None Remove="Resources\text\script\flags_xy_en.txt" />
|
||||
<None Remove="Resources\text\zh\lang_zh.txt" />
|
||||
<None Remove="Resources\text\zh\LegalityCheckStrings_zh.txt" />
|
||||
|
|
@ -605,7 +616,6 @@
|
|||
<None Remove="Resources\text\zh\text_bw2_60000_zh.txt" />
|
||||
<None Remove="Resources\text\zh\text_Character_zh.txt" />
|
||||
<None Remove="Resources\text\zh\text_Char_zh.txt" />
|
||||
<None Remove="Resources\text\zh\text_Char_zh2.txt" />
|
||||
<None Remove="Resources\text\zh\text_EncounterType_zh.txt" />
|
||||
<None Remove="Resources\text\zh\text_Forms_zh.txt" />
|
||||
<None Remove="Resources\text\zh\text_Games_zh.txt" />
|
||||
|
|
@ -629,6 +639,7 @@
|
|||
<None Remove="Resources\text\zh\text_SuperTraining_zh.txt" />
|
||||
<None Remove="Resources\text\zh\text_tradeao_zh.txt" />
|
||||
<None Remove="Resources\text\zh\text_tradesm_zh.txt" />
|
||||
<None Remove="Resources\text\zh\text_tradeusum_zh.txt" />
|
||||
<None Remove="Resources\text\zh\text_tradexy_zh.txt" />
|
||||
<None Remove="Resources\text\zh\text_TrainingBag_zh.txt" />
|
||||
<None Remove="Resources\text\zh\text_Types_zh.txt" />
|
||||
|
|
@ -679,7 +690,9 @@
|
|||
<EmbeddedResource Include="Resources\byte\encounter_sn_sos.pkl" />
|
||||
<EmbeddedResource Include="Resources\byte\encounter_ss.pkl" />
|
||||
<EmbeddedResource Include="Resources\byte\encounter_us.pkl" />
|
||||
<EmbeddedResource Include="Resources\byte\encounter_us_sos.pkl" />
|
||||
<EmbeddedResource Include="Resources\byte\encounter_um.pkl" />
|
||||
<EmbeddedResource Include="Resources\byte\encounter_um_sos.pkl" />
|
||||
<EmbeddedResource Include="Resources\byte\encounter_w.pkl" />
|
||||
<EmbeddedResource Include="Resources\byte\encounter_w2.pkl" />
|
||||
<EmbeddedResource Include="Resources\byte\encounter_x.pkl" />
|
||||
|
|
@ -776,6 +789,7 @@
|
|||
<EmbeddedResource Include="Resources\text\de\text_tradehgss_de.txt" />
|
||||
<EmbeddedResource Include="Resources\text\de\text_traderse_de.txt" />
|
||||
<EmbeddedResource Include="Resources\text\de\text_tradesm_de.txt" />
|
||||
<EmbeddedResource Include="Resources\text\de\text_tradeusum_de.txt" />
|
||||
<EmbeddedResource Include="Resources\text\de\text_tradexy_de.txt" />
|
||||
<EmbeddedResource Include="Resources\text\de\text_TrainingBag_de.txt" />
|
||||
<EmbeddedResource Include="Resources\text\de\text_Types_de.txt" />
|
||||
|
|
@ -821,6 +835,7 @@
|
|||
<EmbeddedResource Include="Resources\text\en\text_tradehgss_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\en\text_traderse_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\en\text_tradesm_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\en\text_tradeusum_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\en\text_tradexy_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\en\text_TrainingBag_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\en\text_Types_en.txt" />
|
||||
|
|
@ -865,6 +880,7 @@
|
|||
<EmbeddedResource Include="Resources\text\es\text_tradehgss_es.txt" />
|
||||
<EmbeddedResource Include="Resources\text\es\text_traderse_es.txt" />
|
||||
<EmbeddedResource Include="Resources\text\es\text_tradesm_es.txt" />
|
||||
<EmbeddedResource Include="Resources\text\es\text_tradeusum_es.txt" />
|
||||
<EmbeddedResource Include="Resources\text\es\text_tradexy_es.txt" />
|
||||
<EmbeddedResource Include="Resources\text\es\text_TrainingBag_es.txt" />
|
||||
<EmbeddedResource Include="Resources\text\es\text_Types_es.txt" />
|
||||
|
|
@ -909,6 +925,7 @@
|
|||
<EmbeddedResource Include="Resources\text\fr\text_tradehgss_fr.txt" />
|
||||
<EmbeddedResource Include="Resources\text\fr\text_traderse_fr.txt" />
|
||||
<EmbeddedResource Include="Resources\text\fr\text_tradesm_fr.txt" />
|
||||
<EmbeddedResource Include="Resources\text\fr\text_tradeusum_fr.txt" />
|
||||
<EmbeddedResource Include="Resources\text\fr\text_tradexy_fr.txt" />
|
||||
<EmbeddedResource Include="Resources\text\fr\text_TrainingBag_fr.txt" />
|
||||
<EmbeddedResource Include="Resources\text\fr\text_Types_fr.txt" />
|
||||
|
|
@ -974,6 +991,7 @@
|
|||
<EmbeddedResource Include="Resources\text\it\text_tradehgss_it.txt" />
|
||||
<EmbeddedResource Include="Resources\text\it\text_traderse_it.txt" />
|
||||
<EmbeddedResource Include="Resources\text\it\text_tradesm_it.txt" />
|
||||
<EmbeddedResource Include="Resources\text\it\text_tradeusum_it.txt" />
|
||||
<EmbeddedResource Include="Resources\text\it\text_tradexy_it.txt" />
|
||||
<EmbeddedResource Include="Resources\text\it\text_TrainingBag_it.txt" />
|
||||
<EmbeddedResource Include="Resources\text\it\text_Types_it.txt" />
|
||||
|
|
@ -1018,6 +1036,7 @@
|
|||
<EmbeddedResource Include="Resources\text\ja\text_tradehgss_ja.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ja\text_traderse_ja.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ja\text_tradesm_ja.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ja\text_tradeusum_ja.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ja\text_tradexy_ja.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ja\text_TrainingBag_ja.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ja\text_Types_ja.txt" />
|
||||
|
|
@ -1061,6 +1080,7 @@
|
|||
<EmbeddedResource Include="Resources\text\ko\text_tradedppt_ko.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ko\text_tradehgss_ko.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ko\text_tradesm_ko.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ko\text_tradeusum_ko.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ko\text_tradexy_ko.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ko\text_TrainingBag_ko.txt" />
|
||||
<EmbeddedResource Include="Resources\text\ko\text_Types_ko.txt" />
|
||||
|
|
@ -1216,6 +1236,7 @@
|
|||
<EmbeddedResource Include="Resources\text\script\const_pt_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\script\const_rs_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\script\const_sm_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\script\const_usum_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\script\flags_b2w2_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\script\flags_bw_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\script\flags_dp_en.txt" />
|
||||
|
|
@ -1226,6 +1247,7 @@
|
|||
<EmbeddedResource Include="Resources\text\script\flags_pt_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\script\flags_rs_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\script\flags_sm_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\script\flags_usum_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\script\flags_xy_en.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zh\lang_zh.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zh\LegalityCheckStrings_zh.txt" />
|
||||
|
|
@ -1236,7 +1258,6 @@
|
|||
<EmbeddedResource Include="Resources\text\zh\text_bw2_60000_zh.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zh\text_Character_zh.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zh\text_Char_zh.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zh\text_Char_zh2.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zh\text_EncounterType_zh.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zh\text_Forms_zh.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zh\text_Games_zh.txt" />
|
||||
|
|
@ -1260,6 +1281,7 @@
|
|||
<EmbeddedResource Include="Resources\text\zh\text_SuperTraining_zh.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zh\text_tradeao_zh.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zh\text_tradesm_zh.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zh\text_tradeusum_zh.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zh\text_tradexy_zh.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zh\text_TrainingBag_zh.txt" />
|
||||
<EmbeddedResource Include="Resources\text\zh\text_Types_zh.txt" />
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
namespace PKHeX.Core
|
||||
{
|
||||
internal static class FormConverter
|
||||
public static class FormConverter
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets a list of formes that the species can have.
|
||||
|
|
@ -22,6 +22,8 @@ internal static string[] GetFormList(int species, IReadOnlyList<string> types, I
|
|||
types[000], // Normal
|
||||
forms[804], // Mega
|
||||
};
|
||||
if (generation == 7 && Legal.Totem_USUM.Contains(species))
|
||||
return GetFormsTotem(species, types, forms);
|
||||
|
||||
if (species <= Legal.MaxSpeciesID_1)
|
||||
return GetFormsGen1(species, types, forms, generation);
|
||||
|
|
@ -39,6 +41,27 @@ internal static string[] GetFormList(int species, IReadOnlyList<string> types, I
|
|||
return GetFormsGen7(species, types, forms);
|
||||
}
|
||||
|
||||
public static bool IsTotemForm(int species, int form, int generation = 7)
|
||||
{
|
||||
if (generation != 7)
|
||||
return false;
|
||||
if (form == 0)
|
||||
return false;
|
||||
if (!Legal.Totem_USUM.Contains(species))
|
||||
return false;
|
||||
if (species == 778) // Mimikyu
|
||||
return form == 2 || form == 3;
|
||||
if (Legal.Totem_Alolan.Contains(species))
|
||||
return form == 2;
|
||||
return form == 1;
|
||||
}
|
||||
public static int GetTotemBaseForm(int species, int form)
|
||||
{
|
||||
if (species == 778) // Mimikyu
|
||||
return form -2;
|
||||
return form - 1;
|
||||
}
|
||||
|
||||
private static string[] GetFormsGen1(int species, IReadOnlyList<string> types, IReadOnlyList<string> forms, int generation)
|
||||
{
|
||||
switch (species)
|
||||
|
|
@ -382,11 +405,18 @@ private static string[] GetFormsGen7(int species, IReadOnlyList<string> types, I
|
|||
forms[1023], // "BLU" - Sensu
|
||||
};
|
||||
|
||||
case 744: // Rockruff
|
||||
return new[]
|
||||
{
|
||||
types[0], // Normal
|
||||
forms[1064], // Dusk
|
||||
};
|
||||
case 745: // Lycanroc
|
||||
return new[]
|
||||
{
|
||||
forms[745], // Midday
|
||||
forms[1024], // Midnight
|
||||
forms[1064], // Dusk
|
||||
};
|
||||
|
||||
case 746: // Wishiwashi
|
||||
|
|
@ -418,11 +448,13 @@ private static string[] GetFormsGen7(int species, IReadOnlyList<string> types, I
|
|||
forms[1057], // "V-Core", // Core Violet
|
||||
};
|
||||
|
||||
case 778: // Mimikyu
|
||||
case 800:
|
||||
return new[]
|
||||
{
|
||||
forms[778], // Disguised
|
||||
forms[1058], // Busted
|
||||
types[000], // Normal
|
||||
forms[1065], // Dusk Mane
|
||||
forms[1066], // Dawn Wings
|
||||
forms[1067], // Ultra Necrozma
|
||||
};
|
||||
|
||||
case 801: // Magearna
|
||||
|
|
@ -445,7 +477,6 @@ private static string[] GetFormsAlolan (int generation, IReadOnlyList<string> ty
|
|||
return new[] { "" };
|
||||
|
||||
case 19: // Rattata
|
||||
case 20: // Raticate
|
||||
case 26: // Raichu
|
||||
case 27: // Sandshrew
|
||||
case 28: // Sandslash
|
||||
|
|
@ -460,7 +491,6 @@ private static string[] GetFormsAlolan (int generation, IReadOnlyList<string> ty
|
|||
case 76: // Golem
|
||||
case 88: // Grimer
|
||||
case 89: // Muk
|
||||
case 105: // Marowak
|
||||
case 103: // Exeggutor
|
||||
return new[]
|
||||
{
|
||||
|
|
@ -497,6 +527,7 @@ private static string[] GetFormsPikachu(int generation, IReadOnlyList<string> ty
|
|||
forms[816], // Unova
|
||||
forms[817], // Kalos
|
||||
forms[818], // Alola
|
||||
forms[1063] // Partner
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
@ -581,6 +612,29 @@ private static string[] GetFormsArceus (int generation, IReadOnlyList<string> ty
|
|||
};
|
||||
}
|
||||
}
|
||||
private static string[] GetFormsTotem (int species, IReadOnlyList<string> types, IReadOnlyList<string> forms)
|
||||
{
|
||||
if (species == 778) // Mimikyu
|
||||
return new[]
|
||||
{
|
||||
forms[778], // Disguised
|
||||
forms[1058], // Busted
|
||||
forms[1007], // Large
|
||||
"*" + forms[1058], // Busted
|
||||
};
|
||||
if (Legal.Totem_Alolan.Contains(species))
|
||||
return new[]
|
||||
{
|
||||
types[0], // Normal
|
||||
forms[810], // Alolan
|
||||
forms[1007], // Large
|
||||
};
|
||||
return new[]
|
||||
{
|
||||
types[0], // Normal
|
||||
forms[1007], // Large
|
||||
};
|
||||
}
|
||||
private static string[] GetFormsUnown(int generation)
|
||||
{
|
||||
switch (generation)
|
||||
|
|
|
|||
|
|
@ -628,7 +628,7 @@ public void TradeMemory(bool Bank)
|
|||
// Maximums
|
||||
public override int MaxMoveID => Legal.MaxMoveID_7_USUM;
|
||||
public override int MaxSpeciesID => Legal.MaxSpeciesID_7_USUM;
|
||||
public override int MaxAbilityID => Legal.MaxAbilityID_7;
|
||||
public override int MaxAbilityID => Legal.MaxAbilityID_7_USUM;
|
||||
public override int MaxItemID => Legal.MaxItemID_7_USUM;
|
||||
public override int MaxBallID => Legal.MaxBallID_7;
|
||||
public override int MaxGameID => Legal.MaxGameID_7;
|
||||
|
|
|
|||
|
|
@ -496,17 +496,12 @@ private static string ConvertString2BinG7_zh(string inputstr, int lang)
|
|||
|
||||
bool cht = lang == 10;
|
||||
// A string cannot contain a mix of CHS and CHT characters.
|
||||
bool IsCHT = inputstr.Any(chr => Gen7_CHT.Contains(chr) && !Gen7_CHS.Contains(chr));
|
||||
IsCHT |= cht && !inputstr.Any(chr => Gen7_CHT.Contains(chr) ^ Gen7_CHS.Contains(chr)); // CHS and CHT have the same display name
|
||||
var table = IsCHT ? Gen7_CHT : Gen7_CHS;
|
||||
ushort ofs = IsCHT ? Gen7_CHT_Ofs : Gen7_CHS_Ofs;
|
||||
bool IsCHT = inputstr.Any(chr => G7_CHT.ContainsKey(chr) && !G7_CHS.ContainsKey(chr));
|
||||
IsCHT |= cht && !inputstr.Any(chr => G7_CHT.ContainsKey(chr) ^ G7_CHS.ContainsKey(chr)); // CHS and CHT have the same display name
|
||||
var table = IsCHT ? G7_CHT : G7_CHS;
|
||||
|
||||
foreach (char chr in inputstr)
|
||||
{
|
||||
var index = Array.IndexOf(table, chr);
|
||||
var val = index > -1 ? (char) (ofs + index) : chr;
|
||||
str.Append(val);
|
||||
}
|
||||
str.Append(table.TryGetValue(chr, out int index) ? (char)(index + Gen7_ZH_Ofs) : chr);
|
||||
return str.ToString();
|
||||
}
|
||||
|
||||
|
|
@ -524,16 +519,14 @@ private static string ConvertBin2StringG7_zh(string inputstr)
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Shifts a character from the CHS/CHT character tables
|
||||
/// Shifts a character from the Chinese character tables
|
||||
/// </summary>
|
||||
/// <param name="val">Input value to shift</param>
|
||||
/// <returns>Shifted character</returns>
|
||||
private static ushort Getg7zhChar(ushort val)
|
||||
{
|
||||
if (Gen7_CHS_Ofs <= val && val < Gen7_CHS_Ofs + Gen7_CHS.Length) // within CHS char table
|
||||
return Gen7_CHS[val - Gen7_CHS_Ofs];
|
||||
if (Gen7_CHT_Ofs <= val && val < Gen7_CHT_Ofs + Gen7_CHT.Length) // within CHT char table
|
||||
return Gen7_CHT[val - Gen7_CHT_Ofs];
|
||||
if (Gen7_ZH_Ofs <= val && val < Gen7_ZH_Ofs + Gen7_ZH.Length)
|
||||
return Gen7_ZH[val - Gen7_ZH_Ofs];
|
||||
return val; // regular character
|
||||
}
|
||||
|
||||
|
|
@ -1923,10 +1916,22 @@ private static byte SetG3Char(ushort chr, bool jp)
|
|||
.ToDictionary(pair => pair.value, pair => pair.index);
|
||||
|
||||
#region Gen 7 Chinese Character Tables
|
||||
private static readonly char[] Gen7_CHS = Util.GetStringList("Char", "zh")[0].ToCharArray();
|
||||
private const ushort Gen7_CHS_Ofs = 0xE800;
|
||||
private static readonly char[] Gen7_CHT = Util.GetStringList("Char", "zh2")[0].ToCharArray();
|
||||
private const ushort Gen7_CHT_Ofs = 0xEB0F;
|
||||
private static readonly char[] Gen7_ZH = Util.GetStringList("Char", "zh")[0].ToCharArray();
|
||||
private const ushort Gen7_ZH_Ofs = 0xE800;
|
||||
private const ushort SM_ZHCharTable_Size = 0x30F;
|
||||
private const ushort USUM_CHS_Size = 0x4;
|
||||
private const ushort USUM_CHT_Size = 0x5;
|
||||
private static bool getisG7CHSChar(int idx) => idx < SM_ZHCharTable_Size || SM_ZHCharTable_Size * 2 <= idx && idx < SM_ZHCharTable_Size * 2 + USUM_CHS_Size;
|
||||
|
||||
private static readonly Dictionary<char, int> G7_CHS = Gen7_ZH
|
||||
.Select((value, index) => new { value, index })
|
||||
.Where(pair => getisG7CHSChar(pair.index))
|
||||
.ToDictionary(pair => pair.value, pair => pair.index);
|
||||
|
||||
private static readonly Dictionary<char, int> G7_CHT = Gen7_ZH
|
||||
.Select((value, index) => new { value, index })
|
||||
.Where(pair => !getisG7CHSChar(pair.index))
|
||||
.ToDictionary(pair => pair.value, pair => pair.index);
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ public int FormeIndex(int species, int forme)
|
|||
return species;
|
||||
if (FormStatsIndex <= 0) // no formes present
|
||||
return species;
|
||||
if (forme > FormeCount) // beyond range of species' formes
|
||||
if (forme >= FormeCount) // beyond range of species' formes
|
||||
return species;
|
||||
|
||||
return FormStatsIndex + forme - 1;
|
||||
|
|
|
|||
|
|
@ -20,10 +20,7 @@ public PersonalInfoSM(byte[] data)
|
|||
|
||||
SpecialTutors = new[]
|
||||
{
|
||||
GetBits(Data.Skip(0x3C).Take(0x04).ToArray()),
|
||||
GetBits(Data.Skip(0x40).Take(0x04).ToArray()),
|
||||
GetBits(Data.Skip(0x44).Take(0x04).ToArray()),
|
||||
GetBits(Data.Skip(0x48).Take(0x04).ToArray()),
|
||||
GetBits(Data.Skip(0x3C).Take(0x0A).ToArray()),
|
||||
};
|
||||
}
|
||||
public override byte[] Write()
|
||||
|
|
@ -31,9 +28,6 @@ public override byte[] Write()
|
|||
SetBits(TMHM).CopyTo(Data, 0x28);
|
||||
SetBits(TypeTutors).CopyTo(Data, 0x38);
|
||||
SetBits(SpecialTutors[0]).CopyTo(Data, 0x3C);
|
||||
SetBits(SpecialTutors[1]).CopyTo(Data, 0x40);
|
||||
SetBits(SpecialTutors[2]).CopyTo(Data, 0x44);
|
||||
SetBits(SpecialTutors[3]).CopyTo(Data, 0x48);
|
||||
return Data;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ public class PersonalTable
|
|||
/// <summary>
|
||||
/// Personal Table used in <see cref="GameVersion.USUM"/>.
|
||||
/// </summary>
|
||||
public static readonly PersonalTable USUM = GetTable("sm", GameVersion.USUM);
|
||||
public static readonly PersonalTable USUM = GetTable("uu", GameVersion.USUM);
|
||||
/// <summary>
|
||||
/// Personal Table used in <see cref="GameVersion.SM"/>.
|
||||
/// </summary>
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
BIN
PKHeX.Core/Resources/byte/encounter_um_sos.pkl
Normal file
BIN
PKHeX.Core/Resources/byte/encounter_um_sos.pkl
Normal file
Binary file not shown.
Binary file not shown.
BIN
PKHeX.Core/Resources/byte/encounter_us_sos.pkl
Normal file
BIN
PKHeX.Core/Resources/byte/encounter_us_sos.pkl
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -230,4 +230,5 @@ Nebel-Erzeuger
|
|||
Gras-Erzeuger
|
||||
Metallprotektor
|
||||
Phantomschutz
|
||||
Prismarüstung
|
||||
Prismarüstung
|
||||
Zerebralmacht
|
||||
|
|
@ -1061,3 +1061,8 @@ Entlarvte
|
|||
|
||||
|
||||
Original
|
||||
Partner
|
||||
Abend
|
||||
Abend
|
||||
Morgen
|
||||
Ultra
|
||||
|
|
@ -30,8 +30,8 @@ Omega Rubin
|
|||
|
||||
Sonne
|
||||
Mond
|
||||
|
||||
|
||||
Ultrasonne
|
||||
Ultramond
|
||||
GO
|
||||
Rote
|
||||
Blaue [INT]/Grüne [JP]
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
Keiner
|
||||
Kein
|
||||
Meisterball
|
||||
Hyperball
|
||||
Superball
|
||||
|
|
@ -918,4 +918,43 @@ Psycho-Disc
|
|||
Eis-Disc
|
||||
Drachen-Disc
|
||||
Unlicht-Disc
|
||||
Feen-Disc
|
||||
Feen-Disc
|
||||
Solgalium Z
|
||||
Lunalium Z
|
||||
Ultranecronium Z
|
||||
Mimigmium Z
|
||||
Wolwerockium Z
|
||||
Grandirasium Z
|
||||
Solgalium Z
|
||||
Lunalium Z
|
||||
Ultranecronium Z
|
||||
Mimigmium Z
|
||||
Wolwerockium Z
|
||||
Grandirasium Z
|
||||
Z-Kraftring
|
||||
Rosa Blatt
|
||||
Oranges Blatt
|
||||
Blaues Blatt
|
||||
Rotes Blatt
|
||||
Grünes Blatt
|
||||
Gelbes Blatt
|
||||
Violettes Blatt
|
||||
Regenbogenblüte
|
||||
Gewitterorden
|
||||
Necrosol
|
||||
Necrolun
|
||||
Necrosol
|
||||
Necrolun
|
||||
Elimas Normium Z
|
||||
Nachlassball
|
||||
Brutbon
|
||||
Schnäppchenbon
|
||||
Preisgeldbon
|
||||
EP-Bon
|
||||
Freundschaftsbon
|
||||
Lockbon
|
||||
Schutzbon
|
||||
KP-Bon
|
||||
AP-Bon
|
||||
Statuswertebon
|
||||
Fangbon
|
||||
|
|
@ -717,4 +717,13 @@ Tränendrüse
|
|||
Elektropikser
|
||||
Naturzorn
|
||||
Multi-Angriff
|
||||
Tausendfacher Donnerblitz
|
||||
Tausendfacher Donnerblitz
|
||||
Knallkopf
|
||||
Plasmafäuste
|
||||
Photonen-Geysir
|
||||
Licht des Erlöschens
|
||||
Schmetternde Sonnenwalze
|
||||
Geballter Mondlaser
|
||||
Herzliche Knuddelkloppe
|
||||
Fataler Steinregen
|
||||
Rasselnder Seelentanz
|
||||
|
|
@ -800,4 +800,9 @@ Katagami
|
|||
Schlingking
|
||||
Necrozma
|
||||
Magearna
|
||||
Marshadow
|
||||
Marshadow
|
||||
Venicro
|
||||
Agoyon
|
||||
Muramura
|
||||
Kopplosio
|
||||
Zeraora
|
||||
|
|
@ -108,7 +108,7 @@ Route 10
|
|||
|
||||
Route 11
|
||||
|
||||
Küste von Ula-Ula
|
||||
Strand von Ula-Ula
|
||||
|
||||
Route 13
|
||||
|
||||
|
|
@ -188,7 +188,46 @@ Kampfbaum
|
|||
|
||||
Æther-Paradies
|
||||
|
||||
Ultradimension
|
||||
Ultratiefsee
|
||||
|
||||
Malihe City
|
||||
Kap am Stadtrand
|
||||
Kap am Stadtrand
|
||||
Mele-Mele
|
||||
Akala
|
||||
Ula-Ula
|
||||
Poni
|
||||
Big Wave Beach
|
||||
|
||||
Strandhöhle
|
||||
|
||||
Kantai-Strand
|
||||
|
||||
Strand von Poni
|
||||
|
||||
Ultrametropolis
|
||||
|
||||
Metropo Tower
|
||||
|
||||
Ultrakraftwerk
|
||||
|
||||
Ultratal
|
||||
|
||||
Ultrawüste
|
||||
|
||||
Ultrawald
|
||||
|
||||
Ultradschungel
|
||||
|
||||
Ultrawolkenkratzer
|
||||
|
||||
Ultradimension Zero
|
||||
|
||||
Rocket-Schloss
|
||||
|
||||
Tunnel in der Ebene
|
||||
|
||||
Pikachu-Tal
|
||||
|
||||
Route 1
|
||||
Trainerschule
|
||||
Spaltberg-Tunnel
|
||||
|
|
|
|||
|
|
@ -13,4 +13,5 @@ Pokémon GO
|
|||
Kanto-Region
|
||||
Hoenn-Region
|
||||
Alola-Region
|
||||
Pokémon-Resort
|
||||
Pokémon-Resort
|
||||
Johto-Region
|
||||
14
PKHeX.Core/Resources/text/de/text_tradeusum_de.txt
Normal file
14
PKHeX.Core/Resources/text/de/text_tradeusum_de.txt
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
Gewalter
|
||||
Funky
|
||||
Bärbel
|
||||
Bokra
|
||||
Stumpfel
|
||||
Schalotte
|
||||
Bolle
|
||||
Hilahila
|
||||
Kihe
|
||||
Yuichi
|
||||
Keeyan
|
||||
Hepa
|
||||
Kumu
|
||||
Huhu
|
||||
|
|
@ -230,4 +230,5 @@ Misty Surge
|
|||
Grassy Surge
|
||||
Full Metal Body
|
||||
Shadow Shield
|
||||
Prism Armor
|
||||
Prism Armor
|
||||
Neuroforce
|
||||
Binary file not shown.
|
|
@ -30,8 +30,8 @@ Omega Ruby
|
|||
|
||||
Sun
|
||||
Moon
|
||||
|
||||
|
||||
Ultra Sun
|
||||
Ultra Moon
|
||||
GO
|
||||
Red
|
||||
Blue [INT]/Green [JP]
|
||||
|
|
|
|||
|
|
@ -918,4 +918,43 @@ Psychic Memory
|
|||
Ice Memory
|
||||
Dragon Memory
|
||||
Dark Memory
|
||||
Fairy Memory
|
||||
Fairy Memory
|
||||
Solganium Z
|
||||
Lunalium Z
|
||||
Ultranecrozium Z
|
||||
Mimikium Z
|
||||
Lycanium Z
|
||||
Kommonium Z
|
||||
Solganium Z
|
||||
Lunalium Z
|
||||
Ultranecrozium Z
|
||||
Mimikium Z
|
||||
Lycanium Z
|
||||
Kommonium Z
|
||||
Z-Power Ring
|
||||
Pink Petal
|
||||
Orange Petal
|
||||
Blue Petal
|
||||
Red Petal
|
||||
Green Petal
|
||||
Yellow Petal
|
||||
Purple Petal
|
||||
Rainbow Flower
|
||||
Surge Badge
|
||||
N-Solarizer
|
||||
N-Lunarizer
|
||||
N-Solarizer
|
||||
N-Lunarizer
|
||||
Ilima’s Normalium Z
|
||||
Left Poké Ball
|
||||
Roto Hatch
|
||||
Roto Bargain
|
||||
Roto Prize Money
|
||||
Roto Exp. Points
|
||||
Roto Friendship
|
||||
Roto Encounter
|
||||
Roto Stealth
|
||||
Roto HP Restore
|
||||
Roto PP Restore
|
||||
Roto Boost
|
||||
Roto Catch
|
||||
|
|
@ -717,4 +717,13 @@ Tearful Look
|
|||
Zing Zap
|
||||
Nature’s Madness
|
||||
Multi-Attack
|
||||
10,000,000 Volt Thunderbolt
|
||||
10,000,000 Volt Thunderbolt
|
||||
Mind Blown
|
||||
Plasma Fists
|
||||
Photon Geyser
|
||||
Light That Burns the Sky
|
||||
Searing Sunraze Smash
|
||||
Menacing Moonraze Maelstrom
|
||||
Let’s Snuggle Forever
|
||||
Splintered Stormshards
|
||||
Clangorous Soulblaze
|
||||
|
|
@ -800,4 +800,9 @@ Kartana
|
|||
Guzzlord
|
||||
Necrozma
|
||||
Magearna
|
||||
Marshadow
|
||||
Marshadow
|
||||
Poipole
|
||||
Naganadel
|
||||
Stakataka
|
||||
Blacephalon
|
||||
Zeraora
|
||||
|
|
@ -108,7 +108,7 @@ Route 10
|
|||
|
||||
Route 11
|
||||
|
||||
Secluded Shore
|
||||
Ula’ula Beach
|
||||
|
||||
Route 13
|
||||
|
||||
|
|
@ -188,7 +188,46 @@ Battle Tree
|
|||
|
||||
Aether Paradise
|
||||
|
||||
Ultra Space
|
||||
Ultra Deep Sea
|
||||
|
||||
Malie City
|
||||
Outer Cape
|
||||
Outer Cape
|
||||
Melemele
|
||||
Akala
|
||||
Ula’ula
|
||||
Poni
|
||||
Big Wave Beach
|
||||
|
||||
Sandy Cave
|
||||
|
||||
Heahea Beach
|
||||
|
||||
Poni Beach
|
||||
|
||||
Ultra Megalopolis
|
||||
|
||||
Megalo Tower
|
||||
|
||||
Ultra Plant
|
||||
|
||||
Ultra Crater
|
||||
|
||||
Ultra Desert
|
||||
|
||||
Ultra Forest
|
||||
|
||||
Ultra Jungle
|
||||
|
||||
Ultra Ruin
|
||||
|
||||
Ultra Space Wilds
|
||||
|
||||
Team Rocket’s Castle
|
||||
|
||||
Plains Grotto
|
||||
|
||||
Pikachu Valley
|
||||
|
||||
Route 1
|
||||
Trainers’ School
|
||||
Dividing Peak Tunnel
|
||||
|
|
|
|||
|
|
@ -13,4 +13,5 @@ Pokémon GO
|
|||
the Kanto region
|
||||
the Hoenn region
|
||||
the Alola region
|
||||
Poké Pelago
|
||||
Poké Pelago
|
||||
the Johto region
|
||||
14
PKHeX.Core/Resources/text/en/text_tradeusum_en.txt
Normal file
14
PKHeX.Core/Resources/text/en/text_tradeusum_en.txt
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
Cha
|
||||
Noinoi
|
||||
Babo
|
||||
Arbo
|
||||
Tumptump
|
||||
Solle
|
||||
Professor
|
||||
Hila
|
||||
Kihei
|
||||
Yuichi
|
||||
Miyo
|
||||
Sill
|
||||
Kumu
|
||||
Anga
|
||||
|
|
@ -230,4 +230,5 @@ Nebulogénesis
|
|||
Herbogénesis
|
||||
Guardia Metálica
|
||||
Guardia Espectro
|
||||
Armadura Prisma
|
||||
Armadura Prisma
|
||||
Fuerza Cerebral
|
||||
Binary file not shown.
|
|
@ -30,8 +30,8 @@ Rubí Omega
|
|||
|
||||
Sol
|
||||
Luna
|
||||
|
||||
|
||||
Ultrasol
|
||||
Ultraluna
|
||||
GO
|
||||
Roja
|
||||
Azul [INT]/Verde [JP]
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
Ninguno
|
||||
Ningún
|
||||
Master Ball
|
||||
Ultra Ball
|
||||
Super Ball
|
||||
|
|
@ -918,4 +918,43 @@ Disco Psíquico
|
|||
Disco Hielo
|
||||
Disco Dragón
|
||||
Disco Siniestro
|
||||
Disco Hada
|
||||
Disco Hada
|
||||
Solgaleostal Z
|
||||
Lunalastal Z
|
||||
Ultranecrostal Z
|
||||
Mimikyustal Z
|
||||
Lycanrostal Z
|
||||
Kommostal Z
|
||||
Solgaleostal Z
|
||||
Lunalastal Z
|
||||
Ultranecrostal Z
|
||||
Mimikyustal Z
|
||||
Lycanrostal Z
|
||||
Kommostal Z
|
||||
Superpulsera Z
|
||||
Pétalo Rosa
|
||||
Pétalo Naranja
|
||||
Pétalo Azul
|
||||
Pétalo Rojo
|
||||
Pétalo Verde
|
||||
Pétalo Amarillo
|
||||
Pétalo Violeta
|
||||
Flor Irisada
|
||||
Medalla Fulgor
|
||||
Necrosol
|
||||
Necroluna
|
||||
Necrosol
|
||||
Necroluna
|
||||
Cristal Z (Liam)
|
||||
Poké Ball Ajena
|
||||
Cupón Eclosión
|
||||
Cupón Rebaja
|
||||
Cupón Botín
|
||||
Cupón Exp
|
||||
Cupón Amistad
|
||||
Cupón Reclamo
|
||||
Cupón Sigilo
|
||||
Cupón PS
|
||||
Cupón PP
|
||||
Cupón Refuerzo
|
||||
Cupón Captura
|
||||
|
|
@ -717,4 +717,13 @@ Ojos Llorosos
|
|||
Electropunzada
|
||||
Furia Natural
|
||||
Multiataque
|
||||
Gigarrayo Fulminante
|
||||
Gigarrayo Fulminante
|
||||
Cabeza Sorpresa
|
||||
Puños Plasma
|
||||
Géiser Fotónico
|
||||
Fotodestrucción Apocalíptica
|
||||
Embestida Solar
|
||||
Deflagración Lunar
|
||||
Somanta Amistosa
|
||||
Tempestad Rocosa
|
||||
Estruendo Implacable
|
||||
|
|
@ -800,4 +800,9 @@ Kartana
|
|||
Guzzlord
|
||||
Necrozma
|
||||
Magearna
|
||||
Marshadow
|
||||
Marshadow
|
||||
Poipole
|
||||
Naganadel
|
||||
Stakataka
|
||||
Blacephalon
|
||||
Zeraora
|
||||
|
|
@ -108,7 +108,7 @@ Ruta 10
|
|||
|
||||
Ruta 11
|
||||
|
||||
Playa Menor
|
||||
Playa de Ula-Ula
|
||||
|
||||
Ruta 13
|
||||
|
||||
|
|
@ -188,7 +188,46 @@ Isla Exeggutor
|
|||
|
||||
Paraíso Æther
|
||||
|
||||
Ultraespacio
|
||||
Ultraabismo
|
||||
|
||||
Ciudad Malíe
|
||||
Cabo de las Afueras
|
||||
Cabo de las Afueras
|
||||
Melemele
|
||||
Akala
|
||||
Ula-Ula
|
||||
Poni
|
||||
Playa Big Wave
|
||||
|
||||
Cueva Costera
|
||||
|
||||
Playa de Kantai
|
||||
|
||||
Playa de Poni
|
||||
|
||||
Ultrópolis
|
||||
|
||||
Torre Ultrópolis
|
||||
|
||||
Ultragenerador
|
||||
|
||||
Ultravalle
|
||||
|
||||
Ultradesierto
|
||||
|
||||
Ultrabosque
|
||||
|
||||
Ultrajungla
|
||||
|
||||
Ultraurbe
|
||||
|
||||
Ultraespacio Cero
|
||||
|
||||
Castillo Team Rocket
|
||||
|
||||
Gruta de la Llanura
|
||||
|
||||
Valle de los Pikachu
|
||||
|
||||
Ruta 1
|
||||
Escuela Entrenadores
|
||||
Túnel del Volcán
|
||||
|
|
|
|||
|
|
@ -13,4 +13,5 @@ Pokémon GO
|
|||
Kanto
|
||||
Hoenn
|
||||
Alola
|
||||
Poké Resort
|
||||
Poké Resort
|
||||
Johto
|
||||
14
PKHeX.Core/Resources/text/es/text_tradeusum_es.txt
Normal file
14
PKHeX.Core/Resources/text/es/text_tradeusum_es.txt
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
Vengador
|
||||
Tabion
|
||||
Barbo
|
||||
Serpi
|
||||
Tronquilo
|
||||
Viscosín
|
||||
Torete
|
||||
Hila
|
||||
Kike
|
||||
Yuichi
|
||||
Yann
|
||||
Epi
|
||||
Kumu
|
||||
Tito
|
||||
|
|
@ -230,4 +230,5 @@ Créa-Brume
|
|||
Créa-Herbe
|
||||
Métallo-Garde
|
||||
Spectro-Bouclier
|
||||
Prisme-Armure
|
||||
Prisme-Armure
|
||||
Cérébro-Force
|
||||
Binary file not shown.
|
|
@ -30,8 +30,8 @@ Rubis Oméga
|
|||
|
||||
Soleil
|
||||
Lune
|
||||
|
||||
|
||||
Ultra-Soleil
|
||||
Ultra-Lune
|
||||
GO
|
||||
Rouge
|
||||
Bleue [INT]/Vert [JP]
|
||||
|
|
|
|||
|
|
@ -918,4 +918,43 @@ ROM Psy
|
|||
ROM Glace
|
||||
ROM Dragon
|
||||
ROM Ténèbres
|
||||
ROM Fée
|
||||
ROM Fée
|
||||
Solgazélite
|
||||
Lunazélite
|
||||
Ultranécrozélite
|
||||
Mimiquizélite
|
||||
Lougarozélite
|
||||
Ékaïzélite
|
||||
Solgazélite
|
||||
Lunazélite
|
||||
Ultranécrozélite
|
||||
Mimiquizélite
|
||||
Lougarozélite
|
||||
Ékaïzélite
|
||||
Super Bracelet Z
|
||||
Pétale Rose
|
||||
Pétale Orange
|
||||
Pétale Bleu
|
||||
Pétale Rouge
|
||||
Pétale Vert
|
||||
Pétale Jaune
|
||||
Pétale Violet
|
||||
Fleur 7 Couleurs
|
||||
Fulguro-Badge
|
||||
Necrosol
|
||||
Necroluna
|
||||
Necrosol
|
||||
Necroluna
|
||||
Cristal Z Althéo
|
||||
Poké Ball donnée
|
||||
Moti-Couveuse
|
||||
Moti-Promo
|
||||
Moti-Magot
|
||||
Moti-Exp
|
||||
Moti-Cœur
|
||||
Moti-Appât
|
||||
Moti-Camouflage
|
||||
Moti-Récup’ PV
|
||||
Moti-Récup’ PP
|
||||
Moti-Soutien
|
||||
Moti-Capture
|
||||
|
|
@ -717,4 +717,13 @@ Larme à l’Œil
|
|||
Électrikipik
|
||||
Ire de la Nature
|
||||
Coup Varia-Type
|
||||
Giga-Tonnerre
|
||||
Giga-Tonnerre
|
||||
Caboche-Kaboum
|
||||
Plasma Punch
|
||||
Photo-Geyser
|
||||
Apocalypsis Luminis
|
||||
Hélio-Choc Dévastateur
|
||||
Rayons Séléno-Explosifs
|
||||
Patati-Patattrape
|
||||
Hurlement des Roches-Lames
|
||||
Dracacophonie Flamboyante
|
||||
|
|
@ -800,4 +800,9 @@ Katagami
|
|||
Engloutyran
|
||||
Necrozma
|
||||
Magearna
|
||||
Marshadow
|
||||
Marshadow
|
||||
Vémini
|
||||
Mandrillon
|
||||
Ama-Ama
|
||||
Pierroteknik
|
||||
Zeraora
|
||||
|
|
@ -108,7 +108,7 @@ Route 10
|
|||
|
||||
Route 11
|
||||
|
||||
Côte Sauvage
|
||||
Plage d’Ula-Ula
|
||||
|
||||
Route 13
|
||||
|
||||
|
|
@ -188,7 +188,46 @@ Arbre de Combat
|
|||
|
||||
Paradis Æther
|
||||
|
||||
Ultra-Dimension
|
||||
Ultra-Abysses
|
||||
|
||||
Malié
|
||||
Cap Passiloin
|
||||
Cap Passiloin
|
||||
Mele-Mele
|
||||
Akala
|
||||
Ula-Ula
|
||||
Poni
|
||||
Plage Big Wave
|
||||
|
||||
Grotte de la Plage
|
||||
|
||||
Plage d’Ho’ohale
|
||||
|
||||
Plage de Poni
|
||||
|
||||
Ultra-Mégalopole
|
||||
|
||||
Tour Mégalopole
|
||||
|
||||
Ultra-Centrale
|
||||
|
||||
Ultra-Vallée
|
||||
|
||||
Ultra-Désert
|
||||
|
||||
Ultra-Forêt
|
||||
|
||||
Ultra-Jungle
|
||||
|
||||
Ultra-Gratte-Ciel
|
||||
|
||||
Ultra-Dimension Zéro
|
||||
|
||||
Château Rocket
|
||||
|
||||
Grotte de la Plaine
|
||||
|
||||
Plaine des Pikachu
|
||||
|
||||
Route 1
|
||||
École de Dresseurs
|
||||
Tunnel Perce-Mont
|
||||
|
|
|
|||
|
|
@ -13,4 +13,5 @@ Pokémon GO
|
|||
Kanto
|
||||
Hoenn
|
||||
Alola
|
||||
Poké Loisir
|
||||
Poké Loisir
|
||||
Johto
|
||||
14
PKHeX.Core/Resources/text/fr/text_tradeusum_fr.txt
Normal file
14
PKHeX.Core/Resources/text/fr/text_tradeusum_fr.txt
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
Luchabrutal
|
||||
Ionel
|
||||
Boubouille
|
||||
Le Roy
|
||||
Jérôme
|
||||
Coquillette
|
||||
Institutaur
|
||||
Hilahila
|
||||
Kihe
|
||||
Arnold
|
||||
Josette
|
||||
Hepa
|
||||
Kumu
|
||||
Inaina
|
||||
|
|
@ -230,4 +230,5 @@ Nebbiogenesi
|
|||
Erbogenesi
|
||||
Metalprotezione
|
||||
Spettroguardia
|
||||
Scudoprisma
|
||||
Scudoprisma
|
||||
Cerebroforza
|
||||
Binary file not shown.
|
|
@ -30,8 +30,8 @@ Rubino Omega
|
|||
|
||||
Sole
|
||||
Luna
|
||||
|
||||
|
||||
Ultrasole
|
||||
Ultraluna
|
||||
GO
|
||||
Rossa
|
||||
Blu [INT]/Verde [JP]
|
||||
|
|
|
|||
|
|
@ -918,4 +918,43 @@ ROM Psico
|
|||
ROM Ghiaccio
|
||||
ROM Drago
|
||||
ROM Buio
|
||||
ROM Folletto
|
||||
ROM Folletto
|
||||
Solgaleium Z
|
||||
Lunalium Z
|
||||
Ultranecrozium Z
|
||||
Mimikyum Z
|
||||
Lycanrochium Z
|
||||
Kommonium Z
|
||||
Solgaleium Z
|
||||
Lunalium Z
|
||||
Ultranecrozium Z
|
||||
Mimikyum Z
|
||||
Lycanrochium Z
|
||||
Kommonium Z
|
||||
Supercerchio Z
|
||||
Petalo rosa
|
||||
Petalo arancione
|
||||
Petalo azzurro
|
||||
Petalo rosso
|
||||
Petalo verde
|
||||
Petalo giallo
|
||||
Petalo violetto
|
||||
Fiore arcobaleno
|
||||
Medaglia Tonante
|
||||
Necrosolix
|
||||
Necrolunix
|
||||
Necrosolix
|
||||
Necrolunix
|
||||
Normium Z Liam
|
||||
Poké Ball altrui
|
||||
Cova’n’roll
|
||||
Sconto’n’roll
|
||||
Soldi’n’roll
|
||||
Esp’n’roll
|
||||
Affetto’n’roll
|
||||
Incontra’n’roll
|
||||
Repelle’n’roll
|
||||
PS’n’roll
|
||||
PP’n’roll
|
||||
Stat’n’roll
|
||||
Acchiappa’n’roll
|
||||
|
|
@ -717,4 +717,13 @@ Occhionilucidi
|
|||
Elettropizzico
|
||||
Ira della Natura
|
||||
Multiattacco
|
||||
Iperfulmine
|
||||
Iperfulmine
|
||||
Sbalorditesta
|
||||
Pugni Plasma
|
||||
Geyser Fotonico
|
||||
Fotodistruzione Apocalittica
|
||||
Supercollisione Solare
|
||||
Deflagrazione Lunare
|
||||
Dolcesacco di Botte
|
||||
Litotempesta Radiale
|
||||
Dracofonia Divampante
|
||||
|
|
@ -800,4 +800,9 @@ Kartana
|
|||
Guzzlord
|
||||
Necrozma
|
||||
Magearna
|
||||
Marshadow
|
||||
Marshadow
|
||||
Poipole
|
||||
Naganadel
|
||||
Stakataka
|
||||
Blacephalon
|
||||
Zeraora
|
||||
|
|
@ -108,7 +108,7 @@ Percorso 10
|
|||
|
||||
Percorso 11
|
||||
|
||||
Lido di Ula Ula
|
||||
Spiaggia di Ula Ula
|
||||
|
||||
Percorso 13
|
||||
|
||||
|
|
@ -188,7 +188,46 @@ Albero della Lotta
|
|||
|
||||
Æther Paradise
|
||||
|
||||
Ultramondo
|
||||
Ultrabisso
|
||||
|
||||
Malie
|
||||
Promontorio di Malie
|
||||
Promontorio di Malie
|
||||
Mele Mele
|
||||
Akala
|
||||
Ula Ula
|
||||
Poni
|
||||
Spiaggia Big Wave
|
||||
|
||||
Caverna Costiera
|
||||
|
||||
Spiaggia di Kantai
|
||||
|
||||
Spiaggia di Poni
|
||||
|
||||
Ultramegalopoli
|
||||
|
||||
Torre Megalopoli
|
||||
|
||||
Ultracentrale
|
||||
|
||||
Ultravalle
|
||||
|
||||
Ultradeserto
|
||||
|
||||
Ultraforesta
|
||||
|
||||
Ultragiungla
|
||||
|
||||
Ultragglomerato
|
||||
|
||||
Ultramondo Ignoto
|
||||
|
||||
Castello Team Rocket
|
||||
|
||||
Grotta Prateria
|
||||
|
||||
Valle dei Pikachu
|
||||
|
||||
Percorso 1
|
||||
Scuola Allenatori
|
||||
Tunnel del Vulcano
|
||||
|
|
|
|||
|
|
@ -13,4 +13,5 @@ Pokémon GO
|
|||
Kanto
|
||||
Hoenn
|
||||
Alola
|
||||
Poké Resort
|
||||
Poké Resort
|
||||
Johto
|
||||
14
PKHeX.Core/Resources/text/it/text_tradeusum_it.txt
Normal file
14
PKHeX.Core/Resources/text/it/text_tradeusum_it.txt
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
Luchano
|
||||
Tabion
|
||||
Barbuccia
|
||||
Arby
|
||||
Tumpin
|
||||
Shelly
|
||||
Prof
|
||||
Hilahila
|
||||
Kihe
|
||||
Pinuccio
|
||||
Lalla
|
||||
Hepa
|
||||
Kumu
|
||||
Huhu
|
||||
|
|
@ -230,4 +230,5 @@
|
|||
グラスメイカー
|
||||
メタルプロテクト
|
||||
ファントムガード
|
||||
プリズムアーマー
|
||||
プリズムアーマー
|
||||
ブレインフォース
|
||||
Binary file not shown.
|
|
@ -30,8 +30,8 @@ Y
|
|||
|
||||
サン
|
||||
ムーン
|
||||
|
||||
|
||||
ウルトラサン
|
||||
ウルトラムーン
|
||||
GO
|
||||
赤
|
||||
青 [INT]/緑 [JP]
|
||||
|
|
|
|||
|
|
@ -918,4 +918,43 @@
|
|||
アイスメモリ
|
||||
ドラゴンメモリ
|
||||
ダークメモリ
|
||||
フェアリーメモリ
|
||||
フェアリーメモリ
|
||||
ソルガレオZ
|
||||
ルナアーラZ
|
||||
ウルトラネクロZ
|
||||
ミミッキュZ
|
||||
ルガルガンZ
|
||||
ジャラランガZ
|
||||
ソルガレオZ
|
||||
ルナアーラZ
|
||||
ウルトラネクロZ
|
||||
ミミッキュZ
|
||||
ルガルガンZ
|
||||
ジャラランガZ
|
||||
Zパワーリング
|
||||
ももいろはなびら
|
||||
だいだいはなびら
|
||||
あおのはなびら
|
||||
あかのはなびら
|
||||
みどりのはなびら
|
||||
きいろのはなびら
|
||||
むらさきはなびら
|
||||
にじいろのはな
|
||||
だいだいバッジ
|
||||
ネクロプラスソル
|
||||
ネクロプラスルナ
|
||||
ネクロプラスソル
|
||||
ネクロプラスルナ
|
||||
イリマのノーマルZ
|
||||
のこされたボール
|
||||
タマゴふかポン
|
||||
やすうりポン
|
||||
おこづかいポン
|
||||
けいけんポン
|
||||
なつきポン
|
||||
みっけポン
|
||||
かくれポン
|
||||
HPかいふくポン
|
||||
PPかいふくポン
|
||||
おうえんポン
|
||||
つかまえポン
|
||||
|
|
@ -717,4 +717,13 @@
|
|||
びりびりちくちく
|
||||
しぜんのいかり
|
||||
マルチアタック
|
||||
1000まんボルト
|
||||
1000まんボルト
|
||||
ビックリヘッド
|
||||
プラズマフィスト
|
||||
フォトンゲイザー
|
||||
てんこがすめつぼうのひかり
|
||||
サンシャインスマッシャー
|
||||
ムーンライトブラスター
|
||||
ぽかぼかフレンドタイム
|
||||
ラジアルエッジストーム
|
||||
ブレイジングソウルビート
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
タマゴ
|
||||
タマゴ
|
||||
フシギダネ
|
||||
フシギソウ
|
||||
フシギバナ
|
||||
|
|
@ -800,4 +800,9 @@
|
|||
アクジキング
|
||||
ネクロズマ
|
||||
マギアナ
|
||||
マーシャドー
|
||||
マーシャドー
|
||||
ベベノム
|
||||
アーゴヨン
|
||||
ツンデツンデ
|
||||
ズガドーン
|
||||
ゼラオラ
|
||||
|
|
@ -108,7 +108,7 @@
|
|||
|
||||
11ばんどうろ
|
||||
|
||||
ウラウラうらかいがん
|
||||
ウラウラビーチ
|
||||
|
||||
13ばんどうろ
|
||||
|
||||
|
|
@ -188,7 +188,46 @@
|
|||
|
||||
エーテルパラダイス
|
||||
|
||||
ウルトラスペース
|
||||
ウルトラディープシー
|
||||
|
||||
マリエシティ
|
||||
はずれのみさき
|
||||
はずれのみさき
|
||||
メレメレ
|
||||
アーカラ
|
||||
ウラウラ
|
||||
ポニ
|
||||
ビッグウェーブビーチ
|
||||
|
||||
はまべのほらあな
|
||||
|
||||
カンタイビーチ
|
||||
|
||||
ポニのビーチ
|
||||
|
||||
ウルトラメガロポリス
|
||||
|
||||
メガロタワー
|
||||
|
||||
ウルトラプラント
|
||||
|
||||
ウルトラバレー
|
||||
|
||||
ウルトラデザート
|
||||
|
||||
ウルトラフォレスト
|
||||
|
||||
ウルトラジャングル
|
||||
|
||||
ウルトラビルディング
|
||||
|
||||
ウルトラスペースゼロ
|
||||
|
||||
ロケットだんのしろ
|
||||
|
||||
こうやのよこあな
|
||||
|
||||
ピカチュウのたに
|
||||
|
||||
1ばんどうろ
|
||||
トレーナーズスクール
|
||||
ワカツダケトンネル
|
||||
|
|
|
|||
|
|
@ -13,4 +13,5 @@ Pokémon GO
|
|||
カントーちほう
|
||||
ホウエンちほう
|
||||
アローラちほう
|
||||
ポケリゾート
|
||||
ポケリゾート
|
||||
ジョウトちほう
|
||||
14
PKHeX.Core/Resources/text/ja/text_tradeusum_ja.txt
Normal file
14
PKHeX.Core/Resources/text/ja/text_tradeusum_ja.txt
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
オーガー
|
||||
りくひさ
|
||||
レナレナ
|
||||
ロイ
|
||||
ワーイ
|
||||
バブコ
|
||||
きょうじゅ
|
||||
ヒラヒラ
|
||||
キヘ
|
||||
ユイッチー
|
||||
キーヤン
|
||||
ヘパ
|
||||
クム
|
||||
フフー
|
||||
|
|
@ -230,4 +230,5 @@ AR시스템
|
|||
그래스메이커
|
||||
메탈프로텍트
|
||||
스펙터가드
|
||||
프리즘아머
|
||||
프리즘아머
|
||||
브레인포스
|
||||
Binary file not shown.
|
|
@ -30,8 +30,8 @@ Y
|
|||
|
||||
썬
|
||||
문
|
||||
|
||||
|
||||
울트라썬
|
||||
울트라문
|
||||
고
|
||||
레드
|
||||
블루 [INT]/그린 [JP]
|
||||
|
|
|
|||
|
|
@ -918,4 +918,43 @@ Z링
|
|||
아이스메모리
|
||||
드래곤메모리
|
||||
다크메모리
|
||||
페어리메모리
|
||||
페어리메모리
|
||||
솔가레오Z
|
||||
루나아라Z
|
||||
울트라네크로Z
|
||||
따라큐Z
|
||||
루가루암Z
|
||||
짜랑고우거Z
|
||||
솔가레오Z
|
||||
루나아라Z
|
||||
울트라네크로Z
|
||||
따라큐Z
|
||||
루가루암Z
|
||||
짜랑고우거Z
|
||||
Z파워링
|
||||
담홍꽃잎
|
||||
주황꽃잎
|
||||
파랑꽃잎
|
||||
빨강꽃잎
|
||||
초록꽃잎
|
||||
노랑꽃잎
|
||||
보라꽃잎
|
||||
무지개꽃
|
||||
주황배지
|
||||
네크로플러스솔
|
||||
네크로플러스루나
|
||||
네크로플러스솔
|
||||
네크로플러스루나
|
||||
일리마의 노말Z
|
||||
남겨진 볼
|
||||
알부화캡슐토이
|
||||
할인캡슐토이
|
||||
용돈캡슐토이
|
||||
경험캡슐토이
|
||||
친밀도캡슐토이
|
||||
발견캡슐토이
|
||||
숨기캡슐토이
|
||||
HP회복캡슐토이
|
||||
PP회복캡슐토이
|
||||
응원캡슐토이
|
||||
잡기캡슐토이
|
||||
|
|
@ -717,4 +717,13 @@ DD래리어트
|
|||
찌리리따끔따끔
|
||||
자연의분노
|
||||
멀티어택
|
||||
1000만볼트
|
||||
1000만볼트
|
||||
깜짝헤드
|
||||
플라스마피스트
|
||||
포톤가이저
|
||||
하늘을태우는멸망의빛
|
||||
선샤인스매셔
|
||||
문라이트블래스터
|
||||
투닥투닥프렌드타임
|
||||
레이디얼에지스톰
|
||||
브레이징소울비트
|
||||
|
|
@ -800,4 +800,9 @@
|
|||
악식킹
|
||||
네크로즈마
|
||||
마기아나
|
||||
마샤도
|
||||
마샤도
|
||||
베베놈
|
||||
아고용
|
||||
차곡차곡
|
||||
두파팡
|
||||
제라오라
|
||||
|
|
@ -108,7 +108,7 @@
|
|||
|
||||
11번도로
|
||||
|
||||
울라울라 뒤쪽 해안
|
||||
울라울라비치
|
||||
|
||||
13번도로
|
||||
|
||||
|
|
@ -188,7 +188,46 @@
|
|||
|
||||
에테르파라다이스
|
||||
|
||||
울트라스페이스
|
||||
울트라딥시
|
||||
|
||||
말리에시티
|
||||
외곽해안가
|
||||
외곽해안가
|
||||
멜레멜레
|
||||
아칼라
|
||||
울라울라
|
||||
포니
|
||||
빅웨이브비치
|
||||
|
||||
해변 동굴
|
||||
|
||||
환대비치
|
||||
|
||||
포니비치
|
||||
|
||||
울트라메가로폴리스
|
||||
|
||||
메가로타워
|
||||
|
||||
울트라플랜트
|
||||
|
||||
울트라밸리
|
||||
|
||||
울트라데저트
|
||||
|
||||
울트라포레스트
|
||||
|
||||
울트라정글
|
||||
|
||||
울트라빌딩
|
||||
|
||||
울트라스페이스제로
|
||||
|
||||
로켓단의 성
|
||||
|
||||
황야 옆굴
|
||||
|
||||
피카츄 골짜기
|
||||
|
||||
1번도로
|
||||
트레이너스쿨
|
||||
경계터널
|
||||
|
|
|
|||
|
|
@ -13,4 +13,5 @@ Pokémon GO
|
|||
관동지방
|
||||
호연지방
|
||||
알로라지방
|
||||
포켓리조트
|
||||
포켓리조트
|
||||
성도지방
|
||||
14
PKHeX.Core/Resources/text/ko/text_tradeusum_ko.txt
Normal file
14
PKHeX.Core/Resources/text/ko/text_tradeusum_ko.txt
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
차부
|
||||
자뱃
|
||||
꼬롱꼬롱
|
||||
도이
|
||||
와이
|
||||
추르르
|
||||
교수
|
||||
히라히라
|
||||
키헤
|
||||
유일
|
||||
기안
|
||||
헤파
|
||||
쿠무
|
||||
후후
|
||||
5
PKHeX.Core/Resources/text/script/const_usum_en.txt
Normal file
5
PKHeX.Core/Resources/text/script/const_usum_en.txt
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
148 Starter 00:Rowlet,01:Litten,02:Popplio
|
||||
432 Tapu Koko 03:Battleable,04:Defeated,05:Captured
|
||||
433 Tapu Lele 01:Battleable,02:Defeated,03:Captured
|
||||
434 Tapu Bulu 01:Battleable,02:Defeated,03:Captured
|
||||
404 Tapu Fini 03:Battleable,04:Defeated,05:Captured
|
||||
|
|
@ -19,7 +19,7 @@
|
|||
2834 (OR) Latias Captured
|
||||
0420 (AS) Latios Defeated
|
||||
2835 (AS) Latios Captured
|
||||
2915 Eon Ticket Event Completed
|
||||
2915 Eon Ticket Event Completed
|
||||
0945 Deoxys Defeated @ Sky Tower
|
||||
2842 Deoxys Captured @ Sky Tower
|
||||
0173 Raikou Defeated
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
3100 Is Alolan Champion + Magearna Event Active
|
||||
3487 Received Magearna Gift
|
||||
3487 Received Gift Magearna
|
||||
0493 Received Gift Porygon
|
||||
0504 Received Gift Aerodactyl
|
||||
1216 Received Gift Cosmog
|
||||
0499 Received Gift Type:Null
|
||||
0160 Moone[0] / Sunne Portal [1]
|
||||
0499 Received Gift Type: Null
|
||||
0160 Moone [0] / Sunne Portal [1]
|
||||
39
PKHeX.Core/Resources/text/script/flags_usum_en.txt
Normal file
39
PKHeX.Core/Resources/text/script/flags_usum_en.txt
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
0493 Received Gift Porygon
|
||||
0504 Received Gift Aerodactyl
|
||||
4420 Articuno Captured
|
||||
4421 Zapdos Captured
|
||||
4422 Moltres Captured
|
||||
4423 Mewtwo Captured
|
||||
4260 (US) Raikou Captured
|
||||
4261 (UM) Entei Captured
|
||||
4262 Suicune Captured
|
||||
4263 (UM) Lugia Captured
|
||||
4264 (US) Ho-Oh Captured
|
||||
4285 Regirock Captured
|
||||
4286 Regice Captured
|
||||
4287 Registeel Captured
|
||||
4283 (UM) Latias Captured
|
||||
4284 (US) Latios Captured
|
||||
4289 (UM) Kyogre Captured
|
||||
4288 (US) Groudon Captured
|
||||
4290 Rayquaza Captured
|
||||
4265 Uxie Captured
|
||||
4266 Mesprit Captured
|
||||
4267 Azelf Captured
|
||||
4268 (US) Dialga Captured
|
||||
4269 (UM) Palkia Captured
|
||||
4270 (US) Heatran Captured
|
||||
4271 (UM) Regigigas Captured
|
||||
4272 Giratina Captured
|
||||
4273 Cresselia Captured
|
||||
4274 Cobalion Captured
|
||||
4275 Terrakion Captured
|
||||
4276 Virizion Captured
|
||||
4277 (US) Tornadus Captured
|
||||
4278 (UM) Thundurus Captured
|
||||
4279 (US) Reshiram Captured
|
||||
4280 (UM) Zekrom Captured
|
||||
4281 Landorus Captured
|
||||
4282 Kyurem Captured
|
||||
4424 (US) Xerneas Captured
|
||||
4425 (UM) Yveltal Captured
|
||||
|
|
@ -230,4 +230,5 @@
|
|||
青草制造者
|
||||
金属防护
|
||||
幻影防守
|
||||
棱镜装甲
|
||||
棱镜装甲
|
||||
脑核之力
|
||||
|
|
@ -1 +1 @@
|
|||
蛋妙蛙种子草花小火龙恐喷杰尼龟卡咪水箭绿毛虫铁甲蛹巴大蝶独角壳针蜂波比鸟拉达烈雀嘴阿柏蛇怪皮丘雷穿山鼠王多兰娜后朗力诺可西六尾九胖丁超音蝠走路臭霸派斯特球摩鲁蛾地三喵猫老鸭哥猴暴蒂狗风速蚊香蝌蚪君泳士凯勇基胡腕豪喇叭芽口呆食玛瑙母毒刺拳石隆岩马焰兽磁合一葱嘟利海狮白泥舌贝鬼通耿催眠貘引梦人钳蟹巨霹雳电顽弹椰树嘎啦飞腿郎快头瓦双犀牛钻吉蔓藤袋墨金鱼星宝魔墙偶天螳螂迷唇姐击罗肯泰鲤普百变伊布边菊化盔镰刀翼急冻闪你哈克幻叶月桂竺葵锯鳄蓝立咕夜鹰芭瓢安圆丝蛛叉字灯笼古然咩羊茸美丽露才皇毽棉长手向日蜻蜓乌沼太阳亮黑暗鸦妖未知图腾果翁麒麟奇榛佛托土弟蝎钢千壶赫狃熊圈熔蜗猪珊瑚炮章桶信使翅戴加象顿Ⅱ惊鹿犬无畏战舞娃奶罐幸福公炎帝幼沙班洛亚凤时木守宫森林蜥蜴稚鸡壮跃狼纹直冲茧狩猎盾粉莲童帽乐河橡实鼻狡猾傲骨燕鸥莉奈朵溜糖雨蘑菇斗笠懒獭过动猿请假居忍面者脱妞吼爆幕下掌朝北优雅勾魂眼那恰姆落正拍负萤甜蔷薇溶吞牙鲨鲸驼煤炭跳噗晃斑颚蚁漠仙歌青绵七夕鼬斩饭匙鳅鲶虾兵螯秤念触摇篮羽丑纳飘浮泡隐怨影诅咒巡灵彷徨热带铃勃梭雪冰护豹珍珠樱空棘爱心哑属艾欧盖固坐祈代希苗台猛曼拿儿狸法师箱蟀勒伦琴含羞苞槌城结贵妇绅蜜女帕兹潜兔随卷耳魅东施铛响坦铜镜钟盆聒噪陆尖咬不良骷荧光霓虹自舔狂远Z由卢席恩骑色霏莱谢米尔宙提主暖炒武刃丸剑探步哨约扒酷冷蚀豆鸽高雉幔庞滚蝙螺钉差搬运匠修建蟾蜍投摔打包保足蜈蚣车轮精根裙野蛮鲈混流氓红倒狒殿滑巾征哭具死神棺原肋始祖破灰尘索沫栗德单卵细胞造鹅倍四季萌哎呀败轻蜘坚齿组麻鳗宇烛幽晶斧嚏几何敏捷功夫父赤驹劈司令炸雄秃丫首恶燃烧毕云酋迪耶塔赛里狐呱贺掘彩蓓洁能鞘芳芙妮好鱿贼脚铠垃藻臂枪伞咚碎黏钥朽南瓜嗡哲裴格枭狙射炽咆哮虎漾壬笃啄铳少强锹农胜虻鬃弱坏驴仔重挽滴伪睡罩盗着竹疗环智挥猩掷胆噬堡爷参性:银伴陨枕戈谜拟Q磨舵鳞杖璞・鸣哞鳍科莫迦虚吾肌费束辉纸御机夏
|
||||
蛋妙蛙种子草花小火龙恐喷杰尼龟卡咪水箭绿毛虫铁甲蛹巴大蝶独角壳针蜂波比鸟拉达烈雀嘴阿柏蛇怪皮丘雷穿山鼠王多兰娜后朗力诺可西六尾九胖丁超音蝠走路臭霸派斯特球摩鲁蛾地三喵猫老鸭哥猴暴蒂狗风速蚊香蝌蚪君泳士凯勇基胡腕豪喇叭芽口呆食玛瑙母毒刺拳石隆岩马焰兽磁合一葱嘟利海狮白泥舌贝鬼通耿催眠貘引梦人钳蟹巨霹雳电顽弹椰树嘎啦飞腿郎快头瓦双犀牛钻吉蔓藤袋墨金鱼星宝魔墙偶天螳螂迷唇姐击罗肯泰鲤普百变伊布边菊化盔镰刀翼急冻闪你哈克幻叶月桂竺葵锯鳄蓝立咕夜鹰芭瓢安圆丝蛛叉字灯笼古然咩羊茸美丽露才皇毽棉长手向日蜻蜓乌沼太阳亮黑暗鸦妖未知图腾果翁麒麟奇榛佛托土弟蝎钢千壶赫狃熊圈熔蜗猪珊瑚炮章桶信使翅戴加象顿Ⅱ惊鹿犬无畏战舞娃奶罐幸福公炎帝幼沙班洛亚凤时木守宫森林蜥蜴稚鸡壮跃狼纹直冲茧狩猎盾粉莲童帽乐河橡实鼻狡猾傲骨燕鸥莉奈朵溜糖雨蘑菇斗笠懒獭过动猿请假居忍面者脱妞吼爆幕下掌朝北优雅勾魂眼那恰姆落正拍负萤甜蔷薇溶吞牙鲨鲸驼煤炭跳噗晃斑颚蚁漠仙歌青绵七夕鼬斩饭匙鳅鲶虾兵螯秤念触摇篮羽丑纳飘浮泡隐怨影诅咒巡灵彷徨热带铃勃梭雪冰护豹珍珠樱空棘爱心哑属艾欧盖固坐祈代希苗台猛曼拿儿狸法师箱蟀勒伦琴含羞苞槌城结贵妇绅蜜女帕兹潜兔随卷耳魅东施铛响坦铜镜钟盆聒噪陆尖咬不良骷荧光霓虹自舔狂远Z由卢席恩骑色霏莱谢米尔宙提主暖炒武刃丸剑探步哨约扒酷冷蚀豆鸽高雉幔庞滚蝙螺钉差搬运匠修建蟾蜍投摔打包保足蜈蚣车轮精根裙野蛮鲈混流氓红倒狒殿滑巾征哭具死神棺原肋始祖破灰尘索沫栗德单卵细胞造鹅倍四季萌哎呀败轻蜘坚齿组麻鳗宇烛幽晶斧嚏几何敏捷功夫父赤驹劈司令炸雄秃丫首恶燃烧毕云酋迪耶塔赛里狐呱贺掘彩蓓洁能鞘芳芙妮好鱿贼脚铠垃藻臂枪伞咚碎黏钥朽南瓜嗡哲裴格枭狙射炽咆哮虎漾壬笃啄铳少强锹农胜虻鬃弱坏驴仔重挽滴伪睡罩盗着竹疗环智挥猩掷胆噬堡爷参性:银伴陨枕戈谜拟Q磨舵鳞杖璞・鸣哞鳍科莫迦虚吾肌费束辉纸御机夏蛋妙蛙種子草花小火龍恐噴傑尼龜卡咪水箭綠毛蟲鐵甲蛹巴大蝶獨角殼針蜂波比鳥拉達烈雀嘴阿柏蛇怪皮丘雷穿山鼠王多蘭娜后朗力諾可西六尾九胖丁超音蝠走路臭霸派斯特球摩魯蛾地三喵貓老鴨哥猴爆蒂狗風速蚊香蝌蚪君泳士凱勇基胡腕豪喇叭芽口呆食瑪瑙母毒刺拳石隆岩馬焰獸磁合一蔥嘟利海獅白泥舌貝鬼通耿催眠貘引夢人鉗蟹巨霹靂電頑彈椰樹嘎啦飛腿郎快頭瓦雙犀牛鑽吉蔓藤袋墨金魚星寶魔牆偶天螳螂迷唇姐擊羅肯泰鯉暴普百變伊布邊菊化盔鐮刀翼急凍閃你哈克幻葉月桂竺葵鋸鱷藍立咕夜鷹芭瓢安圓絲蛛叉字燈籠古然咩羊茸美麗露才皇毽棉長手向日蜻蜓烏沼太陽亮黑暗鴉妖未知圖騰果翁麒麟奇榛佛托土弟蠍鋼千壺赫狃熊圈熔蝸豬珊瑚炮章桶信使翅戴加象頓Ⅱ驚鹿犬無畏戰舞娃奶罐幸福公炎帝幼沙班洛亞鳳時木守宮森林蜥蜴稚雞壯躍狼紋直衝繭狩獵盾粉蓮童帽樂河橡實鼻狡猾傲骨燕鷗莉奈朵溜糖雨蘑菇斗笠懶獺過動猿請假居忍面者脫妞吼幕下掌朝北優雅勾魂眼那恰姆落正拍負螢甜薔薇溶吞牙鯊鯨駝煤炭跳噗晃斑顎蟻漠仙歌青綿七夕鼬斬飯匙鰍鯰蝦兵螯秤念觸搖籃羽醜納飄浮泡隱怨影詛咒巡靈彷徨熱帶鈴勃梭雪冰護豹珍珠櫻空棘愛心啞屬艾歐蓋固坐祈代希苗台猛曼拿兒狸法師箱蟀勒倫琴含羞苞槌城結貴婦紳蜜女帕茲潛兔隨捲耳魅東施鐺響坦銅鏡鐘盆聒噪陸尖咬不良骷光霓虹自舔狂遠Z由盧席恩騎色霏萊謝米爾宙提主暖炒武刃丸劍探步哨約扒酷冷蝕豆鴿高雉幔龐滾蝙螺釘差搬運匠修建蟾蜍投摔打包保足蜈蚣車輪毬精根裙野蠻鱸混流氓紅倒狒殿滑巾徵哭具死神棺原肋始祖破灰塵索沫栗德單卵細胞造鵝倍四季萌哎呀敗輕蜘堅齒組麻鰻宇燭幽晶斧嚏幾何敏捷功夫父赤駒劈司令炸雄禿丫首惡燃燒畢雲酋迪耶塔賽里狐呱賀掘彩蓓潔能鞘芳芙妮好魷賊腳鎧垃藻臂槍傘咚碎黏鑰朽南瓜嗡哲裴格梟狙射熾咆哮虎漾壬篤啄銃少強鍬農勝虻鬃弱壞驢仔重挽滴偽睡罩盜著竹療環智揮猩擲膽噬堡爺參性:銀伴隕枕戈謎擬Q磨舵鱗杖璞・鳴哞鰭科莫迦虛吾肌費束輝紙御機夏垒磊砰奥壘磊砰丑奧
|
||||
|
|
@ -1 +0,0 @@
|
|||
蛋妙蛙種子草花小火龍恐噴傑尼龜卡咪水箭綠毛蟲鐵甲蛹巴大蝶獨角殼針蜂波比鳥拉達烈雀嘴阿柏蛇怪皮丘雷穿山鼠王多蘭娜后朗力諾可西六尾九胖丁超音蝠走路臭霸派斯特球摩魯蛾地三喵貓老鴨哥猴爆蒂狗風速蚊香蝌蚪君泳士凱勇基胡腕豪喇叭芽口呆食瑪瑙母毒刺拳石隆岩馬焰獸磁合一蔥嘟利海獅白泥舌貝鬼通耿催眠貘引夢人鉗蟹巨霹靂電頑彈椰樹嘎啦飛腿郎快頭瓦雙犀牛鑽吉蔓藤袋墨金魚星寶魔牆偶天螳螂迷唇姐擊羅肯泰鯉暴普百變伊布邊菊化盔鐮刀翼急凍閃你哈克幻葉月桂竺葵鋸鱷藍立咕夜鷹芭瓢安圓絲蛛叉字燈籠古然咩羊茸美麗露才皇毽棉長手向日蜻蜓烏沼太陽亮黑暗鴉妖未知圖騰果翁麒麟奇榛佛托土弟蠍鋼千壺赫狃熊圈熔蝸豬珊瑚炮章桶信使翅戴加象頓Ⅱ驚鹿犬無畏戰舞娃奶罐幸福公炎帝幼沙班洛亞鳳時木守宮森林蜥蜴稚雞壯躍狼紋直衝繭狩獵盾粉蓮童帽樂河橡實鼻狡猾傲骨燕鷗莉奈朵溜糖雨蘑菇斗笠懶獺過動猿請假居忍面者脫妞吼幕下掌朝北優雅勾魂眼那恰姆落正拍負螢甜薔薇溶吞牙鯊鯨駝煤炭跳噗晃斑顎蟻漠仙歌青綿七夕鼬斬飯匙鰍鯰蝦兵螯秤念觸搖籃羽醜納飄浮泡隱怨影詛咒巡靈彷徨熱帶鈴勃梭雪冰護豹珍珠櫻空棘愛心啞屬艾歐蓋固坐祈代希苗台猛曼拿兒狸法師箱蟀勒倫琴含羞苞槌城結貴婦紳蜜女帕茲潛兔隨捲耳魅東施鐺響坦銅鏡鐘盆聒噪陸尖咬不良骷光霓虹自舔狂遠Z由盧席恩騎色霏萊謝米爾宙提主暖炒武刃丸劍探步哨約扒酷冷蝕豆鴿高雉幔龐滾蝙螺釘差搬運匠修建蟾蜍投摔打包保足蜈蚣車輪毬精根裙野蠻鱸混流氓紅倒狒殿滑巾徵哭具死神棺原肋始祖破灰塵索沫栗德單卵細胞造鵝倍四季萌哎呀敗輕蜘堅齒組麻鰻宇燭幽晶斧嚏幾何敏捷功夫父赤駒劈司令炸雄禿丫首惡燃燒畢雲酋迪耶塔賽里狐呱賀掘彩蓓潔能鞘芳芙妮好魷賊腳鎧垃藻臂槍傘咚碎黏鑰朽南瓜嗡哲裴格梟狙射熾咆哮虎漾壬篤啄銃少強鍬農勝虻鬃弱壞驢仔重挽滴偽睡罩盜著竹療環智揮猩擲膽噬堡爺參性:銀伴隕枕戈謎擬Q磨舵鱗杖璞・鳴哞鰭科莫迦虛吾肌費束輝紙御機夏
|
||||
Binary file not shown.
|
|
@ -30,8 +30,8 @@ Y
|
|||
|
||||
太阳
|
||||
月亮
|
||||
|
||||
|
||||
究極之日
|
||||
究極之月
|
||||
GO
|
||||
红
|
||||
蓝 [国际]/绿 [日]
|
||||
|
|
|
|||
|
|
@ -918,4 +918,43 @@
|
|||
冰雪存储碟
|
||||
龙存储碟
|
||||
黑暗存储碟
|
||||
妖精存储碟
|
||||
妖精存储碟
|
||||
索尔迦雷欧Z
|
||||
露奈雅拉Z
|
||||
究极奈克洛Z
|
||||
谜拟QZ
|
||||
鬃岩狼人Z
|
||||
杖尾鳞甲龙Z
|
||||
索尔迦雷欧Z
|
||||
露奈雅拉Z
|
||||
究极奈克洛Z
|
||||
谜拟QZ
|
||||
鬃岩狼人Z
|
||||
杖尾鳞甲龙Z
|
||||
Z强力手环
|
||||
粉红花瓣
|
||||
橙色花瓣
|
||||
蓝色花瓣
|
||||
红色花瓣
|
||||
绿色花瓣
|
||||
黄色花瓣
|
||||
紫色花瓣
|
||||
虹色之花
|
||||
桔色徽章
|
||||
奈克洛索尔合体器
|
||||
奈克洛露奈合体器
|
||||
奈克洛索尔合体器
|
||||
奈克洛露奈合体器
|
||||
伊利马的一般Z
|
||||
留下的精灵球
|
||||
孵蛋碰碰
|
||||
优惠碰碰
|
||||
零花钱碰碰
|
||||
经验碰碰
|
||||
亲密碰碰
|
||||
相遇碰碰
|
||||
隐身碰碰
|
||||
HP回复碰碰
|
||||
PP回复碰碰
|
||||
加油碰碰
|
||||
捕捉碰碰
|
||||
|
|
@ -717,4 +717,13 @@
|
|||
麻麻刺刺
|
||||
自然之怒
|
||||
多属性攻击
|
||||
千万伏特
|
||||
千万伏特
|
||||
惊爆大头
|
||||
等离子闪电拳
|
||||
光子喷涌
|
||||
焚天灭世炽光爆
|
||||
日光回旋下苍穹
|
||||
月华飞溅落灵霄
|
||||
亲密无间大乱揍
|
||||
狼啸石牙飓风暴
|
||||
炽魂热舞烈音爆
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
蛋
|
||||
蛋
|
||||
妙蛙种子
|
||||
妙蛙草
|
||||
妙蛙花
|
||||
|
|
@ -800,4 +800,9 @@
|
|||
恶食大王
|
||||
奈克洛兹玛
|
||||
玛机雅娜
|
||||
玛夏多
|
||||
玛夏多
|
||||
毒贝比
|
||||
四颚针龙
|
||||
垒磊石
|
||||
砰头小丑
|
||||
捷拉奥拉
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user