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;
|
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)
|
private static void MarkG5Slots(ref EncounterArea[] Areas)
|
||||||
{
|
{
|
||||||
foreach (var area in Areas)
|
foreach (var area in Areas)
|
||||||
|
@ -282,11 +302,23 @@ namespace PKHeX.Core
|
||||||
StaticFR = getStaticEncounters(GameVersion.FR);
|
StaticFR = getStaticEncounters(GameVersion.FR);
|
||||||
StaticLG = getStaticEncounters(GameVersion.LG);
|
StaticLG = getStaticEncounters(GameVersion.LG);
|
||||||
|
|
||||||
SlotsR = getEncounterTables(GameVersion.R);
|
var R_Slots = getEncounterTables(GameVersion.R);
|
||||||
SlotsS = getEncounterTables(GameVersion.S);
|
var S_Slots = getEncounterTables(GameVersion.S);
|
||||||
SlotsE = getEncounterTables(GameVersion.E);
|
var E_Slots = getEncounterTables(GameVersion.E);
|
||||||
SlotsFR = getEncounterTables(GameVersion.FR);
|
var FR_Slots = getEncounterTables(GameVersion.FR);
|
||||||
SlotsLG = getEncounterTables(GameVersion.LG);
|
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);
|
Evolves3 = new EvolutionTree(new[] { Resources.evos_g3 }, GameVersion.RS, PersonalTable.RS, MaxSpeciesID_3);
|
||||||
|
|
||||||
|
|
|
@ -144,5 +144,83 @@ namespace PKHeX.Core
|
||||||
//todo
|
//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