mirror of
https://github.com/kwsch/PKHeX
synced 2024-11-24 04:53:08 +00:00
Further simplifying
This commit is contained in:
parent
711cb6e7e4
commit
2d0469db72
1 changed files with 3 additions and 27 deletions
|
@ -383,32 +383,6 @@ namespace PKHeX.Core
|
||||||
}
|
}
|
||||||
return slots;
|
return slots;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static IEnumerable<EncounterSlot> getSlots4_G_TimeReplace(byte[] data, int ofs, EncounterSlot[] GrassSlots, SlotType t, int[] slotnums)
|
|
||||||
{
|
|
||||||
var slots = new List<EncounterSlot>();
|
|
||||||
// Slots for day, morning and night slots in DPPt. Only contain species data, level is copy from grass slot
|
|
||||||
for (int i = 0; i < 2; i++)
|
|
||||||
{
|
|
||||||
for (int j = 0; j < 2; j++)
|
|
||||||
{
|
|
||||||
int species = BitConverter.ToInt32(data, ofs + i * 8 + j * 4);
|
|
||||||
if (species <= 0)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
var slot = GrassSlots[slotnums[j]].Clone();
|
|
||||||
slot.Species = species;
|
|
||||||
slot.Type = t;
|
|
||||||
slots.Add(slot);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Even if the three time replacer slots overwrite the original grass slot it still possible for that encounter to happen
|
|
||||||
// Original encounter should not be removed
|
|
||||||
|
|
||||||
// Grass slots with species = 0 are added too, it is needed for the swarm encounters, it will be deleted after add swarms
|
|
||||||
return GrassSlots.Concat(slots);
|
|
||||||
}
|
|
||||||
private static IEnumerable<EncounterSlot> getSlots4DPPt_WFR(byte[] data, int ofs, int numslots, SlotType t)
|
private static IEnumerable<EncounterSlot> getSlots4DPPt_WFR(byte[] data, int ofs, int numslots, SlotType t)
|
||||||
{
|
{
|
||||||
var slots = new List<EncounterSlot>();
|
var slots = new List<EncounterSlot>();
|
||||||
|
@ -493,10 +467,12 @@ namespace PKHeX.Core
|
||||||
if (GrassRatio > 0)
|
if (GrassRatio > 0)
|
||||||
{
|
{
|
||||||
EncounterSlot[] GrassSlots = getSlots4_DPPt_G(data, 0x06, 12, SlotType.Grass);
|
EncounterSlot[] GrassSlots = getSlots4_DPPt_G(data, 0x06, 12, SlotType.Grass);
|
||||||
|
Slots.AddRange(GrassSlots);
|
||||||
//Swarming slots replace slots 0 and 1
|
//Swarming slots replace slots 0 and 1
|
||||||
Slots.AddRange(getSlots4_G_Replace(data, 0x66, 4, GrassSlots, Legal.Slot4_Swarm, SlotType.Swarm));
|
Slots.AddRange(getSlots4_G_Replace(data, 0x66, 4, GrassSlots, Legal.Slot4_Swarm, SlotType.Swarm));
|
||||||
//Morning and Night slots replace slots 2 and 3
|
//Morning and Night slots replace slots 2 and 3
|
||||||
Slots.AddRange(getSlots4_G_TimeReplace(data, 0x6E, GrassSlots, SlotType.Grass, Legal.Slot4_Time));
|
Slots.AddRange(getSlots4_G_Replace(data, 0x6E, 4, GrassSlots, Legal.Slot4_Time)); // Morning
|
||||||
|
Slots.AddRange(getSlots4_G_Replace(data, 0x76, 4, GrassSlots, Legal.Slot4_Time)); // Night
|
||||||
//Pokéradar slots replace slots 4,5,10 and 11
|
//Pokéradar slots replace slots 4,5,10 and 11
|
||||||
//Pokéradar is marked with different slot type because it have different PID-IV generationn
|
//Pokéradar is marked with different slot type because it have different PID-IV generationn
|
||||||
Slots.AddRange(getSlots4_G_Replace(data, 0x7E, 4, GrassSlots, Legal.Slot4_Radar, SlotType.Pokeradar));
|
Slots.AddRange(getSlots4_G_Replace(data, 0x7E, 4, GrassSlots, Legal.Slot4_Radar, SlotType.Pokeradar));
|
||||||
|
|
Loading…
Reference in a new issue