Comments: forme->form

This commit is contained in:
Kurt 2021-07-26 14:14:39 -07:00
parent 9c8bee19ca
commit c9640f8561
11 changed files with 29 additions and 29 deletions

View file

@ -144,7 +144,7 @@ namespace PKHeX.Core
{ {
case Any: case Any:
var first = LearnBW.GetIsLevelUp(species, form, move, maxLevel); var first = LearnBW.GetIsLevelUp(species, form, move, maxLevel);
if (first.IsLevelUp && species != 646) // Kyurem moves are same for both versions, but forme movepool not present. if (first.IsLevelUp && species != 646) // Kyurem moves are same for both versions, but form movepool not present.
return first; return first;
return LearnB2W2.GetIsLevelUp(species, form, move, maxLevel); return LearnB2W2.GetIsLevelUp(species, form, move, maxLevel);
case B or W or BW: case B or W or BW:
@ -406,7 +406,7 @@ namespace PKHeX.Core
switch (ver) switch (ver)
{ {
case Any: case Any:
if (species != 646) // Kyurem moves are same for both versions, but forme movepool not present. if (species != 646) // Kyurem moves are same for both versions, but form movepool not present.
LearnBW.AddMoves(moves, species, form, maxLevel); LearnBW.AddMoves(moves, species, form, maxLevel);
return LearnB2W2.AddMoves(moves, species, form, maxLevel); return LearnB2W2.AddMoves(moves, species, form, maxLevel);

View file

@ -149,10 +149,10 @@ namespace PKHeX.Core
/// <summary> /// <summary>
/// Compares the Vivillon pattern against its country and region to determine if the pattern is able to be obtained legally. /// Compares the Vivillon pattern against its country and region to determine if the pattern is able to be obtained legally.
/// </summary> /// </summary>
/// <param name="form">Alternate Forme Pattern</param> /// <param name="form">Alternate Form Pattern</param>
/// <param name="country">Country ID</param> /// <param name="country">Country ID</param>
/// <param name="region">Console Region ID</param> /// <param name="region">Console Region ID</param>
/// <returns></returns> /// <returns>True if valid</returns>
public static bool IsPatternValid(int form, byte country, byte region) public static bool IsPatternValid(int form, byte country, byte region)
{ {
if (!VivillonCountryTable[form].Contains(country)) if (!VivillonCountryTable[form].Contains(country))

View file

@ -263,7 +263,7 @@ namespace PKHeX.Core
/// <param name="pi">Game specific personal info</param> /// <param name="pi">Game specific personal info</param>
/// <param name="species"><see cref="Species"/> ID</param> /// <param name="species"><see cref="Species"/> ID</param>
/// <param name="format"><see cref="PKM.Form"/> ID</param> /// <param name="format"><see cref="PKM.Form"/> ID</param>
/// <returns>True if has formes that can be provided by <see cref="FormConverter.GetFormList"/>, otherwise false for none.</returns> /// <returns>True if has forms that can be provided by <see cref="FormConverter.GetFormList"/>, otherwise false for none.</returns>
public static bool HasFormSelection(PersonalInfo pi, int species, int format) public static bool HasFormSelection(PersonalInfo pi, int species, int format)
{ {
if (format <= 3 && species != (int)Unown) if (format <= 3 && species != (int)Unown)
@ -282,7 +282,7 @@ namespace PKHeX.Core
private static readonly HashSet<int> HasFormValuesNotIndicatedByPersonal = new() private static readonly HashSet<int> HasFormValuesNotIndicatedByPersonal = new()
{ {
(int)Unown, (int)Unown,
(int)Mothim, // (Burmy forme carried over, not cleared) (int)Mothim, // (Burmy form is not cleared on evolution)
(int)Scatterbug, (int)Spewpa, // Vivillon pre-evos (int)Scatterbug, (int)Spewpa, // Vivillon pre-evos
}; };
} }

View file

@ -10,14 +10,14 @@ namespace PKHeX.Core
public static class FormConverter public static class FormConverter
{ {
/// <summary> /// <summary>
/// Gets a list of formes that the species can have. /// Gets a list of forms that the species can have.
/// </summary> /// </summary>
/// <param name="species"><see cref="Species"/> of the Pokémon.</param> /// <param name="species"><see cref="Species"/> of the Pokémon.</param>
/// <param name="types">List of type names</param> /// <param name="types">List of type names</param>
/// <param name="forms">List of form names</param> /// <param name="forms">List of form names</param>
/// <param name="genders">List of genders names</param> /// <param name="genders">List of genders names</param>
/// <param name="generation">Generation number for exclusive formes</param> /// <param name="generation">Generation number for exclusive forms</param>
/// <returns>A list of strings corresponding to the formes that a Pokémon can have.</returns> /// <returns>A list of strings corresponding to the forms that a Pokémon can have.</returns>
public static string[] GetFormList(int species, IReadOnlyList<string> types, IReadOnlyList<string> forms, IReadOnlyList<string> genders, int generation) public static string[] GetFormList(int species, IReadOnlyList<string> types, IReadOnlyList<string> forms, IReadOnlyList<string> genders, int generation)
{ {
// Mega List // Mega List

View file

@ -261,11 +261,11 @@ namespace PKHeX.Core
/// <param name="form"><see cref="PKM.Form"/> to retrieve for</param> /// <param name="form"><see cref="PKM.Form"/> to retrieve for</param>
public bool HasForm(int form) public bool HasForm(int form)
{ {
if (form <= 0) // no forme requested if (form <= 0) // no form requested
return false; return false;
if (FormStatsIndex <= 0) // no formes present if (FormStatsIndex <= 0) // no forms present
return false; return false;
if (form >= FormCount) // beyond range of species' formes if (form >= FormCount) // beyond range of species' forms
return false; return false;
return true; return true;
} }
@ -323,7 +323,7 @@ namespace PKHeX.Core
public bool OnlyMale => Gender == RatioMagicMale; public bool OnlyMale => Gender == RatioMagicMale;
/// <summary> /// <summary>
/// Indicates if the entry has Formes or not. /// Indicates if the entry has forms or not.
/// </summary> /// </summary>
public bool HasForms => FormCount > 1; public bool HasForms => FormCount > 1;

View file

@ -127,7 +127,7 @@ namespace PKHeX.Core
public int CrownDexIndex { get => BitConverter.ToUInt16(Data, 0xAE); set => BitConverter.GetBytes((ushort)value).CopyTo(Data, 0xAE); } public int CrownDexIndex { get => BitConverter.ToUInt16(Data, 0xAE); set => BitConverter.GetBytes((ushort)value).CopyTo(Data, 0xAE); }
/// <summary> /// <summary>
/// Gets the Forme that any offspring will hatch with, assuming it is holding an Everstone. /// Gets the Form that any offspring will hatch with, assuming it is holding an Everstone.
/// </summary> /// </summary>
public int HatchFormIndexEverstone => IsRegionalForm ? RegionalFormIndex : LocalFormIndex; public int HatchFormIndexEverstone => IsRegionalForm ? RegionalFormIndex : LocalFormIndex;

View file

@ -50,9 +50,9 @@ namespace PKHeX.Core
new(0x1DA00, 0x01e0, 0x1DBE2, 0x25F4C), // 38 Trainer Card Records new(0x1DA00, 0x01e0, 0x1DBE2, 0x25F4C), // 38 Trainer Card Records
new(0x1DC00, 0x00a8, 0x1DCAA, 0x25F4E), // 39 ??? new(0x1DC00, 0x00a8, 0x1DCAA, 0x25F4E), // 39 ???
new(0x1DD00, 0x0460, 0x1E162, 0x25F50), // 40 Mail new(0x1DD00, 0x0460, 0x1E162, 0x25F50), // 40 Mail
new(0x1E200, 0x1400, 0x1F602, 0x25F52), // 41 ??? new(0x1E200, 0x1400, 0x1F602, 0x25F52), // 41 Overworld State
new(0x1F700, 0x02a4, 0x1F9A6, 0x25F54), // 42 Musical new(0x1F700, 0x02a4, 0x1F9A6, 0x25F54), // 42 Musical
new(0x1FA00, 0x00e0, 0x1FAE2, 0x25F56), // 43 Fused Reshiram/Zekrom Storage new(0x1FA00, 0x00e0, 0x1FAE2, 0x25F56), // 43 White Forest + Black City Data, Fused Reshiram/Zekrom Storage
new(0x1FB00, 0x034c, 0x1FE4E, 0x25F58), // 44 IR new(0x1FB00, 0x034c, 0x1FE4E, 0x25F58), // 44 IR
new(0x1FF00, 0x04e0, 0x203E2, 0x25F5A), // 45 EventWork new(0x1FF00, 0x04e0, 0x203E2, 0x25F5A), // 45 EventWork
new(0x20400, 0x00f8, 0x204FA, 0x25F5C), // 46 GTS new(0x20400, 0x00f8, 0x204FA, 0x25F5C), // 46 GTS
@ -95,7 +95,7 @@ namespace PKHeX.Core
Daycare = new Daycare5(sav, 0x20D00); Daycare = new Daycare5(sav, 0x20D00);
Misc = new Misc5B2W2(sav, 0x21100); Misc = new Misc5B2W2(sav, 0x21100);
Entralink = new Entralink5B2W2(sav, 0x21200); Entralink = new Entralink5B2W2(sav, 0x21200);
Zukan = new Zukan5(sav, 0x21400, 0x328); // forme flags size is + 8 from bw with new formes (therians) Zukan = new Zukan5(sav, 0x21400, 0x328); // form flags size is + 8 from bw with new forms (therians)
BattleSubway = new BattleSubway5(sav, 0x21B00); BattleSubway = new BattleSubway5(sav, 0x21B00);
PWT = new PWTBlock5(sav, 0x23700); PWT = new PWTBlock5(sav, 0x23700);
Festa = new FestaBlock5(sav, 0x25900); Festa = new FestaBlock5(sav, 0x25900);

View file

@ -50,9 +50,9 @@ namespace PKHeX.Core
new(0x1DA00, 0x01E0, 0x1DBE2, 0x23F4C), // 38 Trainer Card Records new(0x1DA00, 0x01E0, 0x1DBE2, 0x23F4C), // 38 Trainer Card Records
new(0x1DC00, 0x00A8, 0x1DCAA, 0x23F4E), // 39 ??? new(0x1DC00, 0x00A8, 0x1DCAA, 0x23F4E), // 39 ???
new(0x1DD00, 0x0460, 0x1E162, 0x23F50), // 40 Mail new(0x1DD00, 0x0460, 0x1E162, 0x23F50), // 40 Mail
new(0x1E200, 0x1400, 0x1F602, 0x23F52), // 41 ??? new(0x1E200, 0x1400, 0x1F602, 0x23F52), // 41 Overworld State
new(0x1F700, 0x02A4, 0x1F9A6, 0x23F54), // 42 Musical new(0x1F700, 0x02A4, 0x1F9A6, 0x23F54), // 42 Musical
new(0x1FA00, 0x02DC, 0x1FCDE, 0x23F56), // 43 ??? new(0x1FA00, 0x02DC, 0x1FCDE, 0x23F56), // 43 White Forest + Black City Data
new(0x1FD00, 0x034C, 0x2004E, 0x23F58), // 44 IR new(0x1FD00, 0x034C, 0x2004E, 0x23F58), // 44 IR
new(0x20100, 0x03EC, 0x204EE, 0x23F5A), // 45 EventWork new(0x20100, 0x03EC, 0x204EE, 0x23F5A), // 45 EventWork
new(0x20500, 0x00F8, 0x205FA, 0x23F5C), // 46 GTS new(0x20500, 0x00F8, 0x205FA, 0x23F5C), // 46 GTS

View file

@ -202,7 +202,7 @@ namespace PKHeX.Core
for (int i = 1; i <= max; i++) for (int i = 1; i <= max; i++)
names.Add($"{i:000} - {speciesNames[i]}"); names.Add($"{i:000} - {speciesNames[i]}");
// Add Formes // Add forms
int ctr = max + 1; int ctr = max + 1;
for (int species = 1; species <= max; species++) for (int species = 1; species <= max; species++)
{ {
@ -218,7 +218,7 @@ namespace PKHeX.Core
} }
/// <summary> /// <summary>
/// Gets a list of Species IDs that a given dex-forme index corresponds to. /// Gets a list of Species IDs that a given dex-form index corresponds to.
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
private List<int> GetFormIndexBaseSpeciesList() private List<int> GetFormIndexBaseSpeciesList()

View file

@ -144,7 +144,7 @@ namespace PKHeX.WinForms
return false; return false;
} }
// sanity check formes -- SM does not have totem form dex bits // sanity check forms -- SM does not have totem form dex bits
int count = SAV.Personal[bspecies].FormCount; int count = SAV.Personal[bspecies].FormCount;
if (count < ds.Count) if (count < ds.Count)
ds.RemoveAt(count); // remove last ds.RemoveAt(count); // remove last
@ -421,7 +421,7 @@ namespace PKHeX.WinForms
if (species is (int)Species.Pikachu or (int)Species.Eevee) if (species is (int)Species.Pikachu or (int)Species.Eevee)
continue; // ignore starter (setdex doesn't set buddy bit; totem raticate is not emitted below). continue; // ignore starter (setdex doesn't set buddy bit; totem raticate is not emitted below).
// Set forme flags // Set form flags
var entries = Dex.GetAllFormEntries(species).Where(z => z >= SAV.MaxSpeciesID).Distinct(); var entries = Dex.GetAllFormEntries(species).Where(z => z >= SAV.MaxSpeciesID).Distinct();
foreach (var f in entries) foreach (var f in entries)
{ {
@ -488,7 +488,7 @@ namespace PKHeX.WinForms
(gt != PersonalInfo.RatioMagicFemale ? CHK_P2 : CHK_P3).Checked = true; (gt != PersonalInfo.RatioMagicFemale ? CHK_P2 : CHK_P3).Checked = true;
} }
// ensure at least one Displayed except for formes // ensure at least one Displayed except for forms
if (isForm) if (isForm)
return; return;
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked)) if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))
@ -502,7 +502,7 @@ namespace PKHeX.WinForms
if (mnuSeenNone != sender) if (mnuSeenNone != sender)
{ {
// ensure at least one Displayed except for formes // ensure at least one Displayed except for forms
if (isForm) if (isForm)
return; return;
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked)) if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))

View file

@ -132,7 +132,7 @@ namespace PKHeX.WinForms
return false; return false;
} }
// sanity check formes -- SM does not have totem form dex bits // sanity check forms -- SM does not have totem form dex bits
int count = SAV.Personal[bspecies].FormCount; int count = SAV.Personal[bspecies].FormCount;
if (count < ds.Count) if (count < ds.Count)
ds.RemoveAt(count); // remove last ds.RemoveAt(count); // remove last
@ -352,7 +352,7 @@ namespace PKHeX.WinForms
if (sender != mnuSeenAll) if (sender != mnuSeenAll)
SetCaught(sender, gt, lang, false); SetCaught(sender, gt, lang, false);
// Set forme flags // Set form flags
var entries = Dex.GetAllFormEntries(species).Where(z => z >= SAV.MaxSpeciesID).Distinct(); var entries = Dex.GetAllFormEntries(species).Where(z => z >= SAV.MaxSpeciesID).Distinct();
foreach (var f in entries) foreach (var f in entries)
{ {
@ -396,7 +396,7 @@ namespace PKHeX.WinForms
(gt != PersonalInfo.RatioMagicFemale ? CHK_P2 : CHK_P3).Checked = true; (gt != PersonalInfo.RatioMagicFemale ? CHK_P2 : CHK_P3).Checked = true;
} }
// ensure at least one Displayed except for formes // ensure at least one Displayed except for forms
if (isForm) if (isForm)
return; return;
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked)) if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))
@ -410,7 +410,7 @@ namespace PKHeX.WinForms
if (mnuSeenNone != sender) if (mnuSeenNone != sender)
{ {
// ensure at least one Displayed except for formes // ensure at least one Displayed except for forms
if (isForm) if (isForm)
return; return;
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked)) if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))