Change Battle Frontier validation to species flag (#4341)
* Split isLegendary into isRestrictedLegendary and isSubLegendary * Address reviews and fix build * Update frontier_util.c * Remove gFrontierBannedSpecies , fast edition * Sped up name generation * More speed up * Split Frontier restriction into its own flag * Mythicals shouldn't be banned always anymore * u32 --------- Co-authored-by: Eduardo Quezada <eduardo602002@gmail.com>
This commit is contained in:
parent
9c46b83dbd
commit
0aad2a9ba7
15 changed files with 152 additions and 84 deletions
|
@ -25,6 +25,4 @@ u8 GetFrontierBrainMonNature(u8 monId);
|
|||
u8 GetFrontierBrainMonEvs(u8 monId, u8 evStatId);
|
||||
s32 GetFronterBrainSymbol(void);
|
||||
|
||||
extern const u16 gFrontierBannedSpecies[];
|
||||
|
||||
#endif // GUARD_FRONTIER_UTIL_H
|
||||
|
|
|
@ -425,8 +425,8 @@ struct SpeciesInfo /*0x8C*/
|
|||
/* 0x7A */ u32 isLegendary:1;
|
||||
u32 isMythical:1;
|
||||
u32 isUltraBeast:1;
|
||||
u32 isParadox:1;
|
||||
u32 isTotem:1;
|
||||
u32 isParadoxForm:1;
|
||||
u32 isMegaEvolution:1;
|
||||
u32 isPrimalReversion:1;
|
||||
u32 isUltraBurst:1;
|
||||
|
@ -438,8 +438,9 @@ struct SpeciesInfo /*0x8C*/
|
|||
u32 cannotBeTraded:1;
|
||||
u32 allPerfectIVs:1;
|
||||
u32 dexForceRequired:1; // This species will be taken into account for Pokédex ratings even if they have the "isMythical" flag set.
|
||||
u32 tmIlliterate:1; // This species will be unable to learn the universal moves.
|
||||
u32 padding4:15;
|
||||
u32 tmIlliterate:1; // This species will be unable to learn the universal moves.
|
||||
u32 isFrontierBanned:1; // This species is not allowed to participate in Battle Frontier facilities.
|
||||
u32 padding4:14;
|
||||
// Move Data
|
||||
/* 0x80 */ const struct LevelUpMove *levelUpLearnset;
|
||||
/* 0x84 */ const u16 *teachableLearnset;
|
||||
|
|
|
@ -10731,7 +10731,7 @@ bool32 CanBattlerGetOrLoseItem(u32 battler, u16 itemId)
|
|||
else if (holdEffect == HOLD_EFFECT_Z_CRYSTAL)
|
||||
return FALSE;
|
||||
else if (holdEffect == HOLD_EFFECT_BOOSTER_ENERGY
|
||||
&& (gSpeciesInfo[gBattleMons[gBattlerAttacker].species].isParadoxForm || gSpeciesInfo[gBattleMons[gBattlerTarget].species].isParadoxForm))
|
||||
&& (gSpeciesInfo[gBattleMons[gBattlerAttacker].species].isParadox || gSpeciesInfo[gBattleMons[gBattlerTarget].species].isParadox))
|
||||
return FALSE;
|
||||
else
|
||||
return TRUE;
|
||||
|
|
|
@ -15461,6 +15461,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] =
|
|||
.iconPalIndex = 2,
|
||||
FOOTPRINT(Mewtwo)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sMewtwoLevelUpLearnset,
|
||||
.teachableLearnset = sMewtwoTeachableLearnset,
|
||||
.formSpeciesIdTable = sMewtwoFormSpeciesIdTable,
|
||||
|
@ -15518,6 +15519,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] =
|
|||
FOOTPRINT(Mewtwo)
|
||||
.isLegendary = TRUE,
|
||||
.isMegaEvolution = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sMewtwoLevelUpLearnset,
|
||||
.teachableLearnset = sMewtwoTeachableLearnset,
|
||||
.formSpeciesIdTable = sMewtwoFormSpeciesIdTable,
|
||||
|
@ -15575,6 +15577,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] =
|
|||
FOOTPRINT(Mewtwo)
|
||||
.isLegendary = TRUE,
|
||||
.isMegaEvolution = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sMewtwoLevelUpLearnset,
|
||||
.teachableLearnset = sMewtwoTeachableLearnset,
|
||||
.formSpeciesIdTable = sMewtwoFormSpeciesIdTable,
|
||||
|
@ -15642,6 +15645,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Mew)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sMewLevelUpLearnset,
|
||||
.teachableLearnset = sMewTeachableLearnset,
|
||||
},
|
||||
|
|
|
@ -6325,6 +6325,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Lugia)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sLugiaLevelUpLearnset,
|
||||
.teachableLearnset = sLugiaTeachableLearnset,
|
||||
},
|
||||
|
@ -6389,6 +6390,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
|
|||
.iconPalIndex = 1,
|
||||
FOOTPRINT(HoOh)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sHoOhLevelUpLearnset,
|
||||
.teachableLearnset = sHoOhTeachableLearnset,
|
||||
},
|
||||
|
@ -6453,6 +6455,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] =
|
|||
.iconPalIndex = 1,
|
||||
FOOTPRINT(Celebi)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sCelebiLevelUpLearnset,
|
||||
.teachableLearnset = sCelebiTeachableLearnset,
|
||||
},
|
||||
|
|
|
@ -9340,6 +9340,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] =
|
|||
.iconPalIndex = 2,
|
||||
FOOTPRINT(Kyogre)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sKyogreLevelUpLearnset,
|
||||
.teachableLearnset = sKyogreTeachableLearnset,
|
||||
.formSpeciesIdTable = sKyogreFormSpeciesIdTable,
|
||||
|
@ -9396,6 +9397,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] =
|
|||
FOOTPRINT(Kyogre)
|
||||
.isLegendary = TRUE,
|
||||
.isPrimalReversion = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sKyogreLevelUpLearnset,
|
||||
.teachableLearnset = sKyogreTeachableLearnset,
|
||||
.formSpeciesIdTable = sKyogreFormSpeciesIdTable,
|
||||
|
@ -9460,6 +9462,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Groudon)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sGroudonLevelUpLearnset,
|
||||
.teachableLearnset = sGroudonTeachableLearnset,
|
||||
.formSpeciesIdTable = sGroudonFormSpeciesIdTable,
|
||||
|
@ -9517,6 +9520,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] =
|
|||
FOOTPRINT(Groudon)
|
||||
.isLegendary = TRUE,
|
||||
.isPrimalReversion = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sGroudonLevelUpLearnset,
|
||||
.teachableLearnset = sGroudonTeachableLearnset,
|
||||
.formSpeciesIdTable = sGroudonFormSpeciesIdTable,
|
||||
|
@ -9584,6 +9588,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] =
|
|||
.iconPalIndex = 1,
|
||||
FOOTPRINT(Rayquaza)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sRayquazaLevelUpLearnset,
|
||||
.teachableLearnset = sRayquazaTeachableLearnset,
|
||||
.formSpeciesIdTable = sRayquazaFormSpeciesIdTable,
|
||||
|
@ -9643,6 +9648,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] =
|
|||
FOOTPRINT(Rayquaza)
|
||||
.isLegendary = TRUE,
|
||||
.isMegaEvolution = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sRayquazaLevelUpLearnset,
|
||||
.teachableLearnset = sRayquazaTeachableLearnset,
|
||||
.formSpeciesIdTable = sRayquazaFormSpeciesIdTable,
|
||||
|
@ -9710,6 +9716,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Jirachi)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sJirachiLevelUpLearnset,
|
||||
.teachableLearnset = sJirachiTeachableLearnset,
|
||||
},
|
||||
|
@ -9771,6 +9778,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Deoxys)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sDeoxysNormalLevelUpLearnset,
|
||||
.teachableLearnset = sDeoxysNormalTeachableLearnset,
|
||||
.formSpeciesIdTable = sDeoxysFormSpeciesIdTable,
|
||||
|
@ -9823,6 +9831,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Deoxys)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sDeoxysAttackLevelUpLearnset,
|
||||
.teachableLearnset = sDeoxysAttackTeachableLearnset,
|
||||
.formSpeciesIdTable = sDeoxysFormSpeciesIdTable,
|
||||
|
@ -9875,6 +9884,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Deoxys)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sDeoxysDefenseLevelUpLearnset,
|
||||
.teachableLearnset = sDeoxysDefenseTeachableLearnset,
|
||||
.formSpeciesIdTable = sDeoxysFormSpeciesIdTable,
|
||||
|
@ -9927,6 +9937,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Deoxys)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sDeoxysSpeedLevelUpLearnset,
|
||||
.teachableLearnset = sDeoxysSpeedTeachableLearnset,
|
||||
.formSpeciesIdTable = sDeoxysFormSpeciesIdTable,
|
||||
|
|
|
@ -4786,6 +4786,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
|
|||
.iconPalIndex = 2,
|
||||
FOOTPRINT(Dialga)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sDialgaLevelUpLearnset,
|
||||
.teachableLearnset = sDialgaTeachableLearnset,
|
||||
.formSpeciesIdTable = sDialgaFormSpeciesIdTable,
|
||||
|
@ -4841,6 +4842,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Dialga)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sDialgaLevelUpLearnset,
|
||||
.teachableLearnset = sDialgaTeachableLearnset,
|
||||
.formSpeciesIdTable = sDialgaFormSpeciesIdTable,
|
||||
|
@ -4906,6 +4908,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
|
|||
.iconPalIndex = 2,
|
||||
FOOTPRINT(Palkia)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sPalkiaLevelUpLearnset,
|
||||
.teachableLearnset = sPalkiaTeachableLearnset,
|
||||
.formSpeciesIdTable = sPalkiaFormSpeciesIdTable,
|
||||
|
@ -4961,6 +4964,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
|
|||
.iconPalIndex = 2,
|
||||
FOOTPRINT(Palkia)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sPalkiaLevelUpLearnset,
|
||||
.teachableLearnset = sPalkiaTeachableLearnset,
|
||||
.formSpeciesIdTable = sPalkiaFormSpeciesIdTable,
|
||||
|
@ -5148,6 +5152,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Giratina)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sGiratinaLevelUpLearnset,
|
||||
.teachableLearnset = sGiratinaTeachableLearnset,
|
||||
.formSpeciesIdTable = sGiratinaFormSpeciesIdTable,
|
||||
|
@ -5204,6 +5209,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Giratina)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sGiratinaLevelUpLearnset,
|
||||
.teachableLearnset = sGiratinaTeachableLearnset,
|
||||
.formSpeciesIdTable = sGiratinaFormSpeciesIdTable,
|
||||
|
@ -5330,6 +5336,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Phione)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sPhioneLevelUpLearnset,
|
||||
.teachableLearnset = sPhioneTeachableLearnset,
|
||||
},
|
||||
|
@ -5390,6 +5397,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Manaphy)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sManaphyLevelUpLearnset,
|
||||
.teachableLearnset = sManaphyTeachableLearnset,
|
||||
},
|
||||
|
@ -5453,6 +5461,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Darkrai)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sDarkraiLevelUpLearnset,
|
||||
.teachableLearnset = sDarkraiTeachableLearnset,
|
||||
},
|
||||
|
@ -5518,6 +5527,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
|
|||
.iconPalIndex = 1,
|
||||
FOOTPRINT(Shaymin)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sShayminLandLevelUpLearnset,
|
||||
.teachableLearnset = sShayminLandTeachableLearnset,
|
||||
.formSpeciesIdTable = sShayminFormSpeciesIdTable,
|
||||
|
@ -5580,6 +5590,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
|
|||
.iconPalIndex = 1,
|
||||
FOOTPRINT(Shaymin)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sShayminSkyLevelUpLearnset,
|
||||
.teachableLearnset = sShayminSkyTeachableLearnset,
|
||||
.formSpeciesIdTable = sShayminFormSpeciesIdTable,
|
||||
|
@ -5653,6 +5664,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] =
|
|||
.formSpeciesIdTable = sArceusFormSpeciesIdTable, \
|
||||
.formChangeTable = sArceusFormChangeTable, \
|
||||
.isMythical = TRUE, \
|
||||
.isFrontierBanned = TRUE, \
|
||||
}
|
||||
|
||||
[SPECIES_ARCEUS_NORMAL] = ARCEUS_SPECIES_INFO(TYPE_NORMAL, Normal, 1),
|
||||
|
|
|
@ -53,6 +53,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Victini)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sVictiniLevelUpLearnset,
|
||||
.teachableLearnset = sVictiniTeachableLearnset,
|
||||
},
|
||||
|
@ -9747,6 +9748,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Reshiram)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sReshiramLevelUpLearnset,
|
||||
.teachableLearnset = sReshiramTeachableLearnset,
|
||||
},
|
||||
|
@ -9802,6 +9804,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
|
|||
.iconPalIndex = 2,
|
||||
FOOTPRINT(Zekrom)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sZekromLevelUpLearnset,
|
||||
.teachableLearnset = sZekromTeachableLearnset,
|
||||
},
|
||||
|
@ -9973,6 +9976,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Kyurem)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sKyuremLevelUpLearnset,
|
||||
.teachableLearnset = sKyuremTeachableLearnset,
|
||||
.formSpeciesIdTable = sKyuremFormSpeciesIdTable,
|
||||
|
@ -10036,6 +10040,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
|
|||
FOOTPRINT(Kyurem)
|
||||
.isLegendary = TRUE,
|
||||
.cannotBeTraded = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sKyuremWhiteLevelUpLearnset,
|
||||
.teachableLearnset = sKyuremTeachableLearnset,
|
||||
.formSpeciesIdTable = sKyuremFormSpeciesIdTable,
|
||||
|
@ -10098,6 +10103,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
|
|||
FOOTPRINT(Kyurem)
|
||||
.isLegendary = TRUE,
|
||||
.cannotBeTraded = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sKyuremBlackLevelUpLearnset,
|
||||
.teachableLearnset = sKyuremTeachableLearnset,
|
||||
.formSpeciesIdTable = sKyuremFormSpeciesIdTable,
|
||||
|
@ -10155,6 +10161,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Keldeo)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sKeldeoLevelUpLearnset,
|
||||
.teachableLearnset = sKeldeoTeachableLearnset,
|
||||
.formSpeciesIdTable = sKeldeoFormSpeciesIdTable,
|
||||
|
@ -10211,6 +10218,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Keldeo)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sKeldeoLevelUpLearnset,
|
||||
.teachableLearnset = sKeldeoTeachableLearnset,
|
||||
.formSpeciesIdTable = sKeldeoFormSpeciesIdTable,
|
||||
|
@ -10274,6 +10282,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
|
|||
.iconPalIndex = 4,
|
||||
FOOTPRINT(Meloetta)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sMeloettaLevelUpLearnset,
|
||||
.teachableLearnset = sMeloettaTeachableLearnset,
|
||||
.formSpeciesIdTable = sMeloettaFormSpeciesIdTable,
|
||||
|
@ -10334,6 +10343,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Meloetta)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sMeloettaLevelUpLearnset,
|
||||
.teachableLearnset = sMeloettaTeachableLearnset,
|
||||
.formSpeciesIdTable = sMeloettaFormSpeciesIdTable,
|
||||
|
@ -10393,6 +10403,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] =
|
|||
.formSpeciesIdTable = sGenesectFormSpeciesIdTable, \
|
||||
.formChangeTable = sGenesectFormChangeTable, \
|
||||
.isMythical = TRUE, \
|
||||
.isFrontierBanned = TRUE, \
|
||||
}
|
||||
|
||||
[SPECIES_GENESECT] = GENESECT_SPECIES_INFO(Genesect),
|
||||
|
|
|
@ -4677,6 +4677,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Xerneas)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sXerneasLevelUpLearnset,
|
||||
.teachableLearnset = sXerneasTeachableLearnset,
|
||||
.formSpeciesIdTable = sXerneasFormSpeciesIdTable,
|
||||
|
@ -4728,6 +4729,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Xerneas)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sXerneasLevelUpLearnset,
|
||||
.teachableLearnset = sXerneasTeachableLearnset,
|
||||
.formSpeciesIdTable = sXerneasFormSpeciesIdTable,
|
||||
|
@ -4786,6 +4788,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Yveltal)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sYveltalLevelUpLearnset,
|
||||
.teachableLearnset = sYveltalTeachableLearnset,
|
||||
},
|
||||
|
@ -4838,6 +4841,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
|
|||
.iconPalIndex = 1,
|
||||
FOOTPRINT(Zygarde)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sZygardeLevelUpLearnset,
|
||||
.teachableLearnset = sZygardeTeachableLearnset,
|
||||
.formSpeciesIdTable = sZygardeFormSpeciesIdTable,
|
||||
|
@ -4889,6 +4893,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
|
|||
.iconPalIndex = 1,
|
||||
FOOTPRINT(Zygarde)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sZygardeLevelUpLearnset,
|
||||
.teachableLearnset = sZygardeTeachableLearnset,
|
||||
.formSpeciesIdTable = sZygardeFormSpeciesIdTable,
|
||||
|
@ -4940,6 +4945,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
|
|||
.iconPalIndex = 1,
|
||||
FOOTPRINT(Zygarde)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sZygardeLevelUpLearnset,
|
||||
.teachableLearnset = sZygardeTeachableLearnset,
|
||||
.formSpeciesIdTable = sZygardeFormSpeciesIdTable,
|
||||
|
@ -4992,6 +4998,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
|
|||
.iconPalIndex = 1,
|
||||
FOOTPRINT(Zygarde)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sZygardeLevelUpLearnset,
|
||||
.teachableLearnset = sZygardeTeachableLearnset,
|
||||
.formSpeciesIdTable = sZygardeFormSpeciesIdTable,
|
||||
|
@ -5048,6 +5055,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
|
|||
.iconPalIndex = 1,
|
||||
FOOTPRINT(Zygarde)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sZygardeLevelUpLearnset,
|
||||
.teachableLearnset = sZygardeTeachableLearnset,
|
||||
.formSpeciesIdTable = sZygardeFormSpeciesIdTable,
|
||||
|
@ -5106,6 +5114,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
|
|||
.iconPalIndex = 1,
|
||||
FOOTPRINT(Diancie)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sDiancieLevelUpLearnset,
|
||||
.teachableLearnset = sDiancieTeachableLearnset,
|
||||
.formSpeciesIdTable = sDiancieFormSpeciesIdTable,
|
||||
|
@ -5164,6 +5173,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
|
|||
FOOTPRINT(Diancie)
|
||||
.isMythical = TRUE,
|
||||
.isMegaEvolution = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sDiancieLevelUpLearnset,
|
||||
.teachableLearnset = sDiancieTeachableLearnset,
|
||||
.formSpeciesIdTable = sDiancieFormSpeciesIdTable,
|
||||
|
@ -5223,6 +5233,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Hoopa)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sHoopaConfinedLevelUpLearnset,
|
||||
.teachableLearnset = sHoopaConfinedTeachableLearnset,
|
||||
.formSpeciesIdTable = sHoopaFormSpeciesIdTable,
|
||||
|
@ -5279,6 +5290,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Hoopa)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sHoopaUnboundLevelUpLearnset,
|
||||
.teachableLearnset = sHoopaUnboundTeachableLearnset,
|
||||
.formSpeciesIdTable = sHoopaFormSpeciesIdTable,
|
||||
|
@ -5336,6 +5348,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Volcanion)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sVolcanionLevelUpLearnset,
|
||||
.teachableLearnset = sVolcanionTeachableLearnset,
|
||||
},
|
||||
|
|
|
@ -4754,6 +4754,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
|
|||
FOOTPRINT(Cosmog)
|
||||
.isLegendary = TRUE,
|
||||
.tmIlliterate = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sCosmogLevelUpLearnset,
|
||||
.teachableLearnset = sCosmogTeachableLearnset,
|
||||
.evolutions = EVOLUTION({EVO_LEVEL, 43, SPECIES_COSMOEM}),
|
||||
|
@ -4811,6 +4812,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
|
|||
FOOTPRINT(Cosmoem)
|
||||
.isLegendary = TRUE,
|
||||
.tmIlliterate = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sCosmoemLevelUpLearnset,
|
||||
.teachableLearnset = sCosmoemTeachableLearnset,
|
||||
.evolutions = EVOLUTION({EVO_LEVEL_DAY, 53, SPECIES_SOLGALEO},
|
||||
|
@ -4866,6 +4868,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Solgaleo)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sSolgaleoLevelUpLearnset,
|
||||
.teachableLearnset = sSolgaleoTeachableLearnset,
|
||||
},
|
||||
|
@ -4920,6 +4923,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
|
|||
.iconPalIndex = 2,
|
||||
FOOTPRINT(Lunala)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sLunalaLevelUpLearnset,
|
||||
.teachableLearnset = sLunalaTeachableLearnset,
|
||||
},
|
||||
|
@ -5368,6 +5372,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Necrozma)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sNecrozmaLevelUpLearnset,
|
||||
.teachableLearnset = sNecrozmaTeachableLearnset,
|
||||
.formSpeciesIdTable = sNecrozmaFormSpeciesIdTable,
|
||||
|
@ -5425,6 +5430,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
|
|||
FOOTPRINT(Necrozma)
|
||||
.isLegendary = TRUE,
|
||||
.cannotBeTraded = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sNecrozmaLevelUpLearnset,
|
||||
.teachableLearnset = sNecrozmaTeachableLearnset,
|
||||
.formSpeciesIdTable = sNecrozmaFormSpeciesIdTable,
|
||||
|
@ -5483,6 +5489,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
|
|||
FOOTPRINT(Necrozma)
|
||||
.isLegendary = TRUE,
|
||||
.cannotBeTraded = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sNecrozmaLevelUpLearnset,
|
||||
.teachableLearnset = sNecrozmaTeachableLearnset,
|
||||
.formSpeciesIdTable = sNecrozmaFormSpeciesIdTable,
|
||||
|
@ -5545,6 +5552,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
|
|||
.isLegendary = TRUE,
|
||||
.isUltraBurst = TRUE,
|
||||
.cannotBeTraded = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sNecrozmaLevelUpLearnset,
|
||||
.teachableLearnset = sNecrozmaTeachableLearnset,
|
||||
.formSpeciesIdTable = sNecrozmaFormSpeciesIdTable,
|
||||
|
@ -5603,6 +5611,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Magearna)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sMagearnaLevelUpLearnset,
|
||||
.teachableLearnset = sMagearnaTeachableLearnset,
|
||||
.formSpeciesIdTable = sMagearnaFormSpeciesIdTable,
|
||||
|
@ -5656,6 +5665,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Magearna)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sMagearnaLevelUpLearnset,
|
||||
.teachableLearnset = sMagearnaTeachableLearnset,
|
||||
.formSpeciesIdTable = sMagearnaFormSpeciesIdTable,
|
||||
|
@ -5714,6 +5724,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Marshadow)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sMarshadowLevelUpLearnset,
|
||||
.teachableLearnset = sMarshadowTeachableLearnset,
|
||||
},
|
||||
|
@ -5987,6 +5998,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Zeraora)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sZeraoraLevelUpLearnset,
|
||||
.teachableLearnset = sZeraoraTeachableLearnset,
|
||||
},
|
||||
|
@ -6041,6 +6053,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
|
|||
.iconPalIndex = 2,
|
||||
FOOTPRINT(Meltan)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sMeltanLevelUpLearnset,
|
||||
.teachableLearnset = sMeltanTeachableLearnset,
|
||||
},
|
||||
|
@ -6093,6 +6106,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
|
|||
.iconPalIndex = 2,
|
||||
FOOTPRINT(Melmetal)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sMelmetalLevelUpLearnset,
|
||||
.teachableLearnset = sMelmetalTeachableLearnset,
|
||||
.formSpeciesIdTable = sMelmetalFormSpeciesIdTable,
|
||||
|
@ -6150,6 +6164,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
|
|||
FOOTPRINT(Melmetal)
|
||||
.isMythical = TRUE,
|
||||
.isGigantamax = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sMelmetalLevelUpLearnset,
|
||||
.teachableLearnset = sMelmetalTeachableLearnset,
|
||||
.formSpeciesIdTable = sMelmetalFormSpeciesIdTable,
|
||||
|
|
|
@ -5609,6 +5609,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
|
|||
.iconPalIndex = 2,
|
||||
FOOTPRINT(Zacian)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sZacianLevelUpLearnset,
|
||||
.teachableLearnset = sZacianTeachableLearnset,
|
||||
.formSpeciesIdTable = sZacianFormSpeciesIdTable,
|
||||
|
@ -5664,6 +5665,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
|
|||
.iconPalIndex = 2,
|
||||
FOOTPRINT(Zacian)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sZacianLevelUpLearnset,
|
||||
.teachableLearnset = sZacianTeachableLearnset,
|
||||
.formSpeciesIdTable = sZacianFormSpeciesIdTable,
|
||||
|
@ -5721,6 +5723,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
|
|||
.iconPalIndex = 2,
|
||||
FOOTPRINT(Zamazenta)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sZamazentaLevelUpLearnset,
|
||||
.teachableLearnset = sZamazentaTeachableLearnset,
|
||||
.formSpeciesIdTable = sZamazentaFormSpeciesIdTable,
|
||||
|
@ -5776,6 +5779,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
|
|||
.iconPalIndex = 2,
|
||||
FOOTPRINT(Zamazenta)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sZamazentaLevelUpLearnset,
|
||||
.teachableLearnset = sZamazentaTeachableLearnset,
|
||||
.formSpeciesIdTable = sZamazentaFormSpeciesIdTable,
|
||||
|
@ -5834,6 +5838,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Eternatus)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sEternatusLevelUpLearnset,
|
||||
.teachableLearnset = sEternatusTeachableLearnset,
|
||||
.formSpeciesIdTable = sEternatusFormSpeciesIdTable,
|
||||
|
@ -5889,6 +5894,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Eternatus)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sEternatusLevelUpLearnset,
|
||||
.teachableLearnset = sEternatusTeachableLearnset,
|
||||
.formSpeciesIdTable = sEternatusFormSpeciesIdTable,
|
||||
|
@ -6228,6 +6234,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
|
|||
.iconPalIndex = 1,
|
||||
FOOTPRINT(Zarude)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sZarudeLevelUpLearnset,
|
||||
.teachableLearnset = sZarudeTeachableLearnset,
|
||||
.formSpeciesIdTable = sZarudeFormSpeciesIdTable,
|
||||
|
@ -6281,6 +6288,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
|
|||
.iconPalIndex = 1,
|
||||
FOOTPRINT(Zarude)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sZarudeLevelUpLearnset,
|
||||
.teachableLearnset = sZarudeTeachableLearnset,
|
||||
.formSpeciesIdTable = sZarudeFormSpeciesIdTable,
|
||||
|
@ -6558,6 +6566,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
|
|||
.iconPalIndex = 0,
|
||||
FOOTPRINT(Calyrex)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sCalyrexLevelUpLearnset,
|
||||
.teachableLearnset = sCalyrexTeachableLearnset,
|
||||
.formSpeciesIdTable = sCalyrexFormSpeciesIdTable,
|
||||
|
@ -6614,6 +6623,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
|
|||
FOOTPRINT(Calyrex)
|
||||
.isLegendary = TRUE,
|
||||
.cannotBeTraded = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sCalyrexIceRiderLevelUpLearnset,
|
||||
.teachableLearnset = sCalyrexIceRiderTeachableLearnset,
|
||||
.formSpeciesIdTable = sCalyrexFormSpeciesIdTable,
|
||||
|
@ -6669,6 +6679,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] =
|
|||
FOOTPRINT(Calyrex)
|
||||
.isLegendary = TRUE,
|
||||
.cannotBeTraded = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sCalyrexShadowRiderLevelUpLearnset,
|
||||
.teachableLearnset = sCalyrexShadowRiderTeachableLearnset,
|
||||
.formSpeciesIdTable = sCalyrexFormSpeciesIdTable,
|
||||
|
|
|
@ -4390,7 +4390,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconSprite = gMonIcon_GreatTusk,
|
||||
.iconPalIndex = 0,
|
||||
//FOOTPRINT(GreatTusk)
|
||||
.isParadoxForm = TRUE,
|
||||
.isParadox = TRUE,
|
||||
.levelUpLearnset = sGreatTuskLevelUpLearnset,
|
||||
.teachableLearnset = sGreatTuskTeachableLearnset,
|
||||
},
|
||||
|
@ -4445,7 +4445,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconSprite = gMonIcon_ScreamTail,
|
||||
.iconPalIndex = 0,
|
||||
//FOOTPRINT(ScreamTail)
|
||||
.isParadoxForm = TRUE,
|
||||
.isParadox = TRUE,
|
||||
.levelUpLearnset = sScreamTailLevelUpLearnset,
|
||||
.teachableLearnset = sScreamTailTeachableLearnset,
|
||||
},
|
||||
|
@ -4500,7 +4500,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconSprite = gMonIcon_BruteBonnet,
|
||||
.iconPalIndex = 1,
|
||||
//FOOTPRINT(BruteBonnet)
|
||||
.isParadoxForm = TRUE,
|
||||
.isParadox = TRUE,
|
||||
.levelUpLearnset = sBruteBonnetLevelUpLearnset,
|
||||
.teachableLearnset = sBruteBonnetTeachableLearnset,
|
||||
},
|
||||
|
@ -4558,7 +4558,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconSprite = gMonIcon_FlutterMane,
|
||||
.iconPalIndex = 2,
|
||||
//FOOTPRINT(FlutterMane)
|
||||
.isParadoxForm = TRUE,
|
||||
.isParadox = TRUE,
|
||||
.levelUpLearnset = sFlutterManeLevelUpLearnset,
|
||||
.teachableLearnset = sFlutterManeTeachableLearnset,
|
||||
},
|
||||
|
@ -4612,7 +4612,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconSprite = gMonIcon_SlitherWing,
|
||||
.iconPalIndex = 1,
|
||||
//FOOTPRINT(SlitherWing)
|
||||
.isParadoxForm = TRUE,
|
||||
.isParadox = TRUE,
|
||||
.levelUpLearnset = sSlitherWingLevelUpLearnset,
|
||||
.teachableLearnset = sSlitherWingTeachableLearnset,
|
||||
},
|
||||
|
@ -4667,7 +4667,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconSprite = gMonIcon_SandyShocks,
|
||||
.iconPalIndex = 0,
|
||||
//FOOTPRINT(SandyShocks)
|
||||
.isParadoxForm = TRUE,
|
||||
.isParadox = TRUE,
|
||||
.levelUpLearnset = sSandyShocksLevelUpLearnset,
|
||||
.teachableLearnset = sSandyShocksTeachableLearnset,
|
||||
},
|
||||
|
@ -4722,7 +4722,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconSprite = gMonIcon_IronTreads,
|
||||
.iconPalIndex = 1,
|
||||
//FOOTPRINT(IronTreads)
|
||||
.isParadoxForm = TRUE,
|
||||
.isParadox = TRUE,
|
||||
.levelUpLearnset = sIronTreadsLevelUpLearnset,
|
||||
.teachableLearnset = sIronTreadsTeachableLearnset,
|
||||
},
|
||||
|
@ -4777,7 +4777,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconSprite = gMonIcon_IronBundle,
|
||||
.iconPalIndex = 0,
|
||||
//FOOTPRINT(IronBundle)
|
||||
.isParadoxForm = TRUE,
|
||||
.isParadox = TRUE,
|
||||
.levelUpLearnset = sIronBundleLevelUpLearnset,
|
||||
.teachableLearnset = sIronBundleTeachableLearnset,
|
||||
},
|
||||
|
@ -4832,7 +4832,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconSprite = gMonIcon_IronHands,
|
||||
.iconPalIndex = 0,
|
||||
//FOOTPRINT(IronHands)
|
||||
.isParadoxForm = TRUE,
|
||||
.isParadox = TRUE,
|
||||
.levelUpLearnset = sIronHandsLevelUpLearnset,
|
||||
.teachableLearnset = sIronHandsTeachableLearnset,
|
||||
},
|
||||
|
@ -4888,7 +4888,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconSprite = gMonIcon_IronJugulis,
|
||||
.iconPalIndex = 0,
|
||||
//FOOTPRINT(IronJugulis)
|
||||
.isParadoxForm = TRUE,
|
||||
.isParadox = TRUE,
|
||||
.levelUpLearnset = sIronJugulisLevelUpLearnset,
|
||||
.teachableLearnset = sIronJugulisTeachableLearnset,
|
||||
},
|
||||
|
@ -4944,7 +4944,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconSprite = gMonIcon_IronMoth,
|
||||
.iconPalIndex = 3,
|
||||
//FOOTPRINT(IronMoth)
|
||||
.isParadoxForm = TRUE,
|
||||
.isParadox = TRUE,
|
||||
.levelUpLearnset = sIronMothLevelUpLearnset,
|
||||
.teachableLearnset = sIronMothTeachableLearnset,
|
||||
},
|
||||
|
@ -4999,7 +4999,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconSprite = gMonIcon_IronThorns,
|
||||
.iconPalIndex = 1,
|
||||
//FOOTPRINT(IronThorns)
|
||||
.isParadoxForm = TRUE,
|
||||
.isParadox = TRUE,
|
||||
.levelUpLearnset = sIronThornsLevelUpLearnset,
|
||||
.teachableLearnset = sIronThornsTeachableLearnset,
|
||||
},
|
||||
|
@ -5598,7 +5598,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconSprite = gMonIcon_RoaringMoon,
|
||||
.iconPalIndex = 0,
|
||||
//FOOTPRINT(RoaringMoon)
|
||||
.isParadoxForm = TRUE,
|
||||
.isParadox = TRUE,
|
||||
.levelUpLearnset = sRoaringMoonLevelUpLearnset,
|
||||
.teachableLearnset = sRoaringMoonTeachableLearnset,
|
||||
},
|
||||
|
@ -5652,7 +5652,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconSprite = gMonIcon_IronValiant,
|
||||
.iconPalIndex = 1,
|
||||
//FOOTPRINT(IronValiant)
|
||||
.isParadoxForm = TRUE,
|
||||
.isParadox = TRUE,
|
||||
.levelUpLearnset = sIronValiantLevelUpLearnset,
|
||||
.teachableLearnset = sIronValiantTeachableLearnset,
|
||||
},
|
||||
|
@ -5708,6 +5708,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconPalIndex = 0,
|
||||
//FOOTPRINT(Koraidon)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sKoraidonLevelUpLearnset,
|
||||
.teachableLearnset = sKoraidonTeachableLearnset,
|
||||
},
|
||||
|
@ -5763,6 +5764,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconPalIndex = 2,
|
||||
//FOOTPRINT(Miraidon)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sMiraidonLevelUpLearnset,
|
||||
.teachableLearnset = sMiraidonTeachableLearnset,
|
||||
},
|
||||
|
@ -5816,7 +5818,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconSprite = gMonIcon_WalkingWake,
|
||||
.iconPalIndex = 2,
|
||||
//FOOTPRINT(WalkingWake)
|
||||
.isParadoxForm = TRUE,
|
||||
.isParadox = TRUE,
|
||||
.levelUpLearnset = sWalkingWakeLevelUpLearnset,
|
||||
.teachableLearnset = sWalkingWakeTeachableLearnset,
|
||||
},
|
||||
|
@ -5870,7 +5872,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconSprite = gMonIcon_IronLeaves,
|
||||
.iconPalIndex = 1,
|
||||
//FOOTPRINT(IronLeaves)
|
||||
.isParadoxForm = TRUE,
|
||||
.isParadox = TRUE,
|
||||
.levelUpLearnset = sIronLeavesLevelUpLearnset,
|
||||
.teachableLearnset = sIronLeavesTeachableLearnset,
|
||||
},
|
||||
|
@ -6369,7 +6371,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconSprite = gMonIcon_GougingFire,
|
||||
.iconPalIndex = 5,
|
||||
//FOOTPRINT(GougingFire)
|
||||
.isParadoxForm = TRUE,
|
||||
.isParadox = TRUE,
|
||||
.levelUpLearnset = sGougingFireLevelUpLearnset,
|
||||
.teachableLearnset = sGougingFireTeachableLearnset,
|
||||
},
|
||||
|
@ -6424,7 +6426,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconSprite = gMonIcon_RagingBolt,
|
||||
.iconPalIndex = 2,
|
||||
//FOOTPRINT(RagingBolt)
|
||||
.isParadoxForm = TRUE,
|
||||
.isParadox = TRUE,
|
||||
.levelUpLearnset = sRagingBoltLevelUpLearnset,
|
||||
.teachableLearnset = sRagingBoltTeachableLearnset,
|
||||
},
|
||||
|
@ -6478,7 +6480,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconSprite = gMonIcon_IronBoulder,
|
||||
.iconPalIndex = 5,
|
||||
//FOOTPRINT(IronBoulder)
|
||||
.isParadoxForm = TRUE,
|
||||
.isParadox = TRUE,
|
||||
.levelUpLearnset = sIronBoulderLevelUpLearnset,
|
||||
.teachableLearnset = sIronBoulderTeachableLearnset,
|
||||
},
|
||||
|
@ -6533,7 +6535,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconSprite = gMonIcon_IronCrown,
|
||||
.iconPalIndex = 3,
|
||||
//FOOTPRINT(IronCrown)
|
||||
.isParadoxForm = TRUE,
|
||||
.isParadox = TRUE,
|
||||
.levelUpLearnset = sIronCrownLevelUpLearnset,
|
||||
.teachableLearnset = sIronCrownTeachableLearnset,
|
||||
},
|
||||
|
@ -6589,6 +6591,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconPalIndex = 0,
|
||||
//FOOTPRINT(Terapagos)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sTerapagosLevelUpLearnset,
|
||||
.teachableLearnset = sTerapagosTeachableLearnset,
|
||||
.formSpeciesIdTable = sTerapagosFormSpeciesIdTable,
|
||||
|
@ -6645,6 +6648,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconPalIndex = 0,
|
||||
//FOOTPRINT(Terapagos)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sTerapagosLevelUpLearnset,
|
||||
.teachableLearnset = sTerapagosTeachableLearnset,
|
||||
.formSpeciesIdTable = sTerapagosFormSpeciesIdTable,
|
||||
|
@ -6700,6 +6704,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconPalIndex = 0,
|
||||
//FOOTPRINT(Terapagos)
|
||||
.isLegendary = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sTerapagosLevelUpLearnset,
|
||||
.teachableLearnset = sTerapagosTeachableLearnset,
|
||||
.formSpeciesIdTable = sTerapagosFormSpeciesIdTable,
|
||||
|
@ -6757,6 +6762,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] =
|
|||
.iconPalIndex = 0,
|
||||
//FOOTPRINT(Pecharunt)
|
||||
.isMythical = TRUE,
|
||||
.isFrontierBanned = TRUE,
|
||||
.levelUpLearnset = sPecharuntLevelUpLearnset,
|
||||
.teachableLearnset = sPecharuntTeachableLearnset,
|
||||
},
|
||||
|
|
|
@ -623,20 +623,6 @@ static const u8 sFrontierBrainObjEventGfx[NUM_FRONTIER_FACILITIES][2] =
|
|||
[FRONTIER_FACILITY_PYRAMID] = {OBJ_EVENT_GFX_BRANDON, FALSE},
|
||||
};
|
||||
|
||||
const u16 gFrontierBannedSpecies[] =
|
||||
{
|
||||
SPECIES_MEW, SPECIES_MEWTWO,
|
||||
SPECIES_HO_OH, SPECIES_LUGIA, SPECIES_CELEBI,
|
||||
SPECIES_KYOGRE, SPECIES_GROUDON, SPECIES_RAYQUAZA, SPECIES_JIRACHI, SPECIES_DEOXYS,
|
||||
SPECIES_DIALGA, SPECIES_PALKIA, SPECIES_GIRATINA, SPECIES_MANAPHY, SPECIES_PHIONE, SPECIES_DARKRAI, SPECIES_SHAYMIN, SPECIES_ARCEUS,
|
||||
SPECIES_VICTINI, SPECIES_RESHIRAM, SPECIES_ZEKROM, SPECIES_KYUREM, SPECIES_KELDEO, SPECIES_MELOETTA, SPECIES_GENESECT,
|
||||
SPECIES_XERNEAS, SPECIES_YVELTAL, SPECIES_ZYGARDE, SPECIES_DIANCIE, SPECIES_HOOPA, SPECIES_VOLCANION,
|
||||
SPECIES_COSMOG, SPECIES_COSMOEM, SPECIES_SOLGALEO, SPECIES_LUNALA, SPECIES_NECROZMA, SPECIES_MAGEARNA, SPECIES_MARSHADOW, SPECIES_ZERAORA, SPECIES_MELTAN, SPECIES_MELMETAL,
|
||||
SPECIES_ZACIAN, SPECIES_ZAMAZENTA, SPECIES_ETERNATUS, SPECIES_CALYREX, SPECIES_ZARUDE,
|
||||
SPECIES_KORAIDON, SPECIES_MIRAIDON,
|
||||
0xFFFF
|
||||
};
|
||||
|
||||
static const u8 *const sRecordsWindowChallengeTexts[][2] =
|
||||
{
|
||||
[RANKING_HALL_TOWER_SINGLES] = {gText_BattleTower2, gText_FacilitySingle},
|
||||
|
@ -1899,26 +1885,20 @@ static void CheckBattleTypeFlag(void)
|
|||
|
||||
#define SPECIES_PER_LINE 3
|
||||
|
||||
static u8 AppendCaughtBannedMonSpeciesName(u16 species, u8 count, s32 numBannedMonsCaught)
|
||||
static void AppendCaughtBannedMonSpeciesName(u16 species, u8 count, s32 numBannedMonsCaught)
|
||||
{
|
||||
if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_GET_CAUGHT))
|
||||
if (numBannedMonsCaught == count)
|
||||
StringAppend(gStringVar1, gText_SpaceAndSpace);
|
||||
else if (numBannedMonsCaught > count)
|
||||
StringAppend(gStringVar1, gText_CommaSpace);
|
||||
if ((count % SPECIES_PER_LINE) == 0)
|
||||
{
|
||||
count++;
|
||||
if (numBannedMonsCaught == count)
|
||||
StringAppend(gStringVar1, gText_SpaceAndSpace);
|
||||
else if (numBannedMonsCaught > count)
|
||||
StringAppend(gStringVar1, gText_CommaSpace);
|
||||
if ((count % SPECIES_PER_LINE) == 0)
|
||||
{
|
||||
if (count == SPECIES_PER_LINE)
|
||||
StringAppend(gStringVar1, gText_NewLine);
|
||||
else
|
||||
StringAppend(gStringVar1, gText_LineBreak);
|
||||
}
|
||||
StringAppend(gStringVar1, GetSpeciesName(species));
|
||||
if (count == SPECIES_PER_LINE)
|
||||
StringAppend(gStringVar1, gText_NewLine);
|
||||
else
|
||||
StringAppend(gStringVar1, gText_LineBreak);
|
||||
}
|
||||
|
||||
return count;
|
||||
StringAppend(gStringVar1, GetSpeciesName(species));
|
||||
}
|
||||
|
||||
static void AppendIfValid(u16 species, u16 heldItem, u16 hp, u8 lvlMode, u8 monLevel, u16 *speciesArray, u16 *itemsArray, u8 *count)
|
||||
|
@ -1927,13 +1907,7 @@ static void AppendIfValid(u16 species, u16 heldItem, u16 hp, u8 lvlMode, u8 monL
|
|||
|
||||
if (species == SPECIES_EGG || species == SPECIES_NONE)
|
||||
return;
|
||||
|
||||
for (i = 0; gFrontierBannedSpecies[i] != 0xFFFF
|
||||
&& gFrontierBannedSpecies[i] != GET_BASE_SPECIES_ID(species)
|
||||
&& IsSpeciesEnabled(gFrontierBannedSpecies[i]); i++)
|
||||
;
|
||||
|
||||
if (gFrontierBannedSpecies[i] != 0xFFFF)
|
||||
if (gSpeciesInfo[species].isFrontierBanned)
|
||||
return;
|
||||
if (lvlMode == FRONTIER_LVL_50 && monLevel > FRONTIER_MAX_LEVEL_50)
|
||||
return;
|
||||
|
@ -2019,28 +1993,41 @@ static void CheckPartyIneligibility(void)
|
|||
|
||||
if (numEligibleMons < toChoose)
|
||||
{
|
||||
s32 i;
|
||||
s32 caughtBannedMons = 0;
|
||||
s32 species = gFrontierBannedSpecies[0];
|
||||
for (i = 0; species != 0xFFFF; i++, species = gFrontierBannedSpecies[i])
|
||||
u32 i;
|
||||
u32 baseSpecies = 0;
|
||||
u32 totalCaughtBanned = 0;
|
||||
u32 caughtBanned[100] = {0};
|
||||
|
||||
for (i = 0; i < NUM_SPECIES; i++)
|
||||
{
|
||||
if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_GET_CAUGHT))
|
||||
caughtBannedMons++;
|
||||
if (totalCaughtBanned >= ARRAY_COUNT(caughtBanned))
|
||||
break;
|
||||
baseSpecies = GET_BASE_SPECIES_ID(i);
|
||||
if (baseSpecies == i)
|
||||
{
|
||||
if (gSpeciesInfo[baseSpecies].isFrontierBanned)
|
||||
{
|
||||
if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(baseSpecies), FLAG_GET_CAUGHT))
|
||||
{
|
||||
caughtBanned[totalCaughtBanned] = baseSpecies;
|
||||
totalCaughtBanned++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
gStringVar1[0] = EOS;
|
||||
gSpecialVar_0x8004 = TRUE;
|
||||
count = 0;
|
||||
for (i = 0; gFrontierBannedSpecies[i] != 0xFFFF; i++)
|
||||
count = AppendCaughtBannedMonSpeciesName(gFrontierBannedSpecies[i], count, caughtBannedMons);
|
||||
for (i = 0; i < totalCaughtBanned; i++)
|
||||
AppendCaughtBannedMonSpeciesName(caughtBanned[i], i+1, totalCaughtBanned);
|
||||
|
||||
if (count == 0)
|
||||
if (totalCaughtBanned == 0)
|
||||
{
|
||||
StringAppend(gStringVar1, gText_Space2);
|
||||
StringAppend(gStringVar1, gText_Are);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (count % SPECIES_PER_LINE == SPECIES_PER_LINE - 1)
|
||||
if (totalCaughtBanned % SPECIES_PER_LINE == SPECIES_PER_LINE - 1)
|
||||
StringAppend(gStringVar1, gText_LineBreak);
|
||||
else
|
||||
StringAppend(gStringVar1, gText_Space2);
|
||||
|
|
|
@ -6926,8 +6926,7 @@ static u8 GetPartySlotEntryStatus(s8 slot)
|
|||
|
||||
static bool8 GetBattleEntryEligibility(struct Pokemon *mon)
|
||||
{
|
||||
u16 i = 0;
|
||||
u16 species;
|
||||
u32 species;
|
||||
|
||||
if (GetMonData(mon, MON_DATA_IS_EGG)
|
||||
|| GetMonData(mon, MON_DATA_LEVEL) > GetBattleEntryLevelCap()
|
||||
|
@ -6948,11 +6947,8 @@ static bool8 GetBattleEntryEligibility(struct Pokemon *mon)
|
|||
return TRUE;
|
||||
default: // Battle Frontier
|
||||
species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
for (; gFrontierBannedSpecies[i] != 0xFFFF; i++)
|
||||
{
|
||||
if (gFrontierBannedSpecies[i] == GET_BASE_SPECIES_ID(species))
|
||||
return FALSE;
|
||||
}
|
||||
if (gSpeciesInfo[species].isFrontierBanned)
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -185,7 +185,7 @@ SINGLE_BATTLE_TEST("Booster Energy increases special defense by 30% if it is the
|
|||
SINGLE_BATTLE_TEST("Booster Energy can't be flung if a Paradox species is involved")
|
||||
{
|
||||
GIVEN {
|
||||
ASSUME(gSpeciesInfo[SPECIES_IRON_MOTH].isParadoxForm == TRUE);
|
||||
ASSUME(gSpeciesInfo[SPECIES_IRON_MOTH].isParadox == TRUE);
|
||||
PLAYER(SPECIES_IRON_MOTH);
|
||||
OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_BOOSTER_ENERGY); }
|
||||
} WHEN {
|
||||
|
@ -199,7 +199,7 @@ SINGLE_BATTLE_TEST("Booster Energy can't be flung if a Paradox species is involv
|
|||
SINGLE_BATTLE_TEST("Booster Energy can't be tricked if a Paradox species is involved")
|
||||
{
|
||||
GIVEN {
|
||||
ASSUME(gSpeciesInfo[SPECIES_IRON_MOTH].isParadoxForm == TRUE);
|
||||
ASSUME(gSpeciesInfo[SPECIES_IRON_MOTH].isParadox == TRUE);
|
||||
PLAYER(SPECIES_IRON_MOTH) { Item(ITEM_BERRY_JUICE); }
|
||||
OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_BOOSTER_ENERGY); }
|
||||
} WHEN {
|
||||
|
|
Loading…
Reference in a new issue