Unroll some loops, reduce allocations a little for hacked eggs

This commit is contained in:
Kurt 2021-04-17 13:13:03 -07:00
parent 893f22a664
commit 5635e8f345
12 changed files with 137 additions and 127 deletions

View file

@ -157,7 +157,7 @@ namespace PKHeX.Core
if (info.EncounterMatch is EncounterEgg e) if (info.EncounterMatch is EncounterEgg e)
{ {
return pkm.IsEgg return pkm.IsEgg
? VerifyPreRelearnEggBase(pkm, currentMoves, e) ? VerifyPreRelearnEggBase(currentMoves, e)
: ParseMovesWasEggPreRelearn(pkm, currentMoves, info, e); : ParseMovesWasEggPreRelearn(pkm, currentMoves, info, e);
} }
@ -741,10 +741,10 @@ namespace PKHeX.Core
} }
} }
private static CheckMoveResult[] VerifyPreRelearnEggBase(PKM pkm, int[] currentMoves, EncounterEgg e) private static CheckMoveResult[] VerifyPreRelearnEggBase(int[] currentMoves, EncounterEgg e)
{ {
CheckMoveResult[] result = new CheckMoveResult[4]; CheckMoveResult[] result = new CheckMoveResult[4];
_ = VerifyRelearnMoves.VerifyEggMoveset(pkm, e, result, currentMoves, CurrentMove); _ = VerifyRelearnMoves.VerifyEggMoveset(e, result, currentMoves, CurrentMove);
return result; return result;
} }

View file

@ -15,108 +15,120 @@ namespace PKHeX.Core
public static CheckResult[] VerifyRelearn(PKM pkm, IEncounterable enc, CheckResult[] result) public static CheckResult[] VerifyRelearn(PKM pkm, IEncounterable enc, CheckResult[] result)
{ {
if (enc.Generation < 6 || (pkm is IBattleVersion {BattleVersion: not 0})) if (ShouldNotHaveRelearnMoves(enc, pkm))
return VerifyRelearnNone(pkm, result); return VerifyRelearnNone(pkm, result);
return enc switch return enc switch
{ {
IRelearn s when s.Relearn.Count > 0 => VerifyRelearnSpecifiedMoveset(pkm, s.Relearn, result), IRelearn s when s.Relearn.Count != 0 => VerifyRelearnSpecifiedMoveset(pkm, s.Relearn, result),
EncounterEgg e => VerifyEggMoveset(pkm, e, result, pkm.RelearnMoves), EncounterEgg e => VerifyEggMoveset(e, result, pkm.RelearnMoves),
EncounterSlot6AO z when pkm.RelearnMove1 != 0 && z.CanDexNav => VerifyRelearnDexNav(pkm, result), EncounterSlot6AO z when pkm.RelearnMove1 != 0 && z.CanDexNav => VerifyRelearnDexNav(pkm, result),
_ => VerifyRelearnNone(pkm, result) _ => VerifyRelearnNone(pkm, result)
}; };
} }
public static bool ShouldNotHaveRelearnMoves(IGeneration enc, PKM pkm) => enc.Generation < 6 || pkm is IBattleVersion {BattleVersion: not 0};
private static CheckResult[] VerifyRelearnSpecifiedMoveset(PKM pkm, IReadOnlyList<int> required, CheckResult[] result) private static CheckResult[] VerifyRelearnSpecifiedMoveset(PKM pkm, IReadOnlyList<int> required, CheckResult[] result)
{ {
int[] relearn = pkm.RelearnMoves; result[3] = CheckResult(pkm.RelearnMove4, required[3]);
for (int i = 0; i < 4; i++) result[2] = CheckResult(pkm.RelearnMove3, required[2]);
{ result[1] = CheckResult(pkm.RelearnMove2, required[1]);
result[i] = relearn[i] == required[i] ? DummyValid result[0] = CheckResult(pkm.RelearnMove1, required[0]);
: new CheckResult(Severity.Invalid, string.Format(LMoveFExpect_0, MoveStrings[required[i]]), CheckIdentifier.RelearnMove);
}
return result; return result;
static CheckResult CheckResult(int move, int require)
{
if (move == require)
return DummyValid;
return new CheckResult(Severity.Invalid, string.Format(LMoveFExpect_0, MoveStrings[require]), CheckIdentifier.RelearnMove);
}
} }
private static CheckResult[] VerifyRelearnDexNav(PKM pkm, CheckResult[] result) private static CheckResult[] VerifyRelearnDexNav(PKM pkm, CheckResult[] result)
{ {
int[] relearn = pkm.RelearnMoves;
// DexNav Pokémon can have 1 random egg move as a relearn move. // DexNav Pokémon can have 1 random egg move as a relearn move.
var baseSpec = EvoBase.GetBaseSpecies(pkm); var baseSpec = EvoBase.GetBaseSpecies(pkm);
var firstRelearn = relearn[0]; var firstRelearn = pkm.RelearnMove1;
var eggMoves = MoveEgg.GetEggMoves(6, baseSpec.Species, baseSpec.Form, GameVersion.OR); var eggMoves = MoveEgg.GetEggMoves(6, baseSpec.Species, baseSpec.Form, GameVersion.OR);
result[0] = Array.IndexOf(eggMoves, firstRelearn) == -1 // not found result[0] = Array.IndexOf(eggMoves, firstRelearn) == -1 // not found
? new CheckResult(Severity.Invalid, LMoveRelearnDexNav, CheckIdentifier.RelearnMove) ? new CheckResult(Severity.Invalid, LMoveRelearnDexNav, CheckIdentifier.RelearnMove)
: DummyValid; : DummyValid;
// All other relearn moves must be empty. // All other relearn moves must be empty.
for (int i = 1; i < 4; i++) result[3] = pkm.RelearnMove4 == 0 ? DummyValid : DummyNone;
result[i] = relearn[i] == 0 ? DummyValid : DummyNone; result[2] = pkm.RelearnMove3 == 0 ? DummyValid : DummyNone;
result[1] = pkm.RelearnMove2 == 0 ? DummyValid : DummyNone;
return result; return result;
} }
private static CheckResult[] VerifyRelearnNone(PKM pkm, CheckResult[] result) private static CheckResult[] VerifyRelearnNone(PKM pkm, CheckResult[] result)
{ {
int[] RelearnMoves = pkm.RelearnMoves;
// No relearn moves should be present. // No relearn moves should be present.
for (int i = 0; i < 4; i++) result[3] = pkm.RelearnMove4 == 0 ? DummyValid : DummyNone;
result[i] = RelearnMoves[i] == 0 ? DummyValid : DummyNone; result[2] = pkm.RelearnMove3 == 0 ? DummyValid : DummyNone;
result[1] = pkm.RelearnMove2 == 0 ? DummyValid : DummyNone;
result[0] = pkm.RelearnMove1 == 0 ? DummyValid : DummyNone;
return result; return result;
} }
internal static CheckResult[] VerifyEggMoveset(PKM pkm, EncounterEgg e, CheckResult[] result, int[] moves, CheckIdentifier type = CheckIdentifier.RelearnMove) internal static CheckResult[] VerifyEggMoveset(EncounterEgg e, CheckResult[] result, int[] moves, CheckIdentifier type = CheckIdentifier.RelearnMove)
{ {
var origins = MoveBreed.Process(e.Generation, e.Species, e.Form, e.Version, moves, out var valid); int gen = e.Generation;
var origins = MoveBreed.Process(gen, e.Species, e.Form, e.Version, moves, out var valid);
if (valid) if (valid)
{ {
for (int i = 0; i < result.Length; i++) for (int i = 0; i < result.Length; i++)
{ {
var msg = EggSourceUtil.GetSource(origins, e.Generation, i); var msg = EggSourceUtil.GetSource(origins, gen, i);
result[i] = new CheckMoveResult(MoveSource.EggMove, e.Generation, Severity.Valid, msg, type); result[i] = new CheckMoveResult(MoveSource.EggMove, gen, Severity.Valid, msg, type);
} }
} }
else else
{ {
var fix = MoveBreed.GetExpectedMoves(moves, e); var expected = MoveBreed.GetExpectedMoves(moves, e);
origins = MoveBreed.Process(gen, e.Species, e.Form, e.Version, expected, out _);
for (int i = 0; i < moves.Length; i++) for (int i = 0; i < moves.Length; i++)
{ {
var msg = EggSourceUtil.GetSource(origins, e.Generation, i); var msg = EggSourceUtil.GetSource(origins, gen, i);
if (moves[i] == fix[i]) var expect = expected[i];
CheckMoveResult line;
if (moves[i] == expect)
{ {
result[i] = new CheckMoveResult(MoveSource.EggMove, e.Generation, Severity.Valid, msg, type); line = new CheckMoveResult(MoveSource.EggMove, gen, Severity.Valid, msg, type);
continue;
} }
else
msg = string.Format(LMoveRelearnFExpect_0, GetMoveName(fix[i]) + $" ({msg})"); {
result[i] = new CheckMoveResult(MoveSource.EggMove, e.Generation, Severity.Invalid, msg, type); msg = string.Format(LMoveRelearnFExpect_0, MoveStrings[expect], msg);
line = new CheckMoveResult(MoveSource.EggMove, gen, Severity.Invalid, msg, type);
}
result[i] = line;
} }
} }
var dupe = IsAnyRelearnMoveDuplicate(pkm); var dupe = IsAnyMoveDuplicate(moves);
if (dupe > 0) if (dupe != NO_DUPE)
result[dupe] = new CheckMoveResult(MoveSource.EggMove, e.Generation, Severity.Invalid, LMoveSourceDuplicate, type); result[dupe] = new CheckMoveResult(MoveSource.EggMove, gen, Severity.Invalid, LMoveSourceDuplicate, type);
return result; return result;
} }
private static int IsAnyRelearnMoveDuplicate(PKM pk) private const int NO_DUPE = -1;
private static int IsAnyMoveDuplicate(int[] move)
{ {
int m1 = pk.RelearnMove1; int m1 = move[0];
int m2 = pk.RelearnMove2; int m2 = move[1];
if (m1 != 0 && m1 == m2) if (m1 != 0 && m1 == m2)
return 1; return 1;
int m3 = pk.RelearnMove3; int m3 = move[2];
if (m3 != 0 && (m1 == m3 || m2 == m3)) if (m3 != 0 && (m1 == m3 || m2 == m3))
return 2; return 2;
int m4 = pk.RelearnMove4; int m4 = move[3];
if (m4 != 0 && (m1 == m4 || m2 == m4 || m3 == m4)) if (m4 != 0 && (m1 == m4 || m2 == m4 || m3 == m4))
return 3; return 3;
return -1; return NO_DUPE;
} }
} }
} }

View file

@ -140,11 +140,11 @@ namespace PKHeX.Core
public static string LEncInvalid { get; set; } = "Unable to match an encounter from origin game."; public static string LEncInvalid { get; set; } = "Unable to match an encounter from origin game.";
public static string LEncTradeChangedNickname { get; set; } = "Ingame Trade Nickname has been altered."; public static string LEncTradeChangedNickname { get; set; } = "In-game Trade Nickname has been altered.";
public static string LEncTradeChangedOT { get; set; } = "Ingame Trade OT has been altered."; public static string LEncTradeChangedOT { get; set; } = "In-game Trade OT has been altered.";
public static string LEncTradeIndexBad { get; set; } = "Ingame Trade invalid index?"; public static string LEncTradeIndexBad { get; set; } = "In-game Trade invalid index?";
public static string LEncTradeMatch { get; set; } = "Valid ingame trade."; public static string LEncTradeMatch { get; set; } = "Valid In-game trade.";
public static string LEncTradeUnchanged { get; set; } = "Ingame Trade OT and Nickname have not been altered."; public static string LEncTradeUnchanged { get; set; } = "In-game Trade OT and Nickname have not been altered.";
public static string LEncStaticMatch { get; set; } = "Valid gift/static encounter."; public static string LEncStaticMatch { get; set; } = "Valid gift/static encounter.";
public static string LEncStaticPIDShiny { get; set; } = "Static Encounter shiny mismatch."; public static string LEncStaticPIDShiny { get; set; } = "Static Encounter shiny mismatch.";
@ -158,9 +158,9 @@ namespace PKHeX.Core
public static string LEncUnreleasedPtDarkrai { get; set; } = "Non Platinum Darkrai from Newmoon Island. Unreleased event."; public static string LEncUnreleasedPtDarkrai { get; set; } = "Non Platinum Darkrai from Newmoon Island. Unreleased event.";
public static string LEncUnreleasedPtShaymin { get; set; } = "Non Platinum Shaymin from Flower Paradise. Unreleased event."; public static string LEncUnreleasedPtShaymin { get; set; } = "Non Platinum Shaymin from Flower Paradise. Unreleased event.";
public static string LEReaderAmerica { get; set; } = "American E-Reader Berry in Japanese savegame."; public static string LEReaderAmerica { get; set; } = "American E-Reader Berry in Japanese save file.";
public static string LEReaderInvalid { get; set; } = "Invalid E-Reader Berry."; public static string LEReaderInvalid { get; set; } = "Invalid E-Reader Berry.";
public static string LEReaderJapan { get; set; } = "Japanese E-Reader Berry in international savegame."; public static string LEReaderJapan { get; set; } = "Japanese E-Reader Berry in international save file.";
public static string LEffort2Remaining { get; set; } = "2 EVs remaining."; public static string LEffort2Remaining { get; set; } = "2 EVs remaining.";
public static string LEffortAbove252 { get; set; } = "EVs cannot go above 252."; public static string LEffortAbove252 { get; set; } = "EVs cannot go above 252.";
@ -177,10 +177,10 @@ namespace PKHeX.Core
public static string LEvoTradeReqOutsider { get; set; } = "Outsider {0} should have evolved into {1}."; public static string LEvoTradeReqOutsider { get; set; } = "Outsider {0} should have evolved into {1}.";
public static string LEvoTradeRequired { get; set; } = "Version Specific evolution requires a trade to opposite version. A Handling Trainer is required."; public static string LEvoTradeRequired { get; set; } = "Version Specific evolution requires a trade to opposite version. A Handling Trainer is required.";
public static string LFateful { get; set; } = "Special ingame Fateful Encounter."; public static string LFateful { get; set; } = "Special In-game Fateful Encounter.";
public static string LFatefulGiftMissing { get; set; } = "Fateful Encounter with no matching Encounter. Has the Mystery Gift data been contributed?"; public static string LFatefulGiftMissing { get; set; } = "Fateful Encounter with no matching Encounter. Has the Mystery Gift data been contributed?";
public static string LFatefulInvalid { get; set; } = "Fateful Encounter should not be checked."; public static string LFatefulInvalid { get; set; } = "Fateful Encounter should not be checked.";
public static string LFatefulMissing { get; set; } = "Special ingame Fateful Encounter flag missing."; public static string LFatefulMissing { get; set; } = "Special In-game Fateful Encounter flag missing.";
public static string LFatefulMystery { get; set; } = "Mystery Gift Fateful Encounter."; public static string LFatefulMystery { get; set; } = "Mystery Gift Fateful Encounter.";
public static string LFatefulMysteryMissing { get; set; } = "Mystery Gift Fateful Encounter flag missing."; public static string LFatefulMysteryMissing { get; set; } = "Mystery Gift Fateful Encounter flag missing.";
@ -237,7 +237,7 @@ namespace PKHeX.Core
public static string LG2InvalidTilePark { get; set; } = "National Park fishing encounter. Unreachable Water tiles."; public static string LG2InvalidTilePark { get; set; } = "National Park fishing encounter. Unreachable Water tiles.";
public static string LG2InvalidTileR14 { get; set; } = "Kanto Route 14 fishing encounter. Unreachable Water tiles."; public static string LG2InvalidTileR14 { get; set; } = "Kanto Route 14 fishing encounter. Unreachable Water tiles.";
public static string LG2InvalidTileSafari { get; set; } = "Generation 2 Safari Zone fishing encounter. Unreachable zone."; public static string LG2InvalidTileSafari { get; set; } = "Generation 2 Safari Zone fishing encounter. Unreachable zone.";
public static string LG2InvalidTileTreeID { get; set; } = "Found an unreacheable tree for Crystal headbutt encounter that matches OTID."; public static string LG2InvalidTileTreeID { get; set; } = "Found an unreachable tree for Crystal headbutt encounter that matches OTID.";
public static string LG2InvalidTileTreeNotFound { get; set; } = "Could not find a tree for Crystal headbutt encounter that matches OTID."; public static string LG2InvalidTileTreeNotFound { get; set; } = "Could not find a tree for Crystal headbutt encounter that matches OTID.";
public static string LG2TreeID { get; set; } = "Found a tree for Crystal headbutt encounter that matches OTID."; public static string LG2TreeID { get; set; } = "Found a tree for Crystal headbutt encounter that matches OTID.";
public static string LG2OTGender { get; set; } = "OT from Virtual Console games other than Crystal cannot be female."; public static string LG2OTGender { get; set; } = "OT from Virtual Console games other than Crystal cannot be female.";
@ -250,8 +250,8 @@ namespace PKHeX.Core
public static string LG5OTGenderN { get; set; } = "N's Pokémon must have a male OT gender."; public static string LG5OTGenderN { get; set; } = "N's Pokémon must have a male OT gender.";
public static string LG5PIDShinyGrotto { get; set; } = "Hidden Grotto captures cannot be shiny."; public static string LG5PIDShinyGrotto { get; set; } = "Hidden Grotto captures cannot be shiny.";
public static string LG5PIDShinyN { get; set; } = "N's Pokémon cannot be shiny."; public static string LG5PIDShinyN { get; set; } = "N's Pokémon cannot be shiny.";
public static string LG5SparkleInvalid { get; set; } = "Special ingame N's Sparkle flag should not be checked."; public static string LG5SparkleInvalid { get; set; } = "Special In-game N's Sparkle flag should not be checked.";
public static string LG5SparkleRequired { get; set; } = "Special ingame N's Sparkle flag missing."; public static string LG5SparkleRequired { get; set; } = "Special In-game N's Sparkle flag missing.";
public static string LGenderInvalidNone { get; set; } = "Genderless Pokémon should not have a gender."; public static string LGenderInvalidNone { get; set; } = "Genderless Pokémon should not have a gender.";
public static string LGeoBadOrder { get; set; } = "GeoLocation Memory: Gap/Blank present."; public static string LGeoBadOrder { get; set; } = "GeoLocation Memory: Gap/Blank present.";
@ -352,7 +352,7 @@ namespace PKHeX.Core
public static string LMoveRelearnDexNav { get; set; } = "Not an expected DexNav move."; public static string LMoveRelearnDexNav { get; set; } = "Not an expected DexNav move.";
public static string LMoveRelearnEgg { get; set; } = "Base Egg move."; public static string LMoveRelearnEgg { get; set; } = "Base Egg move.";
public static string LMoveRelearnEggMissing { get; set; } = "Base Egg move missing."; public static string LMoveRelearnEggMissing { get; set; } = "Base Egg move missing.";
public static string LMoveRelearnFExpect_0 { get; set; } = "Expected the following Relearn Moves: {0}"; public static string LMoveRelearnFExpect_0 { get; set; } = "Expected the following Relearn Moves: {0} ({1}";
public static string LMoveRelearnFMiss_0 { get; set; } = "Relearn Moves missing: {0}"; public static string LMoveRelearnFMiss_0 { get; set; } = "Relearn Moves missing: {0}";
public static string LMoveRelearnInvalid { get; set; } = "Not an expected Relearnable move."; public static string LMoveRelearnInvalid { get; set; } = "Not an expected Relearnable move.";
public static string LMoveRelearnNone { get; set; } = "Expected no Relearn Move in slot."; public static string LMoveRelearnNone { get; set; } = "Expected no Relearn Move in slot.";
@ -440,7 +440,7 @@ namespace PKHeX.Core
public static string LTransferMoveG4HM { get; set; } = "Defog and Whirlpool. One of the two moves should have been removed before transferred to Generation 5."; public static string LTransferMoveG4HM { get; set; } = "Defog and Whirlpool. One of the two moves should have been removed before transferred to Generation 5.";
public static string LTransferMoveHM { get; set; } = "Generation {0} HM. Should have been removed before transferred to Generation {1}."; public static string LTransferMoveHM { get; set; } = "Generation {0} HM. Should have been removed before transferred to Generation {1}.";
public static string LTransferNature { get; set; } = "Invalid Nature for transfer Experience."; public static string LTransferNature { get; set; } = "Invalid Nature for transfer Experience.";
public static string LTransferOriginFInvalid0_1 { get; set; } = "{0} origin cannot exist in the currently loaded ({1}) savegame."; public static string LTransferOriginFInvalid0_1 { get; set; } = "{0} origin cannot exist in the currently loaded ({1}) save file.";
public static string LTransferPIDECBitFlip { get; set; } = "PID should be equal to EC [with top bit flipped]!"; public static string LTransferPIDECBitFlip { get; set; } = "PID should be equal to EC [with top bit flipped]!";
public static string LTransferPIDECEquals { get; set; } = "PID should be equal to EC!"; public static string LTransferPIDECEquals { get; set; } = "PID should be equal to EC!";
public static string LTransferPIDECXor { get; set; } = "Encryption Constant matches shinyxored PID."; public static string LTransferPIDECXor { get; set; } = "Encryption Constant matches shinyxored PID.";

View file

@ -110,7 +110,7 @@ namespace PKHeX.Core
/// <remarks>Use <see cref="GetSuggestedRelearnMovesFromEncounter"/> instead of calling directly; this method just puts default values in without considering the final moveset.</remarks> /// <remarks>Use <see cref="GetSuggestedRelearnMovesFromEncounter"/> instead of calling directly; this method just puts default values in without considering the final moveset.</remarks>
public static IReadOnlyList<int> GetSuggestedRelearn(this IEncounterable enc, PKM pkm) public static IReadOnlyList<int> GetSuggestedRelearn(this IEncounterable enc, PKM pkm)
{ {
if (ShouldNotHaveRelearnMoves(enc, pkm)) if (VerifyRelearnMoves.ShouldNotHaveRelearnMoves(enc, pkm))
return Empty; return Empty;
return GetSuggestedRelearnInternal(enc, pkm); return GetSuggestedRelearnInternal(enc, pkm);
@ -135,7 +135,7 @@ namespace PKHeX.Core
enc ??= info.EncounterOriginal; enc ??= info.EncounterOriginal;
var pkm = analysis.pkm; var pkm = analysis.pkm;
if (ShouldNotHaveRelearnMoves(enc, pkm)) if (VerifyRelearnMoves.ShouldNotHaveRelearnMoves(enc, pkm))
return Empty; return Empty;
if (enc is EncounterEgg or EncounterInvalid {EggEncounter: true}) if (enc is EncounterEgg or EncounterInvalid {EggEncounter: true})
@ -189,7 +189,5 @@ namespace PKHeX.Core
} }
return MoveBreed.GetExpectedMoves(moves, enc); return MoveBreed.GetExpectedMoves(moves, enc);
} }
private static bool ShouldNotHaveRelearnMoves(IGeneration enc, PKM pkm) => enc.Generation < 6 || pkm is IBattleVersion {BattleVersion: not 0};
} }
} }

View file

@ -100,11 +100,11 @@ LEncInvalid = Unable to match an encounter from origin game.
LEncStaticMatch = Valid gift/static encounter. LEncStaticMatch = Valid gift/static encounter.
LEncStaticPIDShiny = Static Encounter shiny mismatch. LEncStaticPIDShiny = Static Encounter shiny mismatch.
LEncStaticRelearn = Static encounter relearn move mismatch. LEncStaticRelearn = Static encounter relearn move mismatch.
LEncTradeChangedNickname = Ingame Trade Nickname has been altered. LEncTradeChangedNickname = In-game Trade Nickname has been altered.
LEncTradeChangedOT = Ingame Trade OT has been altered. LEncTradeChangedOT = In-game Trade OT has been altered.
LEncTradeIndexBad = Ingame Trade invalid index? LEncTradeIndexBad = In-game Trade invalid index?
LEncTradeMatch = Valid ingame trade. LEncTradeMatch = Valid in-game trade.
LEncTradeUnchanged = Ingame Trade OT and Nickname have not been altered. LEncTradeUnchanged = In-game Trade OT and Nickname have not been altered.
LEncTypeMatch = Encounter Type matches encounter. LEncTypeMatch = Encounter Type matches encounter.
LEncTypeMismatch = Encounter Type does not match encounter. LEncTypeMismatch = Encounter Type does not match encounter.
LEncUnreleased = Unreleased event. LEncUnreleased = Unreleased event.
@ -112,17 +112,17 @@ LEncUnreleasedEMewJP = Non japanese Mew from Faraway Island. Unreleased event.
LEncUnreleasedHoOArceus = Arceus from Hall of Origin. Unreleased event. LEncUnreleasedHoOArceus = Arceus from Hall of Origin. Unreleased event.
LEncUnreleasedPtDarkrai = Non Platinum Darkrai from Newmoon Island. Unreleased event. LEncUnreleasedPtDarkrai = Non Platinum Darkrai from Newmoon Island. Unreleased event.
LEncUnreleasedPtShaymin = Non Platinum Shaymin from Flower Paradise. Unreleased event. LEncUnreleasedPtShaymin = Non Platinum Shaymin from Flower Paradise. Unreleased event.
LEReaderAmerica = American E-Reader Berry in Japanese savegame. LEReaderAmerica = American E-Reader Berry in Japanese save file.
LEReaderInvalid = Invalid E-Reader Berry. LEReaderInvalid = Invalid E-Reader Berry.
LEReaderJapan = Japanese E-Reader Berry in international savegame. LEReaderJapan = Japanese E-Reader Berry in international save file.
LEvoInvalid = Evolution not valid (or level/trade evolution unsatisfied). LEvoInvalid = Evolution not valid (or level/trade evolution unsatisfied).
LEvoTradeReq = In-game trade {0} should have evolved into {1}. LEvoTradeReq = In-game trade {0} should have evolved into {1}.
LEvoTradeReqOutsider = Outsider {0} should have evolved into {1}. LEvoTradeReqOutsider = Outsider {0} should have evolved into {1}.
LEvoTradeRequired = Version Specific evolution requires a trade to opposite version. A Handling Trainer is required. LEvoTradeRequired = Version Specific evolution requires a trade to opposite version. A Handling Trainer is required.
LFateful = Special ingame Fateful Encounter. LFateful = Special in-game Fateful Encounter.
LFatefulGiftMissing = Fateful Encounter with no matching Encounter. Has the Mystery Gift data been contributed? LFatefulGiftMissing = Fateful Encounter with no matching Encounter. Has the Mystery Gift data been contributed?
LFatefulInvalid = Fateful Encounter should not be checked. LFatefulInvalid = Fateful Encounter should not be checked.
LFatefulMissing = Special ingame Fateful Encounter flag missing. LFatefulMissing = Special in-game Fateful Encounter flag missing.
LFatefulMystery = Mystery Gift Fateful Encounter. LFatefulMystery = Mystery Gift Fateful Encounter.
LFatefulMysteryMissing = Mystery Gift Fateful Encounter flag missing. LFatefulMysteryMissing = Mystery Gift Fateful Encounter flag missing.
LFavoriteMarkingUnavailable = Favorite Marking is not available. LFavoriteMarkingUnavailable = Favorite Marking is not available.
@ -176,7 +176,7 @@ LG1TypePorygonFail2 = Porygon with invalid Type B value.
LG2InvalidTilePark = National Park fishing encounter. Unreachable Water tiles. LG2InvalidTilePark = National Park fishing encounter. Unreachable Water tiles.
LG2InvalidTileR14 = Kanto Route 14 fishing encounter. Unreachable Water tiles. LG2InvalidTileR14 = Kanto Route 14 fishing encounter. Unreachable Water tiles.
LG2InvalidTileSafari = Generation 2 Safari Zone fishing encounter. Unreachable zone. LG2InvalidTileSafari = Generation 2 Safari Zone fishing encounter. Unreachable zone.
LG2InvalidTileTreeID = Found an unreacheable tree for Crystal headbutt encounter that matches OTID. LG2InvalidTileTreeID = Found an unreachable tree for Crystal headbutt encounter that matches OTID.
LG2InvalidTileTreeNotFound = Could not find a tree for Crystal headbutt encounter that matches OTID. LG2InvalidTileTreeNotFound = Could not find a tree for Crystal headbutt encounter that matches OTID.
LG2OTGender = OT from Virtual Console games other than Crystal cannot be female. LG2OTGender = OT from Virtual Console games other than Crystal cannot be female.
LG2TreeID = Found a tree for Crystal headbutt encounter that matches OTID. LG2TreeID = Found a tree for Crystal headbutt encounter that matches OTID.
@ -188,8 +188,8 @@ LG5IVAll30 = All IVs of N's Pokémon should be 30.
LG5OTGenderN = N's Pokémon must have a male OT gender. LG5OTGenderN = N's Pokémon must have a male OT gender.
LG5PIDShinyGrotto = Hidden Grotto captures cannot be shiny. LG5PIDShinyGrotto = Hidden Grotto captures cannot be shiny.
LG5PIDShinyN = N's Pokémon cannot be shiny. LG5PIDShinyN = N's Pokémon cannot be shiny.
LG5SparkleInvalid = Special ingame N's Sparkle flag should not be checked. LG5SparkleInvalid = Special in-game N's Sparkle flag should not be checked.
LG5SparkleRequired = Special ingame N's Sparkle flag missing. LG5SparkleRequired = Special in-game N's Sparkle flag missing.
LGenderInvalidNone = Genderless Pokémon should not have a gender. LGenderInvalidNone = Genderless Pokémon should not have a gender.
LGeoBadOrder = GeoLocation Memory: Gap/Blank present. LGeoBadOrder = GeoLocation Memory: Gap/Blank present.
LGeoHardwareInvalid = Geolocation: Country is not in 3DS region. LGeoHardwareInvalid = Geolocation: Country is not in 3DS region.
@ -276,7 +276,7 @@ LMovePPTooHigh_0 = Move {0} PP is above the amount allowed.
LMoveRelearnDexNav = Not an expected DexNav move. LMoveRelearnDexNav = Not an expected DexNav move.
LMoveRelearnEgg = Base Egg move. LMoveRelearnEgg = Base Egg move.
LMoveRelearnEggMissing = Base Egg move missing. LMoveRelearnEggMissing = Base Egg move missing.
LMoveRelearnFExpect_0 = Expected the following Relearn Moves: {0} LMoveRelearnFExpect_0 = Expected the following Relearn Moves: {0} ({1})
LMoveRelearnFMiss_0 = Relearn Moves missing: {0} LMoveRelearnFMiss_0 = Relearn Moves missing: {0}
LMoveRelearnInvalid = Not an expected Relearnable move. LMoveRelearnInvalid = Not an expected Relearnable move.
LMoveRelearnNone = Expected no Relearn Move in slot. LMoveRelearnNone = Expected no Relearn Move in slot.
@ -357,7 +357,7 @@ LTransferMove = Incompatible transfer move.
LTransferMoveG4HM = Defog and Whirlpool. One of the two moves should have been removed before transferred to Generation 5. LTransferMoveG4HM = Defog and Whirlpool. One of the two moves should have been removed before transferred to Generation 5.
LTransferMoveHM = Generation {0} HM. Should have been removed before transferred to Generation {1}. LTransferMoveHM = Generation {0} HM. Should have been removed before transferred to Generation {1}.
LTransferNature = Invalid Nature for transfer Experience. LTransferNature = Invalid Nature for transfer Experience.
LTransferOriginFInvalid0_1 = {0} origin cannot exist in the currently loaded ({1}) savegame. LTransferOriginFInvalid0_1 = {0} origin cannot exist in the currently loaded ({1}) save file.
LTransferPIDECBitFlip = PID should be equal to EC [with top bit flipped]! LTransferPIDECBitFlip = PID should be equal to EC [with top bit flipped]!
LTransferPIDECEquals = PID should be equal to EC! LTransferPIDECEquals = PID should be equal to EC!
LTransferPIDECXor = Encryption Constant matches shinyxored PID. LTransferPIDECXor = Encryption Constant matches shinyxored PID.

View file

@ -100,11 +100,11 @@ LEncInvalid = Unable to match an encounter from origin game.
LEncStaticMatch = Valid gift/static encounter. LEncStaticMatch = Valid gift/static encounter.
LEncStaticPIDShiny = Static Encounter shiny mismatch. LEncStaticPIDShiny = Static Encounter shiny mismatch.
LEncStaticRelearn = Static encounter relearn move mismatch. LEncStaticRelearn = Static encounter relearn move mismatch.
LEncTradeChangedNickname = Ingame Trade Nickname has been altered. LEncTradeChangedNickname = In-game Trade Nickname has been altered.
LEncTradeChangedOT = Ingame Trade OT has been altered. LEncTradeChangedOT = In-game Trade OT has been altered.
LEncTradeIndexBad = Ingame Trade invalid index? LEncTradeIndexBad = In-game Trade invalid index?
LEncTradeMatch = Valid ingame trade. LEncTradeMatch = Valid in-game trade.
LEncTradeUnchanged = Ingame Trade OT and Nickname have not been altered. LEncTradeUnchanged = In-game Trade OT and Nickname have not been altered.
LEncTypeMatch = Encounter Type matches encounter. LEncTypeMatch = Encounter Type matches encounter.
LEncTypeMismatch = Encounter Type does not match encounter. LEncTypeMismatch = Encounter Type does not match encounter.
LEncUnreleased = Unreleased event. LEncUnreleased = Unreleased event.
@ -112,17 +112,17 @@ LEncUnreleasedEMewJP = Non japanese Mew from Faraway Island. Unreleased event.
LEncUnreleasedHoOArceus = Arceus from Hall of Origin. Unreleased event. LEncUnreleasedHoOArceus = Arceus from Hall of Origin. Unreleased event.
LEncUnreleasedPtDarkrai = Non Platinum Darkrai from Newmoon Island. Unreleased event. LEncUnreleasedPtDarkrai = Non Platinum Darkrai from Newmoon Island. Unreleased event.
LEncUnreleasedPtShaymin = Non Platinum Shaymin from Flower Paradise. Unreleased event. LEncUnreleasedPtShaymin = Non Platinum Shaymin from Flower Paradise. Unreleased event.
LEReaderAmerica = American E-Reader Berry in Japanese savegame. LEReaderAmerica = American E-Reader Berry in Japanese save file.
LEReaderInvalid = Invalid E-Reader Berry. LEReaderInvalid = Invalid E-Reader Berry.
LEReaderJapan = Japanese E-Reader Berry in international savegame. LEReaderJapan = Japanese E-Reader Berry in international save file.
LEvoInvalid = Evolution not valid (or level/trade evolution unsatisfied). LEvoInvalid = Evolution not valid (or level/trade evolution unsatisfied).
LEvoTradeReq = In-game trade {0} should have evolved into {1}. LEvoTradeReq = In-game trade {0} should have evolved into {1}.
LEvoTradeReqOutsider = Outsider {0} should have evolved into {1}. LEvoTradeReqOutsider = Outsider {0} should have evolved into {1}.
LEvoTradeRequired = Version Specific evolution requires a trade to opposite version. A Handling Trainer is required. LEvoTradeRequired = Version Specific evolution requires a trade to opposite version. A Handling Trainer is required.
LFateful = Special ingame Fateful Encounter. LFateful = Special in-game Fateful Encounter.
LFatefulGiftMissing = Fateful Encounter with no matching Encounter. Has the Mystery Gift data been contributed? LFatefulGiftMissing = Fateful Encounter with no matching Encounter. Has the Mystery Gift data been contributed?
LFatefulInvalid = Fateful Encounter should not be checked. LFatefulInvalid = Fateful Encounter should not be checked.
LFatefulMissing = Special ingame Fateful Encounter flag missing. LFatefulMissing = Special in-game Fateful Encounter flag missing.
LFatefulMystery = Mystery Gift Fateful Encounter. LFatefulMystery = Mystery Gift Fateful Encounter.
LFatefulMysteryMissing = Mystery Gift Fateful Encounter flag missing. LFatefulMysteryMissing = Mystery Gift Fateful Encounter flag missing.
LFavoriteMarkingUnavailable = Favorite Marking is not available. LFavoriteMarkingUnavailable = Favorite Marking is not available.
@ -176,7 +176,7 @@ LG1TypePorygonFail2 = Porygon with invalid Type B value.
LG2InvalidTilePark = National Park fishing encounter. Unreachable Water tiles. LG2InvalidTilePark = National Park fishing encounter. Unreachable Water tiles.
LG2InvalidTileR14 = Kanto Route 14 fishing encounter. Unreachable Water tiles. LG2InvalidTileR14 = Kanto Route 14 fishing encounter. Unreachable Water tiles.
LG2InvalidTileSafari = Generation 2 Safari Zone fishing encounter. Unreachable zone. LG2InvalidTileSafari = Generation 2 Safari Zone fishing encounter. Unreachable zone.
LG2InvalidTileTreeID = Found an unreacheable tree for Crystal headbutt encounter that matches OTID. LG2InvalidTileTreeID = Found an unreachable tree for Crystal headbutt encounter that matches OTID.
LG2InvalidTileTreeNotFound = Could not find a tree for Crystal headbutt encounter that matches OTID. LG2InvalidTileTreeNotFound = Could not find a tree for Crystal headbutt encounter that matches OTID.
LG2OTGender = OT from Virtual Console games other than Crystal cannot be female. LG2OTGender = OT from Virtual Console games other than Crystal cannot be female.
LG2TreeID = Found a tree for Crystal headbutt encounter that matches OTID. LG2TreeID = Found a tree for Crystal headbutt encounter that matches OTID.
@ -188,8 +188,8 @@ LG5IVAll30 = All IVs of N's Pokémon should be 30.
LG5OTGenderN = N's Pokémon must have a male OT gender. LG5OTGenderN = N's Pokémon must have a male OT gender.
LG5PIDShinyGrotto = Hidden Grotto captures cannot be shiny. LG5PIDShinyGrotto = Hidden Grotto captures cannot be shiny.
LG5PIDShinyN = N's Pokémon cannot be shiny. LG5PIDShinyN = N's Pokémon cannot be shiny.
LG5SparkleInvalid = Special ingame N's Sparkle flag should not be checked. LG5SparkleInvalid = Special in-game N's Sparkle flag should not be checked.
LG5SparkleRequired = Special ingame N's Sparkle flag missing. LG5SparkleRequired = Special in-game N's Sparkle flag missing.
LGenderInvalidNone = Genderless Pokémon should not have a gender. LGenderInvalidNone = Genderless Pokémon should not have a gender.
LGeoBadOrder = GeoLocation Memory: Gap/Blank present. LGeoBadOrder = GeoLocation Memory: Gap/Blank present.
LGeoHardwareInvalid = Geolocation: Country is not in 3DS region. LGeoHardwareInvalid = Geolocation: Country is not in 3DS region.
@ -276,7 +276,7 @@ LMovePPTooHigh_0 = Move {0} PP is above the amount allowed.
LMoveRelearnDexNav = Not an expected DexNav move. LMoveRelearnDexNav = Not an expected DexNav move.
LMoveRelearnEgg = Base Egg move. LMoveRelearnEgg = Base Egg move.
LMoveRelearnEggMissing = Base Egg move missing. LMoveRelearnEggMissing = Base Egg move missing.
LMoveRelearnFExpect_0 = Expected the following Relearn Moves: {0} LMoveRelearnFExpect_0 = Expected the following Relearn Moves: {0} ({1})
LMoveRelearnFMiss_0 = Relearn Moves missing: {0} LMoveRelearnFMiss_0 = Relearn Moves missing: {0}
LMoveRelearnInvalid = Not an expected Relearnable move. LMoveRelearnInvalid = Not an expected Relearnable move.
LMoveRelearnNone = Expected no Relearn Move in slot. LMoveRelearnNone = Expected no Relearn Move in slot.
@ -357,7 +357,7 @@ LTransferMove = Incompatible transfer move.
LTransferMoveG4HM = Defog and Whirlpool. One of the two moves should have been removed before transferred to Generation 5. LTransferMoveG4HM = Defog and Whirlpool. One of the two moves should have been removed before transferred to Generation 5.
LTransferMoveHM = Generation {0} HM. Should have been removed before transferred to Generation {1}. LTransferMoveHM = Generation {0} HM. Should have been removed before transferred to Generation {1}.
LTransferNature = Invalid Nature for transfer Experience. LTransferNature = Invalid Nature for transfer Experience.
LTransferOriginFInvalid0_1 = {0} origin cannot exist in the currently loaded ({1}) savegame. LTransferOriginFInvalid0_1 = {0} origin cannot exist in the currently loaded ({1}) save file.
LTransferPIDECBitFlip = PID should be equal to EC [with top bit flipped]! LTransferPIDECBitFlip = PID should be equal to EC [with top bit flipped]!
LTransferPIDECEquals = PID should be equal to EC! LTransferPIDECEquals = PID should be equal to EC!
LTransferPIDECXor = Encryption Constant matches shinyxored PID. LTransferPIDECXor = Encryption Constant matches shinyxored PID.

View file

@ -276,7 +276,7 @@ LMovePPTooHigh_0 = Los PP del movimiento {0} están por encima de los permitidos
LMoveRelearnDexNav = No es un Movimiento de DexNav. LMoveRelearnDexNav = No es un Movimiento de DexNav.
LMoveRelearnEgg = Movimiento Huevo base. LMoveRelearnEgg = Movimiento Huevo base.
LMoveRelearnEggMissing = Faltan los Movimientos Huevo base. LMoveRelearnEggMissing = Faltan los Movimientos Huevo base.
LMoveRelearnFExpect_0 = Se esperaban los siguientes movimientos recordables: {0} LMoveRelearnFExpect_0 = Se esperaban los siguientes movimientos recordables: {0} ({1})
LMoveRelearnFMiss_0 = Faltan movimientos recordables: {0} LMoveRelearnFMiss_0 = Faltan movimientos recordables: {0}
LMoveRelearnInvalid = No es un Movimiento Recordable. LMoveRelearnInvalid = No es un Movimiento Recordable.
LMoveRelearnNone = No se esperaba un Movimiento Recordable en esta casilla. LMoveRelearnNone = No se esperaba un Movimiento Recordable en esta casilla.

View file

@ -102,7 +102,7 @@ LEncStaticPIDShiny = Pokémon shiny-locked défini comme étant chromatique.
LEncStaticRelearn = Static encounter relearn move mismatch. LEncStaticRelearn = Static encounter relearn move mismatch.
LEncTradeChangedNickname = Le surnom du Pokémon reçu par échange in-game a été modifié. LEncTradeChangedNickname = Le surnom du Pokémon reçu par échange in-game a été modifié.
LEncTradeChangedOT = Le DO du Pokémon reçu par échange in-game a été modifié. LEncTradeChangedOT = Le DO du Pokémon reçu par échange in-game a été modifié.
LEncTradeIndexBad = Ingame Trade invalid index? LEncTradeIndexBad = In-game Trade invalid index?
LEncTradeMatch = Échange in-game valide. LEncTradeMatch = Échange in-game valide.
LEncTradeUnchanged = Le DO et le surnom d'un Pokémon lors d'un échange dans le jeu n'ont pas été modifiés. LEncTradeUnchanged = Le DO et le surnom d'un Pokémon lors d'un échange dans le jeu n'ont pas été modifiés.
LEncTypeMatch = Le type de rencontre correspond à la rencontre. LEncTypeMatch = Le type de rencontre correspond à la rencontre.
@ -112,9 +112,9 @@ LEncUnreleasedEMewJP = Non japanese Mew from Faraway Island. Unreleased event.
LEncUnreleasedHoOArceus = Arceus de Salle Originelle. Évènement non officialisé. LEncUnreleasedHoOArceus = Arceus de Salle Originelle. Évènement non officialisé.
LEncUnreleasedPtDarkrai = Darkrai d'Île Nouvellelune hors Pokémon Platine. Évènement non officialisé. LEncUnreleasedPtDarkrai = Darkrai d'Île Nouvellelune hors Pokémon Platine. Évènement non officialisé.
LEncUnreleasedPtShaymin = Shaymin de Paradis Fleuri hors Pokémon Platine. Évènement non officialisé. LEncUnreleasedPtShaymin = Shaymin de Paradis Fleuri hors Pokémon Platine. Évènement non officialisé.
LEReaderAmerica = American E-Reader Berry in Japanese savegame. LEReaderAmerica = American E-Reader Berry in Japanese save file.
LEReaderInvalid = Invalid E-Reader Berry. LEReaderInvalid = Invalid E-Reader Berry.
LEReaderJapan = Japanese E-Reader Berry in international savegame. LEReaderJapan = Japanese E-Reader Berry in international save file.
LEvoInvalid = Évolution invalide (conditions non satisfaites). LEvoInvalid = Évolution invalide (conditions non satisfaites).
LEvoTradeReq = Le {0} échangé dans le jeu devrait évoluer vers {1}. LEvoTradeReq = Le {0} échangé dans le jeu devrait évoluer vers {1}.
LEvoTradeReqOutsider = Le {0} étranger devrait évoluer en {1}. LEvoTradeReqOutsider = Le {0} étranger devrait évoluer en {1}.
@ -176,7 +176,7 @@ LG1TypePorygonFail2 = Porygon avec Type B invalide.
LG2InvalidTilePark = Rencontre par pêche dans le Parc National. Cases d'eau inatteignables. LG2InvalidTilePark = Rencontre par pêche dans le Parc National. Cases d'eau inatteignables.
LG2InvalidTileR14 = Rencontre par pêche à la Route 14 de Kanto. Cases d'eau inatteignables. LG2InvalidTileR14 = Rencontre par pêche à la Route 14 de Kanto. Cases d'eau inatteignables.
LG2InvalidTileSafari = Rencontre par pêche dans le Parc Safari de la 2ème génération. Zone inatteignable. LG2InvalidTileSafari = Rencontre par pêche dans le Parc Safari de la 2ème génération. Zone inatteignable.
LG2InvalidTileTreeID = Found an unreacheable tree for Crystal headbutt encounter that matches OTID. LG2InvalidTileTreeID = Found an unreachable tree for Crystal headbutt encounter that matches OTID.
LG2InvalidTileTreeNotFound = Could not find a tree for Crystal headbutt encounter that matches OTID. LG2InvalidTileTreeNotFound = Could not find a tree for Crystal headbutt encounter that matches OTID.
LG2OTGender = OT from Virtual Console games other than Crystal cannot be female. LG2OTGender = OT from Virtual Console games other than Crystal cannot be female.
LG2TreeID = Found a tree for Crystal headbutt encounter that matches OTID. LG2TreeID = Found a tree for Crystal headbutt encounter that matches OTID.
@ -276,7 +276,7 @@ LMovePPTooHigh_0 = Move {0} PP is above the amount allowed.
LMoveRelearnDexNav = Not an expected DexNav move. LMoveRelearnDexNav = Not an expected DexNav move.
LMoveRelearnEgg = Base Egg move. LMoveRelearnEgg = Base Egg move.
LMoveRelearnEggMissing = Base Egg move missing. LMoveRelearnEggMissing = Base Egg move missing.
LMoveRelearnFExpect_0 = Capacités réapprises suivantes prévuess : {0} LMoveRelearnFExpect_0 = Capacités réapprises suivantes prévuess : {0} ({1})
LMoveRelearnFMiss_0 = Capacités réapprises manquantess : {0} LMoveRelearnFMiss_0 = Capacités réapprises manquantess : {0}
LMoveRelearnInvalid = Not an expected Relearnable move. LMoveRelearnInvalid = Not an expected Relearnable move.
LMoveRelearnNone = Pas de capacité réapprise prévue. LMoveRelearnNone = Pas de capacité réapprise prévue.

View file

@ -100,11 +100,11 @@ LEncInvalid = Unable to match an encounter from origin game.
LEncStaticMatch = Valid gift/static encounter. LEncStaticMatch = Valid gift/static encounter.
LEncStaticPIDShiny = Static Encounter shiny mismatch. LEncStaticPIDShiny = Static Encounter shiny mismatch.
LEncStaticRelearn = Static encounter relearn move mismatch. LEncStaticRelearn = Static encounter relearn move mismatch.
LEncTradeChangedNickname = Ingame Trade Nickname has been altered. LEncTradeChangedNickname = In-game Trade Nickname has been altered.
LEncTradeChangedOT = Ingame Trade OT has been altered. LEncTradeChangedOT = In-game Trade OT has been altered.
LEncTradeIndexBad = Ingame Trade invalid index? LEncTradeIndexBad = In-game Trade invalid index?
LEncTradeMatch = Valid ingame trade. LEncTradeMatch = Valid in-game trade.
LEncTradeUnchanged = Ingame Trade OT and Nickname have not been altered. LEncTradeUnchanged = In-game Trade OT and Nickname have not been altered.
LEncTypeMatch = Encounter Type matches encounter. LEncTypeMatch = Encounter Type matches encounter.
LEncTypeMismatch = Encounter Type does not match encounter. LEncTypeMismatch = Encounter Type does not match encounter.
LEncUnreleased = Unreleased event. LEncUnreleased = Unreleased event.
@ -112,17 +112,17 @@ LEncUnreleasedEMewJP = Non japanese Mew from Faraway Island. Unreleased event.
LEncUnreleasedHoOArceus = Arceus from Hall of Origin. Unreleased event. LEncUnreleasedHoOArceus = Arceus from Hall of Origin. Unreleased event.
LEncUnreleasedPtDarkrai = Non Platinum Darkrai from Newmoon Island. Unreleased event. LEncUnreleasedPtDarkrai = Non Platinum Darkrai from Newmoon Island. Unreleased event.
LEncUnreleasedPtShaymin = Non Platinum Shaymin from Flower Paradise. Unreleased event. LEncUnreleasedPtShaymin = Non Platinum Shaymin from Flower Paradise. Unreleased event.
LEReaderAmerica = American E-Reader Berry in Japanese savegame. LEReaderAmerica = American E-Reader Berry in Japanese save file.
LEReaderInvalid = Invalid E-Reader Berry. LEReaderInvalid = Invalid E-Reader Berry.
LEReaderJapan = Japanese E-Reader Berry in international savegame. LEReaderJapan = Japanese E-Reader Berry in international save file.
LEvoInvalid = Evolution not valid (or level/trade evolution unsatisfied). LEvoInvalid = Evolution not valid (or level/trade evolution unsatisfied).
LEvoTradeReq = In-game trade {0} should have evolved into {1}. LEvoTradeReq = In-game trade {0} should have evolved into {1}.
LEvoTradeReqOutsider = Outsider {0} should have evolved into {1}. LEvoTradeReqOutsider = Outsider {0} should have evolved into {1}.
LEvoTradeRequired = Version Specific evolution requires a trade to opposite version. A Handling Trainer is required. LEvoTradeRequired = Version Specific evolution requires a trade to opposite version. A Handling Trainer is required.
LFateful = Special ingame Fateful Encounter. LFateful = Special in-game Fateful Encounter.
LFatefulGiftMissing = Fateful Encounter with no matching Encounter. Has the Mystery Gift data been contributed? LFatefulGiftMissing = Fateful Encounter with no matching Encounter. Has the Mystery Gift data been contributed?
LFatefulInvalid = Fateful Encounter should not be checked. LFatefulInvalid = Fateful Encounter should not be checked.
LFatefulMissing = Special ingame Fateful Encounter flag missing. LFatefulMissing = Special in-game Fateful Encounter flag missing.
LFatefulMystery = Mystery Gift Fateful Encounter. LFatefulMystery = Mystery Gift Fateful Encounter.
LFatefulMysteryMissing = Mystery Gift Fateful Encounter flag missing. LFatefulMysteryMissing = Mystery Gift Fateful Encounter flag missing.
LFavoriteMarkingUnavailable = Favorite Marking is not available. LFavoriteMarkingUnavailable = Favorite Marking is not available.
@ -176,7 +176,7 @@ LG1TypePorygonFail2 = Porygon with invalid Type B value.
LG2InvalidTilePark = National Park fishing encounter. Unreachable Water tiles. LG2InvalidTilePark = National Park fishing encounter. Unreachable Water tiles.
LG2InvalidTileR14 = Kanto Route 14 fishing encounter. Unreachable Water tiles. LG2InvalidTileR14 = Kanto Route 14 fishing encounter. Unreachable Water tiles.
LG2InvalidTileSafari = Generation 2 Safari Zone fishing encounter. Unreachable zone. LG2InvalidTileSafari = Generation 2 Safari Zone fishing encounter. Unreachable zone.
LG2InvalidTileTreeID = Found an unreacheable tree for Crystal headbutt encounter that matches OTID. LG2InvalidTileTreeID = Found an unreachable tree for Crystal headbutt encounter that matches OTID.
LG2InvalidTileTreeNotFound = Could not find a tree for Crystal headbutt encounter that matches OTID. LG2InvalidTileTreeNotFound = Could not find a tree for Crystal headbutt encounter that matches OTID.
LG2OTGender = OT from Virtual Console games other than Crystal cannot be female. LG2OTGender = OT from Virtual Console games other than Crystal cannot be female.
LG2TreeID = Found a tree for Crystal headbutt encounter that matches OTID. LG2TreeID = Found a tree for Crystal headbutt encounter that matches OTID.
@ -188,8 +188,8 @@ LG5IVAll30 = All IVs of N's Pokémon should be 30.
LG5OTGenderN = N's Pokémon must have a male OT gender. LG5OTGenderN = N's Pokémon must have a male OT gender.
LG5PIDShinyGrotto = Hidden Grotto captures cannot be shiny. LG5PIDShinyGrotto = Hidden Grotto captures cannot be shiny.
LG5PIDShinyN = N's Pokémon cannot be shiny. LG5PIDShinyN = N's Pokémon cannot be shiny.
LG5SparkleInvalid = Special ingame N's Sparkle flag should not be checked. LG5SparkleInvalid = Special in-game N's Sparkle flag should not be checked.
LG5SparkleRequired = Special ingame N's Sparkle flag missing. LG5SparkleRequired = Special in-game N's Sparkle flag missing.
LGenderInvalidNone = Genderless Pokémon should not have a gender. LGenderInvalidNone = Genderless Pokémon should not have a gender.
LGeoBadOrder = GeoLocation Memory: Gap/Blank present. LGeoBadOrder = GeoLocation Memory: Gap/Blank present.
LGeoHardwareInvalid = Geolocation: Country is not in 3DS region. LGeoHardwareInvalid = Geolocation: Country is not in 3DS region.
@ -276,7 +276,7 @@ LMovePPTooHigh_0 = Move {0} PP is above the amount allowed.
LMoveRelearnDexNav = Not an expected DexNav move. LMoveRelearnDexNav = Not an expected DexNav move.
LMoveRelearnEgg = Base Egg move. LMoveRelearnEgg = Base Egg move.
LMoveRelearnEggMissing = Base Egg move missing. LMoveRelearnEggMissing = Base Egg move missing.
LMoveRelearnFExpect_0 = Expected the following Relearn Moves: {0} LMoveRelearnFExpect_0 = Expected the following Relearn Moves: {0} ({1})
LMoveRelearnFMiss_0 = Relearn Moves missing: {0} LMoveRelearnFMiss_0 = Relearn Moves missing: {0}
LMoveRelearnInvalid = Not an expected Relearnable move. LMoveRelearnInvalid = Not an expected Relearnable move.
LMoveRelearnNone = Expected no Relearn Move in slot. LMoveRelearnNone = Expected no Relearn Move in slot.
@ -357,7 +357,7 @@ LTransferMove = Incompatible transfer move.
LTransferMoveG4HM = Defog and Whirlpool. One of the two moves should have been removed before transferred to Generation 5. LTransferMoveG4HM = Defog and Whirlpool. One of the two moves should have been removed before transferred to Generation 5.
LTransferMoveHM = Generation {0} HM. Should have been removed before transferred to Generation {1}. LTransferMoveHM = Generation {0} HM. Should have been removed before transferred to Generation {1}.
LTransferNature = Invalid Nature for transfer Experience. LTransferNature = Invalid Nature for transfer Experience.
LTransferOriginFInvalid0_1 = {0} origin cannot exist in the currently loaded ({1}) savegame. LTransferOriginFInvalid0_1 = {0} origin cannot exist in the currently loaded ({1}) save file.
LTransferPIDECBitFlip = PID should be equal to EC [with top bit flipped]! LTransferPIDECBitFlip = PID should be equal to EC [with top bit flipped]!
LTransferPIDECEquals = PID should be equal to EC! LTransferPIDECEquals = PID should be equal to EC!
LTransferPIDECXor = Encryption Constant matches shinyxored PID. LTransferPIDECXor = Encryption Constant matches shinyxored PID.

View file

@ -100,11 +100,11 @@ LEncInvalid = エンカウントエラー
LEncStaticMatch = Valid gift/static encounter. LEncStaticMatch = Valid gift/static encounter.
LEncStaticPIDShiny = Static Encounter shiny mismatch. LEncStaticPIDShiny = Static Encounter shiny mismatch.
LEncStaticRelearn = Static encounter relearn move mismatch. LEncStaticRelearn = Static encounter relearn move mismatch.
LEncTradeChangedNickname = Ingame Trade Nickname has been altered. LEncTradeChangedNickname = In-game Trade Nickname has been altered.
LEncTradeChangedOT = Ingame Trade OT has been altered. LEncTradeChangedOT = In-game Trade OT has been altered.
LEncTradeIndexBad = Ingame Trade invalid index? LEncTradeIndexBad = In-game Trade invalid index?
LEncTradeMatch = Valid ingame trade. LEncTradeMatch = Valid in-game trade.
LEncTradeUnchanged = Ingame Trade OT and Nickname have not been altered. LEncTradeUnchanged = In-game Trade OT and Nickname have not been altered.
LEncTypeMatch = Encounter Type matches encounter. LEncTypeMatch = Encounter Type matches encounter.
LEncTypeMismatch = Encounter Type does not match encounter. LEncTypeMismatch = Encounter Type does not match encounter.
LEncUnreleased = 未解禁イベント LEncUnreleased = 未解禁イベント
@ -112,17 +112,17 @@ LEncUnreleasedEMewJP = Non japanese Mew from Faraway Island. Unreleased event.
LEncUnreleasedHoOArceus = 「はじまりのま」のアルセウスイベントは解禁されていません LEncUnreleasedHoOArceus = 「はじまりのま」のアルセウスイベントは解禁されていません
LEncUnreleasedPtDarkrai = Non Platinum Darkrai from Newmoon Island. Unreleased event. LEncUnreleasedPtDarkrai = Non Platinum Darkrai from Newmoon Island. Unreleased event.
LEncUnreleasedPtShaymin = Non Platinum Shaymin from Flower Paradise. Unreleased event. LEncUnreleasedPtShaymin = Non Platinum Shaymin from Flower Paradise. Unreleased event.
LEReaderAmerica = American E-Reader Berry in Japanese savegame. LEReaderAmerica = American E-Reader Berry in Japanese save file.
LEReaderInvalid = Invalid E-Reader Berry. LEReaderInvalid = Invalid E-Reader Berry.
LEReaderJapan = Japanese E-Reader Berry in international savegame. LEReaderJapan = Japanese E-Reader Berry in international save file.
LEvoInvalid = Evolution not valid (or level/trade evolution unsatisfied). LEvoInvalid = Evolution not valid (or level/trade evolution unsatisfied).
LEvoTradeReq = In-game trade {0} should have evolved into {1}. LEvoTradeReq = In-game trade {0} should have evolved into {1}.
LEvoTradeReqOutsider = Outsider {0} should have evolved into {1}. LEvoTradeReqOutsider = Outsider {0} should have evolved into {1}.
LEvoTradeRequired = Version Specific evolution requires a trade to opposite version. A Handling Trainer is required. LEvoTradeRequired = Version Specific evolution requires a trade to opposite version. A Handling Trainer is required.
LFateful = Special ingame Fateful Encounter. LFateful = Special in-game Fateful Encounter.
LFatefulGiftMissing = Fateful Encounter with no matching Encounter. Has the Mystery Gift data been contributed? LFatefulGiftMissing = Fateful Encounter with no matching Encounter. Has the Mystery Gift data been contributed?
LFatefulInvalid = 「うんめいてきなであい」のチェックを外してください LFatefulInvalid = 「うんめいてきなであい」のチェックを外してください
LFatefulMissing = Special ingame Fateful Encounter flag missing. LFatefulMissing = Special in-game Fateful Encounter flag missing.
LFatefulMystery = うんめいてきなであい LFatefulMystery = うんめいてきなであい
LFatefulMysteryMissing = 「うんめいてきなであい」にチェックを入れてください LFatefulMysteryMissing = 「うんめいてきなであい」にチェックを入れてください
LFavoriteMarkingUnavailable = Favorite Marking is not available. LFavoriteMarkingUnavailable = Favorite Marking is not available.
@ -176,7 +176,7 @@ LG1TypePorygonFail2 = Porygon with invalid Type B value.
LG2InvalidTilePark = National Park fishing encounter. Unreachable Water tiles. LG2InvalidTilePark = National Park fishing encounter. Unreachable Water tiles.
LG2InvalidTileR14 = Kanto Route 14 fishing encounter. Unreachable Water tiles. LG2InvalidTileR14 = Kanto Route 14 fishing encounter. Unreachable Water tiles.
LG2InvalidTileSafari = Generation 2 Safari Zone fishing encounter. Unreachable zone. LG2InvalidTileSafari = Generation 2 Safari Zone fishing encounter. Unreachable zone.
LG2InvalidTileTreeID = Found an unreacheable tree for Crystal headbutt encounter that matches OTID. LG2InvalidTileTreeID = Found an unreachable tree for Crystal headbutt encounter that matches OTID.
LG2InvalidTileTreeNotFound = Could not find a tree for Crystal headbutt encounter that matches OTID. LG2InvalidTileTreeNotFound = Could not find a tree for Crystal headbutt encounter that matches OTID.
LG2OTGender = OT from Virtual Console games other than Crystal cannot be female. LG2OTGender = OT from Virtual Console games other than Crystal cannot be female.
LG2TreeID = Found a tree for Crystal headbutt encounter that matches OTID. LG2TreeID = Found a tree for Crystal headbutt encounter that matches OTID.
@ -188,8 +188,8 @@ LG5IVAll30 = All IVs of N's Pokémon should be 30.
LG5OTGenderN = N's Pokémon must have a male OT gender. LG5OTGenderN = N's Pokémon must have a male OT gender.
LG5PIDShinyGrotto = Hidden Grotto captures cannot be shiny. LG5PIDShinyGrotto = Hidden Grotto captures cannot be shiny.
LG5PIDShinyN = Nのポケモンは色違いにはなりえません LG5PIDShinyN = Nのポケモンは色違いにはなりえません
LG5SparkleInvalid = Special ingame N's Sparkle flag should not be checked. LG5SparkleInvalid = Special in-game N's Sparkle flag should not be checked.
LG5SparkleRequired = Special ingame N's Sparkle flag missing. LG5SparkleRequired = Special in-game N's Sparkle flag missing.
LGenderInvalidNone = Genderless Pokémon should not have a gender. LGenderInvalidNone = Genderless Pokémon should not have a gender.
LGeoBadOrder = GeoLocation Memory: Gap/Blank present. LGeoBadOrder = GeoLocation Memory: Gap/Blank present.
LGeoHardwareInvalid = Geolocation: Country is not in 3DS region. LGeoHardwareInvalid = Geolocation: Country is not in 3DS region.
@ -276,9 +276,9 @@ LMovePPTooHigh_0 = Move {0} PP is above the amount allowed.
LMoveRelearnDexNav = Not an expected DexNav move. LMoveRelearnDexNav = Not an expected DexNav move.
LMoveRelearnEgg = 遺伝技 LMoveRelearnEgg = 遺伝技
LMoveRelearnEggMissing = ベースの遺伝技を設定してください LMoveRelearnEggMissing = ベースの遺伝技を設定してください
LMoveRelearnFExpect_0 = 次の技のいずれかを遺伝技に設定してください: {0} LMoveRelearnFExpect_0 = 次の技のいずれかを遺伝技に設定してください: {0} ({1})
LMoveRelearnFMiss_0 = 通常では覚えられません: {0} LMoveRelearnFMiss_0 = 通常では覚えられません: {0}
LMoveRelearnInvalid = Not an expected Relearnable. LMoveRelearnInvalid = Not an expected Relearnable Move.
LMoveRelearnNone = 遺伝技が設定されていません LMoveRelearnNone = 遺伝技が設定されていません
LMoveSourceDefault = Default move. LMoveSourceDefault = Default move.
LMoveSourceDuplicate = Duplicate Move. LMoveSourceDuplicate = Duplicate Move.
@ -357,7 +357,7 @@ LTransferMove = Incompatible transfer move.
LTransferMoveG4HM = Defog and Whirlpool. One of the two moves should have been removed before transferred to Generation 5. LTransferMoveG4HM = Defog and Whirlpool. One of the two moves should have been removed before transferred to Generation 5.
LTransferMoveHM = Generation {0} HM. Should have been removed before transferred to Generation {1}. LTransferMoveHM = Generation {0} HM. Should have been removed before transferred to Generation {1}.
LTransferNature = Invalid Nature for transfer Experience. LTransferNature = Invalid Nature for transfer Experience.
LTransferOriginFInvalid0_1 = {0} origin cannot exist in the currently loaded ({1}) savegame. LTransferOriginFInvalid0_1 = {0} origin cannot exist in the currently loaded ({1}) save file.
LTransferPIDECBitFlip = PID should be equal to EC [with top bit flipped]! LTransferPIDECBitFlip = PID should be equal to EC [with top bit flipped]!
LTransferPIDECEquals = PID should be equal to EC! LTransferPIDECEquals = PID should be equal to EC!
LTransferPIDECXor = Encryption Constant matches shinyxored PID. LTransferPIDECXor = Encryption Constant matches shinyxored PID.

View file

@ -276,7 +276,7 @@ LMovePPTooHigh_0 = 기술 {0}의 PP가 허용된 값보다 많습니다.
LMoveRelearnDexNav = 도감 내비 기술이 예상과 다릅니다. LMoveRelearnDexNav = 도감 내비 기술이 예상과 다릅니다.
LMoveRelearnEgg = 베이스 자력기입니다. LMoveRelearnEgg = 베이스 자력기입니다.
LMoveRelearnEggMissing = 베이스 자력기가 없습니다. LMoveRelearnEggMissing = 베이스 자력기가 없습니다.
LMoveRelearnFExpect_0 = 다음 떠올리기 기술이 예상됩니다: {0} LMoveRelearnFExpect_0 = 다음 떠올리기 기술이 예상됩니다: {0} ({1})
LMoveRelearnFMiss_0 = 떠올리기 기술이 없습니다: {0} LMoveRelearnFMiss_0 = 떠올리기 기술이 없습니다: {0}
LMoveRelearnInvalid = 떠올리기 기술이 예상과 다릅니다. LMoveRelearnInvalid = 떠올리기 기술이 예상과 다릅니다.
LMoveRelearnNone = 슬롯에 떠올리기 기술이 없어야 할 것으로 예상됩니다. LMoveRelearnNone = 슬롯에 떠올리기 기술이 없어야 할 것으로 예상됩니다.

View file

@ -276,7 +276,7 @@ LMovePPTooHigh_0 = 技能 {0} PP高于允许值.
LMoveRelearnDexNav = 非正确忍足招式。 LMoveRelearnDexNav = 非正确忍足招式。
LMoveRelearnEgg = 基本遗传招式。 LMoveRelearnEgg = 基本遗传招式。
LMoveRelearnEggMissing = 缺失基本遗传招式。 LMoveRelearnEggMissing = 缺失基本遗传招式。
LMoveRelearnFExpect_0 = 应为以下可回忆招式: {0} LMoveRelearnFExpect_0 = 应为以下可回忆招式: {0} ({1})
LMoveRelearnFMiss_0 = 缺失可回忆招式: {0} LMoveRelearnFMiss_0 = 缺失可回忆招式: {0}
LMoveRelearnInvalid = 非正确回忆招式。 LMoveRelearnInvalid = 非正确回忆招式。
LMoveRelearnNone = 应该没有回忆招式。 LMoveRelearnNone = 应该没有回忆招式。