mirror of
https://github.com/kwsch/PKHeX.git
synced 2026-04-21 06:28:56 -05:00
Misc tweaks for enc->pk ctor language/version
lang->language only pass version if relevant
This commit is contained in:
parent
efa627f703
commit
76f2705c9c
|
|
@ -40,7 +40,7 @@ public string LongName
|
|||
|
||||
public PB7 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var rnd = Util.Rand;
|
||||
var date = this.GetRandomValidDate();
|
||||
var pk = new PB7
|
||||
|
|
@ -57,7 +57,7 @@ public PB7 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
Ball = (byte)Ball.Poke,
|
||||
MetDate = date,
|
||||
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
ID32 = tr.ID32,
|
||||
|
|
@ -67,7 +67,7 @@ public PB7 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
};
|
||||
SetPINGA(pk, criteria);
|
||||
EncounterUtil.SetEncounterMoves(pk, Version, LevelMin);
|
||||
pk.Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation);
|
||||
pk.Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation);
|
||||
SetEncounterMoves(pk, LevelMin);
|
||||
pk.AwakeningSetAllTo(2);
|
||||
pk.HeightScalar = PokeSizeUtil.GetRandomScalar(rnd);
|
||||
|
|
|
|||
|
|
@ -113,10 +113,10 @@ public bool IsBallValid(Ball ball, ushort currentSpecies, PKM pk)
|
|||
public PKM ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
var pk = GetBlank();
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var rnd = Util.Rand;
|
||||
{
|
||||
pk.Language = lang;
|
||||
pk.Language = language;
|
||||
pk.PID = rnd.Rand32();
|
||||
pk.EncryptionConstant = rnd.Rand32();
|
||||
pk.Species = Species;
|
||||
|
|
@ -139,7 +139,7 @@ public PKM ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
}
|
||||
SetPINGA(pk, criteria);
|
||||
EncounterUtil.SetEncounterMoves(pk, Version, LevelMin);
|
||||
pk.Nickname = SpeciesName.GetSpeciesNameImportHOME(Species, lang, Generation);
|
||||
pk.Nickname = SpeciesName.GetSpeciesNameImportHOME(Species, language, Generation);
|
||||
SetEncounterMoves(pk, LevelMin);
|
||||
|
||||
if (pk is IScaledSize s2)
|
||||
|
|
|
|||
|
|
@ -31,9 +31,10 @@ public sealed record EncounterSlot1(EncounterArea1 Parent, ushort Species, byte
|
|||
|
||||
public PK1 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, Version);
|
||||
var isJapanese = lang == (int)LanguageID.Japanese;
|
||||
var pi = EncounterUtil.GetPersonal1(Version, Species);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var isJapanese = language == (int)LanguageID.Japanese;
|
||||
var pi = EncounterUtil.GetPersonal1(version, Species);
|
||||
var pk = new PK1(isJapanese)
|
||||
{
|
||||
Species = Species,
|
||||
|
|
@ -41,16 +42,16 @@ public PK1 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
CatchRate = pi.CatchRate,
|
||||
DV16 = EncounterUtil.GetRandomDVs(Util.Rand, criteria.Shiny.IsShiny(), criteria.HiddenPowerType),
|
||||
|
||||
OriginalTrainerName = EncounterUtil.GetTrainerName(tr, lang),
|
||||
OriginalTrainerName = EncounterUtil.GetTrainerName(tr, language),
|
||||
TID16 = tr.TID16,
|
||||
Type1 = pi.Type1,
|
||||
Type2 = pi.Type2,
|
||||
};
|
||||
pk.SetNotNicknamed(lang);
|
||||
pk.SetNotNicknamed(language);
|
||||
if (criteria.Shiny.IsShiny())
|
||||
pk.SetShiny();
|
||||
|
||||
EncounterUtil.SetEncounterMoves(pk, Version, LevelMin);
|
||||
EncounterUtil.SetEncounterMoves(pk, version, LevelMin);
|
||||
|
||||
pk.ResetPartyStats();
|
||||
return pk;
|
||||
|
|
|
|||
|
|
@ -34,9 +34,10 @@ public sealed record EncounterStatic1(ushort Species, byte Level, GameVersion Ve
|
|||
|
||||
public PK1 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, Version);
|
||||
var isJapanese = lang == (int)LanguageID.Japanese;
|
||||
var pi = EncounterUtil.GetPersonal1(Version, Species);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var isJapanese = language == (int)LanguageID.Japanese;
|
||||
var pi = EncounterUtil.GetPersonal1(version, Species);
|
||||
var pk = new PK1(isJapanese)
|
||||
{
|
||||
Species = Species,
|
||||
|
|
@ -45,16 +46,16 @@ public PK1 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
DV16 = criteria.IsSpecifiedIVsAll() ? criteria.GetCombinedDVs()
|
||||
: EncounterUtil.GetRandomDVs(Util.Rand, criteria.Shiny.IsShiny(), criteria.HiddenPowerType),
|
||||
|
||||
OriginalTrainerName = EncounterUtil.GetTrainerName(tr, lang),
|
||||
OriginalTrainerName = EncounterUtil.GetTrainerName(tr, language),
|
||||
TID16 = tr.TID16,
|
||||
Type1 = pi.Type1,
|
||||
Type2 = pi.Type2,
|
||||
};
|
||||
pk.SetNotNicknamed(lang);
|
||||
pk.SetNotNicknamed(language);
|
||||
if (criteria.Shiny.IsShiny())
|
||||
pk.SetShiny();
|
||||
|
||||
EncounterUtil.SetEncounterMoves(pk, Version, LevelMin);
|
||||
EncounterUtil.SetEncounterMoves(pk, version, LevelMin);
|
||||
|
||||
pk.ResetPartyStats();
|
||||
return pk;
|
||||
|
|
|
|||
|
|
@ -115,9 +115,10 @@ public PK1 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
{
|
||||
bool gsc = CanObtainMinGSC();
|
||||
var level = gsc ? LevelMinGSC : LevelMinRBY;
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, Version);
|
||||
var isJapanese = lang == (int)LanguageID.Japanese;
|
||||
var pi = EncounterUtil.GetPersonal1(Version, Species);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var isJapanese = language == (int)LanguageID.Japanese;
|
||||
var pi = EncounterUtil.GetPersonal1(version, Species);
|
||||
var pk = new PK1(isJapanese)
|
||||
{
|
||||
Species = Species,
|
||||
|
|
@ -126,14 +127,14 @@ public PK1 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
DV16 = criteria.IsSpecifiedIVsAll() ? criteria.GetCombinedDVs()
|
||||
: EncounterUtil.GetRandomDVs(Util.Rand, criteria.Shiny.IsShiny(), criteria.HiddenPowerType),
|
||||
|
||||
Nickname = Nicknames.Span[lang],
|
||||
Nickname = Nicknames.Span[language],
|
||||
TID16 = tr.TID16,
|
||||
Type1 = pi.Type1,
|
||||
Type2 = pi.Type2,
|
||||
};
|
||||
pk.OriginalTrainerTrash[0] = StringConverter1.TradeOTCode;
|
||||
|
||||
EncounterUtil.SetEncounterMoves(pk, Version, level);
|
||||
EncounterUtil.SetEncounterMoves(pk, version, level);
|
||||
if (EvolveOnTrade)
|
||||
pk.Species++;
|
||||
|
||||
|
|
|
|||
|
|
@ -80,8 +80,8 @@ public bool IsTreeAvailable(ushort trainerID)
|
|||
|
||||
public PK2 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var isJapanese = lang == (int)LanguageID.Japanese;
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var isJapanese = language == (int)LanguageID.Japanese;
|
||||
var pi = PersonalTable.C[Species];
|
||||
var pk = new PK2(isJapanese)
|
||||
{
|
||||
|
|
@ -92,11 +92,11 @@ public PK2 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
DV16 = criteria.IsSpecifiedIVsAll() ? criteria.GetCombinedDVs()
|
||||
: EncounterUtil.GetRandomDVs(Util.Rand, criteria.Shiny.IsShiny(), criteria.HiddenPowerType),
|
||||
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerName = tr.OT,
|
||||
TID16 = tr.TID16,
|
||||
};
|
||||
pk.SetNotNicknamed(lang);
|
||||
pk.SetNotNicknamed(language);
|
||||
if (criteria.Shiny.IsShiny())
|
||||
pk.SetShiny();
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public sealed record EncounterStatic2(ushort Species, byte Level, GameVersion Ve
|
|||
public PK2 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var pi = PersonalTable.C[Species];
|
||||
var pk = new PK2
|
||||
{
|
||||
|
|
@ -55,7 +55,7 @@ public PK2 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
};
|
||||
pk.SetNotNicknamed(lang);
|
||||
pk.SetNotNicknamed(language);
|
||||
|
||||
pk.DV16 = IVs.IsSpecified ? EncounterUtil.GetDV16(IVs) :
|
||||
criteria.IsSpecifiedIVsAll() ? criteria.GetCombinedDVs() :
|
||||
|
|
|
|||
|
|
@ -56,9 +56,9 @@ public EncounterTrade2(ReadOnlySpan<string[]> names, byte index, ushort species,
|
|||
|
||||
public PK2 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
// Prefer to generate as Crystal, as it will include met data.
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, GameVersion.C);
|
||||
var isJapanese = lang == (int)LanguageID.Japanese;
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var isJapanese = language == (int)LanguageID.Japanese;
|
||||
var pi = PersonalTable.C[Species];
|
||||
var pk = new PK2(isJapanese)
|
||||
{
|
||||
|
|
@ -67,8 +67,8 @@ public PK2 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
|
||||
MetLocation = Location,
|
||||
|
||||
Nickname = Nicknames.Span[lang],
|
||||
OriginalTrainerName = TrainerNames.Span[lang],
|
||||
Nickname = Nicknames.Span[language],
|
||||
OriginalTrainerName = TrainerNames.Span[language],
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
};
|
||||
|
||||
|
|
@ -86,7 +86,7 @@ public PK2 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
pk.TID16 = tr.TID16;
|
||||
}
|
||||
|
||||
EncounterUtil.SetEncounterMoves(pk, Version, Level);
|
||||
EncounterUtil.SetEncounterMoves(pk, version, Level);
|
||||
|
||||
pk.ResetPartyStats();
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public record EncounterSlot3(EncounterArea3 Parent, ushort Species, byte Form, b
|
|||
|
||||
public PK3 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = Version switch
|
||||
{
|
||||
GameVersion.RSE => tr.Version switch
|
||||
|
|
@ -62,11 +62,11 @@ public PK3 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
Version = version,
|
||||
Ball = (byte)GetRequiredBall(Ball.Poke),
|
||||
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
ID32 = tr.ID32,
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
};
|
||||
|
||||
SetPINGA(pk, criteria, pi);
|
||||
|
|
|
|||
|
|
@ -86,8 +86,8 @@ public EncounterTrade3(ReadOnlySpan<string[]> names, byte index, GameVersion gam
|
|||
|
||||
public PK3 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var pi = PersonalTable.E[Species];
|
||||
var pk = new PK3
|
||||
{
|
||||
|
|
@ -100,17 +100,17 @@ public PK3 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
Ball = (byte)FixedBall,
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerGender = OTGender,
|
||||
TID16 = TID16,
|
||||
SID16 = SID16,
|
||||
};
|
||||
|
||||
// Italian LG Jynx untranslated from English name
|
||||
if (Species == (int)Core.Species.Jynx && version == GameVersion.LG && lang == (int)LanguageID.Italian)
|
||||
lang = 2;
|
||||
pk.Nickname = Nicknames.Span[lang];
|
||||
pk.OriginalTrainerName = TrainerNames.Span[lang];
|
||||
if (Species == (int)Core.Species.Jynx && version == GameVersion.LG && language == (int)LanguageID.Italian)
|
||||
language = 2;
|
||||
pk.Nickname = Nicknames.Span[language];
|
||||
pk.OriginalTrainerName = TrainerNames.Span[language];
|
||||
|
||||
EncounterUtil.SetEncounterMoves(pk, Version, Level);
|
||||
SetPINGA(pk, criteria);
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public sealed record EncounterShadow3XD(byte Index, ushort Gauge, ReadOnlyMemory
|
|||
|
||||
public XK3 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var pi = PersonalTable.E[Species];
|
||||
var pk = new XK3
|
||||
{
|
||||
|
|
@ -57,11 +57,11 @@ public XK3 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
Ball = (byte)(FixedBall != Ball.None ? FixedBall : Ball.Poke),
|
||||
FatefulEncounter = FatefulEncounter,
|
||||
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = 0,
|
||||
ID32 = tr.ID32,
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
|
||||
// Fake as Purified
|
||||
RibbonNational = true,
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public sealed record EncounterSlot3XD(EncounterArea3XD Parent, ushort Species, b
|
|||
|
||||
public XK3 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var pi = PersonalTable.E[Species];
|
||||
var pk = new XK3
|
||||
{
|
||||
|
|
@ -43,11 +43,11 @@ public XK3 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
Version = GameVersion.CXD,
|
||||
Ball = (byte)Ball.Poke,
|
||||
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = 0,
|
||||
ID32 = tr.ID32,
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
};
|
||||
|
||||
SetPINGA(pk, criteria, pi);
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public sealed record EncounterStatic3XD(ushort Species, byte Level)
|
|||
|
||||
public XK3 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var pi = PersonalTable.E[Species];
|
||||
var pk = new XK3
|
||||
{
|
||||
|
|
@ -48,11 +48,11 @@ public XK3 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
Ball = (byte)(FixedBall != Ball.None ? FixedBall : Ball.Poke),
|
||||
FatefulEncounter = FatefulEncounter,
|
||||
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = 0,
|
||||
ID32 = tr.ID32,
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
};
|
||||
|
||||
SetPINGA(pk, criteria, pi);
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ private Ball GetRequiredBallValue(Ball fallback = Ball.None)
|
|||
|
||||
public PK4 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var pi = PersonalTable.HGSS[Species];
|
||||
var pk = new PK4
|
||||
{
|
||||
|
|
@ -61,11 +61,11 @@ public PK4 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
MetDate = EncounterDate.GetDateNDS(),
|
||||
Ball = (byte)GetRequiredBallValue(Ball.Poke),
|
||||
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
ID32 = tr.ID32,
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
};
|
||||
|
||||
SetPINGA(pk, criteria, pi);
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ public sealed record EncounterStatic4(GameVersion Version)
|
|||
|
||||
public PK4 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
var pi = PersonalTable.HGSS[Species];
|
||||
var pk = new PK4
|
||||
|
|
@ -70,11 +70,11 @@ public PK4 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
Ball = (byte)(FixedBall != Ball.None ? FixedBall : Ball.Poke),
|
||||
FatefulEncounter = FatefulEncounter,
|
||||
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
ID32 = tr.ID32,
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
};
|
||||
|
||||
if (IsEgg)
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ public static EncounterStatic4Pokewalker[] GetAll(ReadOnlySpan<byte> data)
|
|||
|
||||
public PK4 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
var pi = PersonalTable.HGSS[Species];
|
||||
var pk = new PK4
|
||||
|
|
@ -83,11 +83,11 @@ public PK4 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
MetDate = EncounterDate.GetDateNDS(),
|
||||
Ball = (byte)FixedBall,
|
||||
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
ID32 = tr.ID32,
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
};
|
||||
|
||||
SetPINGA(pk, criteria, pi);
|
||||
|
|
|
|||
|
|
@ -77,8 +77,8 @@ public EncounterTrade4PID(ReadOnlySpan<string[]> names, byte index, GameVersion
|
|||
|
||||
public PK4 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var pi = PersonalTable.DP[Species];
|
||||
var pk = new PK4
|
||||
{
|
||||
|
|
@ -94,14 +94,14 @@ public PK4 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
|
||||
ID32 = ID32,
|
||||
Version = version,
|
||||
Language = GetReceivedLanguage(lang, version),
|
||||
Language = GetReceivedLanguage(language, version),
|
||||
OriginalTrainerGender = OTGender,
|
||||
OriginalTrainerName = TrainerNames.Span[lang],
|
||||
OriginalTrainerName = TrainerNames.Span[language],
|
||||
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
IsNicknamed = true,
|
||||
Nickname = Nicknames.Span[lang],
|
||||
Nickname = Nicknames.Span[language],
|
||||
|
||||
HandlingTrainerName = tr.OT,
|
||||
HandlingTrainerGender = tr.Gender,
|
||||
|
|
|
|||
|
|
@ -85,8 +85,8 @@ public EncounterTrade4RanchGift(ushort species, byte met, byte level)
|
|||
|
||||
public PK4 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var pi = PersonalTable.DP[Species];
|
||||
var pk = new PK4
|
||||
{
|
||||
|
|
@ -101,13 +101,13 @@ public PK4 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
|
||||
ID32 = ID32,
|
||||
Version = version,
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerGender = OTGender,
|
||||
OriginalTrainerName = GetTrainerName(lang),
|
||||
OriginalTrainerName = GetTrainerName(language),
|
||||
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
|
||||
HandlingTrainerName = tr.OT,
|
||||
HandlingTrainerGender = tr.Gender,
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ public sealed record EncounterSlot5(EncounterArea5 Parent, ushort Species, byte
|
|||
|
||||
public PK5 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var pi = PersonalTable.B2W2[Species];
|
||||
var pk = new PK5
|
||||
{
|
||||
|
|
@ -59,11 +59,11 @@ public PK5 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
Ball = (byte)Ball.Poke,
|
||||
MetDate = EncounterDate.GetDateNDS(),
|
||||
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
ID32 = tr.ID32,
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
};
|
||||
|
||||
SetPINGA(pk, criteria, pi);
|
||||
|
|
|
|||
|
|
@ -40,8 +40,8 @@ public sealed record EncounterStatic5(GameVersion Version)
|
|||
|
||||
public PK5 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var pi = PersonalTable.B2W2[Species];
|
||||
var pk = new PK5
|
||||
{
|
||||
|
|
@ -55,13 +55,13 @@ public PK5 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
|
||||
ID32 = tr.ID32,
|
||||
Version = version,
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
OriginalTrainerName = tr.OT,
|
||||
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
};
|
||||
|
||||
if (IsEgg)
|
||||
|
|
|
|||
|
|
@ -32,8 +32,8 @@ public EncounterStatic5Entree(GameVersion version, ushort species, byte level, b
|
|||
|
||||
public PK5 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var pi = PersonalTable.B2W2[Species];
|
||||
var pk = new PK5
|
||||
{
|
||||
|
|
@ -47,13 +47,13 @@ public PK5 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
|
||||
ID32 = tr.ID32,
|
||||
Version = version,
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
OriginalTrainerName = tr.OT,
|
||||
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
};
|
||||
|
||||
if (Moves.HasMoves)
|
||||
|
|
|
|||
|
|
@ -43,8 +43,8 @@ public sealed record EncounterStatic5N(uint PID)
|
|||
|
||||
public PK5 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var pi = PersonalTable.B2W2[Species];
|
||||
var pk = new PK5
|
||||
{
|
||||
|
|
@ -56,11 +56,11 @@ public PK5 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
Ball = (byte)(FixedBall != Ball.None ? FixedBall : Ball.Poke),
|
||||
|
||||
Version = version,
|
||||
Language = lang,
|
||||
Language = language,
|
||||
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
IV_HP = IV,
|
||||
IV_ATK = IV,
|
||||
IV_DEF = IV,
|
||||
|
|
@ -69,7 +69,7 @@ public PK5 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
IV_SPE = IV,
|
||||
|
||||
NSparkle = NSparkle,
|
||||
OriginalTrainerName = GetOT(lang),
|
||||
OriginalTrainerName = GetOT(language),
|
||||
OriginalTrainerGender = 0,
|
||||
ID32 = ID32,
|
||||
PID = PID,
|
||||
|
|
|
|||
|
|
@ -28,8 +28,8 @@ public sealed record EncounterStatic5Radar(ushort Species, byte Form, AbilityPer
|
|||
|
||||
public PK5 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var pi = PersonalTable.B2W2[Species];
|
||||
var pk = new PK5
|
||||
{
|
||||
|
|
@ -43,13 +43,13 @@ public PK5 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
|
||||
ID32 = tr.ID32,
|
||||
Version = version,
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
OriginalTrainerName = tr.OT,
|
||||
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
};
|
||||
|
||||
EncounterUtil.SetEncounterMoves(pk, version, LevelMin);
|
||||
|
|
|
|||
|
|
@ -71,8 +71,8 @@ public EncounterTrade5B2W2(string[] names, GameVersion version)
|
|||
|
||||
public PK5 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var pi = PersonalTable.B2W2[Species];
|
||||
var pk = new PK5
|
||||
{
|
||||
|
|
@ -87,14 +87,14 @@ public PK5 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
|
||||
ID32 = ID32,
|
||||
Version = version,
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerGender = OTGender,
|
||||
OriginalTrainerName = TrainerNames.Span[lang],
|
||||
OriginalTrainerName = TrainerNames.Span[language],
|
||||
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
IsNicknamed = IsFixedNickname,
|
||||
Nickname = IsFixedNickname ? Nicknames.Span[lang] : SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = IsFixedNickname ? Nicknames.Span[language] : SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
};
|
||||
|
||||
EncounterUtil.SetEncounterMoves(pk, version, Level);
|
||||
|
|
|
|||
|
|
@ -69,8 +69,8 @@ public EncounterTrade5BW(ReadOnlySpan<string[]> names, byte index, GameVersion v
|
|||
|
||||
public PK5 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var pi = PersonalTable.BW[Species];
|
||||
var pk = new PK5
|
||||
{
|
||||
|
|
@ -87,14 +87,14 @@ public PK5 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
|
||||
TID16 = TID16,
|
||||
Version = version,
|
||||
Language = lang == 1 ? 0 : lang, // Trades for JPN games have language ID of 0, not 1.
|
||||
Language = language == 1 ? 0 : language, // Trades for JPN games have language ID of 0, not 1.
|
||||
OriginalTrainerGender = OTGender,
|
||||
OriginalTrainerName = TrainerNames.Span[lang],
|
||||
OriginalTrainerName = TrainerNames.Span[language],
|
||||
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
IsNicknamed = IsFixedNickname,
|
||||
Nickname = IsFixedNickname ? Nicknames.Span[lang] : SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = IsFixedNickname ? Nicknames.Span[language] : SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
};
|
||||
|
||||
EncounterUtil.SetEncounterMoves(pk, version, Level);
|
||||
|
|
|
|||
|
|
@ -57,8 +57,9 @@ private ReadOnlySpan<ushort> GetDexNavMoves()
|
|||
|
||||
public PK6 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var pi = PersonalTable.AO[Species];
|
||||
var geo = tr.GetRegionOrigin(language);
|
||||
var pk = new PK6
|
||||
{
|
||||
Species = Species,
|
||||
|
|
@ -71,16 +72,16 @@ public PK6 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
Ball = (byte)Ball.Poke,
|
||||
MetDate = EncounterDate.GetDate3DS(),
|
||||
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
ID32 = tr.ID32,
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
|
||||
ConsoleRegion = geo.ConsoleRegion,
|
||||
Country = geo.Country,
|
||||
Region = geo.Region,
|
||||
};
|
||||
if (tr is IRegionOrigin r)
|
||||
r.CopyRegionOrigin(pk);
|
||||
else
|
||||
pk.SetDefaultRegionOrigins(lang);
|
||||
|
||||
SetPINGA(pk, criteria, pi);
|
||||
EncounterUtil.SetEncounterMoves(pk, Version, LevelMin);
|
||||
|
|
|
|||
|
|
@ -49,10 +49,11 @@ public sealed record EncounterSlot6XY(EncounterArea6XY Parent, ushort Species, b
|
|||
|
||||
public PK6 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = Version != GameVersion.XY ? Version : GameVersion.XY.Contains(tr.Version) ? tr.Version : GameVersion.X;
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = Version != GameVersion.XY ? Version : tr.Version is GameVersion.X or GameVersion.Y ? tr.Version : GameVersion.X;
|
||||
var form = GetWildForm(Form);
|
||||
var pi = PersonalTable.XY[Species, form];
|
||||
var geo = tr.GetRegionOrigin(language);
|
||||
var pk = new PK6
|
||||
{
|
||||
Species = Species,
|
||||
|
|
@ -64,17 +65,17 @@ public PK6 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
MetDate = EncounterDate.GetDate3DS(),
|
||||
|
||||
Version = version,
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
ID32 = tr.ID32,
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
ConsoleRegion = geo.ConsoleRegion,
|
||||
Country = geo.Country,
|
||||
Region = geo.Region,
|
||||
};
|
||||
if (tr is IRegionOrigin r)
|
||||
r.CopyRegionOrigin(pk);
|
||||
else
|
||||
pk.SetDefaultRegionOrigins(lang);
|
||||
|
||||
if (IsRandomUnspecificForm && Form == EncounterUtil.FormVivillon)
|
||||
pk.Form = Vivillon3DS.GetPattern(pk.Country, pk.Region);
|
||||
|
|
|
|||
|
|
@ -50,10 +50,11 @@ public sealed record EncounterStatic6(GameVersion Version)
|
|||
|
||||
public PK6 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var pi = PersonalTable.AO[Species];
|
||||
var rnd = Util.Rand;
|
||||
var geo = tr.GetRegionOrigin(language);
|
||||
var pk = new PK6
|
||||
{
|
||||
EncryptionConstant = rnd.Rand32(),
|
||||
|
|
@ -68,13 +69,17 @@ public PK6 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
FatefulEncounter = FatefulEncounter,
|
||||
ID32 = tr.ID32,
|
||||
Version = version,
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
OriginalTrainerName = tr.OT,
|
||||
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
|
||||
ConsoleRegion = geo.ConsoleRegion,
|
||||
Country = geo.Country,
|
||||
Region = geo.Region,
|
||||
};
|
||||
|
||||
if (IsEgg)
|
||||
|
|
@ -86,11 +91,6 @@ public PK6 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
pk.EggMetDate = pk.MetDate;
|
||||
}
|
||||
|
||||
if (tr is IRegionOrigin r)
|
||||
r.CopyRegionOrigin(pk);
|
||||
else
|
||||
pk.SetDefaultRegionOrigins(lang);
|
||||
|
||||
if (Moves.HasMoves)
|
||||
pk.SetMoves(Moves);
|
||||
else
|
||||
|
|
|
|||
|
|
@ -66,10 +66,11 @@ public EncounterTrade6(ReadOnlySpan<string[]> names, byte index, GameVersion ver
|
|||
|
||||
public PK6 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var pi = PersonalTable.AO[Species];
|
||||
var rnd = Util.Rand;
|
||||
var geo = tr.GetRegionOrigin(language);
|
||||
var pk = new PK6
|
||||
{
|
||||
PID = rnd.Rand32(),
|
||||
|
|
@ -85,9 +86,9 @@ public PK6 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
|
||||
ID32 = ID32,
|
||||
Version = version,
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerGender = OTGender,
|
||||
OriginalTrainerName = TrainerNames.Span[lang],
|
||||
OriginalTrainerName = TrainerNames.Span[language],
|
||||
|
||||
OriginalTrainerMemory = OriginalTrainerMemory,
|
||||
OriginalTrainerMemoryIntensity = OriginalTrainerMemoryIntensity,
|
||||
|
|
@ -96,17 +97,17 @@ public PK6 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
IsNicknamed = IsFixedNickname,
|
||||
Nickname = IsFixedNickname ? Nicknames.Span[lang] : SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = IsFixedNickname ? Nicknames.Span[language] : SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
|
||||
HandlingTrainerName = tr.OT,
|
||||
HandlingTrainerGender = tr.Gender,
|
||||
CurrentHandler = 1,
|
||||
HandlingTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
ConsoleRegion = geo.ConsoleRegion,
|
||||
Country = geo.Country,
|
||||
Region = geo.Region,
|
||||
};
|
||||
if (tr is IRegionOrigin r)
|
||||
r.CopyRegionOrigin(pk);
|
||||
else
|
||||
pk.SetDefaultRegionOrigins(lang);
|
||||
|
||||
EncounterUtil.SetEncounterMoves(pk, version, Level);
|
||||
if (pk.IsShiny)
|
||||
|
|
|
|||
|
|
@ -45,9 +45,10 @@ public sealed record EncounterSlot7(EncounterArea7 Parent, ushort Species, byte
|
|||
public PK7 ConvertToPKM(ITrainerInfo tr) => ConvertToPKM(tr, EncounterCriteria.Unrestricted);
|
||||
public PK7 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var form = GetWildForm(Form);
|
||||
var pi = PersonalTable.USUM[Species, form];
|
||||
var geo = tr.GetRegionOrigin(language);
|
||||
var pk = new PK7
|
||||
{
|
||||
Species = Species,
|
||||
|
|
@ -59,17 +60,17 @@ public PK7 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
MetDate = EncounterDate.GetDate3DS(),
|
||||
Ball = (byte)Ball.Poke,
|
||||
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
ID32 = tr.ID32,
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
ConsoleRegion = geo.ConsoleRegion,
|
||||
Country = geo.Country,
|
||||
Region = geo.Region,
|
||||
};
|
||||
if (tr is IRegionOrigin r)
|
||||
r.CopyRegionOrigin(pk);
|
||||
else
|
||||
pk.SetDefaultRegionOrigins(lang);
|
||||
|
||||
SetPINGA(pk, criteria, pi);
|
||||
EncounterUtil.SetEncounterMoves(pk, Version, LevelMin);
|
||||
|
|
|
|||
|
|
@ -53,13 +53,14 @@ public sealed record EncounterStatic7(GameVersion Version)
|
|||
|
||||
public PK7 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var pi = PersonalTable.USUM[Species, Form];
|
||||
var geo = tr.GetRegionOrigin(language);
|
||||
var pk = new PK7
|
||||
{
|
||||
Species = Species,
|
||||
Form = GetWildForm(Form, tr),
|
||||
Form = Form != FormVivillon ? Form : Vivillon3DS.GetPattern(geo.Country, geo.Region),
|
||||
CurrentLevel = LevelMin,
|
||||
MetLocation = Location,
|
||||
MetLevel = LevelMin,
|
||||
|
|
@ -69,22 +70,21 @@ public PK7 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
|
||||
ID32 = tr.ID32,
|
||||
Version = version,
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
OriginalTrainerName = tr.OT,
|
||||
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
|
||||
ConsoleRegion = geo.ConsoleRegion,
|
||||
Country = geo.Country,
|
||||
Region = geo.Region,
|
||||
};
|
||||
if (RibbonWishing)
|
||||
pk.RibbonWishing = true;
|
||||
|
||||
if (tr is IRegionOrigin r)
|
||||
r.CopyRegionOrigin(pk);
|
||||
else
|
||||
pk.SetDefaultRegionOrigins(lang);
|
||||
|
||||
if (IsEgg)
|
||||
{
|
||||
// Fake as hatched.
|
||||
|
|
@ -103,19 +103,6 @@ public PK7 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
return pk;
|
||||
}
|
||||
|
||||
private static byte GetWildForm(byte form, ITrainerInfo tr)
|
||||
{
|
||||
if (form == FormVivillon)
|
||||
{
|
||||
if (tr is IRegionOrigin r)
|
||||
return Vivillon3DS.GetPattern(r.Country, r.Region);
|
||||
if (tr.Language == 1)
|
||||
return Vivillon3DS.GetPattern(1, 0);
|
||||
return Vivillon3DS.GetPattern(49, 7); // USA, California
|
||||
}
|
||||
return form;
|
||||
}
|
||||
|
||||
private void SetPINGA(PK7 pk, EncounterCriteria criteria, PersonalInfo7 pi)
|
||||
{
|
||||
var rnd = Util.Rand;
|
||||
|
|
|
|||
|
|
@ -64,10 +64,11 @@ public EncounterTrade7(ReadOnlySpan<string[]> names, byte index, GameVersion ver
|
|||
|
||||
public PK7 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var pi = PersonalTable.USUM[Species, Form];
|
||||
var rnd = Util.Rand;
|
||||
var geo = tr.GetRegionOrigin(language);
|
||||
var pk = new PK7
|
||||
{
|
||||
PID = rnd.Rand32(),
|
||||
|
|
@ -84,9 +85,9 @@ public PK7 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
|
||||
ID32 = ID32,
|
||||
Version = version,
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerGender = OTGender,
|
||||
OriginalTrainerName = TrainerNames.Span[lang],
|
||||
OriginalTrainerName = TrainerNames.Span[language],
|
||||
|
||||
OriginalTrainerMemory = OriginalTrainerMemory,
|
||||
OriginalTrainerMemoryIntensity = OriginalTrainerMemoryIntensity,
|
||||
|
|
@ -95,17 +96,17 @@ public PK7 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
IsNicknamed = true,
|
||||
Nickname = Nicknames.Span[lang],
|
||||
Nickname = Nicknames.Span[language],
|
||||
|
||||
HandlingTrainerName = tr.OT,
|
||||
HandlingTrainerGender = tr.Gender,
|
||||
CurrentHandler = 1,
|
||||
HandlingTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
ConsoleRegion = geo.ConsoleRegion,
|
||||
Country = geo.Country,
|
||||
Region = geo.Region,
|
||||
};
|
||||
if (tr is IRegionOrigin r)
|
||||
r.CopyRegionOrigin(pk);
|
||||
else
|
||||
pk.SetDefaultRegionOrigins(lang);
|
||||
|
||||
EncounterUtil.SetEncounterMoves(pk, version, Level);
|
||||
if (pk.IsShiny)
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public sealed record EncounterSlot7b(EncounterArea7b Parent, ushort Species, byt
|
|||
public PB7 ConvertToPKM(ITrainerInfo tr) => ConvertToPKM(tr, EncounterCriteria.Unrestricted);
|
||||
public PB7 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var pi = PersonalTable.GG[Species];
|
||||
var date = EncounterDate.GetDateSwitch();
|
||||
var pk = new PB7
|
||||
|
|
@ -43,11 +43,11 @@ public PB7 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
MetDate = date,
|
||||
Ball = (byte)Ball.Poke,
|
||||
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
ID32 = tr.ID32,
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
|
||||
ReceivedDate = date,
|
||||
ReceivedTime = EncounterDate.GetTime(),
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public sealed record EncounterStatic7b(GameVersion Version)
|
|||
public PB7 ConvertToPKM(ITrainerInfo tr) => ConvertToPKM(tr, EncounterCriteria.Unrestricted);
|
||||
public PB7 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
var pi = PersonalTable.GG[Species, Form];
|
||||
var date = EncounterDate.GetDateSwitch();
|
||||
|
|
@ -50,11 +50,11 @@ public PB7 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
MetDate = date,
|
||||
Ball = (byte)Ball.Poke,
|
||||
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
ID32 = tr.ID32,
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
|
||||
ReceivedDate = date,
|
||||
ReceivedTime = EncounterDate.GetTime(),
|
||||
|
|
|
|||
|
|
@ -46,8 +46,8 @@ public sealed record EncounterTrade7b(GameVersion Version) : IEncounterable, IEn
|
|||
|
||||
public PB7 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var pi = PersonalTable.GG[Species, Form];
|
||||
var date = EncounterDate.GetDateSwitch();
|
||||
var pk = new PB7
|
||||
|
|
@ -62,13 +62,13 @@ public PB7 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
|
||||
ID32 = ID32,
|
||||
Version = version,
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerGender = OTGender,
|
||||
OriginalTrainerName = TrainerNames.Span[lang],
|
||||
OriginalTrainerName = TrainerNames.Span[language],
|
||||
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
|
||||
HandlingTrainerName = tr.OT,
|
||||
HandlingTrainerGender = tr.Gender,
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ public bool CanEncounterViaCurry
|
|||
public PK8 ConvertToPKM(ITrainerInfo tr) => ConvertToPKM(tr, EncounterCriteria.Unrestricted);
|
||||
public PK8 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var form = GetWildForm(Form);
|
||||
var pi = PersonalTable.SWSH[Species, form];
|
||||
var pk = new PK8
|
||||
|
|
@ -61,11 +61,11 @@ public PK8 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
MetDate = EncounterDate.GetDateSwitch(),
|
||||
Ball = (byte)Ball.Poke,
|
||||
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
ID32 = tr.ID32,
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
};
|
||||
SetPINGA(pk, criteria, pi);
|
||||
|
|
|
|||
|
|
@ -72,8 +72,8 @@ public bool IsOverworldCorrelationCorrect(PKM pk)
|
|||
|
||||
public PK8 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var pk = new PK8
|
||||
{
|
||||
Species = Species,
|
||||
|
|
@ -87,12 +87,12 @@ public PK8 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
|
||||
ID32 = tr.ID32,
|
||||
Version = version,
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerFriendship = PersonalTable.SWSH[Species, Form].BaseFriendship,
|
||||
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
|
||||
DynamaxLevel = DynamaxLevel,
|
||||
CanGigantamax = CanGigantamax,
|
||||
|
|
|
|||
|
|
@ -13,20 +13,20 @@ public sealed record EncounterStatic8N : EncounterStatic8Nest<EncounterStatic8N>
|
|||
{
|
||||
private readonly byte MinRank;
|
||||
private readonly byte MaxRank;
|
||||
private readonly byte NestID;
|
||||
private readonly byte NestIndex;
|
||||
|
||||
private string RankString=> MinRank == MaxRank ? $"{MinRank+1}" : $"{MinRank+1}-{MaxRank+1}";
|
||||
public override string Name => $"Stock Raid Den Encounter [{NestID:000}] {RankString}★";
|
||||
public override string Name => $"Stock Raid Den Encounter [{NestIndex:000}] {RankString}★";
|
||||
|
||||
private bool IsNestLocation(byte loc) => GetNestLocations(NestID).Contains(loc);
|
||||
private bool IsValidMetLocation(byte metLocation) => GetNestLocations(NestIndex).Contains(metLocation);
|
||||
|
||||
public override byte Level { get => LevelMin; init { } }
|
||||
public override byte LevelMin => LevelCaps[MinRank * 2];
|
||||
public override byte LevelMax => LevelCaps[(MaxRank * 2) + 1];
|
||||
|
||||
public EncounterStatic8N(byte nestID, byte minRank, byte maxRank, byte val, [ConstantExpected] GameVersion game) : base(game)
|
||||
public EncounterStatic8N(byte nestIndex, byte minRank, byte maxRank, byte val, [ConstantExpected] GameVersion game) : base(game)
|
||||
{
|
||||
NestID = nestID;
|
||||
NestIndex = nestIndex;
|
||||
MinRank = minRank;
|
||||
MaxRank = maxRank;
|
||||
DynamaxLevel = (byte)(MinRank + 1u);
|
||||
|
|
@ -42,6 +42,7 @@ public static EncounterStatic8N Read(ReadOnlySpan<byte> data, [ConstantExpected]
|
|||
CanGigantamax = data[5] != 0,
|
||||
};
|
||||
|
||||
/// <summary> Level ranges based on <see cref="MinRank"/> and <see cref="MaxRank"/>. </summary>
|
||||
private static ReadOnlySpan<byte> LevelCaps =>
|
||||
[
|
||||
15, 20, // 0
|
||||
|
|
@ -66,7 +67,7 @@ protected override bool IsMatchLevel(PKM pk)
|
|||
var location = pk.MetLocation;
|
||||
if (location <= byte.MaxValue) // Should always be true, no met locations > 255.
|
||||
{
|
||||
if (IsInaccessibleRank12Nest(NestID, (byte)location))
|
||||
if (IsInaccessibleRank12Nest(NestIndex, (byte)location))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
@ -109,7 +110,7 @@ protected override bool IsMatchLocation(PKM pk)
|
|||
return true;
|
||||
if (loc > byte.MaxValue)
|
||||
return false;
|
||||
return IsNestLocation((byte)loc);
|
||||
return IsValidMetLocation((byte)loc);
|
||||
}
|
||||
|
||||
public (bool Possible, bool ForceNoShiny) IsPossibleSeed<T>(T pk, ulong seed, bool checkDmax) where T : PKM
|
||||
|
|
|
|||
|
|
@ -53,8 +53,8 @@ public abstract record EncounterStatic8Nest<T>(GameVersion Version)
|
|||
|
||||
public PK8 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var pi = Info;
|
||||
var pk = new PK8
|
||||
{
|
||||
|
|
@ -68,11 +68,11 @@ public PK8 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
|
||||
ID32 = tr.ID32,
|
||||
Version = version,
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
|
||||
DynamaxLevel = DynamaxLevel,
|
||||
CanGigantamax = CanGigantamax,
|
||||
|
|
|
|||
|
|
@ -99,8 +99,8 @@ public EncounterTrade8(ReadOnlyMemory<string> trainerNames, GameVersion game, us
|
|||
|
||||
public PK8 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var pi = PersonalTable.SWSH[Species, Form];
|
||||
var rnd = Util.Rand;
|
||||
var pk = new PK8
|
||||
|
|
@ -118,9 +118,9 @@ public PK8 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
|
||||
ID32 = ID32,
|
||||
Version = version,
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerGender = OTGender,
|
||||
OriginalTrainerName = TrainerNames.Span[lang],
|
||||
OriginalTrainerName = TrainerNames.Span[language],
|
||||
|
||||
OriginalTrainerMemory = OriginalTrainerMemory,
|
||||
OriginalTrainerMemoryIntensity = OriginalTrainerMemoryIntensity,
|
||||
|
|
@ -129,7 +129,7 @@ public PK8 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
IsNicknamed = IsFixedNickname,
|
||||
Nickname = IsFixedNickname ? Nicknames.Span[lang] : SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = IsFixedNickname ? Nicknames.Span[language] : SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
DynamaxLevel = DynamaxLevel,
|
||||
HandlingTrainerName = tr.OT,
|
||||
HandlingTrainerGender = tr.Gender,
|
||||
|
|
|
|||
|
|
@ -36,11 +36,11 @@ public sealed record EncounterSlot8a(EncounterArea8a Parent, ushort Species, byt
|
|||
public PA8 ConvertToPKM(ITrainerInfo tr) => ConvertToPKM(tr, EncounterCriteria.Unrestricted);
|
||||
public PA8 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var pi = PersonalTable.LA[Species, Form];
|
||||
var pk = new PA8
|
||||
{
|
||||
Language = lang,
|
||||
Language = language,
|
||||
Species = Species,
|
||||
Form = Form,
|
||||
CurrentLevel = LevelMin,
|
||||
|
|
@ -55,7 +55,7 @@ public PA8 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
OriginalTrainerGender = tr.Gender,
|
||||
ID32 = tr.ID32,
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
};
|
||||
SetPINGA(pk, criteria, pi);
|
||||
pk.Scale = pk.HeightScalar;
|
||||
|
|
|
|||
|
|
@ -60,11 +60,11 @@ public EncounterStatic8a(ushort species, byte form, byte level, byte heightScala
|
|||
public PA8 ConvertToPKM(ITrainerInfo tr) => ConvertToPKM(tr, EncounterCriteria.Unrestricted);
|
||||
public PA8 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var pi = PersonalTable.LA[Species, Form];
|
||||
var pk = new PA8
|
||||
{
|
||||
Language = lang,
|
||||
Language = language,
|
||||
Species = Species,
|
||||
Form = Form,
|
||||
CurrentLevel = LevelMin,
|
||||
|
|
@ -81,7 +81,7 @@ public PA8 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
|
||||
IsAlpha = IsAlpha,
|
||||
Ball = (byte)(FixedBall == Ball.None ? Ball.LAPoke : FixedBall),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
};
|
||||
|
||||
SetPINGA(pk, criteria);
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ public sealed record EncounterSlot8b(EncounterArea8b Parent, ushort Species, byt
|
|||
public PB8 ConvertToPKM(ITrainerInfo tr) => ConvertToPKM(tr, EncounterCriteria.Unrestricted);
|
||||
public PB8 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var pi = PersonalTable.BDSP[Species, Form];
|
||||
var pk = new PB8
|
||||
{
|
||||
|
|
@ -78,11 +78,11 @@ public PB8 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
MetDate = EncounterDate.GetDateSwitch(),
|
||||
Ball = (byte)GetRequiredBall(Ball.Poke),
|
||||
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
ID32 = tr.ID32,
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
};
|
||||
SetPINGA(pk, criteria, pi);
|
||||
|
|
|
|||
|
|
@ -61,8 +61,8 @@ public bool IsStaticCorrelationCorrect(PKM pk)
|
|||
|
||||
public PB8 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var pi = PersonalTable.BDSP[Species, Form];
|
||||
var pk = new PB8
|
||||
{
|
||||
|
|
@ -77,12 +77,12 @@ public PB8 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
|
||||
ID32 = tr.ID32,
|
||||
Version = version,
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
};
|
||||
|
||||
if (IsEgg)
|
||||
|
|
|
|||
|
|
@ -74,8 +74,8 @@ public EncounterTrade8b(ReadOnlySpan<string[]> names, byte index, GameVersion ga
|
|||
|
||||
public PB8 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var pi = PersonalTable.BDSP[Species, Form];
|
||||
var pk = new PB8
|
||||
{
|
||||
|
|
@ -93,14 +93,14 @@ public PB8 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
|
||||
ID32 = ID32,
|
||||
Version = version,
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerGender = OTGender,
|
||||
OriginalTrainerName = TrainerNames.Span[lang],
|
||||
OriginalTrainerName = TrainerNames.Span[language],
|
||||
|
||||
OriginalTrainerFriendship = OriginalTrainerFriendship,
|
||||
|
||||
IsNicknamed = IsFixedNickname,
|
||||
Nickname = IsFixedNickname ? Nicknames.Span[lang] : SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = IsFixedNickname ? Nicknames.Span[language] : SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
HeightScalar = HeightScalar,
|
||||
WeightScalar = WeightScalar,
|
||||
HandlingTrainerName = tr.OT,
|
||||
|
|
|
|||
|
|
@ -240,12 +240,12 @@ private static EncounterDist9 ReadEncounter(ReadOnlySpan<byte> data) => new()
|
|||
public PK9 ConvertToPKM(ITrainerInfo tr) => ConvertToPKM(tr, EncounterCriteria.Unrestricted);
|
||||
public PK9 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
var pi = PersonalTable.SV[Species, Form];
|
||||
var pk = new PK9
|
||||
{
|
||||
Language = lang,
|
||||
Language = language,
|
||||
Species = Species,
|
||||
Form = Form,
|
||||
CurrentLevel = LevelMin,
|
||||
|
|
@ -256,7 +256,7 @@ public PK9 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
Version = version,
|
||||
Ball = (byte)Ball.Poke,
|
||||
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
ObedienceLevel = LevelMin,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
|
|
|
|||
|
|
@ -77,12 +77,12 @@ private static EncounterFixed9 ReadEncounter(ReadOnlySpan<byte> data) => new()
|
|||
public PK9 ConvertToPKM(ITrainerInfo tr) => ConvertToPKM(tr, EncounterCriteria.Unrestricted);
|
||||
public PK9 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
var pi = PersonalTable.SV[Species, Form];
|
||||
var pk = new PK9
|
||||
{
|
||||
Language = lang,
|
||||
Language = language,
|
||||
Species = Species,
|
||||
Form = Form,
|
||||
CurrentLevel = LevelMin,
|
||||
|
|
@ -93,7 +93,7 @@ public PK9 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
Version = version,
|
||||
Ball = (byte)Ball.Poke,
|
||||
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
ObedienceLevel = LevelMin,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
|
|
|
|||
|
|
@ -254,12 +254,12 @@ private static EncounterMight9 ReadEncounter(ReadOnlySpan<byte> data) => new()
|
|||
public PK9 ConvertToPKM(ITrainerInfo tr) => ConvertToPKM(tr, EncounterCriteria.Unrestricted);
|
||||
public PK9 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
var pi = PersonalTable.SV[Species, Form];
|
||||
var pk = new PK9
|
||||
{
|
||||
Language = lang,
|
||||
Language = language,
|
||||
Species = Species,
|
||||
Form = Form,
|
||||
CurrentLevel = LevelMin,
|
||||
|
|
@ -270,7 +270,7 @@ public PK9 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
Version = version,
|
||||
Ball = (byte)Ball.Poke,
|
||||
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
ObedienceLevel = LevelMin,
|
||||
RibbonMarkMightiest = true,
|
||||
AffixedRibbon = (sbyte)RibbonIndex.MarkMightiest,
|
||||
|
|
|
|||
|
|
@ -74,12 +74,12 @@ private static EncounterOutbreak9 ReadEncounter(ReadOnlySpan<byte> data) => new(
|
|||
public PK9 ConvertToPKM(ITrainerInfo tr) => ConvertToPKM(tr, EncounterCriteria.Unrestricted);
|
||||
public PK9 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
var pi = PersonalTable.SV[Species, Form];
|
||||
var pk = new PK9
|
||||
{
|
||||
Language = lang,
|
||||
Language = language,
|
||||
Species = Species,
|
||||
Form = Form,
|
||||
CurrentLevel = LevelMin,
|
||||
|
|
@ -90,7 +90,7 @@ public PK9 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
Version = version,
|
||||
Ball = (byte)Ball.Poke,
|
||||
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
ObedienceLevel = LevelMin,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
|
|
|
|||
|
|
@ -127,9 +127,9 @@ public static bool CanSpawnInWeather(RibbonIndex mark, byte loc)
|
|||
public PK9 ConvertToPKM(ITrainerInfo tr) => ConvertToPKM(tr, EncounterCriteria.Unrestricted);
|
||||
public PK9 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var form = GetWildForm(Form);
|
||||
var version = Version != GameVersion.SV ? Version : GameVersion.SV.Contains(tr.Version) ? tr.Version : GameVersion.SL;
|
||||
var version = Version != GameVersion.SV ? Version : tr.Version is GameVersion.SL or GameVersion.VL ? tr.Version : GameVersion.SL;
|
||||
var pi = PersonalTable.SV[Species, form];
|
||||
var pk = new PK9
|
||||
{
|
||||
|
|
@ -142,13 +142,13 @@ public PK9 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
Ball = (byte)Ball.Poke,
|
||||
MetDate = EncounterDate.GetDateSwitch(),
|
||||
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
ID32 = tr.ID32,
|
||||
ObedienceLevel = LevelMin,
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
};
|
||||
SetPINGA(pk, criteria, pi);
|
||||
EncounterUtil.SetEncounterMoves(pk, Version, LevelMin);
|
||||
|
|
|
|||
|
|
@ -68,12 +68,12 @@ public bool IsMissingExtraMark(PKM pk, out RibbonIndex index)
|
|||
public PK9 ConvertToPKM(ITrainerInfo tr) => ConvertToPKM(tr, EncounterCriteria.Unrestricted);
|
||||
public PK9 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
var pi = PersonalTable.SV[Species, Form];
|
||||
var pk = new PK9
|
||||
{
|
||||
Language = lang,
|
||||
Language = language,
|
||||
Species = Species,
|
||||
Form = Form,
|
||||
CurrentLevel = LevelMin,
|
||||
|
|
@ -85,7 +85,7 @@ public PK9 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
Ball = (byte)Ball.Poke,
|
||||
FatefulEncounter = FatefulEncounter,
|
||||
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
ObedienceLevel = LevelMin,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
|
|
|
|||
|
|
@ -178,12 +178,12 @@ private static EncounterTera9 ReadEncounter(ReadOnlySpan<byte> data, TeraRaidMap
|
|||
public PK9 ConvertToPKM(ITrainerInfo tr) => ConvertToPKM(tr, EncounterCriteria.Unrestricted);
|
||||
public PK9 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
var pi = GetPersonal();
|
||||
var pk = new PK9
|
||||
{
|
||||
Language = lang,
|
||||
Language = language,
|
||||
Species = Species,
|
||||
Form = Form,
|
||||
CurrentLevel = LevelMin,
|
||||
|
|
@ -194,7 +194,7 @@ public PK9 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
Version = version,
|
||||
Ball = (byte)Ball.Poke,
|
||||
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
ObedienceLevel = LevelMin,
|
||||
OriginalTrainerName = tr.OT,
|
||||
OriginalTrainerGender = tr.Gender,
|
||||
|
|
|
|||
|
|
@ -69,8 +69,8 @@ public EncounterTrade9(ReadOnlySpan<string[]> names, byte index, GameVersion gam
|
|||
|
||||
public PK9 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var version = this.GetCompatibleVersion(tr.Version);
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var pi = PersonalTable.SV[Species, Form];
|
||||
var rnd = Util.Rand;
|
||||
var xoro = new Xoroshiro128Plus(rnd.Rand64());
|
||||
|
|
@ -89,14 +89,14 @@ public PK9 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
|
||||
ID32 = ID32,
|
||||
Version = version,
|
||||
Language = lang,
|
||||
Language = language,
|
||||
OriginalTrainerGender = OTGender,
|
||||
OriginalTrainerName = TrainerNames.Span[lang],
|
||||
OriginalTrainerName = TrainerNames.Span[language],
|
||||
|
||||
OriginalTrainerFriendship = pi.BaseFriendship,
|
||||
|
||||
IsNicknamed = IsFixedNickname,
|
||||
Nickname = IsFixedNickname ? Nicknames.Span[lang] : SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation),
|
||||
Nickname = IsFixedNickname ? Nicknames.Span[language] : SpeciesName.GetSpeciesNameGeneration(Species, language, Generation),
|
||||
|
||||
HeightScalar = PokeSizeUtil.GetRandomScalar(rnd),
|
||||
WeightScalar = Weight.GetSizeValue(Weight != SizeType9.RANDOM ? FixedValueScale : default, ref xoro),
|
||||
|
|
|
|||
|
|
@ -26,17 +26,17 @@ public sealed record EncounterEgg(ushort Species, byte Form, byte Level, byte Ge
|
|||
|
||||
public PKM ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
||||
{
|
||||
var gen = Generation;
|
||||
var generation = Generation;
|
||||
var version = Version;
|
||||
var pk = EntityBlank.GetBlank(gen, version);
|
||||
var pk = EntityBlank.GetBlank(generation, version);
|
||||
|
||||
tr.ApplyTo(pk);
|
||||
|
||||
int lang = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
int language = (int)Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
pk.Species = Species;
|
||||
pk.Form = Form;
|
||||
pk.Language = lang;
|
||||
pk.Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, gen);
|
||||
pk.Language = language;
|
||||
pk.Nickname = SpeciesName.GetSpeciesNameGeneration(Species, language, generation);
|
||||
pk.CurrentLevel = Level;
|
||||
pk.Version = version;
|
||||
|
||||
|
|
@ -49,7 +49,7 @@ public PKM ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
var rnd = Util.Rand;
|
||||
SetPINGA(pk, criteria);
|
||||
|
||||
if (gen <= 2)
|
||||
if (generation <= 2)
|
||||
{
|
||||
var pk2 = (PK2)pk;
|
||||
if (version == GameVersion.C)
|
||||
|
|
@ -71,10 +71,10 @@ public PKM ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
|
||||
SetMetData(pk);
|
||||
|
||||
if (gen >= 4)
|
||||
if (generation >= 4)
|
||||
pk.SetEggMetData(version, tr.Version);
|
||||
|
||||
if (gen < 6)
|
||||
if (generation < 6)
|
||||
return pk;
|
||||
if (pk is PK6 pk6)
|
||||
pk6.SetHatchMemory6();
|
||||
|
|
@ -111,7 +111,7 @@ private void SetForm(PKM pk, ITrainerInfo sav)
|
|||
pk.Form = (byte)Util.Rand.Next(7, 14);
|
||||
break;
|
||||
case (int)Core.Species.Scatterbug or (int)Core.Species.Spewpa or (int)Core.Species.Vivillon:
|
||||
if (sav.Generation is 6 or 7 && sav is IRegionOrigin o)
|
||||
if (sav.Generation is 6 or 7 && sav is IRegionOriginReadOnly o)
|
||||
pk.Form = Vivillon3DS.GetPattern(o.Country, o.Region);
|
||||
// else keep original value
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -302,7 +302,7 @@ private static void SetDefaultManaphyEggDetails(PK4 pk4, ITrainerInfo trainer)
|
|||
|
||||
// Manaphy is the only PGT gift egg! (and the only gift that needs a version to be set)
|
||||
var version = trainer.Version;
|
||||
if (!version.IsValidSavedVersion() || !GameVersion.Gen4.ContainsFromLumped(version))
|
||||
if (!version.IsGen4())
|
||||
version = GameVersion.D;
|
||||
pk4.Version = version;
|
||||
|
||||
|
|
|
|||
|
|
@ -300,8 +300,12 @@ public override PK6 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
if (!IsEntity)
|
||||
throw new ArgumentException(nameof(IsEntity));
|
||||
|
||||
var version = OriginGame != 0 ? (GameVersion)OriginGame : this.GetCompatibleVersion(tr.Version);
|
||||
int language = (int)Core.Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var geo = tr.GetRegionOrigin(language);
|
||||
var rnd = Util.Rand;
|
||||
byte currentLevel = Level > 0 ? Level : (byte)(1 + rnd.Next(100));
|
||||
|
||||
var pi = PersonalTable.AO.GetFormEntry(Species, Form);
|
||||
PK6 pk = new()
|
||||
{
|
||||
|
|
@ -312,8 +316,8 @@ public override PK6 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
MetLevel = currentLevel,
|
||||
Form = Form,
|
||||
EncryptionConstant = EncryptionConstant != 0 ? EncryptionConstant : rnd.Rand32(),
|
||||
Version = OriginGame != 0 ? (GameVersion)OriginGame : tr.Version,
|
||||
Language = Language != 0 ? Language : tr.Language,
|
||||
Version = OriginGame != 0 ? (GameVersion)OriginGame : version,
|
||||
Language = Language != 0 ? Language : language,
|
||||
Ball = Ball,
|
||||
Move1 = Move1, Move2 = Move2, Move3 = Move3, Move4 = Move4,
|
||||
RelearnMove1 = RelearnMove1, RelearnMove2 = RelearnMove2,
|
||||
|
|
@ -364,6 +368,10 @@ public override PK6 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
EV_SPE = EV_SPE,
|
||||
EV_SPA = EV_SPA,
|
||||
EV_SPD = EV_SPD,
|
||||
|
||||
ConsoleRegion = geo.ConsoleRegion,
|
||||
Country = geo.Country,
|
||||
Region = geo.Region,
|
||||
};
|
||||
|
||||
if (IsOriginalTrainerNameSet)
|
||||
|
|
@ -374,17 +382,6 @@ public override PK6 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
pk.CurrentHandler = 1;
|
||||
}
|
||||
|
||||
if (tr is IRegionOrigin o)
|
||||
{
|
||||
pk.Country = o.Country;
|
||||
pk.Region = o.Region;
|
||||
pk.ConsoleRegion = o.ConsoleRegion;
|
||||
}
|
||||
else
|
||||
{
|
||||
pk.SetDefaultRegionOrigins(pk.Language);
|
||||
}
|
||||
|
||||
pk.SetMaximumPPCurrent();
|
||||
|
||||
pk.MetDate = Date ?? EncounterDate.GetDate3DS();
|
||||
|
|
|
|||
|
|
@ -361,11 +361,12 @@ public override PK7 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
if (!IsEntity)
|
||||
throw new ArgumentException(nameof(IsEntity));
|
||||
|
||||
var version = OriginGame != 0 ? (GameVersion)OriginGame : this.GetCompatibleVersion(tr.Version);
|
||||
var language = Language != 0 ? Language : (int)Core.Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
var geo = tr.GetRegionOrigin(language);
|
||||
var rnd = Util.Rand;
|
||||
byte currentLevel = Level > 0 ? Level : (byte)(1 + rnd.Next(100));
|
||||
var metLevel = MetLevel > 0 ? MetLevel : currentLevel;
|
||||
var version = OriginGame != 0 ? (GameVersion)OriginGame : this.GetCompatibleVersion(tr.Version);
|
||||
var language = Language != 0 ? Language : (int)Core.Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
|
||||
var pi = PersonalTable.USUM.GetFormEntry(Species, Form);
|
||||
PK7 pk = new()
|
||||
|
|
@ -429,6 +430,10 @@ public override PK7 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
EV_SPE = EV_SPE,
|
||||
EV_SPA = EV_SPA,
|
||||
EV_SPD = EV_SPD,
|
||||
|
||||
ConsoleRegion = geo.ConsoleRegion,
|
||||
Country = geo.Country,
|
||||
Region = geo.Region,
|
||||
};
|
||||
|
||||
if (IsOriginalTrainerNameSet && !IsAshPikachu)
|
||||
|
|
@ -439,17 +444,6 @@ public override PK7 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
pk.CurrentHandler = 1;
|
||||
}
|
||||
|
||||
if (tr is IRegionOrigin o)
|
||||
{
|
||||
pk.Country = o.Country;
|
||||
pk.Region = o.Region;
|
||||
pk.ConsoleRegion = o.ConsoleRegion;
|
||||
}
|
||||
else
|
||||
{
|
||||
pk.SetDefaultRegionOrigins(language);
|
||||
}
|
||||
|
||||
pk.SetMaximumPPCurrent();
|
||||
|
||||
if ((tr.Generation > Generation && OriginGame == 0) || !CanBeReceivedByVersion(pk.Version))
|
||||
|
|
|
|||
|
|
@ -406,7 +406,7 @@ public override PK8 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria)
|
|||
var metLevel = MetLevel > 0 ? MetLevel : currentLevel;
|
||||
var pi = PersonalTable.SWSH.GetFormEntry(Species, Form);
|
||||
var version = OriginGame != 0 ? (GameVersion)OriginGame : this.GetCompatibleVersion(tr.Version);
|
||||
var language = (int)Core.Language.GetSafeLanguage(Generation, (LanguageID)tr.Language, version);
|
||||
var language = (int)Core.Language.GetSafeLanguage(Generation, (LanguageID)tr.Language);
|
||||
bool hasOT = GetHasOT(language);
|
||||
|
||||
var pk = new PK8
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user