Add case for special headbutt slots

Closes #3174

Add more xmldoc for SlotType

Import revised slot-type table, as we've removed "Special" from the regular trees.
ef4b1b2894
This commit is contained in:
Kurt 2021-03-11 20:52:00 -08:00
parent 5cc3322b83
commit 7b163147ef
4 changed files with 33 additions and 7 deletions

View file

@ -61,15 +61,41 @@ namespace PKHeX.Core
/// </summary>
BugContest = 9,
/// <summary>
/// Slot is encountered via Generation 5 Hidden Grotto.
/// </summary>
HiddenGrotto = 10,
// GoPark = 11,
FriendSafari = 12,
Horde = 13,
// Pokeradar = 14,
SOS = 15,
// always used as a modifier to another slot type
// GoPark = 11, UNUSED, now EncounterSlot7g
/// <summary>
/// Slot is encountered via Generation 6 Friend Safari.
/// </summary>
FriendSafari = 12,
/// <summary>
/// Slot is encountered via Generation 6 Horde Battle.
/// </summary>
Horde = 13,
// Pokeradar = 14, // UNUSED, don't need to differentiate Gen4 Radar Slots
/// <summary>
/// Slot is encountered via Generation 7 SOS triggers only.
/// </summary>
SOS = 15,
// Modifiers
/// <summary>
/// Used to differentiate the two types of headbutt tree encounters.
/// </summary>
/// <remarks><see cref="Headbutt"/></remarks>
Special = 1 << 6,
/// <summary>
/// Used to identify encounters that are triggered via alternate ESV proc calculations.
/// </summary>
Swarm = 1 << 7,
}

View file

@ -48,7 +48,7 @@ namespace PKHeX.Core
SlotType.Rock_Smash or SlotType.Surf => CalcSlot(ESV, H_Surf),
SlotType.Super_Rod or SlotType.Good_Rod or SlotType.Old_Rod => CalcSlot(ESV, K_SuperRod),
SlotType.BugContest => CalcSlot(ESV, K_BCC),
SlotType.Headbutt => CalcSlot(ESV, K_Headbutt),
SlotType.Headbutt or SlotType.Headbutt | SlotType.Special => CalcSlot(ESV, K_Headbutt),
_ => CalcSlot(ESV, H_Regular)
};
}