mirror of
https://github.com/kwsch/PKHeX.git
synced 2026-08-24 14:24:16 -05:00
store encountertrade nick/ot within object
allows for ot/nick fetch for a given language
This commit is contained in:
@@ -249,5 +249,17 @@ private static EncounterStatic DreamRadarClone(this EncounterStatic s, int level
|
||||
result.Ball = 25; // Dream Ball
|
||||
return result;
|
||||
}
|
||||
|
||||
internal static void MarkEncounterTradeStrings(EncounterTrade[] table, string[][] strings)
|
||||
{
|
||||
int half = strings[1].Length / 2;
|
||||
for (var i = 0; i < half; i++)
|
||||
{
|
||||
var t = table[i];
|
||||
t.Nicknames = getNames(i, strings);
|
||||
t.TrainerNames = getNames(i + half, strings);
|
||||
}
|
||||
string[] getNames(int i, IEnumerable<string[]> names) => names?.Select(z => z?.Length > i ? z[i] : null).ToArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,11 @@ static Encounters1()
|
||||
SlotsRBY = GetAreas();
|
||||
MarkEncountersGeneration(1, SlotsRBY);
|
||||
MarkEncountersGeneration(1, StaticRBY, TradeGift_RBY_NoTradeback, TradeGift_RBY_Tradeback);
|
||||
|
||||
var trades = TradeGift_RBY_Common.Concat(TradeGift_RBY_NoTradeback).Concat(TradeGift_RBY_Tradeback);
|
||||
var names = new[] {null, "トレーナー", "TRAINER", "TRAINER", "TRAINER", "TRAINER", null, "TRAINER", null};
|
||||
foreach (var t in trades)
|
||||
t.TrainerNames = names;
|
||||
}
|
||||
|
||||
private static EncounterArea[] GetAreas()
|
||||
|
||||
@@ -26,6 +26,8 @@ static Encounters2()
|
||||
ReduceAreasSize(ref SlotsGSC);
|
||||
MarkEncountersGeneration(2, SlotsGS, SlotsC, SlotsGSC);
|
||||
MarkEncountersGeneration(2, StaticGS, StaticC, StaticGSC, TradeGift_GSC);
|
||||
|
||||
MarkEncounterTradeStrings(TradeGift_GSC, TradeGift_GSC_OTs);
|
||||
}
|
||||
|
||||
private static EncounterArea[] GetTables2(GameVersion Version)
|
||||
|
||||
@@ -58,6 +58,9 @@ EncounterArea[] get(string resource, string ident)
|
||||
|
||||
MarkEncountersGeneration(3, SlotsR, SlotsS, SlotsE, SlotsFR, SlotsLG, SlotsXD);
|
||||
MarkEncountersGeneration(3, StaticR, StaticS, StaticE, StaticFR, StaticLG, Encounter_CXD, TradeGift_RSE, TradeGift_FRLG);
|
||||
|
||||
MarkEncounterTradeStrings(TradeGift_RSE, TradeRSE);
|
||||
MarkEncounterTradeStrings(TradeGift_FRLG, TradeFRLG);
|
||||
}
|
||||
|
||||
private static void MarkG3Slots_FRLG(ref EncounterArea[] Areas)
|
||||
|
||||
@@ -76,6 +76,9 @@ byte[][] get(string resource, string ident)
|
||||
|
||||
MarkEncountersGeneration(4, SlotsD, SlotsP, SlotsPt, SlotsHG, SlotsSS);
|
||||
MarkEncountersGeneration(4, StaticD, StaticP, StaticPt, StaticHG, StaticSS, TradeGift_DPPt, TradeGift_HGSS);
|
||||
|
||||
MarkEncounterTradeStrings(TradeGift_DPPt, TradeDPPt);
|
||||
MarkEncounterTradeStrings(TradeGift_HGSS, TradeHGSS);
|
||||
}
|
||||
|
||||
private static EncounterArea[] GetFeebasArea(EncounterArea template)
|
||||
|
||||
@@ -46,6 +46,11 @@ static Encounters5()
|
||||
|
||||
MarkEncountersGeneration(5, SlotsB, SlotsW, SlotsB2, SlotsW2);
|
||||
MarkEncountersGeneration(5, StaticB, StaticW, StaticB2, StaticW2, TradeGift_BW, TradeGift_B2W2);
|
||||
|
||||
MarkEncounterTradeStrings(TradeGift_BW, TradeBW);
|
||||
MarkEncounterTradeStrings(TradeGift_B2W2_Regular, TradeB2W2);
|
||||
foreach (var t in TradeGift_B2W2_YancyCurtis)
|
||||
t.TrainerNames = t.OTGender == 0 ? TradeOT_B2W2_M : TradeOT_B2W2_F;
|
||||
}
|
||||
|
||||
private static void MarkBWSwarmSlots(EncounterArea[] Areas)
|
||||
|
||||
@@ -36,6 +36,8 @@ static Encounters6()
|
||||
MarkEncountersGeneration(6, StaticX, StaticY, StaticA, StaticO, TradeGift_XY, TradeGift_AO);
|
||||
|
||||
FriendSafari = GetFriendSafariArea();
|
||||
MarkEncounterTradeStrings(TradeGift_XY, TradeXY);
|
||||
MarkEncounterTradeStrings(TradeGift_AO, TradeAO);
|
||||
}
|
||||
|
||||
private static ILookup<int, EncounterSlot> GetFriendSafariArea()
|
||||
|
||||
@@ -47,6 +47,9 @@ static Encounters7()
|
||||
|
||||
MarkEncountersGeneration(7, SlotsSN, SlotsMN, SlotsUS, SlotsUM);
|
||||
MarkEncountersGeneration(7, StaticSN, StaticMN, StaticUS, StaticUM, TradeGift_SM, TradeGift_USUM);
|
||||
|
||||
MarkEncounterTradeStrings(TradeGift_SM, TradeSM);
|
||||
MarkEncounterTradeStrings(TradeGift_USUM, TradeUSUM);
|
||||
}
|
||||
private static void MarkG7REGSlots(ref EncounterArea[] Areas)
|
||||
{
|
||||
|
||||
@@ -44,6 +44,11 @@ public class EncounterTrade : IEncounterable, IMoveset, IGeneration, ILocation,
|
||||
public bool Fateful { get; set; }
|
||||
public bool IsNicknamed { get; set; } = true;
|
||||
|
||||
public string[] Nicknames { get; internal set; }
|
||||
public string[] TrainerNames { get; internal set; }
|
||||
public string GetNickname(int language) => Nicknames?.Length < language ? Nicknames[language] : null;
|
||||
public string GetOT(int language) => TrainerNames?.Length < language ? TrainerNames[language] : null;
|
||||
|
||||
public static readonly int[] DefaultMetLocation =
|
||||
{
|
||||
0, 126, 254, 2001, 30002, 30001, 30001,
|
||||
|
||||
Reference in New Issue
Block a user