mirror of
https://github.com/kwsch/PKHeX
synced 2024-11-24 21:13:05 +00:00
Restrict gen3 PCNY OTs further
last 4 sets were only on the D memcard add notes regarding Dragon runs using B memcard (staff) https://pokemonhistorian.com/pcny-project/pcny-preservation-records/
This commit is contained in:
parent
b0a2c7911e
commit
6153d6c851
3 changed files with 17 additions and 12 deletions
|
@ -21,6 +21,7 @@ public enum Distribution3NY : byte
|
|||
|
||||
public static class Gen3PCNY
|
||||
{
|
||||
// PCNYa never existed -- the memory card labelled "A" in produced OT: PCNYc
|
||||
private const string B = "PCNYb";
|
||||
private const string C = "PCNYc";
|
||||
private const string D = "PCNYd";
|
||||
|
@ -33,7 +34,7 @@ public static class Gen3PCNY
|
|||
{
|
||||
Evolution => name is B or C,
|
||||
|
||||
Dragon => name is C or D,
|
||||
Dragon => name is B or C or D, // only C and D, but B was used temporarily by staff to acquire some in the event of machine downtime
|
||||
|
||||
Monster => name is B or C,
|
||||
Halloween => name is B or C,
|
||||
|
@ -42,17 +43,20 @@ public static class Gen3PCNY
|
|||
UnknownSpring => name is C or D,
|
||||
Colosseum => name is C or D,
|
||||
Box => name is C or D,
|
||||
BabyTrade => name is C or D,
|
||||
SlitherSwim => name is C or D,
|
||||
AncientAliens => name is C or D,
|
||||
Sixth => name is C or D,
|
||||
|
||||
BabyTrade => name is D,
|
||||
SlitherSwim => name is D,
|
||||
AncientAliens => name is D,
|
||||
Sixth => name is D,
|
||||
_ => throw new ArgumentOutOfRangeException(nameof(dist), dist, null),
|
||||
};
|
||||
|
||||
public static string GetTrainerName(this Distribution3NY dist, bool pivot) => dist switch
|
||||
{
|
||||
Evolution => pivot ? C : B,
|
||||
Dragon => pivot ? D : C,
|
||||
|
||||
Dragon => pivot ? D : C, // B was used temporarily by staff to acquire some in the event of machine downtime; don't use to generate.
|
||||
|
||||
Monster => pivot ? C : B,
|
||||
Halloween => pivot ? C : B,
|
||||
EXDragon => pivot ? C : B,
|
||||
|
@ -60,10 +64,11 @@ public static class Gen3PCNY
|
|||
UnknownSpring => pivot ? D : C,
|
||||
Colosseum => pivot ? D : C,
|
||||
Box => pivot ? D : C,
|
||||
BabyTrade => pivot ? D : C,
|
||||
SlitherSwim => pivot ? D : C,
|
||||
AncientAliens => pivot ? D : C,
|
||||
Sixth => pivot ? D : C,
|
||||
|
||||
BabyTrade => D,
|
||||
SlitherSwim => D,
|
||||
AncientAliens => D,
|
||||
Sixth => D,
|
||||
_ => throw new ArgumentOutOfRangeException(nameof(dist), dist, null),
|
||||
};
|
||||
}
|
||||
|
|
|
@ -97,7 +97,7 @@ public sealed class EncounterGift3JPN(ushort Species, Distribution3JPN Distribut
|
|||
public bool IsMatchExact(PKM pk, EvoCriteria evo)
|
||||
{
|
||||
// Gen3 Version MUST match.
|
||||
if (Version != 0 && !Version.Contains(pk.Version))
|
||||
if (pk.Version is not GameVersion.R)
|
||||
return false;
|
||||
|
||||
if (pk.IsEgg)
|
||||
|
|
|
@ -95,7 +95,7 @@ public sealed class EncounterGift3NY(ushort Species, Distribution3NY Distributio
|
|||
public bool IsMatchExact(PKM pk, EvoCriteria evo)
|
||||
{
|
||||
// Gen3 Version MUST match.
|
||||
if (Version != 0 && !Version.Contains(pk.Version))
|
||||
if (pk.Version is not (GameVersion.R or GameVersion.S))
|
||||
return false;
|
||||
|
||||
if (pk.IsEgg)
|
||||
|
|
Loading…
Reference in a new issue