PKHeX/PKHeX.Core/Legality/Encounters/EncounterSlot/EncounterSlot6AO.cs
Kurt 6b472ffd62 Misc iencounterable->pkm generator fixes
Still some pending stuff like bad mystery gifts

gen2 static encounters on g/s applying met level and not location
gen6 ralts trade (no nickname) being flagged as nicknamed when it shouldn't
gen4 manaphy egg not having a hatch location (worked fine if you transferred it up)
gen3 antishiny gifts not setting their PIDs (jirachi WC3)
gen5 N's pkm gifts setting the wrong nature
gen3 unown not being generated correctly, cosplay pikachu being allowed form0, non-BugCatchingContest no longer require Sport ball, oras dexnav marill now uses the azurill eggmove table
2020-09-03 19:00:46 -07:00

48 lines
No EOL
1.7 KiB
C#

namespace PKHeX.Core
{
public sealed class EncounterSlot6AO : EncounterSlot
{
public override int Generation => 6;
public EncounterSlot6AO(EncounterArea6AO area, int species, int form, int min, int max) : base(area)
{
Species = species;
Form = form;
LevelMin = min;
LevelMax = max;
}
public bool Pressure { get; set; }
public bool DexNav { get; set; }
public bool WhiteFlute { get; set; }
public bool BlackFlute { get; set; }
public bool CanDexNav => Area.Type != SlotType.Rock_Smash;
protected override void SetFormatSpecificData(PKM pk)
{
var pk6 = (PK6)pk;
if (CanDexNav)
{
var baseSpec = EvoBase.GetBaseSpecies(pk);
var eggMoves = MoveEgg.GetEggMoves(pk, baseSpec.Species, baseSpec.Form, Version);
if (eggMoves.Length > 0)
pk6.RelearnMove1 = eggMoves[Util.Rand.Next(eggMoves.Length)];
}
pk6.SetRandomMemory6();
}
public override string GetConditionString(out bool valid)
{
valid = true;
if (WhiteFlute) // Decreased Level Encounters
return Pressure ? LegalityCheckStrings.LEncConditionWhiteLead : LegalityCheckStrings.LEncConditionWhite;
if (BlackFlute) // Increased Level Encounters
return Pressure ? LegalityCheckStrings.LEncConditionBlackLead : LegalityCheckStrings.LEncConditionBlack;
if (DexNav)
return LegalityCheckStrings.LEncConditionDexNav;
return Pressure ? LegalityCheckStrings.LEncConditionLead : LegalityCheckStrings.LEncCondition;
}
}
}