diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters1.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters1.cs index 98785cfdc..2993e3832 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters1.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters1.cs @@ -15,13 +15,6 @@ internal static class Encounters1 private static EncounterArea1[] Get(string name, string ident, GameVersion game) => EncounterArea1.GetAreas(BinLinker.Unpack(Util.GetBinaryResource($"encounter_{name}.pkl"), ident), game); - static Encounters1() - { - var trades = ArrayUtil.ConcatAll(TradeGift_RBY_NoTradeback, TradeGift_RBY_Tradeback); - foreach (var t in trades) - t.TrainerNames = StringConverter12.G1TradeOTName; - } - internal static readonly EncounterStatic1[] StaticRBY = { // GameVersion is RBY for Pokemon with the same catch rate and initial moves in all games diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters2.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters2.cs index c993e85d2..703d35710 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters2.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters2.cs @@ -19,15 +19,7 @@ internal static class Encounters2 private static EncounterArea2[] Get(string name, string ident, GameVersion game) => EncounterArea2.GetAreas(BinLinker.Unpack(Util.GetBinaryResource($"encounter_{name}.pkl"), ident), game); - static Encounters2() - { - MarkEncounterTradeStrings(TradeGift_GSC, TradeGift_GSC_OTs); - - StaticGSC.SetVersion(GameVersion.GSC); - StaticGS.SetVersion(GameVersion.GS); - StaticC.SetVersion(GameVersion.C); - TradeGift_GSC.SetVersion(GameVersion.GSC); - } + static Encounters2() => MarkEncounterTradeStrings(TradeGift_GSC, TradeGift_GSC_OTs); private static readonly EncounterStatic2[] Encounter_GSC_Common = { @@ -143,7 +135,7 @@ static Encounters2() private static readonly EncounterStatic2[] Encounter_C = Encounter_GSC_Common.Concat(Encounter_C_Exclusive).Concat(Encounter_GSC_Roam.Slice(0, 2)).ToArray(); private static readonly EncounterStatic2[] Encounter_GSC = Encounter_GSC_Common.Concat(Encounter_GS_Exclusive).Concat(Encounter_C_Exclusive).Concat(Encounter_GSC_Roam).ToArray(); - internal static readonly EncounterTradeGB[] TradeGift_GSC = + internal static readonly EncounterTrade2[] TradeGift_GSC = { new EncounterTrade2(095, 03, 48926) { Gender = 0, IVs = new[] {08, 09, 06, 06, 06, 06} }, // Onix @ Violet City for Bellsprout [wild] new EncounterTrade2(066, 05, 37460) { Gender = 1, IVs = new[] {12, 03, 07, 06, 06, 06} }, // Machop @ Goldenrod City for Drowzee [wild 9, hatched egg 5] @@ -163,14 +155,14 @@ static Encounters2() private const string tradeGSC = "tradegsc"; private static readonly string[][] TradeGift_GSC_OTs = Util.GetLanguageStrings8(tradeGSC); - internal static TreeEncounterAvailable GetGSCHeadbuttAvailability(EncounterSlot encounter, int TID) + internal static TreeEncounterAvailable GetGSCHeadbuttAvailability(EncounterSlot encounter, int trainerID) { - var Area = Array.Find(HeadbuttTreesC, a => a.Location == encounter.Location); - if (Area == null) // Failsafe, every area with headbutt encounters has a tree area + var area = Array.Find(HeadbuttTreesC, a => a.Location == encounter.Location); + if (area == null) // Failsafe, every area with headbutt encounters has a tree area return TreeEncounterAvailable.Impossible; - var table = Area.GetTrees(encounter.Area.Type); - var trainerpivot = TID % 10; + var table = area.GetTrees(encounter.Area.Type); + var trainerpivot = trainerID % 10; return table[trainerpivot]; } diff --git a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade1.cs b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade1.cs index 2c4dd2b32..b16551f84 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade1.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade1.cs @@ -23,7 +23,12 @@ public sealed class EncounterTrade1 : EncounterTradeGB private bool HasOddCatchRate => Catch_Rate != 0; public EncounterTrade1(int species, int level, GameVersion game, byte rate) : this(species, level, game) => Catch_Rate = rate; - public EncounterTrade1(int species, int level, GameVersion game) : base(species, level) => Version = game; + + public EncounterTrade1(int species, int level, GameVersion game) : base(species, level) + { + Version = game; + TrainerNames = StringConverter12.G1TradeOTName; + } public byte GetInitialCatchRate() { diff --git a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade2.cs b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade2.cs index 52477135f..86e37a0c3 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade2.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade2.cs @@ -9,6 +9,7 @@ public sealed class EncounterTrade2 : EncounterTradeGB public EncounterTrade2(int species, int level, int tid) : base(species, level) { TID = tid; + Version = GameVersion.GSC; // All share the same details } public override bool IsMatch(PKM pkm)