Update 25.12.21

Moves one of the Evolution deferral checks to the encounter template where it triggers; no other encounter case will trip that check so it's OK to move it there. One less thing for every other encounter to check.

Revises the "met date present but no met location" to only flag if the encounter was matched to something. It'll already yell at mismatched encounters, no need to pile on more. The check only exists for eggs (no location).
This commit is contained in:
Kurt 2025-12-21 12:59:55 -06:00
parent 7d1bcfa354
commit 31edf20c87
7 changed files with 25 additions and 7 deletions

View File

@ -1,6 +1,6 @@
<Project>
<PropertyGroup>
<Version>25.12.15</Version>
<Version>25.12.21</Version>
<LangVersion>13</LangVersion>
<Nullable>enable</Nullable>
<NeutralLanguage>en</NeutralLanguage>

View File

@ -113,6 +113,11 @@ public EncounterMatchRating GetMatchRating(PKM pk)
bool isHidden = pk.AbilityNumber == 4;
if (isHidden && this.IsPartialMatchHidden(pk.Species, Species))
return EncounterMatchRating.PartialMatch;
// B2/W2 Vespiquen (Level 24 both evolutions available at same location)
// Bigender->Fixed (non-Genderless) destination species, accounting for PID-Gender relationship
if (Species == (int)Core.Species.Combee && pk.Species == (int)Core.Species.Vespiquen && (pk.EncryptionConstant & 0xFF) >= 0x1F) // Combee->Vespiquen Invalid Evolution
return EncounterMatchRating.DeferredErrors;
if (IsDeferredHiddenAbility(isHidden))
return EncounterMatchRating.Deferred;
return EncounterMatchRating.Match;

View File

@ -52,10 +52,6 @@ private static bool IsValidEvolution(PKM pk, EvolutionHistory history, IEncounte
if (!EvolutionHistory.HasVisited(original, encSpecies))
return false;
// Bigender->Fixed (non-Genderless) destination species, accounting for PID-Gender relationship
if (curSpecies == (int)Species.Vespiquen && enc.Generation < 6 && (pk.EncryptionConstant & 0xFF) >= 0x1F) // Combee->Vespiquen Invalid Evolution
return false;
return true;
}
}

View File

@ -131,7 +131,7 @@ private static void VerifyDateValues(LegalityAnalysis data, PKM pk)
if (pk.MetDate is null)
data.AddLine(GetInvalid(Memory, DateCalendarInvalidMet));
}
else
else if (data.EncounterMatch is not EncounterInvalid)
{
if (pk.MetMonth != 0 || pk.MetDay != 0 || pk.MetYear != 0)
data.AddLine(GetInvalid(Memory, DateCalendarInvalidMet));

View File

@ -1,7 +1,24 @@
PKHeX - By Kaphotics
http://projectpokemon.org/pkhex/
25/12/15 - New Update:
25/12/21 - New Update:
- Note: This will be the last release on .NET 9; future releases will be on .NET 10
- Legality: Misc fixes for parsing forms/evolutions in Z-A.
- Fixed: Gen9a evolutions that require a move are now checked more accurately when evolutions have less learnset restrictions.
- Fixed: Gen9a Morpeko-Hangry in-party now flagged if it hasn't been able to learn Aura Wheel yet.
- Fixed: Gen9a Tatsugiri/Magearna/Meowstic-Mega are now checked properly when in-party.
- Fixed: Gen9a Baxcaliburite now released, can exist in inventory/held. Removed Cherish Ball from Allowed items list.
- Fixed: Gen9a Rotom form changing with Plus moves/move count now recognized correctly.
- Fixed: Gen9a Raichu-Alola alpha move now recognized correctly.
- Fixed: Gen9a Farfetch'd/Sirfetch'd now allow form argument.
- Fixed: Gen9a Gimmighoul Coin can no longer be held (matches game restrictions).
- Fixed: Gen9a Primal Orbs can no longer be traded (matches game restrictions).
- Fixed: Gen9a encounter templates without specified moves will now initialize the moveset in the correct order, rather than reversed.
- Added: Donut editor now shows star count, flavor icon, and auto calculates more properties. Thanks @ilmakio & @RandomGuy155 !
- Fixed: Gen9a TM collection button now only returns the count of TMs not yet collected, not the total count of collectible.
- Fixed: Gen9a TMs added in DLC now indicate the correct item name string in the Inventory Editor.
25/12/15 - New Update: (105489) [12006971]
- Legality: Improved location ID detection of wild encounters, should work for 99.9%.
- - Crossovers are not currently handled for detecting location IDs. Generating from encounter template is 100% legal.
- Added: Gen9a Donut editor. Can randomize, clone, fill, export, import, and manually edit individual donuts. Thanks @Lusamine & @sora10pls !