diff --git a/PKHeX.Core/Resources/text/script/flags_frlg_en.txt b/PKHeX.Core/Resources/text/script/flags_frlg_en.txt index e69de29bb..8c18cec0c 100644 --- a/PKHeX.Core/Resources/text/script/flags_frlg_en.txt +++ b/PKHeX.Core/Resources/text/script/flags_frlg_en.txt @@ -0,0 +1,13 @@ +0082 Moltres Captured +0093 Zapdos Captured +0129 Mewtwo Captured +0130 Articuno Captured +0703 Zapdos Defeated +0x820 BADGE01_GET +0x821 BADGE02_GET +0x822 BADGE03_GET +0x823 BADGE04_GET +0x824 BADGE05_GET +0x825 BADGE06_GET +0x826 BADGE07_GET +0x827 BADGE08_GET \ No newline at end of file diff --git a/PKHeX.Core/Saves/SAV3.cs b/PKHeX.Core/Saves/SAV3.cs index d83db06bf..cefed1ff0 100644 --- a/PKHeX.Core/Saves/SAV3.cs +++ b/PKHeX.Core/Saves/SAV3.cs @@ -262,7 +262,7 @@ protected override byte[] Write(bool DSV) public override int NickLength => 10; public override int MaxMoney => 999999; protected override int EventFlagMax => 8 * (E ? 300 : 288); // 0x960 E, else 0x900 - protected override int EventConstMax => EventConst > 0 ? 0x100 : int.MinValue; + protected override int EventConstMax => 0x100; public override bool HasParty => true; @@ -383,7 +383,7 @@ public int PlayedFrames public override bool GetEventFlag(int flagNumber) { - if (flagNumber > EventFlagMax) + if (flagNumber >= EventFlagMax) throw new ArgumentException($"Event Flag to get ({flagNumber}) is greater than max ({EventFlagMax})."); var start = EventFlag; @@ -397,7 +397,7 @@ public override bool GetEventFlag(int flagNumber) public override void SetEventFlag(int flagNumber, bool value) { - if (flagNumber > EventFlagMax) + if (flagNumber >= EventFlagMax) throw new ArgumentException($"Event Flag to set ({flagNumber}) is greater than max ({EventFlagMax})."); var start = EventFlag; diff --git a/PKHeX.Core/Saves/SaveFile.cs b/PKHeX.Core/Saves/SaveFile.cs index 570dbf5b5..494ac0e64 100644 --- a/PKHeX.Core/Saves/SaveFile.cs +++ b/PKHeX.Core/Saves/SaveFile.cs @@ -311,7 +311,7 @@ public ushort[] EventConsts /// Flag is Set (true) or not Set (false) public virtual bool GetEventFlag(int flagNumber) { - if (flagNumber > EventFlagMax) + if (flagNumber >= EventFlagMax) throw new ArgumentException($"Event Flag to get ({flagNumber}) is greater than max ({EventFlagMax})."); return GetFlag(EventFlag + (flagNumber >> 3), flagNumber & 7); } @@ -324,7 +324,7 @@ public virtual bool GetEventFlag(int flagNumber) /// Flag is Set (true) or not Set (false) public virtual void SetEventFlag(int flagNumber, bool value) { - if (flagNumber > EventFlagMax) + if (flagNumber >= EventFlagMax) throw new ArgumentException($"Event Flag to set ({flagNumber}) is greater than max ({EventFlagMax})."); SetFlag(EventFlag + (flagNumber >> 3), flagNumber & 7, value); }