Add more memory checks

Mostly gen3-5 checks if they're ever supported; added bad hack check.

Check yer battle videos to expose da haxxers.
This commit is contained in:
Kurt 2016-12-07 18:28:24 -08:00
parent 2986337a74
commit 5627b07e84
4 changed files with 16 additions and 3 deletions

View file

@ -1060,8 +1060,20 @@ namespace PKHeX
{
if (!Encounter.Valid)
return new CheckResult(Severity.Valid, "Skipped History check due to other check being invalid.", CheckIdentifier.History);
if (pkm.GenNumber < 6)
return new CheckResult(Severity.Valid, "No History Block to check.", CheckIdentifier.History);
{
if (pkm.Format < 6)
return new CheckResult(Severity.Valid, "No History Block to check.", CheckIdentifier.History);
if (pkm.OT_Affection > 0)
return new CheckResult(Severity.Invalid, "OT Affection should be zero.", CheckIdentifier.History);
if (pkm.OT_Memory > 0 || pkm.OT_Feeling > 0 || pkm.OT_Intensity > 0 || pkm.OT_TextVar > 0)
return new CheckResult(Severity.Invalid, "Should not have OT memories.", CheckIdentifier.History);
}
if (pkm.HT_Gender > 1)
return new CheckResult(Severity.Invalid, $"HT Gender invalid {pkm.HT_Gender}.", CheckIdentifier.History);
WC6 MatchedWC6 = EncounterMatch as WC6;
if (MatchedWC6?.OT.Length > 0) // Has Event OT -- null propagation yields false if MatchedWC6=null

View file

@ -311,7 +311,7 @@ namespace PKHeX
Encoding.Unicode.GetBytes(TempNick).CopyTo(Data, 0x78);
}
}
public int HT_Gender { get { return Data[0x92]; } set { Data[0x92] = (byte)value; } }
public override int HT_Gender { get { return Data[0x92]; } set { Data[0x92] = (byte)value; } }
public override int CurrentHandler { get { return Data[0x93]; } set { Data[0x93] = (byte)value; } }
public override int Geo1_Region { get { return Data[0x94]; } set { Data[0x94] = (byte)value; } }
public override int Geo1_Country { get { return Data[0x95]; } set { Data[0x95] = (byte)value; } }

View file

@ -319,7 +319,7 @@ namespace PKHeX
Encoding.Unicode.GetBytes(TempNick).CopyTo(Data, 0x78);
}
}
public int HT_Gender { get { return Data[0x92]; } set { Data[0x92] = (byte)value; } }
public override int HT_Gender { get { return Data[0x92]; } set { Data[0x92] = (byte)value; } }
public override int CurrentHandler { get { return Data[0x93]; } set { Data[0x93] = (byte)value; } }
public override int Geo1_Region { get { return Data[0x94]; } set { Data[0x94] = (byte)value; } }
public override int Geo1_Country { get { return Data[0x95]; } set { Data[0x95] = (byte)value; } }

View file

@ -131,6 +131,7 @@ namespace PKHeX
protected virtual int Met_Month { get { return 0; } set { } }
protected virtual int Met_Day { get { return 0; } set { } }
public virtual string HT_Name { get; set; }
public virtual int HT_Gender { get; set; }
public virtual int HT_Affection { get; set; }
public virtual int HT_Friendship { get; set; }
public virtual int HT_Memory { get; set; }