PKHeX/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic1E.cs
Kurt 6e1cbfcfe5 Split GB event types and segregate per VC/GB
Handle yielding in the moveset generator as well

Future commits will trim down unused values/abstractions; probably can get all the stadium stuff handled innately
2020-10-06 19:35:03 -07:00

56 lines
No EOL
1.5 KiB
C#

namespace PKHeX.Core
{
/// <summary>
/// Event data for Generation 1
/// </summary>
public sealed class EncounterStatic1E : EncounterStatic1
{
public EncounterGBLanguage Language { get; set; } = EncounterGBLanguage.Japanese;
/// <summary> Trainer name for the event. </summary>
public string OT_Name { get; set; } = string.Empty;
/// <summary> Trainer ID for the event. </summary>
public int TID { get; set; } = -1;
/// <summary>
/// Indicates if the event was distributed to Japanese games or International games.
/// </summary>
public bool Japanese { get; set; }
public EncounterStatic1E(int species, int level, GameVersion ver) : base(species, level, ver)
{
}
public override bool IsMatch(PKM pkm, DexLevel evo)
{
if (!base.IsMatch(pkm, evo))
return false;
if (Language != EncounterGBLanguage.Any && pkm.Japanese != (Language == EncounterGBLanguage.Japanese))
return false;
if (OT_Name.Length != 0 && pkm.OT_Name != OT_Name)
return false;
if (TID != -1 && pkm.TID != TID)
return false;
return true;
}
public override bool IsMatchDeferred(PKM pkm)
{
if (base.IsMatchDeferred(pkm))
return true;
return !ParseSettings.AllowGBCartEra;
}
}
public enum EncounterGBLanguage
{
Japanese,
English,
Any,
}
}