diff --git a/data/maps/SlateportCity/scripts.inc b/data/maps/SlateportCity/scripts.inc index f537694dd..e2a3f5d93 100644 --- a/data/maps/SlateportCity/scripts.inc +++ b/data/maps/SlateportCity/scripts.inc @@ -1372,4 +1372,4 @@ SlateportCity_Text_1DF28C: @ 81DF28C .string "That's a really great idea!\p" .string "After all, a tough TRAINER is\n" .string "the perfect fit for the BATTLE TENT!\p" - .string "Give it your best effort!$" \ No newline at end of file + .string "Give it your best effort!$" diff --git a/include/constants/map_scripts.h b/include/constants/map_scripts.h index d5fd40156..26de3ebc6 100644 --- a/include/constants/map_scripts.h +++ b/include/constants/map_scripts.h @@ -9,4 +9,4 @@ #define MAP_SCRIPT_ON_DIVE_WARP 6 #define MAP_SCRIPT_ON_RETURN_TO_FIELD 7 -#endif // GUARD_CONSTANTS_MAP_SCRIPTS_H \ No newline at end of file +#endif // GUARD_CONSTANTS_MAP_SCRIPTS_H diff --git a/include/constants/trainer_hill.h b/include/constants/trainer_hill.h index e231a6043..4aae1dbbc 100644 --- a/include/constants/trainer_hill.h +++ b/include/constants/trainer_hill.h @@ -26,4 +26,4 @@ #define TRAINER_HILL_PLAYER_STATUS_ECARD_SCANNED 1 #define TRAINER_HILL_PLAYER_STATUS_NORMAL 2 -#endif \ No newline at end of file +#endif diff --git a/include/global.h b/include/global.h index 7cc0b2f52..924949d46 100644 --- a/include/global.h +++ b/include/global.h @@ -246,7 +246,7 @@ struct BattleTowerPokemon u32 spAttackIV:5; u32 spDefenseIV:5; u32 gap:1; - u32 altAbility:1; + u32 abilityNum:1; u32 personality; u8 nickname[POKEMON_NAME_LENGTH + 1]; u8 friendship; @@ -293,7 +293,7 @@ struct RentalMon u16 monId; u32 personality; u8 ivs; - u8 abilityBit; + u8 abilityNum; }; struct BattleDomeTrainer diff --git a/include/party_menu.h b/include/party_menu.h index 413a89689..c9843e484 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -33,7 +33,7 @@ struct Struct203CEC8 u8 unk8_0:4; u8 mode:2; u8 unk8_2:2; - s8 unk9; + s8 slotId; s8 unkA; u8 unkB; u16 unkC; diff --git a/include/pokemon.h b/include/pokemon.h index 76d2d93b0..79a3bc10f 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -50,7 +50,7 @@ #define MON_DATA_SPATK_IV 43 #define MON_DATA_SPDEF_IV 44 #define MON_DATA_IS_EGG 45 -#define MON_DATA_ALT_ABILITY 46 +#define MON_DATA_ABILITY_NUM 46 #define MON_DATA_TOUGH 47 #define MON_DATA_SHEEN 48 #define MON_DATA_OT_GENDER 49 @@ -182,7 +182,7 @@ struct PokemonSubstruct3 /* 0x05 */ u32 spAttackIV:5; /* 0x06 */ u32 spDefenseIV:5; /* 0x07 */ u32 isEgg:1; - /* 0x07 */ u32 altAbility:1; + /* 0x07 */ u32 abilityNum:1; /* 0x08 */ u32 coolRibbon:3; /* 0x08 */ u32 beautyRibbon:3; @@ -281,7 +281,7 @@ struct BattlePokemon /*0x16*/ u32 spAttackIV:5; /*0x17*/ u32 spDefenseIV:5; /*0x17*/ u32 isEgg:1; - /*0x17*/ u32 altAbility:1; + /*0x17*/ u32 abilityNum:1; /*0x18*/ s8 statStages[NUM_BATTLE_STATS]; /*0x20*/ u8 ability; /*0x21*/ u8 type1; @@ -295,7 +295,7 @@ struct BattlePokemon /*0x2E*/ u16 item; /*0x30*/ u8 nickname[POKEMON_NAME_LENGTH + 1]; /*0x3B*/ u8 ppBonuses; - /*0x3C*/ u8 otName[8]; + /*0x3C*/ u8 otName[PLAYER_NAME_LENGTH + 1]; /*0x44*/ u32 experience; /*0x48*/ u32 personality; /*0x4C*/ u32 status1; @@ -329,8 +329,7 @@ struct BaseStats /* 0x13 */ u8 growthRate; /* 0x14 */ u8 eggGroup1; /* 0x15 */ u8 eggGroup2; - /* 0x16 */ u8 ability1; - /* 0x17 */ u8 ability2; + /* 0x16 */ u8 abilities[2]; /* 0x18 */ u8 safariZoneFleeRate; /* 0x19 */ u8 bodyColor : 7; u8 noFlip : 1; @@ -431,7 +430,7 @@ extern const u8 gPPUpGetMask[]; extern const u8 gPPUpSetMask[]; extern const u8 gPPUpAddMask[]; extern const u8 gStatStageRatios[][2]; -extern const u16 gUnknown_08329D54[]; +extern const u16 gLinkPlayerFacilityClasses[]; extern const struct SpriteTemplate gUnknown_08329D98[]; extern const s8 gNatureStatTable[][5]; @@ -502,7 +501,7 @@ u8 CalculatePlayerPartyCount(void); u8 CalculateEnemyPartyCount(void); u8 GetMonsStateToDoubles(void); u8 GetMonsStateToDoubles_2(void); -u8 GetAbilityBySpecies(u16 species, bool8 altAbility); +u8 GetAbilityBySpecies(u16 species, bool8 abilityNum); u8 GetMonAbility(struct Pokemon *mon); void CreateSecretBaseEnemyParty(struct SecretBase *secretBaseRecord); u8 GetSecretBaseTrainerPicIndex(void); diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index c7b895028..8af43c753 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -23,6 +23,6 @@ void LoadMonIconPalette(u16 species); void sub_80D328C(struct Sprite *sprite); void sub_80D3014(struct Sprite *sprite); void sub_80D32C8(struct Sprite *sprite, u8 animNum); -u8 sub_80D30A0(u16 species); +u8 GetMonIconPaletteIndexFromSpecies(u16 species); #endif // GUARD_POKEMON_ICON_H diff --git a/include/shop.h b/include/shop.h index 9a5f8eb14..10e2b1060 100644 --- a/include/shop.h +++ b/include/shop.h @@ -49,4 +49,4 @@ void CreateDecorationShop1Menu(const u16 *); void CreateDecorationShop2Menu(const u16 *); void CB2_ExitSellMenu(void); -#endif // GUARD_SHOP_H \ No newline at end of file +#endif // GUARD_SHOP_H diff --git a/include/strings.h b/include/strings.h index 964c46ef2..f30e82321 100644 --- a/include/strings.h +++ b/include/strings.h @@ -2091,45 +2091,45 @@ extern const u8 gDaycareText_DontLikeOther[]; extern const u8 gDaycareText_PlayOther[]; // party menu -extern const u8 gUnknown_085E9E43[]; -extern const u8 gUnknown_085EA010[]; -extern const u8 gUnknown_085EA02A[]; -extern const u8 gUnknown_085E9E55[]; -extern const u8 gUnknown_085E9E64[]; -extern const u8 gUnknown_085E9E79[]; -extern const u8 gUnknown_085E9E8F[]; -extern const u8 gUnknown_085E9EBC[]; -extern const u8 gUnknown_085E9ED4[]; -extern const u8 gUnknown_085E9EE9[]; -extern const u8 gUnknown_085E9FDB[]; -extern const u8 gUnknown_085EA046[]; -extern const u8 gUnknown_085EA05B[]; -extern const u8 gUnknown_085E9F01[]; -extern const u8 gUnknown_085E9F58[]; -extern const u8 gUnknown_085E9F6F[]; -extern const u8 gUnknown_085E9F81[]; -extern const u8 gUnknown_085E9F90[]; -extern const u8 gUnknown_085E9FA7[]; -extern const u8 gUnknown_085E9FC2[]; -extern const u8 gUnknown_085E9EA6[]; -extern const u8 gUnknown_085E9F16[]; -extern const u8 gUnknown_085E9F2A[]; -extern const u8 gUnknown_085E9F42[]; -extern const u8 gUnknown_085E9FF9[]; -extern const u8 gUnknown_085EA073[]; -extern const u8 gUnknown_085EA091[]; -extern const u8 gUnknown_085EA099[]; -extern const u8 gUnknown_085EA09E[]; -extern const u8 gUnknown_085EA0A4[]; -extern const u8 gUnknown_085EA0AB[]; -extern const u8 gUnknown_085EA0E7[]; -extern const u8 gUnknown_085EA0B1[]; -extern const u8 gUnknown_085EA0B6[]; -extern const u8 gUnknown_085EA0BF[]; -extern const u8 gUnknown_085EA0C5[]; -extern const u8 gUnknown_085EA0CF[]; -extern const u8 gUnknown_085EA0D7[]; -extern const u8 gUnknown_085EA0DC[]; +extern const u8 gText_ChoosePokemon[]; +extern const u8 gText_ChoosePokemonCancel[]; +extern const u8 gText_ChoosePokemonConfirm[]; +extern const u8 gText_MoveToWhere[]; +extern const u8 gText_TeachWhichPokemon[]; +extern const u8 gText_UseOnWhichPokemon[]; +extern const u8 gText_GiveToWhichPokemon[]; +extern const u8 gText_NothingToCut[]; +extern const u8 gText_CantSurfHere[]; +extern const u8 gText_AlreadySurfing[]; +extern const u8 gText_CurrentIsTooFast[]; +extern const u8 gText_EnjoyCycling[]; +extern const u8 gText_InUseAlready_PM[]; +extern const u8 gText_CantUseHere[]; +extern const u8 gText_NoPokemonForBattle[]; +extern const u8 gText_ChoosePokemon2[]; +extern const u8 gText_NotEnoughHp[]; +extern const u8 gText_PokemonAreNeeded[]; +extern const u8 gText_PokemonCantBeSame[]; +extern const u8 gText_NoIdenticalHoldItems[]; +extern const u8 gText_DoWhatWithPokemon[]; +extern const u8 gText_RestoreWhichMove[]; +extern const u8 gText_BoostPp[]; +extern const u8 gText_DoWhatWithItem[]; +extern const u8 gText_DoWhatWithMail[]; +extern const u8 gText_AlreadyHoldingOne[]; +extern const u8 gText_NoUse[]; +extern const u8 gText_Able[]; +extern const u8 gText_First_PM[]; +extern const u8 gText_Second_PM[]; +extern const u8 gText_Third_PM[]; +extern const u8 gText_Fourth[]; +extern const u8 gText_Able2[]; +extern const u8 gText_NotAble[]; +extern const u8 gText_Able3[]; +extern const u8 gText_NotAble2[]; +extern const u8 gText_Learned[]; +extern const u8 gText_Have[]; +extern const u8 gText_DontHave[]; extern const u8 gText_Take[]; extern const u8 gText_Mail[]; extern const u8 gText_Take2[]; diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index cd35a2183..75005435d 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -716,10 +716,10 @@ static void SetBattlerData(u8 battlerId) if (BATTLE_HISTORY->abilities[battlerId] != ABILITY_NONE) gBattleMons[battlerId].ability = BATTLE_HISTORY->abilities[battlerId]; // Check if mon can only have one ability. - else if (gBaseStats[gBattleMons[battlerId].species].ability2 == ABILITY_NONE) - gBattleMons[battlerId].ability = gBaseStats[gBattleMons[battlerId].species].ability1; - else + else if (gBaseStats[gBattleMons[battlerId].species].abilities[1] == ABILITY_NONE) + gBattleMons[battlerId].ability = gBaseStats[gBattleMons[battlerId].species].abilities[0]; // The ability is unknown. + else gBattleMons[battlerId].ability = ABILITY_NONE; if (BATTLE_HISTORY->itemEffects[battlerId] == 0) @@ -1578,24 +1578,24 @@ static void BattleAICmd_get_ability(void) return; } - if (gBaseStats[gBattleMons[battlerId].species].ability1 != ABILITY_NONE) + if (gBaseStats[gBattleMons[battlerId].species].abilities[0] != ABILITY_NONE) { - if (gBaseStats[gBattleMons[battlerId].species].ability2 != ABILITY_NONE) + if (gBaseStats[gBattleMons[battlerId].species].abilities[1] != ABILITY_NONE) { // AI has no knowledge of opponent, so it guesses which ability. if (Random() & 1) - AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[battlerId].species].ability1; + AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[battlerId].species].abilities[0]; else - AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[battlerId].species].ability2; + AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[battlerId].species].abilities[1]; } else { - AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[battlerId].species].ability1; // It's definitely ability 1. + AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[battlerId].species].abilities[0]; // It's definitely ability 1. } } else { - AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[battlerId].species].ability2; // AI can't actually reach this part since no pokemon has ability 2 and no ability 1. + AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[battlerId].species].abilities[1]; // AI can't actually reach this part since no pokemon has ability 2 and no ability 1. } } else @@ -1626,15 +1626,15 @@ static void BattleAICmd_check_ability(void) { ability = gBattleMons[battlerId].ability; } - else if (gBaseStats[gBattleMons[battlerId].species].ability1 != ABILITY_NONE) + else if (gBaseStats[gBattleMons[battlerId].species].abilities[0] != ABILITY_NONE) { - if (gBaseStats[gBattleMons[battlerId].species].ability2 != ABILITY_NONE) + if (gBaseStats[gBattleMons[battlerId].species].abilities[1] != ABILITY_NONE) { u8 abilityDummyVariable = ability; // Needed to match. - if (gBaseStats[gBattleMons[battlerId].species].ability1 != abilityDummyVariable - && gBaseStats[gBattleMons[battlerId].species].ability2 != abilityDummyVariable) + if (gBaseStats[gBattleMons[battlerId].species].abilities[0] != abilityDummyVariable + && gBaseStats[gBattleMons[battlerId].species].abilities[1] != abilityDummyVariable) { - ability = gBaseStats[gBattleMons[battlerId].species].ability1; + ability = gBaseStats[gBattleMons[battlerId].species].abilities[0]; } else { @@ -1643,12 +1643,12 @@ static void BattleAICmd_check_ability(void) } else { - ability = gBaseStats[gBattleMons[battlerId].species].ability1; + ability = gBaseStats[gBattleMons[battlerId].species].abilities[0]; } } else { - ability = gBaseStats[gBattleMons[battlerId].species].ability2; // AI can't actually reach this part since no pokemon has ability 2 and no ability 1. + ability = gBaseStats[gBattleMons[battlerId].species].abilities[1]; // AI can't actually reach this part since no pokemon has ability 2 and no ability 1. } } else diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 3c8f01ddb..a45356502 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -192,10 +192,10 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) continue; species = GetMonData(&party[i], MON_DATA_SPECIES); - if (GetMonData(&party[i], MON_DATA_ALT_ABILITY) != 0) - monAbility = gBaseStats[species].ability2; + if (GetMonData(&party[i], MON_DATA_ABILITY_NUM) != 0) + monAbility = gBaseStats[species].abilities[1]; else - monAbility = gBaseStats[species].ability1; + monAbility = gBaseStats[species].abilities[0]; if (absorbingTypeAbility == monAbility && Random() & 1) { @@ -373,10 +373,10 @@ static bool8 FindMonWithFlagsAndSuperEffective(u16 flags, u8 moduloPercent) continue; species = GetMonData(&party[i], MON_DATA_SPECIES); - if (GetMonData(&party[i], MON_DATA_ALT_ABILITY) != 0) - monAbility = gBaseStats[species].ability2; + if (GetMonData(&party[i], MON_DATA_ABILITY_NUM) != 0) + monAbility = gBaseStats[species].abilities[1]; else - monAbility = gBaseStats[species].ability1; + monAbility = gBaseStats[species].abilities[0]; CalcPartyMonTypeEffectivenessMultiplier(gLastLandedMoves[gActiveBattler], species, monAbility); if (gMoveResultFlags & flags) diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 1e3fe9312..5f842c632 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -604,7 +604,7 @@ static u32 CopyLinkOpponentMonData(u8 monId, u8 *dst) battleMon.spAttack = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK); battleMon.spDefense = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF); battleMon.isEgg = GetMonData(&gEnemyParty[monId], MON_DATA_IS_EGG); - battleMon.altAbility = GetMonData(&gEnemyParty[monId], MON_DATA_ALT_ABILITY); + battleMon.abilityNum = GetMonData(&gEnemyParty[monId], MON_DATA_ABILITY_NUM); battleMon.otId = GetMonData(&gEnemyParty[monId], MON_DATA_OT_ID); GetMonData(&gEnemyParty[monId], MON_DATA_NICKNAME, nickname); StringCopy10(battleMon.nickname, nickname); diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index ba1c2b556..86ae2a572 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -489,7 +489,7 @@ static u32 CopyLinkPartnerMonData(u8 monId, u8 *dst) battleMon.spAttack = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK); battleMon.spDefense = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF); battleMon.isEgg = GetMonData(&gPlayerParty[monId], MON_DATA_IS_EGG); - battleMon.altAbility = GetMonData(&gPlayerParty[monId], MON_DATA_ALT_ABILITY); + battleMon.abilityNum = GetMonData(&gPlayerParty[monId], MON_DATA_ABILITY_NUM); battleMon.otId = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID); GetMonData(&gPlayerParty[monId], MON_DATA_NICKNAME, nickname); StringCopy10(battleMon.nickname, nickname); diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 80f268bf1..68e6de91e 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -587,7 +587,7 @@ static u32 GetOpponentMonData(u8 monId, u8 *dst) battleMon.spAttack = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK); battleMon.spDefense = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF); battleMon.isEgg = GetMonData(&gEnemyParty[monId], MON_DATA_IS_EGG); - battleMon.altAbility = GetMonData(&gEnemyParty[monId], MON_DATA_ALT_ABILITY); + battleMon.abilityNum = GetMonData(&gEnemyParty[monId], MON_DATA_ABILITY_NUM); battleMon.otId = GetMonData(&gEnemyParty[monId], MON_DATA_OT_ID); GetMonData(&gEnemyParty[monId], MON_DATA_NICKNAME, nickname); StringCopy10(battleMon.nickname, nickname); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 85530ae5c..71b1f690d 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1672,7 +1672,7 @@ static u32 CopyPlayerMonData(u8 monId, u8 *dst) battleMon.spAttack = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK); battleMon.spDefense = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF); battleMon.isEgg = GetMonData(&gPlayerParty[monId], MON_DATA_IS_EGG); - battleMon.altAbility = GetMonData(&gPlayerParty[monId], MON_DATA_ALT_ABILITY); + battleMon.abilityNum = GetMonData(&gPlayerParty[monId], MON_DATA_ABILITY_NUM); battleMon.otId = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID); GetMonData(&gPlayerParty[monId], MON_DATA_NICKNAME, nickname); StringCopy10(battleMon.nickname, nickname); diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index c5f9a9f5d..2a877e584 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -674,7 +674,7 @@ static u32 CopyPlayerPartnerMonData(u8 monId, u8 *dst) battleMon.spAttack = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK); battleMon.spDefense = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF); battleMon.isEgg = GetMonData(&gPlayerParty[monId], MON_DATA_IS_EGG); - battleMon.altAbility = GetMonData(&gPlayerParty[monId], MON_DATA_ALT_ABILITY); + battleMon.abilityNum = GetMonData(&gPlayerParty[monId], MON_DATA_ABILITY_NUM); battleMon.otId = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID); GetMonData(&gPlayerParty[monId], MON_DATA_NICKNAME, nickname); StringCopy10(battleMon.nickname, nickname); diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 0d604ce8c..a495db835 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -586,7 +586,7 @@ static u32 CopyRecordedOpponentMonData(u8 monId, u8 *dst) battleMon.spAttack = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK); battleMon.spDefense = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF); battleMon.isEgg = GetMonData(&gEnemyParty[monId], MON_DATA_IS_EGG); - battleMon.altAbility = GetMonData(&gEnemyParty[monId], MON_DATA_ALT_ABILITY); + battleMon.abilityNum = GetMonData(&gEnemyParty[monId], MON_DATA_ABILITY_NUM); battleMon.otId = GetMonData(&gEnemyParty[monId], MON_DATA_OT_ID); GetMonData(&gEnemyParty[monId], MON_DATA_NICKNAME, nickname); StringCopy10(battleMon.nickname, nickname); diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index e27fc5106..4831600f9 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -567,7 +567,7 @@ static u32 CopyRecordedPlayerMonData(u8 monId, u8 *dst) battleMon.spAttack = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK); battleMon.spDefense = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF); battleMon.isEgg = GetMonData(&gPlayerParty[monId], MON_DATA_IS_EGG); - battleMon.altAbility = GetMonData(&gPlayerParty[monId], MON_DATA_ALT_ABILITY); + battleMon.abilityNum = GetMonData(&gPlayerParty[monId], MON_DATA_ABILITY_NUM); battleMon.otId = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID); GetMonData(&gPlayerParty[monId], MON_DATA_NICKNAME, nickname); StringCopy10(battleMon.nickname, nickname); diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index d7587674c..5473a9881 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -487,7 +487,7 @@ static u32 CopyWallyMonData(u8 monId, u8 *dst) battleMon.spAttack = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK); battleMon.spDefense = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF); battleMon.isEgg = GetMonData(&gPlayerParty[monId], MON_DATA_IS_EGG); - battleMon.altAbility = GetMonData(&gPlayerParty[monId], MON_DATA_ALT_ABILITY); + battleMon.abilityNum = GetMonData(&gPlayerParty[monId], MON_DATA_ABILITY_NUM); battleMon.otId = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID); GetMonData(&gPlayerParty[monId], MON_DATA_NICKNAME, nickname); StringCopy10(battleMon.nickname, nickname); diff --git a/src/battle_dome.c b/src/battle_dome.c index bc0565145..9f9bc0174 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -2901,7 +2901,7 @@ static int GetTypeEffectivenessPoints(int move, int targetSpecies, int arg2) defType1 = gBaseStats[targetSpecies].type1; defType2 = gBaseStats[targetSpecies].type2; - defAbility = gBaseStats[targetSpecies].ability1; + defAbility = gBaseStats[targetSpecies].abilities[0]; moveType = gBattleMoves[move].type; if (defAbility == ABILITY_LEVITATE && moveType == TYPE_GROUND) @@ -5193,10 +5193,11 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun } while (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[loserTournamentId][k]].nature != GetNatureFromPersonality(personality)); targetSpecies = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[loserTournamentId][k]].species; + if (personality & 1) - targetAbility = gBaseStats[targetSpecies].ability2; + targetAbility = gBaseStats[targetSpecies].abilities[1]; else - targetAbility = gBaseStats[targetSpecies].ability1; + targetAbility = gBaseStats[targetSpecies].abilities[0]; typeMultiplier = CalcPartyMonTypeEffectivenessMultiplier(moveIds[i * 4 + j], targetSpecies, targetAbility); if (typeMultiplier == UQ_4_12(0)) diff --git a/src/battle_factory.c b/src/battle_factory.c index d08ffe6e6..1a150db1e 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -373,7 +373,7 @@ static void SetRentalsToOpponentParty(void) gSaveBlock2Ptr->frontier.rentalMons[i + 3].monId = gUnknown_03006298[i]; gSaveBlock2Ptr->frontier.rentalMons[i + 3].ivs = GetBoxMonData(&gEnemyParty[i].box, MON_DATA_ATK_IV, NULL); gSaveBlock2Ptr->frontier.rentalMons[i + 3].personality = GetMonData(&gEnemyParty[i], MON_DATA_PERSONALITY, NULL); - gSaveBlock2Ptr->frontier.rentalMons[i + 3].abilityBit = GetBoxMonData(&gEnemyParty[i].box, MON_DATA_ALT_ABILITY, NULL); + gSaveBlock2Ptr->frontier.rentalMons[i + 3].abilityNum = GetBoxMonData(&gEnemyParty[i].box, MON_DATA_ABILITY_NUM, NULL); SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[gUnknown_03006298[i]].itemTableId]); } } @@ -439,7 +439,7 @@ static void SetPlayerAndOpponentParties(void) SetMonMoveAvoidReturn(&gPlayerParty[i], gFacilityTrainerMons[monSetId].moves[k], k); SetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP, &friendship); SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]); - SetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY, &gSaveBlock2Ptr->frontier.rentalMons[i].abilityBit); + SetMonData(&gPlayerParty[i], MON_DATA_ABILITY_NUM, &gSaveBlock2Ptr->frontier.rentalMons[i].abilityNum); } } @@ -478,7 +478,7 @@ static void SetPlayerAndOpponentParties(void) for (k = 0; k < MAX_MON_MOVES; k++) SetMonMoveAvoidReturn(&gEnemyParty[i], gFacilityTrainerMons[monSetId].moves[k], k); SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]); - SetMonData(&gEnemyParty[i], MON_DATA_ALT_ABILITY, &gSaveBlock2Ptr->frontier.rentalMons[i + 3].abilityBit); + SetMonData(&gEnemyParty[i], MON_DATA_ABILITY_NUM, &gSaveBlock2Ptr->frontier.rentalMons[i + 3].abilityNum); } break; } diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c index 02804ba0b..280b65dc8 100644 --- a/src/battle_factory_screen.c +++ b/src/battle_factory_screen.c @@ -1742,7 +1742,7 @@ static void Select_CopyMonsToPlayerParty(void) gPlayerParty[i] = sFactorySelectScreen->mons[j].monData; gSaveBlock2Ptr->frontier.rentalMons[i].monId = sFactorySelectScreen->mons[j].monSetId; gSaveBlock2Ptr->frontier.rentalMons[i].personality = GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY, NULL); - gSaveBlock2Ptr->frontier.rentalMons[i].abilityBit = GetBoxMonData(&gPlayerParty[i].box, MON_DATA_ALT_ABILITY, NULL); + gSaveBlock2Ptr->frontier.rentalMons[i].abilityNum = GetBoxMonData(&gPlayerParty[i].box, MON_DATA_ABILITY_NUM, NULL); gSaveBlock2Ptr->frontier.rentalMons[i].ivs = GetBoxMonData(&gPlayerParty[i].box, MON_DATA_ATK_IV, NULL); break; } @@ -2266,7 +2266,7 @@ static void CopySwappedMonData(void) gSaveBlock2Ptr->frontier.rentalMons[sFactorySwapScreen->playerMonId].monId = gSaveBlock2Ptr->frontier.rentalMons[sFactorySwapScreen->enemyMonId + 3].monId; gSaveBlock2Ptr->frontier.rentalMons[sFactorySwapScreen->playerMonId].ivs = gSaveBlock2Ptr->frontier.rentalMons[sFactorySwapScreen->enemyMonId + 3].ivs; gSaveBlock2Ptr->frontier.rentalMons[sFactorySwapScreen->playerMonId].personality = GetMonData(&gEnemyParty[sFactorySwapScreen->enemyMonId], MON_DATA_PERSONALITY, NULL); - gSaveBlock2Ptr->frontier.rentalMons[sFactorySwapScreen->playerMonId].abilityBit = GetBoxMonData(&gEnemyParty[sFactorySwapScreen->enemyMonId].box, MON_DATA_ALT_ABILITY, NULL); + gSaveBlock2Ptr->frontier.rentalMons[sFactorySwapScreen->playerMonId].abilityNum = GetBoxMonData(&gEnemyParty[sFactorySwapScreen->enemyMonId].box, MON_DATA_ABILITY_NUM, NULL); } static void Task_FromSwapScreenToSummaryScreen(u8 taskId) diff --git a/src/battle_main.c b/src/battle_main.c index b1f6cf81c..fd95a82e2 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3204,7 +3204,7 @@ static void DoBattleIntro(void) gBattleMons[gActiveBattler].type1 = gBaseStats[gBattleMons[gActiveBattler].species].type1; gBattleMons[gActiveBattler].type2 = gBaseStats[gBattleMons[gActiveBattler].species].type2; gBattleMons[gActiveBattler].type3 = TYPE_MYSTERY; - gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].altAbility); + gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].abilityNum); gBattleStruct->hpOnSwitchout[GetBattlerSide(gActiveBattler)] = gBattleMons[gActiveBattler].hp; gBattleMons[gActiveBattler].status2 = 0; for (i = 0; i < NUM_BATTLE_STATS; i++) diff --git a/src/battle_pike.c b/src/battle_pike.c index cc58b81bb..7fdb0a07c 100644 --- a/src/battle_pike.c +++ b/src/battle_pike.c @@ -1122,7 +1122,7 @@ bool32 TryGenerateBattlePikeWildMon(bool8 checkKeenEyeIntimidate) u8 headerId = GetBattlePikeWildMonHeaderId(); u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; const struct PikeWildMon *const *const wildMons = sWildMons[lvlMode]; - u32 abilityBit; + u32 abilityNum; s32 pikeMonId = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, NULL); pikeMonId = SpeciesToPikeMonId(pikeMonId); @@ -1152,11 +1152,11 @@ bool32 TryGenerateBattlePikeWildMon(bool8 checkKeenEyeIntimidate) MON_DATA_EXP, &gExperienceTables[gBaseStats[wildMons[headerId][pikeMonId].species].growthRate][monLevel]); - if (gBaseStats[wildMons[headerId][pikeMonId].species].ability2) - abilityBit = Random() % 2; + if (gBaseStats[wildMons[headerId][pikeMonId].species].abilities[1]) + abilityNum = Random() % 2; else - abilityBit = 0; - SetMonData(&gEnemyParty[0], MON_DATA_ALT_ABILITY, &abilityBit); + abilityNum = 0; + SetMonData(&gEnemyParty[0], MON_DATA_ABILITY_NUM, &abilityNum); for (i = 0; i < MAX_MON_MOVES; i++) SetMonMoveSlot(&gEnemyParty[0], wildMons[headerId][pikeMonId].moves[i], i); diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index 34da3a25d..cc722da8d 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -76,7 +76,7 @@ struct PyramidWildMon { u16 species; u8 lvl; - u8 abilityBit; + u8 abilityNum; u16 moves[4]; }; @@ -129,6 +129,8 @@ static bool8 TrySetPyramidEventObjectPositionInSquare(u8 arg0, u8 *floorLayoutOf static bool8 TrySetPyramidEventObjectPositionAtCoords(bool8 objType, u8 x, u8 y, u8 *floorLayoutOffsets, u8 squareId, u8 eventObjectId); // Const rom data. +#define ABILITY_RANDOM 2 // For wild mons data. + #include "data/battle_frontier/battle_pyramid_level_50_wild_mons.h" #include "data/battle_frontier/battle_pyramid_open_level_wild_mons.h" @@ -1401,23 +1403,23 @@ void GenerateBattlePyramidWildMon(void) MON_DATA_EXP, &gExperienceTables[gBaseStats[wildMons[id].species].growthRate][lvl]); - switch (wildMons[id].abilityBit) + switch (wildMons[id].abilityNum) { case 0: case 1: - SetMonData(&gEnemyParty[0], MON_DATA_ALT_ABILITY, &wildMons[id].abilityBit); + SetMonData(&gEnemyParty[0], MON_DATA_ABILITY_NUM, &wildMons[id].abilityNum); break; - case 2: + case ABILITY_RANDOM: default: - if (gBaseStats[wildMons[id].species].ability2) + if (gBaseStats[wildMons[id].species].abilities[1]) { i = GetMonData(&gEnemyParty[0], MON_DATA_PERSONALITY, NULL) % 2; - SetMonData(&gEnemyParty[0], MON_DATA_ALT_ABILITY, &i); + SetMonData(&gEnemyParty[0], MON_DATA_ABILITY_NUM, &i); } else { i = 0; - SetMonData(&gEnemyParty[0], MON_DATA_ALT_ABILITY, &i); + SetMonData(&gEnemyParty[0], MON_DATA_ABILITY_NUM, &i); } break; } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index aaea462f9..d90ac6f86 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -4695,7 +4695,7 @@ static void atk4D_switchindataupdate(void) gBattleMons[gActiveBattler].type1 = gBaseStats[gBattleMons[gActiveBattler].species].type1; gBattleMons[gActiveBattler].type2 = gBaseStats[gBattleMons[gActiveBattler].species].type2; gBattleMons[gActiveBattler].type3 = TYPE_MYSTERY; - gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].altAbility); + gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].abilityNum); // check knocked off item i = GetBattlerSide(gActiveBattler); @@ -9515,7 +9515,7 @@ static void atkAE_healpartystatus(void) for (i = 0; i < PARTY_SIZE; i++) { u16 species = GetMonData(&party[i], MON_DATA_SPECIES2); - u8 abilityBit = GetMonData(&party[i], MON_DATA_ALT_ABILITY); + u8 abilityNum = GetMonData(&party[i], MON_DATA_ABILITY_NUM); if (species != SPECIES_NONE && species != SPECIES_EGG) { @@ -9528,7 +9528,7 @@ static void atkAE_healpartystatus(void) && !(gAbsentBattlerFlags & gBitTable[gActiveBattler])) ability = gBattleMons[gActiveBattler].ability; else - ability = GetAbilityBySpecies(species, abilityBit); + ability = GetAbilityBySpecies(species, abilityNum); if (ability != ABILITY_SOUNDPROOF) toHeal |= (1 << i); @@ -10767,10 +10767,10 @@ static void atkE5_pickup(void) species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); - if (GetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY)) - ability = gBaseStats[species].ability2; + if (GetMonData(&gPlayerParty[i], MON_DATA_ABILITY_NUM)) + ability = gBaseStats[species].abilities[1]; else - ability = gBaseStats[species].ability1; + ability = gBaseStats[species].abilities[0]; if (ability == ABILITY_PICKUP && species != 0 @@ -10793,10 +10793,10 @@ static void atkE5_pickup(void) if (lvlDivBy10 > 9) lvlDivBy10 = 9; - if (GetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY)) - ability = gBaseStats[species].ability2; + if (GetMonData(&gPlayerParty[i], MON_DATA_ABILITY_NUM)) + ability = gBaseStats[species].abilities[1]; else - ability = gBaseStats[species].ability1; + ability = gBaseStats[species].abilities[0]; if (ability == ABILITY_PICKUP && species != 0 diff --git a/src/data/battle_frontier/battle_pyramid_level_50_wild_mons.h b/src/data/battle_frontier/battle_pyramid_level_50_wild_mons.h index 108b3a3b0..d706aafee 100644 --- a/src/data/battle_frontier/battle_pyramid_level_50_wild_mons.h +++ b/src/data/battle_frontier/battle_pyramid_level_50_wild_mons.h @@ -3,49 +3,49 @@ static const struct PyramidWildMon sLevel50WildMons_Round1[] = { .species = SPECIES_PLUSLE, .lvl = 35, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDER_WAVE, MOVE_SPARK, MOVE_ENCORE, MOVE_NONE} }, { .species = SPECIES_MINUN, .lvl = 35, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_QUICK_ATTACK, MOVE_NONE} }, { .species = SPECIES_PIKACHU, .lvl = 37, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_SLAM, MOVE_NONE} }, { .species = SPECIES_ELECTABUZZ, .lvl = 37, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDER_PUNCH, MOVE_SWIFT, MOVE_SCREECH, MOVE_NONE} }, { .species = SPECIES_VILEPLUME, .lvl = 39, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_STUN_SPORE, MOVE_GIGA_DRAIN, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_MANECTRIC, .lvl = 39, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_QUICK_ATTACK, MOVE_NONE} }, { .species = SPECIES_BRELOOM, .lvl = 40, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_STUN_SPORE, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_MACH_PUNCH} }, { .species = SPECIES_JOLTEON, .lvl = 40, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PIN_MISSILE, MOVE_QUICK_ATTACK} } }; @@ -55,49 +55,49 @@ static const struct PyramidWildMon sLevel50WildMons_Round2[] = { .species = SPECIES_GULPIN, .lvl = 36, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_TOXIC, MOVE_SLUDGE, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_ROSELIA, .lvl = 36, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_PETAL_DANCE} }, { .species = SPECIES_BUTTERFREE, .lvl = 38, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_POISON_POWDER, MOVE_GUST, MOVE_PSYBEAM, MOVE_NONE} }, { .species = SPECIES_SEVIPER, .lvl = 38, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_POISON_FANG, MOVE_SWAGGER, MOVE_CRUNCH, MOVE_POISON_TAIL} }, { .species = SPECIES_SKARMORY, .lvl = 40, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_TOXIC, MOVE_FLY, MOVE_STEEL_WING, MOVE_NONE} }, { .species = SPECIES_LUDICOLO, .lvl = 40, - .abilityBit = 1, + .abilityNum = 1, .moves = {MOVE_TOXIC, MOVE_PROTECT, MOVE_DIVE, MOVE_RAIN_DANCE} }, { .species = SPECIES_CROBAT, .lvl = 41, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_BITE} }, { .species = SPECIES_GENGAR, .lvl = 41, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_TOXIC, MOVE_SHADOW_PUNCH, MOVE_NIGHT_SHADE, MOVE_NONE} } }; @@ -107,49 +107,49 @@ static const struct PyramidWildMon sLevel50WildMons_Round3[] = { .species = SPECIES_GROWLITHE, .lvl = 37, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_FLAME_WHEEL, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_VULPIX, .lvl = 37, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_MAGCARGO, .lvl = 39, - .abilityBit = 1, + .abilityNum = 1, .moves = {MOVE_FLAMETHROWER, MOVE_ROCK_SLIDE, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_NINETALES, .lvl = 39, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_WILL_O_WISP, MOVE_QUICK_ATTACK, MOVE_FLAMETHROWER, MOVE_NONE} }, { .species = SPECIES_MEDICHAM, .lvl = 41, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_FIRE_PUNCH, MOVE_HI_JUMP_KICK, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_WEEZING, .lvl = 41, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_DUSCLOPS, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_SHADOW_PUNCH} }, { .species = SPECIES_HOUNDOOM, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_FLAMETHROWER, MOVE_BITE, MOVE_SOLAR_BEAM, MOVE_OVERHEAT} } }; @@ -159,49 +159,49 @@ static const struct PyramidWildMon sLevel50WildMons_Round4[] = { .species = SPECIES_DUNSPARCE, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SPITE, MOVE_TOXIC, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_BANETTE, .lvl = 41, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_NIGHT_SHADE, MOVE_NONE} }, { .species = SPECIES_MISDREAVUS, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_GRUDGE, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_NONE} }, { .species = SPECIES_NINETALES, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_OVERHEAT, MOVE_NONE} }, { .species = SPECIES_ABSOL, .lvl = 44, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_BITE, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL, MOVE_PROTECT} }, { .species = SPECIES_DUSCLOPS, .lvl = 44, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_TOXIC, MOVE_SHADOW_BALL} }, { .species = SPECIES_SHEDINJA, .lvl = 45, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_GRUDGE, MOVE_TOXIC, MOVE_SPITE, MOVE_NONE} }, { .species = SPECIES_GENGAR, .lvl = 45, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_GRUDGE, MOVE_SPITE, MOVE_NIGHT_SHADE, MOVE_NONE} } }; @@ -211,49 +211,49 @@ static const struct PyramidWildMon sLevel50WildMons_Round5[] = { .species = SPECIES_HAUNTER, .lvl = 41, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_NIGHT_SHADE, MOVE_THUNDERBOLT, MOVE_SLUDGE_BOMB, MOVE_NONE} }, { .species = SPECIES_CHIMECHO, .lvl = 41, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_DOUBLE_EDGE, MOVE_TOXIC, MOVE_PSYCHIC, MOVE_PROTECT} }, { .species = SPECIES_SOLROCK, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_FIRE_BLAST, MOVE_TOXIC} }, { .species = SPECIES_MISDREAVUS, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PSYCHIC, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_PAIN_SPLIT} }, { .species = SPECIES_CLAYDOL, .lvl = 44, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_SELF_DESTRUCT, MOVE_PSYCHIC} }, { .species = SPECIES_WEEZING, .lvl = 44, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SLUDGE_BOMB, MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_FLYGON, .lvl = 45, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_DRAGON_CLAW, MOVE_DRAGON_BREATH} }, { .species = SPECIES_GENGAR, .lvl = 45, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_GIGA_DRAIN, MOVE_NIGHT_SHADE} } }; @@ -263,49 +263,49 @@ static const struct PyramidWildMon sLevel50WildMons_Round6[] = { .species = SPECIES_DIGLETT, .lvl = 41, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ROCK_SLIDE, MOVE_SLASH, MOVE_DIG, MOVE_NONE} }, { .species = SPECIES_TRAPINCH, .lvl = 41, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_NONE} }, { .species = SPECIES_WYNAUT, .lvl = 42, - .abilityBit = 0, + .abilityNum = 0, .moves = {MOVE_DESTINY_BOND, MOVE_SPLASH, MOVE_COUNTER, MOVE_MIRROR_COAT} }, { .species = SPECIES_DIGLETT, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_MAGNITUDE, MOVE_TOXIC} }, { .species = SPECIES_TRAPINCH, .lvl = 44, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_PROTECT} }, { .species = SPECIES_WYNAUT, .lvl = 44, - .abilityBit = 0, + .abilityNum = 0, .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE} }, { .species = SPECIES_WOBBUFFET, .lvl = 45, - .abilityBit = 0, + .abilityNum = 0, .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE} }, { .species = SPECIES_DUGTRIO, .lvl = 45, - .abilityBit = 1, + .abilityNum = 1, .moves = {MOVE_ROCK_SLIDE, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_PROTECT} } }; @@ -315,49 +315,49 @@ static const struct PyramidWildMon sLevel50WildMons_Round7[] = { .species = SPECIES_GLALIE, .lvl = 41, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ICE_BEAM, MOVE_CRUNCH, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_SNEASEL, .lvl = 41, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ICE_BEAM, MOVE_CRUSH_CLAW, MOVE_SPITE, MOVE_NONE} }, { .species = SPECIES_DEWGONG, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_BLIZZARD, MOVE_DOUBLE_EDGE, MOVE_SURF, MOVE_NONE} }, { .species = SPECIES_PILOSWINE, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_NONE} }, { .species = SPECIES_JYNX, .lvl = 44, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_BLIZZARD, MOVE_LOVELY_KISS, MOVE_PSYCHIC, MOVE_NONE} }, { .species = SPECIES_CLOYSTER, .lvl = 44, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_WALREIN, .lvl = 45, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_BLIZZARD, MOVE_BODY_SLAM, MOVE_SURF, MOVE_NONE} }, { .species = SPECIES_LAPRAS, .lvl = 45, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SING, MOVE_BODY_SLAM, MOVE_ICE_BEAM, MOVE_PSYCHIC} } }; @@ -367,49 +367,49 @@ static const struct PyramidWildMon sLevel50WildMons_Round8[] = { .species = SPECIES_WEEZING, .lvl = 41, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SELF_DESTRUCT, MOVE_SLUDGE_BOMB, MOVE_FIRE_BLAST, MOVE_NONE} }, { .species = SPECIES_ELECTRODE, .lvl = 41, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SELF_DESTRUCT, MOVE_THUNDERBOLT, MOVE_ROLLOUT, MOVE_NONE} }, { .species = SPECIES_GENGAR, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_DESTINY_BOND, MOVE_LICK, MOVE_SHADOW_BALL, MOVE_NONE} }, { .species = SPECIES_GOLEM, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_EARTHQUAKE, MOVE_NONE} }, { .species = SPECIES_PINECO, .lvl = 44, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EXPLOSION, MOVE_DOUBLE_EDGE, MOVE_GIGA_DRAIN, MOVE_NONE} }, { .species = SPECIES_SOLROCK, .lvl = 44, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EXPLOSION, MOVE_FIRE_SPIN, MOVE_PSYWAVE, MOVE_NONE} }, { .species = SPECIES_FORRETRESS, .lvl = 45, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EXPLOSION, MOVE_TOXIC, MOVE_ROCK_SLIDE, MOVE_NONE} }, { .species = SPECIES_SHIFTRY, .lvl = 45, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EXPLOSION, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_PROTECT} } }; @@ -419,49 +419,49 @@ static const struct PyramidWildMon sLevel50WildMons_Round9[] = { .species = SPECIES_WOBBUFFET, .lvl = 41, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_DESTINY_BOND} }, { .species = SPECIES_METANG, .lvl = 41, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_SLUDGE_BOMB, MOVE_PSYCHIC} }, { .species = SPECIES_EXEGGUTOR, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EGG_BOMB, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_NONE} }, { .species = SPECIES_SLOWKING, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SHADOW_BALL, MOVE_SURF, MOVE_ICE_BEAM, MOVE_FLAMETHROWER} }, { .species = SPECIES_XATU, .lvl = 44, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_STEEL_WING} }, { .species = SPECIES_ALAKAZAM, .lvl = 44, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_TOXIC} }, { .species = SPECIES_STARMIE, .lvl = 45, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_ICE_BEAM} }, { .species = SPECIES_ESPEON, .lvl = 45, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PSYCHIC, MOVE_DIG, MOVE_SHADOW_BALL, MOVE_NONE} } }; @@ -471,49 +471,49 @@ static const struct PyramidWildMon sLevel50WildMons_Round10[] = { .species = SPECIES_GOLEM, .lvl = 41, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SELF_DESTRUCT, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_STEELIX, .lvl = 41, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_IRON_TAIL, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_NONE} }, { .species = SPECIES_OMASTAR, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SURF, MOVE_MUD_SHOT, MOVE_ANCIENT_POWER, MOVE_NONE} }, { .species = SPECIES_LUNATONE, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HYPNOSIS, MOVE_PSYWAVE, MOVE_EXPLOSION, MOVE_NONE} }, { .species = SPECIES_SHUCKLE, .lvl = 44, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_TOXIC, MOVE_PROTECT, MOVE_WRAP, MOVE_NONE} }, { .species = SPECIES_ARMALDO, .lvl = 44, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ANCIENT_POWER, MOVE_PROTECT, MOVE_AERIAL_ACE, MOVE_NONE} }, { .species = SPECIES_CRADILY, .lvl = 45, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_CONFUSE_RAY, MOVE_NONE} }, { .species = SPECIES_AERODACTYL, .lvl = 45, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HYPER_BEAM, MOVE_ROCK_SLIDE, MOVE_BITE, MOVE_NONE} } }; @@ -523,49 +523,49 @@ static const struct PyramidWildMon sLevel50WildMons_Round11[] = { .species = SPECIES_POLIWRATH, .lvl = 41, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SUBMISSION, MOVE_FOCUS_PUNCH, MOVE_SURF, MOVE_NONE} }, { .species = SPECIES_HARIYAMA, .lvl = 41, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_FAKE_OUT, MOVE_SURF, MOVE_FOCUS_PUNCH, MOVE_NONE} }, { .species = SPECIES_BRELOOM, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_MEDICHAM, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH} }, { .species = SPECIES_HITMONCHAN, .lvl = 44, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH} }, { .species = SPECIES_HITMONLEE, .lvl = 44, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_MEGA_KICK, MOVE_FOCUS_PUNCH, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_HERACROSS, .lvl = 45, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_ROCK_SLIDE} }, { .species = SPECIES_MACHAMP, .lvl = 50, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_SEISMIC_TOSS} } }; @@ -575,49 +575,49 @@ static const struct PyramidWildMon sLevel50WildMons_Round12[] = { .species = SPECIES_QUAGSIRE, .lvl = 41, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_RAIN_DANCE, MOVE_SURF, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_TROPIUS, .lvl = 41, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_PUPITAR, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SANDSTORM, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_NONE} }, { .species = SPECIES_LAPRAS, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_CACTURNE, .lvl = 44, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SANDSTORM, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_NONE} }, { .species = SPECIES_FLAREON, .lvl = 44, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SUNNY_DAY, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_WALREIN, .lvl = 45, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_GYARADOS, .lvl = 50, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_RAIN_DANCE, MOVE_THUNDER, MOVE_HYDRO_PUMP, MOVE_NONE} } }; @@ -627,49 +627,49 @@ static const struct PyramidWildMon sLevel50WildMons_Round13[] = { .species = SPECIES_PINECO, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EXPLOSION, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_SHUCKLE, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_TOXIC, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_VENOMOTH, .lvl = 46, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SILVER_WIND, MOVE_POISON_POWDER, MOVE_SLEEP_POWDER, MOVE_PSYCHIC} }, { .species = SPECIES_SCIZOR, .lvl = 46, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_QUICK_ATTACK, MOVE_METAL_CLAW, MOVE_FURY_CUTTER, MOVE_PURSUIT} }, { .species = SPECIES_HERACROSS, .lvl = 48, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_MEGAHORN, MOVE_BRICK_BREAK, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE} }, { .species = SPECIES_FORRETRESS, .lvl = 48, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_ARMALDO, .lvl = 50, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_WATER_PULSE, MOVE_PROTECT, MOVE_ROCK_SLIDE, MOVE_NONE} }, { .species = SPECIES_SHEDINJA, .lvl = 50, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_SPITE, MOVE_GRUDGE} } }; @@ -679,49 +679,49 @@ static const struct PyramidWildMon sLevel50WildMons_Round14[] = { .species = SPECIES_SABLEYE, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_NIGHT_SHADE, MOVE_PSYCHIC, MOVE_AERIAL_ACE, MOVE_NONE} }, { .species = SPECIES_SNEASEL, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ICE_BEAM, MOVE_TAUNT, MOVE_FAINT_ATTACK, MOVE_QUICK_ATTACK} }, { .species = SPECIES_CRAWDAUNT, .lvl = 46, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_CRABHAMMER, MOVE_ICE_BEAM, MOVE_SURF, MOVE_NONE} }, { .species = SPECIES_SHIFTRY, .lvl = 46, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EXPLOSION, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_GIGA_DRAIN} }, { .species = SPECIES_CACTURNE, .lvl = 48, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_NEEDLE_ARM, MOVE_NONE} }, { .species = SPECIES_ABSOL, .lvl = 48, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_BITE, MOVE_PROTECT, MOVE_SLASH, MOVE_NONE} }, { .species = SPECIES_HOUNDOOM, .lvl = 50, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_OVERHEAT, MOVE_CRUNCH, MOVE_SHADOW_BALL, MOVE_PROTECT} }, { .species = SPECIES_UMBREON, .lvl = 50, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_IRON_TAIL, MOVE_QUICK_ATTACK} } }; @@ -731,49 +731,49 @@ static const struct PyramidWildMon sLevel50WildMons_Round15[] = { .species = SPECIES_OCTILLERY, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_OCTAZOOKA, MOVE_ICE_BEAM, MOVE_FIRE_BLAST, MOVE_NONE} }, { .species = SPECIES_DEWGONG, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_WATER_PULSE, MOVE_ICE_BEAM, MOVE_HEADBUTT, MOVE_NONE} }, { .species = SPECIES_PELIPPER, .lvl = 46, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PROTECT, MOVE_SUPERSONIC, MOVE_SURF, MOVE_NONE} }, { .species = SPECIES_QUAGSIRE, .lvl = 46, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SURF, MOVE_NONE} }, { .species = SPECIES_LUDICOLO, .lvl = 48, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PROTECT, MOVE_SOLAR_BEAM, MOVE_TOXIC, MOVE_ICE_BEAM} }, { .species = SPECIES_SLOWKING, .lvl = 48, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PSYCHIC, MOVE_HEADBUTT, MOVE_SWAGGER, MOVE_NONE} }, { .species = SPECIES_STARMIE, .lvl = 50, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_WATER_PULSE, MOVE_THUNDERBOLT, MOVE_CONFUSE_RAY, MOVE_BLIZZARD} }, { .species = SPECIES_BLASTOISE, .lvl = 50, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HYDRO_PUMP, MOVE_BITE, MOVE_ICE_BEAM, MOVE_NONE} } }; @@ -783,49 +783,49 @@ static const struct PyramidWildMon sLevel50WildMons_Round16[] = { .species = SPECIES_DUSKULL, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_NIGHT_SHADE, MOVE_WILL_O_WISP, MOVE_SHADOW_BALL, MOVE_PROTECT} }, { .species = SPECIES_HAUNTER, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_TOXIC, MOVE_SPITE, MOVE_HYPNOSIS, MOVE_SHADOW_BALL} }, { .species = SPECIES_BANETTE, .lvl = 46, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_WILL_O_WISP, MOVE_NONE} }, { .species = SPECIES_MISDREAVUS, .lvl = 46, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PERISH_SONG, MOVE_SPITE, MOVE_MEAN_LOOK, MOVE_NONE} }, { .species = SPECIES_SABLEYE, .lvl = 48, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SHADOW_BALL, MOVE_MEAN_LOOK, MOVE_DIG, MOVE_NIGHT_SHADE} }, { .species = SPECIES_DUSCLOPS, .lvl = 48, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_WILL_O_WISP, MOVE_TOXIC, MOVE_SHADOW_BALL, MOVE_NONE} }, { .species = SPECIES_SHEDINJA, .lvl = 50, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_GRUDGE, MOVE_PROTECT} }, { .species = SPECIES_GENGAR, .lvl = 50, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PSYCHIC, MOVE_DESTINY_BOND, MOVE_SPITE, MOVE_NIGHT_SHADE} } }; @@ -835,49 +835,49 @@ static const struct PyramidWildMon sLevel50WildMons_Round17[] = { .species = SPECIES_MAWILE, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_CRUNCH, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE} }, { .species = SPECIES_MAGNETON, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_STEELIX, .lvl = 46, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ROCK_THROW, MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_NONE} }, { .species = SPECIES_SCIZOR, .lvl = 46, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_METAL_CLAW, MOVE_SLASH, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_FORRETRESS, .lvl = 48, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EXPLOSION, MOVE_TOXIC, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_SKARMORY, .lvl = 48, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_STEEL_WING, MOVE_TOXIC, MOVE_FLY, MOVE_PROTECT} }, { .species = SPECIES_AGGRON, .lvl = 50, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_TAKE_DOWN, MOVE_SURF, MOVE_ICE_BEAM} }, { .species = SPECIES_METAGROSS, .lvl = 50, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK} } }; @@ -887,49 +887,49 @@ static const struct PyramidWildMon sLevel50WildMons_Round18[] = { .species = SPECIES_DRAGONAIR, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE} }, { .species = SPECIES_VIBRAVA, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_CRUNCH, MOVE_STEEL_WING} }, { .species = SPECIES_ALTARIA, .lvl = 46, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_SING, MOVE_PROTECT} }, { .species = SPECIES_FLYGON, .lvl = 46, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_FIRE_BLAST, MOVE_NONE} }, { .species = SPECIES_AERODACTYL, .lvl = 48, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DRAGON_CLAW, MOVE_NONE} }, { .species = SPECIES_GYARADOS, .lvl = 48, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_SURF, MOVE_THRASH, MOVE_BITE} }, { .species = SPECIES_KINGDRA, .lvl = 50, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_CHARIZARD, .lvl = 50, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_FIRE_BLAST, MOVE_IRON_TAIL} } }; @@ -939,49 +939,49 @@ static const struct PyramidWildMon sLevel50WildMons_Round19[] = { .species = SPECIES_ARCANINE, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_FIRE_BLAST, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_POLIWRATH, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_RAICHU, .lvl = 46, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_SLAM, MOVE_NONE} }, { .species = SPECIES_VAPOREON, .lvl = 46, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_JOLTEON, .lvl = 48, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDERBOLT, MOVE_PIN_MISSILE, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_FLAREON, .lvl = 48, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_FLAMETHROWER, MOVE_BITE, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_NINETALES, .lvl = 50, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_FLAMETHROWER, MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_STARMIE, .lvl = 50, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_THUNDERBOLT, MOVE_PSYCHIC} } }; @@ -991,49 +991,49 @@ static const struct PyramidWildMon sLevel50WildMons_Round20[] = { .species = SPECIES_KANGASKHAN, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_SURF, MOVE_DIZZY_PUNCH} }, { .species = SPECIES_SWELLOW, .lvl = 42, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_AERIAL_ACE, MOVE_HYPER_BEAM, MOVE_TOXIC, MOVE_NONE} }, { .species = SPECIES_URSARING, .lvl = 46, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_PROTECT} }, { .species = SPECIES_PORYGON2, .lvl = 46, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PSYBEAM, MOVE_HYPER_BEAM, MOVE_SHADOW_BALL, MOVE_ICE_BEAM} }, { .species = SPECIES_TAUROS, .lvl = 48, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SURF, MOVE_THUNDERBOLT} }, { .species = SPECIES_FEAROW, .lvl = 48, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HYPER_BEAM, MOVE_FLY, MOVE_MIRROR_MOVE, MOVE_PROTECT} }, { .species = SPECIES_SNORLAX, .lvl = 50, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HYPER_BEAM, MOVE_BODY_SLAM, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE} }, { .species = SPECIES_SLAKING, .lvl = 50, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_ICE_BEAM} } }; diff --git a/src/data/battle_frontier/battle_pyramid_open_level_wild_mons.h b/src/data/battle_frontier/battle_pyramid_open_level_wild_mons.h index 10435d767..8738b0de6 100644 --- a/src/data/battle_frontier/battle_pyramid_open_level_wild_mons.h +++ b/src/data/battle_frontier/battle_pyramid_open_level_wild_mons.h @@ -3,49 +3,49 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round1[] = { .species = SPECIES_PLUSLE, .lvl = 15, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDER_WAVE, MOVE_SPARK, MOVE_ENCORE, MOVE_NONE} }, { .species = SPECIES_MINUN, .lvl = 15, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_QUICK_ATTACK, MOVE_NONE} }, { .species = SPECIES_PIKACHU, .lvl = 13, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_SLAM, MOVE_NONE} }, { .species = SPECIES_ELECTABUZZ, .lvl = 13, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDER_PUNCH, MOVE_SWIFT, MOVE_SCREECH, MOVE_NONE} }, { .species = SPECIES_VILEPLUME, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_STUN_SPORE, MOVE_GIGA_DRAIN, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_MANECTRIC, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_QUICK_ATTACK, MOVE_NONE} }, { .species = SPECIES_BRELOOM, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_STUN_SPORE, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_MACH_PUNCH} }, { .species = SPECIES_JOLTEON, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PIN_MISSILE, MOVE_QUICK_ATTACK} } }; @@ -55,49 +55,49 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round2[] = { .species = SPECIES_GULPIN, .lvl = 14, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_TOXIC, MOVE_SLUDGE, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_ROSELIA, .lvl = 14, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_PETAL_DANCE} }, { .species = SPECIES_BUTTERFREE, .lvl = 12, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_POISON_POWDER, MOVE_GUST, MOVE_PSYBEAM, MOVE_NONE} }, { .species = SPECIES_SEVIPER, .lvl = 12, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_POISON_FANG, MOVE_SWAGGER, MOVE_CRUNCH, MOVE_POISON_TAIL} }, { .species = SPECIES_SKARMORY, .lvl = 7, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_TOXIC, MOVE_FLY, MOVE_STEEL_WING, MOVE_NONE} }, { .species = SPECIES_LUDICOLO, .lvl = 7, - .abilityBit = 1, + .abilityNum = 1, .moves = {MOVE_TOXIC, MOVE_PROTECT, MOVE_DIVE, MOVE_RAIN_DANCE} }, { .species = SPECIES_CROBAT, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_BITE} }, { .species = SPECIES_GENGAR, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_TOXIC, MOVE_SHADOW_PUNCH, MOVE_NIGHT_SHADE, MOVE_NONE} } }; @@ -107,49 +107,49 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round3[] = { .species = SPECIES_GROWLITHE, .lvl = 13, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_FLAME_WHEEL, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_VULPIX, .lvl = 13, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_MAGCARGO, .lvl = 11, - .abilityBit = 1, + .abilityNum = 1, .moves = {MOVE_FLAMETHROWER, MOVE_ROCK_SLIDE, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_NINETALES, .lvl = 11, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_WILL_O_WISP, MOVE_QUICK_ATTACK, MOVE_FLAMETHROWER, MOVE_NONE} }, { .species = SPECIES_MEDICHAM, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_FIRE_PUNCH, MOVE_HI_JUMP_KICK, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_WEEZING, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_DUSCLOPS, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_SHADOW_PUNCH} }, { .species = SPECIES_HOUNDOOM, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_FLAMETHROWER, MOVE_BITE, MOVE_SOLAR_BEAM, MOVE_OVERHEAT} } }; @@ -159,49 +159,49 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round4[] = { .species = SPECIES_DUNSPARCE, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SPITE, MOVE_TOXIC, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_BANETTE, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_NIGHT_SHADE, MOVE_NONE} }, { .species = SPECIES_MISDREAVUS, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_GRUDGE, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_NONE} }, { .species = SPECIES_NINETALES, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_OVERHEAT, MOVE_NONE} }, { .species = SPECIES_ABSOL, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_BITE, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL, MOVE_PROTECT} }, { .species = SPECIES_DUSCLOPS, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_TOXIC, MOVE_SHADOW_BALL} }, { .species = SPECIES_SHEDINJA, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_GRUDGE, MOVE_TOXIC, MOVE_SPITE, MOVE_NONE} }, { .species = SPECIES_GENGAR, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_GRUDGE, MOVE_SPITE, MOVE_NIGHT_SHADE, MOVE_NONE} } }; @@ -211,49 +211,49 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round5[] = { .species = SPECIES_HAUNTER, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_NIGHT_SHADE, MOVE_THUNDERBOLT, MOVE_SLUDGE_BOMB, MOVE_NONE} }, { .species = SPECIES_CHIMECHO, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_DOUBLE_EDGE, MOVE_TOXIC, MOVE_PSYCHIC, MOVE_PROTECT} }, { .species = SPECIES_SOLROCK, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_FIRE_BLAST, MOVE_TOXIC} }, { .species = SPECIES_MISDREAVUS, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PSYCHIC, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_PAIN_SPLIT} }, { .species = SPECIES_CLAYDOL, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_SELF_DESTRUCT, MOVE_PSYCHIC} }, { .species = SPECIES_WEEZING, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SLUDGE_BOMB, MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_FLYGON, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_DRAGON_CLAW, MOVE_DRAGON_BREATH} }, { .species = SPECIES_GENGAR, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_GIGA_DRAIN, MOVE_NIGHT_SHADE} } }; @@ -263,49 +263,49 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round6[] = { .species = SPECIES_DIGLETT, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ROCK_SLIDE, MOVE_SLASH, MOVE_DIG, MOVE_NONE} }, { .species = SPECIES_TRAPINCH, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_NONE} }, { .species = SPECIES_WYNAUT, .lvl = 8, - .abilityBit = 0, + .abilityNum = 0, .moves = {MOVE_DESTINY_BOND, MOVE_SPLASH, MOVE_COUNTER, MOVE_MIRROR_COAT} }, { .species = SPECIES_DIGLETT, .lvl = 8, - .abilityBit = 1, + .abilityNum = 1, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_MAGNITUDE, MOVE_TOXIC} }, { .species = SPECIES_TRAPINCH, .lvl = 6, - .abilityBit = 1, + .abilityNum = 1, .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_PROTECT} }, { .species = SPECIES_WYNAUT, .lvl = 6, - .abilityBit = 0, + .abilityNum = 0, .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE} }, { .species = SPECIES_WOBBUFFET, .lvl = 5, - .abilityBit = 0, + .abilityNum = 0, .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE} }, { .species = SPECIES_DUGTRIO, .lvl = 5, - .abilityBit = 1, + .abilityNum = 1, .moves = {MOVE_ROCK_SLIDE, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_PROTECT} } }; @@ -315,49 +315,49 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round7[] = { .species = SPECIES_GLALIE, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ICE_BEAM, MOVE_CRUNCH, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_SNEASEL, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ICE_BEAM, MOVE_CRUSH_CLAW, MOVE_SPITE, MOVE_NONE} }, { .species = SPECIES_DEWGONG, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_BLIZZARD, MOVE_DOUBLE_EDGE, MOVE_SURF, MOVE_NONE} }, { .species = SPECIES_PILOSWINE, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_NONE} }, { .species = SPECIES_JYNX, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_BLIZZARD, MOVE_LOVELY_KISS, MOVE_PSYCHIC, MOVE_NONE} }, { .species = SPECIES_CLOYSTER, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_WALREIN, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_BLIZZARD, MOVE_BODY_SLAM, MOVE_SURF, MOVE_NONE} }, { .species = SPECIES_LAPRAS, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SING, MOVE_BODY_SLAM, MOVE_ICE_BEAM, MOVE_PSYCHIC} } }; @@ -367,49 +367,49 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round8[] = { .species = SPECIES_WEEZING, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SELF_DESTRUCT, MOVE_SLUDGE_BOMB, MOVE_FIRE_BLAST, MOVE_NONE} }, { .species = SPECIES_ELECTRODE, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SELF_DESTRUCT, MOVE_THUNDERBOLT, MOVE_ROLLOUT, MOVE_NONE} }, { .species = SPECIES_GENGAR, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_DESTINY_BOND, MOVE_LICK, MOVE_SHADOW_BALL, MOVE_NONE} }, { .species = SPECIES_GOLEM, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_EARTHQUAKE, MOVE_NONE} }, { .species = SPECIES_PINECO, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EXPLOSION, MOVE_DOUBLE_EDGE, MOVE_GIGA_DRAIN, MOVE_NONE} }, { .species = SPECIES_SOLROCK, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EXPLOSION, MOVE_FIRE_SPIN, MOVE_PSYWAVE, MOVE_NONE} }, { .species = SPECIES_FORRETRESS, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EXPLOSION, MOVE_TOXIC, MOVE_ROCK_SLIDE, MOVE_NONE} }, { .species = SPECIES_SHIFTRY, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EXPLOSION, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_PROTECT} } }; @@ -419,49 +419,49 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round9[] = { .species = SPECIES_WOBBUFFET, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_DESTINY_BOND} }, { .species = SPECIES_METANG, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_SLUDGE_BOMB, MOVE_PSYCHIC} }, { .species = SPECIES_EXEGGUTOR, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EGG_BOMB, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_NONE} }, { .species = SPECIES_SLOWKING, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SHADOW_BALL, MOVE_SURF, MOVE_ICE_BEAM, MOVE_FLAMETHROWER} }, { .species = SPECIES_XATU, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_STEEL_WING} }, { .species = SPECIES_ALAKAZAM, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_TOXIC} }, { .species = SPECIES_STARMIE, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_ICE_BEAM} }, { .species = SPECIES_ESPEON, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PSYCHIC, MOVE_DIG, MOVE_SHADOW_BALL, MOVE_NONE} } }; @@ -471,49 +471,49 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round10[] = { .species = SPECIES_GOLEM, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SELF_DESTRUCT, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_STEELIX, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_IRON_TAIL, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_NONE} }, { .species = SPECIES_OMASTAR, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SURF, MOVE_MUD_SHOT, MOVE_ANCIENT_POWER, MOVE_NONE} }, { .species = SPECIES_LUNATONE, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HYPNOSIS, MOVE_PSYWAVE, MOVE_EXPLOSION, MOVE_NONE} }, { .species = SPECIES_SHUCKLE, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_TOXIC, MOVE_PROTECT, MOVE_WRAP, MOVE_NONE} }, { .species = SPECIES_ARMALDO, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ANCIENT_POWER, MOVE_PROTECT, MOVE_AERIAL_ACE, MOVE_NONE} }, { .species = SPECIES_CRADILY, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_CONFUSE_RAY, MOVE_NONE} }, { .species = SPECIES_AERODACTYL, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HYPER_BEAM, MOVE_ROCK_SLIDE, MOVE_BITE, MOVE_NONE} } }; @@ -523,49 +523,49 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round11[] = { .species = SPECIES_POLIWRATH, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SUBMISSION, MOVE_FOCUS_PUNCH, MOVE_SURF, MOVE_NONE} }, { .species = SPECIES_HARIYAMA, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_FAKE_OUT, MOVE_SURF, MOVE_FOCUS_PUNCH, MOVE_NONE} }, { .species = SPECIES_BRELOOM, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_MEDICHAM, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH} }, { .species = SPECIES_HITMONCHAN, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH} }, { .species = SPECIES_HITMONLEE, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_MEGA_KICK, MOVE_FOCUS_PUNCH, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_HERACROSS, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_ROCK_SLIDE} }, { .species = SPECIES_MACHAMP, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_SEISMIC_TOSS} } }; @@ -575,49 +575,49 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round12[] = { .species = SPECIES_QUAGSIRE, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_RAIN_DANCE, MOVE_SURF, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_TROPIUS, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_PUPITAR, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SANDSTORM, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_NONE} }, { .species = SPECIES_LAPRAS, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_CACTURNE, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SANDSTORM, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_NONE} }, { .species = SPECIES_FLAREON, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SUNNY_DAY, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_WALREIN, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_GYARADOS, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_RAIN_DANCE, MOVE_THUNDER, MOVE_HYDRO_PUMP, MOVE_NONE} } }; @@ -627,49 +627,49 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round13[] = { .species = SPECIES_PINECO, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EXPLOSION, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_SHUCKLE, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_TOXIC, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_VENOMOTH, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SILVER_WIND, MOVE_POISON_POWDER, MOVE_SLEEP_POWDER, MOVE_PSYCHIC} }, { .species = SPECIES_SCIZOR, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_QUICK_ATTACK, MOVE_METAL_CLAW, MOVE_FURY_CUTTER, MOVE_PURSUIT} }, { .species = SPECIES_HERACROSS, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_MEGAHORN, MOVE_BRICK_BREAK, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE} }, { .species = SPECIES_FORRETRESS, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_ARMALDO, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_WATER_PULSE, MOVE_PROTECT, MOVE_ROCK_SLIDE, MOVE_NONE} }, { .species = SPECIES_SHEDINJA, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_SPITE, MOVE_GRUDGE} } }; @@ -679,49 +679,49 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round14[] = { .species = SPECIES_SABLEYE, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_NIGHT_SHADE, MOVE_PSYCHIC, MOVE_AERIAL_ACE, MOVE_NONE} }, { .species = SPECIES_SNEASEL, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ICE_BEAM, MOVE_TAUNT, MOVE_FAINT_ATTACK, MOVE_QUICK_ATTACK} }, { .species = SPECIES_CRAWDAUNT, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_CRABHAMMER, MOVE_ICE_BEAM, MOVE_SURF, MOVE_NONE} }, { .species = SPECIES_SHIFTRY, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EXPLOSION, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_GIGA_DRAIN} }, { .species = SPECIES_CACTURNE, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_NEEDLE_ARM, MOVE_NONE} }, { .species = SPECIES_ABSOL, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_BITE, MOVE_PROTECT, MOVE_SLASH, MOVE_NONE} }, { .species = SPECIES_HOUNDOOM, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_OVERHEAT, MOVE_CRUNCH, MOVE_SHADOW_BALL, MOVE_PROTECT} }, { .species = SPECIES_UMBREON, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_IRON_TAIL, MOVE_QUICK_ATTACK} } }; @@ -731,49 +731,49 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round15[] = { .species = SPECIES_OCTILLERY, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_OCTAZOOKA, MOVE_ICE_BEAM, MOVE_FIRE_BLAST, MOVE_NONE} }, { .species = SPECIES_DEWGONG, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_WATER_PULSE, MOVE_ICE_BEAM, MOVE_HEADBUTT, MOVE_NONE} }, { .species = SPECIES_PELIPPER, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PROTECT, MOVE_SUPERSONIC, MOVE_SURF, MOVE_NONE} }, { .species = SPECIES_QUAGSIRE, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SURF, MOVE_NONE} }, { .species = SPECIES_LUDICOLO, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PROTECT, MOVE_SOLAR_BEAM, MOVE_TOXIC, MOVE_ICE_BEAM} }, { .species = SPECIES_SLOWKING, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PSYCHIC, MOVE_HEADBUTT, MOVE_SWAGGER, MOVE_NONE} }, { .species = SPECIES_STARMIE, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_WATER_PULSE, MOVE_THUNDERBOLT, MOVE_CONFUSE_RAY, MOVE_BLIZZARD} }, { .species = SPECIES_BLASTOISE, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HYDRO_PUMP, MOVE_BITE, MOVE_ICE_BEAM, MOVE_NONE} } }; @@ -783,49 +783,49 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round16[] = { .species = SPECIES_DUSKULL, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_NIGHT_SHADE, MOVE_WILL_O_WISP, MOVE_SHADOW_BALL, MOVE_PROTECT} }, { .species = SPECIES_HAUNTER, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_TOXIC, MOVE_SPITE, MOVE_HYPNOSIS, MOVE_SHADOW_BALL} }, { .species = SPECIES_BANETTE, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_WILL_O_WISP, MOVE_NONE} }, { .species = SPECIES_MISDREAVUS, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PERISH_SONG, MOVE_SPITE, MOVE_MEAN_LOOK, MOVE_NONE} }, { .species = SPECIES_SABLEYE, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SHADOW_BALL, MOVE_MEAN_LOOK, MOVE_DIG, MOVE_NIGHT_SHADE} }, { .species = SPECIES_DUSCLOPS, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_WILL_O_WISP, MOVE_TOXIC, MOVE_SHADOW_BALL, MOVE_NONE} }, { .species = SPECIES_SHEDINJA, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_GRUDGE, MOVE_PROTECT} }, { .species = SPECIES_GENGAR, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PSYCHIC, MOVE_DESTINY_BOND, MOVE_SPITE, MOVE_NIGHT_SHADE} } }; @@ -835,49 +835,49 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round17[] = { .species = SPECIES_MAWILE, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_CRUNCH, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE} }, { .species = SPECIES_MAGNETON, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_STEELIX, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ROCK_THROW, MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_NONE} }, { .species = SPECIES_SCIZOR, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_METAL_CLAW, MOVE_SLASH, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_FORRETRESS, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EXPLOSION, MOVE_TOXIC, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_SKARMORY, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_STEEL_WING, MOVE_TOXIC, MOVE_FLY, MOVE_PROTECT} }, { .species = SPECIES_AGGRON, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_TAKE_DOWN, MOVE_SURF, MOVE_ICE_BEAM} }, { .species = SPECIES_METAGROSS, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK} } }; @@ -887,49 +887,49 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round18[] = { .species = SPECIES_DRAGONAIR, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE} }, { .species = SPECIES_VIBRAVA, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_CRUNCH, MOVE_STEEL_WING} }, { .species = SPECIES_ALTARIA, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_SING, MOVE_PROTECT} }, { .species = SPECIES_FLYGON, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_FIRE_BLAST, MOVE_NONE} }, { .species = SPECIES_AERODACTYL, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DRAGON_CLAW, MOVE_NONE} }, { .species = SPECIES_GYARADOS, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_SURF, MOVE_THRASH, MOVE_BITE} }, { .species = SPECIES_KINGDRA, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_CHARIZARD, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_FIRE_BLAST, MOVE_IRON_TAIL} } }; @@ -939,49 +939,49 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round19[] = { .species = SPECIES_ARCANINE, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_FIRE_BLAST, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_POLIWRATH, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_RAICHU, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_SLAM, MOVE_NONE} }, { .species = SPECIES_VAPOREON, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_JOLTEON, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_THUNDERBOLT, MOVE_PIN_MISSILE, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_FLAREON, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_FLAMETHROWER, MOVE_BITE, MOVE_NONE, MOVE_NONE} }, { .species = SPECIES_NINETALES, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_FLAMETHROWER, MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_NONE} }, { .species = SPECIES_STARMIE, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_THUNDERBOLT, MOVE_PSYCHIC} } }; @@ -991,49 +991,49 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round20[] = { .species = SPECIES_KANGASKHAN, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_SURF, MOVE_DIZZY_PUNCH} }, { .species = SPECIES_SWELLOW, .lvl = 10, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_AERIAL_ACE, MOVE_HYPER_BEAM, MOVE_TOXIC, MOVE_NONE} }, { .species = SPECIES_URSARING, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_PROTECT} }, { .species = SPECIES_PORYGON2, .lvl = 8, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_PSYBEAM, MOVE_HYPER_BEAM, MOVE_SHADOW_BALL, MOVE_ICE_BEAM} }, { .species = SPECIES_TAUROS, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SURF, MOVE_THUNDERBOLT} }, { .species = SPECIES_FEAROW, .lvl = 6, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HYPER_BEAM, MOVE_FLY, MOVE_MIRROR_MOVE, MOVE_PROTECT} }, { .species = SPECIES_SNORLAX, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HYPER_BEAM, MOVE_BODY_SLAM, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE} }, { .species = SPECIES_SLAKING, .lvl = 5, - .abilityBit = 2, + .abilityNum = ABILITY_RANDOM, .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_ICE_BEAM} } }; diff --git a/src/data/battle_frontier/trainer_hill.h b/src/data/battle_frontier/trainer_hill.h index ca0d623e9..64d216e4b 100644 --- a/src/data/battle_frontier/trainer_hill.h +++ b/src/data/battle_frontier/trainer_hill.h @@ -45,7 +45,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 24, .spAttackIV = 24, .spDefenseIV = 24, - .altAbility = 0, + .abilityNum = 0, .personality = 0x0, .nickname = _("MISDREAVUS"), .friendship = 255, @@ -68,7 +68,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 24, .spAttackIV = 24, .spDefenseIV = 24, - .altAbility = 0, + .abilityNum = 0, .personality = 0xF, .nickname = _("SOLROCK"), .friendship = 255, @@ -90,7 +90,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 24, .spAttackIV = 24, .spDefenseIV = 24, - .altAbility = 0, + .abilityNum = 0, .personality = 0xC, .nickname = _("CLAYDOL"), .friendship = 255, @@ -112,7 +112,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 24, .spAttackIV = 24, .spDefenseIV = 24, - .altAbility = 0, + .abilityNum = 0, .personality = 0x80, .nickname = _("WEEZING"), .friendship = 0, @@ -135,7 +135,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 24, .spAttackIV = 24, .spDefenseIV = 24, - .altAbility = 0, + .abilityNum = 0, .personality = 0xF, .nickname = _("LUNATONE"), .friendship = 255, @@ -157,7 +157,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 24, .spAttackIV = 24, .spDefenseIV = 24, - .altAbility = 0, + .abilityNum = 0, .personality = 0x83, .nickname = _("FLYGON"), .friendship = 255, @@ -191,7 +191,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xF, .nickname = _("SEALEO"), .friendship = 255, @@ -212,7 +212,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xF, .nickname = _("AMPHAROS"), .friendship = 255, @@ -233,7 +233,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x4E, .nickname = _("MACHOKE"), .friendship = 255, @@ -254,7 +254,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x28, .nickname = _("FLAREON"), .friendship = 255, @@ -275,7 +275,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x0, .nickname = _("MAGNETON"), .friendship = 255, @@ -297,7 +297,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x85, .nickname = _("PINSIR"), .friendship = 255, @@ -345,7 +345,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 20, .spAttackIV = 20, .spDefenseIV = 20, - .altAbility = 0, + .abilityNum = 0, .personality = 0x80, .nickname = _("MEDITITE"), .friendship = 255, @@ -367,7 +367,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 20, .spAttackIV = 20, .spDefenseIV = 20, - .altAbility = 1, + .abilityNum = 1, .personality = 0x80, .nickname = _("HERACROSS"), .friendship = 255, @@ -389,7 +389,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 20, .spAttackIV = 20, .spDefenseIV = 20, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("HITMONTOP"), .friendship = 255, @@ -411,7 +411,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 20, .spAttackIV = 20, .spDefenseIV = 20, - .altAbility = 0, + .abilityNum = 0, .personality = 0x4E, .nickname = _("MACHOP"), .friendship = 255, @@ -433,7 +433,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 20, .spAttackIV = 20, .spDefenseIV = 20, - .altAbility = 0, + .abilityNum = 0, .personality = 0x80, .nickname = _("PINSIR"), .friendship = 255, @@ -455,7 +455,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 20, .spAttackIV = 20, .spDefenseIV = 20, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("HITMONCHAN"), .friendship = 255, @@ -490,7 +490,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xF, .nickname = _("VULPIX"), .friendship = 255, @@ -512,7 +512,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x8C, .nickname = _("MINUN"), .friendship = 255, @@ -534,7 +534,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 1, + .abilityNum = 1, .personality = 0xF, .nickname = _("ROSELIA"), .friendship = 255, @@ -556,7 +556,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x82, .nickname = _("MR. MIME"), .friendship = 255, @@ -578,7 +578,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x5, .nickname = _("PLUSLE"), .friendship = 255, @@ -600,7 +600,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 1, + .abilityNum = 1, .personality = 0x37, .nickname = _("TOGEPI"), .friendship = 255, @@ -648,7 +648,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x37, .nickname = _("VAPOREON"), .friendship = 0, @@ -670,7 +670,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 1, + .abilityNum = 1, .personality = 0x8A, .nickname = _("DODRIO"), .friendship = 0, @@ -692,7 +692,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x14, .nickname = _("OMASTAR"), .friendship = 255, @@ -714,7 +714,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x8, .nickname = _("LICKITUNG"), .friendship = 255, @@ -736,7 +736,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 1, + .abilityNum = 1, .personality = 0x94, .nickname = _("SLOWBRO"), .friendship = 0, @@ -758,7 +758,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x8, .nickname = _("LINOONE"), .friendship = 255, @@ -792,7 +792,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0xCB, .nickname = _("SKITTY"), .friendship = 255, @@ -814,7 +814,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xD, .nickname = _("MEDICHAM"), .friendship = 0, @@ -836,7 +836,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("STANTLER"), .friendship = 0, @@ -858,7 +858,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("NIDOQUEEN"), .friendship = 0, @@ -880,7 +880,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xD7, .nickname = _("NINETALES"), .friendship = 255, @@ -902,7 +902,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x28, .nickname = _("CHARIZARD"), .friendship = 255, @@ -949,7 +949,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0x41, .nickname = _("ALAKAZAM"), .friendship = 255, @@ -971,7 +971,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 1, + .abilityNum = 1, .personality = 0xF, .nickname = _("BLISSEY"), .friendship = 255, @@ -993,7 +993,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0x8C, .nickname = _("GRUMPIG"), .friendship = 255, @@ -1014,7 +1014,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 1, + .abilityNum = 1, .personality = 0xF, .nickname = _("GARDEVOIR"), .friendship = 255, @@ -1035,7 +1035,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0x80, .nickname = _("VENOMOTH"), .friendship = 255, @@ -1056,7 +1056,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0xF, .nickname = _("ESPEON"), .friendship = 255, @@ -1090,7 +1090,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("WEEZING"), .friendship = 255, @@ -1111,7 +1111,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x8C, .nickname = _("GLOOM"), .friendship = 255, @@ -1132,7 +1132,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("MUK"), .friendship = 255, @@ -1154,7 +1154,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x83, .nickname = _("TROPIUS"), .friendship = 255, @@ -1175,7 +1175,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x6, .nickname = _("BELLOSSOM"), .friendship = 255, @@ -1197,7 +1197,7 @@ static const struct TrHillTag sDataTagNormal = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x1F, .nickname = _("MEGANIUM"), .friendship = 255, @@ -1257,7 +1257,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 1, + .abilityNum = 1, .personality = 0x8A, .nickname = _("DELIBIRD"), .friendship = 255, @@ -1278,7 +1278,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xD, .nickname = _("CLEFAIRY"), .friendship = 255, @@ -1299,7 +1299,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xD, .nickname = _("PIKACHU"), .friendship = 255, @@ -1320,7 +1320,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 1, + .abilityNum = 1, .personality = 0x8A, .nickname = _("MARILL"), .friendship = 255, @@ -1341,7 +1341,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xD, .nickname = _("JIGGLYPUFF"), .friendship = 255, @@ -1362,7 +1362,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 1, + .abilityNum = 1, .personality = 0x26, .nickname = _("TOGETIC"), .friendship = 255, @@ -1396,7 +1396,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0xC1, .nickname = _("WIGGLYTUFF"), .friendship = 255, @@ -1417,7 +1417,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0x87, .nickname = _("SABLEYE"), .friendship = 255, @@ -1438,7 +1438,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0xA, .nickname = _("GRUMPIG"), .friendship = 255, @@ -1459,7 +1459,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0x12, .nickname = _("CORSOLA"), .friendship = 255, @@ -1480,7 +1480,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0xA, .nickname = _("CLAMPERL"), .friendship = 255, @@ -1501,7 +1501,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0xA, .nickname = _("STARMIE"), .friendship = 255, @@ -1552,7 +1552,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0x0, .nickname = _("JIGGLYPUFF"), .friendship = 255, @@ -1577,7 +1577,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0x0, .nickname = _("JYNX"), .friendship = 255, @@ -1602,7 +1602,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0x96, .nickname = _("EXPLOUD"), .friendship = 255, @@ -1627,7 +1627,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0x96, .nickname = _("ABSOL"), .friendship = 255, @@ -1652,7 +1652,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0x96, .nickname = _("PIDGEOTTO"), .friendship = 255, @@ -1677,7 +1677,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0x0, .nickname = _("ALTARIA"), .friendship = 255, @@ -1712,7 +1712,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0xD, .nickname = _("CHIMECHO"), .friendship = 255, @@ -1734,7 +1734,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0xD, .nickname = _("WHISMUR"), .friendship = 255, @@ -1756,7 +1756,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0x8A, .nickname = _("YANMA"), .friendship = 255, @@ -1778,7 +1778,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0xA, .nickname = _("ILLUMISE"), .friendship = 255, @@ -1800,7 +1800,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0xA, .nickname = _("SPHEAL"), .friendship = 255, @@ -1822,7 +1822,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0x87, .nickname = _("VIGOROTH"), .friendship = 255, @@ -1870,7 +1870,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x8C, .nickname = _("WOOPER"), .friendship = 255, @@ -1892,7 +1892,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 1, + .abilityNum = 1, .personality = 0x3, .nickname = _("POLIWAG"), .friendship = 255, @@ -1914,7 +1914,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("PSYDUCK"), .friendship = 255, @@ -1936,7 +1936,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x96, .nickname = _("RHYDON"), .friendship = 0, @@ -1958,7 +1958,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("RHYHORN"), .friendship = 0, @@ -1980,7 +1980,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 1, + .abilityNum = 1, .personality = 0x80, .nickname = _("CUBONE"), .friendship = 0, @@ -2015,7 +2015,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x8C, .nickname = _("MAGNEMITE"), .friendship = 255, @@ -2037,7 +2037,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x41, .nickname = _("ELECTABUZZ"), .friendship = 255, @@ -2058,7 +2058,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x0, .nickname = _("FLAAFFY"), .friendship = 255, @@ -2080,7 +2080,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("BALTOY"), .friendship = 0, @@ -2102,7 +2102,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("PINECO"), .friendship = 0, @@ -2124,7 +2124,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x80, .nickname = _("VOLTORB"), .friendship = 0, @@ -2171,7 +2171,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 31, .spAttackIV = 30, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x202, .nickname = _("UNOWN"), .friendship = 255, @@ -2192,7 +2192,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 30, .spAttackIV = 30, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x10001, .nickname = _("UNOWN"), .friendship = 255, @@ -2213,7 +2213,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 30, .spAttackIV = 30, .spDefenseIV = 30, - .altAbility = 0, + .abilityNum = 0, .personality = 0x102, .nickname = _("UNOWN"), .friendship = 255, @@ -2235,7 +2235,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x88FE980F, .nickname = _("SPINDA"), .friendship = 255, @@ -2256,7 +2256,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xF, .nickname = _("PLUSLE"), .friendship = 255, @@ -2277,7 +2277,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 1, + .abilityNum = 1, .personality = 0xF, .nickname = _("VOLBEAT"), .friendship = 255, @@ -2312,7 +2312,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xE2880098, .nickname = _("SPINDA"), .friendship = 255, @@ -2333,7 +2333,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x8C, .nickname = _("MINUN"), .friendship = 255, @@ -2354,7 +2354,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xF, .nickname = _("ILLUMISE"), .friendship = 255, @@ -2375,7 +2375,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 30, .spAttackIV = 30, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x302, .nickname = _("UNOWN"), .friendship = 255, @@ -2396,7 +2396,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 31, .spAttackIV = 30, .spDefenseIV = 30, - .altAbility = 0, + .abilityNum = 0, .personality = 0x203, .nickname = _("UNOWN"), .friendship = 255, @@ -2417,7 +2417,7 @@ static const struct TrHillTag sDataTagVariety = .speedIV = 30, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x301, .nickname = _("UNOWN"), .friendship = 255, @@ -2478,7 +2478,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x0, .nickname = _("SUNFLORA"), .friendship = 255, @@ -2499,7 +2499,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x91, .nickname = _("TANGELA"), .friendship = 255, @@ -2523,7 +2523,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x1F, .nickname = _("VENUSAUR"), .friendship = 255, @@ -2544,7 +2544,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xF, .nickname = _("LANTURN"), .friendship = 255, @@ -2565,7 +2565,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 1, + .abilityNum = 1, .personality = 0xF, .nickname = _("MANECTRIC"), .friendship = 255, @@ -2586,7 +2586,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xF, .nickname = _("RAIKOU"), .friendship = 255, @@ -2621,7 +2621,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x2F, .nickname = _("RELICANTH"), .friendship = 255, @@ -2642,7 +2642,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xF, .nickname = _("GOLDUCK"), .friendship = 255, @@ -2663,7 +2663,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x28, .nickname = _("BLASTOISE"), .friendship = 255, @@ -2684,7 +2684,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 1, + .abilityNum = 1, .personality = 0x93, .nickname = _("MAGCARGO"), .friendship = 255, @@ -2705,7 +2705,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 1, + .abilityNum = 1, .personality = 0xF, .nickname = _("RAPIDASH"), .friendship = 255, @@ -2726,7 +2726,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xF, .nickname = _("MOLTRES"), .friendship = 255, @@ -2774,7 +2774,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x8A, .nickname = _("SMEARGLE"), .friendship = 255, @@ -2796,7 +2796,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x87, .nickname = _("SMEARGLE"), .friendship = 255, @@ -2818,7 +2818,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xD, .nickname = _("SMEARGLE"), .friendship = 255, @@ -2840,7 +2840,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xA, .nickname = _("SMEARGLE"), .friendship = 255, @@ -2862,7 +2862,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xA, .nickname = _("SMEARGLE"), .friendship = 255, @@ -2884,7 +2884,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x8A, .nickname = _("SMEARGLE"), .friendship = 255, @@ -2919,7 +2919,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 1, + .abilityNum = 1, .personality = 0xA, .nickname = _("STARYU"), .friendship = 255, @@ -2941,7 +2941,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0xD, .nickname = _("MEOWTH"), .friendship = 255, @@ -2963,7 +2963,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0x28, .nickname = _("BLAZIKEN"), .friendship = 255, @@ -2985,7 +2985,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 1, + .abilityNum = 1, .personality = 0x16, .nickname = _("CUBONE"), .friendship = 255, @@ -3006,7 +3006,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 0, + .abilityNum = 0, .personality = 0x8A, .nickname = _("BEEDRILL"), .friendship = 255, @@ -3028,7 +3028,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 5, .spAttackIV = 5, .spDefenseIV = 5, - .altAbility = 1, + .abilityNum = 1, .personality = 0xD, .nickname = _("RATICATE"), .friendship = 255, @@ -3076,7 +3076,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 25, .spAttackIV = 25, .spDefenseIV = 25, - .altAbility = 0, + .abilityNum = 0, .personality = 0x32, .nickname = _("CHARMELEON"), .friendship = 100, @@ -3097,7 +3097,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 25, .spAttackIV = 25, .spDefenseIV = 25, - .altAbility = 0, + .abilityNum = 0, .personality = 0x0, .nickname = _("WARTORTLE"), .friendship = 100, @@ -3119,7 +3119,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 25, .spAttackIV = 25, .spDefenseIV = 25, - .altAbility = 0, + .abilityNum = 0, .personality = 0x0, .nickname = _("IVYSAUR"), .friendship = 100, @@ -3141,7 +3141,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 25, .spAttackIV = 25, .spDefenseIV = 25, - .altAbility = 0, + .abilityNum = 0, .personality = 0x32, .nickname = _("BAYLEEF"), .friendship = 100, @@ -3163,7 +3163,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 25, .spAttackIV = 25, .spDefenseIV = 25, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("CROCONAW"), .friendship = 100, @@ -3185,7 +3185,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x28, .nickname = _("QUILAVA"), .friendship = 100, @@ -3220,7 +3220,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x32, .nickname = _("SMOOCHUM"), .friendship = 50, @@ -3242,7 +3242,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0xC8, .nickname = _("AZURILL"), .friendship = 50, @@ -3264,7 +3264,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x0, .nickname = _("ELEKID"), .friendship = 50, @@ -3286,7 +3286,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x0, .nickname = _("CLEFFA"), .friendship = 50, @@ -3308,7 +3308,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x84, .nickname = _("WYNAUT"), .friendship = 50, @@ -3330,7 +3330,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0xF, .nickname = _("MAGBY"), .friendship = 50, @@ -3378,7 +3378,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x80, .nickname = _("SUDOWOODO"), .friendship = 255, @@ -3399,7 +3399,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 1, + .abilityNum = 1, .personality = 0x8C, .nickname = _("SLOWKING"), .friendship = 255, @@ -3420,7 +3420,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xF, .nickname = _("ENTEI"), .friendship = 255, @@ -3441,7 +3441,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("HITMONCHAN"), .friendship = 255, @@ -3462,7 +3462,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 1, + .abilityNum = 1, .personality = 0x6, .nickname = _("MANTINE"), .friendship = 255, @@ -3483,7 +3483,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x18, .nickname = _("ZAPDOS"), .friendship = 255, @@ -3517,7 +3517,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("HITMONLEE"), .friendship = 255, @@ -3538,7 +3538,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xF, .nickname = _("PORYGON2"), .friendship = 255, @@ -3559,7 +3559,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xF, .nickname = _("SUICUNE"), .friendship = 255, @@ -3580,7 +3580,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 1, + .abilityNum = 1, .personality = 0xF, .nickname = _("HOUNDOOM"), .friendship = 255, @@ -3601,7 +3601,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("STANTLER"), .friendship = 255, @@ -3622,7 +3622,7 @@ static const struct TrHillTag sDataTagUnique = .speedIV = 15, .spAttackIV = 15, .spDefenseIV = 15, - .altAbility = 0, + .abilityNum = 0, .personality = 0xF, .nickname = _("ARTICUNO"), .friendship = 255, @@ -3683,7 +3683,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x35, .nickname = _("SNORLAX"), .friendship = 255, @@ -3705,7 +3705,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("MILTANK"), .friendship = 255, @@ -3727,7 +3727,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x7F, .nickname = _("URSARING"), .friendship = 255, @@ -3749,7 +3749,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x80, .nickname = _("SLAKING"), .friendship = 255, @@ -3771,7 +3771,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("KANGASKHAN"), .friendship = 255, @@ -3793,7 +3793,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x80, .nickname = _("ZANGOOSE"), .friendship = 255, @@ -3828,7 +3828,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 1, + .abilityNum = 1, .personality = 0xF, .nickname = _("SLOWKING"), .friendship = 255, @@ -3850,7 +3850,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x28, .nickname = _("ESPEON"), .friendship = 255, @@ -3872,7 +3872,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 1, + .abilityNum = 1, .personality = 0xF, .nickname = _("STARMIE"), .friendship = 255, @@ -3894,7 +3894,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0xF, .nickname = _("GENGAR"), .friendship = 255, @@ -3916,7 +3916,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0xF, .nickname = _("GARDEVOIR"), .friendship = 255, @@ -3938,7 +3938,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0xF, .nickname = _("ALAKAZAM"), .friendship = 255, @@ -3986,7 +3986,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("SWELLOW"), .friendship = 255, @@ -4008,7 +4008,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("MACHAMP"), .friendship = 255, @@ -4030,7 +4030,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("URSARING"), .friendship = 255, @@ -4052,7 +4052,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x80, .nickname = _("KINGLER"), .friendship = 255, @@ -4074,7 +4074,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x80, .nickname = _("TYRANITAR"), .friendship = 255, @@ -4096,7 +4096,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x80, .nickname = _("DRAGONITE"), .friendship = 255, @@ -4131,7 +4131,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0xA, .nickname = _("JOLTEON"), .friendship = 255, @@ -4153,7 +4153,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0xA, .nickname = _("ALAKAZAM"), .friendship = 255, @@ -4175,7 +4175,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 1, + .abilityNum = 1, .personality = 0xA, .nickname = _("STARMIE"), .friendship = 255, @@ -4197,7 +4197,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x82, .nickname = _("DUSCLOPS"), .friendship = 255, @@ -4219,7 +4219,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0xD2, .nickname = _("NINETALES"), .friendship = 255, @@ -4241,7 +4241,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x85, .nickname = _("BANETTE"), .friendship = 255, @@ -4289,7 +4289,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x94, .nickname = _("WOBBUFFET"), .friendship = 255, @@ -4311,7 +4311,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x85, .nickname = _("EXPLOUD"), .friendship = 0, @@ -4333,7 +4333,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x0, .nickname = _("CROBAT"), .friendship = 255, @@ -4355,7 +4355,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 1, + .abilityNum = 1, .personality = 0xD, .nickname = _("DUGTRIO"), .friendship = 255, @@ -4377,7 +4377,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x5, .nickname = _("ELECTRODE"), .friendship = 0, @@ -4399,7 +4399,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x14, .nickname = _("GENGAR"), .friendship = 255, @@ -4434,7 +4434,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x82, .nickname = _("LAPRAS"), .friendship = 0, @@ -4456,7 +4456,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x8A, .nickname = _("ABSOL"), .friendship = 0, @@ -4478,7 +4478,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x0, .nickname = _("ALTARIA"), .friendship = 0, @@ -4500,7 +4500,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x14, .nickname = _("DEWGONG"), .friendship = 0, @@ -4522,7 +4522,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 1, + .abilityNum = 1, .personality = 0x14, .nickname = _("POLITOED"), .friendship = 0, @@ -4544,7 +4544,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 1, + .abilityNum = 1, .personality = 0x17, .nickname = _("MAROWAK"), .friendship = 0, @@ -4592,7 +4592,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("FORRETRESS"), .friendship = 255, @@ -4613,7 +4613,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 1, + .abilityNum = 1, .personality = 0xC, .nickname = _("ELECTRODE"), .friendship = 255, @@ -4634,7 +4634,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x7F, .nickname = _("EXEGGUTOR"), .friendship = 255, @@ -4656,7 +4656,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x93, .nickname = _("DUSCLOPS"), .friendship = 255, @@ -4677,7 +4677,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0xF, .nickname = _("NINETALES"), .friendship = 255, @@ -4698,7 +4698,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x96, .nickname = _("BANETTE"), .friendship = 255, @@ -4732,7 +4732,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x95, .nickname = _("SALAMENCE"), .friendship = 255, @@ -4753,7 +4753,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x8C, .nickname = _("GENGAR"), .friendship = 255, @@ -4774,7 +4774,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("GYARADOS"), .friendship = 255, @@ -4795,7 +4795,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x3, .nickname = _("GENGAR"), .friendship = 255, @@ -4817,7 +4817,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x14, .nickname = _("DUSCLOPS"), .friendship = 255, @@ -4839,7 +4839,7 @@ static const struct TrHillTag sDataTagExpert = .speedIV = 31, .spAttackIV = 31, .spDefenseIV = 31, - .altAbility = 0, + .abilityNum = 0, .personality = 0x85, .nickname = _("MISDREAVUS"), .friendship = 255, diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h index 36d870760..020efb728 100644 --- a/src/data/pokemon/base_stats.h +++ b/src/data/pokemon/base_stats.h @@ -28,8 +28,7 @@ .growthRate = GROWTH_MEDIUM_FAST, \ .eggGroup1 = EGG_GROUP_UNDISCOVERED,\ .eggGroup2 = EGG_GROUP_UNDISCOVERED,\ - .ability1 = ABILITY_NONE, \ - .ability2 = ABILITY_NONE, \ + .abilities = {0, 0}, \ .safariZoneFleeRate = 0, \ .bodyColor = BODY_COLOR_BLACK, \ .noFlip = FALSE, \ @@ -65,8 +64,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_OVERGROW, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_OVERGROW, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -98,8 +96,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_OVERGROW, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_OVERGROW, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -131,8 +128,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_OVERGROW, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_OVERGROW, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -164,8 +160,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_BLAZE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_BLAZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -197,8 +192,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_BLAZE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_BLAZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -230,8 +224,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_BLAZE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_BLAZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -263,8 +256,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_WATER_1, - .ability1 = ABILITY_TORRENT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_TORRENT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -296,8 +288,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_WATER_1, - .ability1 = ABILITY_TORRENT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_TORRENT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -329,8 +320,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_WATER_1, - .ability1 = ABILITY_TORRENT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_TORRENT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -362,8 +352,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_SHIELD_DUST, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SHIELD_DUST, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -395,8 +384,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_SHED_SKIN, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SHED_SKIN, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -428,8 +416,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_COMPOUND_EYES, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_COMPOUND_EYES, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, @@ -461,8 +448,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_SHIELD_DUST, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SHIELD_DUST, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -494,8 +480,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_SHED_SKIN, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SHED_SKIN, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -527,8 +512,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_SWARM, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SWARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -560,8 +544,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_FLYING, - .ability1 = ABILITY_KEEN_EYE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_KEEN_EYE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -593,8 +576,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_FLYING, - .ability1 = ABILITY_KEEN_EYE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_KEEN_EYE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -626,8 +608,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_FLYING, - .ability1 = ABILITY_KEEN_EYE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_KEEN_EYE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -659,8 +640,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_RUN_AWAY, - .ability2 = ABILITY_GUTS, + .abilities = {ABILITY_RUN_AWAY, ABILITY_GUTS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -692,8 +672,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_RUN_AWAY, - .ability2 = ABILITY_GUTS, + .abilities = {ABILITY_RUN_AWAY, ABILITY_GUTS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -725,8 +704,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_FLYING, - .ability1 = ABILITY_KEEN_EYE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_KEEN_EYE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -758,8 +736,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_FLYING, - .ability1 = ABILITY_KEEN_EYE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_KEEN_EYE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -791,8 +768,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_INTIMIDATE, - .ability2 = ABILITY_SHED_SKIN, + .abilities = {ABILITY_INTIMIDATE, ABILITY_SHED_SKIN}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -824,8 +800,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_INTIMIDATE, - .ability2 = ABILITY_SHED_SKIN, + .abilities = {ABILITY_INTIMIDATE, ABILITY_SHED_SKIN}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -857,8 +832,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FAIRY, - .ability1 = ABILITY_STATIC, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_STATIC, ABILITY_NONE}, .safariZoneFleeRate = 6, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -890,8 +864,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FAIRY, - .ability1 = ABILITY_STATIC, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_STATIC, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -923,8 +896,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_SAND_VEIL, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SAND_VEIL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -956,8 +928,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_SAND_VEIL, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SAND_VEIL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -989,8 +960,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_POISON_POINT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_POISON_POINT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -1022,8 +992,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_POISON_POINT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_POISON_POINT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -1055,8 +1024,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_POISON_POINT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_POISON_POINT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -1088,8 +1056,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_POISON_POINT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_POISON_POINT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -1121,8 +1088,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_POISON_POINT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_POISON_POINT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -1154,8 +1120,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_POISON_POINT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_POISON_POINT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -1187,8 +1152,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_FAIRY, .eggGroup2 = EGG_GROUP_FAIRY, - .ability1 = ABILITY_CUTE_CHARM, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CUTE_CHARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -1220,8 +1184,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_FAIRY, .eggGroup2 = EGG_GROUP_FAIRY, - .ability1 = ABILITY_CUTE_CHARM, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CUTE_CHARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -1253,8 +1216,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_FLASH_FIRE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_FLASH_FIRE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -1286,8 +1248,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_FLASH_FIRE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_FLASH_FIRE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -1319,8 +1280,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_FAIRY, .eggGroup2 = EGG_GROUP_FAIRY, - .ability1 = ABILITY_CUTE_CHARM, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CUTE_CHARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -1352,8 +1312,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_FAIRY, .eggGroup2 = EGG_GROUP_FAIRY, - .ability1 = ABILITY_CUTE_CHARM, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CUTE_CHARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -1385,8 +1344,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_FLYING, - .ability1 = ABILITY_INNER_FOCUS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_INNER_FOCUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -1418,8 +1376,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_FLYING, - .ability1 = ABILITY_INNER_FOCUS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_INNER_FOCUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -1451,8 +1408,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_GRASS, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_CHLOROPHYLL, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 4, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -1484,8 +1440,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_GRASS, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_CHLOROPHYLL, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 6, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -1517,8 +1472,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_GRASS, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_CHLOROPHYLL, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -1550,8 +1504,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_EFFECT_SPORE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_EFFECT_SPORE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -1583,8 +1536,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_EFFECT_SPORE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_EFFECT_SPORE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -1616,8 +1568,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_COMPOUND_EYES, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_COMPOUND_EYES, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -1649,8 +1600,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_SHIELD_DUST, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SHIELD_DUST, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -1682,8 +1632,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_SAND_VEIL, - .ability2 = ABILITY_ARENA_TRAP, + .abilities = {ABILITY_SAND_VEIL, ABILITY_ARENA_TRAP}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -1715,8 +1664,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_SAND_VEIL, - .ability2 = ABILITY_ARENA_TRAP, + .abilities = {ABILITY_SAND_VEIL, ABILITY_ARENA_TRAP}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -1748,8 +1696,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_PICKUP, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_PICKUP, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -1781,8 +1728,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_LIMBER, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_LIMBER, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -1814,8 +1760,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_DAMP, - .ability2 = ABILITY_CLOUD_NINE, + .abilities = {ABILITY_DAMP, ABILITY_CLOUD_NINE}, .safariZoneFleeRate = 6, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -1847,8 +1792,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_DAMP, - .ability2 = ABILITY_CLOUD_NINE, + .abilities = {ABILITY_DAMP, ABILITY_CLOUD_NINE}, .safariZoneFleeRate = 8, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -1880,8 +1824,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_VITAL_SPIRIT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_VITAL_SPIRIT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -1913,8 +1856,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_VITAL_SPIRIT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_VITAL_SPIRIT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -1946,8 +1888,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_INTIMIDATE, - .ability2 = ABILITY_FLASH_FIRE, + .abilities = {ABILITY_INTIMIDATE, ABILITY_FLASH_FIRE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -1979,8 +1920,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_INTIMIDATE, - .ability2 = ABILITY_FLASH_FIRE, + .abilities = {ABILITY_INTIMIDATE, ABILITY_FLASH_FIRE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -2012,8 +1952,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_WATER_1, - .ability1 = ABILITY_WATER_ABSORB, - .ability2 = ABILITY_DAMP, + .abilities = {ABILITY_WATER_ABSORB, ABILITY_DAMP}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = TRUE, @@ -2045,8 +1984,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_WATER_1, - .ability1 = ABILITY_WATER_ABSORB, - .ability2 = ABILITY_DAMP, + .abilities = {ABILITY_WATER_ABSORB, ABILITY_DAMP}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = TRUE, @@ -2078,8 +2016,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_WATER_1, - .ability1 = ABILITY_WATER_ABSORB, - .ability2 = ABILITY_DAMP, + .abilities = {ABILITY_WATER_ABSORB, ABILITY_DAMP}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = TRUE, @@ -2111,8 +2048,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_HUMAN_LIKE, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_SYNCHRONIZE, - .ability2 = ABILITY_INNER_FOCUS, + .abilities = {ABILITY_SYNCHRONIZE, ABILITY_INNER_FOCUS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -2144,8 +2080,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_HUMAN_LIKE, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_SYNCHRONIZE, - .ability2 = ABILITY_INNER_FOCUS, + .abilities = {ABILITY_SYNCHRONIZE, ABILITY_INNER_FOCUS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -2177,8 +2112,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_HUMAN_LIKE, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_SYNCHRONIZE, - .ability2 = ABILITY_INNER_FOCUS, + .abilities = {ABILITY_SYNCHRONIZE, ABILITY_INNER_FOCUS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -2210,8 +2144,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_HUMAN_LIKE, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_GUTS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_GUTS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -2243,8 +2176,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_HUMAN_LIKE, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_GUTS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_GUTS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -2276,8 +2208,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_HUMAN_LIKE, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_GUTS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_GUTS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -2309,8 +2240,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_GRASS, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_CHLOROPHYLL, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -2342,8 +2272,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_GRASS, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_CHLOROPHYLL, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -2375,8 +2304,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_GRASS, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_CHLOROPHYLL, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -2408,8 +2336,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_WATER_3, .eggGroup2 = EGG_GROUP_WATER_3, - .ability1 = ABILITY_CLEAR_BODY, - .ability2 = ABILITY_LIQUID_OOZE, + .abilities = {ABILITY_CLEAR_BODY, ABILITY_LIQUID_OOZE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -2441,8 +2368,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_WATER_3, .eggGroup2 = EGG_GROUP_WATER_3, - .ability1 = ABILITY_CLEAR_BODY, - .ability2 = ABILITY_LIQUID_OOZE, + .abilities = {ABILITY_CLEAR_BODY, ABILITY_LIQUID_OOZE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -2474,8 +2400,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MINERAL, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_ROCK_HEAD, - .ability2 = ABILITY_STURDY, + .abilities = {ABILITY_ROCK_HEAD, ABILITY_STURDY}, .safariZoneFleeRate = 4, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -2507,8 +2432,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MINERAL, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_ROCK_HEAD, - .ability2 = ABILITY_STURDY, + .abilities = {ABILITY_ROCK_HEAD, ABILITY_STURDY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -2540,8 +2464,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MINERAL, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_ROCK_HEAD, - .ability2 = ABILITY_STURDY, + .abilities = {ABILITY_ROCK_HEAD, ABILITY_STURDY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -2573,8 +2496,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_RUN_AWAY, - .ability2 = ABILITY_FLASH_FIRE, + .abilities = {ABILITY_RUN_AWAY, ABILITY_FLASH_FIRE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -2606,8 +2528,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_RUN_AWAY, - .ability2 = ABILITY_FLASH_FIRE, + .abilities = {ABILITY_RUN_AWAY, ABILITY_FLASH_FIRE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -2639,8 +2560,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_WATER_1, - .ability1 = ABILITY_OBLIVIOUS, - .ability2 = ABILITY_OWN_TEMPO, + .abilities = {ABILITY_OBLIVIOUS, ABILITY_OWN_TEMPO}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -2672,8 +2592,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_WATER_1, - .ability1 = ABILITY_OBLIVIOUS, - .ability2 = ABILITY_OWN_TEMPO, + .abilities = {ABILITY_OBLIVIOUS, ABILITY_OWN_TEMPO}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -2705,8 +2624,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_MINERAL, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_MAGNET_PULL, - .ability2 = ABILITY_STURDY, + .abilities = {ABILITY_MAGNET_PULL, ABILITY_STURDY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -2738,8 +2656,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_MINERAL, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_MAGNET_PULL, - .ability2 = ABILITY_STURDY, + .abilities = {ABILITY_MAGNET_PULL, ABILITY_STURDY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -2771,8 +2688,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_KEEN_EYE, - .ability2 = ABILITY_INNER_FOCUS, + .abilities = {ABILITY_KEEN_EYE, ABILITY_INNER_FOCUS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -2804,8 +2720,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_FLYING, - .ability1 = ABILITY_RUN_AWAY, - .ability2 = ABILITY_EARLY_BIRD, + .abilities = {ABILITY_RUN_AWAY, ABILITY_EARLY_BIRD}, .safariZoneFleeRate = 8, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -2837,8 +2752,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_FLYING, - .ability1 = ABILITY_RUN_AWAY, - .ability2 = ABILITY_EARLY_BIRD, + .abilities = {ABILITY_RUN_AWAY, ABILITY_EARLY_BIRD}, .safariZoneFleeRate = 10, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -2870,8 +2784,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_THICK_FAT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_THICK_FAT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, @@ -2903,8 +2816,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_THICK_FAT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_THICK_FAT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, @@ -2936,8 +2848,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_AMORPHOUS, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_STENCH, - .ability2 = ABILITY_STICKY_HOLD, + .abilities = {ABILITY_STENCH, ABILITY_STICKY_HOLD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -2969,8 +2880,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_AMORPHOUS, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_STENCH, - .ability2 = ABILITY_STICKY_HOLD, + .abilities = {ABILITY_STENCH, ABILITY_STICKY_HOLD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -3002,8 +2912,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_WATER_3, .eggGroup2 = EGG_GROUP_WATER_3, - .ability1 = ABILITY_SHELL_ARMOR, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SHELL_ARMOR, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -3035,8 +2944,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_WATER_3, .eggGroup2 = EGG_GROUP_WATER_3, - .ability1 = ABILITY_SHELL_ARMOR, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SHELL_ARMOR, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -3068,8 +2976,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_AMORPHOUS, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_LEVITATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -3101,8 +3008,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_AMORPHOUS, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_LEVITATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -3134,8 +3040,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_AMORPHOUS, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_LEVITATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -3167,8 +3072,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_MINERAL, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_ROCK_HEAD, - .ability2 = ABILITY_STURDY, + .abilities = {ABILITY_ROCK_HEAD, ABILITY_STURDY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -3200,8 +3104,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_HUMAN_LIKE, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_INSOMNIA, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_INSOMNIA, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -3233,8 +3136,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_HUMAN_LIKE, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_INSOMNIA, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_INSOMNIA, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -3266,8 +3168,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_3, .eggGroup2 = EGG_GROUP_WATER_3, - .ability1 = ABILITY_HYPER_CUTTER, - .ability2 = ABILITY_SHELL_ARMOR, + .abilities = {ABILITY_HYPER_CUTTER, ABILITY_SHELL_ARMOR}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -3299,8 +3200,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_3, .eggGroup2 = EGG_GROUP_WATER_3, - .ability1 = ABILITY_HYPER_CUTTER, - .ability2 = ABILITY_SHELL_ARMOR, + .abilities = {ABILITY_HYPER_CUTTER, ABILITY_SHELL_ARMOR}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = TRUE, @@ -3332,8 +3232,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_MINERAL, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_SOUNDPROOF, - .ability2 = ABILITY_STATIC, + .abilities = {ABILITY_SOUNDPROOF, ABILITY_STATIC}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -3365,8 +3264,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_MINERAL, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_SOUNDPROOF, - .ability2 = ABILITY_STATIC, + .abilities = {ABILITY_SOUNDPROOF, ABILITY_STATIC}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -3398,8 +3296,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_GRASS, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_CHLOROPHYLL, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -3431,8 +3328,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_GRASS, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_CHLOROPHYLL, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -3464,8 +3360,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_MONSTER, - .ability1 = ABILITY_ROCK_HEAD, - .ability2 = ABILITY_LIGHTNING_ROD, + .abilities = {ABILITY_ROCK_HEAD, ABILITY_LIGHTNING_ROD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -3497,8 +3392,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_MONSTER, - .ability1 = ABILITY_ROCK_HEAD, - .ability2 = ABILITY_LIGHTNING_ROD, + .abilities = {ABILITY_ROCK_HEAD, ABILITY_LIGHTNING_ROD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -3530,8 +3424,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_HUMAN_LIKE, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_LIMBER, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_LIMBER, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -3563,8 +3456,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_HUMAN_LIKE, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_KEEN_EYE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_KEEN_EYE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -3596,8 +3488,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_MONSTER, - .ability1 = ABILITY_OWN_TEMPO, - .ability2 = ABILITY_OBLIVIOUS, + .abilities = {ABILITY_OWN_TEMPO, ABILITY_OBLIVIOUS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -3629,8 +3520,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_AMORPHOUS, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_LEVITATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -3662,8 +3552,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_AMORPHOUS, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_LEVITATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -3695,8 +3584,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_LIGHTNING_ROD, - .ability2 = ABILITY_ROCK_HEAD, + .abilities = {ABILITY_LIGHTNING_ROD, ABILITY_ROCK_HEAD}, .safariZoneFleeRate = 4, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -3728,8 +3616,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_LIGHTNING_ROD, - .ability2 = ABILITY_ROCK_HEAD, + .abilities = {ABILITY_LIGHTNING_ROD, ABILITY_ROCK_HEAD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -3761,8 +3648,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_FAIRY, .eggGroup2 = EGG_GROUP_FAIRY, - .ability1 = ABILITY_NATURAL_CURE, - .ability2 = ABILITY_SERENE_GRACE, + .abilities = {ABILITY_NATURAL_CURE, ABILITY_SERENE_GRACE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -3794,8 +3680,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_GRASS, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_CHLOROPHYLL, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -3827,8 +3712,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_MONSTER, - .ability1 = ABILITY_EARLY_BIRD, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_EARLY_BIRD, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -3860,8 +3744,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_SWIFT_SWIM, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SWIFT_SWIM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -3893,8 +3776,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_POISON_POINT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_POISON_POINT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -3926,8 +3808,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_2, .eggGroup2 = EGG_GROUP_WATER_2, - .ability1 = ABILITY_SWIFT_SWIM, - .ability2 = ABILITY_WATER_VEIL, + .abilities = {ABILITY_SWIFT_SWIM, ABILITY_WATER_VEIL}, .safariZoneFleeRate = 4, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -3959,8 +3840,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_2, .eggGroup2 = EGG_GROUP_WATER_2, - .ability1 = ABILITY_SWIFT_SWIM, - .ability2 = ABILITY_WATER_VEIL, + .abilities = {ABILITY_SWIFT_SWIM, ABILITY_WATER_VEIL}, .safariZoneFleeRate = 6, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -3992,8 +3872,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_WATER_3, .eggGroup2 = EGG_GROUP_WATER_3, - .ability1 = ABILITY_ILLUMINATE, - .ability2 = ABILITY_NATURAL_CURE, + .abilities = {ABILITY_ILLUMINATE, ABILITY_NATURAL_CURE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -4025,8 +3904,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_WATER_3, .eggGroup2 = EGG_GROUP_WATER_3, - .ability1 = ABILITY_ILLUMINATE, - .ability2 = ABILITY_NATURAL_CURE, + .abilities = {ABILITY_ILLUMINATE, ABILITY_NATURAL_CURE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -4058,8 +3936,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_HUMAN_LIKE, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_SOUNDPROOF, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SOUNDPROOF, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -4091,8 +3968,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_SWARM, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SWARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -4124,8 +4000,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_HUMAN_LIKE, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_OBLIVIOUS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_OBLIVIOUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -4157,8 +4032,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_HUMAN_LIKE, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_STATIC, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_STATIC, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = TRUE, @@ -4190,8 +4064,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_HUMAN_LIKE, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_FLAME_BODY, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_FLAME_BODY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -4223,8 +4096,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_HYPER_CUTTER, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_HYPER_CUTTER, ABILITY_NONE}, .safariZoneFleeRate = 8, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -4256,8 +4128,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_INTIMIDATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_INTIMIDATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -4289,8 +4160,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_WATER_2, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_SWIFT_SWIM, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SWIFT_SWIM, ABILITY_NONE}, .safariZoneFleeRate = 4, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -4322,8 +4192,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_WATER_2, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_INTIMIDATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_INTIMIDATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -4355,8 +4224,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_WATER_1, - .ability1 = ABILITY_WATER_ABSORB, - .ability2 = ABILITY_SHELL_ARMOR, + .abilities = {ABILITY_WATER_ABSORB, ABILITY_SHELL_ARMOR}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -4388,8 +4256,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_DITTO, .eggGroup2 = EGG_GROUP_DITTO, - .ability1 = ABILITY_LIMBER, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_LIMBER, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -4421,8 +4288,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_RUN_AWAY, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_RUN_AWAY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -4454,8 +4320,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_WATER_ABSORB, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_WATER_ABSORB, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -4487,8 +4352,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_VOLT_ABSORB, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_VOLT_ABSORB, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -4520,8 +4384,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_FLASH_FIRE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_FLASH_FIRE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -4553,8 +4416,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_MINERAL, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_TRACE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_TRACE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -4586,8 +4448,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_WATER_3, - .ability1 = ABILITY_SWIFT_SWIM, - .ability2 = ABILITY_SHELL_ARMOR, + .abilities = {ABILITY_SWIFT_SWIM, ABILITY_SHELL_ARMOR}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -4619,8 +4480,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_WATER_3, - .ability1 = ABILITY_SWIFT_SWIM, - .ability2 = ABILITY_SHELL_ARMOR, + .abilities = {ABILITY_SWIFT_SWIM, ABILITY_SHELL_ARMOR}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -4652,8 +4512,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_WATER_3, - .ability1 = ABILITY_SWIFT_SWIM, - .ability2 = ABILITY_BATTLE_ARMOR, + .abilities = {ABILITY_SWIFT_SWIM, ABILITY_BATTLE_ARMOR}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -4685,8 +4544,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_WATER_3, - .ability1 = ABILITY_SWIFT_SWIM, - .ability2 = ABILITY_BATTLE_ARMOR, + .abilities = {ABILITY_SWIFT_SWIM, ABILITY_BATTLE_ARMOR}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -4718,8 +4576,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_FLYING, - .ability1 = ABILITY_ROCK_HEAD, - .ability2 = ABILITY_PRESSURE, + .abilities = {ABILITY_ROCK_HEAD, ABILITY_PRESSURE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -4751,8 +4608,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_MONSTER, - .ability1 = ABILITY_IMMUNITY, - .ability2 = ABILITY_THICK_FAT, + .abilities = {ABILITY_IMMUNITY, ABILITY_THICK_FAT}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, @@ -4784,8 +4640,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_PRESSURE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -4817,8 +4672,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_PRESSURE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -4850,8 +4704,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_PRESSURE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -4883,8 +4736,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_SHED_SKIN, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SHED_SKIN, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -4916,8 +4768,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_SHED_SKIN, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SHED_SKIN, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -4949,8 +4800,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_INNER_FOCUS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_INNER_FOCUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -4982,8 +4832,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_PRESSURE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -5015,8 +4864,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_SYNCHRONIZE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SYNCHRONIZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -5048,8 +4896,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_OVERGROW, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_OVERGROW, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -5081,8 +4928,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_OVERGROW, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_OVERGROW, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -5114,8 +4960,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_OVERGROW, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_OVERGROW, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -5147,8 +4992,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_BLAZE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_BLAZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -5180,8 +5024,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_BLAZE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_BLAZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -5213,8 +5056,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_BLAZE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_BLAZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -5246,8 +5088,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_WATER_1, - .ability1 = ABILITY_TORRENT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_TORRENT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -5279,8 +5120,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_WATER_1, - .ability1 = ABILITY_TORRENT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_TORRENT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = TRUE, @@ -5312,8 +5152,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_WATER_1, - .ability1 = ABILITY_TORRENT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_TORRENT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -5345,8 +5184,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_RUN_AWAY, - .ability2 = ABILITY_KEEN_EYE, + .abilities = {ABILITY_RUN_AWAY, ABILITY_KEEN_EYE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -5378,8 +5216,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_RUN_AWAY, - .ability2 = ABILITY_KEEN_EYE, + .abilities = {ABILITY_RUN_AWAY, ABILITY_KEEN_EYE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -5411,8 +5248,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_FLYING, - .ability1 = ABILITY_INSOMNIA, - .ability2 = ABILITY_KEEN_EYE, + .abilities = {ABILITY_INSOMNIA, ABILITY_KEEN_EYE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -5444,8 +5280,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_FLYING, - .ability1 = ABILITY_INSOMNIA, - .ability2 = ABILITY_KEEN_EYE, + .abilities = {ABILITY_INSOMNIA, ABILITY_KEEN_EYE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -5477,8 +5312,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_SWARM, - .ability2 = ABILITY_EARLY_BIRD, + .abilities = {ABILITY_SWARM, ABILITY_EARLY_BIRD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -5510,8 +5344,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_SWARM, - .ability2 = ABILITY_EARLY_BIRD, + .abilities = {ABILITY_SWARM, ABILITY_EARLY_BIRD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -5543,8 +5376,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_SWARM, - .ability2 = ABILITY_INSOMNIA, + .abilities = {ABILITY_SWARM, ABILITY_INSOMNIA}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -5576,8 +5408,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_SWARM, - .ability2 = ABILITY_INSOMNIA, + .abilities = {ABILITY_SWARM, ABILITY_INSOMNIA}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -5609,8 +5440,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_FLYING, - .ability1 = ABILITY_INNER_FOCUS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_INNER_FOCUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -5642,8 +5472,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_WATER_2, .eggGroup2 = EGG_GROUP_WATER_2, - .ability1 = ABILITY_VOLT_ABSORB, - .ability2 = ABILITY_ILLUMINATE, + .abilities = {ABILITY_VOLT_ABSORB, ABILITY_ILLUMINATE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -5675,8 +5504,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_WATER_2, .eggGroup2 = EGG_GROUP_WATER_2, - .ability1 = ABILITY_VOLT_ABSORB, - .ability2 = ABILITY_ILLUMINATE, + .abilities = {ABILITY_VOLT_ABSORB, ABILITY_ILLUMINATE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -5708,8 +5536,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_STATIC, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_STATIC, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -5741,8 +5568,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_CUTE_CHARM, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CUTE_CHARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -5774,8 +5600,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_CUTE_CHARM, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CUTE_CHARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = TRUE, @@ -5807,8 +5632,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_HUSTLE, - .ability2 = ABILITY_SERENE_GRACE, + .abilities = {ABILITY_HUSTLE, ABILITY_SERENE_GRACE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, @@ -5840,8 +5664,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_FAIRY, - .ability1 = ABILITY_HUSTLE, - .ability2 = ABILITY_SERENE_GRACE, + .abilities = {ABILITY_HUSTLE, ABILITY_SERENE_GRACE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, @@ -5873,8 +5696,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_FLYING, - .ability1 = ABILITY_SYNCHRONIZE, - .ability2 = ABILITY_EARLY_BIRD, + .abilities = {ABILITY_SYNCHRONIZE, ABILITY_EARLY_BIRD}, .safariZoneFleeRate = 6, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -5906,8 +5728,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_FLYING, - .ability1 = ABILITY_SYNCHRONIZE, - .ability2 = ABILITY_EARLY_BIRD, + .abilities = {ABILITY_SYNCHRONIZE, ABILITY_EARLY_BIRD}, .safariZoneFleeRate = 8, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -5939,8 +5760,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_STATIC, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_STATIC, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, @@ -5972,8 +5792,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_STATIC, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_STATIC, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -6005,8 +5824,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_STATIC, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_STATIC, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -6038,8 +5856,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_GRASS, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_CHLOROPHYLL, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -6071,8 +5888,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_FAIRY, - .ability1 = ABILITY_THICK_FAT, - .ability2 = ABILITY_HUGE_POWER, + .abilities = {ABILITY_THICK_FAT, ABILITY_HUGE_POWER}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -6104,8 +5920,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_FAIRY, - .ability1 = ABILITY_THICK_FAT, - .ability2 = ABILITY_HUGE_POWER, + .abilities = {ABILITY_THICK_FAT, ABILITY_HUGE_POWER}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -6137,8 +5952,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_MINERAL, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_STURDY, - .ability2 = ABILITY_ROCK_HEAD, + .abilities = {ABILITY_STURDY, ABILITY_ROCK_HEAD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -6170,8 +5984,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_WATER_1, - .ability1 = ABILITY_WATER_ABSORB, - .ability2 = ABILITY_DAMP, + .abilities = {ABILITY_WATER_ABSORB, ABILITY_DAMP}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = TRUE, @@ -6203,8 +6016,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FAIRY, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_CHLOROPHYLL, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -6236,8 +6048,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FAIRY, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_CHLOROPHYLL, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -6269,8 +6080,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FAIRY, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_CHLOROPHYLL, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -6302,8 +6112,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_RUN_AWAY, - .ability2 = ABILITY_PICKUP, + .abilities = {ABILITY_RUN_AWAY, ABILITY_PICKUP}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -6335,8 +6144,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_GRASS, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_CHLOROPHYLL, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -6368,8 +6176,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_GRASS, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_CHLOROPHYLL, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -6401,8 +6208,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_SPEED_BOOST, - .ability2 = ABILITY_COMPOUND_EYES, + .abilities = {ABILITY_SPEED_BOOST, ABILITY_COMPOUND_EYES}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -6434,8 +6240,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_DAMP, - .ability2 = ABILITY_WATER_ABSORB, + .abilities = {ABILITY_DAMP, ABILITY_WATER_ABSORB}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -6467,8 +6272,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_DAMP, - .ability2 = ABILITY_WATER_ABSORB, + .abilities = {ABILITY_DAMP, ABILITY_WATER_ABSORB}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -6500,8 +6304,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_SYNCHRONIZE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SYNCHRONIZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -6533,8 +6336,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_SYNCHRONIZE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SYNCHRONIZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, @@ -6566,8 +6368,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_FLYING, - .ability1 = ABILITY_INSOMNIA, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_INSOMNIA, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, @@ -6599,8 +6400,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_WATER_1, - .ability1 = ABILITY_OBLIVIOUS, - .ability2 = ABILITY_OWN_TEMPO, + .abilities = {ABILITY_OBLIVIOUS, ABILITY_OWN_TEMPO}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -6632,8 +6432,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_AMORPHOUS, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_LEVITATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -6665,8 +6464,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_LEVITATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, .noFlip = TRUE, @@ -6698,8 +6496,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_AMORPHOUS, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_SHADOW_TAG, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SHADOW_TAG, ABILITY_NONE}, .safariZoneFleeRate = 4, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -6731,8 +6528,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_INNER_FOCUS, - .ability2 = ABILITY_EARLY_BIRD, + .abilities = {ABILITY_INNER_FOCUS, ABILITY_EARLY_BIRD}, .safariZoneFleeRate = 4, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -6764,8 +6560,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_STURDY, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_STURDY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -6797,8 +6592,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_STURDY, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_STURDY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -6830,8 +6624,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_SERENE_GRACE, - .ability2 = ABILITY_RUN_AWAY, + .abilities = {ABILITY_SERENE_GRACE, ABILITY_RUN_AWAY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -6863,8 +6656,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_HYPER_CUTTER, - .ability2 = ABILITY_SAND_VEIL, + .abilities = {ABILITY_HYPER_CUTTER, ABILITY_SAND_VEIL}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -6896,8 +6688,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_MINERAL, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_ROCK_HEAD, - .ability2 = ABILITY_STURDY, + .abilities = {ABILITY_ROCK_HEAD, ABILITY_STURDY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -6929,8 +6720,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FAIRY, - .ability1 = ABILITY_INTIMIDATE, - .ability2 = ABILITY_RUN_AWAY, + .abilities = {ABILITY_INTIMIDATE, ABILITY_RUN_AWAY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -6962,8 +6752,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FAIRY, - .ability1 = ABILITY_INTIMIDATE, - .ability2 = ABILITY_INTIMIDATE, + .abilities = {ABILITY_INTIMIDATE, ABILITY_INTIMIDATE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -6995,8 +6784,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_2, .eggGroup2 = EGG_GROUP_WATER_2, - .ability1 = ABILITY_POISON_POINT, - .ability2 = ABILITY_SWIFT_SWIM, + .abilities = {ABILITY_POISON_POINT, ABILITY_SWIFT_SWIM}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -7028,8 +6816,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_SWARM, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SWARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -7061,8 +6848,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_STURDY, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_STURDY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -7094,8 +6880,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_SWARM, - .ability2 = ABILITY_GUTS, + .abilities = {ABILITY_SWARM, ABILITY_GUTS}, .safariZoneFleeRate = 8, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -7127,8 +6912,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_INNER_FOCUS, - .ability2 = ABILITY_KEEN_EYE, + .abilities = {ABILITY_INNER_FOCUS, ABILITY_KEEN_EYE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, .noFlip = TRUE, @@ -7160,8 +6944,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_PICKUP, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_PICKUP, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = TRUE, @@ -7193,8 +6976,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_GUTS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_GUTS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -7226,8 +7008,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_AMORPHOUS, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_MAGMA_ARMOR, - .ability2 = ABILITY_FLAME_BODY, + .abilities = {ABILITY_MAGMA_ARMOR, ABILITY_FLAME_BODY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -7259,8 +7040,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_AMORPHOUS, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_MAGMA_ARMOR, - .ability2 = ABILITY_FLAME_BODY, + .abilities = {ABILITY_MAGMA_ARMOR, ABILITY_FLAME_BODY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -7292,8 +7072,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_OBLIVIOUS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_OBLIVIOUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -7325,8 +7104,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_OBLIVIOUS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_OBLIVIOUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -7358,8 +7136,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_WATER_3, - .ability1 = ABILITY_HUSTLE, - .ability2 = ABILITY_NATURAL_CURE, + .abilities = {ABILITY_HUSTLE, ABILITY_NATURAL_CURE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -7391,8 +7168,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_WATER_2, - .ability1 = ABILITY_HUSTLE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_HUSTLE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -7424,8 +7200,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_WATER_2, - .ability1 = ABILITY_SUCTION_CUPS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SUCTION_CUPS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -7457,8 +7232,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_VITAL_SPIRIT, - .ability2 = ABILITY_HUSTLE, + .abilities = {ABILITY_VITAL_SPIRIT, ABILITY_HUSTLE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -7490,8 +7264,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_WATER_1, - .ability1 = ABILITY_SWIFT_SWIM, - .ability2 = ABILITY_WATER_ABSORB, + .abilities = {ABILITY_SWIFT_SWIM, ABILITY_WATER_ABSORB}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -7523,8 +7296,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_FLYING, - .ability1 = ABILITY_KEEN_EYE, - .ability2 = ABILITY_STURDY, + .abilities = {ABILITY_KEEN_EYE, ABILITY_STURDY}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -7556,8 +7328,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_EARLY_BIRD, - .ability2 = ABILITY_FLASH_FIRE, + .abilities = {ABILITY_EARLY_BIRD, ABILITY_FLASH_FIRE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, @@ -7589,8 +7360,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_EARLY_BIRD, - .ability2 = ABILITY_FLASH_FIRE, + .abilities = {ABILITY_EARLY_BIRD, ABILITY_FLASH_FIRE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, @@ -7622,8 +7392,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_SWIFT_SWIM, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SWIFT_SWIM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -7655,8 +7424,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_PICKUP, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_PICKUP, ABILITY_NONE}, .safariZoneFleeRate = 10, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -7688,8 +7456,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_STURDY, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_STURDY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -7721,8 +7488,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_MINERAL, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_TRACE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_TRACE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -7754,8 +7520,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_INTIMIDATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_INTIMIDATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -7787,8 +7552,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_OWN_TEMPO, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_OWN_TEMPO, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, @@ -7820,8 +7584,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_GUTS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_GUTS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -7853,8 +7616,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_HUMAN_LIKE, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_INTIMIDATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_INTIMIDATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -7886,8 +7648,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_OBLIVIOUS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_OBLIVIOUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -7919,8 +7680,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_STATIC, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_STATIC, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = TRUE, @@ -7952,8 +7712,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_FLAME_BODY, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_FLAME_BODY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -7985,8 +7744,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_THICK_FAT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_THICK_FAT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -8018,8 +7776,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_FAIRY, .eggGroup2 = EGG_GROUP_FAIRY, - .ability1 = ABILITY_NATURAL_CURE, - .ability2 = ABILITY_SERENE_GRACE, + .abilities = {ABILITY_NATURAL_CURE, ABILITY_SERENE_GRACE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -8051,8 +7808,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_PRESSURE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -8084,8 +7840,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_PRESSURE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -8117,8 +7872,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_PRESSURE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -8150,8 +7904,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_MONSTER, - .ability1 = ABILITY_GUTS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_GUTS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -8183,8 +7936,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_MONSTER, - .ability1 = ABILITY_SHED_SKIN, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SHED_SKIN, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -8216,8 +7968,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_MONSTER, - .ability1 = ABILITY_SAND_STREAM, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SAND_STREAM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -8249,8 +8000,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_PRESSURE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, @@ -8282,8 +8032,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_PRESSURE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -8315,8 +8064,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_NATURAL_CURE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_NATURAL_CURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -8398,8 +8146,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_OVERGROW, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_OVERGROW, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -8431,8 +8178,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_OVERGROW, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_OVERGROW, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -8464,8 +8210,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_OVERGROW, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_OVERGROW, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -8497,8 +8242,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_BLAZE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_BLAZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -8530,8 +8274,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_BLAZE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_BLAZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -8563,8 +8306,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_BLAZE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_BLAZE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -8596,8 +8338,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_WATER_1, - .ability1 = ABILITY_TORRENT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_TORRENT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -8629,8 +8370,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_WATER_1, - .ability1 = ABILITY_TORRENT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_TORRENT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -8662,8 +8402,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_WATER_1, - .ability1 = ABILITY_TORRENT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_TORRENT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -8695,8 +8434,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_RUN_AWAY, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_RUN_AWAY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -8728,8 +8466,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_INTIMIDATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_INTIMIDATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -8761,8 +8498,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_PICKUP, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_PICKUP, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -8794,8 +8530,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_PICKUP, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_PICKUP, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, @@ -8827,8 +8562,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_SHIELD_DUST, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SHIELD_DUST, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -8860,8 +8594,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_SHED_SKIN, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SHED_SKIN, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, @@ -8893,8 +8626,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_SWARM, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SWARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -8926,8 +8658,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_SHED_SKIN, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SHED_SKIN, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -8959,8 +8690,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_SHIELD_DUST, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SHIELD_DUST, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -8992,8 +8722,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_SWIFT_SWIM, - .ability2 = ABILITY_RAIN_DISH, + .abilities = {ABILITY_SWIFT_SWIM, ABILITY_RAIN_DISH}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -9025,8 +8754,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_SWIFT_SWIM, - .ability2 = ABILITY_RAIN_DISH, + .abilities = {ABILITY_SWIFT_SWIM, ABILITY_RAIN_DISH}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -9058,8 +8786,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_SWIFT_SWIM, - .ability2 = ABILITY_RAIN_DISH, + .abilities = {ABILITY_SWIFT_SWIM, ABILITY_RAIN_DISH}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -9091,8 +8818,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_CHLOROPHYLL, - .ability2 = ABILITY_EARLY_BIRD, + .abilities = {ABILITY_CHLOROPHYLL, ABILITY_EARLY_BIRD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -9124,8 +8850,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_CHLOROPHYLL, - .ability2 = ABILITY_EARLY_BIRD, + .abilities = {ABILITY_CHLOROPHYLL, ABILITY_EARLY_BIRD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -9157,8 +8882,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_CHLOROPHYLL, - .ability2 = ABILITY_EARLY_BIRD, + .abilities = {ABILITY_CHLOROPHYLL, ABILITY_EARLY_BIRD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -9190,8 +8914,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_ERRATIC, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_COMPOUND_EYES, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_COMPOUND_EYES, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -9223,8 +8946,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_ERRATIC, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_SPEED_BOOST, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SPEED_BOOST, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -9256,8 +8978,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_ERRATIC, .eggGroup1 = EGG_GROUP_MINERAL, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_WONDER_GUARD, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_WONDER_GUARD, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -9289,8 +9010,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_FLYING, - .ability1 = ABILITY_GUTS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_GUTS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -9322,8 +9042,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_FLYING, - .ability1 = ABILITY_GUTS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_GUTS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -9355,8 +9074,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FLUCTUATING, .eggGroup1 = EGG_GROUP_FAIRY, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_EFFECT_SPORE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_EFFECT_SPORE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -9388,8 +9106,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FLUCTUATING, .eggGroup1 = EGG_GROUP_FAIRY, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_EFFECT_SPORE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_EFFECT_SPORE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -9421,8 +9138,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_OWN_TEMPO, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_OWN_TEMPO, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = TRUE, @@ -9454,8 +9170,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_FLYING, - .ability1 = ABILITY_KEEN_EYE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_KEEN_EYE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, @@ -9487,8 +9202,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_FLYING, - .ability1 = ABILITY_KEEN_EYE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_KEEN_EYE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -9520,8 +9234,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_SWIFT_SWIM, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SWIFT_SWIM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -9553,8 +9266,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_INTIMIDATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_INTIMIDATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -9586,8 +9298,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FLUCTUATING, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_WATER_2, - .ability1 = ABILITY_WATER_VEIL, - .ability2 = ABILITY_OBLIVIOUS, + .abilities = {ABILITY_WATER_VEIL, ABILITY_OBLIVIOUS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -9619,8 +9330,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FLUCTUATING, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_WATER_2, - .ability1 = ABILITY_WATER_VEIL, - .ability2 = ABILITY_OBLIVIOUS, + .abilities = {ABILITY_WATER_VEIL, ABILITY_OBLIVIOUS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -9652,8 +9362,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FAIRY, - .ability1 = ABILITY_CUTE_CHARM, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CUTE_CHARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -9685,8 +9394,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FAIRY, - .ability1 = ABILITY_CUTE_CHARM, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CUTE_CHARM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -9718,8 +9426,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_COLOR_CHANGE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_COLOR_CHANGE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -9751,8 +9458,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_MINERAL, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_LEVITATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -9784,8 +9490,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_MINERAL, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_LEVITATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, @@ -9817,8 +9522,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_MINERAL, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_STURDY, - .ability2 = ABILITY_MAGNET_PULL, + .abilities = {ABILITY_STURDY, ABILITY_MAGNET_PULL}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -9850,8 +9554,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_WHITE_SMOKE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_WHITE_SMOKE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -9883,8 +9586,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_HUMAN_LIKE, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_KEEN_EYE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_KEEN_EYE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -9916,8 +9618,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_2, .eggGroup2 = EGG_GROUP_WATER_2, - .ability1 = ABILITY_OBLIVIOUS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_OBLIVIOUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -9949,8 +9650,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_WATER_2, .eggGroup2 = EGG_GROUP_WATER_2, - .ability1 = ABILITY_OBLIVIOUS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_OBLIVIOUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -9982,8 +9682,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_WATER_2, .eggGroup2 = EGG_GROUP_WATER_2, - .ability1 = ABILITY_SWIFT_SWIM, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SWIFT_SWIM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -10015,8 +9714,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FLUCTUATING, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_WATER_3, - .ability1 = ABILITY_HYPER_CUTTER, - .ability2 = ABILITY_SHELL_ARMOR, + .abilities = {ABILITY_HYPER_CUTTER, ABILITY_SHELL_ARMOR}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -10048,8 +9746,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FLUCTUATING, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_WATER_3, - .ability1 = ABILITY_HYPER_CUTTER, - .ability2 = ABILITY_SHELL_ARMOR, + .abilities = {ABILITY_HYPER_CUTTER, ABILITY_SHELL_ARMOR}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -10081,8 +9778,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_ERRATIC, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_SWIFT_SWIM, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SWIFT_SWIM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -10114,8 +9810,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_ERRATIC, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_MARVEL_SCALE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_MARVEL_SCALE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -10147,8 +9842,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_WATER_2, .eggGroup2 = EGG_GROUP_WATER_2, - .ability1 = ABILITY_ROUGH_SKIN, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_ROUGH_SKIN, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -10180,8 +9874,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_WATER_2, .eggGroup2 = EGG_GROUP_WATER_2, - .ability1 = ABILITY_ROUGH_SKIN, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_ROUGH_SKIN, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -10213,8 +9906,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_HYPER_CUTTER, - .ability2 = ABILITY_ARENA_TRAP, + .abilities = {ABILITY_HYPER_CUTTER, ABILITY_ARENA_TRAP}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -10246,8 +9938,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_LEVITATE, - .ability2 = ABILITY_LEVITATE, + .abilities = {ABILITY_LEVITATE, ABILITY_LEVITATE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -10279,8 +9970,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_BUG, - .ability1 = ABILITY_LEVITATE, - .ability2 = ABILITY_LEVITATE, + .abilities = {ABILITY_LEVITATE, ABILITY_LEVITATE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -10312,8 +10002,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FLUCTUATING, .eggGroup1 = EGG_GROUP_HUMAN_LIKE, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_THICK_FAT, - .ability2 = ABILITY_GUTS, + .abilities = {ABILITY_THICK_FAT, ABILITY_GUTS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -10345,8 +10034,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FLUCTUATING, .eggGroup1 = EGG_GROUP_HUMAN_LIKE, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_THICK_FAT, - .ability2 = ABILITY_GUTS, + .abilities = {ABILITY_THICK_FAT, ABILITY_GUTS}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -10378,8 +10066,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_STATIC, - .ability2 = ABILITY_LIGHTNING_ROD, + .abilities = {ABILITY_STATIC, ABILITY_LIGHTNING_ROD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -10411,8 +10098,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_STATIC, - .ability2 = ABILITY_LIGHTNING_ROD, + .abilities = {ABILITY_STATIC, ABILITY_LIGHTNING_ROD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -10444,8 +10130,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_OBLIVIOUS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_OBLIVIOUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -10477,8 +10162,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_MAGMA_ARMOR, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_MAGMA_ARMOR, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -10510,8 +10194,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_THICK_FAT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_THICK_FAT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -10543,8 +10226,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_THICK_FAT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_THICK_FAT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -10576,8 +10258,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_THICK_FAT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_THICK_FAT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -10609,8 +10290,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_GRASS, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_SAND_VEIL, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SAND_VEIL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -10642,8 +10322,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_GRASS, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_SAND_VEIL, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SAND_VEIL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -10675,8 +10354,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FAIRY, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_INNER_FOCUS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_INNER_FOCUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -10708,8 +10386,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FAIRY, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_INNER_FOCUS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_INNER_FOCUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -10741,8 +10418,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_MINERAL, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_LEVITATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -10774,8 +10450,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_MINERAL, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_LEVITATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -10807,8 +10482,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_THICK_FAT, - .ability2 = ABILITY_HUGE_POWER, + .abilities = {ABILITY_THICK_FAT, ABILITY_HUGE_POWER}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -10840,8 +10514,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_THICK_FAT, - .ability2 = ABILITY_OWN_TEMPO, + .abilities = {ABILITY_THICK_FAT, ABILITY_OWN_TEMPO}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, @@ -10873,8 +10546,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_THICK_FAT, - .ability2 = ABILITY_OWN_TEMPO, + .abilities = {ABILITY_THICK_FAT, ABILITY_OWN_TEMPO}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -10906,8 +10578,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FAIRY, .eggGroup2 = EGG_GROUP_FAIRY, - .ability1 = ABILITY_PLUS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_PLUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -10939,8 +10610,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FAIRY, .eggGroup2 = EGG_GROUP_FAIRY, - .ability1 = ABILITY_MINUS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_MINUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -10972,8 +10642,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FAIRY, - .ability1 = ABILITY_HYPER_CUTTER, - .ability2 = ABILITY_INTIMIDATE, + .abilities = {ABILITY_HYPER_CUTTER, ABILITY_INTIMIDATE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, @@ -11005,8 +10674,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_HUMAN_LIKE, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_PURE_POWER, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_PURE_POWER, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -11038,8 +10706,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_HUMAN_LIKE, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_PURE_POWER, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_PURE_POWER, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -11071,8 +10738,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_ERRATIC, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_NATURAL_CURE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_NATURAL_CURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -11104,8 +10770,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_ERRATIC, .eggGroup1 = EGG_GROUP_FLYING, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_NATURAL_CURE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_NATURAL_CURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -11137,8 +10802,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_SHADOW_TAG, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SHADOW_TAG, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -11170,8 +10834,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_AMORPHOUS, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_LEVITATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, @@ -11203,8 +10866,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_AMORPHOUS, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_PRESSURE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, @@ -11236,8 +10898,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FAIRY, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_NATURAL_CURE, - .ability2 = ABILITY_POISON_POINT, + .abilities = {ABILITY_NATURAL_CURE, ABILITY_POISON_POINT}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = TRUE, @@ -11269,8 +10930,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_TRUANT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_TRUANT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -11302,8 +10962,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_VITAL_SPIRIT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_VITAL_SPIRIT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, @@ -11335,8 +10994,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_TRUANT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_TRUANT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -11368,8 +11026,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FLUCTUATING, .eggGroup1 = EGG_GROUP_AMORPHOUS, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_LIQUID_OOZE, - .ability2 = ABILITY_STICKY_HOLD, + .abilities = {ABILITY_LIQUID_OOZE, ABILITY_STICKY_HOLD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -11401,8 +11058,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FLUCTUATING, .eggGroup1 = EGG_GROUP_AMORPHOUS, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_LIQUID_OOZE, - .ability2 = ABILITY_STICKY_HOLD, + .abilities = {ABILITY_LIQUID_OOZE, ABILITY_STICKY_HOLD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -11434,8 +11090,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_GRASS, - .ability1 = ABILITY_CHLOROPHYLL, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -11467,8 +11122,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_SOUNDPROOF, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SOUNDPROOF, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -11500,8 +11154,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_SOUNDPROOF, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SOUNDPROOF, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -11533,8 +11186,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_SOUNDPROOF, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SOUNDPROOF, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -11566,8 +11218,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_ERRATIC, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_WATER_1, - .ability1 = ABILITY_SHELL_ARMOR, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SHELL_ARMOR, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -11599,8 +11250,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_ERRATIC, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_WATER_1, - .ability1 = ABILITY_SWIFT_SWIM, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SWIFT_SWIM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -11632,8 +11282,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_ERRATIC, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_WATER_1, - .ability1 = ABILITY_SWIFT_SWIM, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SWIFT_SWIM, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PINK, .noFlip = FALSE, @@ -11665,8 +11314,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_SLOW, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_PRESSURE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, .noFlip = TRUE, @@ -11698,8 +11346,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_AMORPHOUS, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_INSOMNIA, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_INSOMNIA, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, @@ -11731,8 +11378,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_AMORPHOUS, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_INSOMNIA, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_INSOMNIA, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, @@ -11764,8 +11410,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FLUCTUATING, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_SHED_SKIN, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SHED_SKIN, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLACK, .noFlip = TRUE, @@ -11797,8 +11442,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_ERRATIC, .eggGroup1 = EGG_GROUP_FIELD, .eggGroup2 = EGG_GROUP_FIELD, - .ability1 = ABILITY_IMMUNITY, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_IMMUNITY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, .noFlip = TRUE, @@ -11830,8 +11474,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_WATER_1, .eggGroup2 = EGG_GROUP_WATER_2, - .ability1 = ABILITY_SWIFT_SWIM, - .ability2 = ABILITY_ROCK_HEAD, + .abilities = {ABILITY_SWIFT_SWIM, ABILITY_ROCK_HEAD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -11863,8 +11506,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_MONSTER, - .ability1 = ABILITY_STURDY, - .ability2 = ABILITY_ROCK_HEAD, + .abilities = {ABILITY_STURDY, ABILITY_ROCK_HEAD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -11896,8 +11538,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_MONSTER, - .ability1 = ABILITY_STURDY, - .ability2 = ABILITY_ROCK_HEAD, + .abilities = {ABILITY_STURDY, ABILITY_ROCK_HEAD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -11929,8 +11570,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_MONSTER, .eggGroup2 = EGG_GROUP_MONSTER, - .ability1 = ABILITY_STURDY, - .ability2 = ABILITY_ROCK_HEAD, + .abilities = {ABILITY_STURDY, ABILITY_ROCK_HEAD}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -11962,8 +11602,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_MEDIUM_FAST, .eggGroup1 = EGG_GROUP_FAIRY, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_FORECAST, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_FORECAST, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, @@ -11995,8 +11634,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_ERRATIC, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_ILLUMINATE, - .ability2 = ABILITY_SWARM, + .abilities = {ABILITY_ILLUMINATE, ABILITY_SWARM}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -12028,8 +11666,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FLUCTUATING, .eggGroup1 = EGG_GROUP_BUG, .eggGroup2 = EGG_GROUP_HUMAN_LIKE, - .ability1 = ABILITY_OBLIVIOUS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_OBLIVIOUS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -12061,8 +11698,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_ERRATIC, .eggGroup1 = EGG_GROUP_WATER_3, .eggGroup2 = EGG_GROUP_WATER_3, - .ability1 = ABILITY_SUCTION_CUPS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SUCTION_CUPS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, @@ -12094,8 +11730,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_ERRATIC, .eggGroup1 = EGG_GROUP_WATER_3, .eggGroup2 = EGG_GROUP_WATER_3, - .ability1 = ABILITY_SUCTION_CUPS, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SUCTION_CUPS, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -12127,8 +11762,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_ERRATIC, .eggGroup1 = EGG_GROUP_WATER_3, .eggGroup2 = EGG_GROUP_WATER_3, - .ability1 = ABILITY_BATTLE_ARMOR, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_BATTLE_ARMOR, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -12160,8 +11794,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_ERRATIC, .eggGroup1 = EGG_GROUP_WATER_3, .eggGroup2 = EGG_GROUP_WATER_3, - .ability1 = ABILITY_BATTLE_ARMOR, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_BATTLE_ARMOR, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -12193,8 +11826,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_AMORPHOUS, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_SYNCHRONIZE, - .ability2 = ABILITY_TRACE, + .abilities = {ABILITY_SYNCHRONIZE, ABILITY_TRACE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, @@ -12226,8 +11858,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_AMORPHOUS, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_SYNCHRONIZE, - .ability2 = ABILITY_TRACE, + .abilities = {ABILITY_SYNCHRONIZE, ABILITY_TRACE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, @@ -12259,8 +11890,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_AMORPHOUS, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_SYNCHRONIZE, - .ability2 = ABILITY_TRACE, + .abilities = {ABILITY_SYNCHRONIZE, ABILITY_TRACE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, @@ -12292,8 +11922,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_DRAGON, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_ROCK_HEAD, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_ROCK_HEAD, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -12325,8 +11954,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_DRAGON, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_ROCK_HEAD, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_ROCK_HEAD, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, @@ -12358,8 +11986,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_DRAGON, .eggGroup2 = EGG_GROUP_DRAGON, - .ability1 = ABILITY_INTIMIDATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_INTIMIDATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -12391,8 +12018,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_MINERAL, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_CLEAR_BODY, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CLEAR_BODY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -12424,8 +12050,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_MINERAL, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_CLEAR_BODY, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CLEAR_BODY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -12457,8 +12082,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_MINERAL, .eggGroup2 = EGG_GROUP_MINERAL, - .ability1 = ABILITY_CLEAR_BODY, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CLEAR_BODY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -12490,8 +12114,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_CLEAR_BODY, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CLEAR_BODY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, @@ -12523,8 +12146,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_CLEAR_BODY, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CLEAR_BODY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -12556,8 +12178,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_CLEAR_BODY, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_CLEAR_BODY, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, @@ -12589,8 +12210,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_DRIZZLE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_DRIZZLE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -12622,8 +12242,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_DROUGHT, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_DROUGHT, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -12655,8 +12274,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_AIR_LOCK, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_AIR_LOCK, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, @@ -12688,8 +12306,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_LEVITATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, @@ -12721,8 +12338,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_LEVITATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, @@ -12754,8 +12370,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_SERENE_GRACE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_SERENE_GRACE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, @@ -12787,8 +12402,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_SLOW, .eggGroup1 = EGG_GROUP_UNDISCOVERED, .eggGroup2 = EGG_GROUP_UNDISCOVERED, - .ability1 = ABILITY_PRESSURE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_PRESSURE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_RED, .noFlip = TRUE, @@ -12820,8 +12434,7 @@ const struct BaseStats gBaseStats[] = .growthRate = GROWTH_FAST, .eggGroup1 = EGG_GROUP_AMORPHOUS, .eggGroup2 = EGG_GROUP_AMORPHOUS, - .ability1 = ABILITY_LEVITATE, - .ability2 = ABILITY_NONE, + .abilities = {ABILITY_LEVITATE, ABILITY_NONE}, .safariZoneFleeRate = 0, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, diff --git a/src/field_specials.c b/src/field_specials.c index 8bd990063..dd1ae2213 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -1433,7 +1433,7 @@ void PutZigzagoonInPlayerParty(void) u16 monData; CreateMon(&gPlayerParty[0], SPECIES_ZIGZAGOON, 7, 0x20, FALSE, 0, FALSE, 0); monData = TRUE; - SetMonData(&gPlayerParty[0], MON_DATA_ALT_ABILITY, &monData); + SetMonData(&gPlayerParty[0], MON_DATA_ABILITY_NUM, &monData); monData = MOVE_TACKLE; SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, &monData); monData = MOVE_NONE; diff --git a/src/fldeff_softboiled.c b/src/fldeff_softboiled.c index eca7d045b..c18602c68 100644 --- a/src/fldeff_softboiled.c +++ b/src/fldeff_softboiled.c @@ -32,7 +32,7 @@ bool8 SetUpFieldMove_SoftBoiled(void) void sub_8161560(u8 taskId) { gUnknown_0203CEC8.unkB = 0xA; - gUnknown_0203CEC8.unkA = gUnknown_0203CEC8.unk9; + gUnknown_0203CEC8.unkA = gUnknown_0203CEC8.slotId; sub_81B0FCC(GetCursorSelectionMonId(), 0x1); display_pokemon_menu_message(0x5); gTasks[taskId].func = sub_81B1370; @@ -42,7 +42,7 @@ void sub_81615A8(u8 taskId) { u16 hp; - u8 unk9 = gUnknown_0203CEC8.unk9; + u8 slotId = gUnknown_0203CEC8.slotId; u8 pokemonIndex = gUnknown_0203CEC8.unkA; if(pokemonIndex > 6) { @@ -53,20 +53,20 @@ void sub_81615A8(u8 taskId) } hp = GetMonData(&gPlayerParty[pokemonIndex], MON_DATA_HP); - if(hp == 0 || unk9 == pokemonIndex || GetMonData(&gPlayerParty[pokemonIndex], MON_DATA_MAX_HP) == hp) + if(hp == 0 || slotId == pokemonIndex || GetMonData(&gPlayerParty[pokemonIndex], MON_DATA_MAX_HP) == hp) { sub_81617B8(taskId); return; } PlaySE(SE_KAIFUKU); - sub_81B1F18(taskId, unk9, -1, GetMonData(&gPlayerParty[unk9], MON_DATA_MAX_HP)/5, sub_816166C); + sub_81B1F18(taskId, slotId, -1, GetMonData(&gPlayerParty[slotId], MON_DATA_MAX_HP)/5, sub_816166C); } static void sub_816166C(u8 taskId) { PlaySE(SE_KAIFUKU); - sub_81B1F18(taskId, gUnknown_0203CEC8.unkA, 1, GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_MAX_HP)/5, sub_81616C0); + sub_81B1F18(taskId, gUnknown_0203CEC8.unkA, 1, GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_MAX_HP)/5, sub_81616C0); } static void sub_81616C0(u8 taskId) @@ -83,8 +83,8 @@ static void sub_8161724(u8 taskId) if(sub_81B1BD4() == 1) return; gUnknown_0203CEC8.unkB = 0x0; - sub_81B0FCC(gUnknown_0203CEC8.unk9, 0); - gUnknown_0203CEC8.unk9 = gUnknown_0203CEC8.unkA; + sub_81B0FCC(gUnknown_0203CEC8.slotId, 0); + gUnknown_0203CEC8.slotId = gUnknown_0203CEC8.unkA; sub_81B0FCC(gUnknown_0203CEC8.unkA, 1); ClearStdWindowAndFrameToTransparent(0x6, FALSE); ClearWindowTilemap(0x6); diff --git a/src/match_call.c b/src/match_call.c index 6221affe1..b02af9977 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -2012,4 +2012,4 @@ void sub_8197184(u32 windowId, u32 destOffset, u32 paletteId) void sub_81971C4(u32 windowId, u32 tileOffset, u32 paletteId) { DrawMatchCallTextBoxBorder(windowId, tileOffset, paletteId); -} \ No newline at end of file +} diff --git a/src/party_menu.c b/src/party_menu.c index cf64ed210..6792eaada 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -97,16 +97,16 @@ struct Unk_Rodata1 struct Struct203CEC4 { - TaskFunc unk0; + TaskFunc task; MainCallback exitCallback; u32 unk8_0:1; u32 unk8_1:3; u32 unk8_2:7; u32 unk9_0:7; - u32 unkA_0:14; - u8 unkC[3]; - u8 unkF[8]; - u8 unk17; + u32 messageId:14; + u8 windowId[3]; + u8 actions[8]; + u8 listSize; u16 palBuffer[0xB0]; u8 filler[0xA0]; s16 data[16]; @@ -117,10 +117,10 @@ struct Struct203CEDC const struct Unk_Rodata1 *unk0; const u8 *unk4; u8 windowId; - u8 unk9; - u8 unkA; - u8 unkB; - u8 unkC; + u8 monSpriteId; + u8 itemSpriteId; + u8 pokeballSpriteId; + u8 statusSpriteId; }; // EWRAM vars @@ -162,7 +162,7 @@ static void FreePartyPointers(void); static void PartyPaletteBufferCopy(u8); static void sub_81B0CEC(u8); static void UpdateSelectedPartyBox(struct Struct203CEDC *, u8); -static void sub_81B2720(u8); +static void DrawEmptySlot(u8 windowId); static void DisplayPartyPokemonSelectForRelearner(u8); static void DisplayPartyPokemonSelectForContest(u8); static void DisplayPartyPokemonSelectForBattle(u8); @@ -244,7 +244,7 @@ static void sub_81B227C(u8); static bool8 CanLearnTutorMove(u16, u8); static u16 GetTutorMove(u8); static bool8 sub_81B314C(void); -static void sub_81B3414(struct Pokemon*, u8); +static void CreateActionList(struct Pokemon*, u8); static u8 sub_81B8A2C(struct Pokemon*); static u8 sub_81B856C(s8); static void sub_81B469C(u8); @@ -292,7 +292,7 @@ static void UpdatePartyMonIconFrame(struct Sprite*); static void UpdatePartyMonIconFrameAndBounce(struct Sprite*); static void sub_81B5CB0(u16, struct Struct203CEDC*); static void sub_81B5DF0(u8, u8); -static void sub_81B5E74(struct Sprite*); +static void SpriteCB_HeldItem(struct Sprite*); static void party_menu_get_status_condition_and_update_object(struct Pokemon*, struct Struct203CEDC*); static void party_menu_update_status_condition_object(u8, struct Struct203CEDC*); static u8 sub_81B8984(void); @@ -470,7 +470,7 @@ static const u8 gUnknown_08615704[][6][8] = static const u32 gUnknown_086157C4[] = INCBIN_U32("graphics/interface/unknown_6157C4.bin"); static const u32 gUnknown_086157E0[] = INCBIN_U32("graphics/interface/unknown_6157E0.bin"); -static const u8 gUnknown_086157FC[][3] = +static const u8 sFontColorTable[][3] = { {0, 3, 2}, {0, 1, 6}, @@ -921,11 +921,33 @@ static const struct WindowTemplate gUnknown_08615980 = .baseBlock = 0x39D, }; -static const u8 gUnknown_08615988[] = {24, 25, 25, 25, 25, 25, 25, 25, 25, 26, 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, 40, 59, 60, 58, 58, 58, 58, 58, 58, 61, 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, 46, 47, 47, 47, 47, 47, 47, 47, 47, 48}; -static const u8 gUnknown_086159CE[] = {24, 25, 25, 25, 25, 25, 25, 25, 25, 26, 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, 40, 41, 41, 41, 41, 41, 41, 41, 41, 42, 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, 46, 47, 47, 47, 47, 47, 47, 47, 47, 48}; -static const u8 gUnknown_08615A14[] = {43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 49, 33, 33, 33, 33, 33, 33, 33, 33, 52, 53, 51, 51, 51, 51, 51, 51, 54, 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57}; -static const u8 gUnknown_08615A4A[] = {43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 49, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 50, 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57}; -static const u8 gUnknown_08615A80[] = {21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 37, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 39}; +static const u8 sMainSlotTileNums[] = {24, 25, 25, 25, 25, 25, 25, 25, 25, 26, + 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, + 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, + 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, + 40, 59, 60, 58, 58, 58, 58, 58, 58, 61, + 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, + 46, 47, 47, 47, 47, 47, 47, 47, 47, 48}; + +static const u8 sMainSlotTileNums_Egg[] = {24, 25, 25, 25, 25, 25, 25, 25, 25, 26, + 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, + 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, + 32, 33, 33, 33, 33, 33, 33, 33, 33, 34, + 40, 41, 41, 41, 41, 41, 41, 41, 41, 42, + 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, + 46, 47, 47, 47, 47, 47, 47, 47, 47, 48}; + +static const u8 sOtherSlotsTileNums[] = {43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, + 49, 33, 33, 33, 33, 33, 33, 33, 33, 52, 53, 51, 51, 51, 51, 51, 51, 54, + 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57}; + +static const u8 sOtherSlotsTileNums_Egg[] = {43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, + 49, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 50, + 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57}; + +static const u8 sEmptySlotTileNums[] = {21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, + 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, + 37, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 39}; static const u8 gUnknown_08615AB6[] = {11, 12}; static const u8 gUnknown_08615AB8[] = {9, 10}; static const u8 gUnknown_08615ABA[] = {4, 5, 6}; @@ -950,52 +972,52 @@ static const u8 gUnknown_08615AEB[] = {97, 103, 104}; static const u8 gUnknown_08615AEE[] = {161, 167, 168}; static const u8 gUnknown_08615AF1[] = {17, 27, 28}; -static const u8 *const gUnknown_08615AF4[] = +static const u8 *const sActionStringTable[] = { - gUnknown_085E9E43, - gUnknown_085EA010, - gUnknown_085EA02A, - gUnknown_085E9E55, - gUnknown_085E9E64, - gUnknown_085E9E79, - gUnknown_085E9E8F, - gUnknown_085E9EBC, - gUnknown_085E9ED4, - gUnknown_085E9EE9, - gUnknown_085E9FDB, - gUnknown_085EA046, - gUnknown_085EA05B, - gUnknown_085E9F01, - gUnknown_085E9F58, - gUnknown_085E9F6F, - gUnknown_085E9F81, - gUnknown_085E9F90, - gUnknown_085E9FA7, - gUnknown_085E9FC2, + gText_ChoosePokemon, + gText_ChoosePokemonCancel, + gText_ChoosePokemonConfirm, + gText_MoveToWhere, + gText_TeachWhichPokemon, + gText_UseOnWhichPokemon, + gText_GiveToWhichPokemon, + gText_NothingToCut, + gText_CantSurfHere, + gText_AlreadySurfing, + gText_CurrentIsTooFast, + gText_EnjoyCycling, + gText_InUseAlready_PM, + gText_CantUseHere, + gText_NoPokemonForBattle, + gText_ChoosePokemon2, + gText_NotEnoughHp, + gText_PokemonAreNeeded, + gText_PokemonCantBeSame, + gText_NoIdenticalHoldItems, gText_EmptyString2, - gUnknown_085E9EA6, - gUnknown_085E9F16, - gUnknown_085E9F2A, - gUnknown_085E9F42, - gUnknown_085E9FF9, - gUnknown_085EA073, + gText_DoWhatWithPokemon, + gText_RestoreWhichMove, + gText_BoostPp, + gText_DoWhatWithItem, + gText_DoWhatWithMail, + gText_AlreadyHoldingOne, }; -static const u8 *const gUnknown_08615B60[] = +static const u8 *const sSelectionStringTable[] = { - gUnknown_085EA091, - gUnknown_085EA099, - gUnknown_085EA09E, - gUnknown_085EA0A4, - gUnknown_085EA0AB, - gUnknown_085EA0E7, - gUnknown_085EA0B1, - gUnknown_085EA0B6, - gUnknown_085EA0BF, - gUnknown_085EA0C5, - gUnknown_085EA0CF, - gUnknown_085EA0D7, - gUnknown_085EA0DC, + gText_NoUse, + gText_Able, + gText_First_PM, + gText_Second_PM, + gText_Third_PM, + gText_Fourth, + gText_Able2, + gText_NotAble, + gText_Able3, + gText_NotAble2, + gText_Learned, + gText_Have, + gText_DontHave, }; // Unknown unused data. Feel free to remove. @@ -1093,21 +1115,21 @@ struct [MENU_FIELD_MOVES + FIELD_MOVE_SWEET_SCENT] = {gMoveNames[MOVE_SWEET_SCENT], CursorCb_FieldMove}, }; -static const u8 gUnknown_08615D10[] = {0, 1, 2}; -static const u8 gUnknown_08615D13[] = {10, 0, 2}; -static const u8 gUnknown_08615D16[] = {11, 0, 2}; -static const u8 gUnknown_08615D19[] = {0, 2}; -static const u8 gUnknown_08615D1B[] = {12, 0, 2}; -static const u8 gUnknown_08615D1E[] = {13, 0, 2}; -static const u8 gUnknown_08615D21[] = {14, 0, 2}; -static const u8 gUnknown_08615D24[] = {4, 5, 9}; -static const u8 gUnknown_08615D27[] = {8, 7, 9}; -static const u8 gUnknown_08615D2A[] = {15, 0, 2}; -static const u8 gUnknown_08615D2D[] = {16, 0, 2}; -static const u8 gUnknown_08615D30[] = {17, 0, 2}; -static const u8 gUnknown_08615D33[] = {5, 18, 2}; +static const u8 gUnknown_08615D10[] = {MENU_SUMMARY, MENU_SWITCH, MENU_CANCEL1}; +static const u8 gUnknown_08615D13[] = {MENU_SHIFT, MENU_SUMMARY, MENU_CANCEL1}; +static const u8 gUnknown_08615D16[] = {MENU_SEND_OUT, MENU_SUMMARY, MENU_CANCEL1}; +static const u8 gUnknown_08615D19[] = {MENU_SUMMARY, MENU_CANCEL1}; +static const u8 gUnknown_08615D1B[] = {MENU_ENTER, MENU_SUMMARY, MENU_CANCEL1}; +static const u8 gUnknown_08615D1E[] = {MENU_NO_ENTRY, MENU_SUMMARY, MENU_CANCEL1}; +static const u8 gUnknown_08615D21[] = {MENU_STORE, MENU_SUMMARY, MENU_CANCEL1}; +static const u8 gUnknown_08615D24[] = {MENU_GIVE, MENU_TAKE_ITEM, MENU_CANCEL2}; +static const u8 gUnknown_08615D27[] = {MENU_READ, MENU_TAKE_MAIL, MENU_CANCEL2}; +static const u8 gUnknown_08615D2A[] = {MENU_REGISTER, MENU_SUMMARY, MENU_CANCEL1}; +static const u8 gUnknown_08615D2D[] = {MENU_TRADE1, MENU_SUMMARY, MENU_CANCEL1}; +static const u8 gUnknown_08615D30[] = {MENU_TRADE2, MENU_SUMMARY, MENU_CANCEL1}; +static const u8 gUnknown_08615D33[] = {MENU_TAKE_ITEM, MENU_TOSS, MENU_CANCEL1}; -static const u8 *const gUnknown_08615D38[] = +static const u8 *const sActionTable[] = { NULL, gUnknown_08615D10, @@ -1125,7 +1147,23 @@ static const u8 *const gUnknown_08615D38[] = gUnknown_08615D33, }; -static const u8 gUnknown_08615D70[] = {0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03}; +static const u8 sListSizeTable[] = +{ + 0x00, + ARRAY_COUNT(gUnknown_08615D10), + ARRAY_COUNT(gUnknown_08615D13), + ARRAY_COUNT(gUnknown_08615D16), + ARRAY_COUNT(gUnknown_08615D1B), + ARRAY_COUNT(gUnknown_08615D1E), + ARRAY_COUNT(gUnknown_08615D21), + ARRAY_COUNT(gUnknown_08615D19), + ARRAY_COUNT(gUnknown_08615D24), + ARRAY_COUNT(gUnknown_08615D27), + ARRAY_COUNT(gUnknown_08615D2A), + ARRAY_COUNT(gUnknown_08615D2D), + ARRAY_COUNT(gUnknown_08615D30), + ARRAY_COUNT(gUnknown_08615D33) +}; static const u16 sFieldMoves[] = { @@ -1168,10 +1206,10 @@ static const u8 *const gUnknown_08615E0C[] = gText_CantTradeWithTrainer, }; -static const u32 gUnknown_08615E30[] = INCBIN_U32("graphics/interface/hold_icons.4bpp"); -static const u16 gUnknown_08615E70[] = INCBIN_U16("graphics/interface/hold_icons.gbapal"); +static const u32 sHeldItemGfx[] = INCBIN_U32("graphics/interface/hold_icons.4bpp"); +static const u16 sHeldItemPalette[] = INCBIN_U16("graphics/interface/hold_icons.gbapal"); -static const struct OamData gOamData_83765EC = +static const struct OamData sOamData_HeldItem = { .y = 0, .affineMode = 0, @@ -1188,46 +1226,46 @@ static const struct OamData gOamData_83765EC = .affineParam = 0, }; -static const union AnimCmd gSpriteAnim_83765F4[] = +static const union AnimCmd sSpriteAnim_HeldItem[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END }; -static const union AnimCmd gSpriteAnim_83765FC[] = +static const union AnimCmd sSpriteAnim_HeldMail[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END }; -static const union AnimCmd *const gSpriteAnimTable_8376604[] = +static const union AnimCmd *const sSpriteAnimTable_HeldItem[] = { - gSpriteAnim_83765F4, - gSpriteAnim_83765FC, + sSpriteAnim_HeldItem, + sSpriteAnim_HeldMail, }; -static const struct SpriteSheet gUnknown_08615EB0 = +static const struct SpriteSheet sSpriteSheet_HeldItem = { - gUnknown_08615E30, sizeof(gUnknown_08615E30), 0xd750 + sHeldItemGfx, sizeof(sHeldItemGfx), 0xd750 }; -static const struct SpritePalette gUnknown_08615EB8 = +static const struct SpritePalette sSpritePalette_HeldItem = { - gUnknown_08615E70, 0xd750 + sHeldItemPalette, 0xd750 }; -static const struct SpriteTemplate gSpriteTemplate_8615EC0 = +static const struct SpriteTemplate sSpriteTemplate_HeldItem = { 0xd750, 0xd750, - &gOamData_83765EC, - gSpriteAnimTable_8376604, + &sOamData_HeldItem, + sSpriteAnimTable_HeldItem, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -static const struct OamData sOamData_8615ED8 = +static const struct OamData sOamData_MenuPokeball = { .y = 0, .affineMode = 0, @@ -1244,40 +1282,40 @@ static const struct OamData sOamData_8615ED8 = .affineParam = 0 }; -static const union AnimCmd sSpriteAnim_8615EE0[] = +static const union AnimCmd sPokeballAnim_Closed[] = { ANIMCMD_FRAME(0, 0), ANIMCMD_END }; -static const union AnimCmd sSpriteAnim_8615EE8[] = +static const union AnimCmd sPokeballAnim_Open[] = { ANIMCMD_FRAME(16, 0), ANIMCMD_END }; -static const union AnimCmd *const sSpriteAnimTable_8615EF0[] = +static const union AnimCmd *const sSpriteAnimTable_Pokeball[] = { - sSpriteAnim_8615EE0, - sSpriteAnim_8615EE8 + sPokeballAnim_Closed, + sPokeballAnim_Open }; -static const struct CompressedSpriteSheet gUnknown_08615EF8 = +static const struct CompressedSpriteSheet sSpriteSheet_MenuPokeball = { gPartyMenuPokeball_Gfx, 0x400, 0x04b0 }; -static const struct CompressedSpritePalette gUnknown_08615F00 = +static const struct CompressedSpritePalette sSpritePalette_MenuPokeball = { gPartyMenuPokeball_Pal, 0x04b0 }; -static const struct SpriteTemplate gSpriteTemplate_8615F08 = +static const struct SpriteTemplate sSpriteTemplate_MenuPokeball = { .tileTag = 0x04b0, .paletteTag = 0x04b0, - .oam = &sOamData_8615ED8, - .anims = sSpriteAnimTable_8615EF0, + .oam = &sOamData_MenuPokeball, + .anims = sSpriteAnimTable_Pokeball, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, @@ -1346,7 +1384,7 @@ static const union AnimCmd *const sSpriteAnimTable_8615F58[] = sSpriteAnim_8615F50 }; -static const struct CompressedSpriteSheet gUnknown_08615F70 = +static const struct CompressedSpriteSheet sSpriteSheet_MenuPokeballSmall = { gPartyMenuPokeballSmall_Gfx, 0x0300, 0x04b1 }; @@ -1362,7 +1400,7 @@ static const struct SpriteTemplate gSpriteTemplate_8615F78 = .callback = SpriteCallbackDummy, }; -static const struct OamData sOamData_8615F90 = +static const struct OamData sOamData_StatusCondition = { .y = 0, .affineMode = 0, @@ -1379,82 +1417,82 @@ static const struct OamData sOamData_8615F90 = .affineParam = 0 }; -static const union AnimCmd sSpriteAnim_8615F98[] = +static const union AnimCmd sSpriteAnim_StatusPoison[] = { ANIMCMD_FRAME(0, 0), ANIMCMD_END }; -static const union AnimCmd sSpriteAnim_8615FA0[] = +static const union AnimCmd sSpriteAnim_StatusParalyzed[] = { ANIMCMD_FRAME(4, 0), ANIMCMD_END }; -static const union AnimCmd sSpriteAnim_8615FA8[] = +static const union AnimCmd sSpriteAnim_StatusSleep[] = { ANIMCMD_FRAME(8, 0), ANIMCMD_END }; -static const union AnimCmd sSpriteAnim_8615FB0[] = +static const union AnimCmd sSpriteAnim_StatusFrozen[] = { ANIMCMD_FRAME(12, 0), ANIMCMD_END }; -static const union AnimCmd sSpriteAnim_8615FB8[] = +static const union AnimCmd sSpriteAnim_StatusBurn[] = { ANIMCMD_FRAME(16, 0), ANIMCMD_END }; -static const union AnimCmd sSpriteAnim_8615FC0[] = +static const union AnimCmd sSpriteAnim_StatusPokerus[] = { ANIMCMD_FRAME(20, 0), ANIMCMD_END }; -static const union AnimCmd sSpriteAnim_8615FC8[] = +static const union AnimCmd sSpriteAnim_StatusFaint[] = { ANIMCMD_FRAME(24, 0), ANIMCMD_END }; -static const union AnimCmd sSpriteAnim_8615FD0[] = +static const union AnimCmd sSpriteAnim_Blank[] = { ANIMCMD_FRAME(28, 0), ANIMCMD_END }; -static const union AnimCmd *const sSpriteAnimTable_8615FD8[] = +static const union AnimCmd *const sSpriteTemplate_StatusCondition[] = { - sSpriteAnim_8615F98, - sSpriteAnim_8615FA0, - sSpriteAnim_8615FA8, - sSpriteAnim_8615FB0, - sSpriteAnim_8615FB8, - sSpriteAnim_8615FC0, - sSpriteAnim_8615FC8, - sSpriteAnim_8615FD0 + sSpriteAnim_StatusPoison, + sSpriteAnim_StatusParalyzed, + sSpriteAnim_StatusSleep, + sSpriteAnim_StatusFrozen, + sSpriteAnim_StatusBurn, + sSpriteAnim_StatusPokerus, + sSpriteAnim_StatusFaint, + sSpriteAnim_Blank }; -static const struct CompressedSpriteSheet gUnknown_08615FF8 = +static const struct CompressedSpriteSheet sSpriteSheet_StatusIcons = { gStatusGfx_Icons, 0x400, 1202 }; -static const struct CompressedSpritePalette gUnknown_08616000 = +static const struct CompressedSpritePalette sSpritePalette_StatusIcons = { gStatusPal_Icons, 1202 }; -static const struct SpriteTemplate gSpriteTemplate_8616008 = +static const struct SpriteTemplate sSpriteTemplate_StatusIcons = { .tileTag = 1202, .paletteTag = 1202, - .oam = &sOamData_8615F90, - .anims = sSpriteAnimTable_8615FD8, + .oam = &sOamData_StatusCondition, + .anims = sSpriteTemplate_StatusCondition, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy, @@ -1536,7 +1574,7 @@ static const u16 gTMHMMoves[] = }; // code -static void InitPartyMenu(u8 a, u8 b, u8 c, u8 d, u8 e, TaskFunc task, MainCallback callback) +static void InitPartyMenu(u8 a, u8 b, u8 c, u8 d, u8 messageId, TaskFunc task, MainCallback callback) { u16 i; @@ -1551,8 +1589,8 @@ static void InitPartyMenu(u8 a, u8 b, u8 c, u8 d, u8 e, TaskFunc task, MainCallb gUnknown_0203CEC8.unk8_0 = a; gUnknown_0203CEC8.exitCallback = callback; gUnknown_0203CEC8.unkB = c; - gUnknown_0203CEC4->unkA_0 = e; - gUnknown_0203CEC4->unk0 = task; + gUnknown_0203CEC4->messageId = messageId; + gUnknown_0203CEC4->task = task; gUnknown_0203CEC4->exitCallback = NULL; gUnknown_0203CEC4->unk8_1 = 0; gUnknown_0203CEC4->unk8_2 = 0xFF; @@ -1568,13 +1606,13 @@ static void InitPartyMenu(u8 a, u8 b, u8 c, u8 d, u8 e, TaskFunc task, MainCallb for (i = 0; i <= 15; i++) gUnknown_0203CEC4->data[i] = 0; - for (i = 0; i < 3; i++) - gUnknown_0203CEC4->unkC[i] = 0xFF; + for (i = 0; i < ARRAY_COUNT(gUnknown_0203CEC4->windowId); i++) + gUnknown_0203CEC4->windowId[i] = 0xFF; if (d == 0) - gUnknown_0203CEC8.unk9 = 0; - else if (gUnknown_0203CEC8.unk9 > 5 || GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES) == SPECIES_NONE) - gUnknown_0203CEC8.unk9 = 0; // wut why is this else if? + gUnknown_0203CEC8.slotId = 0; + else if (gUnknown_0203CEC8.slotId > 5 || GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES) == SPECIES_NONE) + gUnknown_0203CEC8.slotId = 0; // wut why is this else if? gTextFlags.autoScroll = 0; CalculatePlayerPartyCount(); @@ -1710,8 +1748,8 @@ static bool8 PartyMenuSetup(void) gMain.state++; break; case 20: - CreateTask(gUnknown_0203CEC4->unk0, 0); - display_pokemon_menu_message(gUnknown_0203CEC4->unkA_0); + CreateTask(gUnknown_0203CEC4->task, 0); + display_pokemon_menu_message(gUnknown_0203CEC4->messageId); gMain.state++; break; case 21: @@ -1857,10 +1895,10 @@ static void PartyMenuInitHelperStructs(u8 a) gUnknown_0203CEDC[i].unk0 = &gUnknown_086156C4[1]; gUnknown_0203CEDC[i].unk4 = gUnknown_08615704[a][i]; gUnknown_0203CEDC[i].windowId = i; - gUnknown_0203CEDC[i].unk9 = 0xFF; - gUnknown_0203CEDC[i].unkA = 0xFF; - gUnknown_0203CEDC[i].unkB = 0xFF; - gUnknown_0203CEDC[i].unkC = 0xFF; + gUnknown_0203CEDC[i].monSpriteId = 0xFF; + gUnknown_0203CEDC[i].itemSpriteId = 0xFF; + gUnknown_0203CEDC[i].pokeballSpriteId = 0xFF; + gUnknown_0203CEDC[i].statusSpriteId = 0xFF; } gUnknown_0203CEDC[0].unk0 = &gUnknown_086156C4[0]; if (a == 3) @@ -1886,7 +1924,7 @@ static void RenderPartyMenuBox(u8 slot) { if (GetMonData(&gPlayerParty[slot], MON_DATA_SPECIES) == SPECIES_NONE) { - sub_81B2720(gUnknown_0203CEDC[slot].windowId); + DrawEmptySlot(gUnknown_0203CEDC[slot].windowId); UpdateSelectedPartyBox(&gUnknown_0203CEDC[slot], 0x40); CopyWindowToVram(gUnknown_0203CEDC[slot].windowId, 2); } @@ -1907,7 +1945,7 @@ static void RenderPartyMenuBox(u8 slot) if (gUnknown_0203CEC8.unk8_0 == 5) sub_81B0FCC(slot, 0); - else if (gUnknown_0203CEC8.unk9 == slot) + else if (gUnknown_0203CEC8.slotId == slot) sub_81B0FCC(slot, 1); else sub_81B0FCC(slot, 0); @@ -2071,7 +2109,7 @@ static void sub_81B0CEC(u8 slot) if (gUnknown_02022FF8[actualSlot].species == SPECIES_NONE) { - sub_81B2720(structPtr->windowId); + DrawEmptySlot(structPtr->windowId); } else { @@ -2159,7 +2197,7 @@ static void sub_81B0F28(void) { gUnknown_0203CEC4->unk9_0 = sub_81B5F34(0xC6, 0x94); } - sub_81B0FCC(gUnknown_0203CEC8.unk9, 1); + sub_81B0FCC(gUnknown_0203CEC8.slotId, 1); } } @@ -2173,8 +2211,8 @@ void sub_81B0FCC(u8 slot, u8 b) if (GetMonData(&gPlayerParty[slot], MON_DATA_SPECIES) != SPECIES_NONE) { UpdateSelectedPartyBox(&gUnknown_0203CEDC[slot], GetPartyBoxPalBitfield(slot, b)); - AnimateSelectedPartyIcon(gUnknown_0203CEDC[slot].unk9, b); - sub_81B5F98(gUnknown_0203CEDC[slot].unkB, b); + AnimateSelectedPartyIcon(gUnknown_0203CEDC[slot].monSpriteId, b); + sub_81B5F98(gUnknown_0203CEDC[slot].pokeballSpriteId, b); } return; case 6: @@ -2221,10 +2259,10 @@ static u8 GetPartyBoxPalBitfield(u8 slot, u8 b) returnVar |= 16; if (gUnknown_0203CEC8.unkB == 8) { - if (slot == gUnknown_0203CEC8.unk9 || slot == gUnknown_0203CEC8.unkA) + if (slot == gUnknown_0203CEC8.slotId || slot == gUnknown_0203CEC8.unkA) returnVar |= 4; } - if (gUnknown_0203CEC8.unkB == 10 && slot == gUnknown_0203CEC8.unk9 ) + if (gUnknown_0203CEC8.unkB == 10 && slot == gUnknown_0203CEC8.slotId ) returnVar |= 32; return returnVar; @@ -2293,7 +2331,7 @@ static void c3_0811FAB4(u8 taskId) u8 GetCursorSelectionMonId(void) { - return gUnknown_0203CEC8.unk9; + return gUnknown_0203CEC8.slotId; } u8 sub_81B1360(void) @@ -2331,7 +2369,7 @@ static s8* sub_81B13EC(void) if (gUnknown_0203CEC8.unkB == 8 || gUnknown_0203CEC8.unkB == 10) return &gUnknown_0203CEC8.unkA; else - return &gUnknown_0203CEC8.unk9; + return &gUnknown_0203CEC8.slotId; } static void sub_81B140C(u8 taskId, s8 *ptr) @@ -2347,7 +2385,7 @@ static void sub_81B140C(u8 taskId, s8 *ptr) case 7: if (sub_81B15A4((u8*)ptr)) { - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); sub_81615A8(taskId); } break; @@ -2357,7 +2395,7 @@ static void sub_81B140C(u8 taskId, s8 *ptr) if (gUnknown_0203CEC8.unk8_0 == 1) gUnknown_0203CEC4->exitCallback = sub_81B9140; - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); gUnknown_03006328(taskId, sub_81B6794); } break; @@ -2365,7 +2403,7 @@ static void sub_81B140C(u8 taskId, s8 *ptr) if (sub_81B15A4((u8*)ptr)) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); sub_81B7E4C(taskId); } break; @@ -2373,7 +2411,7 @@ static void sub_81B140C(u8 taskId, s8 *ptr) if (sub_81B15A4((u8*)ptr)) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); sub_81B8474(taskId); } break; @@ -2382,7 +2420,7 @@ static void sub_81B140C(u8 taskId, s8 *ptr) if (sub_81B15A4((u8*)ptr)) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); sub_81B7FAC(taskId); } break; @@ -2462,7 +2500,7 @@ static bool8 sub_81B1660(u8 taskId) if (stringPtr == NULL) return FALSE; - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); StringExpandPlaceholders(gStringVar4, stringPtr); sub_81B1B5C(gStringVar4, 1); gTasks[taskId].func = sub_81B16D4; @@ -2484,7 +2522,7 @@ static void sub_81B1708(u8 taskId) { case 0: gUnknown_0203CEE8 = 0; - gUnknown_0203CEC8.unk9 = 7; + gUnknown_0203CEC8.slotId = 7; sub_81B8558(); sub_81B12C0(taskId); break; @@ -3132,7 +3170,7 @@ static void sub_81B2428(bool8 a) firstWindowId = AddWindow(&gUnknown_08615918); FillWindowPixelBuffer(firstWindowId, PIXEL_FILL(0)); mainOffset = GetStringCenterAlignXOffset(0, gMenuText_Confirm, 48); - AddTextPrinterParameterized4(firstWindowId, 0, mainOffset, 1, 0, 0, gUnknown_086157FC[0], -1, gMenuText_Confirm); + AddTextPrinterParameterized4(firstWindowId, 0, mainOffset, 1, 0, 0, sFontColorTable[0], -1, gMenuText_Confirm); PutWindowTilemap(firstWindowId); CopyWindowToVram(firstWindowId, 2); windowId = AddWindow(&gUnknown_08615910); @@ -3147,12 +3185,12 @@ static void sub_81B2428(bool8 a) if (gUnknown_0203CEC8.unk8_0 != 10) { mainOffset = GetStringCenterAlignXOffset(0, gText_Cancel, 48); - AddTextPrinterParameterized3(windowId, 0, mainOffset + offset, 1, gUnknown_086157FC[0], -1, gText_Cancel); + AddTextPrinterParameterized3(windowId, 0, mainOffset + offset, 1, sFontColorTable[0], -1, gText_Cancel); } else { mainOffset = GetStringCenterAlignXOffset(0, gText_Cancel2, 48); - AddTextPrinterParameterized3(windowId, 0, mainOffset + offset, 1, gUnknown_086157FC[0], -1, gText_Cancel2); + AddTextPrinterParameterized3(windowId, 0, mainOffset + offset, 1, sFontColorTable[0], -1, gText_Cancel2); } PutWindowTilemap(windowId); CopyWindowToVram(windowId, 2); @@ -3182,35 +3220,35 @@ static void BlitBitmapToPartyWindow(u8 windowId, const u8 *b, u8 c, u8 x, u8 y, } } -static void BlitBitmapToPartyWindow_Default1(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 f) +static void BlitBitmapToPartyWindow_Default1(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 isEgg) { if (width == 0 && height == 0) { width = 10; height = 7; } - if (f == 0) - BlitBitmapToPartyWindow(windowId, gUnknown_08615988, 10, x, y, width, height); + if (isEgg == FALSE) + BlitBitmapToPartyWindow(windowId, sMainSlotTileNums, 10, x, y, width, height); else - BlitBitmapToPartyWindow(windowId, gUnknown_086159CE, 10, x, y, width, height); + BlitBitmapToPartyWindow(windowId, sMainSlotTileNums_Egg, 10, x, y, width, height); } -static void BlitBitmapToPartyWindow_Default2(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 f) +static void BlitBitmapToPartyWindow_Default2(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 isEgg) { if (width == 0 && height == 0) { width = 18; height = 3; } - if (f == 0) - BlitBitmapToPartyWindow(windowId, gUnknown_08615A14, 18, x, y, width, height); + if (isEgg == FALSE) + BlitBitmapToPartyWindow(windowId, sOtherSlotsTileNums, 18, x, y, width, height); else - BlitBitmapToPartyWindow(windowId, gUnknown_08615A4A, 18, x, y, width, height); + BlitBitmapToPartyWindow(windowId, sOtherSlotsTileNums_Egg, 18, x, y, width, height); } -static void sub_81B2720(u8 windowId) +static void DrawEmptySlot(u8 windowId) { - BlitBitmapToPartyWindow(windowId, gUnknown_08615A80, 18, 0, 0, 18, 3); + BlitBitmapToPartyWindow(windowId, sEmptySlotTileNums, 18, 0, 0, 18, 3); } static void UpdateSelectedPartyBox(struct Struct203CEDC *ptr, u8 bitfield) @@ -3338,7 +3376,7 @@ static void UpdateSelectedPartyBox(struct Struct203CEDC *ptr, u8 bitfield) static void DisplayPartyPokemonBarDetail(u8 windowId, const u8 *str, u8 color, const u8 *align) { - AddTextPrinterParameterized3(windowId, 0, align[0], align[1], gUnknown_086157FC[color], 0, str); + AddTextPrinterParameterized3(windowId, 0, align[0], align[1], sFontColorTable[color], 0, str); } static void DisplayPartyPokemonNickname(struct Pokemon *mon, struct Struct203CEDC *ptr, u8 c) @@ -3499,7 +3537,7 @@ static void DisplayPartyPokemonOtherText(u8 stringID, struct Struct203CEDC *ptr, ptr->unk0->unk0(ptr->windowId, ptr->unk0->unk1C >> 3, ptr->unk0->unk1D >> 3, unk, unk2, 1); } if (c != 2) - AddTextPrinterParameterized3(ptr->windowId, 1, ptr->unk0->unk1C, ptr->unk0->unk1D, gUnknown_086157FC[0], 0, gUnknown_08615B60[stringID]); + AddTextPrinterParameterized3(ptr->windowId, 1, ptr->unk0->unk1C, ptr->unk0->unk1D, sFontColorTable[0], 0, sSelectionStringTable[stringID]); } static void sub_81B302C(u8 *ptr) @@ -3515,7 +3553,7 @@ static void sub_81B302C(u8 *ptr) void display_pokemon_menu_message(u32 stringID) { - u8 *windowPtr = &gUnknown_0203CEC4->unkC[1]; + u8 *windowPtr = &gUnknown_0203CEC4->windowId[1]; if (*windowPtr != 0xFF) sub_81B302C(windowPtr); @@ -3552,7 +3590,7 @@ void display_pokemon_menu_message(u32 stringID) stringID = 1; } DrawStdFrameWithCustomTileAndPalette(*windowPtr, FALSE, 0x4F, 0xD); - StringExpandPlaceholders(gStringVar4, gUnknown_08615AF4[stringID]); + StringExpandPlaceholders(gStringVar4, sActionStringTable[stringID]); AddTextPrinterParameterized(*windowPtr, 1, gStringVar4, 0, 1, 0, 0); schedule_bg_copy_tilemap_to_vram(2); } @@ -3587,7 +3625,7 @@ static u8 sub_81B31B0(u8 a) switch (a) { case 0: - SetWindowTemplateFields(&window, 2, 19, 19 - (gUnknown_0203CEC4->unk17 * 2), 10, gUnknown_0203CEC4->unk17 * 2, 14, 0x2E9); + SetWindowTemplateFields(&window, 2, 19, 19 - (gUnknown_0203CEC4->listSize * 2), 10, gUnknown_0203CEC4->listSize * 2, 14, 0x2E9); break; case 1: window = gUnknown_08615950; @@ -3600,23 +3638,23 @@ static u8 sub_81B31B0(u8 a) break; } - gUnknown_0203CEC4->unkC[0] = AddWindow(&window); - DrawStdFrameWithCustomTileAndPalette(gUnknown_0203CEC4->unkC[0], FALSE, 0x4F, 13); + gUnknown_0203CEC4->windowId[0] = AddWindow(&window); + DrawStdFrameWithCustomTileAndPalette(gUnknown_0203CEC4->windowId[0], FALSE, 0x4F, 13); if (a == 3) - return gUnknown_0203CEC4->unkC[0]; + return gUnknown_0203CEC4->windowId[0]; cursorDimension = GetMenuCursorDimensionByFont(1, 0); fontAttribute = GetFontAttribute(1, 2); - for (i = 0; i < gUnknown_0203CEC4->unk17; i++) + for (i = 0; i < gUnknown_0203CEC4->listSize; i++) { - u8 unk = (gUnknown_0203CEC4->unkF[i] > 18) ? 4 : 3; - AddTextPrinterParameterized4(gUnknown_0203CEC4->unkC[0], 1, cursorDimension, (i * 16) + 1, fontAttribute, 0, gUnknown_086157FC[unk], 0, sCursorOptions[gUnknown_0203CEC4->unkF[i]].text); + u8 unk = (gUnknown_0203CEC4->actions[i] > 18) ? 4 : 3; + AddTextPrinterParameterized4(gUnknown_0203CEC4->windowId[0], 1, cursorDimension, (i * 16) + 1, fontAttribute, 0, sFontColorTable[unk], 0, sCursorOptions[gUnknown_0203CEC4->actions[i]].text); } - InitMenuInUpperLeftCorner(gUnknown_0203CEC4->unkC[0], gUnknown_0203CEC4->unk17, 0, 1); + InitMenuInUpperLeftCorner(gUnknown_0203CEC4->windowId[0], gUnknown_0203CEC4->listSize, 0, 1); schedule_bg_copy_tilemap_to_vram(2); - return gUnknown_0203CEC4->unkC[0]; + return gUnknown_0203CEC4->windowId[0]; } static void sub_81B3300(const u8 *text) @@ -3633,46 +3671,46 @@ static void sub_81B334C(void) static u8 sub_81B3364(void) { - gUnknown_0203CEC4->unkC[0] = AddWindow(&gUnknown_08615970); - DrawStdFrameWithCustomTileAndPalette(gUnknown_0203CEC4->unkC[0], FALSE, 0x4F, 13); - return gUnknown_0203CEC4->unkC[0]; + gUnknown_0203CEC4->windowId[0] = AddWindow(&gUnknown_08615970); + DrawStdFrameWithCustomTileAndPalette(gUnknown_0203CEC4->windowId[0], FALSE, 0x4F, 13); + return gUnknown_0203CEC4->windowId[0]; } static void sub_81B3394(void) { - ClearWindowTilemap(gUnknown_0203CEC4->unkC[0]); - sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + ClearWindowTilemap(gUnknown_0203CEC4->windowId[0]); + sub_81B302C(&gUnknown_0203CEC4->windowId[0]); } -static void sub_81B33B4(struct Pokemon *mons, u8 a, u8 b) +static void sub_81B33B4(struct Pokemon *mons, u8 slotId, u8 b) { u8 i; if (b == 0) { - sub_81B3414(mons, a); + CreateActionList(mons, slotId); } else { - gUnknown_0203CEC4->unk17 = gUnknown_08615D70[b]; - for (i = 0; i < gUnknown_0203CEC4->unk17; i++) - gUnknown_0203CEC4->unkF[i] = gUnknown_08615D38[b][i]; + gUnknown_0203CEC4->listSize = sListSizeTable[b]; + for (i = 0; i < gUnknown_0203CEC4->listSize; i++) + gUnknown_0203CEC4->actions[i] = sActionTable[b][i]; } } -static void sub_81B3414(struct Pokemon *mons, u8 a) +static void CreateActionList(struct Pokemon *mons, u8 slotId) { u8 i, j; - gUnknown_0203CEC4->unk17 = 0; - AppendToList(gUnknown_0203CEC4->unkF, &gUnknown_0203CEC4->unk17, 0); + gUnknown_0203CEC4->listSize = 0; + AppendToList(gUnknown_0203CEC4->actions, &gUnknown_0203CEC4->listSize, MENU_SUMMARY); for (i = 0; i < MAX_MON_MOVES; i++) { for (j = 0; sFieldMoves[j] != FIELD_MOVE_TERMINATOR; j++) { - if (GetMonData(&mons[a], i + MON_DATA_MOVE1) == sFieldMoves[j]) + if (GetMonData(&mons[slotId], i + MON_DATA_MOVE1) == sFieldMoves[j]) { - AppendToList(gUnknown_0203CEC4->unkF, &gUnknown_0203CEC4->unk17, j + 19); + AppendToList(gUnknown_0203CEC4->actions, &gUnknown_0203CEC4->listSize, j + MENU_FIELD_MOVES); break; } } @@ -3681,13 +3719,13 @@ static void sub_81B3414(struct Pokemon *mons, u8 a) if (!InBattlePike()) { if (GetMonData(&mons[1], MON_DATA_SPECIES) != SPECIES_NONE) - AppendToList(gUnknown_0203CEC4->unkF, &gUnknown_0203CEC4->unk17, 1); - if (ItemIsMail(GetMonData(&mons[a], MON_DATA_HELD_ITEM))) - AppendToList(gUnknown_0203CEC4->unkF, &gUnknown_0203CEC4->unk17, 6); + AppendToList(gUnknown_0203CEC4->actions, &gUnknown_0203CEC4->listSize, MENU_SWITCH); + if (ItemIsMail(GetMonData(&mons[slotId], MON_DATA_HELD_ITEM))) + AppendToList(gUnknown_0203CEC4->actions, &gUnknown_0203CEC4->listSize, MENU_MAIL); else - AppendToList(gUnknown_0203CEC4->unkF, &gUnknown_0203CEC4->unk17, 3); + AppendToList(gUnknown_0203CEC4->actions, &gUnknown_0203CEC4->listSize, MENU_ITEM); } - AppendToList(gUnknown_0203CEC4->unkF, &gUnknown_0203CEC4->unk17, 2); + AppendToList(gUnknown_0203CEC4->actions, &gUnknown_0203CEC4->listSize, MENU_CANCEL1); } static u8 sub_81B353C(struct Pokemon *mon) @@ -3706,7 +3744,7 @@ static u8 sub_81B353C(struct Pokemon *mon) returnVar = sub_81B8A2C(mon); break; case 4: - switch (sub_81B856C(gUnknown_0203CEC8.unk9)) + switch (sub_81B856C(gUnknown_0203CEC8.slotId)) { default: returnVar = 7; @@ -3743,14 +3781,14 @@ static u8 sub_81B353C(struct Pokemon *mon) static bool8 sub_81B3608(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; u16 item; GetMonNickname(mon, gStringVar1); - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); if (gUnknown_0203CEC8.unk8_0 != 12) { - sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.unk9, sub_81B353C(mon)); + sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.slotId, sub_81B353C(mon)); sub_81B31B0(0); display_pokemon_menu_message(21); } @@ -3759,7 +3797,7 @@ static bool8 sub_81B3608(u8 taskId) item = GetMonData(mon, MON_DATA_HELD_ITEM); if (item != ITEM_NONE) { - sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.unk9, sub_81B353C(mon)); + sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.slotId, sub_81B353C(mon)); sub_81B31B0(1); CopyItemName(item, gStringVar2); display_pokemon_menu_message(26); @@ -3792,7 +3830,7 @@ static void HandleMenuInput(u8 taskId) s8 input; s16 *data = gTasks[taskId].data; - if (gUnknown_0203CEC4->unk17 <= 3) + if (gUnknown_0203CEC4->listSize <= 3) input = Menu_ProcessInputNoWrapAround_other(); else input = ProcessMenuInput_other(); @@ -3804,12 +3842,12 @@ static void HandleMenuInput(u8 taskId) break; case MENU_B_PRESSED: PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->unkC[2]); - sCursorOptions[gUnknown_0203CEC4->unkF[gUnknown_0203CEC4->unk17 - 1]].func(taskId); + sub_81B302C(&gUnknown_0203CEC4->windowId[2]); + sCursorOptions[gUnknown_0203CEC4->actions[gUnknown_0203CEC4->listSize - 1]].func(taskId); break; default: - sub_81B302C(&gUnknown_0203CEC4->unkC[2]); - sCursorOptions[gUnknown_0203CEC4->unkF[input]].func(taskId); + sub_81B302C(&gUnknown_0203CEC4->windowId[2]); + sCursorOptions[gUnknown_0203CEC4->actions[input]].func(taskId); break; } } @@ -3827,18 +3865,18 @@ static void sub_81B3828(void) if (gUnknown_0203CEC8.unk8_0 == 1) { pokemon_change_order(); - ShowPokemonSummaryScreen(PSS_MODE_UNK1, gPlayerParty, gUnknown_0203CEC8.unk9, gPlayerPartyCount - 1, sub_81B3894); + ShowPokemonSummaryScreen(PSS_MODE_UNK1, gPlayerParty, gUnknown_0203CEC8.slotId, gPlayerPartyCount - 1, sub_81B3894); } else { - ShowPokemonSummaryScreen(PSS_MODE_NORMAL, gPlayerParty, gUnknown_0203CEC8.unk9, gPlayerPartyCount - 1, sub_81B3894); + ShowPokemonSummaryScreen(PSS_MODE_NORMAL, gPlayerParty, gUnknown_0203CEC8.slotId, gPlayerPartyCount - 1, sub_81B3894); } } static void sub_81B3894(void) { gPaletteFade.bufferTransferDisabled = TRUE; - gUnknown_0203CEC8.unk9 = gLastViewedMonIndex; + gUnknown_0203CEC8.slotId = gLastViewedMonIndex; InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 21, sub_81B36FC, gUnknown_0203CEC8.exitCallback); } @@ -3846,11 +3884,11 @@ static void CursorCb_Switch(u8 taskId) { PlaySE(SE_SELECT); gUnknown_0203CEC8.unkB = 8; - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); - sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + sub_81B302C(&gUnknown_0203CEC4->windowId[0]); display_pokemon_menu_message(3); - sub_81B0FCC(gUnknown_0203CEC8.unk9, 1); - gUnknown_0203CEC8.unkA = gUnknown_0203CEC8.unk9; + sub_81B0FCC(gUnknown_0203CEC8.slotId, 1); + gUnknown_0203CEC8.unkA = gUnknown_0203CEC8.slotId; gTasks[taskId].func = sub_81B1370; } @@ -3859,13 +3897,13 @@ static void sub_81B3938(u8 taskId) s16 *data = gTasks[taskId].data; u8 windowIds[2]; - if (gUnknown_0203CEC8.unkA == gUnknown_0203CEC8.unk9) + if (gUnknown_0203CEC8.unkA == gUnknown_0203CEC8.slotId) { sub_81B407C(taskId); } else { - windowIds[0] = gUnknown_0203CEDC[gUnknown_0203CEC8.unk9].windowId; + windowIds[0] = gUnknown_0203CEDC[gUnknown_0203CEC8.slotId].windowId; data[0] = GetWindowAttribute(windowIds[0], WINDOW_TILEMAP_LEFT); data[1] = GetWindowAttribute(windowIds[0], WINDOW_TILEMAP_TOP); data[2] = GetWindowAttribute(windowIds[0], WINDOW_WIDTH); @@ -3892,7 +3930,7 @@ static void sub_81B3938(u8 taskId) ClearWindowTilemap(windowIds[0]); ClearWindowTilemap(windowIds[1]); gUnknown_0203CEC8.unkB = 9; - sub_81B0FCC(gUnknown_0203CEC8.unk9, 1); + sub_81B0FCC(gUnknown_0203CEC8.slotId, 1); sub_81B0FCC(gUnknown_0203CEC8.unkA, 1); sub_81B3CC0(taskId); gTasks[taskId].func = sub_81B3D48; @@ -3939,10 +3977,10 @@ static void sub_81B3B40(const void *rectSrc, s16 a, s16 b, s16 c, s16 d, s16 e) static void sub_81B3C0C(struct Struct203CEDC *ptr, s16 a) { - gSprites[ptr->unkB].pos2.x += a * 8; - gSprites[ptr->unkA].pos2.x += a * 8; - gSprites[ptr->unk9].pos2.x += a * 8; - gSprites[ptr->unkC].pos2.x += a * 8; + gSprites[ptr->pokeballSpriteId].pos2.x += a * 8; + gSprites[ptr->itemSpriteId].pos2.x += a * 8; + gSprites[ptr->monSpriteId].pos2.x += a * 8; + gSprites[ptr->statusSpriteId].pos2.x += a * 8; } static void sub_81B3C60(u8 taskId) @@ -3950,7 +3988,7 @@ static void sub_81B3C60(u8 taskId) s16 *data = gTasks[taskId].data; if (data[10] != 0) - sub_81B3C0C(&gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], data[10]); + sub_81B3C0C(&gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], data[10]); if (data[11] != 0) sub_81B3C0C(&gUnknown_0203CEDC[gUnknown_0203CEC8.unkA], data[11]); } @@ -3982,13 +4020,13 @@ static void sub_81B3D48(u8 taskId) data[10] *= -1; data[11] *= -1; swap_pokemon_and_oams(); - DisplayPartyPokemonData(gUnknown_0203CEC8.unk9); + DisplayPartyPokemonData(gUnknown_0203CEC8.slotId); DisplayPartyPokemonData(gUnknown_0203CEC8.unkA); - PutWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unk9].windowId); + PutWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.slotId].windowId); PutWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unkA].windowId); sub_8199CBC(0, gUnknown_0203CEF0, data[0], data[1], data[2], data[3]); sub_8199CBC(0, gUnknown_0203CEF4, data[4], data[5], data[6], data[7]); - ClearWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unk9].windowId); + ClearWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.slotId].windowId); ClearWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unkA].windowId); gTasks[taskId].func = sub_81B3E60; } @@ -4002,7 +4040,7 @@ static void sub_81B3E60(u8 taskId) sub_81B3C60(taskId); if (data[10] == 0 && data[11] == 0) { - PutWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unk9].windowId); + PutWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.slotId].windowId); PutWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unkA].windowId); schedule_bg_copy_tilemap_to_vram(0); Free(gUnknown_0203CEF0); @@ -4047,27 +4085,27 @@ static void swap_pokemon_and_oams(void) struct Pokemon *mon1, *mon2; struct Pokemon *monBuffer; - structPtrs[0] = &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9]; + structPtrs[0] = &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId]; structPtrs[1] = &gUnknown_0203CEDC[gUnknown_0203CEC8.unkA]; - mon1 = &gPlayerParty[gUnknown_0203CEC8.unk9]; + mon1 = &gPlayerParty[gUnknown_0203CEC8.slotId]; mon2 = &gPlayerParty[gUnknown_0203CEC8.unkA]; monBuffer = Alloc(sizeof(struct Pokemon)); *monBuffer = *mon1; *mon1 = *mon2; *mon2 = *monBuffer; Free(monBuffer); - oamt_swap_pos(&structPtrs[0]->unkB, &structPtrs[1]->unkB); - oamt_swap_pos(&structPtrs[0]->unkA, &structPtrs[1]->unkA); - oamt_swap_pos(&structPtrs[0]->unk9, &structPtrs[1]->unk9); - oamt_swap_pos(&structPtrs[0]->unkC, &structPtrs[1]->unkC); + oamt_swap_pos(&structPtrs[0]->pokeballSpriteId, &structPtrs[1]->pokeballSpriteId); + oamt_swap_pos(&structPtrs[0]->itemSpriteId, &structPtrs[1]->itemSpriteId); + oamt_swap_pos(&structPtrs[0]->monSpriteId, &structPtrs[1]->monSpriteId); + oamt_swap_pos(&structPtrs[0]->statusSpriteId, &structPtrs[1]->statusSpriteId); } static void sub_81B407C(u8 taskId) { - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); gUnknown_0203CEC8.unkB = 0; - sub_81B0FCC(gUnknown_0203CEC8.unk9, 0); - gUnknown_0203CEC8.unk9 = gUnknown_0203CEC8.unkA; + sub_81B0FCC(gUnknown_0203CEC8.slotId, 0); + gUnknown_0203CEC8.slotId = gUnknown_0203CEC8.unkA; sub_81B0FCC(gUnknown_0203CEC8.unkA, 1); display_pokemon_menu_message(0); gTasks[taskId].func = sub_81B1370; @@ -4076,8 +4114,8 @@ static void sub_81B407C(u8 taskId) static void CursorCb_Cancel1(u8 taskId) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->unkC[0]); - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B302C(&gUnknown_0203CEC4->windowId[0]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); if (gUnknown_0203CEC8.unk8_0 == 6) display_pokemon_menu_message(15); else @@ -4088,9 +4126,9 @@ static void CursorCb_Cancel1(u8 taskId) static void CursorCb_Item(u8 taskId) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->unkC[0]); - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); - sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.unk9, 8); + sub_81B302C(&gUnknown_0203CEC4->windowId[0]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.slotId, 8); sub_81B31B0(1); display_pokemon_menu_message(24); gTasks[taskId].data[0] = 0xFF; @@ -4120,7 +4158,7 @@ static void c2_8123744(void) } else { - gUnknown_0203CEFC = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_HELD_ITEM); + gUnknown_0203CEFC = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_HELD_ITEM); if (gUnknown_0203CEFC != ITEM_NONE) { InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0x7F, sub_81B4350, gUnknown_0203CEC8.exitCallback); @@ -4128,7 +4166,7 @@ static void c2_8123744(void) else if (ItemIsMail(gSpecialVar_ItemId)) { RemoveBagItem(gSpecialVar_ItemId, 1); - sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.unk9], gSpecialVar_ItemId); + sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.slotId], gSpecialVar_ItemId); sub_81B452C(); } else @@ -4145,8 +4183,8 @@ static void sub_81B42D0(u8 taskId) if (!gPaletteFade.active) { item = gSpecialVar_ItemId; - sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.unk9], item, 0, 0); - sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.unk9], item); + sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.slotId], item, 0, 0); + sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.slotId], item); RemoveBagItem(item, 1); gTasks[taskId].func = sub_81B469C; } @@ -4156,7 +4194,7 @@ static void sub_81B4350(u8 taskId) { if (!gPaletteFade.active) { - sub_81B1D1C(&gPlayerParty[gUnknown_0203CEC8.unk9], gUnknown_0203CEFC, 1); + sub_81B1D1C(&gPlayerParty[gUnknown_0203CEC8.slotId], gUnknown_0203CEFC, 1); gTasks[taskId].func = sub_81B43A8; } } @@ -4185,12 +4223,12 @@ static void sub_81B43DC(u8 taskId) } else if (ItemIsMail(gSpecialVar_ItemId)) { - sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.unk9], gSpecialVar_ItemId); + sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.slotId], gSpecialVar_ItemId); gTasks[taskId].func = sub_81B44FC; } else { - sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.unk9], gSpecialVar_ItemId); + sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.slotId], gSpecialVar_ItemId); sub_81B1D68(gSpecialVar_ItemId, gUnknown_0203CEFC, 1); gTasks[taskId].func = sub_81B469C; } @@ -4214,7 +4252,7 @@ static void sub_81B44FC(u8 taskId) static void sub_81B452C(void) { - u8 mail = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_MAIL); + u8 mail = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_MAIL); DoEasyChatScreen( EASY_CHAT_TYPE_MAIL, @@ -4225,7 +4263,7 @@ static void sub_81B452C(void) static void sub_81B4578(void) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; u16 item = GetMonData(mon, MON_DATA_HELD_ITEM); if (gSpecialVar_Result == FALSE) @@ -4247,7 +4285,7 @@ static void sub_81B4624(u8 taskId) if (!gPaletteFade.active) { if (gUnknown_0203CEFC == ITEM_NONE) - sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.unk9], gSpecialVar_ItemId, 0, 0); + sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.slotId], gSpecialVar_ItemId, 0, 0); else sub_81B1D68(gSpecialVar_ItemId, gUnknown_0203CEFC, 0); gTasks[taskId].func = sub_81B469C; @@ -4256,17 +4294,17 @@ static void sub_81B4624(u8 taskId) static void sub_81B469C(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; if (sub_81B1BD4() != TRUE) { - sub_81B5C94(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9]); + sub_81B5C94(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId]); if (gUnknown_0203CEC8.unk8_0 == 12) { if (GetMonData(mon, MON_DATA_HELD_ITEM) != ITEM_NONE) - DisplayPartyPokemonOtherText(11, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], 1); + DisplayPartyPokemonOtherText(11, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); else - DisplayPartyPokemonOtherText(12, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], 1); + DisplayPartyPokemonOtherText(12, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); } sub_81B1C1C(taskId); } @@ -4274,12 +4312,12 @@ static void sub_81B469C(u8 taskId) static void CursorCb_TakeItem(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; u16 item = GetMonData(mon, MON_DATA_HELD_ITEM); PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->unkC[0]); - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B302C(&gUnknown_0203CEC4->windowId[0]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); switch (TryTakeMonItem(mon)) { case 0: @@ -4301,12 +4339,12 @@ static void CursorCb_TakeItem(u8 taskId) static void CursorCb_Toss(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; u16 item = GetMonData(mon, MON_DATA_HELD_ITEM); PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->unkC[0]); - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B302C(&gUnknown_0203CEC4->windowId[0]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); if (item == ITEM_NONE) { GetMonNickname(mon, gStringVar1); @@ -4334,7 +4372,7 @@ static void sub_81B48A8(u8 taskId) static void sub_81B48DC(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; switch (Menu_ProcessInputNoWrapClearOnChoose()) { @@ -4354,15 +4392,15 @@ static void sub_81B48DC(u8 taskId) static void sub_81B4988(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; if (sub_81B1BD4() != TRUE) { u16 item = ITEM_NONE; SetMonData(mon, MON_DATA_HELD_ITEM, &item); - sub_81B5C94(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9]); - DisplayPartyPokemonOtherText(12, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], 1); + sub_81B5C94(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId]); + DisplayPartyPokemonOtherText(12, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); gTasks[taskId].func = sub_81B1C1C; } } @@ -4370,9 +4408,9 @@ static void sub_81B4988(u8 taskId) static void CursorCb_Mail(u8 taskId) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->unkC[0]); - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); - sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.unk9, 9); + sub_81B302C(&gUnknown_0203CEC4->windowId[0]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.slotId, 9); sub_81B31B0(2); display_pokemon_menu_message(25); gTasks[taskId].data[0] = 0xFF; @@ -4388,7 +4426,7 @@ static void CursorCb_Read(u8 taskId) static void sub_81B4A98(void) { - ReadMail(&gSaveBlock1Ptr->mail[GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_MAIL)], sub_81B4AE0, 1); + ReadMail(&gSaveBlock1Ptr->mail[GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_MAIL)], sub_81B4AE0, 1); } static void sub_81B4AE0(void) @@ -4400,8 +4438,8 @@ static void sub_81B4AE0(void) static void CursorCb_TakeMail(u8 taskId) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); - sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + sub_81B302C(&gUnknown_0203CEC4->windowId[0]); sub_81B1B5C(gText_SendMailToPC, 1); gTasks[taskId].func = sub_81B4B6C; } @@ -4420,7 +4458,7 @@ static void sub_81B4BA0(u8 taskId) switch (Menu_ProcessInputNoWrapClearOnChoose()) { case 0: - if (TakeMailFromMon2(&gPlayerParty[gUnknown_0203CEC8.unk9]) != 0xFF) + if (TakeMailFromMon2(&gPlayerParty[gUnknown_0203CEC8.slotId]) != 0xFF) { sub_81B1B5C(gText_MailSentToPC, 0); gTasks[taskId].func = sub_81B469C; @@ -4456,10 +4494,10 @@ static void sub_81B4C94(u8 taskId) switch (Menu_ProcessInputNoWrapClearOnChoose()) { case 0: - item = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_HELD_ITEM); + item = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_HELD_ITEM); if (AddBagItem(item, 1) == TRUE) { - TakeMailFromMon(&gPlayerParty[gUnknown_0203CEC8.unk9]); + TakeMailFromMon(&gPlayerParty[gUnknown_0203CEC8.slotId]); sub_81B1B5C(gText_MailTakenFromPkmn, 0); gTasks[taskId].func = sub_81B469C; } @@ -4480,12 +4518,12 @@ static void sub_81B4C94(u8 taskId) static void CursorCb_Cancel2(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->unkC[0]); - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); - sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.unk9, sub_81B353C(mon)); + sub_81B302C(&gUnknown_0203CEC4->windowId[0]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.slotId, sub_81B353C(mon)); if (gUnknown_0203CEC8.unk8_0 != 12) { sub_81B31B0(0); @@ -4504,14 +4542,14 @@ static void CursorCb_Cancel2(u8 taskId) static void CursorCb_SendMon(u8 taskId) { PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + sub_81B302C(&gUnknown_0203CEC4->windowId[0]); if (sub_81B8A7C() == TRUE) { sub_81B12C0(taskId); } else { - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); sub_81B1B5C(gStringVar4, 1); gTasks[taskId].func = sub_81B1C1C; } @@ -4522,16 +4560,16 @@ static void CursorCb_Enter(u8 taskId) u8 unk; u8 i; - sub_81B302C(&gUnknown_0203CEC4->unkC[0]); - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B302C(&gUnknown_0203CEC4->windowId[0]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); unk = sub_81B8830(); for (i = 0; i < unk; i++) { if (gSelectedOrderFromParty[i] == 0) { PlaySE(SE_SELECT); - gSelectedOrderFromParty[i] = gUnknown_0203CEC8.unk9 + 1; - DisplayPartyPokemonOtherText(i + 2, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], 1); + gSelectedOrderFromParty[i] = gUnknown_0203CEC8.slotId + 1; + DisplayPartyPokemonOtherText(i + 2, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); if (i == (unk - 1)) sub_81B4F88(); display_pokemon_menu_message(0); @@ -4548,9 +4586,9 @@ static void CursorCb_Enter(u8 taskId) static void sub_81B4F88(void) { - sub_81B0FCC(gUnknown_0203CEC8.unk9, 0); - gUnknown_0203CEC8.unk9 = 6; - sub_81B0FCC(gUnknown_0203CEC8.unk9, 1); + sub_81B0FCC(gUnknown_0203CEC8.slotId, 0); + gUnknown_0203CEC8.slotId = 6; + sub_81B0FCC(gUnknown_0203CEC8.slotId, 1); } static void CursorCb_NoEntry(u8 taskId) @@ -4559,12 +4597,12 @@ static void CursorCb_NoEntry(u8 taskId) u8 i, j; PlaySE(SE_SELECT); - sub_81B302C(&gUnknown_0203CEC4->unkC[0]); - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B302C(&gUnknown_0203CEC4->windowId[0]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); unk = sub_81B8830(); for (i = 0; i < unk; i++) { - if (gSelectedOrderFromParty[i] == (gUnknown_0203CEC8.unk9 + 1)) + if (gSelectedOrderFromParty[i] == (gUnknown_0203CEC8.slotId + 1)) { for (j = i; j < (unk - 1); j++) gSelectedOrderFromParty[j] = gSelectedOrderFromParty[j + 1]; @@ -4572,7 +4610,7 @@ static void CursorCb_NoEntry(u8 taskId) break; } } - DisplayPartyPokemonOtherText(1, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], 1); + DisplayPartyPokemonOtherText(1, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); for (i = 0; i < (unk - 1); i++) { if (gSelectedOrderFromParty[i] != 0) @@ -4590,9 +4628,9 @@ static void CursorCb_Store(u8 taskId) static void CursorCb_Register(u8 taskId) { - u16 species2 = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES2); - u16 species = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES); - u8 obedience = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_OBEDIENCE); + u16 species2 = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES2); + u16 species = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES); + u8 obedience = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_OBEDIENCE); switch (sub_807A8D0(*(struct UnkLinkRfuStruct_02022B14Substruct *)sub_800F7DC(), species2, species, obedience)) { @@ -4608,8 +4646,8 @@ static void CursorCb_Register(u8 taskId) return; } PlaySE(SE_HAZURE); - sub_81B302C(&gUnknown_0203CEC4->unkC[0]); - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B302C(&gUnknown_0203CEC4->windowId[0]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); StringAppend(gStringVar4, gText_PauseUntilPress); sub_81B1B5C(gStringVar4, 1); gTasks[taskId].func = sub_81B1C1C; @@ -4617,17 +4655,17 @@ static void CursorCb_Register(u8 taskId) static void CursorCb_Trade1(u8 taskId) { - u16 species2 = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES2); - u16 species = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES); - u8 obedience = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_OBEDIENCE); + u16 species2 = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES2); + u16 species = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES); + u8 obedience = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_OBEDIENCE); u32 stringId = sub_807A7E0(*(struct UnkLinkRfuStruct_02022B14Substruct *)sub_800F7DC(), gUnknown_02022C38, species2, gUnknown_02022C3C, gUnknown_02022C3E, species, obedience); if (stringId != 0) { StringExpandPlaceholders(gStringVar4, gUnknown_08615E0C[stringId - 1]); PlaySE(SE_HAZURE); - sub_81B302C(&gUnknown_0203CEC4->unkC[0]); - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B302C(&gUnknown_0203CEC4->windowId[0]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); StringAppend(gStringVar4, gText_PauseUntilPress); sub_81B1B5C(gStringVar4, 1); gTasks[taskId].func = sub_81B1C1C; @@ -4641,9 +4679,9 @@ static void CursorCb_Trade1(u8 taskId) static void CursorCb_Trade2(u8 taskId) { - sub_81B302C(&gUnknown_0203CEC4->unkC[0]); - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); - switch (sub_807A918(gPlayerParty, gUnknown_0203CEC8.unk9)) + sub_81B302C(&gUnknown_0203CEC4->windowId[0]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); + switch (sub_807A918(gPlayerParty, gUnknown_0203CEC8.slotId)) { case 1: StringExpandPlaceholders(gStringVar4, gText_OnlyPkmnForBattle); @@ -4656,7 +4694,7 @@ static void CursorCb_Trade2(u8 taskId) break; default: PlaySE(SE_SELECT); - GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.unk9], gStringVar1); + GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.slotId], gStringVar1); StringExpandPlaceholders(gStringVar4, gJPText_PutVar1IntoSpinner); sub_81B1B5C(gStringVar4, 1); gTasks[taskId].func = sub_81B53FC; @@ -4694,15 +4732,15 @@ static void sub_81B5430(u8 taskId) static void CursorCb_FieldMove(u8 taskId) { - u8 fieldMove = gUnknown_0203CEC4->unkF[Menu_GetCursorPos()] - MENU_FIELD_MOVES; + u8 fieldMove = gUnknown_0203CEC4->actions[Menu_GetCursorPos()] - MENU_FIELD_MOVES; const struct MapHeader *mapHeader; PlaySE(SE_SELECT); if (sFieldMoveCursorCallbacks[fieldMove].fieldMoveFunc == NULL) return; - sub_81B302C(&gUnknown_0203CEC4->unkC[0]); - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B302C(&gUnknown_0203CEC4->windowId[0]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); if (sub_81221AC() == TRUE || InUnionRoom() == TRUE) { if (fieldMove == FIELD_MOVE_MILK_DRINK || fieldMove == FIELD_MOVE_SOFT_BOILED) @@ -4823,7 +4861,7 @@ static void task_launch_hm_phase_2(u8 taskId) static u16 brm_get_selected_species(void) { - return GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES); + return GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_SPECIES); } static void task_brm_cancel_1_on_keypad_a_or_b(u8 taskId) @@ -4925,15 +4963,15 @@ static void party_menu_icon_anim(struct Pokemon *mon, struct Struct203CEDC *ptr, bit = (gUnknown_08616020[a] ^ bit) ? 1 : 0; species2 = GetMonData(mon, MON_DATA_SPECIES2); party_menu_link_mon_icon_anim(species2, GetMonData(mon, MON_DATA_PERSONALITY), ptr, 1, bit); - sub_81B5B38(ptr->unk9, mon); + sub_81B5B38(ptr->monSpriteId, mon); } static void party_menu_link_mon_icon_anim(u16 species, u32 pid, struct Struct203CEDC *ptr, u8 priority, u32 bit) { if (species != SPECIES_NONE) { - ptr->unk9 = CreateMonIcon(species, sub_80D3014, ptr->unk4[0], ptr->unk4[1], 4, pid, bit); - gSprites[ptr->unk9].oam.priority = priority; + ptr->monSpriteId = CreateMonIcon(species, sub_80D3014, ptr->unk4[0], ptr->unk4[1], 4, pid, bit); + gSprites[ptr->monSpriteId].oam.priority = priority; } } @@ -5011,7 +5049,7 @@ static void party_menu_held_item_object(struct Pokemon *mon, struct Struct203CED { if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) { - ptr->unkA = CreateSprite(&gSpriteTemplate_8615EC0, ptr->unk4[2], ptr->unk4[3], 0); + ptr->itemSpriteId = CreateSprite(&sSpriteTemplate_HeldItem, ptr->unk4[2], ptr->unk4[3], 0); sub_81B5C94(mon, ptr); } } @@ -5020,8 +5058,8 @@ static void party_menu_link_mon_held_item_object(u16 species, u16 item, struct S { if (species != SPECIES_NONE) { - ptr->unkA = CreateSprite(&gSpriteTemplate_8615EC0, ptr->unk4[2], ptr->unk4[3], 0); - gSprites[ptr->unkA].oam.priority = 0; + ptr->itemSpriteId = CreateSprite(&sSpriteTemplate_HeldItem, ptr->unk4[2], ptr->unk4[3], 0); + gSprites[ptr->itemSpriteId].oam.priority = 0; sub_81B5CB0(item, ptr); } } @@ -5035,22 +5073,22 @@ static void sub_81B5CB0(u16 item, struct Struct203CEDC *ptr) { if (item == ITEM_NONE) { - gSprites[ptr->unkA].invisible = TRUE; + gSprites[ptr->itemSpriteId].invisible = TRUE; } else { if (ItemIsMail(item)) - StartSpriteAnim(&gSprites[ptr->unkA], 1); + StartSpriteAnim(&gSprites[ptr->itemSpriteId], 1); else - StartSpriteAnim(&gSprites[ptr->unkA], 0); - gSprites[ptr->unkA].invisible = FALSE; + StartSpriteAnim(&gSprites[ptr->itemSpriteId], 0); + gSprites[ptr->itemSpriteId].invisible = FALSE; } } void LoadHeldItemIcons(void) { - LoadSpriteSheet(&gUnknown_08615EB0); - LoadSpritePalette(&gUnknown_08615EB8); + LoadSpriteSheet(&sSpriteSheet_HeldItem); + LoadSpritePalette(&sSpritePalette_HeldItem); } void sub_81B5D4C(u8 *a, u8 *b, u8 c) @@ -5082,17 +5120,17 @@ void sub_81B5D4C(u8 *a, u8 *b, u8 c) static void sub_81B5DF0(u8 spriteId, u8 isMail) { u8 subpriority = gSprites[spriteId].subpriority; - u8 newSpriteId = CreateSprite(&gSpriteTemplate_8615EC0, 250, 170, subpriority - 1); + u8 newSpriteId = CreateSprite(&sSpriteTemplate_HeldItem, 250, 170, subpriority - 1); gSprites[newSpriteId].pos2.x = 4; gSprites[newSpriteId].pos2.y = 10; - gSprites[newSpriteId].callback = sub_81B5E74; + gSprites[newSpriteId].callback = SpriteCB_HeldItem; gSprites[newSpriteId].data[7] = spriteId; StartSpriteAnim(&gSprites[newSpriteId], isMail); gSprites[newSpriteId].callback(&gSprites[newSpriteId]); } -static void sub_81B5E74(struct Sprite *sprite) +static void SpriteCB_HeldItem(struct Sprite *sprite) { u8 otherSpriteId = sprite->data[7]; @@ -5111,21 +5149,21 @@ static void sub_81B5E74(struct Sprite *sprite) static void party_menu_pokeball_object(struct Pokemon *mon, struct Struct203CEDC *ptr) { if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) - ptr->unkB = CreateSprite(&gSpriteTemplate_8615F08, ptr->unk4[6], ptr->unk4[7], 8); + ptr->pokeballSpriteId = CreateSprite(&sSpriteTemplate_MenuPokeball, ptr->unk4[6], ptr->unk4[7], 8); } static void party_menu_link_mon_pokeball_object(u16 species, struct Struct203CEDC *ptr) { if (species != SPECIES_NONE) { - ptr->unkB = CreateSprite(&gSpriteTemplate_8615F08, ptr->unk4[6], ptr->unk4[7], 8); - gSprites[ptr->unkB].oam.priority = 0; + ptr->pokeballSpriteId = CreateSprite(&sSpriteTemplate_MenuPokeball, ptr->unk4[6], ptr->unk4[7], 8); + gSprites[ptr->pokeballSpriteId].oam.priority = 0; } } static u8 sub_81B5F34(u8 x, u8 y) { - u8 spriteId = CreateSprite(&gSpriteTemplate_8615F08, x, y, 8); + u8 spriteId = CreateSprite(&sSpriteTemplate_MenuPokeball, x, y, 8); gSprites[spriteId].oam.priority = 2; return spriteId; @@ -5161,16 +5199,16 @@ static void sub_81B5FBC(u8 spriteId, u8 spriteId2, u8 a) static void LoadPartyMenuPokeballGfx(void) { - LoadCompressedSpriteSheet(&gUnknown_08615EF8); - LoadCompressedSpriteSheet(&gUnknown_08615F70); - LoadCompressedSpritePalette(&gUnknown_08615F00); + LoadCompressedSpriteSheet(&sSpriteSheet_MenuPokeball); + LoadCompressedSpriteSheet(&sSpriteSheet_MenuPokeballSmall); + LoadCompressedSpritePalette(&sSpritePalette_MenuPokeball); } static void party_menu_status_condition_object(struct Pokemon *mon, struct Struct203CEDC *ptr) { if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE) { - ptr->unkC = CreateSprite(&gSpriteTemplate_8616008, ptr->unk4[4], ptr->unk4[5], 0); + ptr->statusSpriteId = CreateSprite(&sSpriteTemplate_StatusIcons, ptr->unk4[4], ptr->unk4[5], 0); party_menu_get_status_condition_and_update_object(mon, ptr); } } @@ -5179,9 +5217,9 @@ static void party_menu_link_mon_status_condition_object(u16 species, u8 status, { if (species != SPECIES_NONE) { - ptr->unkC = CreateSprite(&gSpriteTemplate_8616008, ptr->unk4[4], ptr->unk4[5], 0); + ptr->statusSpriteId = CreateSprite(&sSpriteTemplate_StatusIcons, ptr->unk4[4], ptr->unk4[5], 0); party_menu_update_status_condition_object(status, ptr); - gSprites[ptr->unkC].oam.priority = 0; + gSprites[ptr->statusSpriteId].oam.priority = 0; } } @@ -5196,19 +5234,19 @@ static void party_menu_update_status_condition_object(u8 status, struct Struct20 { case AILMENT_NONE: case AILMENT_PKRS: - gSprites[ptr->unkC].invisible = TRUE; + gSprites[ptr->statusSpriteId].invisible = TRUE; break; default: - StartSpriteAnim(&gSprites[ptr->unkC], status - 1); - gSprites[ptr->unkC].invisible = FALSE; + StartSpriteAnim(&gSprites[ptr->statusSpriteId], status - 1); + gSprites[ptr->statusSpriteId].invisible = FALSE; break; } } static void LoadPartyMenuAilmentGfx(void) { - LoadCompressedSpriteSheet(&gUnknown_08615FF8); - LoadCompressedSpritePalette(&gUnknown_08616000); + LoadCompressedSpriteSheet(&sSpriteSheet_StatusIcons); + LoadCompressedSpritePalette(&sSpritePalette_StatusIcons); } void sub_81B617C(void) @@ -5233,12 +5271,12 @@ void sub_81B617C(void) if (GetItemEffectType(gSpecialVar_ItemId) == ITEM_EFFECT_SACRED_ASH) { - gUnknown_0203CEC8.unk9 = 0; + gUnknown_0203CEC8.slotId = 0; for (i = 0; i < PARTY_SIZE; i++) { if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) != SPECIES_NONE && GetMonData(&gPlayerParty[i], MON_DATA_HP) == 0) { - gUnknown_0203CEC8.unk9 = i; + gUnknown_0203CEC8.slotId = i; break; } } @@ -5381,7 +5419,7 @@ static bool8 ExecuteTableBasedItemEffect__(u8 partyMonIndex, u16 item, u8 monMov void ItemUseCB_Medicine(u8 taskId, TaskFunc task) { u16 hp = 0; - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; u16 item = gSpecialVar_ItemId; bool8 canHeal; @@ -5394,7 +5432,7 @@ void ItemUseCB_Medicine(u8 taskId, TaskFunc task) if (hp == GetMonData(mon, MON_DATA_MAX_HP)) canHeal = FALSE; } - if (ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.unk9, item, 0)) + if (ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.slotId, item, 0)) { iTriedHonestlyIDid: gUnknown_0203CEE8 = 0; @@ -5420,14 +5458,14 @@ void ItemUseCB_Medicine(u8 taskId, TaskFunc task) { PlaySE(SE_BIDORO); } - party_menu_get_status_condition_and_update_object(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9]); - if (gSprites[gUnknown_0203CEDC[gUnknown_0203CEC8.unk9].unkC].invisible) - DisplayPartyPokemonLevelCheck(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], 1); + party_menu_get_status_condition_and_update_object(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId]); + if (gSprites[gUnknown_0203CEDC[gUnknown_0203CEC8.slotId].statusSpriteId].invisible) + DisplayPartyPokemonLevelCheck(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); if (canHeal == TRUE) { if (hp == 0) - sub_81B0FCC(gUnknown_0203CEC8.unk9, 1); - sub_81B1F18(taskId, gUnknown_0203CEC8.unk9, 1, GetMonData(mon, MON_DATA_HP) - hp, sub_81B672C); + sub_81B0FCC(gUnknown_0203CEC8.slotId, 1); + sub_81B1F18(taskId, gUnknown_0203CEC8.slotId, 1, GetMonData(mon, MON_DATA_HP) - hp, sub_81B672C); sub_81B1FA8(taskId, 0, hp); return; } @@ -5443,7 +5481,7 @@ void ItemUseCB_Medicine(u8 taskId, TaskFunc task) static void sub_81B672C(u8 taskId) { - GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.unk9], gStringVar1); + GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.slotId], gStringVar1); StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2); sub_81B1B5C(gStringVar4, 0); schedule_bg_copy_tilemap_to_vram(2); @@ -5463,12 +5501,12 @@ static void sub_81B6794(u8 taskId) void sub_81B67C8(u8 taskId, TaskFunc task) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; u16 item = gSpecialVar_ItemId; u8 effectType = GetItemEffectType(item); u16 friendship = GetMonData(mon, MON_DATA_FRIENDSHIP); u16 relevantEV = ItemEffectToMonEv(mon, effectType); - bool8 cannotUseEffect = ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.unk9, item, 0); + bool8 cannotUseEffect = ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.slotId, item, 0); u16 newFriendship = GetMonData(mon, MON_DATA_FRIENDSHIP); u16 newRelevantEV = ItemEffectToMonEv(mon, effectType); @@ -5583,7 +5621,7 @@ static void ether_effect_related_3(u8 taskId) } else { - sub_81B302C(&gUnknown_0203CEC4->unkC[1]); + sub_81B302C(&gUnknown_0203CEC4->windowId[1]); ether_effect_related_2(taskId); } } @@ -5608,14 +5646,14 @@ void dp05_ether(u8 taskId, TaskFunc task) { PlaySE(SE_SELECT); display_pokemon_menu_message(22); - sub_81B6A10(gUnknown_0203CEC8.unk9); + sub_81B6A10(gUnknown_0203CEC8.slotId); gTasks[taskId].func = ether_effect_related_3; } } static void ether_effect_related_2(u8 taskId) { - sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + sub_81B302C(&gUnknown_0203CEC4->windowId[0]); gUnknown_0203CEC8.unkE = Menu_GetCursorPos(); ether_effect_related(taskId); } @@ -5624,7 +5662,7 @@ static void sub_81B6BB4(u8 taskId) { gTasks[taskId].func = sub_81B1370; gUnknown_0203CEC4->exitCallback = NULL; - sub_81B302C(&gUnknown_0203CEC4->unkC[0]); + sub_81B302C(&gUnknown_0203CEC4->windowId[0]); display_pokemon_menu_message(5); } @@ -5636,7 +5674,7 @@ static void ether_effect_related(u8 taskId) struct Struct203CEC8 *ptr = &gUnknown_0203CEC8; struct Pokemon *mon; - if (ExecuteTableBasedItemEffect__(ptr->unk9, item, *moveslot)) + if (ExecuteTableBasedItemEffect__(ptr->slotId, item, *moveslot)) { gUnknown_0203CEE8 = 0; PlaySE(SE_SELECT); @@ -5647,7 +5685,7 @@ static void ether_effect_related(u8 taskId) else { gUnknown_0203CEE8 = 1; - mon = &gPlayerParty[ptr->unk9]; + mon = &gPlayerParty[ptr->slotId]; PlaySE(SE_KAIFUKU); RemoveBagItem(item, 1); move = GetMonData(mon, MON_DATA_MOVE1 + *moveslot); @@ -5663,7 +5701,7 @@ void dp05_pp_up(u8 taskId, TaskFunc task) { PlaySE(SE_SELECT); display_pokemon_menu_message(23); - sub_81B6A10(gUnknown_0203CEC8.unk9); + sub_81B6A10(gUnknown_0203CEC8.slotId); gTasks[taskId].func = ether_effect_related_3; } @@ -5719,7 +5757,7 @@ void sub_81B6DC4(u8 taskId, TaskFunc task) u16 item; PlaySE(SE_SELECT); - mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; move = &gUnknown_0203CEC8.unkE; item = gSpecialVar_ItemId; GetMonNickname(mon, gStringVar1); @@ -5750,7 +5788,7 @@ void sub_81B6DC4(u8 taskId, TaskFunc task) static void sub_81B6EB4(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; s16 *move = &gUnknown_0203CEC8.unkE; u16 item = gSpecialVar_ItemId; @@ -5828,7 +5866,7 @@ static void sub_81B7088(u8 taskId) static void sub_81B70B8(void) { - ShowSelectMovePokemonSummaryScreen(gPlayerParty, gUnknown_0203CEC8.unk9, gPlayerPartyCount - 1, sub_81B70F0, gUnknown_0203CEC8.unkE); + ShowSelectMovePokemonSummaryScreen(gPlayerParty, gUnknown_0203CEC8.slotId, gPlayerPartyCount - 1, sub_81B70F0, gUnknown_0203CEC8.unkE); } static void sub_81B70F0(void) @@ -5849,7 +5887,7 @@ static void sub_81B711C(u8 taskId) static void sub_81B7154(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; u16 move = GetMonData(mon, MON_DATA_MOVE1 + sub_81C1B94()); GetMonNickname(mon, gStringVar1); @@ -5865,7 +5903,7 @@ static void sub_81B71D4(u8 taskId) if (sub_81B1BD4() != TRUE) { - mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; RemoveMonPPBonus(mon, sub_81C1B94()); move = gUnknown_0203CEC8.unkE; SetMonMoveSlot(mon, move, sub_81C1B94()); @@ -5893,7 +5931,7 @@ static void sub_81B7294(u8 taskId) static void sub_81B72C8(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; switch (Menu_ProcessInputNoWrapClearOnChoose()) { @@ -5932,7 +5970,7 @@ static void sub_81B73E4(u8 taskId) void dp05_rare_candy(u8 taskId, TaskFunc task) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; struct Struct203CEC4 *ptr = gUnknown_0203CEC4; s16 *arrayPtr = ptr->data; u16 *itemPtr = &gSpecialVar_ItemId; @@ -5941,7 +5979,7 @@ void dp05_rare_candy(u8 taskId, TaskFunc task) if (GetMonData(mon, MON_DATA_LEVEL) != MAX_LEVEL) { sub_81B79A0(mon, arrayPtr); - cannotUseEffect = ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.unk9, *itemPtr, 0); + cannotUseEffect = ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.slotId, *itemPtr, 0); sub_81B79A0(mon, &ptr->data[6]); } else @@ -5960,7 +5998,7 @@ void dp05_rare_candy(u8 taskId, TaskFunc task) { gUnknown_0203CEE8 = 1; PlayFanfareByFanfareNum(0); - sub_81B754C(gUnknown_0203CEC8.unk9, mon); + sub_81B754C(gUnknown_0203CEC8.slotId, mon); RemoveBagItem(gSpecialVar_ItemId, 1); GetMonNickname(mon, gStringVar1); ConvertIntToDecimalStringN(gStringVar2, GetMonData(mon, MON_DATA_LEVEL), 0, 3); @@ -5974,12 +6012,12 @@ void dp05_rare_candy(u8 taskId, TaskFunc task) static void sub_81B754C(u8 slot, struct Pokemon *mon) { party_menu_get_status_condition_and_update_object(mon, &gUnknown_0203CEDC[slot]); - if (gSprites[gUnknown_0203CEDC[slot].unkC].invisible) + if (gSprites[gUnknown_0203CEDC[slot].statusSpriteId].invisible) DisplayPartyPokemonLevelCheck(mon, &gUnknown_0203CEDC[slot], 1); DisplayPartyPokemonHPCheck(mon, &gUnknown_0203CEDC[slot], 1); DisplayPartyPokemonMaxHPCheck(mon, &gUnknown_0203CEDC[slot], 1); DisplayPartyPokemonHPBarCheck(mon, &gUnknown_0203CEDC[slot]); - sub_81B5B38(gUnknown_0203CEDC[slot].unk9, mon); + sub_81B5B38(gUnknown_0203CEDC[slot].monSpriteId, mon); sub_81B0FCC(slot, 1); schedule_bg_copy_tilemap_to_vram(0); } @@ -6030,7 +6068,7 @@ static void sub_81B7704(u8 taskId) if (WaitFanfare(0) && ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))) { sub_81B3394(); - result = MonTryLearningNewMove(&gPlayerParty[gUnknown_0203CEC8.unk9], 1); + result = MonTryLearningNewMove(&gPlayerParty[gUnknown_0203CEC8.slotId], 1); gUnknown_0203CEC8.unk10 = 1; switch (result) { @@ -6052,7 +6090,7 @@ static void sub_81B7704(u8 taskId) static void sub_81B77AC(u8 taskId) { - u16 result = MonTryLearningNewMove(&gPlayerParty[gUnknown_0203CEC8.unk9], 0); + u16 result = MonTryLearningNewMove(&gPlayerParty[gUnknown_0203CEC8.slotId], 0); switch (result) { @@ -6072,14 +6110,14 @@ static void sub_81B77AC(u8 taskId) static void sub_81B7810(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; u16 targetSpecies = GetEvolutionTargetSpecies(mon, 0, 0); if (targetSpecies != SPECIES_NONE) { FreePartyPointers(); gCB2_AfterEvolution = gUnknown_0203CEC8.exitCallback; - BeginEvolutionScene(mon, targetSpecies, 1, gUnknown_0203CEC8.unk9); + BeginEvolutionScene(mon, targetSpecies, 1, gUnknown_0203CEC8.slotId); DestroyTask(taskId); } else @@ -6090,7 +6128,7 @@ static void sub_81B7810(u8 taskId) static void sub_81B787C(u8 taskId) { - GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.unk9], gStringVar1); + GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.slotId], gStringVar1); StringCopy(gStringVar2, gMoveNames[gMoveToLearn]); StringExpandPlaceholders(gStringVar4, gText_PkmnNeedsToReplaceMove); sub_81B1B5C(gStringVar4, 1); @@ -6101,7 +6139,7 @@ static void sub_81B787C(u8 taskId) static void sub_81B7910(u8 taskId, u16 move) { - GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.unk9], gStringVar1); + GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.slotId], gStringVar1); StringCopy(gStringVar2, gMoveNames[move]); StringExpandPlaceholders(gStringVar4, gText_PkmnLearnedMove3); sub_81B1B5C(gStringVar4, 1); @@ -6124,13 +6162,13 @@ void sub_81B79E8(u8 taskId, TaskFunc task) { gUnknown_0203CEC4->data[0] = 0; gUnknown_0203CEC4->data[1] = 0; - gUnknown_0203CEC4->data[2] = gUnknown_0203CEC8.unk9; + gUnknown_0203CEC4->data[2] = gUnknown_0203CEC8.slotId; sub_81B7A28(taskId); } static void sub_81B7A28(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; u16 hp; if (GetMonData(mon, MON_DATA_SPECIES) == SPECIES_NONE) @@ -6140,19 +6178,19 @@ static void sub_81B7A28(u8 taskId) } hp = GetMonData(mon, MON_DATA_HP); - if (ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.unk9, gSpecialVar_ItemId, 0)) + if (ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.slotId, gSpecialVar_ItemId, 0)) { gTasks[taskId].func = task_sacred_ash_party_loop; return; } PlaySE(SE_KAIFUKU); - party_menu_get_status_condition_and_update_object(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9]); - if (gSprites[gUnknown_0203CEDC[gUnknown_0203CEC8.unk9].unkC].invisible) - DisplayPartyPokemonLevelCheck(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], 1); + party_menu_get_status_condition_and_update_object(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId]); + if (gSprites[gUnknown_0203CEDC[gUnknown_0203CEC8.slotId].statusSpriteId].invisible) + DisplayPartyPokemonLevelCheck(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.slotId], 1); sub_81B0FCC(gUnknown_0203CEC4->data[2], 0); - sub_81B0FCC(gUnknown_0203CEC8.unk9, 1); - sub_81B1F18(taskId, gUnknown_0203CEC8.unk9, 1, GetMonData(mon, MON_DATA_HP) - hp, sub_81B7C10); + sub_81B0FCC(gUnknown_0203CEC8.slotId, 1); + sub_81B1F18(taskId, gUnknown_0203CEC8.slotId, 1, GetMonData(mon, MON_DATA_HP) - hp, sub_81B7C10); sub_81B1FA8(taskId, 0, hp); gUnknown_0203CEC4->data[0] = 1; gUnknown_0203CEC4->data[1] = 1; @@ -6165,9 +6203,9 @@ static void task_sacred_ash_party_loop(u8 taskId) if (gUnknown_0203CEC4->data[0] == 1) { gUnknown_0203CEC4->data[0] = 0; - gUnknown_0203CEC4->data[2] = gUnknown_0203CEC8.unk9; + gUnknown_0203CEC4->data[2] = gUnknown_0203CEC8.slotId; } - if (++(gUnknown_0203CEC8.unk9) == PARTY_SIZE) + if (++(gUnknown_0203CEC8.slotId) == PARTY_SIZE) { if (gUnknown_0203CEC4->data[1] == 0) { @@ -6181,7 +6219,7 @@ static void task_sacred_ash_party_loop(u8 taskId) RemoveBagItem(gSpecialVar_ItemId, 1); } gTasks[taskId].func = sub_81B6794; - gUnknown_0203CEC8.unk9 = 0; + gUnknown_0203CEC8.slotId = 0; } else { @@ -6192,7 +6230,7 @@ static void task_sacred_ash_party_loop(u8 taskId) static void sub_81B7C10(u8 taskId) { - GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.unk9], gStringVar1); + GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.slotId], gStringVar1); StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2); sub_81B1B5C(gStringVar4, 0); schedule_bg_copy_tilemap_to_vram(2); @@ -6203,7 +6241,7 @@ void sub_81B7C74(u8 taskId, TaskFunc task) { PlaySE(SE_SELECT); gCB2_AfterEvolution = gUnknown_0203CEC8.exitCallback; - if (ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.unk9, gSpecialVar_ItemId, 0)) + if (ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.slotId, gSpecialVar_ItemId, 0)) { gUnknown_0203CEE8 = 0; sub_81B1B5C(gText_WontHaveEffect, 1); @@ -6292,7 +6330,7 @@ static void sub_81B7E4C(u8 taskId) if (!gPaletteFade.active) { - mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; move = &gUnknown_0203CEC8.unkE; GetMonNickname(mon, gStringVar1); gUnknown_0203CEC8.unkE = GetTutorMove(gSpecialVar_0x8005); @@ -6333,7 +6371,7 @@ void sub_81B7F60(void) static void sub_81B7FAC(u8 taskId) { - gUnknown_0203CEFC = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_HELD_ITEM); + gUnknown_0203CEFC = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_HELD_ITEM); if (gUnknown_0203CEFC == ITEM_NONE) { sub_81B8044(taskId); @@ -6344,7 +6382,7 @@ static void sub_81B7FAC(u8 taskId) } else { - sub_81B1D1C(&gPlayerParty[gUnknown_0203CEC8.unk9], gUnknown_0203CEFC, 1); + sub_81B1D1C(&gPlayerParty[gUnknown_0203CEC8.slotId], gUnknown_0203CEFC, 1); gTasks[taskId].func = sub_81B82A0; } } @@ -6370,8 +6408,8 @@ static void sub_81B8088(u8 taskId) if (!gPaletteFade.active) { item = gUnknown_0203CEC8.unkC; - sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.unk9], item, 0, 1); - sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.unk9], item); + sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.slotId], item, 0, 1); + sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.slotId], item); sub_81B83F0(item); gTasks[taskId].func = sub_81B8104; } @@ -6379,7 +6417,7 @@ static void sub_81B8088(u8 taskId) static void sub_81B8104(u8 taskId) { - s8 slot = gUnknown_0203CEC8.unk9; + s8 slot = gUnknown_0203CEC8.slotId; if (sub_81B1BD4() != TRUE) { @@ -6392,8 +6430,8 @@ static void sub_81B814C(void) { u8 mail; - sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.unk9], gUnknown_0203CEC8.unkC); - mail = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_MAIL); + sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.slotId], gUnknown_0203CEC8.unkC); + mail = GetMonData(&gPlayerParty[gUnknown_0203CEC8.slotId], MON_DATA_MAIL); DoEasyChatScreen( EASY_CHAT_TYPE_MAIL, gSaveBlock1Ptr->mail[mail].words, @@ -6403,7 +6441,7 @@ static void sub_81B814C(void) static void sub_81B81A8(void) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; u16 item = GetMonData(mon, MON_DATA_HELD_ITEM); if (gSpecialVar_Result == FALSE) @@ -6427,7 +6465,7 @@ static void sub_81B8230(u8 taskId) if (gUnknown_0203CEFC != ITEM_NONE) sub_81B1D68(gUnknown_0203CEC8.unkC, gUnknown_0203CEFC, 0); else - sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.unk9], gUnknown_0203CEC8.unkC, 0, 1); + sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.slotId], gUnknown_0203CEC8.unkC, 0, 1); gTasks[taskId].func = sub_81B8104; } } @@ -6464,7 +6502,7 @@ static void sub_81B82D4(u8 taskId) } else { - sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.unk9], item); + sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.slotId], item); sub_81B1D68(item, gUnknown_0203CEFC, 1); gTasks[taskId].func = sub_81B8104; } @@ -6507,7 +6545,7 @@ void sub_81B8448(void) static void sub_81B8474(u8 taskId) { - struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9]; + struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.slotId]; struct MailStruct *mail; gUnknown_0203CEE8 = 0; @@ -7107,7 +7145,7 @@ static void sub_81B91B4(u8 taskId) for (i = 3; i < PARTY_SIZE; i++) { if (gUnknown_02022FF8[i - 3].species != SPECIES_NONE) - AnimateSelectedPartyIcon(gUnknown_0203CEDC[i].unk9, 0); + AnimateSelectedPartyIcon(gUnknown_0203CEDC[i].monSpriteId, 0); } PlaySE(SE_W231); // Harden SE? gTasks[taskId].func = sub_81B9240; @@ -7138,10 +7176,10 @@ static void sub_81B9294(u8 taskId) { if (gUnknown_02022FF8[i - 3].species != SPECIES_NONE) { - sub_81B9270(gUnknown_0203CEDC[i].unk9, data[0] - 8); - sub_81B9270(gUnknown_0203CEDC[i].unkA, data[0] - 8); - sub_81B9270(gUnknown_0203CEDC[i].unkB, data[0] - 8); - sub_81B9270(gUnknown_0203CEDC[i].unkC, data[0] - 8); + sub_81B9270(gUnknown_0203CEDC[i].monSpriteId, data[0] - 8); + sub_81B9270(gUnknown_0203CEDC[i].itemSpriteId, data[0] - 8); + sub_81B9270(gUnknown_0203CEDC[i].pokeballSpriteId, data[0] - 8); + sub_81B9270(gUnknown_0203CEDC[i].statusSpriteId, data[0] - 8); } } ChangeBgX(2, 0x800, 1); diff --git a/src/pokemon.c b/src/pokemon.c index 502240d8b..39a7c0bad 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1879,14 +1879,14 @@ static const u8 sDeoxysBaseStats[] = 90, // Sp.Defense }; -const u16 gUnknown_08329D54[] = +const u16 gLinkPlayerFacilityClasses[] = { FACILITY_CLASS_COOLTRAINER_M, FACILITY_CLASS_BLACK_BELT, FACILITY_CLASS_CAMPER, FACILITY_CLASS_YOUNGSTER, FACILITY_CLASS_PSYCHIC_M, FACILITY_CLASS_BUG_CATCHER, - FACILITY_CLASS_PKMN_BREEDER_M, FACILITY_CLASS_GUITARIST, FACILITY_CLASS_COOLTRAINER_F, - FACILITY_CLASS_HEX_MANIAC, FACILITY_CLASS_PICNICKER, FACILITY_CLASS_LASS, - FACILITY_CLASS_PSYCHIC_F, FACILITY_CLASS_BATTLE_GIRL, FACILITY_CLASS_POKEMON_BREEDER_F, - FACILITY_CLASS_BEAUTY + FACILITY_CLASS_PKMN_BREEDER_M, FACILITY_CLASS_GUITARIST, + FACILITY_CLASS_COOLTRAINER_F, FACILITY_CLASS_HEX_MANIAC, FACILITY_CLASS_PICNICKER, + FACILITY_CLASS_LASS, FACILITY_CLASS_PSYCHIC_F, FACILITY_CLASS_BATTLE_GIRL, + FACILITY_CLASS_POKEMON_BREEDER_F, FACILITY_CLASS_BEAUTY }; const struct SpriteTemplate gUnknown_08329D98[MAX_BATTLERS_COUNT] = @@ -2227,10 +2227,10 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv); } - if (gBaseStats[species].ability2) + if (gBaseStats[species].abilities[1]) { value = personality & 1; - SetBoxMonData(boxMon, MON_DATA_ALT_ABILITY, &value); + SetBoxMonData(boxMon, MON_DATA_ABILITY_NUM, &value); } GiveBoxMonInitialMoveset(boxMon); @@ -2381,8 +2381,8 @@ void CreateBattleTowerMon(struct Pokemon *mon, struct BattleTowerPokemon *src) SetMonData(mon, MON_DATA_SPEED_EV, &src->speedEV); SetMonData(mon, MON_DATA_SPATK_EV, &src->spAttackEV); SetMonData(mon, MON_DATA_SPDEF_EV, &src->spDefenseEV); - value = src->altAbility; - SetMonData(mon, MON_DATA_ALT_ABILITY, &value); + value = src->abilityNum; + SetMonData(mon, MON_DATA_ABILITY_NUM, &value); value = src->hpIV; SetMonData(mon, MON_DATA_HP_IV, &value); value = src->attackIV; @@ -2443,8 +2443,8 @@ void CreateBattleTowerMon2(struct Pokemon *mon, struct BattleTowerPokemon *src, SetMonData(mon, MON_DATA_SPEED_EV, &src->speedEV); SetMonData(mon, MON_DATA_SPATK_EV, &src->spAttackEV); SetMonData(mon, MON_DATA_SPDEF_EV, &src->spDefenseEV); - value = src->altAbility; - SetMonData(mon, MON_DATA_ALT_ABILITY, &value); + value = src->abilityNum; + SetMonData(mon, MON_DATA_ABILITY_NUM, &value); value = src->hpIV; SetMonData(mon, MON_DATA_HP_IV, &value); value = src->attackIV; @@ -2559,7 +2559,7 @@ void sub_80686FC(struct Pokemon *mon, struct BattleTowerPokemon *dest) dest->speedIV = GetMonData(mon, MON_DATA_SPEED_IV, NULL); dest->spAttackIV = GetMonData(mon, MON_DATA_SPATK_IV, NULL); dest->spDefenseIV = GetMonData(mon, MON_DATA_SPDEF_IV, NULL); - dest->altAbility = GetMonData(mon, MON_DATA_ALT_ABILITY, NULL); + dest->abilityNum = GetMonData(mon, MON_DATA_ABILITY_NUM, NULL); dest->personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL); GetMonData(mon, MON_DATA_NICKNAME, dest->nickname); } @@ -2690,7 +2690,7 @@ u16 sub_8068B48(void) arrId = gLinkPlayers[linkId].trainerId & 7; arrId |= gLinkPlayers[linkId].gender << 3; - return FacilityClassToPicIndex(gUnknown_08329D54[arrId]); + return FacilityClassToPicIndex(gLinkPlayerFacilityClasses[arrId]); } u16 sub_8068BB0(void) @@ -2705,7 +2705,7 @@ u16 sub_8068BB0(void) arrId = gLinkPlayers[linkId].trainerId & 7; arrId |= gLinkPlayers[linkId].gender << 3; - return gFacilityClassToTrainerClass[gUnknown_08329D54[arrId]]; + return gFacilityClassToTrainerClass[gLinkPlayerFacilityClasses[arrId]]; } void CreateObedientEnemyMon(void) @@ -3557,8 +3557,8 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data) case MON_DATA_IS_EGG: retVal = substruct3->isEgg; break; - case MON_DATA_ALT_ABILITY: - retVal = substruct3->altAbility; + case MON_DATA_ABILITY_NUM: + retVal = substruct3->abilityNum; break; case MON_DATA_COOL_RIBBON: retVal = substruct3->coolRibbon; @@ -3936,8 +3936,8 @@ void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg) else boxMon->isEgg = 0; break; - case MON_DATA_ALT_ABILITY: - SET8(substruct3->altAbility); + case MON_DATA_ABILITY_NUM: + SET8(substruct3->abilityNum); break; case MON_DATA_COOL_RIBBON: SET8(substruct3->coolRibbon); @@ -4144,12 +4144,12 @@ u8 GetMonsStateToDoubles_2(void) return (aliveCount > 1) ? PLAYER_HAS_TWO_USABLE_MONS : PLAYER_HAS_ONE_USABLE_MON; } -u8 GetAbilityBySpecies(u16 species, bool8 altAbility) +u8 GetAbilityBySpecies(u16 species, bool8 abilityNum) { - if (altAbility) - gLastUsedAbility = gBaseStats[species].ability2; + if (abilityNum) + gLastUsedAbility = gBaseStats[species].abilities[1]; else - gLastUsedAbility = gBaseStats[species].ability1; + gLastUsedAbility = gBaseStats[species].abilities[0]; return gLastUsedAbility; } @@ -4157,8 +4157,8 @@ u8 GetAbilityBySpecies(u16 species, bool8 altAbility) u8 GetMonAbility(struct Pokemon *mon) { u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); - u8 altAbility = GetMonData(mon, MON_DATA_ALT_ABILITY, NULL); - return GetAbilityBySpecies(species, altAbility); + u8 abilityNum = GetMonData(mon, MON_DATA_ABILITY_NUM, NULL); + return GetAbilityBySpecies(species, abilityNum); } void CreateSecretBaseEnemyParty(struct SecretBase *secretBaseRecord) @@ -4299,12 +4299,12 @@ void PokemonToBattleMon(struct Pokemon *src, struct BattlePokemon *dst) dst->spAttack = GetMonData(src, MON_DATA_SPATK, NULL); dst->spDefense = GetMonData(src, MON_DATA_SPDEF, NULL); dst->isEgg = GetMonData(src, MON_DATA_IS_EGG, NULL); - dst->altAbility = GetMonData(src, MON_DATA_ALT_ABILITY, NULL); + dst->abilityNum = GetMonData(src, MON_DATA_ABILITY_NUM, NULL); dst->otId = GetMonData(src, MON_DATA_OT_ID, NULL); dst->type1 = gBaseStats[dst->species].type1; dst->type2 = gBaseStats[dst->species].type2; dst->type3 = TYPE_MYSTERY; - dst->ability = GetAbilityBySpecies(dst->species, dst->altAbility); + dst->ability = GetAbilityBySpecies(dst->species, dst->abilityNum); GetMonData(src, MON_DATA_NICKNAME, nickname); StringCopy10(dst->nickname, nickname); GetMonData(src, MON_DATA_OT_NAME, dst->otName); diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index 6a135875e..ee68de326 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -1223,7 +1223,7 @@ u8 GetValidMonIconPalIndex(u16 species) return gMonIconPaletteIndices[species]; } -u8 sub_80D30A0(u16 species) +u8 GetMonIconPaletteIndexFromSpecies(u16 species) { return gMonIconPaletteIndices[species]; } diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 7019e04b5..4750b4679 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -115,7 +115,7 @@ static EWRAM_DATA struct PokemonSummaryScreenData u8 level; // 0x5 u8 ribbonCount; // 0x6 u8 ailment; // 0x7 - u8 altAbility; // 0x8 + u8 abilityNum; // 0x8 u8 metLocation; // 0x9 u8 metLevel; // 0xA u8 metGame; // 0xB @@ -1460,7 +1460,7 @@ static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *mon) sum->species2 = GetMonData(mon, MON_DATA_SPECIES2); sum->exp = GetMonData(mon, MON_DATA_EXP); sum->level = GetMonData(mon, MON_DATA_LEVEL); - sum->altAbility = GetMonData(mon, MON_DATA_ALT_ABILITY); + sum->abilityNum = GetMonData(mon, MON_DATA_ABILITY_NUM); sum->item = GetMonData(mon, MON_DATA_HELD_ITEM); sum->pid = GetMonData(mon, MON_DATA_PERSONALITY); sum->sanity = GetMonData(mon, MON_DATA_SANITY_IS_BAD_EGG); @@ -3172,13 +3172,13 @@ static void PrintMonOTID(void) static void PrintMonAbilityName(void) { - u8 ability = GetAbilityBySpecies(sMonSummaryScreen->summary.species, sMonSummaryScreen->summary.altAbility); + u8 ability = GetAbilityBySpecies(sMonSummaryScreen->summary.species, sMonSummaryScreen->summary.abilityNum); SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_ABILITY), gAbilityNames[ability], 0, 1, 0, 1); } static void PrintMonAbilityDescription(void) { - u8 ability = GetAbilityBySpecies(sMonSummaryScreen->summary.species, sMonSummaryScreen->summary.altAbility); + u8 ability = GetAbilityBySpecies(sMonSummaryScreen->summary.species, sMonSummaryScreen->summary.abilityNum); SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_ABILITY), gAbilityDescriptionPointers[ability], 0, 17, 0, 0); } diff --git a/src/pokenav_match_call_ui.c b/src/pokenav_match_call_ui.c index 795b4d599..bae3a8d7a 100644 --- a/src/pokenav_match_call_ui.c +++ b/src/pokenav_match_call_ui.c @@ -1164,4 +1164,4 @@ u32 sub_81C91AC(struct UnknownInnerStruct_81C81D4 *a0, const struct BgTemplate * a0->downArrow = NULL; return 1; } -} \ No newline at end of file +} diff --git a/src/shop.c b/src/shop.c index 1c6d7cf2e..7f1a8f27e 100755 --- a/src/shop.c +++ b/src/shop.c @@ -1230,4 +1230,4 @@ void CreateDecorationShop2Menu(const u16 *itemsForSale) CreateShopMenu(MART_TYPE_DECOR2); SetShopItemsForSale(itemsForSale); SetShopMenuCallback(EnableBothScriptContexts); -} \ No newline at end of file +} diff --git a/src/strings.c b/src/strings.c index 793256edb..8463cfacb 100644 --- a/src/strings.c +++ b/src/strings.c @@ -424,45 +424,45 @@ const u8 gText_PkmnGotOverInfatuation[] = _("{STR_VAR_1} got over its\ninfatuati const u8 gText_ThrowAwayItem[] = _("Throw away this\n{STR_VAR_1}?"); const u8 gText_ItemThrownAway[] = _("The {STR_VAR_1}\nwas thrown away.{PAUSE_UNTIL_PRESS}"); const u8 gUnknown_085E9E2E[] = _("Teach which POKéMON?"); -const u8 gUnknown_085E9E43[] = _("Choose a POKéMON."); -const u8 gUnknown_085E9E55[] = _("Move to where?"); -const u8 gUnknown_085E9E64[] = _("Teach which POKéMON?"); -const u8 gUnknown_085E9E79[] = _("Use on which POKéMON?"); -const u8 gUnknown_085E9E8F[] = _("Give to which POKéMON?"); -const u8 gUnknown_085E9EA6[] = _("Do what with this {PKMN}?"); -const u8 gUnknown_085E9EBC[] = _("There's nothing to CUT."); -const u8 gUnknown_085E9ED4[] = _("You can't SURF here."); -const u8 gUnknown_085E9EE9[] = _("You're already SURFING."); -const u8 gUnknown_085E9F01[] = _("Can't use that here."); -const u8 gUnknown_085E9F16[] = _("Restore which move?"); -const u8 gUnknown_085E9F2A[] = _("Boost PP of which move?"); -const u8 gUnknown_085E9F42[] = _("Do what with an item?"); -const u8 gUnknown_085E9F58[] = _("No POKéMON for battle!"); -const u8 gUnknown_085E9F6F[] = _("Choose a POKéMON."); -const u8 gUnknown_085E9F81[] = _("Not enough HP…"); -const u8 gUnknown_085E9F90[] = _("{STR_VAR_1} POKéMON are needed."); -const u8 gUnknown_085E9FA7[] = _("POKéMON can't be the same."); -const u8 gUnknown_085E9FC2[] = _("No identical hold items."); -const u8 gUnknown_085E9FDB[] = _("The current is much too fast!"); -const u8 gUnknown_085E9FF9[] = _("Do what with the MAIL?"); -const u8 gUnknown_085EA010[] = _("Choose POKéMON or CANCEL."); -const u8 gUnknown_085EA02A[] = _("Choose POKéMON and confirm."); -const u8 gUnknown_085EA046[] = _("Let's enjoy cycling!"); -const u8 gUnknown_085EA05B[] = _("This is in use already."); -const u8 gUnknown_085EA073[] = _("{STR_VAR_1} is already holding\none {STR_VAR_2}."); -const u8 gUnknown_085EA091[] = _("No use."); -const u8 gUnknown_085EA099[] = _("ABLE"); -const u8 gUnknown_085EA09E[] = _("FIRST"); -const u8 gUnknown_085EA0A4[] = _("SECOND"); -const u8 gUnknown_085EA0AB[] = _("THIRD"); -const u8 gUnknown_085EA0B1[] = _("ABLE"); -const u8 gUnknown_085EA0B6[] = _("NOT ABLE"); -const u8 gUnknown_085EA0BF[] = _("ABLE!"); -const u8 gUnknown_085EA0C5[] = _("NOT ABLE!"); -const u8 gUnknown_085EA0CF[] = _("LEARNED"); -const u8 gUnknown_085EA0D7[] = _("HAVE"); -const u8 gUnknown_085EA0DC[] = _("DON'T HAVE"); -const u8 gUnknown_085EA0E7[] = _("FOURTH"); +const u8 gText_ChoosePokemon[] = _("Choose a POKéMON."); +const u8 gText_MoveToWhere[] = _("Move to where?"); +const u8 gText_TeachWhichPokemon[] = _("Teach which POKéMON?"); +const u8 gText_UseOnWhichPokemon[] = _("Use on which POKéMON?"); +const u8 gText_GiveToWhichPokemon[] = _("Give to which POKéMON?"); +const u8 gText_DoWhatWithPokemon[] = _("Do what with this {PKMN}?"); +const u8 gText_NothingToCut[] = _("There's nothing to CUT."); +const u8 gText_CantSurfHere[] = _("You can't SURF here."); +const u8 gText_AlreadySurfing[] = _("You're already SURFING."); +const u8 gText_CantUseHere[] = _("Can't use that here."); +const u8 gText_RestoreWhichMove[] = _("Restore which move?"); +const u8 gText_BoostPp[] = _("Boost PP of which move?"); +const u8 gText_DoWhatWithItem[] = _("Do what with an item?"); +const u8 gText_NoPokemonForBattle[] = _("No POKéMON for battle!"); +const u8 gText_ChoosePokemon2[] = _("Choose a POKéMON."); +const u8 gText_NotEnoughHp[] = _("Not enough HP…"); +const u8 gText_PokemonAreNeeded[] = _("{STR_VAR_1} POKéMON are needed."); +const u8 gText_PokemonCantBeSame[] = _("POKéMON can't be the same."); +const u8 gText_NoIdenticalHoldItems[] = _("No identical hold items."); +const u8 gText_CurrentIsTooFast[] = _("The current is much too fast!"); +const u8 gText_DoWhatWithMail[] = _("Do what with the MAIL?"); +const u8 gText_ChoosePokemonCancel[] = _("Choose POKéMON or CANCEL."); +const u8 gText_ChoosePokemonConfirm[] = _("Choose POKéMON and confirm."); +const u8 gText_EnjoyCycling[] = _("Let's enjoy cycling!"); +const u8 gText_InUseAlready_PM[] = _("This is in use already."); +const u8 gText_AlreadyHoldingOne[] = _("{STR_VAR_1} is already holding\none {STR_VAR_2}."); +const u8 gText_NoUse[] = _("No use."); +const u8 gText_Able[] = _("ABLE"); +const u8 gText_First_PM[] = _("FIRST"); +const u8 gText_Second_PM[] = _("SECOND"); +const u8 gText_Third_PM[] = _("THIRD"); +const u8 gText_Able2[] = _("ABLE"); +const u8 gText_NotAble[] = _("NOT ABLE"); +const u8 gText_Able3[] = _("ABLE!"); +const u8 gText_NotAble2[] = _("NOT ABLE!"); +const u8 gText_Learned[] = _("LEARNED"); +const u8 gText_Have[] = _("HAVE"); +const u8 gText_DontHave[] = _("DON'T HAVE"); +const u8 gText_Fourth[] = _("FOURTH"); const u8 gText_PkmnCantParticipate[] = _("That POKéMON can't participate.{PAUSE_UNTIL_PRESS}"); const u8 gText_CancelParticipation[] = _("Cancel participation?"); const u8 gText_CancelBattle[] = _("Cancel the battle?"); diff --git a/src/trade.c b/src/trade.c index d97325174..f7650ff03 100644 --- a/src/trade.c +++ b/src/trade.c @@ -5840,7 +5840,7 @@ static void _CreateInGameTradePokemon(u8 whichPlayerMon, u8 whichInGameTrade) SetMonData(pokemon, MON_DATA_NICKNAME, inGameTrade->name); SetMonData(pokemon, MON_DATA_OT_NAME, inGameTrade->otName); SetMonData(pokemon, MON_DATA_OT_GENDER, &inGameTrade->otGender); - SetMonData(pokemon, MON_DATA_ALT_ABILITY, &inGameTrade->secondAbility); + SetMonData(pokemon, MON_DATA_ABILITY_NUM, &inGameTrade->secondAbility); SetMonData(pokemon, MON_DATA_BEAUTY, &inGameTrade->stats[1]); SetMonData(pokemon, MON_DATA_CUTE, &inGameTrade->stats[2]); SetMonData(pokemon, MON_DATA_COOL, &inGameTrade->stats[0]); diff --git a/src/trainer_card.c b/src/trainer_card.c index 52a060ae9..9c4816c42 100755 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -106,7 +106,7 @@ static void sub_80C438C(u8); static void sub_80C4FF0(void); static void sub_80C4550(u16*); static void sub_80C45C0(u16*); -static void sub_80C4630(void); +static void TrainerCard_PrintStarsAndBadgesOnCard(void); static void PrintTimeOnCard(void); static void sub_80C4918(void); static bool8 sub_80C4940(void); @@ -117,7 +117,7 @@ static bool8 HasAllFrontierSymbols(void); static u8 GetRubyTrainerStars(struct TrainerCard*); static u16 GetCaughtMonsCount(void); static void SetPlayerCardData(struct TrainerCard*, u8); -static void sub_80C3020(struct TrainerCard*); +static void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard*); static u8 VersionToCardType(u8); static void SetDataFromTrainerCard(void); static void HandleGpuRegs(void); @@ -141,7 +141,7 @@ static void PrintBerryCrushStringOnCard(void); static void PrintPokeblockStringOnCard(void); static void PrintUnionStringOnCard(void); static void PrintContestStringOnCard(void); -static void sub_80C4140(void); +static void TrainerCard_PrintPokemonIconsOnCard(void); static void PrintBattleFacilityStringOnCard(void); static void sub_80C42A4(void); static void PrintAllVariableNumsOnCardPage2(void); @@ -179,17 +179,17 @@ static const u16 gEmeraldTrainerCard3Star_Pal[] = INCBIN_U16("graphics/trainer_c static const u16 gFireRedTrainerCard3Star_Pal[] = INCBIN_U16("graphics/trainer_card/three_stars_fr.gbapal"); static const u16 gEmeraldTrainerCard4Star_Pal[] = INCBIN_U16("graphics/trainer_card/four_stars.gbapal"); static const u16 gFireRedTrainerCard4Star_Pal[] = INCBIN_U16("graphics/trainer_card/four_stars_fr.gbapal"); -static const u16 gUnknown_0856F4AC[] = INCBIN_U16("graphics/trainer_card/female_bg.gbapal"); -static const u16 gUnknown_0856F4CC[] = INCBIN_U16("graphics/trainer_card/female_bg_fr.gbapal"); -static const u16 gUnknown_0856F4EC[] = INCBIN_U16("graphics/trainer_card/badges.gbapal"); -static const u16 gUnknown_0856F50C[] = INCBIN_U16("graphics/trainer_card/badges_fr.gbapal"); +static const u16 sEmeraldTrainerCardFemaleBackground_Pal[] = INCBIN_U16("graphics/trainer_card/female_bg.gbapal"); +static const u16 sFireRedTrainerCardFemaleBackground_Pal[] = INCBIN_U16("graphics/trainer_card/female_bg_fr.gbapal"); +static const u16 sEmeraldTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/badges.gbapal"); +static const u16 sFireRedTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/badges_fr.gbapal"); static const u16 gUnknown_0856F52C[] = INCBIN_U16("graphics/trainer_card/gold.gbapal"); static const u16 gUnknown_0856F54C[] = INCBIN_U16("graphics/trainer_card/stickers_fr1.gbapal"); static const u16 gUnknown_0856F56C[] = INCBIN_U16("graphics/trainer_card/stickers_fr2.gbapal"); static const u16 gUnknown_0856F58C[] = INCBIN_U16("graphics/trainer_card/stickers_fr3.gbapal"); static const u16 gUnknown_0856F5AC[] = INCBIN_U16("graphics/trainer_card/stickers_fr4.gbapal"); -static const u32 gUnknown_0856F5CC[] = INCBIN_U32("graphics/trainer_card/badges.4bpp.lz"); -static const u32 gUnknown_0856F814[] = INCBIN_U32("graphics/trainer_card/badges_fr.4bpp.lz"); +static const u32 sEmeraldTrainerCardBadges_Tile[] = INCBIN_U32("graphics/trainer_card/badges.4bpp.lz"); +static const u32 sFireRedTrainerCardBadges_Tile[] = INCBIN_U32("graphics/trainer_card/badges_fr.4bpp.lz"); static const struct BgTemplate gUnknown_0856FAB4[4] = { @@ -376,7 +376,7 @@ static void sub_80C2760(u8 taskId) sData->var_0++; break; case 6: - sub_80C4630(); + TrainerCard_PrintStarsAndBadgesOnCard(); sData->var_0++; break; case 7: @@ -528,9 +528,9 @@ static bool8 LoadCardGfx(void) break; case 3: if (sData->cardType != CARD_TYPE_FRLG) - LZ77UnCompWram(gUnknown_0856F5CC, sData->var_13A8); + LZ77UnCompWram(sEmeraldTrainerCardBadges_Tile, sData->var_13A8); else - LZ77UnCompWram(gUnknown_0856F814, sData->var_13A8); + LZ77UnCompWram(sFireRedTrainerCardBadges_Tile, sData->var_13A8); break; case 4: if (sData->cardType != CARD_TYPE_FRLG) @@ -722,7 +722,7 @@ static void SetPlayerCardData(struct TrainerCard *trainerCard, u8 cardType) } } -static void sub_80C3020(struct TrainerCard *trainerCard) +static void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *trainerCard) { memset(trainerCard, 0, sizeof(struct TrainerCard)); trainerCard->version = GAME_VERSION; @@ -733,9 +733,9 @@ static void sub_80C3020(struct TrainerCard *trainerCard) trainerCard->stars++; if (trainerCard->gender == FEMALE) - trainerCard->var_4F = gUnknown_08329D54[(trainerCard->trainerId % 8) + 8]; + trainerCard->var_4F = gLinkPlayerFacilityClasses[(trainerCard->trainerId % 8) + 8]; else - trainerCard->var_4F = gUnknown_08329D54[trainerCard->trainerId % 8]; + trainerCard->var_4F = gLinkPlayerFacilityClasses[trainerCard->trainerId % 8]; } void TrainerCard_GenerateCardForPlayer(struct TrainerCard *trainerCard) @@ -749,9 +749,9 @@ void TrainerCard_GenerateCardForPlayer(struct TrainerCard *trainerCard) trainerCard->stars++; if (trainerCard->gender == FEMALE) - trainerCard->var_4F = gUnknown_08329D54[(trainerCard->trainerId % 8) + 8]; + trainerCard->var_4F = gLinkPlayerFacilityClasses[(trainerCard->trainerId % 8) + 8]; else - trainerCard->var_4F = gUnknown_08329D54[trainerCard->trainerId % 8]; + trainerCard->var_4F = gLinkPlayerFacilityClasses[trainerCard->trainerId % 8]; } void CopyTrainerCardData(struct TrainerCard *dst, u16 *src, u8 gameVersion) @@ -938,7 +938,7 @@ static bool8 PrintStringsOnCardPage2(void) PrintContestStringOnCard(); break; case 6: - sub_80C4140(); + TrainerCard_PrintPokemonIconsOnCard(); PrintBattleFacilityStringOnCard(); break; case 7: @@ -1300,7 +1300,7 @@ static void PrintBattleFacilityStringOnCard(void) } } -static void sub_80C4140(void) +static void TrainerCard_PrintPokemonIconsOnCard(void) { u8 i; u8 buffer[] = {0x05, 0x06, 0x07, 0x08, 0x09, 0x0a}; @@ -1312,7 +1312,7 @@ static void sub_80C4140(void) { if (sData->trainerCard.monSpecies[i]) { - u8 monSpecies = sub_80D30A0(sData->trainerCard.monSpecies[i]); + u8 monSpecies = GetMonIconPaletteIndexFromSpecies(sData->trainerCard.monSpecies[i]); WriteSequenceToBgTilemapBuffer(3, 16 * i + 224, buffer2[i] + 3, 15, 4, 4, buffer[monSpecies], 1); } } @@ -1392,16 +1392,16 @@ static u8 SetCardBgsAndPals(void) if (sData->cardType != CARD_TYPE_FRLG) { LoadPalette(gEmeraldTrainerCardStarPals[sData->trainerCard.stars], 0, 96); - LoadPalette(gUnknown_0856F4EC, 48, 32); + LoadPalette(sEmeraldTrainerCardBadges_Pal, 48, 32); if (sData->trainerCard.gender) - LoadPalette(gUnknown_0856F4AC, 16, 32); + LoadPalette(sEmeraldTrainerCardFemaleBackground_Pal, 16, 32); } else { LoadPalette(gFireRedTrainerCardStarPals[sData->trainerCard.stars], 0, 96); - LoadPalette(gUnknown_0856F50C, 48, 32); + LoadPalette(sFireRedTrainerCardBadges_Pal, 48, 32); if (sData->trainerCard.gender) - LoadPalette(gUnknown_0856F4CC, 16, 32); + LoadPalette(sFireRedTrainerCardFemaleBackground_Pal, 16, 32); } LoadPalette(gUnknown_0856F52C, 64, 32); break; @@ -1458,7 +1458,7 @@ static void sub_80C45C0(u16* ptr) static const u8 gUnknown_0856FB78[] = {7, 7}; -static void sub_80C4630(void) +static void TrainerCard_PrintStarsAndBadgesOnCard(void) { s16 i, x; u16 tileNum = 192; @@ -1684,7 +1684,7 @@ static bool8 sub_80C4C1C(struct Task* task) sub_80C438C(2); sub_80C4550(sData->var_EF8); sub_80C45C0(sData->var_598); - sub_80C4630(); + TrainerCard_PrintStarsAndBadgesOnCard(); } sub_80C438C(1); sData->var_8 ^= 1; @@ -1764,7 +1764,7 @@ void ShowPlayerTrainerCard(void (*callback)(void)) sData->isLink = FALSE; sData->language = GAME_LANGUAGE; - sub_80C3020(&sData->trainerCard); + TrainerCard_GenerateCardForLinkPlayer(&sData->trainerCard); SetMainCallback2(CB2_InitTrainerCard); }