mirror of
https://github.com/kwsch/PKHeX
synced 2024-11-23 12:33:06 +00:00
Alt slots for gen 3, feebas and unown forms
This commit is contained in:
parent
394ef9063e
commit
99d0a56cba
2 changed files with 115 additions and 5 deletions
|
@ -166,7 +166,27 @@ namespace PKHeX.Core
|
|||
}
|
||||
return GameSlots;
|
||||
}
|
||||
private static void MarkG3Slots_FRLG(ref EncounterArea[] Areas)
|
||||
{
|
||||
// Remove slots for unown, those slots does not contains alt form info, it will be added manually in SlotsRFLGAlt
|
||||
// Group areas by location id, the raw data have areas with different slots but the same location id
|
||||
Areas = Areas.Where(a => (a.Location < 188 || a.Location > 194)).
|
||||
GroupBy(a => a.Location).
|
||||
Select(a =>
|
||||
new EncounterArea()
|
||||
{ Location = a.First().Location, Slots = a.SelectMany(m => m.Slots).ToArray() }).
|
||||
ToArray();
|
||||
}
|
||||
|
||||
private static void MarkG3Slots_RSE(ref EncounterArea[] Areas)
|
||||
{
|
||||
// Group areas by location id, the raw data have areas with different slots but the same location id
|
||||
Areas = Areas.GroupBy(a => a.Location).
|
||||
Select(a =>
|
||||
new EncounterArea()
|
||||
{ Location = a.First().Location, Slots = a.SelectMany(m => m.Slots).ToArray() }).
|
||||
ToArray();
|
||||
}
|
||||
private static void MarkG5Slots(ref EncounterArea[] Areas)
|
||||
{
|
||||
foreach (var area in Areas)
|
||||
|
@ -282,11 +302,23 @@ namespace PKHeX.Core
|
|||
StaticFR = getStaticEncounters(GameVersion.FR);
|
||||
StaticLG = getStaticEncounters(GameVersion.LG);
|
||||
|
||||
SlotsR = getEncounterTables(GameVersion.R);
|
||||
SlotsS = getEncounterTables(GameVersion.S);
|
||||
SlotsE = getEncounterTables(GameVersion.E);
|
||||
SlotsFR = getEncounterTables(GameVersion.FR);
|
||||
SlotsLG = getEncounterTables(GameVersion.LG);
|
||||
var R_Slots = getEncounterTables(GameVersion.R);
|
||||
var S_Slots = getEncounterTables(GameVersion.S);
|
||||
var E_Slots = getEncounterTables(GameVersion.E);
|
||||
var FR_Slots = getEncounterTables(GameVersion.FR);
|
||||
var LG_Slots = getEncounterTables(GameVersion.LG);
|
||||
|
||||
MarkG3Slots_RSE(ref R_Slots);
|
||||
MarkG3Slots_RSE(ref S_Slots);
|
||||
MarkG3Slots_RSE(ref E_Slots);
|
||||
MarkG3Slots_FRLG(ref FR_Slots);
|
||||
MarkG3Slots_FRLG(ref LG_Slots);
|
||||
|
||||
SlotsR = addExtraTableSlots(R_Slots, SlotsRSEAlt);
|
||||
SlotsS = addExtraTableSlots(S_Slots, SlotsRSEAlt);
|
||||
SlotsE = addExtraTableSlots(E_Slots, SlotsRSEAlt);
|
||||
SlotsFR = addExtraTableSlots(FR_Slots, SlotsFRLGAlt);
|
||||
SlotsLG = addExtraTableSlots(LG_Slots, SlotsFRLGAlt);
|
||||
|
||||
Evolves3 = new EvolutionTree(new[] { Resources.evos_g3 }, GameVersion.RS, PersonalTable.RS, MaxSpeciesID_3);
|
||||
|
||||
|
|
|
@ -144,5 +144,83 @@ namespace PKHeX.Core
|
|||
//todo
|
||||
};
|
||||
|
||||
#region AltSlots
|
||||
private static readonly EncounterArea[] SlotsRSEAlt =
|
||||
{
|
||||
new EncounterArea {
|
||||
Location = 34, // Route 119
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 349, LevelMin = 20, LevelMax = 25, Type = SlotType.Super_Rod, Form = 25 }, // Feebas
|
||||
},}
|
||||
};
|
||||
private static readonly EncounterArea[] SlotsFRLGAlt =
|
||||
{
|
||||
new EncounterArea {
|
||||
Location = 188, // Monean Chamber
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 0 }, // Unown A
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 26 }, // Unown ?
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 189, // Liptoo Chamber
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 2 }, // Unown C
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 3 }, // Unown D
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 7 }, // Unown H
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 14 }, // Unown O
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 20 }, // Unown U
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 190, // Weepth Chamber
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 4 }, // Unown E
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 8 }, // Unown I
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 13 }, // Unown N
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 18 }, // Unown S
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 191, // Dilford Chamber
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 9 }, // Unown J
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 11 }, // Unown L
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 15 }, // Unown P
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 16 }, // Unown Q
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 17 }, // Unown R
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 192, // Scufib Chamber
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 5 }, // Unown F
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 6 }, // Unown G
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 10 }, // Unown K
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 19 }, // Unown T
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 24 }, // Unown Y
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 193, // Rixy Chamber
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 1 }, // Unown B
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 12 }, // Unown M
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 21 }, // Unown V
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 22 }, // Unown W
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 23 }, // Unown X
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 193, // Viapois Chamber
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 25 }, // Unown Z
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 27 }, // Unown !
|
||||
},}
|
||||
};
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue