diff --git a/asm/macros/scrcmd.inc b/asm/macros/scrcmd.inc index 915494bb67..7fd5e62978 100644 --- a/asm/macros/scrcmd.inc +++ b/asm/macros/scrcmd.inc @@ -4738,9 +4738,9 @@ .short \width .endm - .macro SetPartyGiratinaForm form + .macro UpdatePartyGiratinaForm forceOrigin .short 808 - .short \form + .short \forceOrigin .endm .macro ScrCmd_329 arg0, arg1, arg2, arg3 diff --git a/generated/evolution_methods.txt b/generated/evolution_methods.txt index 5046c6081e..e03231d7ff 100644 --- a/generated/evolution_methods.txt +++ b/generated/evolution_methods.txt @@ -1,10 +1,10 @@ EVO_NONE -EVO_LEVEL_HAPPINESS -EVO_LEVEL_HAPPINESS_DAY -EVO_LEVEL_HAPPINESS_NIGHT +EVO_LEVEL_FRIENDSHIP +EVO_LEVEL_FRIENDSHIP_DAY +EVO_LEVEL_FRIENDSHIP_NIGHT EVO_LEVEL EVO_TRADE -EVO_TRADE_WITH_HELD_ITEM +EVO_TRADE_HELD_ITEM EVO_USE_ITEM EVO_LEVEL_ATK_GT_DEF EVO_LEVEL_ATK_EQ_DEF @@ -16,8 +16,8 @@ EVO_LEVEL_SHEDINJA EVO_LEVEL_BEAUTY EVO_USE_ITEM_MALE EVO_USE_ITEM_FEMALE -EVO_LEVEL_WITH_HELD_ITEM_DAY -EVO_LEVEL_WITH_HELD_ITEM_NIGHT +EVO_LEVEL_HELD_ITEM_DAY +EVO_LEVEL_HELD_ITEM_NIGHT EVO_LEVEL_KNOW_MOVE EVO_LEVEL_SPECIES_IN_PARTY EVO_LEVEL_MALE diff --git a/generated/gender_ratios.txt b/generated/gender_ratios.txt index c453f1f638..478165f2d5 100644 --- a/generated/gender_ratios.txt +++ b/generated/gender_ratios.txt @@ -5,4 +5,4 @@ GENDER_RATIO_FEMALE_50 = 127 GENDER_RATIO_FEMALE_75 = 191 GENDER_RATIO_FEMALE_87_5 = 223 GENDER_RATIO_FEMALE_ONLY = 254 -GENDER_RATIO_NO_GENDER = 255 +GENDER_RATIO_UNKNOWN = 255 diff --git a/generated/species_data_params.txt b/generated/species_data_params.txt index 438c52a996..91a35ed414 100644 --- a/generated/species_data_params.txt +++ b/generated/species_data_params.txt @@ -7,7 +7,7 @@ SPECIES_DATA_BASE_SP_DEF SPECIES_DATA_TYPE_1 SPECIES_DATA_TYPE_2 SPECIES_DATA_CATCH_RATE -SPECIES_DATA_BASE_EXP_REWARD +SPECIES_DATA_EXP_YIELD SPECIES_DATA_EV_HP_YIELD SPECIES_DATA_EV_ATK_YIELD SPECIES_DATA_EV_DEF_YIELD @@ -17,7 +17,7 @@ SPECIES_DATA_EV_SP_DEF_YIELD SPECIES_DATA_HELD_ITEM_COMMON SPECIES_DATA_HELD_ITEM_RARE SPECIES_DATA_GENDER_RATIO -SPECIES_DATA_HATCH_CYCLES +SPECIES_DATA_EGG_CYCLES SPECIES_DATA_BASE_FRIENDSHIP SPECIES_DATA_EXP_RATE SPECIES_DATA_EGG_GROUP_1 diff --git a/include/applications/poffin_case/manager.h b/include/applications/poffin_case/manager.h index 3bc87c1ae5..31ba2bda22 100644 --- a/include/applications/poffin_case/manager.h +++ b/include/applications/poffin_case/manager.h @@ -34,8 +34,8 @@ typedef struct PoffinManagerMessages { String *discardStr; String *thrownOutStr; String *headerStr; - String *flavorStrs[FLAVOR_MAX + 1]; - String *flavorDescs[FLAVOR_MAX]; + String *flavorStrs[FLAVOR_COUNT + 1]; + String *flavorDescs[FLAVOR_COUNT]; u8 textDelay; u8 unused[3]; } PoffinManagerMessages; @@ -74,8 +74,8 @@ typedef struct PoffinManager { SpriteSystem *spriteSys; SpriteManager *spriteMan; Sprite *listSprites[NUM_LIST_SPRITES]; - Sprite *flavorSprites[FLAVOR_MAX]; - Sprite *buttonSprites[FLAVOR_MAX + 1]; + Sprite *flavorSprites[FLAVOR_COUNT]; + Sprite *buttonSprites[FLAVOR_COUNT + 1]; PoffinSpriteManager *poffinSpriteMan; PoffinSprite *poffinSprite; } PoffinManager; diff --git a/include/applications/pokemon_summary_screen/main.h b/include/applications/pokemon_summary_screen/main.h index ce292fead8..839d452aef 100644 --- a/include/applications/pokemon_summary_screen/main.h +++ b/include/applications/pokemon_summary_screen/main.h @@ -383,9 +383,9 @@ typedef struct PokemonSummaryMonData { u8 ability; u8 nature; - u16 moves[LEARNED_MOVES_MAX]; - u8 curPP[LEARNED_MOVES_MAX]; - u8 maxPP[LEARNED_MOVES_MAX]; + u16 moves[MAX_MON_MOVES]; + u8 curPP[MAX_MON_MOVES]; + u8 maxPP[MAX_MON_MOVES]; u8 OTGender; u8 cool; diff --git a/include/battle/ai_context.h b/include/battle/ai_context.h index aacda4c631..5bcc7f3593 100644 --- a/include/battle/ai_context.h +++ b/include/battle/ai_context.h @@ -22,9 +22,9 @@ typedef struct AIContext { u8 padding0013; int padding0014; // this does not match with a u32, weird - u8 moveDamageRolls[LEARNED_MOVES_MAX]; + u8 moveDamageRolls[MAX_MON_MOVES]; - u16 battlerMoves[MAX_BATTLERS][LEARNED_MOVES_MAX]; + u16 battlerMoves[MAX_BATTLERS][MAX_MON_MOVES]; u8 battlerAbilities[MAX_BATTLERS]; u16 battlerHeldItems[MAX_BATTLERS]; diff --git a/include/battle/battle_mon.h b/include/battle/battle_mon.h index 43e0cba735..3328a731ac 100644 --- a/include/battle/battle_mon.h +++ b/include/battle/battle_mon.h @@ -61,7 +61,7 @@ typedef struct BattleMon { u16 speed; u16 spAttack; u16 spDefense; - u16 moves[LEARNED_MOVES_MAX]; + u16 moves[MAX_MON_MOVES]; u32 hpIV : 5; u32 attackIV : 5; @@ -96,8 +96,8 @@ typedef struct BattleMon { u32 pressureAnnounced : 1; u32 padding0028_0B : 2; - u8 ppCur[LEARNED_MOVES_MAX]; - u8 ppUps[LEARNED_MOVES_MAX]; + u8 ppCur[MAX_MON_MOVES]; + u8 ppUps[MAX_MON_MOVES]; u8 level; u8 friendship; diff --git a/include/battle/move_display_info.h b/include/battle/move_display_info.h index 89075dcaf0..cae5262238 100644 --- a/include/battle/move_display_info.h +++ b/include/battle/move_display_info.h @@ -4,9 +4,9 @@ #include "constants/moves.h" typedef struct MoveDisplayInfo { - u16 move[LEARNED_MOVES_MAX]; - u16 curPP[LEARNED_MOVES_MAX]; - u16 maxPP[LEARNED_MOVES_MAX]; + u16 move[MAX_MON_MOVES]; + u16 curPP[MAX_MON_MOVES]; + u16 maxPP[MAX_MON_MOVES]; } MoveDisplayInfo; #endif // POKEPLATINUM_MOVE_DISPLAY_INFO diff --git a/include/constants/flavor.h b/include/constants/flavor.h index eca592255d..eeeefa4197 100644 --- a/include/constants/flavor.h +++ b/include/constants/flavor.h @@ -8,7 +8,7 @@ enum Flavor { FLAVOR_BITTER, FLAVOR_SOUR, - FLAVOR_MAX, + FLAVOR_COUNT, }; #endif // POKEPLATINUM_CONSTANTS_FLAVOR_H diff --git a/include/constants/moves.h b/include/constants/moves.h index 48097086f2..1c5e6a7e65 100644 --- a/include/constants/moves.h +++ b/include/constants/moves.h @@ -5,7 +5,7 @@ #include "generated/move_classes.h" #include "generated/moves.h" -#define LEARNED_MOVES_MAX 4 +#define MAX_MON_MOVES 4 #define MOVE_NOT_SELECTED 0xFF #define GBA_NUM_VALID_MOVES MOVE_PSYCHO_BOOST diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index ec73518c9c..375ba3b900 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -17,16 +17,17 @@ #define MAX_POKEMON_SHEEN 255 #define MAX_POKEMON_MARKINGS 6 -#define MAX_POKEMON_LEVEL 100 +#define MAX_MON_LEVEL 100 #define EGG_POKEMON_LEVEL 1 -#define EVOLVE_FRIENDSHIP_THRESHOLD 220 +#define FRIENDSHIP_EVO_THRESHOLD 220 #define BASE_FRIENDSHIP_VALUE 70 -#define MAX_FRIENDSHIP_VALUE 255 +#define MAX_FRIENDSHIP 255 #define LOW_FRIENDSHIP_LIMIT 100 #define MED_FRIENDSHIP_LIMIT 200 -#define HIGH_FRIENDSHIP_LIMIT MAX_FRIENDSHIP_VALUE +#define FRIENDSHIP_TIER_NUM 3 +#define HIGH_FRIENDSHIP_LIMIT MAX_FRIENDSHIP #define CATCHING_SHOW_MONS 6 #define MAX_GBA_TRANSFER_HISTORY 20 diff --git a/include/hall_of_fame_entries.h b/include/hall_of_fame_entries.h index 14ee274fed..59ff2363e1 100644 --- a/include/hall_of_fame_entries.h +++ b/include/hall_of_fame_entries.h @@ -19,7 +19,7 @@ typedef struct HallOfFamePokemon { u32 OTID; u16 nickname[MON_NAME_LEN + 1]; u16 OTName[TRAINER_NAME_LEN + 1]; - u16 moves[LEARNED_MOVES_MAX]; + u16 moves[MAX_MON_MOVES]; u8 padding_3A[2]; } HallOfFamePokemon; @@ -44,7 +44,7 @@ typedef struct PCHallOfFamePokemon { u16 species; u8 level; u8 form; - u16 moves[LEARNED_MOVES_MAX]; + u16 moves[MAX_MON_MOVES]; } PCHallOfFamePokemon; int HallOfFame_SaveSize(void); diff --git a/include/overlay013/battle_party.h b/include/overlay013/battle_party.h index cc8d56faef..dda3ca5ba2 100644 --- a/include/overlay013/battle_party.h +++ b/include/overlay013/battle_party.h @@ -167,7 +167,7 @@ typedef struct BattlePartyPokemon { u8 tough; u8 mail; u8 form; - BattlePartyPokemonMove moves[LEARNED_MOVES_MAX]; + BattlePartyPokemonMove moves[MAX_MON_MOVES]; } BattlePartyPokemon; typedef struct BattlePartyContext { @@ -239,7 +239,7 @@ typedef struct BattleParty { u8 useItemState; u8 unk_2079; u16 selectedPokemonCurrentHP; - u16 selectedPokemonCurrentMovePPs[LEARNED_MOVES_MAX]; + u16 selectedPokemonCurrentMovePPs[MAX_MON_MOVES]; BattleSubMenuCursor *cursor; u8 selectPokemonPreviousScreenButton; u8 learnMovePreviousScreenButton; @@ -250,7 +250,7 @@ typedef struct BattleParty { #define PARTY_SLOT_SELECTABLE_IN_BATTLE 1 #define PARTY_SLOT_SELECTABLE_NOT_IN_BATTLE 2 -#define MOVE_TO_LEARN_SLOT LEARNED_MOVES_MAX +#define MOVE_TO_LEARN_SLOT MAX_MON_MOVES void BattlePartyTask_Start(BattlePartyContext *context); u8 BattlePartyTask_CheckCanPartySlotBeSelected(BattleParty *battleParty, s32 partySlot); diff --git a/include/overlay104/frontier_data_transfer.h b/include/overlay104/frontier_data_transfer.h index c0c70cb439..5cf512e93d 100644 --- a/include/overlay104/frontier_data_transfer.h +++ b/include/overlay104/frontier_data_transfer.h @@ -21,7 +21,7 @@ typedef struct FrontierPokemonDataDTO { u16 form : 5; }; u16 item; - u16 moves[LEARNED_MOVES_MAX]; + u16 moves[MAX_MON_MOVES]; u32 otID; u32 personality; union { diff --git a/include/pokemon.h b/include/pokemon.h index 883f2f4388..97f7b660ad 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -24,9 +24,9 @@ #include "sprite_system.h" #include "trainer_info.h" -#define OTID_NOT_SET 0 -#define OTID_SET 1 -#define OTID_NOT_SHINY 2 +#define OT_ID_PLAYER_ID 0 +#define OT_ID_PRESET 1 +#define OT_ID_RANDOM_NO_SHINY 2 #define FACE_BACK 0 #define FACE_FRONT 2 @@ -35,6 +35,13 @@ #define BATTLE_FRONTIER_BANLIST_SIZE 18 +#define CALC_UNOWN_LETTER(personality) (( \ + (((personality) & 0x03000000) >> 18) \ + | (((personality) & 0x00030000) >> 12) \ + | (((personality) & 0x00000300) >> 6) \ + | (((personality) & 0x00000003) >> 0)) \ + % UNOWN_FORM_COUNT) + enum FriendshipEvents { FRIENDSHIP_EVENT_LEVEL_UP, FRIENDSHIP_EVENT_UNK_1, @@ -46,14 +53,14 @@ enum FriendshipEvents { FRIENDSHIP_EVENT_POISON_SURVIVE, FRIENDSHIP_EVENT_BATTLE_FAINT_HIGH_LVL_DIFF, FRIENDSHIP_EVENT_CONTEST_WIN, - FRIENDSHIP_EVENT_MAX + FRIENDSHIP_EVENT_COUNT }; -enum EvolutionClass { - EVO_CLASS_BY_LEVEL = 0, - EVO_CLASS_BY_TRADE, - EVO_CLASS_UNUSED_02, - EVO_CLASS_BY_ITEM, +enum EvolutionContext { + EVO_CONTEXT_LEVEL_UP = 0, + EVO_CONTEXT_TRADE, + EVO_CONTEXT_ITEM_CHECK, + EVO_CONTEXT_ITEM_USE, }; /** @@ -75,7 +82,7 @@ void BoxPokemon_Init(BoxPokemon *boxMon); * * @return Size in bytes of a Pokemon struct */ -int Pokemon_StructSize(void); +int Pokemon_Size(void); /** * @brief Allocates a Pokemon struct on the given heap, then calls ZeroMonData() on it @@ -83,7 +90,7 @@ int Pokemon_StructSize(void); * @param heapID * @return A new empty but encrypted Pokemon struct */ -Pokemon *Pokemon_New(u32 heapID); +Pokemon *Pokemon_New(enum HeapID heapID); /** * @brief Decrypts a Pokemon data structure. PartyPokemon data is encrypted using the pokemons personality value, BoxPokemon data using a checksum value @@ -91,7 +98,7 @@ Pokemon *Pokemon_New(u32 heapID); * @param mon * @return Whether the pokemons data was decrypted by this call. Passed to EncryptMon() to decide whether to reencrypt the data or not */ -BOOL Pokemon_EnterDecryptionContext(Pokemon *mon); +BOOL Pokemon_DecryptData(Pokemon *mon); /** * @brief Encrypts a Pokemon data structure. PartyPokemon data is encrypted using the pokemons personality value, BoxPokemon data using a checksum value @@ -100,7 +107,7 @@ BOOL Pokemon_EnterDecryptionContext(Pokemon *mon); * @param encrypt Whether to encrypt the data or not. If this is false, the function does nothing and returns false. * @return Whether the pokemons data was encrypted by this call. */ -BOOL Pokemon_ExitDecryptionContext(Pokemon *mon, BOOL encrypt); +BOOL Pokemon_EncryptData(Pokemon *mon, BOOL encrypt); /** * @brief Decrypts a BoxPokemon data structure @@ -108,7 +115,7 @@ BOOL Pokemon_ExitDecryptionContext(Pokemon *mon, BOOL encrypt); * @param boxMon * @return Whether the pokemons data was decrypted by this call. Passed to EncryptBoxMon() to decide whether to reencrypt the data or not */ -BOOL BoxPokemon_EnterDecryptionContext(BoxPokemon *boxMon); +BOOL BoxPokemon_DecryptData(BoxPokemon *boxMon); /** * @brief Encrypts a BoxPokemon data structure @@ -117,12 +124,12 @@ BOOL BoxPokemon_EnterDecryptionContext(BoxPokemon *boxMon); * @param encrypt Whether to encrypt the data or not. If this is false, the function does nothing and returns false. * @return Whether the pokemons data was encrypted by this call. */ -BOOL BoxPokemon_ExitDecryptionContext(BoxPokemon *boxMon, BOOL encrypt); +BOOL BoxPokemon_EncryptData(BoxPokemon *boxMon, BOOL encrypt); -void Pokemon_InitWith(Pokemon *mon, int monSpecies, int monLevel, int monIVs, BOOL useMonPersonalityParam, u32 monPersonality, int monOTIDSource, u32 monOTID); -void sub_02074044(Pokemon *mon, u16 monSpecies, u8 monLevel, u8 monIVs, u8 monNature); -void sub_02074088(Pokemon *mon, u16 monSpecies, u8 monLevel, u8 monIVs, u8 param4, u8 param5, u8 param6); -u32 sub_02074128(u16 monSpecies, u8 param1, u8 param2); +void Pokemon_InitWithParams(Pokemon *mon, int species, int level, int ivs, BOOL hasFixedPersonality, int personality, int otIDType, int otID); +void Pokemon_InitWithNature(Pokemon *mon, u16 species, u8 level, u8 ivs, u8 nature); +void Pokemon_InitWithGenderNatureLetter(Pokemon *mon, u16 species, u8 level, u8 ivs, u8 gender, u8 nature, u8 letter); +u32 Personality_CreateFromGenderAndNature(u16 species, u8 gender, u8 nature); void Pokemon_InitAndCalcStats(Pokemon *mon, u16 monSpecies, u8 monLevel, u32 monCombinedIVs, u32 monPersonality); /** @@ -147,7 +154,7 @@ void Pokemon_CalcStats(Pokemon *mon); * @param[out] dest Pointer for storing longer data * @return The requested value */ -u32 Pokemon_GetValue(Pokemon *mon, enum PokemonDataParam param, void *dest); +u32 Pokemon_GetData(Pokemon *mon, enum PokemonDataParam param, void *dest); /** * @brief Gets a value from a Pokemon, storing it in dest if neccessary @@ -157,7 +164,7 @@ u32 Pokemon_GetValue(Pokemon *mon, enum PokemonDataParam param, void *dest); * @param[out] dest Pointer for storing longer data * @return The requested value */ -u32 BoxPokemon_GetValue(BoxPokemon *boxMon, enum PokemonDataParam param, void *dest); +u32 BoxPokemon_GetData(BoxPokemon *boxMon, enum PokemonDataParam param, void *dest); /** * @brief Sets a value in a Pokemon, reading it from value if neccessary @@ -166,7 +173,7 @@ u32 BoxPokemon_GetValue(BoxPokemon *boxMon, enum PokemonDataParam param, void *d * @param param * @param value */ -void Pokemon_SetValue(Pokemon *mon, enum PokemonDataParam param, const void *value); +void Pokemon_SetData(Pokemon *mon, enum PokemonDataParam param, void *value); /** * @brief Sets a value in a BoxPokemon, reading it from value if neccessary @@ -175,7 +182,7 @@ void Pokemon_SetValue(Pokemon *mon, enum PokemonDataParam param, const void *val * @param param * @param value */ -void BoxPokemon_SetValue(BoxPokemon *boxMon, enum PokemonDataParam param, const void *value); +void BoxPokemon_SetData(BoxPokemon *boxMon, enum PokemonDataParam param, void *value); /** * @brief Increases some numerical fields in a Pokemon by the given value. Does nothing if the field is not supported @@ -186,26 +193,26 @@ void BoxPokemon_SetValue(BoxPokemon *boxMon, enum PokemonDataParam param, const * @param param * @param value */ -void Pokemon_IncreaseValue(Pokemon *mon, enum PokemonDataParam param, int value); +void Pokemon_IncreaseData(Pokemon *mon, enum PokemonDataParam param, int value); /** * @brief Gets a SpeciesData based on a pokemon species and form * - * @param monSpecies - * @param monForm + * @param species + * @param form * @param heapID The index of the heap that the SpeciesData should be loaded into * @return SpeciesData* */ -SpeciesData *SpeciesData_FromMonForm(int monSpecies, int monForm, int heapID); +SpeciesData *SpeciesData_NewFromForm(int species, int form, enum HeapID heapID); /** * @brief Gets a SpeciesData based on a pokemon species * - * @param monSpecies + * @param species * @param heapID The index of the heap that the SpeciesData should be loaded into * @return SpeciesData* */ -SpeciesData *SpeciesData_FromMonSpecies(int monSpecies, int heapID); +SpeciesData *SpeciesData_NewFromSpecies(int species, enum HeapID heapID); /** * @brief Gets a value from a SpeciesData structure @@ -214,7 +221,7 @@ SpeciesData *SpeciesData_FromMonSpecies(int monSpecies, int heapID); * @param param What value to get * @return The requested value */ -u32 SpeciesData_GetValue(SpeciesData *speciesData, enum SpeciesDataParam param); +int SpeciesData_GetValue(SpeciesData *speciesData, enum SpeciesDataParam param); /** * @brief Frees a SpeciesData structure from the heap @@ -226,21 +233,21 @@ void SpeciesData_Free(SpeciesData *speciesData); /** * @brief Loads a SpeciesData based on its species and form and gets a value from it * - * @param monSpecies - * @param monForm + * @param species + * @param form * @param param What value to get * @return The requested value */ -u32 SpeciesData_GetFormValue(int monSpecies, int monForm, enum SpeciesDataParam param); +u32 Species_GetFormValue(int species, int form, enum SpeciesDataParam param); /** * @brief Loads a SpeciesData based on its species and gets a value from it * - * @param monSpecies + * @param species * @param param What value to get * @return The requested value */ -u32 SpeciesData_GetSpeciesValue(int monSpecies, enum SpeciesDataParam param); +int Species_GetValue(int species, enum SpeciesDataParam param); /** * @brief Gets how much progress a Pokemon has made towards its next level as a percentage @@ -248,7 +255,7 @@ u32 SpeciesData_GetSpeciesValue(int monSpecies, enum SpeciesDataParam param); * @param mon * @return how much progress a Pokemon has made towards its next level as a percentage */ -u8 Pokemon_GetPercentToNextLevel(Pokemon *mon); +u8 Pokemon_CalcPercentToNextLevel(Pokemon *mon); /** * @brief Gets how much experience is needed for the given Pokemon to level up @@ -256,7 +263,7 @@ u8 Pokemon_GetPercentToNextLevel(Pokemon *mon); * @param boxMon * @return The amount of exp. needed for the given Pokemon to level up */ -u32 Pokemon_GetExpToNextLevel(Pokemon *mon); +u32 Pokemon_CalcExpToNextLevel(Pokemon *mon); /** * @brief Gets the amount of expeirence needed for the given Pokemon to reach its current level @@ -269,11 +276,11 @@ u32 Pokemon_GetCurrentLevelBaseExp(Pokemon *mon); /** * @brief Gets the amount of expeirence needed for a pokemon species to reach a specified level * - * @param monSpecies - * @param monLevel + * @param species + * @param level * @return The amount of exp. needed for the given pokemon species to reach the specified level */ -u32 Pokemon_GetSpeciesBaseExpAt(int monSpecies, int monLevel); +u32 Species_GetExpAtLevel(int species, int level); /** * @copybrief GetMonSpeciesLevel() @@ -281,7 +288,7 @@ u32 Pokemon_GetSpeciesBaseExpAt(int monSpecies, int monLevel); * @param mon * @return The pokemons level */ -u32 Pokemon_GetLevel(Pokemon *mon); +int Pokemon_CalcLevel(Pokemon *mon); /** * @copybrief GetMonSpeciesLevel() @@ -289,26 +296,26 @@ u32 Pokemon_GetLevel(Pokemon *mon); * @param boxMon * @return The pokemons level */ -u32 BoxPokemon_GetLevel(BoxPokemon *boxMon); +int BoxPokemon_CalcLevel(BoxPokemon *boxMon); /** * @brief Gets the level of a pokemon based on its species and exp * - * @param monSpecies - * @param monExp + * @param species + * @param exp * @return The pokemons level */ -u32 Pokemon_GetSpeciesLevelAt(u16 monSpecies, u32 monExp); +int Species_CalcLevelByExp(u16 species, u32 exp); /** * @brief Gets the level of a pokemon based on its personal data and exp * * @param speciesData - * @param unused_monSpecies unused - * @param monExp + * @param unused_species unused + * @param exp * @return The pokemons level */ -u32 SpeciesData_GetLevelAt(SpeciesData *speciesData, u16 unused_monSpecies, u32 monExp); +int SpeciesData_CalcLevelByExp(SpeciesData *speciesData, u16 unused_species, u32 exp); /** * @brief Gets the nature of a Pokemon based on its personality value @@ -329,19 +336,19 @@ u8 BoxPokemon_GetNature(BoxPokemon *boxMon); /** * @brief Gets the nature of a pokemon based on its personality value * - * @param monPersonality + * @param personality * @return The pokemons nature */ -u8 Pokemon_GetNatureOf(u32 monPersonality); +u8 Personality_GetNature(u32 personality); /** * @brief Gets the affinitiy of a given pokemon nature to a given stat * - * @param monNature - * @param statType + * @param nature + * @param stat * @return 1 if stat is increased, -1 if stat is decreased, else 0 */ -s8 Pokemon_GetStatAffinityOf(u8 monNature, u8 statType); +s8 Nature_GetStatModifier(u8 nature, u8 stat); void Pokemon_UpdateFriendship(Pokemon *mon, u8 friendshipEvent, u16 mapID); @@ -368,17 +375,17 @@ u8 BoxPokemon_GetGender(BoxPokemon *boxMon); * @param monPersonality * @return The pokemons gender */ -u8 Pokemon_GetGenderOf(u16 monSpecies, u32 monPersonality); +u8 Species_GetGenderFromPersonality(u16 monSpecies, u32 monPersonality); /** * @brief Gets the gender of a pokemon based on its SpeciesData and personality value * * @param speciesData - * @param unused_monSpecies unused - * @param monPersonality + * @param unused_species unused + * @param personality * @return The pokemons gender */ -u8 SpeciesData_GetGenderOf(SpeciesData *speciesData, u16 unused_monSpecies, u32 monPersonality); +u8 SpeciesData_GetGenderFromPersonality(SpeciesData *speciesData, u16 unused_species, u32 personality); /** * @brief Gets whether a BoxPokemon is shiny based on its Original Trainer ID and its personality value @@ -391,20 +398,20 @@ u8 Pokemon_IsShiny(Pokemon *mon); /** * @brief Gets whether a pokemon is shiny based on its Original Trainer ID and its personality value * - * @param monOTID - * @param monPersonality + * @param otID + * @param personality * @return Whether the pokemon is shiny or not */ -u8 Pokemon_IsPersonalityShiny(u32 monOTID, u32 monPersonality); +u8 Personality_IsShiny(u32 otID, u32 personality); /** * @brief Computes a personality value which, when applied to the given trainer ID, will result * in a shiny Pokemon. * - * @param monOTID + * @param otID * @return The computed personality value */ -u32 Pokemon_FindShinyPersonality(u32 monOTID); +u32 Personality_GenerateShiny(u32 otID); /** * @brief Build a PokemonSpriteTemplate for a Pokemon. @@ -419,27 +426,27 @@ void Pokemon_BuildSpriteTemplate(PokemonSpriteTemplate *spriteTemplate, Pokemon * @brief Build a PokemonSpriteTemplate for a Pokemon, preferring sprites from * Diamond/Pearl where possible. * - * @param spriteTemplate Pointer to the sprite template to be populated + * @param template Pointer to the sprite template to be populated * @param mon The Pokemon whose data will be used to build the sprite * @param face Which face of the Pokemon the player sees */ -void Pokemon_BuildSpriteTemplateDP(PokemonSpriteTemplate *spriteTemplate, Pokemon *mon, u8 face); +void Pokemon_BuildSpriteTemplateDP(PokemonSpriteTemplate *template, Pokemon *mon, u8 face); /** * @brief Build a PokemonSpriteTemplate for a BoxPokemon. * - * @param spriteTemplate Pointer to the sprite template to be populated - * @param mon The Pokemon whose data will be used to build the sprite + * @param template Pointer to the sprite template to be populated + * @param boxMon The Pokemon whose data will be used to build the sprite * @param face Which face of the Pokemon the player sees * @param preferDP If TRUE, prefer sprites from Diamond/Pearl over Platinum */ -void BoxPokemon_BuildSpriteTemplate(PokemonSpriteTemplate *spriteTemplate, BoxPokemon *boxMon, u8 face, BOOL preferDP); +void BoxPokemon_BuildSpriteTemplate(PokemonSpriteTemplate *template, BoxPokemon *boxMon, u8 face, BOOL preferDP); /** * @brief Build a PokemonSpriteTemplate for a Pokemon sprite according to the input * species, form, and gender. * - * @param spriteTemplate Pointer to the sprite template to be populated + * @param template Pointer to the sprite template to be populated * @param species The Pokemon's species * @param gender The Pokemon's gender * @param face Which face of the Pokemon the player sees @@ -447,16 +454,16 @@ void BoxPokemon_BuildSpriteTemplate(PokemonSpriteTemplate *spriteTemplate, BoxPo * @param form The Pokemon's form * @param personality The Pokemon's personality value */ -void BuildPokemonSpriteTemplate(PokemonSpriteTemplate *spriteTemplate, u16 species, u8 gender, u8 face, u8 shiny, u8 form, u32 personality); +void Species_BuildSpriteTemplate(PokemonSpriteTemplate *template, u16 species, u8 gender, u8 face, u8 shiny, u8 form, u32 personality); /** * @brief Sanitizes a pokemon form. If the given form is greater than the max for the given species, returns zero, else returns the form unchanged * - * @param monSpecies - * @param monForm + * @param species + * @param form * @return The sanitized pokemon form */ -u8 Pokemon_SanitizeFormId(u16 monSpecies, u8 monForm); +u8 Species_SanitizeFormId(u16 species, u8 form); /** * @brief Load the Y-offset applied to a Pokemon's sprite-face on display. @@ -496,8 +503,8 @@ u8 BoxPokemon_SpriteYOffset(BoxPokemon *boxMon, u8 face, BOOL preferDP); * @param personality The Pokemon's personality value * @return Y-offset applied to the sprite-face on display */ -u8 LoadPokemonSpriteYOffset(u16 species, u8 gender, u8 face, u8 form, u32 personality); -void sub_0207697C(PokemonSpriteTemplate *param0, u16 param1); +u8 Species_LoadSpriteYOffset(u16 species, u8 gender, u8 face, u8 form, u32 personality); +void sub_0207697C(PokemonSpriteTemplate *template, u16 param1); ManagedSprite *sub_02076994(SpriteSystem *param0, SpriteManager *param1, PaletteData *param2, int param3, int param4, int param5, int param6, int param7, int heapID); void sub_02076AAC(int param0, int param1, UnkStruct_ov5_021DE5D0 *param2); @@ -506,14 +513,14 @@ void sub_02076AAC(int param0, int param1, UnkStruct_ov5_021DE5D0 *param2); * * @return Size in bytes of a Pokemon struct */ -u32 Pokemon_GetStructSize(void); +u32 Pokemon_Size2(void); /** * @brief Returns the size in bytes of a BoxPokemon struct as a u32 * * @return Size in bytes of a BoxPokemon struct */ -u32 BoxPokemon_GetStructSize(void); +u32 BoxPokemon_Size(void); /** * @brief Gets the form of a Pokemon @@ -537,10 +544,10 @@ u8 BoxPokemon_GetForm(BoxPokemon *boxMon); * @param mon * @return The BoxPokemon data for a given Pokemon */ -BoxPokemon *Pokemon_GetBoxPokemon(Pokemon *mon); +BoxPokemon *Pokemon_GetBoxMon(Pokemon *mon); -BOOL Pokemon_ShouldLevelUp(Pokemon *mon); -u16 Pokemon_GetEvolutionTargetSpecies(Party *party, Pokemon *mon, u8 evoClass, u16 evoParam, int *evoTypeResult); +BOOL Pokemon_TryLevelUp(Pokemon *mon); +u16 Pokemon_GetEvolutionTarget(Party *party, Pokemon *mon, u8 context, u16 evoParam, int *methodRet); u16 Pokemon_GetBaseSpeciesFromPersonalData(const u16 species); u16 Pokemon_GetBaseSpeciesForBattle(const u16 species); @@ -551,7 +558,7 @@ u16 Pokemon_GetBaseSpeciesForBattle(const u16 species); * @param moveID * @return The given moveID if successful, 0xfffe if already known, 0xffff if there is no room for the move */ -u16 Pokemon_AddMove(Pokemon *mon, u16 moveID); +u16 Pokemon_TryAppendMove(Pokemon *mon, u16 move); /** * @brief Deletes the first move of a Pokemon and adds the given move to the end of its moveset @@ -559,16 +566,16 @@ u16 Pokemon_AddMove(Pokemon *mon, u16 moveID); * @param mon * @param moveID */ -void Pokemon_ReplaceMove(Pokemon *mon, u16 moveID); +void Pokemon_ForceAppendMove(Pokemon *mon, u16 move); /** * @brief Sets the given moveSlot of a Pokemon, removing its PP Ups * * @param mon - * @param moveID - * @param moveSlot + * @param move + * @param slot */ -void Pokemon_ResetMoveSlot(Pokemon *mon, u16 moveID, u8 moveSlot); +void Pokemon_SetMoveInSlot_ResetPPUp(Pokemon *mon, u16 move, u8 slot); /** * @brief Sets the given moveSlot of a Pokemon, retaining the PP Ups for that slot @@ -577,37 +584,37 @@ void Pokemon_ResetMoveSlot(Pokemon *mon, u16 moveID, u8 moveSlot); * @param moveID * @param moveSlot */ -void Pokemon_SetMoveSlot(Pokemon *mon, u16 moveID, u8 moveSlot); +void Pokemon_SetMoveInSlot(Pokemon *mon, u16 move, u8 slot); -u16 Pokemon_LevelUpMove(Pokemon *mon, int *index, u16 *moveID); +u16 Pokemon_TryLevelUpMove(Pokemon *mon, int *index, u16 *moveID); /** * @brief Swaps the places of two moves on a Pokemon * * @param mon - * @param moveSlot1 - * @param moveSlot2 + * @param slot1 + * @param slot2 */ -void Pokemon_SwapMoveSlots(Pokemon *mon, int moveSlot1, int moveSlot2); +void Pokemon_SwapMoveSlots(Pokemon *mon, int slot1, int slot2); /** * @brief Swaps the places of two moves on a BoxPokemon * * @param boxMon - * @param moveSlot1 - * @param moveSlot2 + * @param slot1 + * @param slot2 */ -void BoxPokemon_SwapMoveSlots(BoxPokemon *boxMon, int moveSlot1, int moveSlot2); +void BoxPokemon_SwapMoveSlots(BoxPokemon *boxMon, int slot1, int slot2); /** * @brief Deletes the given moveSlot of a Pokemon, shifting the ones above it down * * @param mon - * @param moveSlot + * @param slot */ -void Pokemon_ClearMoveSlot(Pokemon *mon, u32 moveSlot); +void Pokemon_ClearMoveSlot(Pokemon *mon, u32 slot); -void Pokemon_FromBoxPokemon(BoxPokemon *boxMon, Pokemon *mon); +void BoxPokemon_CopyToPokemon(BoxPokemon *src, Pokemon *dest); /** * @brief Gets the level of the highest level pokemon in the Party @@ -636,7 +643,7 @@ u16 Pokemon_NationalDexNumber(u16 sinnohDexNumber); void Pokemon_Copy(Pokemon *src, Pokemon *dest); void BoxPokemon_Copy(BoxPokemon *src, BoxPokemon *dest); -void BoxPokemon_FromPokemon(Pokemon *src, BoxPokemon *dest); +void Pokemon_CopyToBoxPokemon(Pokemon *src, BoxPokemon *dest); /** * @brief Gets the affinitiy of a given Pokemon to a given flavor @@ -650,11 +657,11 @@ s8 Pokemon_GetFlavorAffinity(Pokemon *mon, enum Flavor flavor); /** * @brief Gets the affinitiy of a given Pokemon personality to a given flavor * - * @param monPersonality + * @param personality * @param flavor * @return 1 if liked flavor, -1 if disliked flavor, else 0 */ -s8 Pokemon_GetFlavorAffinityOf(u32 monPersonality, enum Flavor flavor); +s8 Personality_GetFlavorAffinity(u32 personality, enum Flavor flavor); /** * @brief Gets all moves that the given pokemon species and form can learn by leveling up @@ -666,34 +673,34 @@ s8 Pokemon_GetFlavorAffinityOf(u32 monPersonality, enum Flavor flavor); */ int Pokemon_LoadLevelUpMoveIdsOf(int monSpecies, int monForm, u16 *monLevelUpMoveIDs); -void Pokemon_ApplyPokerus(Party *party); -u8 Pokemon_HasPokerus(Party *party, u8 param1); -void Party_UpdatePokerusStatus(Party *party, s32 param1); -void Pokemon_ValidatePokerus(Party *party); -BOOL Pokemon_InfectedWithPokerus(Pokemon *mon); -BOOL Pokemon_HasCuredPokerus(Pokemon *mon); +void Party_GivePokerusAtRandom(Party *party); +u8 Party_MaskHasPokerus(Party *party, u8 partyMask); +void Party_UpdatePokerus(Party *party, int daysPassed); +void Party_SpreadPokerus(Party *party); +BOOL Pokemon_HasPokerus(Pokemon *mon); +BOOL Pokemon_IsImmuneToPokerus(Pokemon *mon); /** * @brief Sets Arceus' form based on its held item. Has no effect if the given Pokemon is not an Arceus * * @param mon */ -void Pokemon_SetArceusForm(Pokemon *mon); +void Pokemon_UpdateArceusForm(Pokemon *mon); /** * @brief Sets Arceus' form based on its held item. Has no effect if the given Pokemon is not an Arceus * * @param boxMon */ -void BoxPokemon_SetArceusForm(BoxPokemon *boxMon); +void BoxPokemon_UpdateArceusForm(BoxPokemon *boxMon); /** * @brief Get Arceus' form given an items hold effect * - * @param itemHoldEffect + * @param holdEffect * @return The form arceus should be in */ -u8 Pokemon_GetArceusTypeOf(u16 itemHoldEffect); +u8 HoldEffect_GetArceusType(u16 holdEffect); /** * @brief Sets Giratina's form based on its held item. Has no effect if the given Pokemon is not a Giratina @@ -701,7 +708,7 @@ u8 Pokemon_GetArceusTypeOf(u16 itemHoldEffect); * @param mon * @return The form Giratina was set to, or -1 if the given BoxPokemon was not a Giratina */ -int Pokemon_SetGiratinaFormByHeldItem(Pokemon *mon); +s32 Pokemon_UpdateGiratinaForm(Pokemon *mon); /** * @brief Sets Giratina's form based on its held item. Has no effect if the given BoxPokemon is not a Giratina @@ -709,23 +716,23 @@ int Pokemon_SetGiratinaFormByHeldItem(Pokemon *mon); * @param boxMon * @return The form Giratina was set to, or -1 if the given BoxPokemon was not a Giratina */ -int BoxPokemon_SetGiratinaForm(BoxPokemon *boxMon); +s32 BoxPokemon_UpdateGiratinaForm(BoxPokemon *boxMon); /** * @brief Set Giratina to its Origin form. Has no effect if the given Pokemon is not a Giratina * * @param mon */ -void Pokemon_SetGiratinaOriginForm(Pokemon *mon); +void Pokemon_ForceSetGiratinaOriginForm(Pokemon *mon); /** * @brief Iterates over all the Pokemon in Party, setting the form of any Giratina. - * If form is GIRATINA_FORM_ORIGIN, always sets Giratina into Origin form, otherwise its form is based on held item + * If forceOrigin is TRUE, always sets Giratina into Origin form, otherwise its form is based on held item. * * @param party - * @param form + * @param forceOrigin */ -void Party_SetGiratinaForm(Party *party, int form); +void Party_UpdateGiratinaForms(Party *party, BOOL forceOrigin); /** * @brief Sets Shaymin to the given form. Has no effect if the given Pokemon is not a Shaymin @@ -733,7 +740,7 @@ void Party_SetGiratinaForm(Party *party, int form); * @param mon * @param form */ -void Pokemon_SetShayminForm(Pokemon *mon, int form); +void Pokemon_UpdateShayminForm(Pokemon *mon, int form); /** * @brief Sets Shaymin to the given form. Has no effect if the given BoxPokemon is not a Shaymin @@ -741,7 +748,7 @@ void Pokemon_SetShayminForm(Pokemon *mon, int form); * @param boxMon * @param form */ -void BoxPokemon_SetShayminForm(BoxPokemon *boxMon, int form); +void BoxPokemon_UpdateShayminForm(BoxPokemon *boxMon, int form); /** * @brief Checks whether Shaymin is allowed to change into Sky Form. Always returns false if the given Pokemon is not a Shaymin @@ -756,7 +763,7 @@ BOOL Pokemon_CanShayminSkyForm(Pokemon *mon); * * @param party */ -void Party_SetShayminLandForm(Party *party); +void Party_SetShayminLandForms(Party *party); /** * @brief Sets all Shaymin in the party to Land form at night @@ -765,10 +772,10 @@ void Party_SetShayminLandForm(Party *party); * * @param party * @param param1 - * @param rtcTime + * @param time * @return Whether Shaymin should be set to Land form */ -BOOL Party_SetShayminForm(Party *party, int param1, const RTCTime *rtcTime); +BOOL Party_UpdateShayminForms(Party *party, int minutesDiff, const RTCTime *time); /** * @brief Sets Rotom to the given form. Has no effect if the given Pokemon is not a Rotom @@ -779,7 +786,7 @@ BOOL Party_SetShayminForm(Party *party, int param1, const RTCTime *rtcTime); * @param moveSlot * @return Whether the given pokemon was a Rotom */ -BOOL Pokemon_SetRotomForm(Pokemon *mon, int form, int moveSlot); +BOOL Pokemon_UpdateRotomForm(Pokemon *mon, int form, int moveSlot); /** * @brief Loads a Level-Up move table based on a pokemon species and form into the pointed to array @@ -788,7 +795,7 @@ BOOL Pokemon_SetRotomForm(Pokemon *mon, int form, int moveSlot); * @param monForm * @param[out] monLevelUpMoves Pointer to a u16 array to store the move table */ -void Pokemon_LoadLevelUpMovesOf(int monSpecies, int monForm, u16 *monLevelUpMoves); +void Species_LoadLevelUpLearnset(int monSpecies, int monForm, u16 *monLevelUpMoves); /** * @brief Play a Pokemon's cry, according to the given species and form number. @@ -823,23 +830,23 @@ void Species_PlayDelayedCry(ChatotCry *chatotCry, enum PokemonCryMod crymod, u16 BOOL Pokemon_PlayCry(Pokemon *mon); void Pokemon_SetCatchData(Pokemon *mon, TrainerInfo *trainerInfo, int monPokeball, int metLocation, int metTerrain, enum HeapID heapID); void Pokemon_UpdateAfterCatch(Pokemon *mon, TrainerInfo *param1, int monPokeball, int param3, int param4, int param5); -void Pokemon_GiveHeldItem(Pokemon *mon, u32 battleType, int itemRates); -BOOL Pokemon_CanLearnTM(Pokemon *mon, u8 tmID); -BOOL CanPokemonFormLearnTM(u16 monSpecies, int monForm, u8 tmID); +void Pokemon_GiveWildHeldItem(Pokemon *mon, u32 battleType, int itemRates); +BOOL Pokemon_CanLearnTMHM(Pokemon *mon, u8 tmHM); +BOOL Species_CanLearnTMHM(u16 species, int form, u8 tmHM); /** * @brief Sets the ability of a Pokemon based on its species, form and peronsality value * * @param mon */ -void Pokemon_CalcAbility(Pokemon *mon); +void Pokemon_UpdateAbility(Pokemon *mon); -void sub_020780C4(Pokemon *mon, u32 monPersonality); +void Pokemon_SetPersonality(Pokemon *mon, u32 personality); -BOOL Pokemon_IsOnBattleFrontierBanlist(u16 species); -u16 Pokemon_GetBattleFrontierBanlistEntry(u8 index); -BOOL Pokemon_IsBannedFromBattleFrontier(Pokemon *pokemon); -BOOL sub_0207884C(BoxPokemon *boxMon, TrainerInfo *param1, int heapID); +BOOL Species_IsBattleFrontierBanned(u16 species); +u16 BattleFrontier_GetBanlistEntry(u8 index); +BOOL Pokemon_IsBattleFrontierBanned(Pokemon *mon); +BOOL BoxPokemon_BelongsToPlayer(BoxPokemon *boxMon, TrainerInfo *param1, enum HeapID heapID); int sub_020788D0(int param0); void Pokemon_ClearBallCapsuleData(Pokemon *mon); void BoxPokemon_RestorePP(BoxPokemon *boxMon); diff --git a/include/pokemon_sprite.h b/include/pokemon_sprite.h index 9a374ee024..d1a94215a8 100644 --- a/include/pokemon_sprite.h +++ b/include/pokemon_sprite.h @@ -69,10 +69,8 @@ typedef struct PokemonSpriteTemplate { u16 narcID; //< ID of the sprite archive u16 character; //< File index to pull from the archive for the character data (tiles) u16 palette; //< File index to pull from the archive for the palette data - u16 spindaSpots; //< Simple flag denoting whether the rendered sprite should be pseudo-randomized with splotches (only for Spinda's front-sprite). - - u8 dummy; //< Dummy value; never used or set to anything other than 0. - + u16 species; //< Simple flag denoting whether the rendered sprite should be pseudo-randomized with splotches (only for Spinda's front-sprite). + u8 isAnimated; //< Dummy value; never used or set to anything other than 0. u32 personality; //< Cached personality value for Pokemon front-sprites. Specifically used for Spinda spots. } PokemonSpriteTemplate; diff --git a/include/struct_defs/battle_frontier_pokemon_data.h b/include/struct_defs/battle_frontier_pokemon_data.h index 480fcc2117..7fc8ac8b43 100644 --- a/include/struct_defs/battle_frontier_pokemon_data.h +++ b/include/struct_defs/battle_frontier_pokemon_data.h @@ -5,7 +5,7 @@ typedef struct BattleFrontierPokemonData { u16 species; - u16 moves[LEARNED_MOVES_MAX]; + u16 moves[MAX_MON_MOVES]; u8 evFlags; u8 nature; u16 item; diff --git a/include/struct_defs/pokemon.h b/include/struct_defs/pokemon.h index 92985cdc92..55bcf1c68a 100644 --- a/include/struct_defs/pokemon.h +++ b/include/struct_defs/pokemon.h @@ -43,9 +43,9 @@ typedef struct PokemonDataBlockA { * @brief Block B of the BoxPokemon data structure */ typedef struct PokemonDataBlockB { - /* 0x00 */ u16 moves[LEARNED_MOVES_MAX]; - /* 0x08 */ u8 moveCurrentPPs[LEARNED_MOVES_MAX]; - /* 0x0C */ u8 movePPUps[LEARNED_MOVES_MAX]; + /* 0x00 */ u16 moves[MAX_MON_MOVES]; + /* 0x08 */ u8 moveCurrentPPs[MAX_MON_MOVES]; + /* 0x0C */ u8 movePPUps[MAX_MON_MOVES]; /* 0x10 */ u32 hpIV : 5; u32 atkIV : 5; diff --git a/include/struct_defs/species.h b/include/struct_defs/species.h index 094b70ccb1..a2b71d60ec 100644 --- a/include/struct_defs/species.h +++ b/include/struct_defs/species.h @@ -5,7 +5,7 @@ #define MAX_EGG_GROUPS 2 #define MAX_TYPES 2 -#define MAX_EVOLUTIONS 7 +#define MAX_MON_EVOLUTIONS 7 #define MAX_LEARNSET_ENTRIES 20 #define LEARNSET_NO_MOVE_TO_LEARN 0 @@ -57,11 +57,11 @@ typedef struct SpeciesData { u32 tmLearnsetMasks[4]; // Bitflags for whether this pokemon can learn a TM } SpeciesData; -typedef struct SpeciesEvolution { +typedef struct Evolution { u16 method; u16 param; - u16 targetSpecies; -} SpeciesEvolution; + u16 target; +} Evolution; typedef struct SpeciesLearnsetEntry { u16 move : 9; diff --git a/include/struct_defs/trainer_data.h b/include/struct_defs/trainer_data.h index 2fb0225a64..6df36729c5 100644 --- a/include/struct_defs/trainer_data.h +++ b/include/struct_defs/trainer_data.h @@ -42,7 +42,7 @@ typedef struct TrainerMonWithMoves { u16 dv; u16 level; u16 species; - u16 moves[LEARNED_MOVES_MAX]; + u16 moves[MAX_MON_MOVES]; u16 cbSeal; } TrainerMonWithMoves; @@ -59,7 +59,7 @@ typedef struct TrainerMonWithMovesAndItem { u16 level; u16 species; u16 item; - u16 moves[LEARNED_MOVES_MAX]; + u16 moves[MAX_MON_MOVES]; u16 cbSeal; } TrainerMonWithMovesAndItem; diff --git a/res/field/scripts/scripts_distortion_world_1f.s b/res/field/scripts/scripts_distortion_world_1f.s index a3f039f71e..f2bfee3bd2 100644 --- a/res/field/scripts/scripts_distortion_world_1f.s +++ b/res/field/scripts/scripts_distortion_world_1f.s @@ -28,7 +28,7 @@ _003A: Message 8 CloseMessage PlayFanfare SEQ_SE_PL_SYUWA - SetPartyGiratinaForm GIRATINA_FORM_ALTERED + UpdatePartyGiratinaForm FALSE FadeScreenOut WaitFadeScreen Warp MAP_HEADER_SPEAR_PILLAR_DISTORTED, 0, 31, 33, 1 diff --git a/res/field/scripts/scripts_distortion_world_turnback_cave_room.s b/res/field/scripts/scripts_distortion_world_turnback_cave_room.s index 70b911ebb3..38f5ffb9f7 100644 --- a/res/field/scripts/scripts_distortion_world_turnback_cave_room.s +++ b/res/field/scripts/scripts_distortion_world_turnback_cave_room.s @@ -25,7 +25,7 @@ _002E: Message 1 CloseMessage PlayFanfare SEQ_SE_PL_SYUWA - SetPartyGiratinaForm GIRATINA_FORM_ALTERED + UpdatePartyGiratinaForm FALSE FadeScreenOut WaitFadeScreen Warp MAP_HEADER_TURNBACK_CAVE_GIRATINA_ROOM, 0, 11, 15, 1 diff --git a/res/field/scripts/scripts_rotoms_room.s b/res/field/scripts/scripts_rotoms_room.s index 22e34bd176..0925c6ad16 100644 --- a/res/field/scripts/scripts_rotoms_room.s +++ b/res/field/scripts/scripts_rotoms_room.s @@ -274,7 +274,7 @@ _0473: GoToIfEq VAR_RESULT, TRUE, RotomsRoom_SetVarMoveNone GetPartyMonMoveCount VAR_RESULT, LOCALID_PARTY_SLOT SetVar VAR_0x8002, VAR_RESULT - GoToIfEq VAR_RESULT, LEARNED_MOVES_MAX, RotomsRoom_Text_PokemonTryingToLearnMove + GoToIfEq VAR_RESULT, MAX_MON_MOVES, RotomsRoom_Text_PokemonTryingToLearnMove GoTo RotomsRoom_PokemonEnteredMotor End @@ -307,7 +307,7 @@ RotomsRoom_LearnMove: ReturnToField FadeScreenIn WaitFadeScreen - GoToIfEq VAR_0x8002, LEARNED_MOVES_MAX, RotomsRoom_GiveUpLearningMove + GoToIfEq VAR_0x8002, MAX_MON_MOVES, RotomsRoom_GiveUpLearningMove GetPartyMonMove VAR_RESULT, LOCALID_PARTY_SLOT, VAR_0x8002 BufferMoveName 1, VAR_RESULT Message RotomsRoom_Text_TheMoveWillBeForgotten diff --git a/res/field/scripts/scripts_sendoff_spring.s b/res/field/scripts/scripts_sendoff_spring.s index f3551f9b92..36e12e018d 100644 --- a/res/field/scripts/scripts_sendoff_spring.s +++ b/res/field/scripts/scripts_sendoff_spring.s @@ -17,7 +17,7 @@ _001B: _0021: LockAll - SetPartyGiratinaForm GIRATINA_FORM_ALTERED + UpdatePartyGiratinaForm FALSE ScrCmd_2B5 0x10A, 0x2FA, 0x2CA Message 0 CloseMessage diff --git a/res/field/scripts/scripts_spear_pillar_distorted.s b/res/field/scripts/scripts_spear_pillar_distorted.s index 2e5438eb91..165eb40e53 100644 --- a/res/field/scripts/scripts_spear_pillar_distorted.s +++ b/res/field/scripts/scripts_spear_pillar_distorted.s @@ -67,7 +67,7 @@ _00FD: WaitFadeScreen ScrCmd_320 ReturnToField - SetPartyGiratinaForm GIRATINA_FORM_ORIGIN + UpdatePartyGiratinaForm TRUE Warp MAP_HEADER_DISTORTION_WORLD_1F, 0, 55, 40, 1 FadeScreenIn WaitFadeScreen diff --git a/res/field/scripts/scripts_turnback_cave_giratina_room.s b/res/field/scripts/scripts_turnback_cave_giratina_room.s index 08ac6d688d..2fe8618a0a 100644 --- a/res/field/scripts/scripts_turnback_cave_giratina_room.s +++ b/res/field/scripts/scripts_turnback_cave_giratina_room.s @@ -111,7 +111,7 @@ _0149: Message 3 CloseMessage PlayFanfare SEQ_SE_PL_SYUWA - SetPartyGiratinaForm GIRATINA_FORM_ORIGIN + UpdatePartyGiratinaForm TRUE FadeScreenOut WaitFadeScreen Warp MAP_HEADER_DISTORTION_WORLD_TURNBACK_CAVE_ROOM, 0, 116, 75, 1 diff --git a/res/pokemon/arceus/data.json b/res/pokemon/arceus/data.json index ad654fb72e..2aa4da9373 100644 --- a/res/pokemon/arceus/data.json +++ b/res/pokemon/arceus/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 0, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/articuno/data.json b/res/pokemon/articuno/data.json index 1f786f6d23..ce0d42aaae 100644 --- a/res/pokemon/articuno/data.json +++ b/res/pokemon/articuno/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 80, "base_friendship": 35, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/azelf/data.json b/res/pokemon/azelf/data.json index 7a6b9edb88..6436d66df5 100644 --- a/res/pokemon/azelf/data.json +++ b/res/pokemon/azelf/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 80, "base_friendship": 140, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/azurill/data.json b/res/pokemon/azurill/data.json index 2093cda018..56b1337027 100644 --- a/res/pokemon/azurill/data.json +++ b/res/pokemon/azurill/data.json @@ -87,7 +87,7 @@ ] }, "evolutions": [ - [ "EVO_LEVEL_HAPPINESS", "SPECIES_MARILL" ] + [ "EVO_LEVEL_FRIENDSHIP", "SPECIES_MARILL" ] ], "offspring": "SPECIES_AZURILL", "footprint": { diff --git a/res/pokemon/bad_egg/data.json b/res/pokemon/bad_egg/data.json index 0e159bf19e..385187db19 100644 --- a/res/pokemon/bad_egg/data.json +++ b/res/pokemon/bad_egg/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 0, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/baltoy/data.json b/res/pokemon/baltoy/data.json index 21c9e675c4..d7c9327785 100644 --- a/res/pokemon/baltoy/data.json +++ b/res/pokemon/baltoy/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 20, "base_friendship": 70, "exp_rate": "EXP_RATE_MEDIUM_FAST", diff --git a/res/pokemon/beldum/data.json b/res/pokemon/beldum/data.json index bff10316dc..7b7d85a1d5 100644 --- a/res/pokemon/beldum/data.json +++ b/res/pokemon/beldum/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_METAL_COAT" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 40, "base_friendship": 35, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/bronzong/data.json b/res/pokemon/bronzong/data.json index 6070b3b9fa..67826a56a8 100644 --- a/res/pokemon/bronzong/data.json +++ b/res/pokemon/bronzong/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_METAL_COAT" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 20, "base_friendship": 70, "exp_rate": "EXP_RATE_MEDIUM_FAST", diff --git a/res/pokemon/bronzor/data.json b/res/pokemon/bronzor/data.json index 5d03d77f64..8d011134c4 100644 --- a/res/pokemon/bronzor/data.json +++ b/res/pokemon/bronzor/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_METAL_COAT" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 20, "base_friendship": 70, "exp_rate": "EXP_RATE_MEDIUM_FAST", diff --git a/res/pokemon/budew/data.json b/res/pokemon/budew/data.json index 9aebde5211..ed0968b949 100644 --- a/res/pokemon/budew/data.json +++ b/res/pokemon/budew/data.json @@ -93,7 +93,7 @@ ] }, "evolutions": [ - [ "EVO_LEVEL_HAPPINESS_DAY", "SPECIES_ROSELIA" ] + [ "EVO_LEVEL_FRIENDSHIP_DAY", "SPECIES_ROSELIA" ] ], "offspring": "SPECIES_BUDEW", "footprint": { diff --git a/res/pokemon/buneary/data.json b/res/pokemon/buneary/data.json index 2744e78cfa..f4767534cc 100644 --- a/res/pokemon/buneary/data.json +++ b/res/pokemon/buneary/data.json @@ -111,7 +111,7 @@ ] }, "evolutions": [ - [ "EVO_LEVEL_HAPPINESS", "SPECIES_LOPUNNY" ] + [ "EVO_LEVEL_FRIENDSHIP", "SPECIES_LOPUNNY" ] ], "offspring": "SPECIES_BUNEARY", "footprint": { diff --git a/res/pokemon/celebi/data.json b/res/pokemon/celebi/data.json index 79d64a800e..41f5b683ac 100644 --- a/res/pokemon/celebi/data.json +++ b/res/pokemon/celebi/data.json @@ -22,7 +22,7 @@ "common": "ITEM_LUM_BERRY", "rare": "ITEM_LUM_BERRY" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 100, "exp_rate": "EXP_RATE_MEDIUM_SLOW", diff --git a/res/pokemon/chansey/data.json b/res/pokemon/chansey/data.json index 2b057cfc86..b1ead6d312 100644 --- a/res/pokemon/chansey/data.json +++ b/res/pokemon/chansey/data.json @@ -133,7 +133,7 @@ ] }, "evolutions": [ - [ "EVO_LEVEL_HAPPINESS", "SPECIES_BLISSEY" ] + [ "EVO_LEVEL_FRIENDSHIP", "SPECIES_BLISSEY" ] ], "offspring": "SPECIES_HAPPINY", "footprint": { diff --git a/res/pokemon/chingling/data.json b/res/pokemon/chingling/data.json index bfd1432774..7dc85f8495 100644 --- a/res/pokemon/chingling/data.json +++ b/res/pokemon/chingling/data.json @@ -104,7 +104,7 @@ ] }, "evolutions": [ - [ "EVO_LEVEL_HAPPINESS_NIGHT", "SPECIES_CHIMECHO" ] + [ "EVO_LEVEL_FRIENDSHIP_NIGHT", "SPECIES_CHIMECHO" ] ], "offspring": "SPECIES_CHINGLING", "footprint": { diff --git a/res/pokemon/clamperl/data.json b/res/pokemon/clamperl/data.json index b7aa8a605e..67e99bf397 100644 --- a/res/pokemon/clamperl/data.json +++ b/res/pokemon/clamperl/data.json @@ -83,12 +83,12 @@ }, "evolutions": [ [ - "EVO_TRADE_WITH_HELD_ITEM", + "EVO_TRADE_HELD_ITEM", "ITEM_DEEPSEATOOTH", "SPECIES_HUNTAIL" ], [ - "EVO_TRADE_WITH_HELD_ITEM", + "EVO_TRADE_HELD_ITEM", "ITEM_DEEPSEASCALE", "SPECIES_GOREBYSS" ] diff --git a/res/pokemon/claydol/data.json b/res/pokemon/claydol/data.json index 0f5bc20404..c0c1d7905e 100644 --- a/res/pokemon/claydol/data.json +++ b/res/pokemon/claydol/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 20, "base_friendship": 70, "exp_rate": "EXP_RATE_MEDIUM_FAST", diff --git a/res/pokemon/cleffa/data.json b/res/pokemon/cleffa/data.json index c9ec3a1884..280668643e 100644 --- a/res/pokemon/cleffa/data.json +++ b/res/pokemon/cleffa/data.json @@ -108,7 +108,7 @@ ] }, "evolutions": [ - [ "EVO_LEVEL_HAPPINESS", "SPECIES_CLEFAIRY" ] + [ "EVO_LEVEL_FRIENDSHIP", "SPECIES_CLEFAIRY" ] ], "offspring": "SPECIES_CLEFFA", "footprint": { diff --git a/res/pokemon/darkrai/data.json b/res/pokemon/darkrai/data.json index 8344c4e2bd..9208e0a3b7 100644 --- a/res/pokemon/darkrai/data.json +++ b/res/pokemon/darkrai/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 0, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/deoxys/data.json b/res/pokemon/deoxys/data.json index d4c05cb022..91956014e3 100644 --- a/res/pokemon/deoxys/data.json +++ b/res/pokemon/deoxys/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 0, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/deoxys/forms/attack/data.json b/res/pokemon/deoxys/forms/attack/data.json index e60b51b01c..912652386c 100644 --- a/res/pokemon/deoxys/forms/attack/data.json +++ b/res/pokemon/deoxys/forms/attack/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 0, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/deoxys/forms/defense/data.json b/res/pokemon/deoxys/forms/defense/data.json index c04ab104a8..12ebf80089 100644 --- a/res/pokemon/deoxys/forms/defense/data.json +++ b/res/pokemon/deoxys/forms/defense/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 0, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/deoxys/forms/speed/data.json b/res/pokemon/deoxys/forms/speed/data.json index 0ac73edb61..ff7cb2aaf5 100644 --- a/res/pokemon/deoxys/forms/speed/data.json +++ b/res/pokemon/deoxys/forms/speed/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 0, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/dialga/data.json b/res/pokemon/dialga/data.json index 7066028e44..d88bfd21ca 100644 --- a/res/pokemon/dialga/data.json +++ b/res/pokemon/dialga/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 0, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/ditto/data.json b/res/pokemon/ditto/data.json index 3db0681cc1..3df2fb6996 100644 --- a/res/pokemon/ditto/data.json +++ b/res/pokemon/ditto/data.json @@ -22,7 +22,7 @@ "common": "ITEM_QUICK_POWDER", "rare": "ITEM_METAL_POWDER" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 20, "base_friendship": 70, "exp_rate": "EXP_RATE_MEDIUM_FAST", diff --git a/res/pokemon/dusclops/data.json b/res/pokemon/dusclops/data.json index c339d98080..184710ef38 100644 --- a/res/pokemon/dusclops/data.json +++ b/res/pokemon/dusclops/data.json @@ -119,7 +119,7 @@ }, "evolutions": [ [ - "EVO_TRADE_WITH_HELD_ITEM", + "EVO_TRADE_HELD_ITEM", "ITEM_REAPER_CLOTH", "SPECIES_DUSKNOIR" ] diff --git a/res/pokemon/eevee/data.json b/res/pokemon/eevee/data.json index 429a52ac00..e8bb5efe50 100644 --- a/res/pokemon/eevee/data.json +++ b/res/pokemon/eevee/data.json @@ -106,8 +106,8 @@ "ITEM_FIRE_STONE", "SPECIES_FLAREON" ], - [ "EVO_LEVEL_HAPPINESS_DAY", "SPECIES_ESPEON" ], - [ "EVO_LEVEL_HAPPINESS_NIGHT", "SPECIES_UMBREON" ] + [ "EVO_LEVEL_FRIENDSHIP_DAY", "SPECIES_ESPEON" ], + [ "EVO_LEVEL_FRIENDSHIP_NIGHT", "SPECIES_UMBREON" ] ], "offspring": "SPECIES_EEVEE", "footprint": { diff --git a/res/pokemon/egg/data.json b/res/pokemon/egg/data.json index 4d7c28bee1..9ef48ddb32 100644 --- a/res/pokemon/egg/data.json +++ b/res/pokemon/egg/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 0, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/electabuzz/data.json b/res/pokemon/electabuzz/data.json index e3aaf04d3a..09b085ad84 100644 --- a/res/pokemon/electabuzz/data.json +++ b/res/pokemon/electabuzz/data.json @@ -100,7 +100,7 @@ }, "evolutions": [ [ - "EVO_TRADE_WITH_HELD_ITEM", + "EVO_TRADE_HELD_ITEM", "ITEM_ELECTIRIZER", "SPECIES_ELECTIVIRE" ] diff --git a/res/pokemon/electrode/data.json b/res/pokemon/electrode/data.json index 404f77583b..07afcfb5dc 100644 --- a/res/pokemon/electrode/data.json +++ b/res/pokemon/electrode/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 20, "base_friendship": 70, "exp_rate": "EXP_RATE_MEDIUM_FAST", diff --git a/res/pokemon/entei/data.json b/res/pokemon/entei/data.json index 977b78deb5..7862fa0f28 100644 --- a/res/pokemon/entei/data.json +++ b/res/pokemon/entei/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 80, "base_friendship": 35, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/giratina/data.json b/res/pokemon/giratina/data.json index 5dd47791f3..0bdf618a40 100644 --- a/res/pokemon/giratina/data.json +++ b/res/pokemon/giratina/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 0, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/giratina/forms/origin/data.json b/res/pokemon/giratina/forms/origin/data.json index 7a5616a674..5eedf742ba 100644 --- a/res/pokemon/giratina/forms/origin/data.json +++ b/res/pokemon/giratina/forms/origin/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 0, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/gligar/data.json b/res/pokemon/gligar/data.json index 22ac0599e7..ff4c402de3 100644 --- a/res/pokemon/gligar/data.json +++ b/res/pokemon/gligar/data.json @@ -121,7 +121,7 @@ }, "evolutions": [ [ - "EVO_LEVEL_WITH_HELD_ITEM_NIGHT", + "EVO_LEVEL_HELD_ITEM_NIGHT", "ITEM_RAZOR_FANG", "SPECIES_GLISCOR" ] diff --git a/res/pokemon/golbat/data.json b/res/pokemon/golbat/data.json index 54b98f2cf4..fc5a2d492c 100644 --- a/res/pokemon/golbat/data.json +++ b/res/pokemon/golbat/data.json @@ -98,7 +98,7 @@ ] }, "evolutions": [ - [ "EVO_LEVEL_HAPPINESS", "SPECIES_CROBAT" ] + [ "EVO_LEVEL_FRIENDSHIP", "SPECIES_CROBAT" ] ], "offspring": "SPECIES_ZUBAT", "footprint": { diff --git a/res/pokemon/groudon/data.json b/res/pokemon/groudon/data.json index 8ee68fce08..411e252502 100644 --- a/res/pokemon/groudon/data.json +++ b/res/pokemon/groudon/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 0, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/happiny/data.json b/res/pokemon/happiny/data.json index 5060c4319e..e5909ea091 100644 --- a/res/pokemon/happiny/data.json +++ b/res/pokemon/happiny/data.json @@ -103,7 +103,7 @@ }, "evolutions": [ [ - "EVO_LEVEL_WITH_HELD_ITEM_DAY", + "EVO_LEVEL_HELD_ITEM_DAY", "ITEM_OVAL_STONE", "SPECIES_CHANSEY" ] diff --git a/res/pokemon/ho_oh/data.json b/res/pokemon/ho_oh/data.json index 582405a955..e802f9ebfe 100644 --- a/res/pokemon/ho_oh/data.json +++ b/res/pokemon/ho_oh/data.json @@ -22,7 +22,7 @@ "common": "ITEM_SACRED_ASH", "rare": "ITEM_SACRED_ASH" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 0, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/igglybuff/data.json b/res/pokemon/igglybuff/data.json index b801729907..6dd73e86f2 100644 --- a/res/pokemon/igglybuff/data.json +++ b/res/pokemon/igglybuff/data.json @@ -102,7 +102,7 @@ ] }, "evolutions": [ - [ "EVO_LEVEL_HAPPINESS", "SPECIES_JIGGLYPUFF" ] + [ "EVO_LEVEL_FRIENDSHIP", "SPECIES_JIGGLYPUFF" ] ], "offspring": "SPECIES_IGGLYBUFF", "footprint": { diff --git a/res/pokemon/jirachi/data.json b/res/pokemon/jirachi/data.json index ce60eb84c7..19cabedc2f 100644 --- a/res/pokemon/jirachi/data.json +++ b/res/pokemon/jirachi/data.json @@ -22,7 +22,7 @@ "common": "ITEM_STAR_PIECE", "rare": "ITEM_STAR_PIECE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 100, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/kyogre/data.json b/res/pokemon/kyogre/data.json index 6d06704b33..9523eac044 100644 --- a/res/pokemon/kyogre/data.json +++ b/res/pokemon/kyogre/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 0, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/lugia/data.json b/res/pokemon/lugia/data.json index 16dd3a0862..9aa66cc22a 100644 --- a/res/pokemon/lugia/data.json +++ b/res/pokemon/lugia/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 0, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/lunatone/data.json b/res/pokemon/lunatone/data.json index d48f93e05c..837f73f43a 100644 --- a/res/pokemon/lunatone/data.json +++ b/res/pokemon/lunatone/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_MOON_STONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 25, "base_friendship": 70, "exp_rate": "EXP_RATE_FAST", diff --git a/res/pokemon/magmar/data.json b/res/pokemon/magmar/data.json index 3f3c0359b5..d994332e34 100644 --- a/res/pokemon/magmar/data.json +++ b/res/pokemon/magmar/data.json @@ -94,7 +94,7 @@ }, "evolutions": [ [ - "EVO_TRADE_WITH_HELD_ITEM", + "EVO_TRADE_HELD_ITEM", "ITEM_MAGMARIZER", "SPECIES_MAGMORTAR" ] diff --git a/res/pokemon/magnemite/data.json b/res/pokemon/magnemite/data.json index e8d305cc45..4afb72b49e 100644 --- a/res/pokemon/magnemite/data.json +++ b/res/pokemon/magnemite/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_METAL_COAT" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 20, "base_friendship": 70, "exp_rate": "EXP_RATE_MEDIUM_FAST", diff --git a/res/pokemon/magneton/data.json b/res/pokemon/magneton/data.json index 6ac4add4d4..82b18b1272 100644 --- a/res/pokemon/magneton/data.json +++ b/res/pokemon/magneton/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_METAL_COAT" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 20, "base_friendship": 70, "exp_rate": "EXP_RATE_MEDIUM_FAST", diff --git a/res/pokemon/magnezone/data.json b/res/pokemon/magnezone/data.json index ba597865ee..e0d0999b5f 100644 --- a/res/pokemon/magnezone/data.json +++ b/res/pokemon/magnezone/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_METAL_COAT" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 20, "base_friendship": 70, "exp_rate": "EXP_RATE_MEDIUM_FAST", diff --git a/res/pokemon/manaphy/data.json b/res/pokemon/manaphy/data.json index 880adb0610..2fc2975eb2 100644 --- a/res/pokemon/manaphy/data.json +++ b/res/pokemon/manaphy/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 10, "base_friendship": 70, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/mesprit/data.json b/res/pokemon/mesprit/data.json index 4681c1da27..4717a7fcca 100644 --- a/res/pokemon/mesprit/data.json +++ b/res/pokemon/mesprit/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 80, "base_friendship": 140, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/metagross/data.json b/res/pokemon/metagross/data.json index 9b89d7fb0a..381ff44732 100644 --- a/res/pokemon/metagross/data.json +++ b/res/pokemon/metagross/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_METAL_COAT" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 40, "base_friendship": 35, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/metang/data.json b/res/pokemon/metang/data.json index d6eee4dab7..b99f6b312f 100644 --- a/res/pokemon/metang/data.json +++ b/res/pokemon/metang/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_METAL_COAT" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 40, "base_friendship": 35, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/mew/data.json b/res/pokemon/mew/data.json index f056721eb7..0c8374ef2c 100644 --- a/res/pokemon/mew/data.json +++ b/res/pokemon/mew/data.json @@ -22,7 +22,7 @@ "common": "ITEM_LUM_BERRY", "rare": "ITEM_LUM_BERRY" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 100, "exp_rate": "EXP_RATE_MEDIUM_SLOW", diff --git a/res/pokemon/mewtwo/data.json b/res/pokemon/mewtwo/data.json index ad8d9357b7..9f85a47cc2 100644 --- a/res/pokemon/mewtwo/data.json +++ b/res/pokemon/mewtwo/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 0, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/moltres/data.json b/res/pokemon/moltres/data.json index e5922d66ec..5ad0690de4 100644 --- a/res/pokemon/moltres/data.json +++ b/res/pokemon/moltres/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 80, "base_friendship": 35, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/munchlax/data.json b/res/pokemon/munchlax/data.json index aed19547f8..42e1c7fe26 100644 --- a/res/pokemon/munchlax/data.json +++ b/res/pokemon/munchlax/data.json @@ -120,7 +120,7 @@ ] }, "evolutions": [ - [ "EVO_LEVEL_HAPPINESS", "SPECIES_SNORLAX" ] + [ "EVO_LEVEL_FRIENDSHIP", "SPECIES_SNORLAX" ] ], "offspring": "SPECIES_MUNCHLAX", "footprint": { diff --git a/res/pokemon/onix/data.json b/res/pokemon/onix/data.json index 2ff719686d..5337501a4c 100644 --- a/res/pokemon/onix/data.json +++ b/res/pokemon/onix/data.json @@ -113,7 +113,7 @@ }, "evolutions": [ [ - "EVO_TRADE_WITH_HELD_ITEM", + "EVO_TRADE_HELD_ITEM", "ITEM_METAL_COAT", "SPECIES_STEELIX" ] diff --git a/res/pokemon/palkia/data.json b/res/pokemon/palkia/data.json index ede8e2ae04..c79fb058da 100644 --- a/res/pokemon/palkia/data.json +++ b/res/pokemon/palkia/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 0, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/phione/data.json b/res/pokemon/phione/data.json index 0c1380cbaf..baae9ba3a3 100644 --- a/res/pokemon/phione/data.json +++ b/res/pokemon/phione/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 40, "base_friendship": 70, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/pichu/data.json b/res/pokemon/pichu/data.json index f102b282e9..16f02ff50f 100644 --- a/res/pokemon/pichu/data.json +++ b/res/pokemon/pichu/data.json @@ -94,7 +94,7 @@ ] }, "evolutions": [ - [ "EVO_LEVEL_HAPPINESS", "SPECIES_PIKACHU" ] + [ "EVO_LEVEL_FRIENDSHIP", "SPECIES_PIKACHU" ] ], "offspring": "SPECIES_PICHU", "footprint": { diff --git a/res/pokemon/poliwhirl/data.json b/res/pokemon/poliwhirl/data.json index c940ad5f7b..a63d97067b 100644 --- a/res/pokemon/poliwhirl/data.json +++ b/res/pokemon/poliwhirl/data.json @@ -100,7 +100,7 @@ "SPECIES_POLIWRATH" ], [ - "EVO_TRADE_WITH_HELD_ITEM", + "EVO_TRADE_HELD_ITEM", "ITEM_KINGS_ROCK", "SPECIES_POLITOED" ] diff --git a/res/pokemon/porygon/data.json b/res/pokemon/porygon/data.json index 75ac15e4ce..ee469aa0eb 100644 --- a/res/pokemon/porygon/data.json +++ b/res/pokemon/porygon/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 20, "base_friendship": 70, "exp_rate": "EXP_RATE_MEDIUM_FAST", @@ -100,7 +100,7 @@ }, "evolutions": [ [ - "EVO_TRADE_WITH_HELD_ITEM", + "EVO_TRADE_HELD_ITEM", "ITEM_UPGRADE", "SPECIES_PORYGON2" ] diff --git a/res/pokemon/porygon2/data.json b/res/pokemon/porygon2/data.json index a56f6607da..9da9ae6eb1 100644 --- a/res/pokemon/porygon2/data.json +++ b/res/pokemon/porygon2/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 20, "base_friendship": 70, "exp_rate": "EXP_RATE_MEDIUM_FAST", @@ -101,7 +101,7 @@ }, "evolutions": [ [ - "EVO_TRADE_WITH_HELD_ITEM", + "EVO_TRADE_HELD_ITEM", "ITEM_DUBIOUS_DISC", "SPECIES_PORYGON_Z" ] diff --git a/res/pokemon/porygon_z/data.json b/res/pokemon/porygon_z/data.json index 97942dee45..ac5afd8a09 100644 --- a/res/pokemon/porygon_z/data.json +++ b/res/pokemon/porygon_z/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 20, "base_friendship": 70, "exp_rate": "EXP_RATE_MEDIUM_FAST", diff --git a/res/pokemon/raikou/data.json b/res/pokemon/raikou/data.json index a51c06aed7..a97f3ebd36 100644 --- a/res/pokemon/raikou/data.json +++ b/res/pokemon/raikou/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 80, "base_friendship": 35, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/rayquaza/data.json b/res/pokemon/rayquaza/data.json index 75ffec4bad..1247c11fb7 100644 --- a/res/pokemon/rayquaza/data.json +++ b/res/pokemon/rayquaza/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 0, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/regice/data.json b/res/pokemon/regice/data.json index 0a1ab8d1da..aecfcd31d6 100644 --- a/res/pokemon/regice/data.json +++ b/res/pokemon/regice/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 80, "base_friendship": 35, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/regigigas/data.json b/res/pokemon/regigigas/data.json index f899927744..5e18a01a2f 100644 --- a/res/pokemon/regigigas/data.json +++ b/res/pokemon/regigigas/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 0, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/regirock/data.json b/res/pokemon/regirock/data.json index 0ec3b0af95..992a67bb4e 100644 --- a/res/pokemon/regirock/data.json +++ b/res/pokemon/regirock/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 80, "base_friendship": 35, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/registeel/data.json b/res/pokemon/registeel/data.json index d683616937..c54c93f242 100644 --- a/res/pokemon/registeel/data.json +++ b/res/pokemon/registeel/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 80, "base_friendship": 35, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/rhydon/data.json b/res/pokemon/rhydon/data.json index 7c1c2618ce..1bea6facc6 100644 --- a/res/pokemon/rhydon/data.json +++ b/res/pokemon/rhydon/data.json @@ -125,7 +125,7 @@ }, "evolutions": [ [ - "EVO_TRADE_WITH_HELD_ITEM", + "EVO_TRADE_HELD_ITEM", "ITEM_PROTECTOR", "SPECIES_RHYPERIOR" ] diff --git a/res/pokemon/riolu/data.json b/res/pokemon/riolu/data.json index 5ef7d1046f..5f132ecfdb 100644 --- a/res/pokemon/riolu/data.json +++ b/res/pokemon/riolu/data.json @@ -112,7 +112,7 @@ ] }, "evolutions": [ - [ "EVO_LEVEL_HAPPINESS_DAY", "SPECIES_LUCARIO" ] + [ "EVO_LEVEL_FRIENDSHIP_DAY", "SPECIES_LUCARIO" ] ], "offspring": "SPECIES_RIOLU", "footprint": { diff --git a/res/pokemon/rotom/data.json b/res/pokemon/rotom/data.json index 10892c3bbb..4a40f1fb88 100644 --- a/res/pokemon/rotom/data.json +++ b/res/pokemon/rotom/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 20, "base_friendship": 70, "exp_rate": "EXP_RATE_MEDIUM_FAST", diff --git a/res/pokemon/rotom/forms/fan/data.json b/res/pokemon/rotom/forms/fan/data.json index e54bdd3f5e..d5ab83072c 100644 --- a/res/pokemon/rotom/forms/fan/data.json +++ b/res/pokemon/rotom/forms/fan/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 20, "base_friendship": 70, "exp_rate": "EXP_RATE_MEDIUM_FAST", diff --git a/res/pokemon/rotom/forms/frost/data.json b/res/pokemon/rotom/forms/frost/data.json index e54bdd3f5e..d5ab83072c 100644 --- a/res/pokemon/rotom/forms/frost/data.json +++ b/res/pokemon/rotom/forms/frost/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 20, "base_friendship": 70, "exp_rate": "EXP_RATE_MEDIUM_FAST", diff --git a/res/pokemon/rotom/forms/heat/data.json b/res/pokemon/rotom/forms/heat/data.json index e54bdd3f5e..d5ab83072c 100644 --- a/res/pokemon/rotom/forms/heat/data.json +++ b/res/pokemon/rotom/forms/heat/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 20, "base_friendship": 70, "exp_rate": "EXP_RATE_MEDIUM_FAST", diff --git a/res/pokemon/rotom/forms/mow/data.json b/res/pokemon/rotom/forms/mow/data.json index e54bdd3f5e..d5ab83072c 100644 --- a/res/pokemon/rotom/forms/mow/data.json +++ b/res/pokemon/rotom/forms/mow/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 20, "base_friendship": 70, "exp_rate": "EXP_RATE_MEDIUM_FAST", diff --git a/res/pokemon/rotom/forms/wash/data.json b/res/pokemon/rotom/forms/wash/data.json index e54bdd3f5e..d5ab83072c 100644 --- a/res/pokemon/rotom/forms/wash/data.json +++ b/res/pokemon/rotom/forms/wash/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 20, "base_friendship": 70, "exp_rate": "EXP_RATE_MEDIUM_FAST", diff --git a/res/pokemon/scyther/data.json b/res/pokemon/scyther/data.json index 361750bd04..23e7b169bf 100644 --- a/res/pokemon/scyther/data.json +++ b/res/pokemon/scyther/data.json @@ -110,7 +110,7 @@ }, "evolutions": [ [ - "EVO_TRADE_WITH_HELD_ITEM", + "EVO_TRADE_HELD_ITEM", "ITEM_METAL_COAT", "SPECIES_SCIZOR" ] diff --git a/res/pokemon/seadra/data.json b/res/pokemon/seadra/data.json index cbefd22d46..69c9d2c14b 100644 --- a/res/pokemon/seadra/data.json +++ b/res/pokemon/seadra/data.json @@ -93,7 +93,7 @@ }, "evolutions": [ [ - "EVO_TRADE_WITH_HELD_ITEM", + "EVO_TRADE_HELD_ITEM", "ITEM_DRAGON_SCALE", "SPECIES_KINGDRA" ] diff --git a/res/pokemon/shaymin/data.json b/res/pokemon/shaymin/data.json index c497647ca2..e4665ac7f7 100644 --- a/res/pokemon/shaymin/data.json +++ b/res/pokemon/shaymin/data.json @@ -22,7 +22,7 @@ "common": "ITEM_LUM_BERRY", "rare": "ITEM_LUM_BERRY" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 100, "exp_rate": "EXP_RATE_MEDIUM_SLOW", diff --git a/res/pokemon/shaymin/forms/sky/data.json b/res/pokemon/shaymin/forms/sky/data.json index 5f368f03c7..a0eb75b80f 100644 --- a/res/pokemon/shaymin/forms/sky/data.json +++ b/res/pokemon/shaymin/forms/sky/data.json @@ -22,7 +22,7 @@ "common": "ITEM_LUM_BERRY", "rare": "ITEM_LUM_BERRY" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 120, "base_friendship": 100, "exp_rate": "EXP_RATE_MEDIUM_SLOW", diff --git a/res/pokemon/shedinja/data.json b/res/pokemon/shedinja/data.json index ee319008dd..dddf3b5f4e 100644 --- a/res/pokemon/shedinja/data.json +++ b/res/pokemon/shedinja/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 15, "base_friendship": 70, "exp_rate": "EXP_RATE_ERRATIC", diff --git a/res/pokemon/slowpoke/data.json b/res/pokemon/slowpoke/data.json index 280a02ddfd..e9258fc4ae 100644 --- a/res/pokemon/slowpoke/data.json +++ b/res/pokemon/slowpoke/data.json @@ -126,7 +126,7 @@ "SPECIES_SLOWBRO" ], [ - "EVO_TRADE_WITH_HELD_ITEM", + "EVO_TRADE_HELD_ITEM", "ITEM_KINGS_ROCK", "SPECIES_SLOWKING" ] diff --git a/res/pokemon/sneasel/data.json b/res/pokemon/sneasel/data.json index 9d16ef6c57..c2bb6097a9 100644 --- a/res/pokemon/sneasel/data.json +++ b/res/pokemon/sneasel/data.json @@ -125,7 +125,7 @@ }, "evolutions": [ [ - "EVO_LEVEL_WITH_HELD_ITEM_NIGHT", + "EVO_LEVEL_HELD_ITEM_NIGHT", "ITEM_RAZOR_CLAW", "SPECIES_WEAVILE" ] diff --git a/res/pokemon/solrock/data.json b/res/pokemon/solrock/data.json index 72e2da964e..c01051821c 100644 --- a/res/pokemon/solrock/data.json +++ b/res/pokemon/solrock/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_SUN_STONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 25, "base_friendship": 70, "exp_rate": "EXP_RATE_FAST", diff --git a/res/pokemon/starmie/data.json b/res/pokemon/starmie/data.json index a4722ff5e0..186a226928 100644 --- a/res/pokemon/starmie/data.json +++ b/res/pokemon/starmie/data.json @@ -22,7 +22,7 @@ "common": "ITEM_STARDUST", "rare": "ITEM_STAR_PIECE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 20, "base_friendship": 70, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/staryu/data.json b/res/pokemon/staryu/data.json index 5afe357291..e46e9010f5 100644 --- a/res/pokemon/staryu/data.json +++ b/res/pokemon/staryu/data.json @@ -22,7 +22,7 @@ "common": "ITEM_STARDUST", "rare": "ITEM_STAR_PIECE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 20, "base_friendship": 70, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/suicune/data.json b/res/pokemon/suicune/data.json index 17e67c3faa..cfa22d7026 100644 --- a/res/pokemon/suicune/data.json +++ b/res/pokemon/suicune/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 80, "base_friendship": 35, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/togepi/data.json b/res/pokemon/togepi/data.json index b422b0d03a..f881d5a98e 100644 --- a/res/pokemon/togepi/data.json +++ b/res/pokemon/togepi/data.json @@ -112,7 +112,7 @@ ] }, "evolutions": [ - [ "EVO_LEVEL_HAPPINESS", "SPECIES_TOGETIC" ] + [ "EVO_LEVEL_FRIENDSHIP", "SPECIES_TOGETIC" ] ], "offspring": "SPECIES_TOGEPI", "footprint": { diff --git a/res/pokemon/unown/data.json b/res/pokemon/unown/data.json index 89662eb0ab..62f465f90b 100644 --- a/res/pokemon/unown/data.json +++ b/res/pokemon/unown/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 40, "base_friendship": 70, "exp_rate": "EXP_RATE_MEDIUM_FAST", diff --git a/res/pokemon/uxie/data.json b/res/pokemon/uxie/data.json index 45f9505041..4c46a843b9 100644 --- a/res/pokemon/uxie/data.json +++ b/res/pokemon/uxie/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 80, "base_friendship": 140, "exp_rate": "EXP_RATE_SLOW", diff --git a/res/pokemon/voltorb/data.json b/res/pokemon/voltorb/data.json index be2e037a65..6e555cbfaa 100644 --- a/res/pokemon/voltorb/data.json +++ b/res/pokemon/voltorb/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 20, "base_friendship": 70, "exp_rate": "EXP_RATE_MEDIUM_FAST", diff --git a/res/pokemon/zapdos/data.json b/res/pokemon/zapdos/data.json index da9acae09b..691ee6f27d 100644 --- a/res/pokemon/zapdos/data.json +++ b/res/pokemon/zapdos/data.json @@ -22,7 +22,7 @@ "common": "ITEM_NONE", "rare": "ITEM_NONE" }, - "gender_ratio": "GENDER_RATIO_NO_GENDER", + "gender_ratio": "GENDER_RATIO_UNKNOWN", "hatch_cycles": 80, "base_friendship": 35, "exp_rate": "EXP_RATE_SLOW", diff --git a/src/applications/journal_display/journal_printer.c b/src/applications/journal_display/journal_printer.c index e2376c3c11..653f1971de 100644 --- a/src/applications/journal_display/journal_printer.c +++ b/src/applications/journal_display/journal_printer.c @@ -821,8 +821,8 @@ static void JournalPrinter_SetSpeciesName(JournalManager *journalManager, u16 sp { Pokemon *mon = Pokemon_New(HEAP_ID_JOURNAL); - sub_02074088(mon, species, 1, 32, gender, 0, 0); - StringTemplate_SetSpeciesName(journalManager->template, idx, Pokemon_GetBoxPokemon(mon)); + Pokemon_InitWithGenderNatureLetter(mon, species, 1, 32, gender, 0, 0); + StringTemplate_SetSpeciesName(journalManager->template, idx, Pokemon_GetBoxMon(mon)); Heap_Free(mon); } diff --git a/src/applications/move_reminder.c b/src/applications/move_reminder.c index a31c04da3b..512184dbdf 100644 --- a/src/applications/move_reminder.c +++ b/src/applications/move_reminder.c @@ -885,7 +885,7 @@ static int MoveReminder_State_ProcessMainInput(MoveReminderController *controlle Sound_PlayEffect(SEQ_SE_DP_DECIDE); MoveReminder_DrawMoveSelector(controller, controller->data->cursorPos, 1); MoveReminder_HideScrollArrows(controller); - if (MoveReminder_GetEmptyMoveSlot(controller) < LEARNED_MOVES_MAX) { + if (MoveReminder_GetEmptyMoveSlot(controller) < MAX_MON_MOVES) { MoveReminder_SetMessageBoxText(controller, MOVE_REMINDER_STR_ASK_SHOULD_TEACH_MOVE); controller->yesNoCallback = MOVE_REMINDER_YES_NO_SHOULD_TEACH_MOVE; controller->nextState = MOVE_REMINDER_STATE_DRAW_YES_NO_MENU; @@ -930,13 +930,13 @@ static int MoveReminder_State_ProcessYesNoInput(MoveReminderController *controll static int MoveReminder_State_ReplaceOldMove(MoveReminderController *controller) { u32 value = MoveReminder_GetSelectedMove(controller); - Pokemon_SetValue(controller->data->mon, MON_DATA_MOVE1 + controller->data->moveSlot, &value); + Pokemon_SetData(controller->data->mon, MON_DATA_MOVE1 + controller->data->moveSlot, &value); value = 0; - Pokemon_SetValue(controller->data->mon, MON_DATA_MOVE1_PP_UPS + controller->data->moveSlot, &value); + Pokemon_SetData(controller->data->mon, MON_DATA_MOVE1_PP_UPS + controller->data->moveSlot, &value); value = MoveTable_CalcMaxPP(MoveReminder_GetSelectedMove(controller), 0); - Pokemon_SetValue(controller->data->mon, MON_DATA_MOVE1_PP + controller->data->moveSlot, &value); + Pokemon_SetData(controller->data->mon, MON_DATA_MOVE1_PP + controller->data->moveSlot, &value); controller->data->keepOldMove = FALSE; @@ -952,7 +952,7 @@ static int MoveReminder_State_PlayFanfare(MoveReminderController *controller) static int MoveReminder_State_ConfirmSelection(MoveReminderController *controller) { - if (controller->data->moveSlot < LEARNED_MOVES_MAX) { + if (controller->data->moveSlot < MAX_MON_MOVES) { MoveReminder_SetMessageBoxText(controller, MOVE_REMINDER_STR_ASK_FORGET_THIS_MOVE); controller->yesNoCallback = MOVE_REMINDER_YES_NO_FORGET_THIS_MOVE; } else { @@ -1249,7 +1249,7 @@ static void MoveReminder_SetStringTemplate(MoveReminderController *controller, u { switch (str) { case MOVE_REMINDER_STR_ASK_TEACH_WHICH_TO_MON: - StringTemplate_SetNickname(controller->stringTemplate, 0, Pokemon_GetBoxPokemon(controller->data->mon)); + StringTemplate_SetNickname(controller->stringTemplate, 0, Pokemon_GetBoxMon(controller->data->mon)); break; case MOVE_REMINDER_STR_ASK_SHOULD_TEACH_MOVE: @@ -1257,26 +1257,26 @@ static void MoveReminder_SetStringTemplate(MoveReminderController *controller, u break; case MOVE_REMINDER_STR_ASK_GIVE_UP_TEACHING_MON: - StringTemplate_SetNickname(controller->stringTemplate, 0, Pokemon_GetBoxPokemon(controller->data->mon)); + StringTemplate_SetNickname(controller->stringTemplate, 0, Pokemon_GetBoxMon(controller->data->mon)); break; case MOVE_REMINDER_STR_LEARNED_MOVE_NO_FANFARE: - StringTemplate_SetNickname(controller->stringTemplate, 0, Pokemon_GetBoxPokemon(controller->data->mon)); + StringTemplate_SetNickname(controller->stringTemplate, 0, Pokemon_GetBoxMon(controller->data->mon)); StringTemplate_SetMoveName(controller->stringTemplate, 1, MoveReminder_GetSelectedMove(controller)); break; case MOVE_REMINDER_STR_ASK_MORE_THAN_FOUR_MOVES: - StringTemplate_SetNickname(controller->stringTemplate, 0, Pokemon_GetBoxPokemon(controller->data->mon)); + StringTemplate_SetNickname(controller->stringTemplate, 0, Pokemon_GetBoxMon(controller->data->mon)); StringTemplate_SetMoveName(controller->stringTemplate, 1, MoveReminder_GetSelectedMove(controller)); break; case MOVE_REMINDER_STR_1_2_AND_POOF: - StringTemplate_SetNickname(controller->stringTemplate, 0, Pokemon_GetBoxPokemon(controller->data->mon)); + StringTemplate_SetNickname(controller->stringTemplate, 0, Pokemon_GetBoxMon(controller->data->mon)); StringTemplate_SetMoveName(controller->stringTemplate, 1, MoveReminder_GetForgottenMove(controller)); break; case MOVE_REMINDER_STR_LEARNED_MOVE_FANFARE: - StringTemplate_SetNickname(controller->stringTemplate, 0, Pokemon_GetBoxPokemon(controller->data->mon)); + StringTemplate_SetNickname(controller->stringTemplate, 0, Pokemon_GetBoxMon(controller->data->mon)); StringTemplate_SetMoveName(controller->stringTemplate, 1, MoveReminder_GetSelectedMove(controller)); break; @@ -1285,7 +1285,7 @@ static void MoveReminder_SetStringTemplate(MoveReminderController *controller, u break; case MOVE_REMINDER_STR_MON_DID_NOT_LEARN_MOVE: - StringTemplate_SetNickname(controller->stringTemplate, 0, Pokemon_GetBoxPokemon(controller->data->mon)); + StringTemplate_SetNickname(controller->stringTemplate, 0, Pokemon_GetBoxMon(controller->data->mon)); StringTemplate_SetMoveName(controller->stringTemplate, 1, MoveReminder_GetSelectedMove(controller)); break; @@ -1310,7 +1310,7 @@ static u16 MoveReminder_GetSelectedMove(MoveReminderController *controller) static u16 MoveReminder_GetForgottenMove(MoveReminderController *controller) { - return (u16)Pokemon_GetValue(controller->data->mon, MON_DATA_MOVE1 + controller->data->moveSlot, NULL); + return (u16)Pokemon_GetData(controller->data->mon, MON_DATA_MOVE1 + controller->data->moveSlot, NULL); } static void MoveReminder_SetMessageBoxText(MoveReminderController *controller, u32 str) @@ -1350,8 +1350,8 @@ static BOOL MoveReminder_TextPrinterCallback(TextPrinterTemplate *printer, u16 p static u8 MoveReminder_GetEmptyMoveSlot(MoveReminderController *controller) { u8 i; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { - if (Pokemon_GetValue(controller->data->mon, MON_DATA_MOVE1 + i, NULL) == MOVE_NONE) { + for (i = 0; i < MAX_MON_MOVES; i++) { + if (Pokemon_GetData(controller->data->mon, MON_DATA_MOVE1 + i, NULL) == MOVE_NONE) { break; } } diff --git a/src/applications/naming_screen.c b/src/applications/naming_screen.c index 3c2beb0b1f..c2b8796fc9 100644 --- a/src/applications/naming_screen.c +++ b/src/applications/naming_screen.c @@ -1403,7 +1403,7 @@ static BOOL NamingScreen_Exit(ApplicationManager *appMan, int *unusedState) Pokemon *mon; mon = Pokemon_New(HEAP_ID_NAMING_SCREEN_APP); - Pokemon_InitWith(mon, namingScreen->playerGenderOrMonSpecies, 5, 10, 10, 10, 10, 10); + Pokemon_InitWithParams(mon, namingScreen->playerGenderOrMonSpecies, 5, 10, 10, 10, 10, 10); Heap_Free(mon); } @@ -1686,8 +1686,8 @@ static void NamingScreen_InitCursorsAndChars(NamingScreen *namingScreen, Applica Pokemon *pkm; pkm = Pokemon_New(HEAP_ID_NAMING_SCREEN_APP); - Pokemon_InitWith(pkm, namingScreen->playerGenderOrMonSpecies, 5, 10, 10, 10, 10, 10); - StringTemplate_SetSpeciesName(namingScreen->strTemplate, 0, Pokemon_GetBoxPokemon(pkm)); + Pokemon_InitWithParams(pkm, namingScreen->playerGenderOrMonSpecies, 5, 10, 10, 10, 10, 10); + StringTemplate_SetSpeciesName(namingScreen->strTemplate, 0, Pokemon_GetBoxMon(pkm)); Heap_Free(pkm); } @@ -1758,8 +1758,8 @@ static void NamingScreen_PrepareBattleMessage(NamingScreen *namingScreen, Applic if (namingScreen->textCursorPos == 0 || NamingScreen_IsRawStringAllSpaces(namingScreen->entryBuf)) { Pokemon *mon = Pokemon_New(HEAP_ID_NAMING_SCREEN_APP); - Pokemon_InitWith(mon, namingScreen->playerGenderOrMonSpecies, 1, 0, FALSE, 0, OTID_NOT_SET, 0); - StringTemplate_SetSpeciesName(namingScreen->strTemplate, 0, Pokemon_GetBoxPokemon(mon)); + Pokemon_InitWithParams(mon, namingScreen->playerGenderOrMonSpecies, 1, 0, FALSE, 0, OT_ID_PLAYER_ID, 0); + StringTemplate_SetSpeciesName(namingScreen->strTemplate, 0, Pokemon_GetBoxMon(mon)); Heap_Free(mon); } else { namingScreen->entryBuf[namingScreen->textCursorPos] = CHAR_EOS; diff --git a/src/applications/party_menu/main.c b/src/applications/party_menu/main.c index cf9cd22b6d..81b1c3b275 100644 --- a/src/applications/party_menu/main.c +++ b/src/applications/party_menu/main.c @@ -1097,7 +1097,7 @@ u8 PartyMenu_LoadMember(PartyMenuApplication *application, u8 slot) } Pokemon *mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, slot); - u16 species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); + u16 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); if (species == SPECIES_NONE) { return FALSE; } @@ -1105,15 +1105,15 @@ u8 PartyMenu_LoadMember(PartyMenuApplication *application, u8 slot) PartyMenu_SetMemberName(application, mon, slot); application->partyMembers[slot].species = species; - application->partyMembers[slot].curHP = Pokemon_GetValue(mon, MON_DATA_HP, NULL); - application->partyMembers[slot].maxHP = Pokemon_GetValue(mon, MON_DATA_MAX_HP, NULL); - application->partyMembers[slot].level = Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL); - application->partyMembers[slot].heldItem = Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL); - application->partyMembers[slot].ballSeal = Pokemon_GetValue(mon, MON_DATA_BALL_CAPSULE_ID, NULL); - application->partyMembers[slot].isEgg = Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL); - application->partyMembers[slot].form = Pokemon_GetValue(mon, MON_DATA_FORM, NULL); - - if (Pokemon_GetValue(mon, MON_DATA_NO_PRINT_GENDER, NULL) == TRUE) { + application->partyMembers[slot].curHP = Pokemon_GetData(mon, MON_DATA_HP, NULL); + application->partyMembers[slot].maxHP = Pokemon_GetData(mon, MON_DATA_MAX_HP, NULL); + application->partyMembers[slot].level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); + application->partyMembers[slot].heldItem = Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL); + application->partyMembers[slot].ballSeal = Pokemon_GetData(mon, MON_DATA_BALL_CAPSULE_ID, NULL); + application->partyMembers[slot].isEgg = Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL); + application->partyMembers[slot].form = Pokemon_GetData(mon, MON_DATA_FORM, NULL); + + if (Pokemon_GetData(mon, MON_DATA_NO_PRINT_GENDER, NULL) == TRUE) { application->partyMembers[slot].hideGenderMarker = FALSE; } else { application->partyMembers[slot].hideGenderMarker = TRUE; @@ -1142,8 +1142,8 @@ static void CheckContestEligibility(PartyMenuApplication *application, Pokemon * } countRibbons = CountEarnedRibbonsForContestType(mon, application->partyMenu->contestType); - for (countMoves = 0; countMoves < LEARNED_MOVES_MAX; countMoves++) { - if (Pokemon_GetValue(mon, MON_DATA_MOVE1 + countMoves, NULL) == MOVE_NONE) { + for (countMoves = 0; countMoves < MAX_MON_MOVES; countMoves++) { + if (Pokemon_GetData(mon, MON_DATA_MOVE1 + countMoves, NULL) == MOVE_NONE) { break; } } @@ -1161,34 +1161,34 @@ static u32 CountEarnedRibbonsForContestType(Pokemon *mon, u8 contestType) switch (contestType) { case CONTEST_TYPE_COOL: - count = Pokemon_GetValue(mon, MON_DATA_SUPER_COOL_RIBBON, NULL); - count += Pokemon_GetValue(mon, MON_DATA_SUPER_COOL_RIBBON_GREAT, NULL); - count += Pokemon_GetValue(mon, MON_DATA_SUPER_COOL_RIBBON_ULTRA, NULL); - count += Pokemon_GetValue(mon, MON_DATA_SUPER_COOL_RIBBON_MASTER, NULL); + count = Pokemon_GetData(mon, MON_DATA_SUPER_COOL_RIBBON, NULL); + count += Pokemon_GetData(mon, MON_DATA_SUPER_COOL_RIBBON_GREAT, NULL); + count += Pokemon_GetData(mon, MON_DATA_SUPER_COOL_RIBBON_ULTRA, NULL); + count += Pokemon_GetData(mon, MON_DATA_SUPER_COOL_RIBBON_MASTER, NULL); break; case CONTEST_TYPE_BEAUTY: - count = Pokemon_GetValue(mon, MON_DATA_SUPER_BEAUTY_RIBBON, NULL); - count += Pokemon_GetValue(mon, MON_DATA_SUPER_BEAUTY_RIBBON_GREAT, NULL); - count += Pokemon_GetValue(mon, MON_DATA_SUPER_BEAUTY_RIBBON_ULTRA, NULL); - count += Pokemon_GetValue(mon, MON_DATA_SUPER_BEAUTY_RIBBON_MASTER, NULL); + count = Pokemon_GetData(mon, MON_DATA_SUPER_BEAUTY_RIBBON, NULL); + count += Pokemon_GetData(mon, MON_DATA_SUPER_BEAUTY_RIBBON_GREAT, NULL); + count += Pokemon_GetData(mon, MON_DATA_SUPER_BEAUTY_RIBBON_ULTRA, NULL); + count += Pokemon_GetData(mon, MON_DATA_SUPER_BEAUTY_RIBBON_MASTER, NULL); break; case CONTEST_TYPE_CUTE: - count = Pokemon_GetValue(mon, MON_DATA_SUPER_CUTE_RIBBON, NULL); - count += Pokemon_GetValue(mon, MON_DATA_SUPER_CUTE_RIBBON_GREAT, NULL); - count += Pokemon_GetValue(mon, MON_DATA_SUPER_CUTE_RIBBON_ULTRA, NULL); - count += Pokemon_GetValue(mon, MON_DATA_SUPER_CUTE_RIBBON_MASTER, NULL); + count = Pokemon_GetData(mon, MON_DATA_SUPER_CUTE_RIBBON, NULL); + count += Pokemon_GetData(mon, MON_DATA_SUPER_CUTE_RIBBON_GREAT, NULL); + count += Pokemon_GetData(mon, MON_DATA_SUPER_CUTE_RIBBON_ULTRA, NULL); + count += Pokemon_GetData(mon, MON_DATA_SUPER_CUTE_RIBBON_MASTER, NULL); break; case CONTEST_TYPE_SMART: - count = Pokemon_GetValue(mon, MON_DATA_SUPER_SMART_RIBBON, NULL); - count += Pokemon_GetValue(mon, MON_DATA_SUPER_SMART_RIBBON_GREAT, NULL); - count += Pokemon_GetValue(mon, MON_DATA_SUPER_SMART_RIBBON_ULTRA, NULL); - count += Pokemon_GetValue(mon, MON_DATA_SUPER_SMART_RIBBON_MASTER, NULL); + count = Pokemon_GetData(mon, MON_DATA_SUPER_SMART_RIBBON, NULL); + count += Pokemon_GetData(mon, MON_DATA_SUPER_SMART_RIBBON_GREAT, NULL); + count += Pokemon_GetData(mon, MON_DATA_SUPER_SMART_RIBBON_ULTRA, NULL); + count += Pokemon_GetData(mon, MON_DATA_SUPER_SMART_RIBBON_MASTER, NULL); break; case CONTEST_TYPE_TOUGH: - count = Pokemon_GetValue(mon, MON_DATA_SUPER_TOUGH_RIBBON, NULL); - count += Pokemon_GetValue(mon, MON_DATA_SUPER_TOUGH_RIBBON_GREAT, NULL); - count += Pokemon_GetValue(mon, MON_DATA_SUPER_TOUGH_RIBBON_ULTRA, NULL); - count += Pokemon_GetValue(mon, MON_DATA_SUPER_TOUGH_RIBBON_MASTER, NULL); + count = Pokemon_GetData(mon, MON_DATA_SUPER_TOUGH_RIBBON, NULL); + count += Pokemon_GetData(mon, MON_DATA_SUPER_TOUGH_RIBBON_GREAT, NULL); + count += Pokemon_GetData(mon, MON_DATA_SUPER_TOUGH_RIBBON_ULTRA, NULL); + count += Pokemon_GetData(mon, MON_DATA_SUPER_TOUGH_RIBBON_MASTER, NULL); break; } @@ -1428,7 +1428,7 @@ void PartyMenu_UpdateSlotPalette(PartyMenuApplication *application, u8 slot) palette = 0; } - if (Pokemon_GetValue(mon, MON_DATA_HP, 0) == 0) { + if (Pokemon_GetData(mon, MON_DATA_HP, 0) == 0) { palette += 2; } else if (sub_0207F984(application, slot) == 1) { palette += 1; @@ -1803,7 +1803,7 @@ static u8 GetContextMenuEntriesForPartyMon(PartyMenuApplication *application, u8 if (FieldSystem_IsInBattleTowerSalon(application->partyMenu->fieldSystem) == FALSE) { if (application->partyMembers[application->currPartySlot].isEgg == FALSE) { for (i = 0; i < 4; i++) { - move = (u16)Pokemon_GetValue(pokemon, MON_DATA_MOVE1 + i, NULL); + move = (u16)Pokemon_GetData(pokemon, MON_DATA_MOVE1 + i, NULL); if (move == 0) { break; @@ -1972,7 +1972,7 @@ u8 PartyMenu_CheckEligibility(PartyMenuApplication *application, u8 partySlot) } if (application->partyMenu->mode == PARTY_MENU_MODE_BATTLE_TOWER - && Pokemon_IsOnBattleFrontierBanlist(application->partyMembers[partySlot].species) == TRUE) { + && Species_IsBattleFrontierBanned(application->partyMembers[partySlot].species) == TRUE) { return PARTY_MENU_SELECTION_INELIGIBLE; } @@ -1992,7 +1992,7 @@ u8 PartyMenu_CheckEligibility(PartyMenuApplication *application, u8 partySlot) u8 PartyMenu_CheckBattleHallEligibility(PartyMenuApplication *application, u8 slot) { if (application->partyMenu->mode == PARTY_MENU_MODE_BATTLE_HALL - && Pokemon_IsOnBattleFrontierBanlist(application->partyMembers[slot].species) == TRUE) { + && Species_IsBattleFrontierBanned(application->partyMembers[slot].species) == TRUE) { return PARTY_MENU_SELECTION_INELIGIBLE; } @@ -2012,7 +2012,7 @@ u8 PartyMenu_CheckBattleHallEligibility(PartyMenuApplication *application, u8 sl u8 PartyMenu_CheckBattleCastleEligibility(PartyMenuApplication *application, u8 partySlot) { if (application->partyMenu->mode == PARTY_MENU_MODE_BATTLE_CASTLE - && Pokemon_IsOnBattleFrontierBanlist(application->partyMembers[partySlot].species) == TRUE) { + && Species_IsBattleFrontierBanned(application->partyMembers[partySlot].species) == TRUE) { return PARTY_MENU_SELECTION_INELIGIBLE; } @@ -2512,7 +2512,7 @@ static int ProcessWindowInput(PartyMenuApplication *application) mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); v1 = MessageLoader_GetNewString(application->messageLoader, 64); - StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxPokemon(mon)); + StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxMon(mon)); StringTemplate_SetNumber(application->template, 1, application->monStats[2], 3, 0, 1); StringTemplate_Format(application->template, application->tmpString, v1); String_Free(v1); @@ -2575,7 +2575,7 @@ static BOOL UpdatePokemonStatus(PartyMenuApplication *application, u8 slot, s8 p mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, slot); v1 = application->partyMembers[slot].curHP; - Pokemon_SetValue(mon, MON_DATA_HP, &v1); + Pokemon_SetData(mon, MON_DATA_HP, &v1); return 1; } @@ -2655,7 +2655,7 @@ static int ApplyItemEffectOnPokemon(PartyMenuApplication *application) if (Item_Get(v0, 26) != 0) { Pokemon *v1 = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); - application->partyMenu->evoTargetSpecies = Pokemon_GetEvolutionTargetSpecies(NULL, v1, EVO_CLASS_BY_ITEM, application->partyMenu->usedItemID, &application->partyMenu->evoType); + application->partyMenu->evoTargetSpecies = Pokemon_GetEvolutionTarget(NULL, v1, EVO_CONTEXT_ITEM_USE, application->partyMenu->usedItemID, &application->partyMenu->evoType); application->partyMenu->menuSelectionResult = 8; Heap_Free(v0); return 32; @@ -2700,9 +2700,9 @@ static int ProcessItemApplication(PartyMenuApplication *application) fieldSystem = application->partyMenu->fieldSystem; if (application->partyMenu->usedItemID == 112) { - if (Pokemon_GetValue(v0, MON_DATA_SPECIES, NULL) != SPECIES_GIRATINA) { + if (Pokemon_GetData(v0, MON_DATA_SPECIES, NULL) != SPECIES_GIRATINA) { MessageLoader_GetString(application->messageLoader, pl_msg_00000453_00203, application->tmpFormat); - StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxPokemon(v0)); + StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxMon(v0)); StringTemplate_SetItemNameWithArticle(application->template, 1, application->partyMenu->usedItemID); StringTemplate_Format(application->template, application->tmpString, application->tmpFormat); v2 = 11; @@ -2727,13 +2727,13 @@ static int ProcessItemApplication(PartyMenuApplication *application) v2 = UpdatePokemonWithItem(application, v0, &v3); MessageLoader_GetString(application->messageLoader, pl_msg_00000453_00118, application->tmpFormat); - StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxPokemon(v0)); + StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxMon(v0)); StringTemplate_SetItemName(application->template, 1, application->partyMenu->usedItemID); StringTemplate_Format(application->template, application->tmpString, application->tmpFormat); break; case 1: MessageLoader_GetString(application->messageLoader, pl_msg_00000453_00078, application->tmpFormat); - StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxPokemon(v0)); + StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxMon(v0)); StringTemplate_SetItemNameWithArticle(application->template, 1, application->partyMembers[application->currPartySlot].heldItem); StringTemplate_Format(application->template, application->tmpString, application->tmpFormat); v2 = 9; @@ -2758,11 +2758,11 @@ static int UpdatePokemonWithItem(PartyMenuApplication *application, Pokemon *mon FieldSystem *fieldSystem = application->partyMenu->fieldSystem; Bag_TryRemoveItem(application->partyMenu->bag, application->partyMenu->usedItemID, 1, HEAP_ID_PARTY_MENU); - Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, &item); - Pokemon_SetArceusForm(mon); + Pokemon_SetData(mon, MON_DATA_HELD_ITEM, &item); + Pokemon_UpdateArceusForm(mon); if ((fieldSystem == NULL) || (fieldSystem->location->mapId < 573) || (fieldSystem->location->mapId > 583)) { - *param2 = Pokemon_SetGiratinaFormByHeldItem(mon); + *param2 = Pokemon_UpdateGiratinaForm(mon); } else { *param2 = -1; } @@ -2780,9 +2780,9 @@ static int UpdatePokemonWithItem(PartyMenuApplication *application, Pokemon *mon static void SwapPokemonItem(PartyMenuApplication *application, Pokemon *mon, u32 param2, u32 param3) { Bag_TryAddItem(application->partyMenu->bag, (u16)param2, 1, HEAP_ID_PARTY_MENU); - Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, ¶m3); - Pokemon_SetArceusForm(mon); - Pokemon_SetGiratinaFormByHeldItem(mon); + Pokemon_SetData(mon, MON_DATA_HELD_ITEM, ¶m3); + Pokemon_UpdateArceusForm(mon); + Pokemon_UpdateGiratinaForm(mon); application->partyMembers[application->currPartySlot].heldItem = (u16)param3; PartyMenu_DrawMemberHeldItem(application, application->currPartySlot, application->partyMembers[application->currPartySlot].heldItem); } @@ -2918,7 +2918,7 @@ static int UpdatePokemonFormWithItem(PartyMenuApplication *application) if (item == ITEM_NONE) { MessageLoader_GetString(application->messageLoader, pl_msg_00000453_00118, application->tmpFormat); - StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxPokemon(v0)); + StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxMon(v0)); StringTemplate_SetItemName(application->template, 1, application->partyMenu->usedItemID); StringTemplate_Format(application->template, application->tmpString, application->tmpFormat); } else { diff --git a/src/applications/party_menu/sprites.c b/src/applications/party_menu/sprites.c index 0643232c80..bce4d737f4 100644 --- a/src/applications/party_menu/sprites.c +++ b/src/applications/party_menu/sprites.c @@ -84,7 +84,7 @@ void PartyMenu_DrawMemberSpeciesIcon(PartyMenuApplication *application, u8 slot, 0, 4 + slot); - u32 isEgg = Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL); + u32 isEgg = Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL); SpriteTemplateFromResourceHeader template; template.resourceHeaderID = 4 + slot; @@ -108,8 +108,8 @@ void PartyMenu_DrawMemberSpeciesIcon(PartyMenuApplication *application, u8 slot, void PartyMenu_LoadMemberSpeciesIcon(PartyMenuApplication *application, u8 slot) { Pokemon *mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, slot); - int species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - int form = Pokemon_GetValue(mon, MON_DATA_FORM, NULL); + int species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + int form = Pokemon_GetData(mon, MON_DATA_FORM, NULL); NARC *iconNarc = NARC_ctor(NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON, HEAP_ID_PARTY_MENU); u32 offset = NNS_G2dGetImageLocation(Sprite_GetImageProxy(application->partyMembers[slot].sprite), NNS_G2D_VRAM_TYPE_2DMAIN); void *ncgr = LoadMemberFromOpenNARC(iconNarc, Pokemon_IconSpriteIndex(mon), FALSE, HEAP_ID_PARTY_MENU, TRUE); diff --git a/src/applications/party_menu/unk_02083370.c b/src/applications/party_menu/unk_02083370.c index 9efbce1f65..ef36374460 100644 --- a/src/applications/party_menu/unk_02083370.c +++ b/src/applications/party_menu/unk_02083370.c @@ -175,7 +175,7 @@ static void sub_020834B0(PartyMenuApplication *param0, int *param1) if (param0->partyMembers[param0->currPartySlot].heldItem == ITEM_NONE) { mon = Party_GetPokemonBySlotIndex(param0->partyMenu->party, param0->currPartySlot); MessageLoader_GetString(param0->messageLoader, pl_msg_00000453_00081, param0->tmpFormat); - StringTemplate_SetNickname(param0->template, 0, Pokemon_GetBoxPokemon(mon)); + StringTemplate_SetNickname(param0->template, 0, Pokemon_GetBoxMon(mon)); StringTemplate_Format(param0->template, param0->tmpString, param0->tmpFormat); } else if (Bag_TryAddItem(param0->partyMenu->bag, param0->partyMembers[param0->currPartySlot].heldItem, 1, HEAP_ID_PARTY_MENU) == TRUE) { u32 v4; @@ -183,11 +183,11 @@ static void sub_020834B0(PartyMenuApplication *param0, int *param1) mon = Party_GetPokemonBySlotIndex(param0->partyMenu->party, param0->currPartySlot); v4 = 0; - Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, &v4); - Pokemon_SetArceusForm(mon); + Pokemon_SetData(mon, MON_DATA_HELD_ITEM, &v4); + Pokemon_UpdateArceusForm(mon); if ((fieldSystem == NULL) || (fieldSystem->location->mapId < 573) || (fieldSystem->location->mapId > 583)) { - v1 = Pokemon_SetGiratinaFormByHeldItem(mon); + v1 = Pokemon_UpdateGiratinaForm(mon); if ((param0->partyMembers[param0->currPartySlot].heldItem == ITEM_GRISEOUS_ORB) && (v1 == 0)) { v2 = 18; @@ -195,7 +195,7 @@ static void sub_020834B0(PartyMenuApplication *param0, int *param1) } MessageLoader_GetString(param0->messageLoader, pl_msg_00000453_00082, param0->tmpFormat); - StringTemplate_SetNickname(param0->template, 0, Pokemon_GetBoxPokemon(mon)); + StringTemplate_SetNickname(param0->template, 0, Pokemon_GetBoxMon(mon)); StringTemplate_SetItemName(param0->template, 1, param0->partyMembers[param0->currPartySlot].heldItem); StringTemplate_Format(param0->template, param0->tmpString, param0->tmpFormat); @@ -345,9 +345,9 @@ static int sub_020838F4(void *param0) mon = Party_GetPokemonBySlotIndex(v0->partyMenu->party, v0->currPartySlot); item = 0; - Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, &item); - Pokemon_SetArceusForm(mon); - Pokemon_SetGiratinaFormByHeldItem(mon); + Pokemon_SetData(mon, MON_DATA_HELD_ITEM, &item); + Pokemon_UpdateArceusForm(mon); + Pokemon_UpdateGiratinaForm(mon); v0->partyMembers[v0->currPartySlot].heldItem = ITEM_NONE; @@ -840,7 +840,7 @@ int sub_02084780(PartyMenuApplication *param0) { Pokemon *v0 = Party_GetPokemonBySlotIndex(param0->partyMenu->party, param0->currPartySlot); - if (Pokemon_GetValue(v0, MON_DATA_BALL_CAPSULE_ID, NULL) == 0) { + if (Pokemon_GetData(v0, MON_DATA_BALL_CAPSULE_ID, NULL) == 0) { MessageLoader_GetString(param0->messageLoader, pl_msg_00000453_00129, param0->tmpString); Sprite_SetDrawFlag(param0->sprites[22 + param0->currPartySlot], TRUE); } else { diff --git a/src/applications/party_menu/unk_02084B70.c b/src/applications/party_menu/unk_02084B70.c index 328cc033e1..e3b24ea0a8 100644 --- a/src/applications/party_menu/unk_02084B70.c +++ b/src/applications/party_menu/unk_02084B70.c @@ -229,7 +229,7 @@ static void BufferUsedItemMessage(PartyMenuApplication *application, u16 param1, String *string; mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); - StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxPokemon(mon)); + StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxMon(mon)); switch (sub_02084B70(param1)) { case 4: @@ -446,13 +446,13 @@ static int sub_02085424(void *applicationPtr) application = (PartyMenuApplication *)applicationPtr; mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); - EVs[0] = Pokemon_GetValue(mon, MON_DATA_HP_EV, NULL); - EVs[1] = Pokemon_GetValue(mon, MON_DATA_ATK_EV, NULL); - EVs[2] = Pokemon_GetValue(mon, MON_DATA_DEF_EV, NULL); - EVs[3] = Pokemon_GetValue(mon, MON_DATA_SPEED_EV, NULL); - EVs[4] = Pokemon_GetValue(mon, MON_DATA_SPATK_EV, NULL); - EVs[5] = Pokemon_GetValue(mon, MON_DATA_SPDEF_EV, NULL); - EVs[6] = Pokemon_GetValue(mon, MON_DATA_FRIENDSHIP, NULL); + EVs[0] = Pokemon_GetData(mon, MON_DATA_HP_EV, NULL); + EVs[1] = Pokemon_GetData(mon, MON_DATA_ATK_EV, NULL); + EVs[2] = Pokemon_GetData(mon, MON_DATA_DEF_EV, NULL); + EVs[3] = Pokemon_GetData(mon, MON_DATA_SPEED_EV, NULL); + EVs[4] = Pokemon_GetData(mon, MON_DATA_SPATK_EV, NULL); + EVs[5] = Pokemon_GetData(mon, MON_DATA_SPDEF_EV, NULL); + EVs[6] = Pokemon_GetData(mon, MON_DATA_FRIENDSHIP, NULL); Party_ApplyItemEffectsToMember(application->partyMenu->party, application->partyMenu->usedItemID, application->currPartySlot, 0, GetCurrentMapLabel(application), 12); PartyMenu_LoadMember(application, application->currPartySlot); @@ -460,8 +460,8 @@ static int sub_02085424(void *applicationPtr) PartyMenu_LoadMemberWindowTiles(application, application->currPartySlot); PartyMenu_DrawMemberStatusCondition(application, application->currPartySlot, application->partyMembers[application->currPartySlot].statusIcon); - if ((EVs[0] != Pokemon_GetValue(mon, MON_DATA_HP_EV, NULL)) || (EVs[1] != Pokemon_GetValue(mon, MON_DATA_ATK_EV, NULL)) || (EVs[2] != Pokemon_GetValue(mon, MON_DATA_DEF_EV, NULL)) || (EVs[3] != Pokemon_GetValue(mon, MON_DATA_SPEED_EV, NULL)) || (EVs[4] != Pokemon_GetValue(mon, MON_DATA_SPATK_EV, NULL)) || (EVs[5] != Pokemon_GetValue(mon, MON_DATA_SPDEF_EV, NULL))) { - if (EVs[6] != Pokemon_GetValue(mon, MON_DATA_FRIENDSHIP, NULL)) { + if ((EVs[0] != Pokemon_GetData(mon, MON_DATA_HP_EV, NULL)) || (EVs[1] != Pokemon_GetData(mon, MON_DATA_ATK_EV, NULL)) || (EVs[2] != Pokemon_GetData(mon, MON_DATA_DEF_EV, NULL)) || (EVs[3] != Pokemon_GetData(mon, MON_DATA_SPEED_EV, NULL)) || (EVs[4] != Pokemon_GetData(mon, MON_DATA_SPATK_EV, NULL)) || (EVs[5] != Pokemon_GetData(mon, MON_DATA_SPDEF_EV, NULL))) { + if (EVs[6] != Pokemon_GetData(mon, MON_DATA_FRIENDSHIP, NULL)) { BufferUsedItemMessage(application, application->partyMenu->usedItemID, 0); } else { BufferUsedItemMessage(application, application->partyMenu->usedItemID, 1); @@ -489,7 +489,7 @@ static int sub_020855C4(void *applicationPtr) Party_ApplyItemEffectsToMember(application->partyMenu->party, application->partyMenu->usedItemID, application->currPartySlot, 0, GetCurrentMapLabel(application), HEAP_ID_PARTY_MENU); mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); - curHP = Pokemon_GetValue(mon, MON_DATA_HP, NULL); + curHP = Pokemon_GetData(mon, MON_DATA_HP, NULL); if (application->partyMembers[application->currPartySlot].curHP == 0) { string = MessageLoader_GetNewString(application->messageLoader, 70); @@ -499,7 +499,7 @@ static int sub_020855C4(void *applicationPtr) string = MessageLoader_GetNewString(application->messageLoader, 64); } - StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxPokemon(mon)); + StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxMon(mon)); StringTemplate_SetNumber(application->template, 1, curHP - application->partyMembers[application->currPartySlot].curHP, 3, 0, 1); StringTemplate_Format(application->template, application->tmpString, string); String_Free(string); @@ -526,7 +526,7 @@ static int PokemonSummaryScreen_UpdateHPBar(PartyMenuApplication *param0) u32 curHP; mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); - curHP = Pokemon_GetValue(mon, MON_DATA_HP, NULL); + curHP = Pokemon_GetData(mon, MON_DATA_HP, NULL); if (application->partyMembers[application->currPartySlot].curHP != curHP) { application->partyMembers[application->currPartySlot].curHP++; @@ -600,10 +600,10 @@ int sub_02085804(PartyMenuApplication *application) mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); Pokemon_ApplyItemEffects(mon, application->partyMenu->usedItemID, 0, GetCurrentMapLabel(application), HEAP_ID_PARTY_MENU); - curHP = Pokemon_GetValue(mon, MON_DATA_HP, NULL); + curHP = Pokemon_GetData(mon, MON_DATA_HP, NULL); string = MessageLoader_GetNewString(application->messageLoader, 70); - StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxPokemon(mon)); + StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxMon(mon)); StringTemplate_Format(application->template, application->tmpString, string); String_Free(string); @@ -619,7 +619,7 @@ int sub_02085804(PartyMenuApplication *application) break; case 2: mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); - curHP = Pokemon_GetValue(mon, MON_DATA_HP, NULL); + curHP = Pokemon_GetData(mon, MON_DATA_HP, NULL); application->partyMembers[application->currPartySlot].curHP++; @@ -671,22 +671,22 @@ static int sub_02085A70(void *applicationPtr) application = (PartyMenuApplication *)applicationPtr; mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); - application->monStats[0] = (u16)Pokemon_GetValue(mon, MON_DATA_MAX_HP, NULL); - application->monStats[1] = (u16)Pokemon_GetValue(mon, MON_DATA_ATK, NULL); - application->monStats[2] = (u16)Pokemon_GetValue(mon, MON_DATA_DEF, NULL); - application->monStats[3] = (u16)Pokemon_GetValue(mon, MON_DATA_SP_ATK, NULL); - application->monStats[4] = (u16)Pokemon_GetValue(mon, MON_DATA_SP_DEF, NULL); - application->monStats[5] = (u16)Pokemon_GetValue(mon, MON_DATA_SPEED, NULL); + application->monStats[0] = (u16)Pokemon_GetData(mon, MON_DATA_MAX_HP, NULL); + application->monStats[1] = (u16)Pokemon_GetData(mon, MON_DATA_ATK, NULL); + application->monStats[2] = (u16)Pokemon_GetData(mon, MON_DATA_DEF, NULL); + application->monStats[3] = (u16)Pokemon_GetData(mon, MON_DATA_SP_ATK, NULL); + application->monStats[4] = (u16)Pokemon_GetData(mon, MON_DATA_SP_DEF, NULL); + application->monStats[5] = (u16)Pokemon_GetData(mon, MON_DATA_SPEED, NULL); Party_ApplyItemEffectsToMember(application->partyMenu->party, application->partyMenu->usedItemID, application->currPartySlot, 0, GetCurrentMapLabel(application), HEAP_ID_PARTY_MENU); - application->partyMembers[application->currPartySlot].level = Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL); - application->partyMembers[application->currPartySlot].curHP = Pokemon_GetValue(mon, MON_DATA_HP, NULL); - application->partyMembers[application->currPartySlot].maxHP = Pokemon_GetValue(mon, MON_DATA_MAX_HP, NULL); + application->partyMembers[application->currPartySlot].level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); + application->partyMembers[application->currPartySlot].curHP = Pokemon_GetData(mon, MON_DATA_HP, NULL); + application->partyMembers[application->currPartySlot].maxHP = Pokemon_GetData(mon, MON_DATA_MAX_HP, NULL); string = MessageLoader_GetNewString(application->messageLoader, 193); - StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxPokemon(mon)); + StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxMon(mon)); StringTemplate_SetNumber(application->template, 1, application->partyMembers[application->currPartySlot].level, 3, 0, 1); StringTemplate_Format(application->template, application->tmpString, string); String_Free(string); @@ -749,12 +749,12 @@ static int sub_02085C50(void *applicationPtr) case 3: mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); - switch (Pokemon_LevelUpMove(mon, &application->partyMenu->unk_34, &application->partyMenu->learnedMove)) { + switch (Pokemon_TryLevelUpMove(mon, &application->partyMenu->unk_34, &application->partyMenu->learnedMove)) { case 0x0: application->unk_B13 = 6; break; case 0xffff: - StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxPokemon(mon)); + StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxMon(mon)); StringTemplate_SetMoveName(application->template, 1, application->partyMenu->learnedMove); string = MessageLoader_GetNewString(application->messageLoader, 52); @@ -771,7 +771,7 @@ static int sub_02085C50(void *applicationPtr) case 0xfffe: break; default: - StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxPokemon(mon)); + StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxMon(mon)); StringTemplate_SetMoveName(application->template, 1, application->partyMenu->learnedMove); string = MessageLoader_GetNewString(application->messageLoader, 194); @@ -813,7 +813,7 @@ static int sub_02085C50(void *applicationPtr) mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); fieldSystem = application->partyMenu->fieldSystem; v5 = MapHeader_GetMapEvolutionMethod(fieldSystem->location->mapId); - application->partyMenu->evoTargetSpecies = Pokemon_GetEvolutionTargetSpecies(application->partyMenu->party, mon, EVO_CLASS_BY_LEVEL, v5, &application->partyMenu->evoType); + application->partyMenu->evoTargetSpecies = Pokemon_GetEvolutionTarget(application->partyMenu->party, mon, EVO_CONTEXT_LEVEL_UP, v5, &application->partyMenu->evoType); if (application->partyMenu->evoTargetSpecies != 0) { application->partyMenu->menuSelectionResult = 9; @@ -836,14 +836,14 @@ int sub_02085EF4(PartyMenuApplication *application) application->unk_B13 = 3; mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); - StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxPokemon(mon)); + StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxMon(mon)); if (application->partyMenu->selectedMoveSlot == 4) { StringTemplate_SetMoveName(application->template, 1, application->partyMenu->learnedMove); return sub_02086008(application); } - StringTemplate_SetMoveName(application->template, 1, Pokemon_GetValue(mon, 54 + application->partyMenu->selectedMoveSlot, NULL)); + StringTemplate_SetMoveName(application->template, 1, Pokemon_GetData(mon, 54 + application->partyMenu->selectedMoveSlot, NULL)); string = MessageLoader_GetNewString(application->messageLoader, 60); StringTemplate_Format(application->template, application->tmpString, string); String_Free(string); @@ -921,8 +921,8 @@ u8 PartyMenu_CanMonLearnMove(PartyMenuApplication *application, Pokemon *mon) { u8 moveSlot; - for (moveSlot = 0; moveSlot < LEARNED_MOVES_MAX; moveSlot++) { - u16 moveID = Pokemon_GetValue(mon, MON_DATA_MOVE1 + moveSlot, NULL); + for (moveSlot = 0; moveSlot < MAX_MON_MOVES; moveSlot++) { + u16 moveID = Pokemon_GetData(mon, MON_DATA_MOVE1 + moveSlot, NULL); if (moveID == application->partyMenu->learnedMove) { return MON_MOVE_RESULT_ALREADY_LEARNED; @@ -933,11 +933,11 @@ u8 PartyMenu_CanMonLearnMove(PartyMenuApplication *application, Pokemon *mon) } } - if (Pokemon_CanLearnTM(mon, Item_TMHMNumber(application->partyMenu->usedItemID)) == FALSE) { + if (Pokemon_CanLearnTMHM(mon, Item_TMHMNumber(application->partyMenu->usedItemID)) == FALSE) { return MON_MOVE_RESULT_CANNOT_LEARN; } - if (moveSlot == LEARNED_MOVES_MAX) { + if (moveSlot == MAX_MON_MOVES) { return MON_MOVE_RESULT_MUST_FORGET_FIRST; } @@ -953,7 +953,7 @@ int sub_0208615C(PartyMenuApplication *application) mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); v2 = PartyMenu_CanMonLearnMove(application, mon); - StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxPokemon(mon)); + StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxMon(mon)); StringTemplate_SetMoveName(application->template, 1, application->partyMenu->learnedMove); switch (v2) { @@ -1007,14 +1007,14 @@ int sub_020862F8(PartyMenuApplication *application) String *string; mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); - StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxPokemon(mon)); + StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxMon(mon)); if (application->partyMenu->selectedMoveSlot == 4) { StringTemplate_SetMoveName(application->template, 1, application->partyMenu->learnedMove); return sub_0208648C(application); } - StringTemplate_SetMoveName(application->template, 1, Pokemon_GetValue(mon, 54 + application->partyMenu->selectedMoveSlot, NULL)); + StringTemplate_SetMoveName(application->template, 1, Pokemon_GetData(mon, 54 + application->partyMenu->selectedMoveSlot, NULL)); string = MessageLoader_GetNewString(application->messageLoader, 60); StringTemplate_Format(application->template, application->tmpString, string); String_Free(string); @@ -1113,13 +1113,13 @@ static int sub_02086538(void *applicationPtr) static void TeachMove(PartyMenuApplication *application, Pokemon *mon, u32 moveSlot) { u32 tempVar = application->partyMenu->learnedMove; - Pokemon_SetValue(mon, MON_DATA_MOVE1 + moveSlot, &tempVar); + Pokemon_SetData(mon, MON_DATA_MOVE1 + moveSlot, &tempVar); tempVar = 0; - Pokemon_SetValue(mon, MON_DATA_MOVE1_PP_UPS + moveSlot, &tempVar); + Pokemon_SetData(mon, MON_DATA_MOVE1_PP_UPS + moveSlot, &tempVar); tempVar = MoveTable_CalcMaxPP(application->partyMenu->learnedMove, 0); - Pokemon_SetValue(mon, MON_DATA_MOVE1_PP + moveSlot, &tempVar); + Pokemon_SetData(mon, MON_DATA_MOVE1_PP + moveSlot, &tempVar); if (application->partyMenu->usedItemID != 0) { if (Item_IsHMMove(application->partyMenu->learnedMove) == FALSE) { @@ -1137,7 +1137,7 @@ static u8 BufferLearnedMoveInSlot(PartyMenuApplication *application, u8 moveSlot u16 moveID; mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); - moveID = (u16)Pokemon_GetValue(mon, MON_DATA_MOVE1 + moveSlot, NULL); + moveID = (u16)Pokemon_GetData(mon, MON_DATA_MOVE1 + moveSlot, NULL); string = MessageLoader_GetNewString(application->messageLoader, 162 + moveSlot); StringTemplate_SetMoveName(application->template, 0, moveID); @@ -1211,7 +1211,7 @@ int sub_02086774(PartyMenuApplication *application) if (Party_ApplyItemEffectsToMember(application->partyMenu->party, application->partyMenu->usedItemID, application->currPartySlot, (u8)menuAction, GetCurrentMapLabel(application), 12) == 1) { Pokemon *v1 = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); - BufferUsedItemMessage(application, application->partyMenu->usedItemID, Pokemon_GetValue(v1, MON_DATA_MOVE1 + menuAction, NULL)); + BufferUsedItemMessage(application, application->partyMenu->usedItemID, Pokemon_GetData(v1, MON_DATA_MOVE1 + menuAction, NULL)); Bag_TryRemoveItem(application->partyMenu->bag, application->partyMenu->usedItemID, 1, HEAP_ID_PARTY_MENU); Sound_PlayEffect(SEQ_SE_DP_KAIFUKU); } else { diff --git a/src/applications/party_menu/windows.c b/src/applications/party_menu/windows.c index 22aca54910..1252ec1c73 100644 --- a/src/applications/party_menu/windows.c +++ b/src/applications/party_menu/windows.c @@ -821,7 +821,7 @@ void PartyMenu_LoadContextMenuPrompt(PartyMenuApplication *application) Pokemon *mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); String *fmtString = MessageLoader_GetNewString(application->messageLoader, PartyMenu_Text_PromptPokemon); - StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxPokemon(mon)); + StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxMon(mon)); StringTemplate_Format(application->template, application->tmpString, fmtString); String_Free(fmtString); } @@ -854,7 +854,7 @@ static void PartyMenu_PrintMemberHPSlash(PartyMenuApplication *application, u8 s void PartyMenu_SetMemberName(PartyMenuApplication *application, Pokemon *mon, u32 partySlot) { String *fmt = MessageLoader_GetNewString(application->messageLoader, sPartySlotNicknameTemplates[partySlot].bankEntry); - StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxPokemon(mon)); + StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxMon(mon)); StringTemplate_Format(application->template, application->partyMembers[partySlot].name, fmt); String_Free(fmt); } @@ -1043,7 +1043,7 @@ void PartyMenu_PrintMemberComment_CanUseEvoItem(PartyMenuApplication *applicatio PartyMenu_PrintMemberLevel(application, slot); Pokemon *mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, slot); - if (Pokemon_GetEvolutionTargetSpecies(NULL, mon, EVO_CLASS_BY_ITEM, application->partyMenu->usedItemID, NULL) == SPECIES_NONE) { + if (Pokemon_GetEvolutionTarget(NULL, mon, EVO_CONTEXT_ITEM_USE, application->partyMenu->usedItemID, NULL) == SPECIES_NONE) { PrintMemberEvoComment(application, slot, EVO_COMMENT_UNABLE); } else { PrintMemberEvoComment(application, slot, EVO_COMMENT_ABLE); @@ -1361,12 +1361,12 @@ void PartyMenu_DrawLevelUpStatIncreases(PartyMenuApplication *application) { Pokemon *mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); u16 stats[STAT_MAX] = { - Pokemon_GetValue(mon, MON_DATA_MAX_HP, NULL), - Pokemon_GetValue(mon, MON_DATA_ATK, NULL), - Pokemon_GetValue(mon, MON_DATA_DEF, NULL), - Pokemon_GetValue(mon, MON_DATA_SP_ATK, NULL), - Pokemon_GetValue(mon, MON_DATA_SP_DEF, NULL), - Pokemon_GetValue(mon, MON_DATA_SPEED, NULL), + Pokemon_GetData(mon, MON_DATA_MAX_HP, NULL), + Pokemon_GetData(mon, MON_DATA_ATK, NULL), + Pokemon_GetData(mon, MON_DATA_DEF, NULL), + Pokemon_GetData(mon, MON_DATA_SP_ATK, NULL), + Pokemon_GetData(mon, MON_DATA_SP_DEF, NULL), + Pokemon_GetData(mon, MON_DATA_SPEED, NULL), }; Window_Add(application->bgConfig, &application->menuWindows[0], BG_LAYER_MAIN_0, 1, 1, 14, 12, 0, WIN_CONTEXT_WINDOW_BASE_TILE); diff --git a/src/applications/pc_boxes/box_app_manager.c b/src/applications/pc_boxes/box_app_manager.c index bd1f24abcc..fd0d0778ae 100644 --- a/src/applications/pc_boxes/box_app_manager.c +++ b/src/applications/pc_boxes/box_app_manager.c @@ -1221,7 +1221,7 @@ static void BoxAppMan_MonItemMenuAction(BoxApplicationManager *boxAppMan, u32 *s case MON_ITEM_MENU_SELECTED: switch (boxAppMan->menuItem) { case BOX_MENU_GIVE: - if (BoxApp_GetCursorItem(&boxAppMan->boxApp) == ITEM_GRISEOUS_ORB && BoxPokemon_GetValue(boxAppMan->boxApp.pcMonPreview.mon, MON_DATA_SPECIES, NULL) != SPECIES_GIRATINA) { + if (BoxApp_GetCursorItem(&boxAppMan->boxApp) == ITEM_GRISEOUS_ORB && BoxPokemon_GetData(boxAppMan->boxApp.pcMonPreview.mon, MON_DATA_SPECIES, NULL) != SPECIES_GIRATINA) { StringTemplate_SetItemName(boxAppMan->MessageVariableBuffer, 0, ITEM_GRISEOUS_ORB); BoxApp_SetBoxMessage(&boxAppMan->boxApp, BoxText_MonCantHoldItem); BoxGraphics_TaskHandler(boxAppMan->unk_114, FUNC_BoxGraphics_DisplayBoxMessage); @@ -1261,7 +1261,7 @@ static void BoxAppMan_MonItemMenuAction(BoxApplicationManager *boxAppMan, u32 *s BoxApp_SetBoxMessage(&boxAppMan->boxApp, BoxText_CantTakeMail); BoxGraphics_TaskHandler(boxAppMan->unk_114, FUNC_BoxGraphics_DisplayBoxMessage); *state = MON_ITEM_MENU_CONFIRM_MESSAGE; - } else if (boxAppMan->boxApp.cursorItem == ITEM_GRISEOUS_ORB && BoxPokemon_GetValue(boxAppMan->boxApp.pcMonPreview.mon, MON_DATA_SPECIES, NULL) != SPECIES_GIRATINA) { + } else if (boxAppMan->boxApp.cursorItem == ITEM_GRISEOUS_ORB && BoxPokemon_GetData(boxAppMan->boxApp.pcMonPreview.mon, MON_DATA_SPECIES, NULL) != SPECIES_GIRATINA) { StringTemplate_SetItemName(boxAppMan->MessageVariableBuffer, ITEM_NONE, ITEM_GRISEOUS_ORB); BoxApp_SetBoxMessage(&boxAppMan->boxApp, BoxText_MonCantHoldItem); BoxGraphics_TaskHandler(boxAppMan->unk_114, FUNC_BoxGraphics_DisplayBoxMessage); @@ -1726,7 +1726,7 @@ static BOOL BoxApp_IsBoxUnderSelectedMonsEmpty(const BoxApplication *boxApp) posInBox = selectionTopLeftPos + (selection->selectedMonsOrigBoxPos[i] - origSelectionTopLeftPos); boxMon = PCBoxes_GetBoxMonAt(boxApp->pcBoxes, USE_CURRENT_BOX, posInBox); - if (BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES_EXISTS, NULL)) { + if (BoxPokemon_GetData(boxMon, MON_DATA_SPECIES_EXISTS, NULL)) { return FALSE; } } @@ -2104,13 +2104,13 @@ static BOOL BoxAppMan_OnLastAliveMon(BoxApplicationManager *boxAppMan) int partyCount = Party_GetCurrentCount(boxAppMan->party); for (int i = 0, count = 0; i < partyCount; i++) { mon = Party_GetPokemonBySlotIndex(boxAppMan->party, i); - reencrypt = Pokemon_EnterDecryptionContext(mon); + reencrypt = Pokemon_DecryptData(mon); - if (Pokemon_GetValue(mon, MON_DATA_SANITY_IS_EGG, NULL) == FALSE && Pokemon_GetValue(mon, MON_DATA_HP, NULL)) { + if (Pokemon_GetData(mon, MON_DATA_SANITY_IS_EGG, NULL) == FALSE && Pokemon_GetData(mon, MON_DATA_HP, NULL)) { count++; } - Pokemon_ExitDecryptionContext(mon, reencrypt); + Pokemon_EncryptData(mon, reencrypt); if (count >= 2) { return FALSE; @@ -2367,7 +2367,7 @@ static void CheckLastMonWithReleaseBlockingMove(SysTask *task, void *releaseMonP for (monIndex = releaseMon->monPosInBox; monIndex < v4; monIndex++) { boxMon = PCBoxes_GetBoxMonAt(releaseMon->pcBoxes, releaseMon->boxID, monIndex); - if (BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES_EXISTS, NULL)) { + if (BoxPokemon_GetData(boxMon, MON_DATA_SPECIES_EXISTS, NULL)) { for (i = 0; i < NUM_RELEASE_BLOCKING_MOVES; i++) { if (BoxPokemon_HasMove(boxMon, sReleaseBlockingMoves[i])) { releaseMon->monsWithReleaseBlockingMoveCount[i]++; @@ -2420,18 +2420,18 @@ static void CheckLastMonWithReleaseBlockingMove(SysTask *task, void *releaseMonP static BOOL BoxPokemon_HasMove(BoxPokemon *boxMon, u16 move) { BOOL hasMove = FALSE; - BOOL reencrypt = BoxPokemon_EnterDecryptionContext(boxMon); + BOOL reencrypt = BoxPokemon_DecryptData(boxMon); - if (BoxPokemon_GetValue(boxMon, MON_DATA_SANITY_IS_EGG, NULL) == FALSE) { - for (int i = 0; i < LEARNED_MOVES_MAX; i++) { - if (BoxPokemon_GetValue(boxMon, MON_DATA_MOVE1 + i, NULL) == move) { + if (BoxPokemon_GetData(boxMon, MON_DATA_SANITY_IS_EGG, NULL) == FALSE) { + for (int i = 0; i < MAX_MON_MOVES; i++) { + if (BoxPokemon_GetData(boxMon, MON_DATA_MOVE1 + i, NULL) == move) { hasMove = TRUE; break; } } } - BoxPokemon_ExitDecryptionContext(boxMon, reencrypt); + BoxPokemon_EncryptData(boxMon, reencrypt); return hasMove; } @@ -2601,7 +2601,7 @@ static void BoxAppMan_GiveItemFromBagAction(BoxApplicationManager *boxAppMan, u3 Heap_Free(boxAppMan->bagAppArgs); Overlay_UnloadByID(FS_OVERLAY_ID(bag)); - if (item == ITEM_GRISEOUS_ORB && BoxPokemon_GetValue(boxAppMan->boxApp.pcMonPreview.mon, MON_DATA_SPECIES, NULL) != SPECIES_GIRATINA) { + if (item == ITEM_GRISEOUS_ORB && BoxPokemon_GetData(boxAppMan->boxApp.pcMonPreview.mon, MON_DATA_SPECIES, NULL) != SPECIES_GIRATINA) { (void)0; } else if (item != ITEM_NONE) { Bag_TryRemoveItem(SaveData_GetBag(boxAppMan->saveData), item, 1, HEAP_ID_BOX_DATA); @@ -2625,7 +2625,7 @@ static void BoxAppMan_GiveItemFromBagAction(BoxApplicationManager *boxAppMan, u3 if (BoxGraphics_IsSysTaskDone(boxAppMan->unk_114, FUNC_BoxGraphics_ScreenFadeBothToBlack1)) { if (item == ITEM_NONE) { BoxAppMan_ClearBoxApplicationAction(boxAppMan); - } else if (item == ITEM_GRISEOUS_ORB && BoxPokemon_GetValue(boxAppMan->boxApp.pcMonPreview.mon, MON_DATA_SPECIES, NULL) != SPECIES_GIRATINA) { + } else if (item == ITEM_GRISEOUS_ORB && BoxPokemon_GetData(boxAppMan->boxApp.pcMonPreview.mon, MON_DATA_SPECIES, NULL) != SPECIES_GIRATINA) { StringTemplate_SetItemName(boxAppMan->MessageVariableBuffer, 0, item); BoxApp_SetBoxMessage(&boxAppMan->boxApp, BoxText_MonCantHoldItem); BoxGraphics_TaskHandler(boxAppMan->unk_114, FUNC_BoxGraphics_DisplayBoxMessage); @@ -3307,7 +3307,7 @@ static void BoxAppMan_Load(BoxApplicationManager *boxAppMan, PokemonStorageSessi boxAppMan->natureNameLoader = MessageLoader_Init(MSG_LOADER_PRELOAD_ENTIRE_BANK, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_NATURE_NAMES, HEAP_ID_BOX_DATA); boxAppMan->abilityNameLoader = MessageLoader_Init(MSG_LOADER_PRELOAD_ENTIRE_BANK, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_ABILITY_NAMES, HEAP_ID_BOX_DATA); boxAppMan->MessageVariableBuffer = StringTemplate_Default(HEAP_ID_BOX_DATA); - boxAppMan->mon = Heap_Alloc(HEAP_ID_BOX_DATA, Pokemon_StructSize()); + boxAppMan->mon = Heap_Alloc(HEAP_ID_BOX_DATA, Pokemon_Size()); GF_ASSERT(boxAppMan->MessageVariableBuffer); boxAppMan->namingScreenArgs = NamingScreenArgs_Init(HEAP_ID_BOX_DATA, NAMING_SCREEN_TYPE_BOX, 0, BOX_NAME_LEN, boxAppMan->options); @@ -3391,7 +3391,7 @@ static void BoxAppMan_InitCursor(BoxApplicationManager *boxAppMan) static void BoxMonSelection_Init(BoxMonSelection *selection) { - selection->boxMon = Heap_Alloc(HEAP_ID_BOX_DATA, MAX_MONS_PER_BOX * BoxPokemon_GetStructSize()); + selection->boxMon = Heap_Alloc(HEAP_ID_BOX_DATA, MAX_MONS_PER_BOX * BoxPokemon_Size()); selection->selectedMonCount = 0; selection->cursorMonIsPartyMon = FALSE; } @@ -3798,7 +3798,7 @@ static BOOL BoxAppMan_TryPreviewCursorMon(BoxApplicationManager *boxAppMan) } if (cursor->mon) { - if (BoxPokemon_GetValue(cursor->mon, MON_DATA_SPECIES_EXISTS, NULL)) { + if (BoxPokemon_GetData(cursor->mon, MON_DATA_SPECIES_EXISTS, NULL)) { cursor->isMonUnderCursor = TRUE; if (!(BoxApp_GetPreviewMonSource(boxApp) & PREVIEW_MON_HELD)) { @@ -3862,11 +3862,11 @@ static void BoxAppMan_PickUpMon(BoxApplicationManager *boxAppMan, BoxApplication BoxCursor *cursor = &boxApp->cursor; if (BoxApp_GetCursorLocation(boxApp) == CURSOR_IN_BOX) { - MI_CpuCopy32(cursor->mon, selection->boxMon, BoxPokemon_GetStructSize()); + MI_CpuCopy32(cursor->mon, selection->boxMon, BoxPokemon_Size()); PCBoxes_InitBoxMonAt(boxAppMan->pcBoxes, USE_CURRENT_BOX, cursor->posInBox); selection->cursorMonIsPartyMon = FALSE; } else { - MI_CpuCopy32(cursor->mon, selection->boxMon, Pokemon_GetStructSize()); + MI_CpuCopy32(cursor->mon, selection->boxMon, Pokemon_Size2()); Party_RemovePokemonBySlotIndex(boxAppMan->party, cursor->posInParty); selection->cursorMonIsPartyMon = TRUE; } @@ -3889,7 +3889,7 @@ static void BoxAppMan_PickUpMultiSelectedMons(BoxApplicationManager *boxAppMan, selection->unused = 1; u32 cursorPosInBox = BoxApp_GetCursorBoxPosition(boxApp); - u32 boxMonSize = BoxPokemon_GetStructSize(); + u32 boxMonSize = BoxPokemon_Size(); u32 processedMonCount = 0; void *cursorMonBuffer = selection->boxMon; @@ -3901,7 +3901,7 @@ static void BoxAppMan_PickUpMultiSelectedMons(BoxApplicationManager *boxAppMan, for (col = selectionLeftCol; col <= selectionRightCol; col++) { boxMon = PCBoxes_GetBoxMonAt(boxAppMan->pcBoxes, USE_CURRENT_BOX, monPosInBox); - if (BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES_EXISTS, NULL)) { + if (BoxPokemon_GetData(boxMon, MON_DATA_SPECIES_EXISTS, NULL)) { MI_CpuCopy32(boxMon, cursorMonBuffer, boxMonSize); PCBoxes_InitBoxMonAt(boxAppMan->pcBoxes, USE_CURRENT_BOX, monPosInBox); cursorMonBuffer += boxMonSize; @@ -3949,18 +3949,18 @@ static void BoxAppMan_PutDownCursorMon(BoxApplicationManager *boxAppMan, BoxAppl BOOL shayminIsSkyForm = FALSE; if (BoxApp_GetCursorLocation(boxApp) == CURSOR_IN_BOX) { - int monForm = BoxPokemon_GetValue(selection->boxMon, MON_DATA_FORM, NULL); + int monForm = BoxPokemon_GetData(selection->boxMon, MON_DATA_FORM, NULL); PCBoxes_TryStoreBoxMonAt(boxAppMan->pcBoxes, USE_CURRENT_BOX, cursor->posInBox, selection->boxMon); boxMon = PCBoxes_GetBoxMonAt(boxAppMan->pcBoxes, USE_CURRENT_BOX, cursor->posInBox); - if (BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL) == SPECIES_SHAYMIN && monForm == SHAYMIN_FORM_SKY) { + if (BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL) == SPECIES_SHAYMIN && monForm == SHAYMIN_FORM_SKY) { shayminIsSkyForm = TRUE; } } else { if (selection->cursorMonIsPartyMon) { Party_AddPokemon(boxAppMan->party, (Pokemon *)selection->boxMon); } else { - Pokemon_FromBoxPokemon(selection->boxMon, boxAppMan->mon); + BoxPokemon_CopyToPokemon(selection->boxMon, boxAppMan->mon); Party_AddPokemon(boxAppMan->party, boxAppMan->mon); } @@ -3987,7 +3987,7 @@ static void BoxAppMan_PutDownSelectedMons(BoxApplicationManager *boxAppMan, BoxA int selectionTopLeftPos = BoxApp_GetMultiSelectTopLeftPos(boxApp); origSelectionTopLeftPos = selection->origSelectionTopLeftPos; - int boxMonStructSize = BoxPokemon_GetStructSize(); + int boxMonStructSize = BoxPokemon_Size(); BoxPokemon *boxMon = selection->boxMon; int posInBox; @@ -4007,7 +4007,7 @@ static void BoxAppMan_PutDownSelectedMons(BoxApplicationManager *boxAppMan, BoxA static void BoxAppMan_SwapMonInCursor(BoxApplicationManager *boxAppMan, BoxApplication *boxApp) { BoxMonSelection *selection = &boxApp->selection; - u32 monStructSize = Pokemon_GetStructSize(); + u32 monStructSize = Pokemon_Size2(); void *monBuffer = (u8 *)selection->boxMon + monStructSize; BoxCursor *cursor = &boxApp->cursor; @@ -4019,7 +4019,7 @@ static void BoxAppMan_SwapMonInCursor(BoxApplicationManager *boxAppMan, BoxAppli selection->cursorMonIsPartyMon = FALSE; } else { if (selection->cursorMonIsPartyMon == FALSE) { - Pokemon_FromBoxPokemon(monBuffer, boxAppMan->mon); + BoxPokemon_CopyToPokemon(monBuffer, boxAppMan->mon); } else { MI_CpuCopy32(monBuffer, boxAppMan->mon, monStructSize); } @@ -4097,26 +4097,26 @@ static void BoxApp_PreviewBoxMon(BoxApplication *boxApp, BoxPokemon *boxMon, Box static void BoxApp_LoadBoxMonIntoPreview(BoxApplication *boxApp, BoxPokemon *boxMon, BoxApplicationManager *boxAppMan) { PCMonPreview *preview = &boxApp->pcMonPreview; - BOOL reencrypt = BoxPokemon_EnterDecryptionContext(boxMon); + BOOL reencrypt = BoxPokemon_DecryptData(boxMon); preview->mon = boxMon; - preview->species = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); - preview->heldItem = BoxPokemon_GetValue(boxMon, MON_DATA_HELD_ITEM, NULL); + preview->species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); + preview->heldItem = BoxPokemon_GetData(boxMon, MON_DATA_HELD_ITEM, NULL); preview->dexNum = GetDexNumber(SaveData_GetDexMode(boxAppMan->saveData), preview->species); - preview->isEgg = BoxPokemon_GetValue(boxMon, MON_DATA_SANITY_IS_EGG, NULL); - SpeciesData *speciesData = SpeciesData_FromMonSpecies(preview->species, HEAP_ID_BOX_DATA); - preview->level = SpeciesData_GetLevelAt(speciesData, preview->species, BoxPokemon_GetValue(boxMon, MON_DATA_EXPERIENCE, NULL)); - preview->markings = BoxPokemon_GetValue(boxMon, MON_DATA_MARKINGS, NULL); - preview->type1 = BoxPokemon_GetValue(boxMon, MON_DATA_TYPE_1, NULL); - preview->type2 = BoxPokemon_GetValue(boxMon, MON_DATA_TYPE_2, NULL); - - if ((preview->isEgg == FALSE) && BoxPokemon_GetValue(boxMon, MON_DATA_NO_PRINT_GENDER, NULL)) { - preview->gender = SpeciesData_GetGenderOf(speciesData, preview->species, BoxPokemon_GetValue(boxMon, MON_DATA_PERSONALITY, NULL)); + preview->isEgg = BoxPokemon_GetData(boxMon, MON_DATA_SANITY_IS_EGG, NULL); + SpeciesData *speciesData = SpeciesData_NewFromSpecies(preview->species, HEAP_ID_BOX_DATA); + preview->level = SpeciesData_CalcLevelByExp(speciesData, preview->species, BoxPokemon_GetData(boxMon, MON_DATA_EXPERIENCE, NULL)); + preview->markings = BoxPokemon_GetData(boxMon, MON_DATA_MARKINGS, NULL); + preview->type1 = BoxPokemon_GetData(boxMon, MON_DATA_TYPE_1, NULL); + preview->type2 = BoxPokemon_GetData(boxMon, MON_DATA_TYPE_2, NULL); + + if ((preview->isEgg == FALSE) && BoxPokemon_GetData(boxMon, MON_DATA_NO_PRINT_GENDER, NULL)) { + preview->gender = SpeciesData_GetGenderFromPersonality(speciesData, preview->species, BoxPokemon_GetData(boxMon, MON_DATA_PERSONALITY, NULL)); } else { preview->gender = PREVIEW_GENDER_INVALID; } - BoxPokemon_GetValue(boxMon, MON_DATA_NICKNAME_STRING, preview->nickname); + BoxPokemon_GetData(boxMon, MON_DATA_NICKNAME_STRING, preview->nickname); if (preview->isEgg == FALSE) { MessageLoader_GetString(boxAppMan->speciesNameLoader, preview->species, preview->speciesName); @@ -4134,11 +4134,11 @@ static void BoxApp_LoadBoxMonIntoPreview(BoxApplication *boxApp, BoxPokemon *box u32 value = BoxPokemon_GetNature(boxMon); MessageLoader_GetString(boxAppMan->natureNameLoader, value, preview->nature); - value = BoxPokemon_GetValue(boxMon, MON_DATA_ABILITY, NULL); + value = BoxPokemon_GetData(boxMon, MON_DATA_ABILITY, NULL); MessageLoader_GetString(boxAppMan->abilityNameLoader, value, preview->ability); SpeciesData_Free(speciesData); - BoxPokemon_ExitDecryptionContext(boxMon, reencrypt); + BoxPokemon_EncryptData(boxMon, reencrypt); } static void BoxApp_LoadBoxMonIntoComparison(BoxApplication *boxApp, BoxPokemon *boxMon, BoxApplicationManager *boxAppMan) @@ -4158,28 +4158,28 @@ static void BoxApp_LoadBoxMonIntoComparison(BoxApplication *boxApp, BoxPokemon * } String_Copy(compareMon->nature, preview->nature); - Pokemon_FromBoxPokemon(boxMon, boxAppMan->mon); - - BOOL reencrypt = Pokemon_EnterDecryptionContext(boxAppMan->mon); - - compareMon->maxHP = Pokemon_GetValue(boxAppMan->mon, MON_DATA_MAX_HP, NULL); - compareMon->attack = Pokemon_GetValue(boxAppMan->mon, MON_DATA_ATK, NULL); - compareMon->defense = Pokemon_GetValue(boxAppMan->mon, MON_DATA_DEF, NULL); - compareMon->spAttack = Pokemon_GetValue(boxAppMan->mon, MON_DATA_SP_ATK, NULL); - compareMon->spDefense = Pokemon_GetValue(boxAppMan->mon, MON_DATA_SP_DEF, NULL); - compareMon->speed = Pokemon_GetValue(boxAppMan->mon, MON_DATA_SPEED, NULL); - compareMon->cool = Pokemon_GetValue(boxAppMan->mon, MON_DATA_COOL, NULL); - compareMon->beauty = Pokemon_GetValue(boxAppMan->mon, MON_DATA_BEAUTY, NULL); - compareMon->cute = Pokemon_GetValue(boxAppMan->mon, MON_DATA_CUTE, NULL); - compareMon->smart = Pokemon_GetValue(boxAppMan->mon, MON_DATA_SMART, NULL); - compareMon->tough = Pokemon_GetValue(boxAppMan->mon, MON_DATA_TOUGH, NULL); - compareMon->moves[0] = Pokemon_GetValue(boxAppMan->mon, MON_DATA_MOVE1, NULL); - compareMon->moves[1] = Pokemon_GetValue(boxAppMan->mon, MON_DATA_MOVE2, NULL); - compareMon->moves[2] = Pokemon_GetValue(boxAppMan->mon, MON_DATA_MOVE3, NULL); - compareMon->moves[3] = Pokemon_GetValue(boxAppMan->mon, MON_DATA_MOVE4, NULL); - compareMon->form = Pokemon_GetValue(boxAppMan->mon, MON_DATA_FORM, NULL); - - Pokemon_ExitDecryptionContext(boxAppMan->mon, reencrypt); + BoxPokemon_CopyToPokemon(boxMon, boxAppMan->mon); + + BOOL reencrypt = Pokemon_DecryptData(boxAppMan->mon); + + compareMon->maxHP = Pokemon_GetData(boxAppMan->mon, MON_DATA_MAX_HP, NULL); + compareMon->attack = Pokemon_GetData(boxAppMan->mon, MON_DATA_ATK, NULL); + compareMon->defense = Pokemon_GetData(boxAppMan->mon, MON_DATA_DEF, NULL); + compareMon->spAttack = Pokemon_GetData(boxAppMan->mon, MON_DATA_SP_ATK, NULL); + compareMon->spDefense = Pokemon_GetData(boxAppMan->mon, MON_DATA_SP_DEF, NULL); + compareMon->speed = Pokemon_GetData(boxAppMan->mon, MON_DATA_SPEED, NULL); + compareMon->cool = Pokemon_GetData(boxAppMan->mon, MON_DATA_COOL, NULL); + compareMon->beauty = Pokemon_GetData(boxAppMan->mon, MON_DATA_BEAUTY, NULL); + compareMon->cute = Pokemon_GetData(boxAppMan->mon, MON_DATA_CUTE, NULL); + compareMon->smart = Pokemon_GetData(boxAppMan->mon, MON_DATA_SMART, NULL); + compareMon->tough = Pokemon_GetData(boxAppMan->mon, MON_DATA_TOUGH, NULL); + compareMon->moves[0] = Pokemon_GetData(boxAppMan->mon, MON_DATA_MOVE1, NULL); + compareMon->moves[1] = Pokemon_GetData(boxAppMan->mon, MON_DATA_MOVE2, NULL); + compareMon->moves[2] = Pokemon_GetData(boxAppMan->mon, MON_DATA_MOVE3, NULL); + compareMon->moves[3] = Pokemon_GetData(boxAppMan->mon, MON_DATA_MOVE4, NULL); + compareMon->form = Pokemon_GetData(boxAppMan->mon, MON_DATA_FORM, NULL); + + Pokemon_EncryptData(boxAppMan->mon, reencrypt); boxApp->compareModeHelper.compareSlotHasMon[boxApp->compareModeHelper.compareMonSlot] = TRUE; } @@ -4212,7 +4212,7 @@ static void BoxApp_UpdatePreviewMonMarkings(BoxApplication *boxApp) u8 markings = boxApp->boxMenu.markings; preview->markings = markings; - BoxPokemon_SetValue(preview->mon, MON_DATA_MARKINGS, &markings); + BoxPokemon_SetData(preview->mon, MON_DATA_MARKINGS, &markings); if (BoxApp_GetCursorLocation(boxApp) == CURSOR_IN_BOX && BoxApp_GetPreviewMonSource(boxApp) == PREVIEW_MON_UNDER_CURSOR) { SaveData_SetFullSaveRequired(); @@ -4235,17 +4235,17 @@ static void BoxApp_GiveItemToSelectedMon(BoxApplication *boxApp, u16 item, BoxAp PCBoxes_SetBoxMonData(boxAppMan->pcBoxes, USE_CURRENT_BOX, posInBox, MON_DATA_HELD_ITEM, &item); } - BoxPokemon_SetValue(preview->mon, MON_DATA_HELD_ITEM, &item); + BoxPokemon_SetData(preview->mon, MON_DATA_HELD_ITEM, &item); - int species = BoxPokemon_GetValue(preview->mon, MON_DATA_SPECIES, NULL); + int species = BoxPokemon_GetData(preview->mon, MON_DATA_SPECIES, NULL); if (species == SPECIES_ARCEUS) { - BoxPokemon_SetArceusForm(preview->mon); - preview->type1 = BoxPokemon_GetValue(preview->mon, MON_DATA_TYPE_1, NULL); - preview->type2 = BoxPokemon_GetValue(preview->mon, MON_DATA_TYPE_2, NULL); + BoxPokemon_UpdateArceusForm(preview->mon); + preview->type1 = BoxPokemon_GetData(preview->mon, MON_DATA_TYPE_1, NULL); + preview->type2 = BoxPokemon_GetData(preview->mon, MON_DATA_TYPE_2, NULL); } else if (species == SPECIES_GIRATINA) { - BoxPokemon_SetGiratinaForm(preview->mon); - int ability = BoxPokemon_GetValue(preview->mon, MON_DATA_ABILITY, NULL); + BoxPokemon_UpdateGiratinaForm(preview->mon); + int ability = BoxPokemon_GetData(preview->mon, MON_DATA_ABILITY, NULL); MessageLoader_GetString(boxAppMan->abilityNameLoader, ability, preview->ability); } } @@ -4616,24 +4616,24 @@ static u32 BoxApp_GetPreviewedMonValue(BoxApplication *boxApp, enum PokemonDataP { if (BoxApp_GetPreviewMonSource(boxApp) == PREVIEW_MON_UNDER_CURSOR) { if (BoxApp_GetCursorLocation(boxApp) == CURSOR_IN_BOX) { - return BoxPokemon_GetValue(boxApp->pcMonPreview.mon, value, dest); + return BoxPokemon_GetData(boxApp->pcMonPreview.mon, value, dest); } } else { BoxMonSelection *selection = &boxApp->selection; if (selection->cursorMonIsPartyMon == FALSE) { - return BoxPokemon_GetValue(boxApp->pcMonPreview.mon, value, dest); + return BoxPokemon_GetData(boxApp->pcMonPreview.mon, value, dest); } } - return Pokemon_GetValue(boxApp->pcMonPreview.mon, value, dest); + return Pokemon_GetData(boxApp->pcMonPreview.mon, value, dest); } static u32 BoxApp_GetPreviewedOrSelectedMonValue(BoxApplication *boxApp, enum PokemonDataParam value, void *dest) { if (BoxApp_GetCursorLocation(boxApp) == CURSOR_IN_BOX) { - return BoxPokemon_GetValue(boxApp->pcMonPreview.mon, value, dest); + return BoxPokemon_GetData(boxApp->pcMonPreview.mon, value, dest); } else { - return Pokemon_GetValue(boxApp->cursor.mon, value, dest); + return Pokemon_GetData(boxApp->cursor.mon, value, dest); } } diff --git a/src/applications/pc_boxes/ov19_021D79F8.c b/src/applications/pc_boxes/ov19_021D79F8.c index 0bee3adf43..273a7497e0 100644 --- a/src/applications/pc_boxes/ov19_021D79F8.c +++ b/src/applications/pc_boxes/ov19_021D79F8.c @@ -387,7 +387,7 @@ static void ov19_021D803C(UnkStruct_ov19_021D8318 *param0, UnkStruct_ov19_021DCD if (param1->unk_00 == NULL) { v1 = PCBoxes_GetBoxMonAt(pcBoxes, param0->unk_30, v3); - if (BoxPokemon_GetValue(v1, MON_DATA_SPECIES_EXISTS, NULL)) { + if (BoxPokemon_GetData(v1, MON_DATA_SPECIES_EXISTS, NULL)) { ov19_021DA548(param0->unk_58F0, v1, param0->unk_5814[v3], param0->unk_57D8[v3], param0->unk_CD8[v3], param2, 40 + 24 * v2, 2, ov19_021D85B4(v3), v4, param1); } } @@ -424,7 +424,7 @@ static void ov19_021D813C(UnkStruct_ov19_021D8318 *param0, u32 boxID) for (i = 0; i < MAX_MONS_PER_BOX; i++) { boxMon = PCBoxes_GetBoxMonAt(pcBoxes, boxID, i); - species = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); + species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); if (species != SPECIES_NONE) { param0->unk_5814[i] = species; @@ -592,7 +592,7 @@ void ov19_021D84E0(UnkStruct_ov19_021D8318 *param0) for (i = 0; i < MAX_MONS_PER_BOX; i++) { boxMon = PCBoxes_GetBoxMonAt(param0->unk_58F8->pcBoxes, boxID, i); - if (BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES_EXISTS, NULL)) { + if (BoxPokemon_GetData(boxMon, MON_DATA_SPECIES_EXISTS, NULL)) { if (param0->unk_A8[param0->unk_02][i].unk_00 == NULL) { int boxCol, boxRow, v5; @@ -656,7 +656,7 @@ static void ov19_021D85C4(UnkStruct_ov19_021D8318 *param0, UnkStruct_ov19_021DA3 for (v3 = 0; v3 < 5; v3++) { for (v2 = 0; v2 < 6; v2++) { v0 = PCBoxes_GetBoxMonAt(param1->unk_40->pcBoxes, param2, v4); - v1 = BoxPokemon_GetValue((BoxPokemon *)v0, MON_DATA_SPECIES, NULL); + v1 = BoxPokemon_GetData((BoxPokemon *)v0, MON_DATA_SPECIES, NULL); if (v1 != 0) { ov19_021DA428(param1, v0, 112 + param0->unk_585C + 24 * v2 + param4, 40 + 24 * v3, 2, ov19_021D85B4(v4), v5, param5); diff --git a/src/applications/pc_boxes/ov19_021DA270.c b/src/applications/pc_boxes/ov19_021DA270.c index 4eafc2ea45..910a28db29 100644 --- a/src/applications/pc_boxes/ov19_021DA270.c +++ b/src/applications/pc_boxes/ov19_021DA270.c @@ -123,16 +123,16 @@ void ov19_021DA428(UnkStruct_ov19_021DA384 *param0, BoxPokemon *boxMon, s32 para u16 species; u8 isEgg; u8 form; - u8 reencrypt = BoxPokemon_EnterDecryptionContext(boxMon); + u8 reencrypt = BoxPokemon_DecryptData(boxMon); ov19_021D783C(&v1, NULL, ov19_021D77D0(param0->unk_44), param0->unk_10, param0->unk_04, param4); - species = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); - isEgg = BoxPokemon_GetValue(boxMon, MON_DATA_IS_EGG, NULL); - form = BoxPokemon_GetValue(boxMon, MON_DATA_FORM, NULL); + species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); + isEgg = BoxPokemon_GetData(boxMon, MON_DATA_IS_EGG, NULL); + form = BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL); param7->unk_28 = BoxPokemon_IconSpriteIndex((BoxPokemon *)boxMon); param7->unk_2C = PokeIconPaletteIndex(species, form, isEgg); - param7->unk_30 = BoxPokemon_GetValue(boxMon, MON_DATA_HELD_ITEM, NULL); - param7->unk_2E = BoxPokemon_GetValue(boxMon, MON_DATA_MARKINGS, NULL); + param7->unk_30 = BoxPokemon_GetData(boxMon, MON_DATA_HELD_ITEM, NULL); + param7->unk_2E = BoxPokemon_GetData(boxMon, MON_DATA_MARKINGS, NULL); NNS_G2dInitImageProxy(&(param7->unk_04)); NARC_ReadFromMember(param0->unk_48, param7->unk_28, 0, ((4 * 4) * 0x20 + 0x80), param0->unk_4C); @@ -150,7 +150,7 @@ void ov19_021DA428(UnkStruct_ov19_021DA384 *param0, BoxPokemon *boxMon, s32 para Sprite_SetExplicitPalette(param7->unk_00, 2 + param7->unk_2C); ov19_021DA63C(param0, param7, BoxApp_GetMonSpriteTransparencyMask(param0->unk_40)); - BoxPokemon_ExitDecryptionContext(boxMon, reencrypt); + BoxPokemon_EncryptData(boxMon, reencrypt); } void ov19_021DA548(UnkStruct_ov19_021DA384 *param0, BoxPokemon *boxMon, u32 param2, u32 param3, u8 *param4, s32 param5, s32 param6, u32 param7, u32 param8, u32 param9, UnkStruct_ov19_021DCD18 *param10) @@ -158,16 +158,16 @@ void ov19_021DA548(UnkStruct_ov19_021DA384 *param0, BoxPokemon *boxMon, u32 para NNSG2dCharacterData *v0; SpriteResourcesHeader v1; - BOOL reencrypt = BoxPokemon_EnterDecryptionContext(boxMon); - u8 isEgg = BoxPokemon_GetValue(boxMon, MON_DATA_IS_EGG, NULL); - u8 form = BoxPokemon_GetValue(boxMon, MON_DATA_FORM, NULL); + BOOL reencrypt = BoxPokemon_DecryptData(boxMon); + u8 isEgg = BoxPokemon_GetData(boxMon, MON_DATA_IS_EGG, NULL); + u8 form = BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL); ov19_021D783C(&v1, NULL, ov19_021D77D0(param0->unk_44), param0->unk_10, param0->unk_04, param7); param10->unk_28 = param3; param10->unk_2C = PokeIconPaletteIndex(param2, form, isEgg); - param10->unk_30 = BoxPokemon_GetValue(boxMon, MON_DATA_HELD_ITEM, NULL); - param10->unk_2E = BoxPokemon_GetValue(boxMon, MON_DATA_MARKINGS, NULL); + param10->unk_30 = BoxPokemon_GetData(boxMon, MON_DATA_HELD_ITEM, NULL); + param10->unk_2E = BoxPokemon_GetData(boxMon, MON_DATA_MARKINGS, NULL); NNS_G2dInitImageProxy(&(param10->unk_04)); NNS_G2dGetUnpackedCharacterData(param4, &v0); @@ -184,7 +184,7 @@ void ov19_021DA548(UnkStruct_ov19_021DA384 *param0, BoxPokemon *boxMon, u32 para Sprite_SetExplicitPalette(param10->unk_00, 2 + param10->unk_2C); ov19_021DA63C(param0, param10, BoxApp_GetMonSpriteTransparencyMask(param0->unk_40)); - BoxPokemon_ExitDecryptionContext(boxMon, reencrypt); + BoxPokemon_EncryptData(boxMon, reencrypt); } void ov19_021DA63C(UnkStruct_ov19_021DA384 *param0, UnkStruct_ov19_021DCD18 *param1, u32 param2) diff --git a/src/applications/pc_boxes/ov19_021DA92C.c b/src/applications/pc_boxes/ov19_021DA92C.c index a7e9d0628c..23d567f079 100644 --- a/src/applications/pc_boxes/ov19_021DA92C.c +++ b/src/applications/pc_boxes/ov19_021DA92C.c @@ -151,7 +151,7 @@ void ov19_021DAA90(UnkStruct_ov19_021DA9E0 *param0) { PokemonSpriteTemplate v0; - BuildPokemonSpriteTemplate(&v0, 1, 0, 0, 0, 0, 0); + Species_BuildSpriteTemplate(&v0, 1, 0, 0, 0, 0, 0); param0->unk_24 = PokemonSpriteManager_CreateSprite(param0->unk_20, &v0, 44, 84, 0, 0, NULL, NULL); } diff --git a/src/applications/pc_boxes/ov19_021DB8E4.c b/src/applications/pc_boxes/ov19_021DB8E4.c index 347c6090cb..9beb9e97b5 100644 --- a/src/applications/pc_boxes/ov19_021DB8E4.c +++ b/src/applications/pc_boxes/ov19_021DB8E4.c @@ -247,14 +247,14 @@ void ov19_021DBBA8(UnkStruct_ov19_021DBA9C *param0, u32 param1, u32 param2, NNS_ for (v3 = 0, v4 = 0; v3 < 5; v3++) { for (v2 = 0; v2 < 6; v2++) { boxMon = PCBoxes_GetBoxMonAt(pcBoxes, param1, v4++); - v7 = BoxPokemon_EnterDecryptionContext(boxMon); - species = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); + v7 = BoxPokemon_DecryptData(boxMon); + species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); if (species) { - if (BoxPokemon_GetValue(boxMon, MON_DATA_IS_EGG, NULL) == FALSE) { - u16 form = BoxPokemon_GetValue(boxMon, MON_DATA_FORM, NULL); + if (BoxPokemon_GetData(boxMon, MON_DATA_IS_EGG, NULL) == FALSE) { + u16 form = BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL); - color = SpeciesData_GetFormValue(species, form, SPECIES_DATA_BODY_COLOR); + color = Species_GetFormValue(species, form, SPECIES_DATA_BODY_COLOR); } else { color = (species != SPECIES_MANAPHY) ? MON_COLOR_WHITE : MON_COLOR_BLUE; } @@ -279,7 +279,7 @@ void ov19_021DBBA8(UnkStruct_ov19_021DBA9C *param0, u32 param1, u32 param2, NNS_ Bitmap_FillRect8bpp(&(param0->unk_3C), 10 + v2 * 2, 11 + v3 * 2, 2, 2, color); } - BoxPokemon_ExitDecryptionContext(boxMon, v7); + BoxPokemon_EncryptData(boxMon, v7); } } diff --git a/src/applications/pc_boxes/ov19_021DEC04.c b/src/applications/pc_boxes/ov19_021DEC04.c index 0125b12a32..01de441f64 100644 --- a/src/applications/pc_boxes/ov19_021DEC04.c +++ b/src/applications/pc_boxes/ov19_021DEC04.c @@ -556,7 +556,7 @@ static void ov19_021DF4D0(UnkStruct_ov19_021DEC04 *param0, int compareMonSlot) int i; if (compareMon->isEgg == FALSE) { - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (compareMon->moves[i]) { MessageLoader_GetString(param0->unk_70, compareMon->moves[i], param0->boxDisplayText); Text_AddPrinterWithParamsAndColor(v0, FONT_SYSTEM, param0->boxDisplayText, inline_ov19_021DF3AC(v0, 0, param0->boxDisplayText), 4 + 24 * i, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(15, 14, 0), NULL); diff --git a/src/applications/pc_hall_of_fame/display.c b/src/applications/pc_hall_of_fame/display.c index 130931317d..2ef82da996 100644 --- a/src/applications/pc_hall_of_fame/display.c +++ b/src/applications/pc_hall_of_fame/display.c @@ -399,7 +399,7 @@ static void PCHallOfFame_PrintCurrentTextState(PCHallOfFameApp *pcHallOfFameApp) MessageLoader_GetString(pcHallOfFameApp->msgLoaderSpeciesNames, pcHallOfFameMon->species, pcHallOfFameApp->unk_1F4); Text_AddPrinterWithParams(window, FONT_SYSTEM, pcHallOfFameApp->unk_1F4, 94, 0, TEXT_SPEED_NO_TRANSFER, NULL); - switch (Pokemon_GetGenderOf(pcHallOfFameMon->species, pcHallOfFameMon->personality)) { + switch (Species_GetGenderFromPersonality(pcHallOfFameMon->species, pcHallOfFameMon->personality)) { case GENDER_MALE: MessageLoader_GetString(pcHallOfFameApp->msgLoaderHallOfFame, PCHallOfFame_Text_MaleSign, pcHallOfFameApp->unk_1F4); break; @@ -423,7 +423,7 @@ static void PCHallOfFame_PrintCurrentTextState(PCHallOfFameApp *pcHallOfFameApp) case PC_HALL_OF_FAME_TEXT_MOVES: { int i; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (pcHallOfFameMon->moves[i]) { MessageLoader_GetString(pcHallOfFameApp->msgLoaderMoveNames, pcHallOfFameMon->moves[i], pcHallOfFameApp->unk_1F4); Text_AddPrinterWithParams(window, FONT_SYSTEM, pcHallOfFameApp->unk_1F4, (i & 1) * 96, (i / 2) * 16, TEXT_SPEED_NO_TRANSFER, NULL); @@ -535,8 +535,8 @@ static void PCHallOfFame_DrawAllPokemon(PCHallOfFameApp *pcHallOfFameApp) pcHallOfFameScreen = pcHallOfFameApp->pcHallOfFameScreen; for (i = 0; i < pcHallOfFameScreen->pokemonCount; i++) { - Pokemon_InitWith(pcHallOfFameApp->mon, pcHallOfFameScreen->pokemon[i].species, pcHallOfFameScreen->pokemon[i].level, INIT_IVS_RANDOM, TRUE, pcHallOfFameScreen->pokemon[i].personality, OTID_SET, pcHallOfFameScreen->pokemon[i].OTID); - Pokemon_SetValue(pcHallOfFameApp->mon, MON_DATA_FORM, (void *)(&(pcHallOfFameScreen->pokemon[i].form))); + Pokemon_InitWithParams(pcHallOfFameApp->mon, pcHallOfFameScreen->pokemon[i].species, pcHallOfFameScreen->pokemon[i].level, INIT_IVS_RANDOM, TRUE, pcHallOfFameScreen->pokemon[i].personality, OT_ID_PRESET, pcHallOfFameScreen->pokemon[i].OTID); + Pokemon_SetData(pcHallOfFameApp->mon, MON_DATA_FORM, (void *)(&(pcHallOfFameScreen->pokemon[i].form))); Pokemon_BuildSpriteTemplate(&spriteTemplate, pcHallOfFameApp->mon, FACE_FRONT); CharacterSprite_LoadPokemonSpriteRegion(spriteTemplate.narcID, spriteTemplate.character, HEAP_ID_PC_HALL_OF_FAME, &tileRegion, pcHallOfFameApp->unk_200, pcHallOfFameScreen->pokemon[i].personality, FALSE, FACE_FRONT, pcHallOfFameScreen->pokemon[i].species); diff --git a/src/applications/poffin_case/main.c b/src/applications/poffin_case/main.c index c1169c37aa..82ace6fbeb 100644 --- a/src/applications/poffin_case/main.c +++ b/src/applications/poffin_case/main.c @@ -30,31 +30,31 @@ FS_EXTERN_OVERLAY(poffin_case); // clang-format off static const u8 sFlavorPreferences[][2] = { - [NATURE_HARDY] = { FLAVOR_MAX, FLAVOR_MAX }, + [NATURE_HARDY] = { FLAVOR_COUNT, FLAVOR_COUNT }, [NATURE_LONELY] = { FLAVOR_SPICY, FLAVOR_SOUR }, [NATURE_BRAVE] = { FLAVOR_SPICY, FLAVOR_SWEET }, [NATURE_ADAMANT] = { FLAVOR_SPICY, FLAVOR_DRY }, [NATURE_NAUGHTY] = { FLAVOR_SPICY, FLAVOR_BITTER }, [NATURE_BOLD] = { FLAVOR_SOUR, FLAVOR_SPICY }, - [NATURE_DOCILE] = { FLAVOR_MAX, FLAVOR_MAX }, + [NATURE_DOCILE] = { FLAVOR_COUNT, FLAVOR_COUNT }, [NATURE_RELAXED] = { FLAVOR_SOUR, FLAVOR_SWEET }, [NATURE_IMPISH] = { FLAVOR_SOUR, FLAVOR_DRY }, [NATURE_LAX] = { FLAVOR_SOUR, FLAVOR_BITTER }, [NATURE_TIMID] = { FLAVOR_SWEET, FLAVOR_SPICY }, [NATURE_HASTY] = { FLAVOR_SWEET, FLAVOR_SOUR }, - [NATURE_SERIOUS] = { FLAVOR_MAX, FLAVOR_MAX }, + [NATURE_SERIOUS] = { FLAVOR_COUNT, FLAVOR_COUNT }, [NATURE_JOLLY] = { FLAVOR_SWEET, FLAVOR_DRY }, [NATURE_NAIVE] = { FLAVOR_SWEET, FLAVOR_BITTER }, [NATURE_MODEST] = { FLAVOR_DRY, FLAVOR_SPICY }, [NATURE_MILD] = { FLAVOR_DRY, FLAVOR_SOUR }, [NATURE_QUIET] = { FLAVOR_DRY, FLAVOR_SWEET }, - [NATURE_BASHFUL] = { FLAVOR_MAX, FLAVOR_MAX }, + [NATURE_BASHFUL] = { FLAVOR_COUNT, FLAVOR_COUNT }, [NATURE_RASH] = { FLAVOR_DRY, FLAVOR_BITTER }, [NATURE_CALM] = { FLAVOR_BITTER, FLAVOR_SPICY }, [NATURE_GENTLE] = { FLAVOR_BITTER, FLAVOR_SOUR }, [NATURE_SASSY] = { FLAVOR_BITTER, FLAVOR_SWEET }, [NATURE_CAREFUL] = { FLAVOR_BITTER, FLAVOR_DRY }, - [NATURE_QUIRKY] = { FLAVOR_MAX, FLAVOR_MAX } + [NATURE_QUIRKY] = { FLAVOR_COUNT, FLAVOR_COUNT } }; // clang-format on @@ -135,7 +135,7 @@ PoffinCaseAppData *PoffinCaseAppData_New(SaveData *saveData, int heapID) caseItem->smoothness = poffinAttributes[POFFIN_ATTRIBUTEID_SMOOTHNESS]; u8 poffinTypeBitMask = 1; - for (j = 0; j < FLAVOR_MAX; j++) { + for (j = 0; j < FLAVOR_COUNT; j++) { if (poffinAttributes[j + 1]) { caseItem->flavors |= poffinTypeBitMask; } @@ -152,7 +152,7 @@ PoffinCaseAppData *PoffinCaseAppData_New(SaveData *saveData, int heapID) Heap_Free(poffin); appData->poffinCount = count; - appData->flavorFilter = FLAVOR_MAX; + appData->flavorFilter = FLAVOR_COUNT; return appData; } @@ -488,7 +488,7 @@ void sub_02098EF8(Poffin *param0, Pokemon *param1) Poffin_StoreAttributesToArray(param0, v8); for (v0 = 0; v0 < 6; v0++) { - v7[v0] = Pokemon_GetValue(param1, MON_DATA_COOL + v0, NULL); + v7[v0] = Pokemon_GetData(param1, MON_DATA_COOL + v0, NULL); } v1 = 0; @@ -511,13 +511,13 @@ void sub_02098EF8(Poffin *param0, Pokemon *param1) v7[v0] = 255; } - Pokemon_SetValue(param1, 19 + v0, &v7[v0]); + Pokemon_SetData(param1, 19 + v0, &v7[v0]); } - v3 = Pokemon_GetValue(param1, MON_DATA_FRIENDSHIP, NULL); + v3 = Pokemon_GetData(param1, MON_DATA_FRIENDSHIP, NULL); if (v3 < 255) { ++v3; - Pokemon_SetValue(param1, MON_DATA_FRIENDSHIP, &v3); + Pokemon_SetData(param1, MON_DATA_FRIENDSHIP, &v3); } } diff --git a/src/applications/poffin_case/manager.c b/src/applications/poffin_case/manager.c index cd117289e9..f8f91f4ced 100644 --- a/src/applications/poffin_case/manager.c +++ b/src/applications/poffin_case/manager.c @@ -219,7 +219,7 @@ static int ProcessTouchScreenAction(PoffinManager *app) [FLAVOR_SWEET] = { .rect = { .top = 148, .bottom = 176, .left = 136, .right = 200 } }, [FLAVOR_BITTER] = { .rect = { .top = 150, .bottom = 178, .left = 56, .right = 120 } }, [FLAVOR_SOUR] = { .rect = { .top = 82, .bottom = 110, .left = 32, .right = 96 } }, - [FLAVOR_MAX] = { .rect = { .top = 102, .bottom = 130, .left = 96, .right = 160 } }, + [FLAVOR_COUNT] = { .rect = { .top = 102, .bottom = 130, .left = 96, .right = 160 } }, { .rect = { .top = 255, .bottom = 0, .left = 0, .right = 0 } } }; @@ -669,10 +669,10 @@ static void InitMessages(PoffinManager *app) app->messages.thrownOutStr = MessageLoader_GetNewString(app->msgLoader, PoffinCase_Text_ThrownOut); app->messages.headerStr = MessageLoader_GetNewString(app->msgLoader, PoffinCase_Text_PoffinCase); - for (int i = 0; i < FLAVOR_MAX + 1; i++) { + for (int i = 0; i < FLAVOR_COUNT + 1; i++) { app->messages.flavorStrs[i] = MessageLoader_GetNewString(app->msgLoader, 11 + i); - if (i >= FLAVOR_MAX) { + if (i >= FLAVOR_COUNT) { break; } @@ -684,10 +684,10 @@ static void InitMessages(PoffinManager *app) static void FreeMessages(PoffinManager *app) { - for (int i = 0; i < FLAVOR_MAX + 1; i++) { + for (int i = 0; i < FLAVOR_COUNT + 1; i++) { String_Free(app->messages.flavorStrs[i]); - if (i >= FLAVOR_MAX) { + if (i >= FLAVOR_COUNT) { break; } @@ -726,7 +726,7 @@ static void InitSprites(PoffinManager *app) Sprite_SetAnimateFlag(app->listSprites[1], TRUE); Sprite_SetAnimateFlag(app->listSprites[2], TRUE); - for (int i = 0; i < FLAVOR_MAX; i++) { + for (int i = 0; i < FLAVOR_COUNT; i++) { static const struct { u16 x, y; } sTypeIconPositions[] = { @@ -744,7 +744,7 @@ static void InitSprites(PoffinManager *app) Sprite_SetPositionXY(app->flavorSprites[i], sTypeIconPositions[i].x, sTypeIconPositions[i].y); } - for (int i = 0; i < FLAVOR_MAX + 1; i++) { + for (int i = 0; i < FLAVOR_COUNT + 1; i++) { static const struct { u16 x, y; } sButtonPositions[] = { @@ -753,7 +753,7 @@ static void InitSprites(PoffinManager *app) [FLAVOR_SWEET] = { 168, 162 }, [FLAVOR_BITTER] = { 88, 164 }, [FLAVOR_SOUR] = { 64, 96 }, - [FLAVOR_MAX] = { 128, 116 } + [FLAVOR_COUNT] = { 128, 116 } }; app->buttonSprites[i] = SpriteSystem_NewSpriteFromResourceHeader(app->spriteSys, app->spriteMan, &templates[4]); @@ -776,11 +776,11 @@ static void FreeSprites(PoffinManager *app) PoffinSprite_Free(app->poffinSpriteMan, app->poffinSprite); - for (int i = 0; i < FLAVOR_MAX + 1; i++) { + for (int i = 0; i < FLAVOR_COUNT + 1; i++) { Sprite_Delete2(app->buttonSprites[i]); } - for (int i = 0; i < FLAVOR_MAX; i++) { + for (int i = 0; i < FLAVOR_COUNT; i++) { Sprite_Delete2(app->flavorSprites[i]); } diff --git a/src/applications/poffin_case/menus.c b/src/applications/poffin_case/menus.c index 0af04e5d2e..c7aa43ee98 100644 --- a/src/applications/poffin_case/menus.c +++ b/src/applications/poffin_case/menus.c @@ -266,7 +266,7 @@ void PoffinManager_UpdatePoffinFilter(PoffinManager *app, u8 poffinType) PoffinManager_InitPoffinList(app); Window_FillRectWithColor(&app->windows[6], 0, 0, 0, 160, 24); - if (app->flavorFilter == FLAVOR_MAX) { + if (app->flavorFilter == FLAVOR_COUNT) { Window_CopyToVRAM(&app->windows[6]); return; } @@ -282,13 +282,13 @@ static void PoffinManager_UpdateFlavorSprites(PoffinManager *app, PoffinCaseAppI u8 poffinTypeMask = 1; if (poffin == NULL) { - for (u8 i = 0; i < FLAVOR_MAX; i++) { + for (u8 i = 0; i < FLAVOR_COUNT; i++) { Sprite_SetDrawFlag(app->flavorSprites[i], FALSE); } return; } - for (u8 i = 0; i < FLAVOR_MAX; i++) { + for (u8 i = 0; i < FLAVOR_COUNT; i++) { if (poffin->flavors & poffinTypeMask) { Sprite_SetDrawFlag(app->flavorSprites[i], TRUE); } else { @@ -434,7 +434,7 @@ void PoffinManager_PrintHeaderandButtons(PoffinManager *app) NULL); TextColor buttonTextColor = TEXT_COLOR(2, 3, 1); - for (int i = 0; i < FLAVOR_MAX + 1; i++) { + for (int i = 0; i < FLAVOR_COUNT + 1; i++) { static const u8 yOffsets[] = { 2, 10, 4, 6, 10, 6 }; int width = 64 - Font_CalcStringWidth(FONT_SUBSCREEN, app->messages.flavorStrs[i], 0); diff --git a/src/applications/poffin_case/ov79_021D2268.c b/src/applications/poffin_case/ov79_021D2268.c index 0d2986ee30..c353a0136f 100644 --- a/src/applications/poffin_case/ov79_021D2268.c +++ b/src/applications/poffin_case/ov79_021D2268.c @@ -501,13 +501,13 @@ static void ov79_021D27AC(UnkStruct_ov79_021D2928 *param0) static void ov79_021D27D8(UnkStruct_ov79_021D2928 *param0) { param0->unk_30.unk_00 = param0->unk_10->unk_00; - param0->unk_30.unk_04 = Pokemon_GetValue(param0->unk_10->unk_00, MON_DATA_SPECIES, NULL); + param0->unk_30.unk_04 = Pokemon_GetData(param0->unk_10->unk_00, MON_DATA_SPECIES, NULL); param0->unk_30.unk_07 = Pokemon_GetGender(param0->unk_10->unk_00); param0->unk_30.unk_06 = Pokemon_GetNature(param0->unk_10->unk_00); - param0->unk_30.unk_08 = SpeciesData_GetFormValue(param0->unk_30.unk_04, Pokemon_GetValue(param0->unk_10->unk_00, MON_DATA_FORM, NULL), 28) ^ 1; + param0->unk_30.unk_08 = Species_GetFormValue(param0->unk_30.unk_04, Pokemon_GetData(param0->unk_10->unk_00, MON_DATA_FORM, NULL), 28) ^ 1; param0->unk_30.unk_0C = String_Init(12, param0->heapID); - Pokemon_GetValue(param0->unk_10->unk_00, MON_DATA_NICKNAME_STRING, param0->unk_30.unk_0C); + Pokemon_GetData(param0->unk_10->unk_00, MON_DATA_NICKNAME_STRING, param0->unk_30.unk_0C); param0->unk_30.unk_09 = sub_02098EAC(param0->unk_10->unk_04, param0->unk_30.unk_06); } @@ -673,7 +673,7 @@ static int ov79_021D2AE0(UnkStruct_ov79_021D2928 *param0, UnkStruct_ov79_021D29B static int ov79_021D2AF0(UnkStruct_ov79_021D2928 *param0, UnkStruct_ov79_021D29B4 *param1) { - u32 form = Pokemon_GetValue(param0->unk_30.unk_00, MON_DATA_FORM, NULL); + u32 form = Pokemon_GetData(param0->unk_30.unk_00, MON_DATA_FORM, NULL); switch (param0->unk_30.unk_09) { case 1: diff --git a/src/applications/poffin_case/sprites.c b/src/applications/poffin_case/sprites.c index 67d16c7e87..976f527410 100644 --- a/src/applications/poffin_case/sprites.c +++ b/src/applications/poffin_case/sprites.c @@ -41,7 +41,7 @@ void PoffinManager_InitSpriteSystem(PoffinManager *app) }; SpriteSystem_Init(app->spriteSys, &oamTemplate, &charTransferTemplate, 32); - SpriteSystem_InitSprites(app->spriteSys, app->spriteMan, NUM_LIST_SPRITES + 2 * FLAVOR_MAX + 1); + SpriteSystem_InitSprites(app->spriteSys, app->spriteMan, NUM_LIST_SPRITES + 2 * FLAVOR_COUNT + 1); RenderOam_ClearMain(app->heapID); RenderOam_ClearSub(app->heapID); diff --git a/src/applications/pokedex/ov21_021DE668.c b/src/applications/pokedex/ov21_021DE668.c index 56e71d30cc..25989e53aa 100644 --- a/src/applications/pokedex/ov21_021DE668.c +++ b/src/applications/pokedex/ov21_021DE668.c @@ -624,8 +624,8 @@ static void ov21_021DF098(UnkStruct_ov21_021DF374 *param0, PokedexGraphicData ** int type1, type2; int v6 = PokedexSort_DefaultForm(param2->unk_04, species); - type1 = SpeciesData_GetFormValue(species, v6, SPECIES_DATA_TYPE_1); - type2 = SpeciesData_GetFormValue(species, v6, SPECIES_DATA_TYPE_2); + type1 = Species_GetFormValue(species, v6, SPECIES_DATA_TYPE_1); + type2 = Species_GetFormValue(species, v6, SPECIES_DATA_TYPE_2); type1 = PokedexGraphics_GetAnimIDfromType(type1); type2 = PokedexGraphics_GetAnimIDfromType(type2); diff --git a/src/applications/pokedex/ov21_021DF734.c b/src/applications/pokedex/ov21_021DF734.c index eb90312fb7..f38bf6794f 100644 --- a/src/applications/pokedex/ov21_021DF734.c +++ b/src/applications/pokedex/ov21_021DF734.c @@ -790,7 +790,7 @@ static int ov21_021E02F0(int species, const UnkStruct_ov21_021DF844 *param1) int genderRatio; int v1; - genderRatio = SpeciesData_GetSpeciesValue(species, SPECIES_DATA_GENDER_RATIO); + genderRatio = Species_GetValue(species, SPECIES_DATA_GENDER_RATIO); if (genderRatio == GENDER_RATIO_MALE_ONLY) { return 1; @@ -800,7 +800,7 @@ static int ov21_021E02F0(int species, const UnkStruct_ov21_021DF844 *param1) return 2; } - if (genderRatio == GENDER_RATIO_NO_GENDER) { + if (genderRatio == GENDER_RATIO_UNKNOWN) { return 3; } diff --git a/src/applications/pokedex/ov21_021E8D48.c b/src/applications/pokedex/ov21_021E8D48.c index 6246b243f5..8d406d1524 100644 --- a/src/applications/pokedex/ov21_021E8D48.c +++ b/src/applications/pokedex/ov21_021E8D48.c @@ -132,8 +132,8 @@ UnkStruct_ov21_021E8D48 *ov21_021E8D48(const UnkStruct_ov21_021E8E0C *param0) u32 v1; u32 v2; - v1 = Pokemon_GetValue(param0->unk_10, MON_DATA_SPECIES, NULL); - v2 = Pokemon_GetValue(param0->unk_10, MON_DATA_FORM, NULL); + v1 = Pokemon_GetData(param0->unk_10, MON_DATA_SPECIES, NULL); + v2 = Pokemon_GetData(param0->unk_10, MON_DATA_FORM, NULL); if (v1 == SPECIES_GIRATINA) { Pokedex_SetupGiratina(v2); @@ -184,8 +184,8 @@ static void ov21_021E8E0C(UnkStruct_ov21_021E8D48 *param0, const UnkStruct_ov21_ NARC *v1 = NARC_ctor(NARC_INDEX_RESOURCE__ENG__ZUKAN__ZUKAN, param1->heapID); int v2; - param0->unk_220 = Pokemon_GetValue(param1->unk_10, MON_DATA_SPECIES, NULL); - v2 = Pokemon_GetValue(param1->unk_10, MON_DATA_FORM, NULL); + param0->unk_220 = Pokemon_GetData(param1->unk_10, MON_DATA_SPECIES, NULL); + v2 = Pokemon_GetData(param1->unk_10, MON_DATA_FORM, NULL); param0->unk_00 = param1->unk_00; param0->unk_19C = SpriteList_InitRendering(32, ¶m0->unk_10, param1->heapID); @@ -573,8 +573,8 @@ static void ov21_021E95F8(UnkStruct_ov21_021E968C *param0, SpriteList *param1, S { SpriteListTemplate v0; SpriteResourcesHeader v1; - int type1 = SpeciesData_GetSpeciesValue(param4, SPECIES_DATA_TYPE_1); - int type2 = SpeciesData_GetSpeciesValue(param4, SPECIES_DATA_TYPE_2); + int type1 = Species_GetValue(param4, SPECIES_DATA_TYPE_1); + int type2 = Species_GetValue(param4, SPECIES_DATA_TYPE_2); type1 = PokedexGraphics_GetAnimIDfromType(type1); type2 = PokedexGraphics_GetAnimIDfromType(type2); diff --git a/src/applications/pokedex/pokedex_graphics.c b/src/applications/pokedex/pokedex_graphics.c index 800f487c56..919faf34bc 100644 --- a/src/applications/pokedex/pokedex_graphics.c +++ b/src/applications/pokedex/pokedex_graphics.c @@ -144,13 +144,13 @@ void PokedexGraphics_LoadPokemonSprite(PokedexGraphicData *pokedexGraphicData, e } if (gender == -1) { - gender = Pokemon_GetGenderOf(species, 0); + gender = Species_GetGenderFromPersonality(species, 0); } - BuildPokemonSpriteTemplate(&spriteTemplate, species, gender, face, shiny, form, personality); + Species_BuildSpriteTemplate(&spriteTemplate, species, gender, face, shiny, form, personality); if (face == 0) { - yOffset = LoadPokemonSpriteYOffset(species, gender, face, form, personality); + yOffset = Species_LoadSpriteYOffset(species, gender, face, form, personality); yOffset += 0; } else { yOffset = 0; diff --git a/src/applications/pokemon_summary_screen/3d_anim.c b/src/applications/pokemon_summary_screen/3d_anim.c index 316081d67c..87fc17d189 100644 --- a/src/applications/pokemon_summary_screen/3d_anim.c +++ b/src/applications/pokemon_summary_screen/3d_anim.c @@ -355,7 +355,7 @@ void PokemonSummaryScreen_LoadMonSprite(PokemonSummaryScreen *summaryScreen) PokemonSprite_LoadAnimFrames(summaryScreen->narcPlPokeData, summaryScreen->monSprite.frames, summaryScreen->monData.species, 1); - summaryScreen->monSprite.flip = SpeciesData_GetFormValue(summaryScreen->monData.species, summaryScreen->monData.form, SPECIES_DATA_FLIP_SPRITE) ^ 1; + summaryScreen->monSprite.flip = Species_GetFormValue(summaryScreen->monData.species, summaryScreen->monData.form, SPECIES_DATA_FLIP_SPRITE) ^ 1; summaryScreen->monSprite.sprite = PokemonSpriteManager_CreateSprite(summaryScreen->monSprite.spriteManager, &spriteTemplate, 52, 104, 0, 0, summaryScreen->monSprite.frames, NULL); PokemonSprite_SetAttribute(summaryScreen->monSprite.sprite, MON_SPRITE_FLIP_H, summaryScreen->monSprite.flip); diff --git a/src/applications/pokemon_summary_screen/main.c b/src/applications/pokemon_summary_screen/main.c index 71bbc87979..393f4dc06e 100644 --- a/src/applications/pokemon_summary_screen/main.c +++ b/src/applications/pokemon_summary_screen/main.c @@ -704,7 +704,7 @@ static int HandleInput_MoveDetails(PokemonSummaryScreen *summaryScreen) } if (JOY_NEW(PAD_BUTTON_A)) { - if (summaryScreen->cursor == LEARNED_MOVES_MAX) { + if (summaryScreen->cursor == MAX_MON_MOVES) { Sound_PlayEffect(SEQ_SE_DP_SYU01); summaryScreen->pageState = PAGE_STATE_INITIAL; @@ -758,7 +758,7 @@ static int HandleInput_MoveSwap(PokemonSummaryScreen *summaryScreen) if (JOY_NEW(PAD_BUTTON_A)) { Sprite_SetDrawFlag(summaryScreen->sprites[SUMMARY_SPRITE_MOVE_SELECTOR_2], FALSE); - if (summaryScreen->cursor != LEARNED_MOVES_MAX && summaryScreen->cursor != summaryScreen->cursorTmp) { + if (summaryScreen->cursor != MAX_MON_MOVES && summaryScreen->cursor != summaryScreen->cursorTmp) { Sound_PlayEffect(SEQ_SE_DP_DECIDE); SwapSelectedMoves(summaryScreen); PokemonSummaryScreen_SwapMoveTypeIcons(summaryScreen, summaryScreen->cursor, summaryScreen->cursorTmp); @@ -813,7 +813,7 @@ static int HandleInput_SelectMove(PokemonSummaryScreen *summaryScreen) if (JOY_NEW(PAD_BUTTON_A)) { Sound_PlayEffect(SEQ_SE_DP_DECIDE); - if (summaryScreen->cursor != LEARNED_MOVES_MAX) { + if (summaryScreen->cursor != MAX_MON_MOVES) { if (Item_IsHMMove(summaryScreen->monData.moves[summaryScreen->cursor]) == TRUE && summaryScreen->data->move != MOVE_NONE) { Sprite_SetDrawFlag2(summaryScreen->sprites[SUMMARY_SPRITE_MOVE_CATEGORY_ICON], FALSE); DrawEmptyHearts(summaryScreen); @@ -829,7 +829,7 @@ static int HandleInput_SelectMove(PokemonSummaryScreen *summaryScreen) if (JOY_NEW(PAD_BUTTON_B)) { Sound_PlayEffect(SEQ_SE_DP_DECIDE); - summaryScreen->data->selectedMoveSlot = LEARNED_MOVES_MAX; + summaryScreen->data->selectedMoveSlot = MAX_MON_MOVES; summaryScreen->data->returnMode = SUMMARY_RETURN_CANCEL; return SUMMARY_STATE_TRANSITION_OUT; } @@ -930,7 +930,7 @@ static int SetupPoffinFeedConditionPage(PokemonSummaryScreen *summaryScreen) if (summaryScreen->data->dataType == SUMMARY_DATA_BOX_MON) { boxMon = PokemonSummaryScreen_MonData(summaryScreen); mon = Pokemon_New(HEAP_ID_POKEMON_SUMMARY_SCREEN); - Pokemon_FromBoxPokemon(boxMon, mon); + BoxPokemon_CopyToPokemon(boxMon, mon); } else { mon = PokemonSummaryScreen_MonData(summaryScreen); } @@ -940,41 +940,41 @@ static int SetupPoffinFeedConditionPage(PokemonSummaryScreen *summaryScreen) summaryScreen->pageState = STAT_INCREASE_NONE; u8 monValue = summaryScreen->monData.cool; - summaryScreen->monData.cool = Pokemon_GetValue(mon, MON_DATA_COOL, NULL); + summaryScreen->monData.cool = Pokemon_GetData(mon, MON_DATA_COOL, NULL); if (monValue != summaryScreen->monData.cool) { summaryScreen->pageState |= COOL_INCREASED; } monValue = summaryScreen->monData.beauty; - summaryScreen->monData.beauty = Pokemon_GetValue(mon, MON_DATA_BEAUTY, NULL); + summaryScreen->monData.beauty = Pokemon_GetData(mon, MON_DATA_BEAUTY, NULL); if (monValue != summaryScreen->monData.beauty) { summaryScreen->pageState |= BEAUTY_INCREASED; } monValue = summaryScreen->monData.cute; - summaryScreen->monData.cute = Pokemon_GetValue(mon, MON_DATA_CUTE, NULL); + summaryScreen->monData.cute = Pokemon_GetData(mon, MON_DATA_CUTE, NULL); if (monValue != summaryScreen->monData.cute) { summaryScreen->pageState |= CUTE_INCREASED; } monValue = summaryScreen->monData.smart; - summaryScreen->monData.smart = Pokemon_GetValue(mon, MON_DATA_SMART, NULL); + summaryScreen->monData.smart = Pokemon_GetData(mon, MON_DATA_SMART, NULL); if (monValue != summaryScreen->monData.smart) { summaryScreen->pageState |= SMART_INCREASED; } monValue = summaryScreen->monData.tough; - summaryScreen->monData.tough = Pokemon_GetValue(mon, MON_DATA_TOUGH, NULL); + summaryScreen->monData.tough = Pokemon_GetData(mon, MON_DATA_TOUGH, NULL); if (monValue != summaryScreen->monData.tough) { summaryScreen->pageState |= TOUGH_INCREASED; } - summaryScreen->monData.sheen = Pokemon_GetValue(mon, MON_DATA_SHEEN, NULL); + summaryScreen->monData.sheen = Pokemon_GetData(mon, MON_DATA_SHEEN, NULL); if (summaryScreen->data->dataType == SUMMARY_DATA_BOX_MON) { Heap_Free(mon); @@ -1051,16 +1051,16 @@ static void SetMonDataFromBoxMon(PokemonSummaryScreen *summaryScreen, BoxPokemon { Pokemon *mon = Pokemon_New(HEAP_ID_POKEMON_SUMMARY_SCREEN); - Pokemon_FromBoxPokemon(boxMon, mon); + BoxPokemon_CopyToPokemon(boxMon, mon); SetMonDataFromMon(summaryScreen, mon, monData); Heap_Free(mon); } static void SetMonDataFromMon(PokemonSummaryScreen *summaryScreen, Pokemon *mon, PokemonSummaryMonData *monData) { - BOOL reencrypt = Pokemon_EnterDecryptionContext(mon); - monData->species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - BoxPokemon *boxMon = Pokemon_GetBoxPokemon(mon); + BOOL reencrypt = Pokemon_DecryptData(mon); + monData->species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + BoxPokemon *boxMon = Pokemon_GetBoxMon(mon); MessageLoader_GetString(summaryScreen->msgLoader, PokemonSummary_Text_SpeciesNameTemplate, summaryScreen->string); StringTemplate_SetSpeciesName(summaryScreen->strFormatter, 0, boxMon); @@ -1074,72 +1074,72 @@ static void SetMonDataFromMon(PokemonSummaryScreen *summaryScreen, Pokemon *mon, StringTemplate_SetOTName(summaryScreen->strFormatter, 0, boxMon); StringTemplate_Format(summaryScreen->strFormatter, summaryScreen->monData.OTName, summaryScreen->string); - monData->heldItem = Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL); - monData->level = Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL); - monData->isEgg = Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL); + monData->heldItem = Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL); + monData->level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); + monData->isEgg = Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL); - if (Pokemon_GetValue(mon, MON_DATA_NO_PRINT_GENDER, NULL) == TRUE && monData->isEgg == FALSE) { + if (Pokemon_GetData(mon, MON_DATA_NO_PRINT_GENDER, NULL) == TRUE && monData->isEgg == FALSE) { monData->hideGender = FALSE; } else { monData->hideGender = TRUE; } monData->gender = Pokemon_GetGender(mon); - monData->caughtBall = Pokemon_GetValue(mon, MON_DATA_POKEBALL, NULL); - monData->type1 = Pokemon_GetValue(mon, MON_DATA_TYPE_1, NULL); - monData->type2 = Pokemon_GetValue(mon, MON_DATA_TYPE_2, NULL); - monData->OTID = Pokemon_GetValue(mon, MON_DATA_OT_ID, NULL); - monData->curExp = Pokemon_GetValue(mon, MON_DATA_EXPERIENCE, NULL); - monData->OTGender = Pokemon_GetValue(mon, MON_DATA_OT_GENDER, NULL); - monData->curLevelExp = Pokemon_GetSpeciesBaseExpAt(monData->species, monData->level); - - if (monData->level == MAX_POKEMON_LEVEL) { + monData->caughtBall = Pokemon_GetData(mon, MON_DATA_POKEBALL, NULL); + monData->type1 = Pokemon_GetData(mon, MON_DATA_TYPE_1, NULL); + monData->type2 = Pokemon_GetData(mon, MON_DATA_TYPE_2, NULL); + monData->OTID = Pokemon_GetData(mon, MON_DATA_OT_ID, NULL); + monData->curExp = Pokemon_GetData(mon, MON_DATA_EXPERIENCE, NULL); + monData->OTGender = Pokemon_GetData(mon, MON_DATA_OT_GENDER, NULL); + monData->curLevelExp = Species_GetExpAtLevel(monData->species, monData->level); + + if (monData->level == MAX_MON_LEVEL) { monData->nextLevelExp = monData->curLevelExp; } else { - monData->nextLevelExp = Pokemon_GetSpeciesBaseExpAt(monData->species, monData->level + 1); + monData->nextLevelExp = Species_GetExpAtLevel(monData->species, monData->level + 1); } - monData->curHP = Pokemon_GetValue(mon, MON_DATA_HP, NULL); - monData->maxHP = Pokemon_GetValue(mon, MON_DATA_MAX_HP, NULL); - monData->attack = Pokemon_GetValue(mon, MON_DATA_ATK, NULL); - monData->defense = Pokemon_GetValue(mon, MON_DATA_DEF, NULL); - monData->spAttack = Pokemon_GetValue(mon, MON_DATA_SP_ATK, NULL); - monData->spDefense = Pokemon_GetValue(mon, MON_DATA_SP_DEF, NULL); - monData->speed = Pokemon_GetValue(mon, MON_DATA_SPEED, NULL); - monData->ability = Pokemon_GetValue(mon, MON_DATA_ABILITY, NULL); + monData->curHP = Pokemon_GetData(mon, MON_DATA_HP, NULL); + monData->maxHP = Pokemon_GetData(mon, MON_DATA_MAX_HP, NULL); + monData->attack = Pokemon_GetData(mon, MON_DATA_ATK, NULL); + monData->defense = Pokemon_GetData(mon, MON_DATA_DEF, NULL); + monData->spAttack = Pokemon_GetData(mon, MON_DATA_SP_ATK, NULL); + monData->spDefense = Pokemon_GetData(mon, MON_DATA_SP_DEF, NULL); + monData->speed = Pokemon_GetData(mon, MON_DATA_SPEED, NULL); + monData->ability = Pokemon_GetData(mon, MON_DATA_ABILITY, NULL); monData->nature = Pokemon_GetNature(mon); u16 i; u8 maxPP; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { - monData->moves[i] = Pokemon_GetValue(mon, MON_DATA_MOVE1 + i, NULL); - monData->curPP[i] = Pokemon_GetValue(mon, MON_DATA_MOVE1_PP + i, NULL); - maxPP = Pokemon_GetValue(mon, MON_DATA_MOVE1_PP_UPS + i, NULL); + for (i = 0; i < MAX_MON_MOVES; i++) { + monData->moves[i] = Pokemon_GetData(mon, MON_DATA_MOVE1 + i, NULL); + monData->curPP[i] = Pokemon_GetData(mon, MON_DATA_MOVE1_PP + i, NULL); + maxPP = Pokemon_GetData(mon, MON_DATA_MOVE1_PP_UPS + i, NULL); monData->maxPP[i] = MoveTable_CalcMaxPP(monData->moves[i], maxPP); } - monData->cool = Pokemon_GetValue(mon, MON_DATA_COOL, NULL); - monData->beauty = Pokemon_GetValue(mon, MON_DATA_BEAUTY, NULL); - monData->cute = Pokemon_GetValue(mon, MON_DATA_CUTE, NULL); - monData->smart = Pokemon_GetValue(mon, MON_DATA_SMART, NULL); - monData->tough = Pokemon_GetValue(mon, MON_DATA_TOUGH, NULL); - monData->sheen = Pokemon_GetValue(mon, MON_DATA_SHEEN, NULL); - monData->preferredFlavor = FLAVOR_MAX; + monData->cool = Pokemon_GetData(mon, MON_DATA_COOL, NULL); + monData->beauty = Pokemon_GetData(mon, MON_DATA_BEAUTY, NULL); + monData->cute = Pokemon_GetData(mon, MON_DATA_CUTE, NULL); + monData->smart = Pokemon_GetData(mon, MON_DATA_SMART, NULL); + monData->tough = Pokemon_GetData(mon, MON_DATA_TOUGH, NULL); + monData->sheen = Pokemon_GetData(mon, MON_DATA_SHEEN, NULL); + monData->preferredFlavor = FLAVOR_COUNT; - for (i = 0; i < FLAVOR_MAX; i++) { + for (i = 0; i < FLAVOR_COUNT; i++) { if (Pokemon_GetFlavorAffinity(mon, i) == 1) { monData->preferredFlavor = i; break; } } - monData->markings = Pokemon_GetValue(mon, MON_DATA_MARKINGS, NULL); - monData->form = Pokemon_GetValue(mon, MON_DATA_FORM, NULL); + monData->markings = Pokemon_GetData(mon, MON_DATA_MARKINGS, NULL); + monData->form = Pokemon_GetData(mon, MON_DATA_FORM, NULL); monData->status = PokemonSummaryScreen_StatusIconAnimIdx(mon); - if (Pokemon_HasCuredPokerus(mon) == TRUE) { + if (Pokemon_IsImmuneToPokerus(mon) == TRUE) { monData->pokerus = SUMMARY_POKERUS_CURED; - } else if (Pokemon_InfectedWithPokerus(mon) == TRUE) { + } else if (Pokemon_HasPokerus(mon) == TRUE) { monData->pokerus = SUMMARY_POKERUS_INFECTED; if (monData->status == SUMMARY_CONDITION_NONE) { @@ -1162,13 +1162,13 @@ static void SetMonDataFromMon(PokemonSummaryScreen *summaryScreen, Pokemon *mon, summaryScreen->ribbonMax = 0; for (i = 0; i < RIBBON_MAX; i++) { - if (Pokemon_GetValue(mon, Ribbon_GetData(i, RIBBON_DATA_MON_DATA_PARAM), NULL) != 0) { + if (Pokemon_GetData(mon, Ribbon_GetData(i, RIBBON_DATA_MON_DATA_PARAM), NULL) != 0) { monData->ribbons[i / 32] |= (1 << (i & 0x1F)); summaryScreen->ribbonMax++; } } - Pokemon_ExitDecryptionContext(mon, reencrypt); + Pokemon_EncryptData(mon, reencrypt); } static void PlayMonCry(PokemonSummaryScreen *summaryScreen) @@ -1438,7 +1438,7 @@ static void DrawExperienceProgressBar(PokemonSummaryScreen *summaryScreen) u32 maxExp; u32 curExp; - if (summaryScreen->monData.level < MAX_POKEMON_LEVEL) { + if (summaryScreen->monData.level < MAX_MON_LEVEL) { maxExp = summaryScreen->monData.nextLevelExp - summaryScreen->monData.curLevelExp; curExp = summaryScreen->monData.curExp - summaryScreen->monData.curLevelExp; } else { @@ -1546,10 +1546,10 @@ static s8 TryAdvanceMonIndex(PokemonSummaryScreen *summaryScreen, s8 delta) return -1; } - mon = (Pokemon *)((u32)summaryScreen->data->monData + Pokemon_GetStructSize() * monIndex); + mon = (Pokemon *)((u32)summaryScreen->data->monData + Pokemon_Size2() * monIndex); - if (Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL) != SPECIES_NONE) { - if (Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) != FALSE) { + if (Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) != SPECIES_NONE) { + if (Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL) != FALSE) { if (CanAdvanceToEgg(summaryScreen) == TRUE) { break; } @@ -1575,8 +1575,8 @@ static s8 TryAdvancePartyMonIndex(PokemonSummaryScreen *summaryScreen, s8 delta) Pokemon *mon = Party_GetPokemonBySlotIndex(summaryScreen->data->monData, monIndex); - if (Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL) != SPECIES_NONE) { - if (Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) != FALSE) { + if (Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) != SPECIES_NONE) { + if (Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL) != FALSE) { if (CanAdvanceToEgg(summaryScreen) == TRUE) { break; } @@ -1601,10 +1601,10 @@ static s8 TryAdvanceBoxMonIndex(PokemonSummaryScreen *summaryScreen, s8 delta) return -1; } - boxMon = (BoxPokemon *)(summaryScreen->data->monData + BoxPokemon_GetStructSize() * monIndex); + boxMon = (BoxPokemon *)(summaryScreen->data->monData + BoxPokemon_Size() * monIndex); - if (BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL) != SPECIES_NONE - && (BoxPokemon_GetValue(boxMon, MON_DATA_IS_EGG, NULL) == FALSE || CanAdvanceToEgg(summaryScreen) == TRUE)) { + if (BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL) != SPECIES_NONE + && (BoxPokemon_GetData(boxMon, MON_DATA_IS_EGG, NULL) == FALSE || CanAdvanceToEgg(summaryScreen) == TRUE)) { break; } } @@ -1616,11 +1616,11 @@ void *PokemonSummaryScreen_MonData(PokemonSummaryScreen *summaryScreen) { switch (summaryScreen->data->dataType) { case SUMMARY_DATA_MON: - return summaryScreen->data->monData + (Pokemon_GetStructSize() * summaryScreen->data->monIndex); + return summaryScreen->data->monData + (Pokemon_Size2() * summaryScreen->data->monIndex); case SUMMARY_DATA_PARTY_MON: return Party_GetPokemonBySlotIndex(summaryScreen->data->monData, summaryScreen->data->monIndex); case SUMMARY_DATA_BOX_MON: - return summaryScreen->data->monData + (BoxPokemon_GetStructSize() * summaryScreen->data->monIndex); + return summaryScreen->data->monData + (BoxPokemon_Size() * summaryScreen->data->monIndex); } return NULL; @@ -1721,12 +1721,12 @@ static u8 TryChangeSelectedMove(PokemonSummaryScreen *summaryScreen, s8 delta) moveIndex += delta; if (moveIndex < 0) { - moveIndex = LEARNED_MOVES_MAX; - } else if (moveIndex == LEARNED_MOVES_MAX + 1) { + moveIndex = MAX_MON_MOVES; + } else if (moveIndex == MAX_MON_MOVES + 1) { moveIndex = 0; } - if (summaryScreen->monData.moves[moveIndex] != 0 || moveIndex == LEARNED_MOVES_MAX) { + if (summaryScreen->monData.moves[moveIndex] != 0 || moveIndex == MAX_MON_MOVES) { break; } } @@ -1743,7 +1743,7 @@ static void UpdateMoveAttributes(PokemonSummaryScreen *summaryScreen) { PokemonSummaryScreen_UpdateMoveSelectorPos(summaryScreen); - if (summaryScreen->cursor == LEARNED_MOVES_MAX) { + if (summaryScreen->cursor == MAX_MON_MOVES) { if (summaryScreen->data->move != MOVE_NONE) { if (summaryScreen->page == SUMMARY_PAGE_BATTLE_MOVES) { UpdateBattleMoveAttributes(summaryScreen, summaryScreen->data->move); @@ -2206,9 +2206,9 @@ u32 PokemonSummaryScreen_StatusIconAnim(void) u32 PokemonSummaryScreen_StatusIconAnimIdx(Pokemon *mon) { - u32 statusCondition = Pokemon_GetValue(mon, MON_DATA_STATUS, NULL); + u32 statusCondition = Pokemon_GetData(mon, MON_DATA_STATUS, NULL); - if (Pokemon_GetValue(mon, MON_DATA_HP, NULL) == 0) { + if (Pokemon_GetData(mon, MON_DATA_HP, NULL) == 0) { return SUMMARY_CONDITION_FAINTED; } else if ((statusCondition & (MON_CONDITION_POISON | MON_CONDITION_TOXIC)) != MON_CONDITION_NONE) { return SUMMARY_CONDITION_POISON; diff --git a/src/applications/pokemon_summary_screen/sprites.c b/src/applications/pokemon_summary_screen/sprites.c index b291f7eb30..fd4c2ec319 100644 --- a/src/applications/pokemon_summary_screen/sprites.c +++ b/src/applications/pokemon_summary_screen/sprites.c @@ -1112,7 +1112,7 @@ static void SetMonAndTypeIcons(PokemonSummaryScreen *summaryScreen) { PokemonSummaryScreen_SetMonTypeIcons(summaryScreen); - for (u16 i = 0; i < LEARNED_MOVES_MAX; i++) { + for (u16 i = 0; i < MAX_MON_MOVES; i++) { if (summaryScreen->monData.moves[i] == MOVE_NONE) { continue; } @@ -1143,7 +1143,7 @@ void PokemonSummaryScreen_UpdateTypeIcons(PokemonSummaryScreen *summaryScreen) } break; case SUMMARY_PAGE_BATTLE_MOVES: - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (summaryScreen->monData.moves[i] == MOVE_NONE) { continue; } @@ -1156,7 +1156,7 @@ void PokemonSummaryScreen_UpdateTypeIcons(PokemonSummaryScreen *summaryScreen) if (summaryScreen->data->move != MOVE_NONE) { SetTypeIcon(summaryScreen, SUMMARY_SPRITE_MOVE_TYPE_ICON_5, 5 + 4, MoveTable_LoadParam(summaryScreen->data->move, MOVEATTRIBUTE_TYPE)); Sprite_SetDrawFlag2(summaryScreen->sprites[SUMMARY_SPRITE_MOVE_TYPE_ICON_5], TRUE); - Sprite_SetPositionXY(summaryScreen->sprites[SUMMARY_SPRITE_MOVE_TYPE_ICON_5], MOVE_TYPE_ICON_X, MOVE_TYPE_ICON_BASE_Y + LEARNED_MOVES_MAX * PIXELS_BETWEEN_MOVES); + Sprite_SetPositionXY(summaryScreen->sprites[SUMMARY_SPRITE_MOVE_TYPE_ICON_5], MOVE_TYPE_ICON_X, MOVE_TYPE_ICON_BASE_Y + MAX_MON_MOVES * PIXELS_BETWEEN_MOVES); } Sprite_SetPositionXY(summaryScreen->sprites[SUMMARY_SPRITE_MON_TYPE_ICON_1], MOVES_MON_TYPE_ICON_1_X, MOVES_MON_TYPE_ICON_Y); @@ -1164,7 +1164,7 @@ void PokemonSummaryScreen_UpdateTypeIcons(PokemonSummaryScreen *summaryScreen) Sprite_SetPositionXY(summaryScreen->sprites[SUMMARY_SPRITE_MOVE_CATEGORY_ICON], MOVE_CATEGORY_ICON_X, MOVE_CATEGORY_ICON_Y); break; case SUMMARY_PAGE_CONTEST_MOVES: - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (summaryScreen->monData.moves[i] == MOVE_NONE) { continue; } @@ -1177,7 +1177,7 @@ void PokemonSummaryScreen_UpdateTypeIcons(PokemonSummaryScreen *summaryScreen) if (summaryScreen->data->move != MOVE_NONE) { SetTypeIcon(summaryScreen, SUMMARY_SPRITE_MOVE_TYPE_ICON_5, 5 + 4, MoveTable_LoadParam(summaryScreen->data->move, MOVEATTRIBUTE_CONTEST_TYPE) + 18); Sprite_SetDrawFlag2(summaryScreen->sprites[SUMMARY_SPRITE_MOVE_TYPE_ICON_5], 1); - Sprite_SetPositionXY(summaryScreen->sprites[SUMMARY_SPRITE_MOVE_TYPE_ICON_5], MOVE_TYPE_ICON_X, MOVE_TYPE_ICON_BASE_Y + LEARNED_MOVES_MAX * PIXELS_BETWEEN_MOVES); + Sprite_SetPositionXY(summaryScreen->sprites[SUMMARY_SPRITE_MOVE_TYPE_ICON_5], MOVE_TYPE_ICON_X, MOVE_TYPE_ICON_BASE_Y + MAX_MON_MOVES * PIXELS_BETWEEN_MOVES); } Sprite_SetPositionXY(summaryScreen->sprites[SUMMARY_SPRITE_MON_TYPE_ICON_1], MOVES_MON_TYPE_ICON_1_X, MOVES_MON_TYPE_ICON_Y); @@ -1203,7 +1203,7 @@ static void GetMoveTypeIconPos(PokemonSummaryScreen *summaryScreen, u8 *moveInde { s16 newYPos = MOVE_TYPE_ICON_BASE_Y + *moveIndex * PIXELS_BETWEEN_MOVES; - for (s16 i = 0; i < LEARNED_MOVES_MAX; i++) { + for (s16 i = 0; i < MAX_MON_MOVES; i++) { Sprite_GetPositionXY(summaryScreen->sprites[SUMMARY_MOVE_TYPE_ICON_SPRITE_START + i], outX, outY); if (newYPos == *outY) { @@ -1427,7 +1427,7 @@ void PokemonSummaryScreen_SetMonIcon(PokemonSummaryScreen *summaryScreen) SpriteSystem_ReplaceCharResObj(summaryScreen->spriteSys, summaryScreen->spriteMan, NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON, iconIndex, 0, 11); Sprite_SetExplicitPalette2(summaryScreen->sprites[SUMMARY_SPRITE_MON_ICON], PokeIconPaletteIndex(summaryScreen->monData.species, summaryScreen->monData.form, summaryScreen->monData.isEgg) + 7); - Sprite_SetFlipMode(summaryScreen->sprites[SUMMARY_SPRITE_MON_ICON], (SpeciesData_GetFormValue(summaryScreen->monData.species, summaryScreen->monData.form, SPECIES_DATA_FLIP_SPRITE) ^ 1)); + Sprite_SetFlipMode(summaryScreen->sprites[SUMMARY_SPRITE_MON_ICON], (Species_GetFormValue(summaryScreen->monData.species, summaryScreen->monData.form, SPECIES_DATA_FLIP_SPRITE) ^ 1)); } void PokemonSummaryScreen_ShowMonIcon(PokemonSummaryScreen *summaryScreen) diff --git a/src/applications/pokemon_summary_screen/window.c b/src/applications/pokemon_summary_screen/window.c index 8a36350476..080e2ab1bf 100644 --- a/src/applications/pokemon_summary_screen/window.c +++ b/src/applications/pokemon_summary_screen/window.c @@ -1079,7 +1079,7 @@ static void DrawInfoPageWindows(PokemonSummaryScreen *summaryScreen) SetAndFormatNumberBuf(summaryScreen, PokemonSummary_Text_TemplateExp, summaryScreen->monData.curExp, 7, PADDING_MODE_SPACES); PrintStringToWindow(summaryScreen, &summaryScreen->extraWindows[SUMMARY_WINDOW_EXP], SUMMARY_TEXT_BLACK, ALIGN_CENTER); - if (summaryScreen->monData.level < MAX_POKEMON_LEVEL) { + if (summaryScreen->monData.level < MAX_MON_LEVEL) { SetAndFormatNumberBuf(summaryScreen, PokemonSummary_Text_TemplateExpNextLv, summaryScreen->monData.nextLevelExp - summaryScreen->monData.curExp, 7, PADDING_MODE_SPACES); } else { SetAndFormatNumberBuf(summaryScreen, PokemonSummary_Text_TemplateExpNextLv, 0, 7, PADDING_MODE_SPACES); @@ -1132,7 +1132,7 @@ static void DrawMemoPageWindows(PokemonSummaryScreen *summaryScreen) if (summaryScreen->data->dataType == SUMMARY_DATA_BOX_MON) { Pokemon *mon = Pokemon_New(HEAP_ID_POKEMON_SUMMARY_SCREEN); - Pokemon_FromBoxPokemon(monData, mon); + BoxPokemon_CopyToPokemon(monData, mon); PrintTrainerMemo(&summaryScreen->extraWindows[SUMMARY_WINDOW_MEMO], mon, monOTMatches); Heap_Free(mon); } else { @@ -1373,7 +1373,7 @@ static void PrintMoveNameAndPP(PokemonSummaryScreen *summaryScreen, u32 moveInde Window *window = &summaryScreen->extraWindows[moveIndex]; - if (moveIndex != LEARNED_MOVES_MAX) { + if (moveIndex != MAX_MON_MOVES) { moveName = summaryScreen->monData.moves[moveIndex]; curPP = summaryScreen->monData.curPP[moveIndex]; maxPP = summaryScreen->monData.maxPP[moveIndex]; @@ -1452,7 +1452,7 @@ void PokemonSummaryScreen_ShowMove5OrCancel(PokemonSummaryScreen *summaryScreen) { if (summaryScreen->data->move != MOVE_NONE) { Window_FillTilemap(&summaryScreen->extraWindows[SUMMARY_WINDOW_BATTLE_MOVE_5], 0); - PrintMoveNameAndPP(summaryScreen, LEARNED_MOVES_MAX); + PrintMoveNameAndPP(summaryScreen, MAX_MON_MOVES); Window_ScheduleCopyToVRAM(&summaryScreen->extraWindows[SUMMARY_WINDOW_BATTLE_MOVE_5]); } else { Window_ScheduleCopyToVRAM(&summaryScreen->staticWindows[SUMMARY_WINDOW_LABEL_MOVE_CANCEL]); diff --git a/src/applications/poketch/daycare_checker/graphics.c b/src/applications/poketch/daycare_checker/graphics.c index 06f92affc5..d11153a70b 100644 --- a/src/applications/poketch/daycare_checker/graphics.c +++ b/src/applications/poketch/daycare_checker/graphics.c @@ -367,7 +367,7 @@ static void DrawSprites(DaycareCheckerGraphics *graphics, const DaycareStatus *d PoketchAnimation_SetCParam(graphics->sprites[2], 1 + PokeIconPaletteIndex(1, 0, TRUE)); if (daycareStatus->numMons > 0) { - if (SpeciesData_GetFormValue(daycareStatus->species[0], daycareStatus->forms[0], SPECIES_DATA_FLIP_SPRITE)) { + if (Species_GetFormValue(daycareStatus->species[0], daycareStatus->forms[0], SPECIES_DATA_FLIP_SPRITE)) { PoketchAnimation_UpdateAnimationIdx(graphics->sprites[0], 6); } else { PoketchAnimation_UpdateAnimationIdx(graphics->sprites[0], 7); @@ -402,8 +402,8 @@ static void SetLevelSprites(PoketchAnimation_AnimatedSpriteData **digitSprites, { u32 digits[3]; - if (level > MAX_POKEMON_LEVEL) { - level = MAX_POKEMON_LEVEL; + if (level > MAX_MON_LEVEL) { + level = MAX_MON_LEVEL; } CP_SetDiv32_32(level, 100); diff --git a/src/applications/poketch/daycare_checker/main.c b/src/applications/poketch/daycare_checker/main.c index f360c3fc0a..8f4339d0e1 100644 --- a/src/applications/poketch/daycare_checker/main.c +++ b/src/applications/poketch/daycare_checker/main.c @@ -215,14 +215,14 @@ static void LoadDaycareSummary(DaycareStatus *daycareStatus, Daycare *daycare) for (int slot = 0; slot < daycareStatus->numMons; slot++) { daycareMon = Daycare_GetDaycareMon(daycare, slot); boxMon = DaycareMon_GetBoxMon(daycareMon); - reencrypt = BoxPokemon_EnterDecryptionContext(boxMon); + reencrypt = BoxPokemon_DecryptData(boxMon); daycareStatus->iconSpriteIndices[slot] = BoxPokemon_IconSpriteIndex(boxMon); - daycareStatus->species[slot] = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); - daycareStatus->forms[slot] = BoxPokemon_GetValue(boxMon, MON_DATA_FORM, NULL); + daycareStatus->species[slot] = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); + daycareStatus->forms[slot] = BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL); daycareStatus->levels[slot] = DaycareMon_GiveExperience(daycareMon); daycareStatus->genders[slot] = BoxPokemon_GetGender(boxMon); - BoxPokemon_ExitDecryptionContext(boxMon, reencrypt); + BoxPokemon_EncryptData(boxMon, reencrypt); } } diff --git a/src/applications/poketch/friendship_checker/graphics.c b/src/applications/poketch/friendship_checker/graphics.c index e818748706..3c8a291d80 100644 --- a/src/applications/poketch/friendship_checker/graphics.c +++ b/src/applications/poketch/friendship_checker/graphics.c @@ -262,7 +262,7 @@ static void SetupSprites(FriendshipCheckerGraphics *graphics, const FriendshipCh GF_ASSERT(0); } - graphics->pokemon[slot].flipSprite = SpeciesData_GetFormValue(friendshipData->party[slot].species, friendshipData->party[slot].form, SPECIES_DATA_FLIP_SPRITE); + graphics->pokemon[slot].flipSprite = Species_GetFormValue(friendshipData->party[slot].species, friendshipData->party[slot].form, SPECIES_DATA_FLIP_SPRITE); graphics->pokemon[slot].unused2 = 0; graphics->pokemon[slot].bumpedFromRest = FALSE; diff --git a/src/applications/poketch/friendship_checker/main.c b/src/applications/poketch/friendship_checker/main.c index 1ddd827ab1..dd3081b739 100644 --- a/src/applications/poketch/friendship_checker/main.c +++ b/src/applications/poketch/friendship_checker/main.c @@ -87,11 +87,11 @@ static BOOL Init(PoketchFriendshipChecker *appData, PoketchSystem *poketchSys, B for (int i = 0; i < appData->friendshipCheckerData.monCount; i++) { pokemon = Party_GetPokemonBySlotIndex(party, i); - if (Pokemon_GetValue(pokemon, MON_DATA_IS_EGG, NULL) == 0) { - appData->friendshipCheckerData.party[slot].species = Pokemon_GetValue(pokemon, MON_DATA_SPECIES, NULL); - appData->friendshipCheckerData.party[slot].form = Pokemon_GetValue(pokemon, MON_DATA_FORM, NULL); + if (Pokemon_GetData(pokemon, MON_DATA_IS_EGG, NULL) == 0) { + appData->friendshipCheckerData.party[slot].species = Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL); + appData->friendshipCheckerData.party[slot].form = Pokemon_GetData(pokemon, MON_DATA_FORM, NULL); appData->friendshipCheckerData.party[slot].spriteIdx = BoxPokemon_IconSpriteIndex((const BoxPokemon *)pokemon); - friendshipLevel = GetFriendshipLevel(Pokemon_GetValue(pokemon, MON_DATA_FRIENDSHIP, NULL)); + friendshipLevel = GetFriendshipLevel(Pokemon_GetData(pokemon, MON_DATA_FRIENDSHIP, NULL)); switch (friendshipLevel) { case 0: diff --git a/src/applications/poketch/matchup_checker/graphics.c b/src/applications/poketch/matchup_checker/graphics.c index a8079517cb..0555835ec0 100644 --- a/src/applications/poketch/matchup_checker/graphics.c +++ b/src/applications/poketch/matchup_checker/graphics.c @@ -297,7 +297,7 @@ static void UpdateMonIcon(MatchupCheckerGraphics *graphics, u32 spriteIdx, u32 p if (spriteIdx == SPRITE_MON_ICON_RIGHT) { animIdx = 4; } else { - if (SpeciesData_GetFormValue(species, form, SPECIES_DATA_FLIP_SPRITE)) { + if (Species_GetFormValue(species, form, SPECIES_DATA_FLIP_SPRITE)) { animIdx = 4; } else { animIdx = 5; diff --git a/src/applications/poketch/matchup_checker/main.c b/src/applications/poketch/matchup_checker/main.c index 55f006395f..e3c5f65db2 100644 --- a/src/applications/poketch/matchup_checker/main.c +++ b/src/applications/poketch/matchup_checker/main.c @@ -94,13 +94,13 @@ static BOOL Init(PoketchMatchupChecker *appData, PoketchSystem *poketchSys, BgCo for (int i = 0; i < appData->matchupData.partySize; i++) { Pokemon *pokemon = Party_GetPokemonBySlotIndex(party, i); - if (Pokemon_GetValue(pokemon, MON_DATA_IS_EGG, NULL)) { + if (Pokemon_GetData(pokemon, MON_DATA_IS_EGG, NULL)) { continue; } appData->matchupData.spriteIndices[nonEggMon] = BoxPokemon_IconSpriteIndex((const BoxPokemon *)pokemon); - appData->matchupData.species[nonEggMon] = Pokemon_GetValue(pokemon, MON_DATA_SPECIES, NULL); - appData->matchupData.forms[nonEggMon] = Pokemon_GetValue(pokemon, MON_DATA_FORM, NULL); + appData->matchupData.species[nonEggMon] = Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL); + appData->matchupData.forms[nonEggMon] = Pokemon_GetData(pokemon, MON_DATA_FORM, NULL); appData->pokemon[nonEggMon] = (BoxPokemon *)pokemon; nonEggMon++; } diff --git a/src/applications/poketch/party_status/main.c b/src/applications/poketch/party_status/main.c index 7f7f4e2584..c4f8479f8c 100644 --- a/src/applications/poketch/party_status/main.c +++ b/src/applications/poketch/party_status/main.c @@ -205,17 +205,17 @@ static void GetPartyMonInfo(PartyStatus *data, Party *party) for (int i = 0; i < data->partyCount; i++) { mon = Party_GetPokemonBySlotIndex(party, i); - decrypted = Pokemon_EnterDecryptionContext(mon); + decrypted = Pokemon_DecryptData(mon); data->mons[i].iconSpriteIndex = BoxPokemon_IconSpriteIndex((const BoxPokemon *)mon); - data->mons[i].species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - data->mons[i].currentHp = Pokemon_GetValue(mon, MON_DATA_HP, NULL); - data->mons[i].maxHp = Pokemon_GetValue(mon, MON_DATA_MAX_HP, NULL); - data->mons[i].heldItem = Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL); - data->mons[i].hasStatus = Pokemon_GetValue(mon, MON_DATA_STATUS, NULL) != 0; - data->mons[i].isEgg = Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL); - data->mons[i].form = Pokemon_GetValue(mon, MON_DATA_FORM, NULL); - - Pokemon_ExitDecryptionContext(mon, decrypted); + data->mons[i].species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + data->mons[i].currentHp = Pokemon_GetData(mon, MON_DATA_HP, NULL); + data->mons[i].maxHp = Pokemon_GetData(mon, MON_DATA_MAX_HP, NULL); + data->mons[i].heldItem = Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL); + data->mons[i].hasStatus = Pokemon_GetData(mon, MON_DATA_STATUS, NULL) != 0; + data->mons[i].isEgg = Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL); + data->mons[i].form = Pokemon_GetData(mon, MON_DATA_FORM, NULL); + + Pokemon_EncryptData(mon, decrypted); } } diff --git a/src/applications/rowan_intro/rowan_intro_app.c b/src/applications/rowan_intro/rowan_intro_app.c index 13ee7d39fa..8523568c80 100644 --- a/src/applications/rowan_intro/rowan_intro_app.c +++ b/src/applications/rowan_intro/rowan_intro_app.c @@ -1558,7 +1558,7 @@ static void RowanIntro_LoadBunearySprite(RowanIntro *manager) int mainPalette = 8; int subPalette = 10; - BuildPokemonSpriteTemplate( + Species_BuildSpriteTemplate( &spriteTemplate, SPECIES_BUNEARY, GENDER_MALE, diff --git a/src/battle/battle_controller.c b/src/battle/battle_controller.c index 7ea550d245..bba9d8114f 100644 --- a/src/battle/battle_controller.c +++ b/src/battle/battle_controller.c @@ -2273,7 +2273,7 @@ static BOOL BattleController_DecrementPP(BattleSystem *battleSys, BattleContext if (ATTACKER_TURN_FLAGS.ppDecremented == FALSE && ATTACKER_TURN_FLAGS.struggling == FALSE) { ATTACKER_TURN_FLAGS.ppDecremented = 1; - if (ATTACKING_MON.ppCur[moveSlot] && moveSlot < LEARNED_MOVES_MAX) { + if (ATTACKING_MON.ppCur[moveSlot] && moveSlot < MAX_MON_MOVES) { if (ATTACKING_MON.ppCur[moveSlot] > ppCost) { ATTACKING_MON.ppCur[moveSlot] -= ppCost; } else { @@ -2289,7 +2289,7 @@ static BOOL BattleController_DecrementPP(BattleSystem *battleSys, BattleContext && (ATTACKING_MON.statusVolatile & VOLATILE_CONDITION_MOVE_LOCKED) == FALSE && (ATTACKING_MON.statusVolatile & VOLATILE_CONDITION_THRASH) == FALSE && MON_IS_UPROARING(battleCtx->attacker) == FALSE - && moveSlot < LEARNED_MOVES_MAX) { + && moveSlot < MAX_MON_MOVES) { battleCtx->moveStatusFlags |= MOVE_STATUS_NO_PP; } @@ -4044,8 +4044,8 @@ static void BattleController_EndFight(BattleSystem *battleSys, BattleContext *ba if ((battleType & BATTLE_TYPE_LINK) == FALSE) { Party *playerParty = BattleSystem_Party(battleSys, BATTLER_US); - Pokemon_ApplyPokerus(playerParty); - Pokemon_ValidatePokerus(playerParty); + Party_GivePokerusAtRandom(playerParty); + Party_SpreadPokerus(playerParty); } if (battleType & BATTLE_TYPE_LINK) { @@ -4096,9 +4096,9 @@ static BOOL BattleController_ReplaceFainted(BattleSystem *battleSys, BattleConte // Check that there are still living mons in the party. for (j = 0; j < Party_GetCurrentCount(party); j++) { Pokemon *pokemon = Party_GetPokemonBySlotIndex(party, j); - if (Pokemon_GetValue(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != FALSE - && Pokemon_GetValue(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG - && (curHP = Pokemon_GetValue(pokemon, MON_DATA_HP, NULL))) { + if (Pokemon_GetData(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != FALSE + && Pokemon_GetData(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG + && (curHP = Pokemon_GetData(pokemon, MON_DATA_HP, NULL))) { monsAlive++; if (battleCtx->selectedPartySlot[i ^ 2] != j) { totalHP += curHP; @@ -4124,9 +4124,9 @@ static BOOL BattleController_ReplaceFainted(BattleSystem *battleSys, BattleConte for (j = 0; j < Party_GetCurrentCount(party); j++) { Pokemon *pokemon = Party_GetPokemonBySlotIndex(party, j); - if (Pokemon_GetValue(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != FALSE - && Pokemon_GetValue(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { - curHP += Pokemon_GetValue(pokemon, MON_DATA_HP, NULL); + if (Pokemon_GetData(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != FALSE + && Pokemon_GetData(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { + curHP += Pokemon_GetData(pokemon, MON_DATA_HP, NULL); } } @@ -4198,9 +4198,9 @@ static BOOL BattleController_CheckBattleOver(BattleSystem *battleSys, BattleCont for (int j = 0; j < Party_GetCurrentCount(party); j++) { Pokemon *pokemon = Party_GetPokemonBySlotIndex(party, j); - if (Pokemon_GetValue(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE - && Pokemon_GetValue(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { - totalPartyHP += Pokemon_GetValue(pokemon, MON_DATA_HP, NULL); + if (Pokemon_GetData(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE + && Pokemon_GetData(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { + totalPartyHP += Pokemon_GetData(pokemon, MON_DATA_HP, NULL); } } @@ -4217,17 +4217,17 @@ static BOOL BattleController_CheckBattleOver(BattleSystem *battleSys, BattleCont for (int j = 0; j < Party_GetCurrentCount(party); j++) { Pokemon *pokemon = Party_GetPokemonBySlotIndex(party, j); - if (Pokemon_GetValue(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE - && Pokemon_GetValue(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { - totalPartyHP += Pokemon_GetValue(pokemon, MON_DATA_HP, NULL); + if (Pokemon_GetData(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE + && Pokemon_GetData(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { + totalPartyHP += Pokemon_GetData(pokemon, MON_DATA_HP, NULL); } } for (int j = 0; j < Party_GetCurrentCount(partnerParty); j++) { Pokemon *pokemon = Party_GetPokemonBySlotIndex(partnerParty, j); - if (Pokemon_GetValue(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE - && Pokemon_GetValue(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { - totalPartyHP += Pokemon_GetValue(pokemon, MON_DATA_HP, NULL); + if (Pokemon_GetData(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE + && Pokemon_GetData(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { + totalPartyHP += Pokemon_GetData(pokemon, MON_DATA_HP, NULL); } } @@ -4246,9 +4246,9 @@ static BOOL BattleController_CheckBattleOver(BattleSystem *battleSys, BattleCont for (int j = 0; j < Party_GetCurrentCount(party); j++) { Pokemon *pokemon = Party_GetPokemonBySlotIndex(party, j); - if (Pokemon_GetValue(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE - && Pokemon_GetValue(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { - totalPartyHP += Pokemon_GetValue(pokemon, MON_DATA_HP, NULL); + if (Pokemon_GetData(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE + && Pokemon_GetData(pokemon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { + totalPartyHP += Pokemon_GetData(pokemon, MON_DATA_HP, NULL); } } diff --git a/src/battle/battle_cursor.c b/src/battle/battle_cursor.c index 4e95a131bc..65600ac1a0 100644 --- a/src/battle/battle_cursor.c +++ b/src/battle/battle_cursor.c @@ -1275,7 +1275,7 @@ void ov16_02268A88(UnkStruct_ov16_02268A14 *param0) TypeIcon_LoadAnim(spriteSys, spriteMan, 20017, 20017); TypeIcon_LoadPltt(BattleSystem_PaletteSys(param0->battleSys), PLTTBUF_SUB_OBJ, spriteSys, spriteMan, NNS_G2D_VRAM_TYPE_2DSUB, 20020); - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { TypeIcon_LoadChar(spriteSys, spriteMan, NNS_G2D_VRAM_TYPE_2DSUB, TYPE_NORMAL, 20025 + i); } @@ -1930,7 +1930,7 @@ static void ov16_022699AC(UnkStruct_ov16_02268A14 *param0, int param1, int param } { - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { textColor = ov16_0226B924(v0->unk_08[i], v0->unk_0C[i]); ov16_0226A98C(param0, ¶m0->unk_4CC[9 + i], NULL, FONT_SYSTEM, textColor, 4, 20023, Unk_ov16_022702D4[i][0], Unk_ov16_022702D4[i][1], 0, &v3->unk_78[i]); ov16_0226A98C(param0, ¶m0->unk_4CC[5 + i], NULL, FONT_SYSTEM, textColor, 4, 20023, Unk_ov16_02270284[i][0], Unk_ov16_02270284[i][1], 0, &v3->unk_C8[i]); @@ -1948,7 +1948,7 @@ static void ov16_022699AC(UnkStruct_ov16_02268A14 *param0, int param1, int param { int moveType; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (v0->moveIDs[i] != 0) { moveType = MoveTable_LoadParam(v0->moveIDs[i], MOVEATTRIBUTE_TYPE); LoadMoveSelectPlttSlot(param0, moveType, i); @@ -2180,7 +2180,7 @@ static void ov16_0226A12C(UnkStruct_ov16_02268A14 *param0, int param1, int param } v6 = BattleSystem_PartyPokemon(param0->battleSys, v12, v0->unk_00[v12].unk_00); - v7 = Pokemon_GetBoxPokemon(v6); + v7 = Pokemon_GetBoxMon(v6); StringTemplate_SetNickname(v8, 0, v7); StringTemplate_Format(v8, v4, v5); @@ -2814,7 +2814,7 @@ void ov16_0226AC98(UnkStruct_ov16_02268A14 *param0, int param1, const MoveDispla v7 = String_Init((2 + 2 + 1 + 2) * 2 + 2, HEAP_ID_BATTLE); v8 = MessageLoader_GetNewString(v12, 937); - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if ((param2->move[i] != v0->unk_00.move[i]) && (param2->move[i] != 0)) { v5 = MoveTable_LoadParam(param2->move[i], MOVEATTRIBUTE_TYPE); v1 = Graphics_GetCharData(TypeIcon_GetNARC(), TypeIcon_GetChar(v5), 1, &v2, HEAP_ID_BATTLE); @@ -2887,7 +2887,7 @@ static void DrawMoveTypeIcons(UnkStruct_ov16_02268A14 *param0) v7 = ov16_0226ABD4(param0, param0->unk_66A); spriteTemplate = Unk_ov16_0227047C; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { GF_ASSERT(param0->moveSelectSprites[i] == NULL); if (v4->moveIDs[i] != 0) { diff --git a/src/battle/battle_display.c b/src/battle/battle_display.c index bd1563a831..aaad00d21f 100644 --- a/src/battle/battle_display.c +++ b/src/battle/battle_display.c @@ -276,9 +276,9 @@ void ov16_0225CBDC(BattleSystem *battleSys, BattlerData *param1, UnkStruct_ov16_ v0 = 0; } - BuildPokemonSpriteTemplate(&v1, param2->unk_02, param2->unk_01_0, v4->unk_13, v0, param2->unk_01_3, param2->unk_04); + Species_BuildSpriteTemplate(&v1, param2->unk_02, param2->unk_01_0, v4->unk_13, v0, param2->unk_01_3, param2->unk_04); - v6 = LoadPokemonSpriteYOffset(param2->unk_02, param2->unk_01_0, v4->unk_13, param2->unk_01_3, param2->unk_04); + v6 = Species_LoadSpriteYOffset(param2->unk_02, param2->unk_01_0, v4->unk_13, param2->unk_01_3, param2->unk_04); PokemonSprite_LoadYOffset(param1->unk_1A0, &v7, param2->unk_02); PokemonSprite_LoadXOffsetShadow(param1->unk_1A0, &v8, param2->unk_02); @@ -314,7 +314,7 @@ void ov16_0225CBDC(BattleSystem *battleSys, BattlerData *param1, UnkStruct_ov16_ v4->unk_2C = param2->unk_01_3; v4->unk_18 = param2->unk_08; v4->unk_1C = param1->battlerType; - v4->unk_24 = Pokemon_GetNatureOf(param2->unk_04); + v4->unk_24 = Personality_GetNature(param2->unk_04); v4->unk_28 = param2->unk_01_2; if ((v4->unk_13 == 2) && (BattleSystem_BattleStatus(battleSys) & 0x40)) { @@ -345,9 +345,9 @@ void ov16_0225CE1C(BattleSystem *battleSys, BattlerData *param1, UnkStruct_ov16_ v0 = 0; } - BuildPokemonSpriteTemplate(&v1->unk_14, param2->unk_02, param2->unk_01_0, v1->unk_84, v0, param2->unk_01_3, param2->unk_04); + Species_BuildSpriteTemplate(&v1->unk_14, param2->unk_02, param2->unk_01_0, v1->unk_84, v0, param2->unk_01_3, param2->unk_04); - v1->unk_85 = LoadPokemonSpriteYOffset(param2->unk_02, param2->unk_01_0, v1->unk_84, param2->unk_01_3, param2->unk_04); + v1->unk_85 = Species_LoadSpriteYOffset(param2->unk_02, param2->unk_01_0, v1->unk_84, param2->unk_01_3, param2->unk_04); PokemonSprite_LoadYOffset(param1->unk_1A0, &v1->unk_90, param2->unk_02); PokemonSprite_LoadXOffsetShadow(param1->unk_1A0, &v1->unk_91, param2->unk_02); @@ -365,7 +365,7 @@ void ov16_0225CE1C(BattleSystem *battleSys, BattlerData *param1, UnkStruct_ov16_ v1->unk_82 = param1->battlerType; v1->unk_88 = param2->unk_08; v1->unk_8C = param2->unk_0C; - v1->unk_8D = Pokemon_GetNatureOf(param2->unk_04); + v1->unk_8D = Personality_GetNature(param2->unk_04); v1->unk_8E = param2->unk_10; v1->unk_92 = param2->unk_01_2; v1->unk_94 = 0; @@ -395,9 +395,9 @@ void ov16_0225CF70(BattleSystem *battleSys, BattlerData *param1, UnkStruct_ov16_ v1 = 0; } - BuildPokemonSpriteTemplate(&v2->unk_14, param2->unk_02, param2->unk_01_0, v2->unk_84, v1, param2->unk_01_3, param2->unk_04); + Species_BuildSpriteTemplate(&v2->unk_14, param2->unk_02, param2->unk_01_0, v2->unk_84, v1, param2->unk_01_3, param2->unk_04); - v2->unk_85 = LoadPokemonSpriteYOffset(param2->unk_02, param2->unk_01_0, v2->unk_84, param2->unk_01_3, param2->unk_04); + v2->unk_85 = Species_LoadSpriteYOffset(param2->unk_02, param2->unk_01_0, v2->unk_84, param2->unk_01_3, param2->unk_04); PokemonSprite_LoadYOffset(param1->unk_1A0, &v2->unk_90, param2->unk_02); PokemonSprite_LoadXOffsetShadow(param1->unk_1A0, &v2->unk_91, param2->unk_02); @@ -413,7 +413,7 @@ void ov16_0225CF70(BattleSystem *battleSys, BattlerData *param1, UnkStruct_ov16_ v2->unk_82 = param1->battlerType; v2->unk_88 = param2->unk_08; v2->unk_8C = param2->unk_0C; - v2->unk_8D = Pokemon_GetNatureOf(param2->unk_04); + v2->unk_8D = Personality_GetNature(param2->unk_04); v2->unk_8E = param2->unk_10; v2->unk_92 = param2->unk_01_2; v2->unk_94 = param2->unk_14; @@ -2849,7 +2849,7 @@ static void ov16_022604C8(SysTask *param0, void *param1) MoveDisplayInfo v7; int i; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { v7.move[i] = v0->unk_24[i]; v7.curPP[i] = v0->unk_2C[i]; v7.maxPP[i] = v0->unk_30[i]; @@ -3121,7 +3121,7 @@ static void ov16_02260B04(SysTask *param0, void *param1) u16 v2; u8 v3 = ov16_0223ED6C(v0->unk_00); v2 = BattleMon_Get(BattleSystem_Context(v0->unk_00), v0->unk_09, 0, NULL); - v1 = SpeciesData_GetSpeciesValue(v2, SPECIES_DATA_SAFARI_FLEE_RATE); + v1 = Species_GetValue(v2, SPECIES_DATA_SAFARI_FLEE_RATE); v1 = v1 * Unk_ov16_0226F194[v3][0] / Unk_ov16_0226F194[v3][1]; if ((BattleSystem_RandNext(v0->unk_00) % 255) <= v1) { @@ -3875,11 +3875,11 @@ static void ov16_022611DC(SysTask *param0, void *param1) v18->type = Healthbar_Type(BattleSystem_BattlerSlot(v0->unk_00, v20), BattleSystem_BattleType(v0->unk_00)); v19 = BattleSystem_PartyPokemon(v0->unk_00, v20, v21); - v18->curHP = Pokemon_GetValue(v19, MON_DATA_HP, NULL) - v0->unk_08->unk_04->currentDamage; - v18->maxHP = Pokemon_GetValue(v19, MON_DATA_MAX_HP, NULL); + v18->curHP = Pokemon_GetData(v19, MON_DATA_HP, NULL) - v0->unk_08->unk_04->currentDamage; + v18->maxHP = Pokemon_GetData(v19, MON_DATA_MAX_HP, NULL); v18->damage = v0->unk_08->unk_04->currentDamage; - if (Pokemon_GetValue(v19, MON_DATA_STATUS, NULL) == 0) { + if (Pokemon_GetData(v19, MON_DATA_STATUS, NULL) == 0) { v18->status = 0; } @@ -3938,7 +3938,7 @@ static void ov16_022611DC(SysTask *param0, void *param1) v34 = v0->unk_08->unk_04->pokemonPartySlots[v0->unk_08->unk_04->selectedPartyIndex]; v33 = BattleSystem_PartyPokemon(v0->unk_00, v28, v34); - if (Pokemon_GetValue(v33, MON_DATA_STATUS, NULL) == 0) { + if (Pokemon_GetData(v33, MON_DATA_STATUS, NULL) == 0) { v27->status = 0; } @@ -4287,7 +4287,7 @@ static void ov16_02262258(SysTask *param0, void *param1) for (v1 = 0; v1 < Party_GetCurrentCount(v2); v1++) { v3 = BattleSystem_PartyPokemon(v0->unk_00, v0->unk_09, v1); - if ((Pokemon_GetValue(v3, MON_DATA_HP, NULL)) && (v0->unk_0C[v4] != v1) && (v0->unk_0C[v5] != v1)) { + if ((Pokemon_GetData(v3, MON_DATA_HP, NULL)) && (v0->unk_0C[v4] != v1) && (v0->unk_0C[v5] != v1)) { break; } } @@ -4337,11 +4337,11 @@ static void ov16_0226232C(SysTask *param0, void *param1) } else { v3 = BattleSystem_PartyPokemon(v0->unk_00, v0->unk_09, v1 - 1); - if (Pokemon_GetValue(v3, MON_DATA_HP, NULL) == 0) { + if (Pokemon_GetData(v3, MON_DATA_HP, NULL) == 0) { ov16_02264730(v0->unk_00); } - if (Pokemon_GetValue(v3, MON_DATA_SPECIES_OR_EGG, NULL) == SPECIES_EGG) { + if (Pokemon_GetData(v3, MON_DATA_SPECIES_OR_EGG, NULL) == SPECIES_EGG) { ov16_02264730(v0->unk_00); } } @@ -4802,7 +4802,7 @@ static void ov16_02262A9C(SysTask *param0, void *param1) v0->unk_66++; case 8: - v3 = LoadPokemonSpriteYOffset(v0->unk_68, v0->unk_6A, v0->unk_67, v0->unk_6B, v0->unk_6C); + v3 = Species_LoadSpriteYOffset(v0->unk_68, v0->unk_6A, v0->unk_67, v0->unk_6B, v0->unk_6C); v3 = 80 - v3; PokemonSprite_SetPartialDraw(v0->unk_08, 0, 0, 80, v3); v0->unk_66++; @@ -5643,7 +5643,7 @@ static PokemonSprite *ov16_02263B30(BattleSystem *battleSys, PokemonSpriteManage face = FACE_BACK; } - CharacterSprite_LoadPokemonSprite(param2->narcID, param2->character, HEAP_ID_BATTLE, v1, param2->personality, FALSE, face, param2->spindaSpots); + CharacterSprite_LoadPokemonSprite(param2->narcID, param2->character, HEAP_ID_BATTLE, v1, param2->personality, FALSE, face, param2->species); PokemonSpriteData_SetNarcID(ov16_0223E0C8(battleSys), param10, param2->narcID); PokemonSpriteData_SetPalette(ov16_0223E0C8(battleSys), param10, param2->palette); PokemonSpriteData_SetYOffset(ov16_0223E0C8(battleSys), param10, param6); diff --git a/src/battle/battle_io.c b/src/battle/battle_io.c index 6961de1a1b..5e04afc7c2 100644 --- a/src/battle/battle_io.c +++ b/src/battle/battle_io.c @@ -358,9 +358,9 @@ void BattleIO_ReturnPokemon(BattleSystem *battleSys, BattleContext *param1, int v0.unk_00 = 5; if (battleSys->battleCtx->battleMons[param2].statusVolatile & 0x200000) { - v0.unk_01 = LoadPokemonSpriteYOffset(battleSys->battleCtx->battleMons[param2].species, battleSys->battleCtx->battleMons[param2].moveEffectsData.transformedGender, v1, v2, battleSys->battleCtx->battleMons[param2].moveEffectsData.transformedPID); + v0.unk_01 = Species_LoadSpriteYOffset(battleSys->battleCtx->battleMons[param2].species, battleSys->battleCtx->battleMons[param2].moveEffectsData.transformedGender, v1, v2, battleSys->battleCtx->battleMons[param2].moveEffectsData.transformedPID); } else { - v0.unk_01 = LoadPokemonSpriteYOffset(battleSys->battleCtx->battleMons[param2].species, battleSys->battleCtx->battleMons[param2].gender, v1, v2, battleSys->battleCtx->battleMons[param2].personality); + v0.unk_01 = Species_LoadSpriteYOffset(battleSys->battleCtx->battleMons[param2].species, battleSys->battleCtx->battleMons[param2].gender, v1, v2, battleSys->battleCtx->battleMons[param2].personality); } v0.unk_02 = battleSys->battleCtx->battleMons[param2].capturedBall; @@ -399,9 +399,9 @@ void ov16_02265050(BattleSystem *battleSys, int param1, int param2) v0.unk_00 = 6; if (battleSys->battleCtx->battleMons[param1].statusVolatile & 0x200000) { - v0.unk_01 = LoadPokemonSpriteYOffset(battleSys->battleCtx->battleMons[param1].species, battleSys->battleCtx->battleMons[param1].moveEffectsData.transformedGender, v1, v2, battleSys->battleCtx->battleMons[param1].moveEffectsData.transformedPID); + v0.unk_01 = Species_LoadSpriteYOffset(battleSys->battleCtx->battleMons[param1].species, battleSys->battleCtx->battleMons[param1].moveEffectsData.transformedGender, v1, v2, battleSys->battleCtx->battleMons[param1].moveEffectsData.transformedPID); } else { - v0.unk_01 = LoadPokemonSpriteYOffset(battleSys->battleCtx->battleMons[param1].species, battleSys->battleCtx->battleMons[param1].gender, v1, v2, battleSys->battleCtx->battleMons[param1].personality); + v0.unk_01 = Species_LoadSpriteYOffset(battleSys->battleCtx->battleMons[param1].species, battleSys->battleCtx->battleMons[param1].gender, v1, v2, battleSys->battleCtx->battleMons[param1].personality); } v0.unk_02 = param2; @@ -460,8 +460,8 @@ void BattleIO_SlideHealthbarIn(BattleSystem *battleSys, BattleContext *battleCtx HealthbarData healthbar; Pokemon *mon = BattleSystem_PartyPokemon(battleSys, battler, battleCtx->selectedPartySlot[battler]); - int species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - int level = Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL); + int species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + int level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); healthbar.command = BTLIOCMD_SLIDE_HEALTHBAR_IN; healthbar.level = battleCtx->battleMons[battler].level; @@ -477,8 +477,8 @@ void BattleIO_SlideHealthbarIn(BattleSystem *battleSys, BattleContext *battleCtx healthbar.gender = battleCtx->battleMons[battler].gender; } - healthbar.expFromLastLevel = battleCtx->battleMons[battler].exp - Pokemon_GetSpeciesBaseExpAt(species, level); - healthbar.expToNextLevel = Pokemon_GetSpeciesBaseExpAt(species, level + 1) - Pokemon_GetSpeciesBaseExpAt(species, level); + healthbar.expFromLastLevel = battleCtx->battleMons[battler].exp - Species_GetExpAtLevel(species, level); + healthbar.expToNextLevel = Species_GetExpAtLevel(species, level + 1) - Species_GetExpAtLevel(species, level); healthbar.speciesCaught = BattleSystem_CaughtSpecies(battleSys, battleCtx->battleMons[battler].species); healthbar.numSafariBalls = BattleSystem_NumSafariBalls(battleSys); healthbar.delay = delay; @@ -533,11 +533,11 @@ void BattleIO_SetCommandSelection(BattleSystem *battleSys, BattleContext *battle for (v1 = 0; v1 < Party_GetCurrentCount(v7); v1++) { v8 = Party_GetPokemonBySlotIndex(v7, battleCtx->partyOrder[v2][v1]); - v5 = Pokemon_GetValue(v8, MON_DATA_SPECIES_OR_EGG, NULL); + v5 = Pokemon_GetData(v8, MON_DATA_SPECIES_OR_EGG, NULL); if ((v5) && (v5 != SPECIES_EGG)) { - if (Pokemon_GetValue(v8, MON_DATA_HP, NULL)) { - if (Pokemon_GetValue(v8, MON_DATA_STATUS, NULL)) { + if (Pokemon_GetData(v8, MON_DATA_HP, NULL)) { + if (Pokemon_GetData(v8, MON_DATA_STATUS, NULL)) { v0.unk_08[0][v6] = 3; } else { v0.unk_08[0][v6] = 1; @@ -549,7 +549,7 @@ void BattleIO_SetCommandSelection(BattleSystem *battleSys, BattleContext *battle if (battleType & (BATTLE_TYPE_LINK | BATTLE_TYPE_SAFARI | BATTLE_TYPE_FRONTIER | BATTLE_TYPE_PAL_PARK)) { v0.unk_02[v6] = 0; } else { - v0.unk_02[v6] = Pokemon_GetPercentToNextLevel(v8); + v0.unk_02[v6] = Pokemon_CalcPercentToNextLevel(v8); } v6++; @@ -571,11 +571,11 @@ void BattleIO_SetCommandSelection(BattleSystem *battleSys, BattleContext *battle for (v1 = 0; v1 < Party_GetCurrentCount(v7); v1++) { v8 = Party_GetPokemonBySlotIndex(v7, battleCtx->partyOrder[v2][v1]); - v5 = Pokemon_GetValue(v8, MON_DATA_SPECIES_OR_EGG, NULL); + v5 = Pokemon_GetData(v8, MON_DATA_SPECIES_OR_EGG, NULL); if ((v5) && (v5 != SPECIES_EGG)) { - if (Pokemon_GetValue(v8, MON_DATA_HP, NULL)) { - if (Pokemon_GetValue(v8, MON_DATA_STATUS, NULL)) { + if (Pokemon_GetData(v8, MON_DATA_HP, NULL)) { + if (Pokemon_GetData(v8, MON_DATA_STATUS, NULL)) { v0.unk_08[1][v6] = 3; } else { v0.unk_08[1][v6] = 1; @@ -599,11 +599,11 @@ void BattleIO_SetCommandSelection(BattleSystem *battleSys, BattleContext *battle for (v1 = 0; v1 < Party_GetCurrentCount(v7); v1++) { v8 = Party_GetPokemonBySlotIndex(v7, battleCtx->partyOrder[v2][v1]); - v5 = Pokemon_GetValue(v8, MON_DATA_SPECIES_OR_EGG, NULL); + v5 = Pokemon_GetData(v8, MON_DATA_SPECIES_OR_EGG, NULL); if ((v5) && (v5 != SPECIES_EGG)) { - if (Pokemon_GetValue(v8, MON_DATA_HP, NULL)) { - if (Pokemon_GetValue(v8, MON_DATA_STATUS, NULL)) { + if (Pokemon_GetData(v8, MON_DATA_HP, NULL)) { + if (Pokemon_GetData(v8, MON_DATA_STATUS, NULL)) { v0.unk_08[1][v6] = 3; } else { v0.unk_08[1][v6] = 1; @@ -622,11 +622,11 @@ void BattleIO_SetCommandSelection(BattleSystem *battleSys, BattleContext *battle for (v1 = 0; v1 < Party_GetCurrentCount(v7); v1++) { v8 = Party_GetPokemonBySlotIndex(v7, battleCtx->partyOrder[v2][v1]); - v5 = Pokemon_GetValue(v8, MON_DATA_SPECIES_OR_EGG, NULL); + v5 = Pokemon_GetData(v8, MON_DATA_SPECIES_OR_EGG, NULL); if ((v5) && (v5 != SPECIES_EGG)) { - if (Pokemon_GetValue(v8, MON_DATA_HP, NULL)) { - if (Pokemon_GetValue(v8, MON_DATA_STATUS, NULL)) { + if (Pokemon_GetData(v8, MON_DATA_HP, NULL)) { + if (Pokemon_GetData(v8, MON_DATA_STATUS, NULL)) { v0.unk_08[1][v6] = 3; } else { v0.unk_08[1][v6] = 1; @@ -675,7 +675,7 @@ void BattleIO_ShowMoveSelectScreen(BattleSystem *battleSys, BattleContext *battl v0.unk_00 = 15; v0.unk_01 = battleCtx->selectedPartySlot[battler]; - for (int i = 0; i < LEARNED_MOVES_MAX; i++) { + for (int i = 0; i < MAX_MON_MOVES; i++) { v0.unk_04[i] = battleCtx->battleMons[battler].moves[i]; v0.unk_0C[i] = battleCtx->battleMons[battler].ppCur[i]; v0.unk_10[i] = MoveTable_CalcMaxPP(battleCtx->battleMons[battler].moves[i], battleCtx->battleMons[battler].ppUps[i]); @@ -913,8 +913,8 @@ void BattleIO_UpdateHPGauge(BattleSystem *battleSys, BattleContext *param1, int int v3; v1 = BattleSystem_PartyPokemon(battleSys, param2, param1->selectedPartySlot[param2]); - v2 = Pokemon_GetValue(v1, MON_DATA_SPECIES, NULL); - v3 = Pokemon_GetValue(v1, MON_DATA_LEVEL, NULL); + v2 = Pokemon_GetData(v1, MON_DATA_SPECIES, NULL); + v3 = Pokemon_GetData(v1, MON_DATA_LEVEL, NULL); v0.unk_00 = 24; v0.unk_01 = param1->battleMons[param2].level; @@ -928,8 +928,8 @@ void BattleIO_UpdateHPGauge(BattleSystem *battleSys, BattleContext *param1, int v0.unk_07 = param1->battleMons[param2].gender; } - v0.unk_0C = param1->battleMons[param2].exp - Pokemon_GetSpeciesBaseExpAt(v2, v3); - v0.unk_10 = Pokemon_GetSpeciesBaseExpAt(v2, v3 + 1) - Pokemon_GetSpeciesBaseExpAt(v2, v3); + v0.unk_0C = param1->battleMons[param2].exp - Species_GetExpAtLevel(v2, v3); + v0.unk_10 = Species_GetExpAtLevel(v2, v3 + 1) - Species_GetExpAtLevel(v2, v3); SendMessage(battleSys, 1, param2, &v0, sizeof(UnkStruct_ov16_0225C35C)); } @@ -942,13 +942,13 @@ void BattleIO_UpdateExpGauge(BattleSystem *battleSys, BattleContext *param1, int int v3; v1 = BattleSystem_PartyPokemon(battleSys, param2, param1->selectedPartySlot[param2]); - v2 = Pokemon_GetValue(v1, MON_DATA_SPECIES, NULL); - v3 = Pokemon_GetValue(v1, MON_DATA_LEVEL, NULL); + v2 = Pokemon_GetData(v1, MON_DATA_SPECIES, NULL); + v3 = Pokemon_GetData(v1, MON_DATA_LEVEL, NULL); v0.unk_00 = 25; v0.unk_04 = param3; - v0.unk_08 = param1->battleMons[param2].exp - Pokemon_GetSpeciesBaseExpAt(v2, v3); - v0.unk_0C = Pokemon_GetSpeciesBaseExpAt(v2, v3 + 1) - Pokemon_GetSpeciesBaseExpAt(v2, v3); + v0.unk_08 = param1->battleMons[param2].exp - Species_GetExpAtLevel(v2, v3); + v0.unk_0C = Species_GetExpAtLevel(v2, v3 + 1) - Species_GetExpAtLevel(v2, v3); SendMessage(battleSys, 1, param2, &v0, sizeof(UnkStruct_ov16_0225C370)); } @@ -1148,8 +1148,8 @@ void BattleIO_RefreshHPGauge(BattleSystem *battleSys, BattleContext *param1, int int v3; v1 = BattleSystem_PartyPokemon(battleSys, param2, param1->selectedPartySlot[param2]); - v2 = Pokemon_GetValue(v1, MON_DATA_SPECIES, NULL); - v3 = Pokemon_GetValue(v1, MON_DATA_LEVEL, NULL); + v2 = Pokemon_GetData(v1, MON_DATA_SPECIES, NULL); + v3 = Pokemon_GetData(v1, MON_DATA_LEVEL, NULL); v0.unk_00 = 38; v0.unk_01 = param1->battleMons[param2].level; @@ -1164,8 +1164,8 @@ void BattleIO_RefreshHPGauge(BattleSystem *battleSys, BattleContext *param1, int v0.unk_07_5 = param1->battleMons[param2].gender; } - v0.unk_08 = param1->battleMons[param2].exp - Pokemon_GetSpeciesBaseExpAt(v2, v3); - v0.unk_0C = Pokemon_GetSpeciesBaseExpAt(v2, v3 + 1) - Pokemon_GetSpeciesBaseExpAt(v2, v3); + v0.unk_08 = param1->battleMons[param2].exp - Species_GetExpAtLevel(v2, v3); + v0.unk_0C = Species_GetExpAtLevel(v2, v3 + 1) - Species_GetExpAtLevel(v2, v3); v0.unk_07_7 = BattleSystem_CaughtSpecies(battleSys, param1->battleMons[param2].species); v0.unk_10 = BattleSystem_NumSafariBalls(battleSys); @@ -1631,11 +1631,11 @@ static inline void PartyGaugeData_Fill(BattleContext *battleCtx, PartyGaugeData { for (int i = 0; i < Party_GetCurrentCount(party); i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(party, battleCtx->partyOrder[battler][i]); - int species = Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL); + int species = Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL); if (species && species != SPECIES_EGG) { - if (Pokemon_GetValue(mon, MON_DATA_HP, NULL)) { - if (Pokemon_GetValue(mon, MON_DATA_STATUS, NULL)) { + if (Pokemon_GetData(mon, MON_DATA_HP, NULL)) { + if (Pokemon_GetData(mon, MON_DATA_STATUS, NULL)) { partyGauge->status[slot] = BALL_STATUS_HAS_STATUS_CONDITION; } else { partyGauge->status[slot] = BALL_STATUS_MON_ALIVE; diff --git a/src/battle/battle_io_command.c b/src/battle/battle_io_command.c index 025d8ade80..ddd55ffdb4 100644 --- a/src/battle/battle_io_command.c +++ b/src/battle/battle_io_command.c @@ -622,27 +622,27 @@ static void ov16_0225C47C(BattleSystem *battleSys, BattlerData *param1) Pokemon *v2 = BattleSystem_PartyPokemon(battleSys, param1->battler, v0->unk_01_0); if ((v0->unk_18 & 0x200000) == 0) { - for (v1 = 0; v1 < LEARNED_MOVES_MAX; v1++) { + for (v1 = 0; v1 < MAX_MON_MOVES; v1++) { if ((v0->unk_01_4 & FlagIndex(v1)) == 0) { - Pokemon_SetValue(v2, MON_DATA_MOVE1 + v1, (u8 *)&v0->unk_0E[v1]); - Pokemon_SetValue(v2, MON_DATA_MOVE1_PP + v1, (u8 *)&v0->unk_12[v1]); + Pokemon_SetData(v2, MON_DATA_MOVE1 + v1, (u8 *)&v0->unk_0E[v1]); + Pokemon_SetData(v2, MON_DATA_MOVE1_PP + v1, (u8 *)&v0->unk_12[v1]); } } } if ((v0->unk_08 & FlagIndex(v0->unk_01_0)) == 0) { - Pokemon_SetValue(v2, MON_DATA_HELD_ITEM, (u8 *)&v0->unk_0C); + Pokemon_SetData(v2, MON_DATA_HELD_ITEM, (u8 *)&v0->unk_0C); } - Pokemon_SetValue(v2, MON_DATA_HP, (u8 *)&v0->unk_02); - Pokemon_SetValue(v2, MON_DATA_STATUS, (u8 *)&v0->unk_04); + Pokemon_SetData(v2, MON_DATA_HP, (u8 *)&v0->unk_02); + Pokemon_SetData(v2, MON_DATA_STATUS, (u8 *)&v0->unk_04); if (v0->unk_26) { - Pokemon_SetValue(v2, MON_DATA_FORM, (u8 *)&v0->unk_1C); + Pokemon_SetData(v2, MON_DATA_FORM, (u8 *)&v0->unk_1C); } if (v0->unk_24) { - Pokemon_SetValue(v2, MON_DATA_ABILITY, (u8 *)&v0->unk_20); + Pokemon_SetData(v2, MON_DATA_ABILITY, (u8 *)&v0->unk_20); Pokemon_CalcLevelAndStats(v2); } @@ -690,11 +690,11 @@ static void ov16_0225C5E0(BattleSystem *battleSys, BattlerData *param1) if (v0->unk_01 == 104) { v4 = ABILITY_NONE; } else { - v4 = Pokemon_GetValue(v1, MON_DATA_ABILITY, NULL); + v4 = Pokemon_GetData(v1, MON_DATA_ABILITY, NULL); } if ((v0->unk_02 != 215) || ((v0->unk_02 == 215) && (v4 != ABILITY_SOUNDPROOF))) { - Pokemon_SetValue(v1, MON_DATA_STATUS, (u8 *)&v5); + Pokemon_SetData(v1, MON_DATA_STATUS, (u8 *)&v5); } } @@ -732,18 +732,18 @@ static void ov16_0225C684(BattleSystem *battleSys, BattlerData *param1) v4 = 0; } - BuildPokemonSpriteTemplate(&v1, v0->unk_02, v0->unk_04, v4, v0->unk_05, v0->unk_01, v0->unk_08); + Species_BuildSpriteTemplate(&v1, v0->unk_02, v0->unk_04, v4, v0->unk_05, v0->unk_01, v0->unk_08); v2 = PokemonSprite_GetTemplate(param1->unk_20); *v2 = v1; PokemonSprite_ScheduleReloadFromNARC(param1->unk_20); - CharacterSprite_LoadPokemonSprite(v2->narcID, v2->character, HEAP_ID_BATTLE, ov16_0223F2B8(ov16_0223E0C8(battleSys), param1->battler), v0->unk_08, FALSE, v4, v2->spindaSpots); + CharacterSprite_LoadPokemonSprite(v2->narcID, v2->character, HEAP_ID_BATTLE, ov16_0223F2B8(ov16_0223E0C8(battleSys), param1->battler), v0->unk_08, FALSE, v4, v2->species); PokemonSpriteData_SetNarcID(ov16_0223E0C8(battleSys), param1->battler, v2->narcID); PokemonSpriteData_SetPalette(ov16_0223E0C8(battleSys), param1->battler, v2->palette); - v3 = LoadPokemonSpriteYOffset(v0->unk_02, v0->unk_04, v4, v0->unk_01, v0->unk_08); + v3 = Species_LoadSpriteYOffset(v0->unk_02, v0->unk_04, v4, v0->unk_01, v0->unk_08); PokemonSpriteData_SetYOffset(ov16_0223E0C8(battleSys), param1->battler, v3); v3 = ov12_022384CC(param1->battlerType, 1) + v3; @@ -976,11 +976,11 @@ static void ov16_0225CA74(BattleSystem *battleSys, BattlerData *param1) for (v3 = 0; v3 < Party_GetCurrentCount(v1); v3++) { v2 = Party_GetPokemonBySlotIndex(v1, v3); - if ((Pokemon_GetValue(v2, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v2, MON_DATA_IS_EGG, NULL) == 0)) { + if ((Pokemon_GetData(v2, MON_DATA_SPECIES, NULL)) && (Pokemon_GetData(v2, MON_DATA_IS_EGG, NULL) == 0)) { if (Battler_Side(battleSys, v4)) { - v6 += Pokemon_GetValue(v2, MON_DATA_HP, NULL); + v6 += Pokemon_GetData(v2, MON_DATA_HP, NULL); } else { - v5 += Pokemon_GetValue(v2, MON_DATA_HP, NULL); + v5 += Pokemon_GetData(v2, MON_DATA_HP, NULL); } } } diff --git a/src/battle/battle_lib.c b/src/battle/battle_lib.c index c44c3ca769..8674a2cf4b 100644 --- a/src/battle/battle_lib.c +++ b/src/battle/battle_lib.c @@ -69,28 +69,28 @@ void BattleSystem_InitBattleMon(BattleSystem *battleSys, BattleContext *battleCt { Pokemon *mon = BattleSystem_PartyPokemon(battleSys, battler, partySlot); - battleCtx->battleMons[battler].species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - battleCtx->battleMons[battler].attack = Pokemon_GetValue(mon, MON_DATA_ATK, NULL); - battleCtx->battleMons[battler].defense = Pokemon_GetValue(mon, MON_DATA_DEF, NULL); - battleCtx->battleMons[battler].speed = Pokemon_GetValue(mon, MON_DATA_SPEED, NULL); - battleCtx->battleMons[battler].spAttack = Pokemon_GetValue(mon, MON_DATA_SP_ATK, NULL); - battleCtx->battleMons[battler].spDefense = Pokemon_GetValue(mon, MON_DATA_SP_DEF, NULL); + battleCtx->battleMons[battler].species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + battleCtx->battleMons[battler].attack = Pokemon_GetData(mon, MON_DATA_ATK, NULL); + battleCtx->battleMons[battler].defense = Pokemon_GetData(mon, MON_DATA_DEF, NULL); + battleCtx->battleMons[battler].speed = Pokemon_GetData(mon, MON_DATA_SPEED, NULL); + battleCtx->battleMons[battler].spAttack = Pokemon_GetData(mon, MON_DATA_SP_ATK, NULL); + battleCtx->battleMons[battler].spDefense = Pokemon_GetData(mon, MON_DATA_SP_DEF, NULL); int i; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { - battleCtx->battleMons[battler].moves[i] = Pokemon_GetValue(mon, MON_DATA_MOVE1 + i, NULL); - battleCtx->battleMons[battler].ppCur[i] = Pokemon_GetValue(mon, MON_DATA_MOVE1_PP + i, NULL); - battleCtx->battleMons[battler].ppUps[i] = Pokemon_GetValue(mon, MON_DATA_MOVE1_PP_UPS + i, NULL); + for (i = 0; i < MAX_MON_MOVES; i++) { + battleCtx->battleMons[battler].moves[i] = Pokemon_GetData(mon, MON_DATA_MOVE1 + i, NULL); + battleCtx->battleMons[battler].ppCur[i] = Pokemon_GetData(mon, MON_DATA_MOVE1_PP + i, NULL); + battleCtx->battleMons[battler].ppUps[i] = Pokemon_GetData(mon, MON_DATA_MOVE1_PP_UPS + i, NULL); } - battleCtx->battleMons[battler].hpIV = Pokemon_GetValue(mon, MON_DATA_HP_IV, NULL); - battleCtx->battleMons[battler].attackIV = Pokemon_GetValue(mon, MON_DATA_ATK_IV, NULL); - battleCtx->battleMons[battler].defenseIV = Pokemon_GetValue(mon, MON_DATA_DEF_IV, NULL); - battleCtx->battleMons[battler].speedIV = Pokemon_GetValue(mon, MON_DATA_SPEED_IV, NULL); - battleCtx->battleMons[battler].spAttackIV = Pokemon_GetValue(mon, MON_DATA_SPATK_IV, NULL); - battleCtx->battleMons[battler].spDefenseIV = Pokemon_GetValue(mon, MON_DATA_SPDEF_IV, NULL); - battleCtx->battleMons[battler].isEgg = Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL); - battleCtx->battleMons[battler].hasNickname = Pokemon_GetValue(mon, MON_DATA_HAS_NICKNAME, NULL); + battleCtx->battleMons[battler].hpIV = Pokemon_GetData(mon, MON_DATA_HP_IV, NULL); + battleCtx->battleMons[battler].attackIV = Pokemon_GetData(mon, MON_DATA_ATK_IV, NULL); + battleCtx->battleMons[battler].defenseIV = Pokemon_GetData(mon, MON_DATA_DEF_IV, NULL); + battleCtx->battleMons[battler].speedIV = Pokemon_GetData(mon, MON_DATA_SPEED_IV, NULL); + battleCtx->battleMons[battler].spAttackIV = Pokemon_GetData(mon, MON_DATA_SPATK_IV, NULL); + battleCtx->battleMons[battler].spDefenseIV = Pokemon_GetData(mon, MON_DATA_SPDEF_IV, NULL); + battleCtx->battleMons[battler].isEgg = Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL); + battleCtx->battleMons[battler].hasNickname = Pokemon_GetData(mon, MON_DATA_HAS_NICKNAME, NULL); if ((battleCtx->battleStatusMask & SYSCTL_BATON_PASS) == FALSE) { for (i = 0; i < BATTLE_STAT_MAX; i++) { @@ -109,8 +109,8 @@ void BattleSystem_InitBattleMon(BattleSystem *battleSys, BattleContext *battleCt battleCtx->battleMons[battler].friskAnnounced = FALSE; battleCtx->battleMons[battler].moldBreakerAnnounced = FALSE; battleCtx->battleMons[battler].pressureAnnounced = FALSE; - battleCtx->battleMons[battler].type1 = Pokemon_GetValue(mon, MON_DATA_TYPE_1, NULL); - battleCtx->battleMons[battler].type2 = Pokemon_GetValue(mon, MON_DATA_TYPE_2, NULL); + battleCtx->battleMons[battler].type1 = Pokemon_GetData(mon, MON_DATA_TYPE_1, NULL); + battleCtx->battleMons[battler].type2 = Pokemon_GetData(mon, MON_DATA_TYPE_2, NULL); battleCtx->battleMons[battler].gender = Pokemon_GetGender(mon); battleCtx->battleMons[battler].isShiny = Pokemon_IsShiny(mon); @@ -119,26 +119,26 @@ void BattleSystem_InitBattleMon(BattleSystem *battleSys, BattleContext *battleCt battleCtx->battleMons[battler].status = MON_CONDITION_NONE; battleCtx->battleMons[battler].heldItem = ITEM_NONE; } else { - battleCtx->battleMons[battler].ability = Pokemon_GetValue(mon, MON_DATA_ABILITY, NULL); - battleCtx->battleMons[battler].status = Pokemon_GetValue(mon, MON_DATA_STATUS, NULL); - battleCtx->battleMons[battler].heldItem = Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL); + battleCtx->battleMons[battler].ability = Pokemon_GetData(mon, MON_DATA_ABILITY, NULL); + battleCtx->battleMons[battler].status = Pokemon_GetData(mon, MON_DATA_STATUS, NULL); + battleCtx->battleMons[battler].heldItem = Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL); } if ((BattleSystem_BattleType(battleSys) & BATTLE_TYPE_NO_ABILITIES) && Battler_Side(battleSys, battler) == BATTLER_US) { battleCtx->battleMons[battler].formNum = 0; } else { - battleCtx->battleMons[battler].formNum = Pokemon_GetValue(mon, MON_DATA_FORM, NULL); + battleCtx->battleMons[battler].formNum = Pokemon_GetData(mon, MON_DATA_FORM, NULL); } - battleCtx->battleMons[battler].level = Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL); - battleCtx->battleMons[battler].friendship = Pokemon_GetValue(mon, MON_DATA_FRIENDSHIP, NULL); - battleCtx->battleMons[battler].curHP = Pokemon_GetValue(mon, MON_DATA_HP, NULL); - battleCtx->battleMons[battler].maxHP = Pokemon_GetValue(mon, MON_DATA_MAX_HP, NULL); - battleCtx->battleMons[battler].exp = Pokemon_GetValue(mon, MON_DATA_EXPERIENCE, NULL); - battleCtx->battleMons[battler].personality = Pokemon_GetValue(mon, MON_DATA_PERSONALITY, NULL); - battleCtx->battleMons[battler].OTId = Pokemon_GetValue(mon, MON_DATA_OT_ID, NULL); - battleCtx->battleMons[battler].OTGender = Pokemon_GetValue(mon, MON_DATA_OT_GENDER, NULL); - battleCtx->battleMons[battler].capturedBall = Pokemon_GetValue(mon, MON_DATA_POKEBALL, NULL); + battleCtx->battleMons[battler].level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); + battleCtx->battleMons[battler].friendship = Pokemon_GetData(mon, MON_DATA_FRIENDSHIP, NULL); + battleCtx->battleMons[battler].curHP = Pokemon_GetData(mon, MON_DATA_HP, NULL); + battleCtx->battleMons[battler].maxHP = Pokemon_GetData(mon, MON_DATA_MAX_HP, NULL); + battleCtx->battleMons[battler].exp = Pokemon_GetData(mon, MON_DATA_EXPERIENCE, NULL); + battleCtx->battleMons[battler].personality = Pokemon_GetData(mon, MON_DATA_PERSONALITY, NULL); + battleCtx->battleMons[battler].OTId = Pokemon_GetData(mon, MON_DATA_OT_ID, NULL); + battleCtx->battleMons[battler].OTGender = Pokemon_GetData(mon, MON_DATA_OT_GENDER, NULL); + battleCtx->battleMons[battler].capturedBall = Pokemon_GetData(mon, MON_DATA_POKEBALL, NULL); Pokedex_SetupGiratina(battleCtx->battleMons[battler].formNum); @@ -149,8 +149,8 @@ void BattleSystem_InitBattleMon(BattleSystem *battleSys, BattleContext *battleCt Pokedex_HeightWeightData_Release(heightWeightData); Pokedex_HeightWeightData_Free(heightWeightData); - Pokemon_GetValue(mon, MON_DATA_NICKNAME, battleCtx->battleMons[battler].nickname); - Pokemon_GetValue(mon, MON_DATA_OT_NAME, battleCtx->battleMons[battler].OTName); + Pokemon_GetData(mon, MON_DATA_NICKNAME, battleCtx->battleMons[battler].nickname); + Pokemon_GetData(mon, MON_DATA_OT_NAME, battleCtx->battleMons[battler].OTName); battleCtx->battleMons[battler].timesDamaged = 0; battleCtx->battleMons[battler].trainerMessageFlags = 0; @@ -168,26 +168,26 @@ void BattleSystem_ReloadPokemon(BattleSystem *battleSys, BattleContext *battleCt { Pokemon *mon = BattleSystem_PartyPokemon(battleSys, battler, partySlot); - battleCtx->battleMons[battler].attack = Pokemon_GetValue(mon, MON_DATA_ATK, NULL); - battleCtx->battleMons[battler].defense = Pokemon_GetValue(mon, MON_DATA_DEF, NULL); - battleCtx->battleMons[battler].speed = Pokemon_GetValue(mon, MON_DATA_SPEED, NULL); - battleCtx->battleMons[battler].spAttack = Pokemon_GetValue(mon, MON_DATA_SP_ATK, NULL); - battleCtx->battleMons[battler].spDefense = Pokemon_GetValue(mon, MON_DATA_SP_DEF, NULL); - battleCtx->battleMons[battler].level = Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL); - battleCtx->battleMons[battler].friendship = Pokemon_GetValue(mon, MON_DATA_FRIENDSHIP, NULL); - battleCtx->battleMons[battler].curHP = Pokemon_GetValue(mon, MON_DATA_HP, NULL); - battleCtx->battleMons[battler].maxHP = Pokemon_GetValue(mon, MON_DATA_MAX_HP, NULL); + battleCtx->battleMons[battler].attack = Pokemon_GetData(mon, MON_DATA_ATK, NULL); + battleCtx->battleMons[battler].defense = Pokemon_GetData(mon, MON_DATA_DEF, NULL); + battleCtx->battleMons[battler].speed = Pokemon_GetData(mon, MON_DATA_SPEED, NULL); + battleCtx->battleMons[battler].spAttack = Pokemon_GetData(mon, MON_DATA_SP_ATK, NULL); + battleCtx->battleMons[battler].spDefense = Pokemon_GetData(mon, MON_DATA_SP_DEF, NULL); + battleCtx->battleMons[battler].level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); + battleCtx->battleMons[battler].friendship = Pokemon_GetData(mon, MON_DATA_FRIENDSHIP, NULL); + battleCtx->battleMons[battler].curHP = Pokemon_GetData(mon, MON_DATA_HP, NULL); + battleCtx->battleMons[battler].maxHP = Pokemon_GetData(mon, MON_DATA_MAX_HP, NULL); if ((battleCtx->battleMons[battler].statusVolatile & VOLATILE_CONDITION_TRANSFORM) == FALSE) { - for (int i = 0; i < LEARNED_MOVES_MAX; i++) { + for (int i = 0; i < MAX_MON_MOVES; i++) { if ((battleCtx->battleMons[battler].moveEffectsData.mimickedMoveSlot & FlagIndex(i)) == FALSE) { - battleCtx->battleMons[battler].moves[i] = Pokemon_GetValue(mon, MON_DATA_MOVE1 + i, NULL); - battleCtx->battleMons[battler].ppCur[i] = Pokemon_GetValue(mon, MON_DATA_MOVE1_PP + i, NULL); - battleCtx->battleMons[battler].ppUps[i] = Pokemon_GetValue(mon, MON_DATA_MOVE1_PP_UPS + i, NULL); + battleCtx->battleMons[battler].moves[i] = Pokemon_GetData(mon, MON_DATA_MOVE1 + i, NULL); + battleCtx->battleMons[battler].ppCur[i] = Pokemon_GetData(mon, MON_DATA_MOVE1_PP + i, NULL); + battleCtx->battleMons[battler].ppUps[i] = Pokemon_GetData(mon, MON_DATA_MOVE1_PP_UPS + i, NULL); } } - battleCtx->battleMons[battler].exp = Pokemon_GetValue(mon, MON_DATA_EXPERIENCE, NULL); + battleCtx->battleMons[battler].exp = Pokemon_GetData(mon, MON_DATA_EXPERIENCE, NULL); } } @@ -1921,7 +1921,7 @@ BOOL BattleSystem_CheckTrainerMessage(BattleSystem *battleSys, BattleContext *ba for (int i = 0; i < Party_GetCurrentCount(party); i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(party, i); - if (Pokemon_GetValue(mon, MON_DATA_HP, NULL)) { + if (Pokemon_GetData(mon, MON_DATA_HP, NULL)) { alive++; } } @@ -1944,7 +1944,7 @@ BOOL BattleSystem_CheckTrainerMessage(BattleSystem *battleSys, BattleContext *ba for (int i = 0; i < Party_GetCurrentCount(party); i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(party, i); - if (Pokemon_GetValue(mon, MON_DATA_HP, NULL)) { + if (Pokemon_GetData(mon, MON_DATA_HP, NULL)) { alive++; } } @@ -2254,7 +2254,7 @@ int BattleSystem_CheckInvalidMoves(BattleSystem *battleSys, BattleContext *battl { int itemEffect = Battler_HeldItemEffect(battleCtx, battler); - for (int i = 0; i < LEARNED_MOVES_MAX; i++) { + for (int i = 0; i < MAX_MON_MOVES; i++) { if (battleCtx->battleMons[battler].moves[i] == MOVE_NONE && (opMask & CHECK_INVALID_NO_MOVE)) { invalidMoves |= FlagIndex(i); @@ -2304,7 +2304,7 @@ int BattleSystem_CheckInvalidMoves(BattleSystem *battleSys, BattleContext *battl if ((itemEffect == HOLD_EFFECT_CHOICE_ATK || itemEffect == HOLD_EFFECT_CHOICE_SPEED || itemEffect == HOLD_EFFECT_CHOICE_SPATK) && (opMask & CHECK_INVALID_CHOICE_ITEM)) { - if (Battler_SlotForMove(&battleCtx->battleMons[battler], battleCtx->battleMons[battler].moveEffectsData.choiceLockedMove) == LEARNED_MOVES_MAX) { + if (Battler_SlotForMove(&battleCtx->battleMons[battler], battleCtx->battleMons[battler].moveEffectsData.choiceLockedMove) == MAX_MON_MOVES) { battleCtx->battleMons[battler].moveEffectsData.choiceLockedMove = MOVE_NONE; } else if (battleCtx->battleMons[battler].moveEffectsData.choiceLockedMove && battleCtx->battleMons[battler].moveEffectsData.choiceLockedMove != battleCtx->battleMons[battler].moves[i]) { @@ -2375,7 +2375,7 @@ int Battler_SlotForMove(BattleMon *mon, u16 move) { int i; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (mon->moves[i] == move) { break; } @@ -3162,9 +3162,9 @@ BOOL BattleSystem_AnyReplacementMons(BattleSystem *battleSys, BattleContext *bat for (int i = start; i < end; i++) { pokemon = Party_GetPokemonBySlotIndex(party, i); - if (Pokemon_GetValue(pokemon, MON_DATA_SPECIES, NULL) - && Pokemon_GetValue(pokemon, MON_DATA_IS_EGG, NULL) == FALSE - && Pokemon_GetValue(pokemon, MON_DATA_HP, NULL) + if (Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL) + && Pokemon_GetData(pokemon, MON_DATA_IS_EGG, NULL) == FALSE + && Pokemon_GetData(pokemon, MON_DATA_HP, NULL) && selectedSlot1 != i && selectedSlot2 != i) { aliveMons++; @@ -3322,13 +3322,13 @@ BOOL Move_Imprisoned(BattleSystem *battleSys, BattleContext *battleCtx, int batt for (i = 0; i < maxBattlers; i++) { if (side != Battler_Side(battleSys, i) && (battleCtx->battleMons[i].moveEffectsMask & MOVE_EFFECT_IMPRISON)) { - for (j = 0; j < LEARNED_MOVES_MAX; j++) { + for (j = 0; j < MAX_MON_MOVES; j++) { if (move == battleCtx->battleMons[i].moves[j]) { break; } } - if (j != LEARNED_MOVES_MAX) { + if (j != MAX_MON_MOVES) { result = TRUE; } } @@ -3459,7 +3459,7 @@ void BattleSystem_UpdateLastResort(BattleSystem *battleSys, BattleContext *battl int Battler_CountMoves(BattleSystem *battleSys, BattleContext *battleCtx, int battler) { int i; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (battleCtx->battleMons[battler].moves[i] == MOVE_NONE) { break; } @@ -4630,13 +4630,13 @@ BOOL BattleSystem_TriggerHeldItem(BattleSystem *battleSys, BattleContext *battle case HOLD_EFFECT_PP_RESTORE: { int i; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (battleCtx->battleMons[battler].moves[i] && battleCtx->battleMons[battler].ppCur[i] == 0) { break; } } - if (i != LEARNED_MOVES_MAX) { + if (i != MAX_MON_MOVES) { BattleMon_AddVal(&battleCtx->battleMons[battler], BATTLEMON_CUR_PP_1 + i, itemPower); BattleMon_CopyToParty(battleSys, battleCtx, battler); battleCtx->msgMoveTemp = battleCtx->battleMons[battler].moves[i]; @@ -4695,7 +4695,7 @@ BOOL BattleSystem_TriggerHeldItem(BattleSystem *battleSys, BattleContext *battle battleCtx->hpCalcTemp = BattleSystem_Divide(battleCtx->battleMons[battler].maxHP, itemPower); battleCtx->msgTemp = FLAVOR_SPICY; - if (Pokemon_GetFlavorAffinityOf(battleCtx->battleMons[battler].personality, FLAVOR_SPICY) == -1) { + if (Personality_GetFlavorAffinity(battleCtx->battleMons[battler].personality, FLAVOR_SPICY) == -1) { subscript = subscript_held_item_dislike_flavor; } else { subscript = subscript_held_item_hp_restore; @@ -4710,7 +4710,7 @@ BOOL BattleSystem_TriggerHeldItem(BattleSystem *battleSys, BattleContext *battle battleCtx->hpCalcTemp = BattleSystem_Divide(battleCtx->battleMons[battler].maxHP, itemPower); battleCtx->msgTemp = FLAVOR_DRY; - if (Pokemon_GetFlavorAffinityOf(battleCtx->battleMons[battler].personality, FLAVOR_DRY) == -1) { + if (Personality_GetFlavorAffinity(battleCtx->battleMons[battler].personality, FLAVOR_DRY) == -1) { subscript = subscript_held_item_dislike_flavor; } else { subscript = subscript_held_item_hp_restore; @@ -4725,7 +4725,7 @@ BOOL BattleSystem_TriggerHeldItem(BattleSystem *battleSys, BattleContext *battle battleCtx->hpCalcTemp = BattleSystem_Divide(battleCtx->battleMons[battler].maxHP, itemPower); battleCtx->msgTemp = FLAVOR_SWEET; - if (Pokemon_GetFlavorAffinityOf(battleCtx->battleMons[battler].personality, FLAVOR_SWEET) == -1) { + if (Personality_GetFlavorAffinity(battleCtx->battleMons[battler].personality, FLAVOR_SWEET) == -1) { subscript = subscript_held_item_dislike_flavor; } else { subscript = subscript_held_item_hp_restore; @@ -4740,7 +4740,7 @@ BOOL BattleSystem_TriggerHeldItem(BattleSystem *battleSys, BattleContext *battle battleCtx->hpCalcTemp = BattleSystem_Divide(battleCtx->battleMons[battler].maxHP, itemPower); battleCtx->msgTemp = FLAVOR_BITTER; - if (Pokemon_GetFlavorAffinityOf(battleCtx->battleMons[battler].personality, FLAVOR_BITTER) == -1) { + if (Personality_GetFlavorAffinity(battleCtx->battleMons[battler].personality, FLAVOR_BITTER) == -1) { subscript = subscript_held_item_dislike_flavor; } else { subscript = subscript_held_item_hp_restore; @@ -4755,7 +4755,7 @@ BOOL BattleSystem_TriggerHeldItem(BattleSystem *battleSys, BattleContext *battle battleCtx->hpCalcTemp = BattleSystem_Divide(battleCtx->battleMons[battler].maxHP, itemPower); battleCtx->msgTemp = FLAVOR_SOUR; - if (Pokemon_GetFlavorAffinityOf(battleCtx->battleMons[battler].personality, FLAVOR_SOUR) == -1) { + if (Personality_GetFlavorAffinity(battleCtx->battleMons[battler].personality, FLAVOR_SOUR) == -1) { subscript = subscript_held_item_dislike_flavor; } else { subscript = subscript_held_item_hp_restore; @@ -5020,13 +5020,13 @@ BOOL BattleSystem_TriggerHeldItemOnStatus(BattleSystem *battleSys, BattleContext case HOLD_EFFECT_PP_RESTORE: { int i; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (battleCtx->battleMons[battler].moves[i] && battleCtx->battleMons[battler].ppCur[i] == 0) { break; } } - if (i != LEARNED_MOVES_MAX) { + if (i != MAX_MON_MOVES) { BattleMon_AddVal(&battleCtx->battleMons[battler], BATTLEMON_CUR_PP_1 + i, itemPower); BattleMon_CopyToParty(battleSys, battleCtx, battler); battleCtx->msgMoveTemp = battleCtx->battleMons[battler].moves[i]; @@ -5118,7 +5118,7 @@ BOOL BattleSystem_TriggerHeldItemOnStatus(BattleSystem *battleSys, BattleContext battleCtx->hpCalcTemp = BattleSystem_Divide(battleCtx->battleMons[battler].maxHP, itemPower); battleCtx->msgTemp = FLAVOR_SPICY; - if (Pokemon_GetFlavorAffinityOf(battleCtx->battleMons[battler].personality, FLAVOR_SPICY) == -1) { + if (Personality_GetFlavorAffinity(battleCtx->battleMons[battler].personality, FLAVOR_SPICY) == -1) { *subscript = subscript_held_item_dislike_flavor; } else { *subscript = subscript_held_item_hp_restore; @@ -5133,7 +5133,7 @@ BOOL BattleSystem_TriggerHeldItemOnStatus(BattleSystem *battleSys, BattleContext battleCtx->hpCalcTemp = BattleSystem_Divide(battleCtx->battleMons[battler].maxHP, itemPower); battleCtx->msgTemp = FLAVOR_DRY; - if (Pokemon_GetFlavorAffinityOf(battleCtx->battleMons[battler].personality, FLAVOR_DRY) == -1) { + if (Personality_GetFlavorAffinity(battleCtx->battleMons[battler].personality, FLAVOR_DRY) == -1) { *subscript = subscript_held_item_dislike_flavor; } else { *subscript = subscript_held_item_hp_restore; @@ -5148,7 +5148,7 @@ BOOL BattleSystem_TriggerHeldItemOnStatus(BattleSystem *battleSys, BattleContext battleCtx->hpCalcTemp = BattleSystem_Divide(battleCtx->battleMons[battler].maxHP, itemPower); battleCtx->msgTemp = FLAVOR_SWEET; - if (Pokemon_GetFlavorAffinityOf(battleCtx->battleMons[battler].personality, FLAVOR_SWEET) == -1) { + if (Personality_GetFlavorAffinity(battleCtx->battleMons[battler].personality, FLAVOR_SWEET) == -1) { *subscript = subscript_held_item_dislike_flavor; } else { *subscript = subscript_held_item_hp_restore; @@ -5163,7 +5163,7 @@ BOOL BattleSystem_TriggerHeldItemOnStatus(BattleSystem *battleSys, BattleContext battleCtx->hpCalcTemp = BattleSystem_Divide(battleCtx->battleMons[battler].maxHP, itemPower); battleCtx->msgTemp = FLAVOR_BITTER; - if (Pokemon_GetFlavorAffinityOf(battleCtx->battleMons[battler].personality, FLAVOR_BITTER) == -1) { + if (Personality_GetFlavorAffinity(battleCtx->battleMons[battler].personality, FLAVOR_BITTER) == -1) { *subscript = subscript_held_item_dislike_flavor; } else { *subscript = subscript_held_item_hp_restore; @@ -5178,7 +5178,7 @@ BOOL BattleSystem_TriggerHeldItemOnStatus(BattleSystem *battleSys, BattleContext battleCtx->hpCalcTemp = BattleSystem_Divide(battleCtx->battleMons[battler].maxHP, itemPower); battleCtx->msgTemp = FLAVOR_SOUR; - if (Pokemon_GetFlavorAffinityOf(battleCtx->battleMons[battler].personality, FLAVOR_SOUR) == -1) { + if (Personality_GetFlavorAffinity(battleCtx->battleMons[battler].personality, FLAVOR_SOUR) == -1) { *subscript = subscript_held_item_dislike_flavor; } else { *subscript = subscript_held_item_hp_restore; @@ -5607,7 +5607,7 @@ BOOL BattleSystem_PluckBerry(BattleSystem *battleSys, BattleContext *battleCtx, // Find the move that has the highest difference between its current // and maximum PP. maxDiff = 0; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (ATTACKING_MON.moves[i]) { diff = MoveTable_CalcMaxPP(ATTACKING_MON.moves[i], ATTACKING_MON.ppUps[i]) - ATTACKING_MON.ppCur[i]; @@ -5675,7 +5675,7 @@ BOOL BattleSystem_PluckBerry(BattleSystem *battleSys, BattleContext *battleCtx, battleCtx->hpCalcTemp = BattleSystem_Divide(ATTACKING_MON.maxHP, power); battleCtx->msgTemp = FLAVOR_SPICY; - if (Pokemon_GetFlavorAffinityOf(ATTACKING_MON.personality, FLAVOR_SPICY) == -1) { + if (Personality_GetFlavorAffinity(ATTACKING_MON.personality, FLAVOR_SPICY) == -1) { nextSeq = subscript_held_item_dislike_flavor; } else { nextSeq = subscript_held_item_hp_restore; @@ -5690,7 +5690,7 @@ BOOL BattleSystem_PluckBerry(BattleSystem *battleSys, BattleContext *battleCtx, battleCtx->hpCalcTemp = BattleSystem_Divide(ATTACKING_MON.maxHP, power); battleCtx->msgTemp = FLAVOR_DRY; - if (Pokemon_GetFlavorAffinityOf(ATTACKING_MON.personality, FLAVOR_DRY) == -1) { + if (Personality_GetFlavorAffinity(ATTACKING_MON.personality, FLAVOR_DRY) == -1) { nextSeq = subscript_held_item_dislike_flavor; } else { nextSeq = subscript_held_item_hp_restore; @@ -5705,7 +5705,7 @@ BOOL BattleSystem_PluckBerry(BattleSystem *battleSys, BattleContext *battleCtx, battleCtx->hpCalcTemp = BattleSystem_Divide(ATTACKING_MON.maxHP, power); battleCtx->msgTemp = FLAVOR_SWEET; - if (Pokemon_GetFlavorAffinityOf(ATTACKING_MON.personality, FLAVOR_SWEET) == -1) { + if (Personality_GetFlavorAffinity(ATTACKING_MON.personality, FLAVOR_SWEET) == -1) { nextSeq = subscript_held_item_dislike_flavor; } else { nextSeq = subscript_held_item_hp_restore; @@ -5720,7 +5720,7 @@ BOOL BattleSystem_PluckBerry(BattleSystem *battleSys, BattleContext *battleCtx, battleCtx->hpCalcTemp = BattleSystem_Divide(ATTACKING_MON.maxHP, power); battleCtx->msgTemp = FLAVOR_BITTER; - if (Pokemon_GetFlavorAffinityOf(ATTACKING_MON.personality, FLAVOR_BITTER) == -1) { + if (Personality_GetFlavorAffinity(ATTACKING_MON.personality, FLAVOR_BITTER) == -1) { nextSeq = subscript_held_item_dislike_flavor; } else { nextSeq = subscript_held_item_hp_restore; @@ -5735,7 +5735,7 @@ BOOL BattleSystem_PluckBerry(BattleSystem *battleSys, BattleContext *battleCtx, battleCtx->hpCalcTemp = BattleSystem_Divide(ATTACKING_MON.maxHP, power); battleCtx->msgTemp = FLAVOR_SOUR; - if (Pokemon_GetFlavorAffinityOf(ATTACKING_MON.personality, FLAVOR_SOUR) == -1) { + if (Personality_GetFlavorAffinity(ATTACKING_MON.personality, FLAVOR_SOUR) == -1) { nextSeq = subscript_held_item_dislike_flavor; } else { nextSeq = subscript_held_item_hp_restore; @@ -5906,7 +5906,7 @@ BOOL BattleSystem_FlingItem(BattleSystem *battleSys, BattleContext *battleCtx, i // Find the move that has the highest difference between its current // and maximum PP. maxDiff = 0; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (DEFENDING_MON.moves[i]) { diff = MoveTable_CalcMaxPP(DEFENDING_MON.moves[i], DEFENDING_MON.ppUps[i]) - DEFENDING_MON.ppCur[i]; @@ -5970,7 +5970,7 @@ BOOL BattleSystem_FlingItem(BattleSystem *battleSys, BattleContext *battleCtx, i battleCtx->flingTemp = BattleSystem_Divide(DEFENDING_MON.maxHP, effectPower); battleCtx->msgTemp = FLAVOR_SPICY; - if (Pokemon_GetFlavorAffinityOf(DEFENDING_MON.personality, FLAVOR_SPICY) == -1) { + if (Personality_GetFlavorAffinity(DEFENDING_MON.personality, FLAVOR_SPICY) == -1) { battleCtx->flingScript = subscript_held_item_dislike_flavor; } else { battleCtx->flingScript = subscript_held_item_hp_restore; @@ -5981,7 +5981,7 @@ BOOL BattleSystem_FlingItem(BattleSystem *battleSys, BattleContext *battleCtx, i battleCtx->flingTemp = BattleSystem_Divide(DEFENDING_MON.maxHP, effectPower); battleCtx->msgTemp = FLAVOR_DRY; - if (Pokemon_GetFlavorAffinityOf(DEFENDING_MON.personality, FLAVOR_DRY) == -1) { + if (Personality_GetFlavorAffinity(DEFENDING_MON.personality, FLAVOR_DRY) == -1) { battleCtx->flingScript = subscript_held_item_dislike_flavor; } else { battleCtx->flingScript = subscript_held_item_hp_restore; @@ -5992,7 +5992,7 @@ BOOL BattleSystem_FlingItem(BattleSystem *battleSys, BattleContext *battleCtx, i battleCtx->flingTemp = BattleSystem_Divide(DEFENDING_MON.maxHP, effectPower); battleCtx->msgTemp = FLAVOR_SWEET; - if (Pokemon_GetFlavorAffinityOf(DEFENDING_MON.personality, FLAVOR_SWEET) == -1) { + if (Personality_GetFlavorAffinity(DEFENDING_MON.personality, FLAVOR_SWEET) == -1) { battleCtx->flingScript = subscript_held_item_dislike_flavor; } else { battleCtx->flingScript = subscript_held_item_hp_restore; @@ -6003,7 +6003,7 @@ BOOL BattleSystem_FlingItem(BattleSystem *battleSys, BattleContext *battleCtx, i battleCtx->flingTemp = BattleSystem_Divide(DEFENDING_MON.maxHP, effectPower); battleCtx->msgTemp = FLAVOR_BITTER; - if (Pokemon_GetFlavorAffinityOf(DEFENDING_MON.personality, FLAVOR_BITTER) == -1) { + if (Personality_GetFlavorAffinity(DEFENDING_MON.personality, FLAVOR_BITTER) == -1) { battleCtx->flingScript = subscript_held_item_dislike_flavor; } else { battleCtx->flingScript = subscript_held_item_hp_restore; @@ -6014,7 +6014,7 @@ BOOL BattleSystem_FlingItem(BattleSystem *battleSys, BattleContext *battleCtx, i battleCtx->flingTemp = BattleSystem_Divide(DEFENDING_MON.maxHP, effectPower); battleCtx->msgTemp = FLAVOR_SOUR; - if (Pokemon_GetFlavorAffinityOf(DEFENDING_MON.personality, FLAVOR_SOUR) == -1) { + if (Personality_GetFlavorAffinity(DEFENDING_MON.personality, FLAVOR_SOUR) == -1) { battleCtx->flingScript = subscript_held_item_dislike_flavor; } else { battleCtx->flingScript = subscript_held_item_hp_restore; @@ -6238,7 +6238,7 @@ void BattleSystem_SetPokemonCatchData(BattleSystem *battleSys, BattleContext *ba int ball; if (BattleSystem_BattleType(battleSys) & BATTLE_TYPE_PAL_PARK) { - ball = Pokemon_GetValue(mon, MON_DATA_POKEBALL, NULL); + ball = Pokemon_GetData(mon, MON_DATA_POKEBALL, NULL); } else { ball = battleCtx->msgItemTemp; } @@ -6286,10 +6286,10 @@ BOOL BattleSystem_PokemonIsOT(BattleSystem *battleSys, Pokemon *mon) const charcode_t *trName = TrainerInfo_Name(trInfo); charcode_t monOTName[TRAINER_NAME_LEN + 1]; - Pokemon_GetValue(mon, MON_DATA_OT_NAME, monOTName); + Pokemon_GetData(mon, MON_DATA_OT_NAME, monOTName); - if (trID == Pokemon_GetValue(mon, MON_DATA_OT_ID, NULL) - && trGender == Pokemon_GetValue(mon, MON_DATA_OT_GENDER, NULL) + if (trID == Pokemon_GetData(mon, MON_DATA_OT_ID, NULL) + && trGender == Pokemon_GetData(mon, MON_DATA_OT_GENDER, NULL) && CharCode_CompareNumChars(trName, monOTName, TRAINER_NAME_LEN) == 0) { return TRUE; } @@ -6394,7 +6394,7 @@ BOOL BattleSystem_TriggerFormChange(BattleSystem *battleSys, BattleContext *batt if (battleCtx->battleMons[battleCtx->msgBattlerTemp].species == SPECIES_ARCEUS && battleCtx->battleMons[battleCtx->msgBattlerTemp].curHP && Battler_Ability(battleCtx, battleCtx->msgBattlerTemp) == ABILITY_MULTITYPE) { - arceusForm = Pokemon_GetArceusTypeOf(Item_LoadParam(battleCtx->battleMons[battleCtx->msgBattlerTemp].heldItem, ITEM_PARAM_HOLD_EFFECT, HEAP_ID_BATTLE)); + arceusForm = HoldEffect_GetArceusType(Item_LoadParam(battleCtx->battleMons[battleCtx->msgBattlerTemp].heldItem, ITEM_PARAM_HOLD_EFFECT, HEAP_ID_BATTLE)); if (battleCtx->battleMons[battleCtx->msgBattlerTemp].formNum != arceusForm) { battleCtx->battleMons[battleCtx->msgBattlerTemp].formNum = arceusForm; @@ -6424,19 +6424,19 @@ BOOL BattleSystem_TriggerFormChange(BattleSystem *battleSys, BattleContext *batt // Don't copy the Griseous Orb int tmp = ITEM_NONE; - Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, &tmp); + Pokemon_SetData(mon, MON_DATA_HELD_ITEM, &tmp); // Force Giratina-Altered form tmp = GIRATINA_FORM_ALTERED; - Pokemon_SetValue(mon, MON_DATA_FORM, &tmp); - Pokemon_SetGiratinaFormByHeldItem(mon); - - battleCtx->battleMons[battleCtx->msgBattlerTemp].attack = Pokemon_GetValue(mon, MON_DATA_ATK, 0); - battleCtx->battleMons[battleCtx->msgBattlerTemp].defense = Pokemon_GetValue(mon, MON_DATA_DEF, 0); - battleCtx->battleMons[battleCtx->msgBattlerTemp].speed = Pokemon_GetValue(mon, MON_DATA_SPEED, 0); - battleCtx->battleMons[battleCtx->msgBattlerTemp].spAttack = Pokemon_GetValue(mon, MON_DATA_SP_ATK, 0); - battleCtx->battleMons[battleCtx->msgBattlerTemp].spDefense = Pokemon_GetValue(mon, MON_DATA_SP_DEF, 0); - battleCtx->battleMons[battleCtx->msgBattlerTemp].ability = Pokemon_GetValue(mon, MON_DATA_ABILITY, 0); + Pokemon_SetData(mon, MON_DATA_FORM, &tmp); + Pokemon_UpdateGiratinaForm(mon); + + battleCtx->battleMons[battleCtx->msgBattlerTemp].attack = Pokemon_GetData(mon, MON_DATA_ATK, 0); + battleCtx->battleMons[battleCtx->msgBattlerTemp].defense = Pokemon_GetData(mon, MON_DATA_DEF, 0); + battleCtx->battleMons[battleCtx->msgBattlerTemp].speed = Pokemon_GetData(mon, MON_DATA_SPEED, 0); + battleCtx->battleMons[battleCtx->msgBattlerTemp].spAttack = Pokemon_GetData(mon, MON_DATA_SP_ATK, 0); + battleCtx->battleMons[battleCtx->msgBattlerTemp].spDefense = Pokemon_GetData(mon, MON_DATA_SP_DEF, 0); + battleCtx->battleMons[battleCtx->msgBattlerTemp].ability = Pokemon_GetData(mon, MON_DATA_ABILITY, 0); battleCtx->battleMons[battleCtx->msgBattlerTemp].formNum = GIRATINA_FORM_ALTERED; battleCtx->battleStatusMask2 |= SYSCTL_FORM_CHANGE; @@ -7705,7 +7705,7 @@ static u8 Battler_MonType(BattleContext *battleCtx, int battler, enum BattleMonP */ static void BattleAI_ClearKnownMoves(BattleContext *battleCtx, u8 battler) { - for (int i = 0; i < LEARNED_MOVES_MAX; i++) { + for (int i = 0; i < MAX_MON_MOVES; i++) { battleCtx->aiContext.battlerMoves[battler][i] = MOVE_NONE; } } @@ -7957,11 +7957,11 @@ int BattleAI_PostKOSwitchIn(BattleSystem *battleSys, int battler) for (i = 0; i < partySize; i++) { mon = BattleSystem_PartyPokemon(battleSys, battler, i); - monSpecies = Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL); + monSpecies = Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL); if (monSpecies != SPECIES_NONE && monSpecies != SPECIES_EGG - && Pokemon_GetValue(mon, MON_DATA_HP, NULL) + && Pokemon_GetData(mon, MON_DATA_HP, NULL) && (battlersDisregarded & FlagIndex(i)) == FALSE && battleCtx->selectedPartySlot[slot1] != i && battleCtx->selectedPartySlot[slot2] != i @@ -7969,8 +7969,8 @@ int BattleAI_PostKOSwitchIn(BattleSystem *battleSys, int battler) && i != battleCtx->aiSwitchedPartySlot[slot2]) { defenderType1 = BattleMon_Get(battleCtx, defender, BATTLEMON_TYPE_1, NULL); defenderType2 = BattleMon_Get(battleCtx, defender, BATTLEMON_TYPE_2, NULL); - monType1 = Pokemon_GetValue(mon, MON_DATA_TYPE_1, NULL); - monType2 = Pokemon_GetValue(mon, MON_DATA_TYPE_2, NULL); + monType1 = Pokemon_GetData(mon, MON_DATA_TYPE_1, NULL); + monType2 = Pokemon_GetData(mon, MON_DATA_TYPE_2, NULL); score = BattleSystem_TypeMatchupMultiplier(monType1, defenderType1, defenderType2); score += BattleSystem_TypeMatchupMultiplier(monType2, defenderType1, defenderType2); @@ -7988,8 +7988,8 @@ int BattleAI_PostKOSwitchIn(BattleSystem *battleSys, int battler) // Determine if this mon has any super-effective moves against the defender mon = BattleSystem_PartyPokemon(battleSys, battler, picked); - for (i = 0; i < LEARNED_MOVES_MAX; i++) { - move = Pokemon_GetValue(mon, MON_DATA_MOVE1 + i, NULL); + for (i = 0; i < MAX_MON_MOVES; i++) { + move = Pokemon_GetData(mon, MON_DATA_MOVE1 + i, NULL); moveType = Move_CalcVariableType(battleSys, battleCtx, mon, move); if (move) { @@ -7997,7 +7997,7 @@ int BattleAI_PostKOSwitchIn(BattleSystem *battleSys, int battler) BattleSystem_CalcEffectiveness(battleCtx, move, moveType, - Pokemon_GetValue(mon, MON_DATA_ABILITY, NULL), + Pokemon_GetData(mon, MON_DATA_ABILITY, NULL), Battler_Ability(battleCtx, defender), Battler_HeldItemEffect(battleCtx, defender), BattleMon_Get(battleCtx, defender, BATTLEMON_TYPE_1, NULL), @@ -8012,7 +8012,7 @@ int BattleAI_PostKOSwitchIn(BattleSystem *battleSys, int battler) // If this mon has no moves which would be super-effective against the // defender, mark it as disregarded and move to the next in priority. - if (i == LEARNED_MOVES_MAX) { + if (i == MAX_MON_MOVES) { battlersDisregarded |= FlagIndex(picked); } else { return picked; @@ -8032,17 +8032,17 @@ int BattleAI_PostKOSwitchIn(BattleSystem *battleSys, int battler) // party-order. for (i = 0; i < partySize; i++) { mon = BattleSystem_PartyPokemon(battleSys, battler, i); - monSpecies = Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL); + monSpecies = Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL); if (monSpecies != SPECIES_NONE && monSpecies != SPECIES_EGG - && Pokemon_GetValue(mon, MON_DATA_HP, NULL) + && Pokemon_GetData(mon, MON_DATA_HP, NULL) && battleCtx->selectedPartySlot[slot1] != i && battleCtx->selectedPartySlot[slot2] != i && i != battleCtx->aiSwitchedPartySlot[slot1] && i != battleCtx->aiSwitchedPartySlot[slot2]) { - for (j = 0; j < LEARNED_MOVES_MAX; j++) { - move = Pokemon_GetValue(mon, MON_DATA_MOVE1 + j, NULL); + for (j = 0; j < MAX_MON_MOVES; j++) { + move = Pokemon_GetData(mon, MON_DATA_MOVE1 + j, NULL); moveType = Move_CalcVariableType(battleSys, battleCtx, mon, move); if (move && MOVE_DATA(move).power != 1) { @@ -8095,11 +8095,11 @@ int Move_CalcVariableType(BattleSystem *battleSys, BattleContext *battleCtx, Pok switch (move) { case MOVE_NATURAL_GIFT: - type = BattleSystem_GetItemData(battleCtx, Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL), ITEM_PARAM_NATURAL_GIFT_TYPE); + type = BattleSystem_GetItemData(battleCtx, Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL), ITEM_PARAM_NATURAL_GIFT_TYPE); break; case MOVE_JUDGMENT: - switch (BattleSystem_GetItemData(battleCtx, Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL), ITEM_PARAM_HOLD_EFFECT)) { + switch (BattleSystem_GetItemData(battleCtx, Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL), ITEM_PARAM_HOLD_EFFECT)) { case HOLD_EFFECT_ARCEUS_FIGHTING: type = TYPE_FIGHTING; break; @@ -8155,12 +8155,12 @@ int Move_CalcVariableType(BattleSystem *battleSys, BattleContext *battleCtx, Pok break; case MOVE_HIDDEN_POWER: - type = ((Pokemon_GetValue(mon, MON_DATA_HP_IV, NULL) & 1) >> 0) - | ((Pokemon_GetValue(mon, MON_DATA_ATK_IV, NULL) & 1) << 1) - | ((Pokemon_GetValue(mon, MON_DATA_DEF_IV, NULL) & 1) << 2) - | ((Pokemon_GetValue(mon, MON_DATA_SPEED_IV, NULL) & 1) << 3) - | ((Pokemon_GetValue(mon, MON_DATA_SPATK_IV, NULL) & 1) << 4) - | ((Pokemon_GetValue(mon, MON_DATA_SPDEF_IV, NULL) & 1) << 5); + type = ((Pokemon_GetData(mon, MON_DATA_HP_IV, NULL) & 1) >> 0) + | ((Pokemon_GetData(mon, MON_DATA_ATK_IV, NULL) & 1) << 1) + | ((Pokemon_GetData(mon, MON_DATA_DEF_IV, NULL) & 1) << 2) + | ((Pokemon_GetData(mon, MON_DATA_SPEED_IV, NULL) & 1) << 3) + | ((Pokemon_GetData(mon, MON_DATA_SPATK_IV, NULL) & 1) << 4) + | ((Pokemon_GetData(mon, MON_DATA_SPDEF_IV, NULL) & 1) << 5); type = (type * 15 / 63) + 1; if (type >= TYPE_MYSTERY) { diff --git a/src/battle/battle_script.c b/src/battle/battle_script.c index c7446aeb4f..e36c492c2f 100644 --- a/src/battle/battle_script.c +++ b/src/battle/battle_script.c @@ -2421,19 +2421,19 @@ static BOOL BtlCmd_CalcExpGain(BattleSystem *battleSys, BattleContext *battleCtx for (i = 0; i < Party_GetCurrentCount(BattleSystem_Party(battleSys, BATTLER_US)); i++) { Pokemon *mon = BattleSystem_PartyPokemon(battleSys, BATTLER_US, i); - if (Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL) && Pokemon_GetValue(mon, MON_DATA_HP, NULL)) { + if (Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) && Pokemon_GetData(mon, MON_DATA_HP, NULL)) { if (battleCtx->sideGetExpMask[(battleCtx->faintedMon >> 1) & 1] & FlagIndex(i)) { totalMonsGainingExp++; } - u16 item = Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL); + u16 item = Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL); if (BattleSystem_GetItemData(battleCtx, item, ITEM_PARAM_HOLD_EFFECT) == HOLD_EFFECT_EXP_SHARE) { totalMonsWithExpShare++; } } } - u16 exp = SpeciesData_GetSpeciesValue(battleCtx->battleMons[battleCtx->faintedMon].species, SPECIES_DATA_BASE_EXP_REWARD); + u16 exp = Species_GetValue(battleCtx->battleMons[battleCtx->faintedMon].species, SPECIES_DATA_EXP_YIELD); exp = (exp * battleCtx->battleMons[battleCtx->faintedMon].level) / 7; if (totalMonsWithExpShare) { @@ -4758,12 +4758,12 @@ static BOOL BtlCmd_Metronome(BattleSystem *battleSys, BattleContext *battleCtx) u16 move = (BattleSystem_RandNext(battleSys) % NUM_VALID_MOVES) + 1; // Do not try to invoke a move that we already know. - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (ATTACKING_MON.moves[i] == move) { break; } } - if (i != LEARNED_MOVES_MAX) { + if (i != MAX_MON_MOVES) { continue; } @@ -4804,7 +4804,7 @@ static BOOL BtlCmd_TryDisable(BattleSystem *battleSys, BattleContext *battleCtx) int moveSlot = Battler_SlotForMove(&DEFENDING_MON, DEFENDER_LAST_MOVE); if (DEFENDING_MON.moveEffectsData.disabledMove == MOVE_NONE - && moveSlot != LEARNED_MOVES_MAX + && moveSlot != MAX_MON_MOVES && DEFENDING_MON.ppCur[moveSlot] && DEFENDER_LAST_MOVE) { battleCtx->msgMoveTemp = DEFENDER_LAST_MOVE; @@ -4947,11 +4947,11 @@ static BOOL BtlCmd_TryEncore(BattleSystem *battleSys, BattleContext *battleCtx) int moveSlot = Battler_SlotForMove(&DEFENDING_MON, DEFENDER_LAST_MOVE); if (Move_CanBeEncored(battleCtx, DEFENDER_LAST_MOVE) == FALSE) { - moveSlot = LEARNED_MOVES_MAX; + moveSlot = MAX_MON_MOVES; } if (DEFENDING_MON.moveEffectsData.encoredMove == MOVE_NONE - && moveSlot != LEARNED_MOVES_MAX + && moveSlot != MAX_MON_MOVES && DEFENDING_MON.ppCur[moveSlot] && DEFENDER_LAST_MOVE) { battleCtx->msgMoveTemp = DEFENDER_LAST_MOVE; @@ -5070,7 +5070,7 @@ static BOOL BtlCmd_TrySketch(BattleSystem *battleSys, BattleContext *battleCtx) BattleScript_Iter(battleCtx, jumpOnFail); } else { int i; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { // Don't allow Sketching a move that we already know if (ATTACKING_MON.moves[i] != MOVE_SKETCH && ATTACKING_MON.moves[i] == battleCtx->moveSketched[battleCtx->defender]) { @@ -5083,7 +5083,7 @@ static BOOL BtlCmd_TrySketch(BattleSystem *battleSys, BattleContext *battleCtx) } } - if (i == LEARNED_MOVES_MAX) { + if (i == MAX_MON_MOVES) { // Teach the attacker the Sketched move with default PP ATTACKING_MON.moves[moveSlot] = battleCtx->moveSketched[battleCtx->defender]; ATTACKING_MON.ppCur[moveSlot] = MOVE_DATA(battleCtx->moveSketched[battleCtx->defender]).pp; @@ -5147,7 +5147,7 @@ static BOOL BtlCmd_TrySleepTalk(BattleSystem *battleSys, BattleContext *battleCt BattleScript_Iter(battleCtx, jumpOnFail); } else { do { - i = BattleSystem_RandNext(battleSys) % LEARNED_MOVES_MAX; + i = BattleSystem_RandNext(battleSys) % MAX_MON_MOVES; } while (invalidMovesMask & FlagIndex(i)); battleCtx->msgMoveTemp = ATTACKING_MON.moves[i]; @@ -5212,7 +5212,7 @@ static BOOL BtlCmd_TrySpite(BattleSystem *battleSys, BattleContext *battleCtx) if (DEFENDER_LAST_MOVE) { int moveSlot = Battler_SlotForMove(&DEFENDING_MON, DEFENDER_LAST_MOVE); - if (moveSlot == LEARNED_MOVES_MAX || DEFENDING_MON.ppCur[moveSlot] == 0) { + if (moveSlot == MAX_MON_MOVES || DEFENDING_MON.ppCur[moveSlot] == 0) { BattleScript_Iter(battleCtx, jumpOnFail); } else { int dec = 4; @@ -5503,9 +5503,9 @@ static BOOL BtlCmd_TryWhirlwind(BattleSystem *battleSys, BattleContext *battleCt for (i = partyStart; i < partyEnd; i++) { mon = Party_GetPokemonBySlotIndex(defenderParty, i); - if (Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL) - && Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) == FALSE - && Pokemon_GetValue(mon, MON_DATA_HP, NULL)) { + if (Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) + && Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL) == FALSE + && Pokemon_GetData(mon, MON_DATA_HP, NULL)) { eligibleMons++; } } @@ -5522,9 +5522,9 @@ static BOOL BtlCmd_TryWhirlwind(BattleSystem *battleSys, BattleContext *battleCt } while (i == selectedSlot1 || i == selectedSlot2); mon = Party_GetPokemonBySlotIndex(defenderParty, i); - } while (Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL) == SPECIES_NONE - || Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) == TRUE - || Pokemon_GetValue(mon, MON_DATA_HP, NULL) == 0); + } while (Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) == SPECIES_NONE + || Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL) == TRUE + || Pokemon_GetData(mon, MON_DATA_HP, NULL) == 0); battleCtx->switchedPartySlot[battleCtx->defender] = i; } else { @@ -5579,7 +5579,7 @@ static BOOL BtlCmd_Transform(BattleSystem *battleSys, BattleContext *battleCtx) ATTACKING_MON.slowStartAnnounced = FALSE; ATTACKING_MON.slowStartFinished = FALSE; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (MOVE_DATA(ATTACKING_MON.moves[i]).pp < 5) { ATTACKING_MON.ppCur[i] = MOVE_DATA(ATTACKING_MON.moves[i]).pp; } else { @@ -6375,10 +6375,10 @@ static BOOL BtlCmd_TryTeleport(BattleSystem *battleSys, BattleContext *battleCtx static inline BOOL BeatUpEligibleMon(BattleContext *battleCtx, Pokemon *mon) { return battleCtx->beatUpCounter == battleCtx->selectedPartySlot[battleCtx->attacker] - || (Pokemon_GetValue(mon, MON_DATA_HP, NULL) != 0 - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG - && Pokemon_GetValue(mon, MON_DATA_STATUS, NULL) == MON_CONDITION_NONE); + || (Pokemon_GetData(mon, MON_DATA_HP, NULL) != 0 + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG + && Pokemon_GetData(mon, MON_DATA_STATUS, NULL) == MON_CONDITION_NONE); } /** @@ -6417,14 +6417,14 @@ static BOOL BtlCmd_BeatUp(BattleSystem *battleSys, BattleContext *battleCtx) } mon = BattleSystem_PartyPokemon(battleSys, battleCtx->attacker, battleCtx->beatUpCounter); - species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - form = Pokemon_GetValue(mon, MON_DATA_FORM, NULL); - level = Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL); + species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + form = Pokemon_GetData(mon, MON_DATA_FORM, NULL); + level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); - battleCtx->damage = SpeciesData_GetFormValue(species, form, SPECIES_DATA_BASE_ATK); + battleCtx->damage = Species_GetFormValue(species, form, SPECIES_DATA_BASE_ATK); battleCtx->damage *= CURRENT_MOVE_DATA.power; battleCtx->damage *= ((level * 2 / 5) + 2); - battleCtx->damage /= SpeciesData_GetFormValue(DEFENDING_MON.species, DEFENDING_MON.formNum, SPECIES_DATA_BASE_DEF); + battleCtx->damage /= Species_GetFormValue(DEFENDING_MON.species, DEFENDING_MON.formNum, SPECIES_DATA_BASE_DEF); battleCtx->damage /= 50; battleCtx->damage += 2; battleCtx->damage *= battleCtx->criticalMul; @@ -6624,7 +6624,7 @@ static BOOL BtlCmd_TryAssist(BattleSystem *battleSys, BattleContext *battleCtx) { // must declare C89-style to match int jumpOnFail; - u16 moves[MAX_PARTY_SIZE * LEARNED_MOVES_MAX], move; + u16 moves[MAX_PARTY_SIZE * MAX_MON_MOVES], move; int i, j; int partyCount; int numMoves; @@ -6641,10 +6641,10 @@ static BOOL BtlCmd_TryAssist(BattleSystem *battleSys, BattleContext *battleCtx) } mon = BattleSystem_PartyPokemon(battleSys, battleCtx->attacker, i); - if (Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { - for (j = 0; j < LEARNED_MOVES_MAX; j++) { - move = Pokemon_GetValue(mon, MON_DATA_MOVE1 + j, NULL); + if (Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { + for (j = 0; j < MAX_MON_MOVES; j++) { + move = Pokemon_GetData(mon, MON_DATA_MOVE1 + j, NULL); if (Move_IsInvoker(move) == FALSE && Move_CanBeMetronomed(battleSys, battleCtx, battleCtx->attacker, move) == TRUE) { moves[numMoves] = move; numMoves++; @@ -6916,8 +6916,8 @@ static BOOL BtlCmd_TryImprison(BattleSystem *battleSys, BattleContext *battleCtx // Check that the Imprisoning mon knows at least 1 move that the active defenders know for (battler = 0; battler < maxBattlers; battler++) { if (attackingSide != Battler_Side(battleSys, battler)) { - for (i = 0; i < LEARNED_MOVES_MAX; i++) { - for (j = 0; j < LEARNED_MOVES_MAX; j++) { + for (i = 0; i < MAX_MON_MOVES; i++) { + for (j = 0; j < MAX_MON_MOVES; j++) { if (ATTACKING_MON.moves[i] == battleCtx->battleMons[battler].moves[j] && ATTACKING_MON.moves[i] && battleCtx->battleMons[battler].moves[j]) { @@ -6925,12 +6925,12 @@ static BOOL BtlCmd_TryImprison(BattleSystem *battleSys, BattleContext *battleCtx } } - if (j != LEARNED_MOVES_MAX) { + if (j != MAX_MON_MOVES) { break; } } - if (j != LEARNED_MOVES_MAX) { + if (j != MAX_MON_MOVES) { break; } } @@ -8008,9 +8008,9 @@ static BOOL BtlCmd_GenerateEndOfBattleItem(BattleSystem *battleSys, BattleContex for (i = 0; i < BattleSystem_PartyCount(battleSys, BATTLER_US); i++) { mon = BattleSystem_PartyPokemon(battleSys, BATTLER_US, i); - species = Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL); - item = Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL); - ability = Pokemon_GetValue(mon, MON_DATA_ABILITY, NULL); + species = Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL); + item = Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL); + ability = Pokemon_GetData(mon, MON_DATA_ABILITY, NULL); if (ability == ABILITY_PICKUP && species != SPECIES_NONE @@ -8020,7 +8020,7 @@ static BOOL BtlCmd_GenerateEndOfBattleItem(BattleSystem *battleSys, BattleContex rnd = BattleSystem_RandNext(battleSys) % 100; // determine what offset of the sliding table to start from - level = (Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL) - 1) / 10; + level = (Pokemon_GetData(mon, MON_DATA_LEVEL, NULL) - 1) / 10; if (level >= COMMON_PICKUP_ENTRIES + 1) { // must use GTE to match; does not match with GT level = COMMON_PICKUP_ENTRIES; @@ -8029,12 +8029,12 @@ static BOOL BtlCmd_GenerateEndOfBattleItem(BattleSystem *battleSys, BattleContex // find the item to generate for (j = 0; j < COMMON_PICKUP_ENTRIES; j++) { if (sCommonPickupRate[j] > rnd) { - Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, &sCommonPickupItems[level + j]); + Pokemon_SetData(mon, MON_DATA_HELD_ITEM, &sCommonPickupItems[level + j]); break; } if (rnd >= 98 && rnd <= 99) { - Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, &sRarePickupItems[level + (99 - rnd)]); + Pokemon_SetData(mon, MON_DATA_HELD_ITEM, &sRarePickupItems[level + (99 - rnd)]); break; } } @@ -8046,7 +8046,7 @@ static BOOL BtlCmd_GenerateEndOfBattleItem(BattleSystem *battleSys, BattleContex && item == ITEM_NONE) { j = 0; max = 10; - level = Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL); + level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); // floor the Pokemon's level by ranges of 10 // e.g., levels 1-10 eval to 0, levels 21-30 eval to 2, etc. @@ -8059,7 +8059,7 @@ static BOOL BtlCmd_GenerateEndOfBattleItem(BattleSystem *battleSys, BattleContex if (BattleSystem_RandNext(battleSys) % 100 < sHoneyGatherRate[j]) { j = ITEM_HONEY; - Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, &j); + Pokemon_SetData(mon, MON_DATA_HELD_ITEM, &j); } } } @@ -9089,9 +9089,9 @@ static BOOL BtlCmd_CheckBlackOut(BattleSystem *battleSys, BattleContext *battleC for (i = 0; i < Party_GetCurrentCount(party1); i++) { mon = Party_GetPokemonBySlotIndex(party1, i); - if (Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { - aliveMons += Pokemon_GetValue(mon, MON_DATA_HP, NULL); + if (Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { + aliveMons += Pokemon_GetData(mon, MON_DATA_HP, NULL); } } @@ -9103,9 +9103,9 @@ static BOOL BtlCmd_CheckBlackOut(BattleSystem *battleSys, BattleContext *battleC for (i = 0; i < Party_GetCurrentCount(party2); i++) { mon = Party_GetPokemonBySlotIndex(party2, i); - if (Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { - aliveMons += Pokemon_GetValue(mon, MON_DATA_HP, NULL); + if (Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { + aliveMons += Pokemon_GetData(mon, MON_DATA_HP, NULL); } } } @@ -9120,9 +9120,9 @@ static BOOL BtlCmd_CheckBlackOut(BattleSystem *battleSys, BattleContext *battleC for (i = 0; i < Party_GetCurrentCount(party); i++) { mon = Party_GetPokemonBySlotIndex(party, i); - if (Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { - aliveMons += Pokemon_GetValue(mon, MON_DATA_HP, NULL); + if (Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { + aliveMons += Pokemon_GetData(mon, MON_DATA_HP, NULL); } } @@ -9364,8 +9364,8 @@ static BOOL BtlCmd_TryRestoreStatusOnSwitch(BattleSystem *battleSys, BattleConte int battler = BattleScript_Battler(battleSys, battleCtx, inBattler); if (battleCtx->battleMons[battler].curHP && battleCtx->selectedPartySlot[battler] != 6) { Pokemon *mon = BattleSystem_PartyPokemon(battleSys, battler, battleCtx->selectedPartySlot[battler]); - int ability = Pokemon_GetValue(mon, MON_DATA_ABILITY, NULL); - int status = Pokemon_GetValue(mon, MON_DATA_STATUS, NULL); + int ability = Pokemon_GetData(mon, MON_DATA_ABILITY, NULL); + int status = Pokemon_GetData(mon, MON_DATA_STATUS, NULL); if (battleCtx->battleMons[battler].ability != ABILITY_NATURAL_CURE && Ability_ForbidsStatus(battleCtx, ability, status) == FALSE) { @@ -9638,7 +9638,7 @@ static BOOL BtlCmd_LoadArchivedMonData(BattleSystem *battleSys, BattleContext *b int personalParam = BattleScript_Read(battleCtx); int *form = BattleScript_VarAddress(battleSys, battleCtx, formVar); - battleCtx->calcTemp = SpeciesData_GetFormValue(species, *form, personalParam); + battleCtx->calcTemp = Species_GetFormValue(species, *form, personalParam); return FALSE; } @@ -9924,7 +9924,7 @@ static void BattleScript_GetExpTask(SysTask *task, void *inData) // Figure out which mon we're working on for (slot = data->tmpData[6]; slot < BattleSystem_PartyCount(data->battleSys, expBattler); slot++) { mon = BattleSystem_PartyPokemon(data->battleSys, expBattler, slot); - item = Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL); + item = Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL); itemEffect = Item_LoadParam(item, ITEM_PARAM_HOLD_EFFECT, HEAP_ID_BATTLE); if (itemEffect == HOLD_EFFECT_EXP_SHARE || (data->battleCtx->sideGetExpMask[battler] & FlagIndex(slot))) { @@ -9942,7 +9942,7 @@ static void BattleScript_GetExpTask(SysTask *task, void *inData) switch (data->seqNum) { case SEQ_GET_EXP_START: { - item = Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL); + item = Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL); itemEffect = Item_LoadParam(item, ITEM_PARAM_HOLD_EFFECT, HEAP_ID_BATTLE); // Declare victory if all wild mons have been defeated @@ -9950,7 +9950,7 @@ static void BattleScript_GetExpTask(SysTask *task, void *inData) && data->battleCtx->battleMons[BATTLER_ENEMY_1].curHP + data->battleCtx->battleMons[BATTLER_ENEMY_2].curHP == 0 - && Pokemon_GetValue(mon, MON_DATA_HP, NULL) + && Pokemon_GetData(mon, MON_DATA_HP, NULL) && data->battleCtx->expJinglePlayed == FALSE) { Sound_PlayBGM(SEQ_VICTORY_WILD_POKEMON); data->battleCtx->expJinglePlayed = TRUE; @@ -9960,7 +9960,7 @@ static void BattleScript_GetExpTask(SysTask *task, void *inData) u32 totalExp = 0; msg.id = 1; // "{0} gained {1} Exp. Points!" - if (Pokemon_GetValue(mon, MON_DATA_HP, NULL) && Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL) != 100) { + if (Pokemon_GetData(mon, MON_DATA_HP, NULL) && Pokemon_GetData(mon, MON_DATA_LEVEL, NULL) != 100) { if (data->battleCtx->sideGetExpMask[battler] & FlagIndex(slot)) { totalExp = data->battleCtx->gainedExp; } @@ -9978,7 +9978,7 @@ static void BattleScript_GetExpTask(SysTask *task, void *inData) } if (BattleSystem_PokemonIsOT(data->battleSys, mon) == FALSE) { - if (Pokemon_GetValue(mon, MON_DATA_LANGUAGE, NULL) != gGameLanguage) { + if (Pokemon_GetData(mon, MON_DATA_LANGUAGE, NULL) != gGameLanguage) { totalExp = totalExp * 170 / 100; } else { totalExp = totalExp * 150 / 100; @@ -9987,7 +9987,7 @@ static void BattleScript_GetExpTask(SysTask *task, void *inData) msg.id = 2; // "{0} gained a boosted {1} Exp. Points!" } - u32 newExp = Pokemon_GetValue(mon, MON_DATA_EXPERIENCE, NULL); + u32 newExp = Pokemon_GetData(mon, MON_DATA_EXPERIENCE, NULL); data->tmpData[3] = newExp - Pokemon_GetCurrentLevelBaseExp(mon); newExp += totalExp; @@ -9995,7 +9995,7 @@ static void BattleScript_GetExpTask(SysTask *task, void *inData) data->battleCtx->battleMons[expBattler].exp = newExp; } - Pokemon_SetValue(mon, MON_DATA_EXPERIENCE, &newExp); + Pokemon_SetData(mon, MON_DATA_EXPERIENCE, &newExp); BattleScript_CalcEffortValues(BattleSystem_Party(data->battleSys, expBattler), slot, data->battleCtx->battleMons[data->battleCtx->faintedMon].species, @@ -10046,7 +10046,7 @@ static void BattleScript_GetExpTask(SysTask *task, void *inData) break; case SEQ_GET_EXP_CHECK_LEVEL_UP: - if (Pokemon_ShouldLevelUp(mon)) { + if (Pokemon_TryLevelUp(mon)) { // Only play the special level-up animation for an active battler if (data->battleCtx->selectedPartySlot[expBattler] == slot) { BattleIO_PlayStatusEffect(data->battleSys, data->battleCtx, expBattler, BATTLE_ANIMATION_LEVEL_UP); @@ -10069,13 +10069,13 @@ static void BattleScript_GetExpTask(SysTask *task, void *inData) MON_DATA_SP_DEF, MON_DATA_SPEED }; - int level = Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL); + int level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); // Cache the stats from the previous level for later data->battleCtx->tmpData = Heap_Alloc(HEAP_ID_BATTLE, sizeof(PokemonStats)); PokemonStats *oldStats = data->battleCtx->tmpData; for (i = 0; i < STAT_MAX; i++) { - oldStats->stat[i] = Pokemon_GetValue(mon, statParams[i], NULL); + oldStats->stat[i] = Pokemon_GetData(mon, statParams[i], NULL); } Pokemon_UpdateFriendship(mon, FRIENDSHIP_EVENT_LEVEL_UP, BattleSystem_MapHeader(data->battleSys)); @@ -10159,7 +10159,7 @@ static void BattleScript_GetExpTask(SysTask *task, void *inData) msg.id = 948; // "+{0}" msg.tags = TAG_NUMBERS; - msg.params[0] = Pokemon_GetValue(mon, statParams[i], NULL) - oldStats->stat[i]; + msg.params[0] = Pokemon_GetData(mon, statParams[i], NULL) - oldStats->stat[i]; msg.digits = 2; BattleMessage_PrintToWindow(data->battleSys, window, msgLoader, &msg, 80, 16 * i, 0x2, 28, 0); @@ -10186,7 +10186,7 @@ static void BattleScript_GetExpTask(SysTask *task, void *inData) for (i = 0; i < STAT_MAX; i++) { msg.id = 949; // just a number msg.tags = TAG_NUMBERS; - msg.params[0] = Pokemon_GetValue(mon, statParams[i], NULL); + msg.params[0] = Pokemon_GetData(mon, statParams[i], NULL); msg.digits = 3; BattleMessage_PrintToWindow(data->battleSys, window, msgLoader, &msg, 72, 16 * i, 0x2, 36, 0); @@ -10229,7 +10229,7 @@ static void BattleScript_GetExpTask(SysTask *task, void *inData) u16 move; BgConfig *bgl = BattleSystem_BGL(data->battleSys); // unused, but must be kept to match - switch (Pokemon_LevelUpMove(mon, &data->tmpData[GET_EXP_LEARNSET_INDEX], &move)) { + switch (Pokemon_TryLevelUpMove(mon, &data->tmpData[GET_EXP_LEARNSET_INDEX], &move)) { case LEARNSET_MOVE_ALREADY_KNOWN: // go to the next move possibly learnable for a given level break; @@ -10372,7 +10372,7 @@ static void BattleScript_GetExpTask(SysTask *task, void *inData) msg.id = 1190; // "{0} forgot how to use {1}." msg.tags = TAG_NICKNAME_MOVE; msg.params[0] = expBattler | (slot << 8); - msg.params[1] = Pokemon_GetValue(mon, 54 + data->tmpData[5], NULL); + msg.params[1] = Pokemon_GetData(mon, 54 + data->tmpData[5], NULL); data->tmpData[GET_EXP_MSG_INDEX] = BattleMessage_Print(data->battleSys, msgLoader, &msg, BattleSystem_TextSpeed(data->battleSys)); data->seqNum++; break; @@ -10392,8 +10392,8 @@ static void BattleScript_GetExpTask(SysTask *task, void *inData) data->tmpData[GET_EXP_MSG_INDEX] = BattleMessage_Print(data->battleSys, msgLoader, &msg, BattleSystem_TextSpeed(data->battleSys)); i = 0; - Pokemon_SetValue(mon, MON_DATA_MOVE1_PP_UPS + data->tmpData[GET_EXP_MOVE_SLOT], &i); - Pokemon_SetMoveSlot(mon, data->tmpData[GET_EXP_MOVE], data->tmpData[GET_EXP_MOVE_SLOT]); + Pokemon_SetData(mon, MON_DATA_MOVE1_PP_UPS + data->tmpData[GET_EXP_MOVE_SLOT], &i); + Pokemon_SetMoveInSlot(mon, data->tmpData[GET_EXP_MOVE], data->tmpData[GET_EXP_MOVE_SLOT]); if (data->battleCtx->selectedPartySlot[expBattler] == slot) { BattleSystem_ReloadPokemon(data->battleSys, @@ -10446,15 +10446,15 @@ static void BattleScript_CalcEffortValues(Party *party, int slot, int species, i u16 item; int itemEffect; int itemPower; - SpeciesData *personal = SpeciesData_FromMonForm(species, form, HEAP_ID_BATTLE); + SpeciesData *personal = SpeciesData_NewFromForm(species, form, HEAP_ID_BATTLE); Pokemon *mon = Party_GetPokemonBySlotIndex(party, slot); - item = Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL); + item = Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL); itemEffect = Item_LoadParam(item, ITEM_PARAM_HOLD_EFFECT, HEAP_ID_BATTLE); itemPower = Item_LoadParam(item, ITEM_PARAM_HOLD_EFFECT_PARAM, HEAP_ID_BATTLE); sumEVs = 0; for (stat = 0; stat < STAT_MAX; stat++) { - curEVs[stat] = Pokemon_GetValue(mon, MON_DATA_HP_EV + stat, NULL); + curEVs[stat] = Pokemon_GetData(mon, MON_DATA_HP_EV + stat, NULL); sumEVs += curEVs[stat]; } @@ -10507,7 +10507,7 @@ static void BattleScript_CalcEffortValues(Party *party, int slot, int species, i break; } - if (Pokemon_HasPokerus(party, FlagIndex(slot))) { + if (Party_MaskHasPokerus(party, FlagIndex(slot))) { tmp *= 2; } @@ -10527,7 +10527,7 @@ static void BattleScript_CalcEffortValues(Party *party, int slot, int species, i curEVs[stat] += tmp; sumEVs += tmp; - Pokemon_SetValue(mon, MON_DATA_HP_EV + stat, &curEVs[stat]); + Pokemon_SetData(mon, MON_DATA_HP_EV + stat, &curEVs[stat]); } SpeciesData_Free(personal); @@ -10710,7 +10710,7 @@ static void BattleScript_CatchMonTask(SysTask *param0, void *param1) PaletteData_StartFade(v4, 0x1 | 0x2 | 0x4 | 0x8, 0xffff, 1, 0, 16, 0x0); PokemonSpriteManager_StartFadeAll(v5, 0, 16, 0, 0x0); v2->seqNum = 32; - } else if (BattleSystem_CaughtSpecies(v2->battleSys, Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL))) { + } else if (BattleSystem_CaughtSpecies(v2->battleSys, Pokemon_GetData(v3, MON_DATA_SPECIES, NULL))) { sub_02015738(ov16_0223E220(v2->battleSys), 1); PaletteData_StartFade(v4, 0x1 | 0x4, 0xffff, 1, 0, 16, 0x0); PokemonSpriteManager_StartFadeAll(v5, 0, 16, 0, 0x0); @@ -10861,7 +10861,7 @@ static void BattleScript_CatchMonTask(SysTask *param0, void *param1) v16 = NamingScreenArgs_Init( HEAP_ID_BATTLE, NAMING_SCREEN_TYPE_POKEMON, - Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL), + Pokemon_GetData(v3, MON_DATA_SPECIES, NULL), MON_NAME_LEN, BattleSystem_GetOptions(v2->battleSys)); v2->tmpPtr[1] = v16; @@ -10872,9 +10872,9 @@ static void BattleScript_CatchMonTask(SysTask *param0, void *param1) v16->battleMsgID = 1174 + ov16_0223F240(v2->battleSys); } - v16->monForm = Pokemon_GetValue(v3, MON_DATA_FORM, NULL); + v16->monForm = Pokemon_GetData(v3, MON_DATA_FORM, NULL); v16->pcBoxes = BattleSystem_PCBoxes(v2->battleSys); - v16->monGender = Pokemon_GetValue(v3, MON_DATA_GENDER, NULL); + v16->monGender = Pokemon_GetData(v3, MON_DATA_GENDER, NULL); v2->tmpPtr[0] = ApplicationManager_New(&gNamingScreenAppTemplate, v16, HEAP_ID_BATTLE); v2->seqNum = 21; @@ -10909,7 +10909,7 @@ static void BattleScript_CatchMonTask(SysTask *param0, void *param1) v3 = BattleSystem_PartyPokemon(v2->battleSys, v1, v2->battleCtx->selectedPartySlot[v1]); if (v19->returnCode == NAMING_SCREEN_CODE_OK) { - Pokemon_SetValue(v3, MON_DATA_NICKNAME_STRING_AND_FLAG, v19->textInputStr); + Pokemon_SetData(v3, MON_DATA_NICKNAME_STRING_AND_FLAG, v19->textInputStr); ov16_0223F24C(v2->battleSys, 1 + 48); } @@ -10961,16 +10961,16 @@ static void BattleScript_CatchMonTask(SysTask *param0, void *param1) PCBoxes_SetCurrentBox(pcBoxes, v26); - for (v27 = 0; v27 < LEARNED_MOVES_MAX; v27++) { - v28 = Pokemon_GetValue(v3, MON_DATA_MOVE1_MAX_PP + v27, NULL); - Pokemon_SetValue(v3, MON_DATA_MOVE1_PP + v27, &v28); + for (v27 = 0; v27 < MAX_MON_MOVES; v27++) { + v28 = Pokemon_GetData(v3, MON_DATA_MOVE1_MAX_PP + v27, NULL); + Pokemon_SetData(v3, MON_DATA_MOVE1_PP + v27, &v28); } - if (Pokemon_SetGiratinaFormByHeldItem(v3) != -1) { + if (Pokemon_UpdateGiratinaForm(v3) != -1) { ov16_0223F9A0(v2->battleSys, v1); } - PCBoxes_TryStoreBoxMonInBox(pcBoxes, v26, Pokemon_GetBoxPokemon(v3)); + PCBoxes_TryStoreBoxMonInBox(pcBoxes, v26, Pokemon_GetBoxMon(v3)); if (v2->seqNum == 22) { if (v25 == v26) { @@ -11144,10 +11144,10 @@ static int BattleScript_CalcCatchShakes(BattleSystem *battleSys, BattleContext * u32 speciesMod; if (battleCtx->msgItemTemp == ITEM_SAFARI_BALL) { - speciesMod = SpeciesData_GetSpeciesValue(battleCtx->battleMons[battleCtx->defender].species, SPECIES_DATA_CATCH_RATE); + speciesMod = Species_GetValue(battleCtx->battleMons[battleCtx->defender].species, SPECIES_DATA_CATCH_RATE); speciesMod = speciesMod * sSafariCatchRate[battleCtx->safariCatchStage].numerator / sSafariCatchRate[battleCtx->safariCatchStage].denominator; } else { - speciesMod = SpeciesData_GetSpeciesValue(battleCtx->battleMons[battleCtx->defender].species, SPECIES_DATA_CATCH_RATE); + speciesMod = Species_GetValue(battleCtx->battleMons[battleCtx->defender].species, SPECIES_DATA_CATCH_RATE); } u32 ballMod = 10; @@ -12228,10 +12228,10 @@ static void BattleScript_LoadPartyLevelUpIcon(BattleSystem *battleSys, BattleScr param1->tmpPtr[0] = sub_02012744(1, HEAP_ID_BATTLE); - if (Pokemon_GetValue(param2, MON_DATA_NO_PRINT_GENDER, NULL) == 0) { + if (Pokemon_GetData(param2, MON_DATA_NO_PRINT_GENDER, NULL) == 0) { v13 = 2; } else { - v13 = Pokemon_GetValue(param2, MON_DATA_GENDER, NULL); + v13 = Pokemon_GetData(param2, MON_DATA_GENDER, NULL); } if (v13 == 0) { @@ -12242,8 +12242,8 @@ static void BattleScript_LoadPartyLevelUpIcon(BattleSystem *battleSys, BattleScr v6 = MessageLoader_GetNewString(v4, 946); } - StringTemplate_SetNickname(v5, 0, Pokemon_GetBoxPokemon(param2)); - StringTemplate_SetNumber(v5, 1, Pokemon_GetValue(param2, MON_DATA_LEVEL, NULL), 3, 0, 1); + StringTemplate_SetNickname(v5, 0, Pokemon_GetBoxMon(param2)); + StringTemplate_SetNumber(v5, 1, Pokemon_GetData(param2, MON_DATA_LEVEL, NULL), 3, 0, 1); StringTemplate_Format(v5, v7, v6); String_Free(v6); Window_Init(&v9); diff --git a/src/battle/healthbar.c b/src/battle/healthbar.c index cf2ebc280c..c635fd22f0 100644 --- a/src/battle/healthbar.c +++ b/src/battle/healthbar.c @@ -1161,7 +1161,7 @@ static void Healthbar_DrawBattlerName(Healthbar *healthbar) template = MessageLoader_GetNewString(msgLoader, pl_msg_00000368_00964); mon = BattleSystem_PartyPokemon(healthbar->battleSys, healthbar->battler, healthbar->selectedPartySlot); - boxMon = Pokemon_GetBoxPokemon(mon); + boxMon = Pokemon_GetBoxMon(mon); StringTemplate_SetNickname(strFormatter, 0, boxMon); StringTemplate_Format(strFormatter, nickname, template); diff --git a/src/battle/ov16_0223B140.c b/src/battle/ov16_0223B140.c index 735b164022..2a0da13163 100644 --- a/src/battle/ov16_0223B140.c +++ b/src/battle/ov16_0223B140.c @@ -960,7 +960,7 @@ static void ov16_0223C210(BattleSystem *battleSys) for (v1 = 0; v1 < battleSys->maxBattlers; v1++) { v2 = BattleContext_Get(battleSys, v3, 2, v1); v4 = BattleSystem_PartyPokemon(battleSys, v1, v2); - ov16_0225C038(battleSys, battleSys->battlers[v1], Pokemon_GetValue(v4, MON_DATA_POKEBALL, NULL), v2); + ov16_0225C038(battleSys, battleSys->battlers[v1], Pokemon_GetData(v4, MON_DATA_POKEBALL, NULL), v2); } ov16_0223DECC(); @@ -1117,7 +1117,7 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto) for (v1 = 0; v1 < Party_GetCurrentCount(dto->parties[i]); v1++) { v3 = Party_GetPokemonBySlotIndex(dto->parties[i], v1); v5 = Pokemon_GetGender(v3); - Pokemon_SetValue(v3, MON_DATA_GENDER, &v5); + Pokemon_SetData(v3, MON_DATA_GENDER, &v5); } } } @@ -1148,7 +1148,7 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto) for (v1 = 0; v1 < Party_GetCurrentCount(battleSys->parties[i]); v1++) { v3 = Party_GetPokemonBySlotIndex(battleSys->parties[i], v1); - if ((Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_HP, NULL))) { + if ((Pokemon_GetData(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetData(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetData(v3, MON_DATA_HP, NULL))) { break; } } @@ -1175,7 +1175,7 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto) for (v1 = 0; v1 < Party_GetCurrentCount(battleSys->parties[i]); v1++) { v3 = Party_GetPokemonBySlotIndex(battleSys->parties[i], v1); - if ((Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_HP, NULL))) { + if ((Pokemon_GetData(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetData(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetData(v3, MON_DATA_HP, NULL))) { break; } } @@ -1203,11 +1203,11 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto) v3 = Party_GetPokemonBySlotIndex(battleSys->parties[i & 1], v1); if (i > 1) { - if ((BattleContext_Get(battleSys, battleSys->battleCtx, 2, i & 1) != v1) && (Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_HP, NULL))) { + if ((BattleContext_Get(battleSys, battleSys->battleCtx, 2, i & 1) != v1) && (Pokemon_GetData(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetData(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetData(v3, MON_DATA_HP, NULL))) { break; } } else { - if ((Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_HP, NULL))) { + if ((Pokemon_GetData(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetData(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetData(v3, MON_DATA_HP, NULL))) { break; } } @@ -1231,7 +1231,7 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto) for (v1 = 0; v1 < Party_GetCurrentCount(battleSys->parties[i]); v1++) { v3 = Party_GetPokemonBySlotIndex(battleSys->parties[i], v1); - if ((Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_HP, NULL))) { + if ((Pokemon_GetData(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetData(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetData(v3, MON_DATA_HP, NULL))) { break; } } @@ -1263,11 +1263,11 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto) v3 = BattleSystem_PartyPokemon(battleSys, i, v1); if (i == 2) { - if ((Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_HP, NULL)) && (v8 != v1)) { + if ((Pokemon_GetData(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetData(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetData(v3, MON_DATA_HP, NULL)) && (v8 != v1)) { break; } } else { - if ((Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_HP, NULL))) { + if ((Pokemon_GetData(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetData(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetData(v3, MON_DATA_HP, NULL))) { break; } } @@ -1300,7 +1300,7 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto) for (v1 = 0; v1 < Party_GetCurrentCount(battleSys->parties[i]); v1++) { v3 = Party_GetPokemonBySlotIndex(battleSys->parties[i], v1); - if ((Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_HP, NULL))) { + if ((Pokemon_GetData(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetData(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetData(v3, MON_DATA_HP, NULL))) { break; } } @@ -1329,11 +1329,11 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto) v3 = Party_GetPokemonBySlotIndex(battleSys->parties[i & 1], v1); if (i > 1) { - if ((BattleContext_Get(battleSys, battleSys->battleCtx, 2, i & 1) != v1) && (Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_HP, NULL))) { + if ((BattleContext_Get(battleSys, battleSys->battleCtx, 2, i & 1) != v1) && (Pokemon_GetData(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetData(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetData(v3, MON_DATA_HP, NULL))) { break; } } else { - if ((Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_HP, NULL))) { + if ((Pokemon_GetData(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetData(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetData(v3, MON_DATA_HP, NULL))) { break; } } @@ -1360,7 +1360,7 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto) for (v1 = 0; v1 < Party_GetCurrentCount(battleSys->parties[i]); v1++) { v3 = Party_GetPokemonBySlotIndex(battleSys->parties[i], v1); - if ((Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetValue(v3, MON_DATA_HP, NULL))) { + if ((Pokemon_GetData(v3, MON_DATA_SPECIES, NULL)) && (Pokemon_GetData(v3, MON_DATA_IS_EGG, NULL) == 0) && (Pokemon_GetData(v3, MON_DATA_HP, NULL))) { break; } } @@ -1374,7 +1374,7 @@ static void ov16_0223C2C0(BattleSystem *battleSys, FieldBattleDTO *dto) if (battleSys->battleType & BATTLE_TYPE_PAL_PARK) { v3 = Party_GetPokemonBySlotIndex(battleSys->parties[1], 0); - Pokemon_GetValue(v3, MON_DATA_OT_NAME, (u8 *)&battleSys->trainers[1].name); + Pokemon_GetData(v3, MON_DATA_OT_NAME, (u8 *)&battleSys->trainers[1].name); } if (battleSys->battleType & BATTLE_TYPE_TRAINER) { diff --git a/src/battle/ov16_0223DF00.c b/src/battle/ov16_0223DF00.c index 49b0a8fb76..9c34e60fda 100644 --- a/src/battle/ov16_0223DF00.c +++ b/src/battle/ov16_0223DF00.c @@ -586,10 +586,10 @@ BOOL BattleSystem_UseBagItem(BattleSystem *battleSys, int battler, int partySlot int friendship = 0; if (Item_LoadParam(item, ITEM_PARAM_HEAL_SLEEP, HEAP_ID_BATTLE)) { - param = Pokemon_GetValue(mon, MON_DATA_STATUS, NULL); + param = Pokemon_GetData(mon, MON_DATA_STATUS, NULL); if (param & MON_CONDITION_SLEEP) { param &= ~MON_CONDITION_SLEEP; - Pokemon_SetValue(mon, MON_DATA_STATUS, ¶m); + Pokemon_SetData(mon, MON_DATA_STATUS, ¶m); if (selectedSlot == partySlot || targetSlot == partySlot) { param = BattleMon_Get(battleCtx, battler, BATTLEMON_STATUS, NULL); @@ -606,10 +606,10 @@ BOOL BattleSystem_UseBagItem(BattleSystem *battleSys, int battler, int partySlot } if (Item_LoadParam(item, ITEM_PARAM_HEAL_POISON, HEAP_ID_BATTLE)) { - param = Pokemon_GetValue(mon, MON_DATA_STATUS, NULL); + param = Pokemon_GetData(mon, MON_DATA_STATUS, NULL); if (param & MON_CONDITION_ANY_POISON) { param &= ~MON_CONDITION_ANY_POISON; - Pokemon_SetValue(mon, MON_DATA_STATUS, ¶m); + Pokemon_SetData(mon, MON_DATA_STATUS, ¶m); if (selectedSlot == partySlot || targetSlot == partySlot) { param = BattleMon_Get(battleCtx, battler, BATTLEMON_STATUS, NULL); @@ -622,10 +622,10 @@ BOOL BattleSystem_UseBagItem(BattleSystem *battleSys, int battler, int partySlot } if (Item_LoadParam(item, ITEM_PARAM_HEAL_BURN, HEAP_ID_BATTLE)) { - param = Pokemon_GetValue(mon, MON_DATA_STATUS, NULL); + param = Pokemon_GetData(mon, MON_DATA_STATUS, NULL); if (param & MON_CONDITION_BURN) { param &= ~MON_CONDITION_BURN; - Pokemon_SetValue(mon, MON_DATA_STATUS, ¶m); + Pokemon_SetData(mon, MON_DATA_STATUS, ¶m); if (selectedSlot == partySlot || targetSlot == partySlot) { param = BattleMon_Get(battleCtx, battler, BATTLEMON_STATUS, NULL); @@ -638,10 +638,10 @@ BOOL BattleSystem_UseBagItem(BattleSystem *battleSys, int battler, int partySlot } if (Item_LoadParam(item, ITEM_PARAM_HEAL_FREEZE, HEAP_ID_BATTLE)) { - param = Pokemon_GetValue(mon, MON_DATA_STATUS, NULL); + param = Pokemon_GetData(mon, MON_DATA_STATUS, NULL); if (param & MON_CONDITION_FREEZE) { param &= ~MON_CONDITION_FREEZE; - Pokemon_SetValue(mon, MON_DATA_STATUS, ¶m); + Pokemon_SetData(mon, MON_DATA_STATUS, ¶m); if (selectedSlot == partySlot || targetSlot == partySlot) { param = BattleMon_Get(battleCtx, battler, BATTLEMON_STATUS, NULL); @@ -654,10 +654,10 @@ BOOL BattleSystem_UseBagItem(BattleSystem *battleSys, int battler, int partySlot } if (Item_LoadParam(item, ITEM_PARAM_HEAL_PARALYSIS, HEAP_ID_BATTLE)) { - param = Pokemon_GetValue(mon, MON_DATA_STATUS, NULL); + param = Pokemon_GetData(mon, MON_DATA_STATUS, NULL); if (param & MON_CONDITION_PARALYSIS) { param &= ~MON_CONDITION_PARALYSIS; - Pokemon_SetValue(mon, MON_DATA_STATUS, ¶m); + Pokemon_SetData(mon, MON_DATA_STATUS, ¶m); if (selectedSlot == partySlot || targetSlot == partySlot) { param = BattleMon_Get(battleCtx, battler, BATTLEMON_STATUS, NULL); @@ -757,8 +757,8 @@ BOOL BattleSystem_UseBagItem(BattleSystem *battleSys, int battler, int partySlot if (Item_LoadParam(item, ITEM_PARAM_PP_RESTORE, HEAP_ID_BATTLE)) { param = Item_LoadParam(item, ITEM_PARAM_PP_RESTORED, HEAP_ID_BATTLE); - if (Pokemon_GetValue(mon, MON_DATA_MOVE1_PP + moveSlot, NULL) != Pokemon_GetValue(mon, MON_DATA_MOVE1_MAX_PP + moveSlot, NULL)) { - Pokemon_IncreaseValue(mon, MON_DATA_MOVE1_PP + moveSlot, param); + if (Pokemon_GetData(mon, MON_DATA_MOVE1_PP + moveSlot, NULL) != Pokemon_GetData(mon, MON_DATA_MOVE1_MAX_PP + moveSlot, NULL)) { + Pokemon_IncreaseData(mon, MON_DATA_MOVE1_PP + moveSlot, param); // Don't permit restoring PP on copied moves if ((selectedSlot == partySlot || targetSlot == partySlot) @@ -774,9 +774,9 @@ BOOL BattleSystem_UseBagItem(BattleSystem *battleSys, int battler, int partySlot if (Item_LoadParam(item, ITEM_PARAM_PP_RESTORE_ALL, HEAP_ID_BATTLE)) { param = Item_LoadParam(item, ITEM_PARAM_PP_RESTORED, HEAP_ID_BATTLE); - for (moveSlot = 0; moveSlot < LEARNED_MOVES_MAX; moveSlot++) { - if (Pokemon_GetValue(mon, MON_DATA_MOVE1_PP + moveSlot, NULL) != Pokemon_GetValue(mon, MON_DATA_MOVE1_MAX_PP + moveSlot, NULL)) { - Pokemon_IncreaseValue(mon, MON_DATA_MOVE1_PP + moveSlot, param); + for (moveSlot = 0; moveSlot < MAX_MON_MOVES; moveSlot++) { + if (Pokemon_GetData(mon, MON_DATA_MOVE1_PP + moveSlot, NULL) != Pokemon_GetData(mon, MON_DATA_MOVE1_MAX_PP + moveSlot, NULL)) { + Pokemon_IncreaseData(mon, MON_DATA_MOVE1_PP + moveSlot, param); if ((selectedSlot == partySlot || targetSlot == partySlot) && (BattleMon_Get(battleCtx, battler, BATTLEMON_VOLATILE_STATUS, NULL) & VOLATILE_CONDITION_TRANSFORM) == FALSE @@ -793,23 +793,23 @@ BOOL BattleSystem_UseBagItem(BattleSystem *battleSys, int battler, int partySlot param = 0; if (Item_LoadParam(item, ITEM_PARAM_REVIVE, HEAP_ID_BATTLE)) { - if (Pokemon_GetValue(mon, MON_DATA_HP, NULL) == 0) { + if (Pokemon_GetData(mon, MON_DATA_HP, NULL) == 0) { param = 1; } } else { - param = Pokemon_GetValue(mon, MON_DATA_HP, NULL); + param = Pokemon_GetData(mon, MON_DATA_HP, NULL); } - if (param && Pokemon_GetValue(mon, MON_DATA_HP, NULL) != Pokemon_GetValue(mon, MON_DATA_MAX_HP, NULL)) { + if (param && Pokemon_GetData(mon, MON_DATA_HP, NULL) != Pokemon_GetData(mon, MON_DATA_MAX_HP, NULL)) { param = Item_LoadParam(item, ITEM_PARAM_HP_RESTORED, HEAP_ID_BATTLE); switch (param) { case 0xFF: - param = Pokemon_GetValue(mon, MON_DATA_MAX_HP, NULL); + param = Pokemon_GetData(mon, MON_DATA_MAX_HP, NULL); break; case 0xFE: - param = Pokemon_GetValue(mon, MON_DATA_MAX_HP, NULL) / 2; + param = Pokemon_GetData(mon, MON_DATA_MAX_HP, NULL) / 2; if (param == 0) { param = 1; @@ -817,7 +817,7 @@ BOOL BattleSystem_UseBagItem(BattleSystem *battleSys, int battler, int partySlot break; case 0xFD: - param = Pokemon_GetValue(mon, MON_DATA_MAX_HP, NULL) * 25 / 100; + param = Pokemon_GetData(mon, MON_DATA_MAX_HP, NULL) * 25 / 100; if (param == 0) { param = 1; @@ -828,7 +828,7 @@ BOOL BattleSystem_UseBagItem(BattleSystem *battleSys, int battler, int partySlot break; } - Pokemon_IncreaseValue(mon, MON_DATA_HP, param); + Pokemon_IncreaseData(mon, MON_DATA_HP, param); if (Item_LoadParam(item, ITEM_PARAM_REVIVE, HEAP_ID_BATTLE) == FALSE) { if (Battler_Side(battleSys, battler)) { @@ -843,41 +843,41 @@ BOOL BattleSystem_UseBagItem(BattleSystem *battleSys, int battler, int partySlot } if (Item_LoadParam(item, ITEM_PARAM_GIVE_FRIENDSHIP_LOW, HEAP_ID_BATTLE) - && Pokemon_GetValue(mon, MON_DATA_FRIENDSHIP, NULL) < 100 + && Pokemon_GetData(mon, MON_DATA_FRIENDSHIP, NULL) < 100 && result == TRUE) { friendship = Item_LoadParam(item, ITEM_PARAM_FRIENDSHIP_LOW, HEAP_ID_BATTLE); } if (Item_LoadParam(item, ITEM_PARAM_GIVE_FRIENDSHIP_MED, HEAP_ID_BATTLE) - && Pokemon_GetValue(mon, MON_DATA_FRIENDSHIP, NULL) >= 100 - && Pokemon_GetValue(mon, MON_DATA_FRIENDSHIP, NULL) < 200 + && Pokemon_GetData(mon, MON_DATA_FRIENDSHIP, NULL) >= 100 + && Pokemon_GetData(mon, MON_DATA_FRIENDSHIP, NULL) < 200 && result == TRUE) { friendship = Item_LoadParam(item, ITEM_PARAM_FRIENDSHIP_MED, HEAP_ID_BATTLE); } if (Item_LoadParam(item, ITEM_PARAM_GIVE_FRIENDSHIP_HIGH, HEAP_ID_BATTLE) - && Pokemon_GetValue(mon, MON_DATA_FRIENDSHIP, NULL) >= 200 + && Pokemon_GetData(mon, MON_DATA_FRIENDSHIP, NULL) >= 200 && result == TRUE) { friendship = Item_LoadParam(item, ITEM_PARAM_FRIENDSHIP_HIGH, HEAP_ID_BATTLE); } if (friendship) { if (friendship > 0) { - if (Pokemon_GetValue(mon, MON_DATA_POKEBALL, NULL) == ITEM_LUXURY_BALL) { + if (Pokemon_GetData(mon, MON_DATA_POKEBALL, NULL) == ITEM_LUXURY_BALL) { friendship++; } - if (Pokemon_GetValue(mon, MON_DATA_EGG_LOCATION, NULL) == BattleSystem_MapHeader(battleSys)) { + if (Pokemon_GetData(mon, MON_DATA_EGG_LOCATION, NULL) == BattleSystem_MapHeader(battleSys)) { friendship++; } - param = Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL); + param = Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL); if (Item_LoadParam(item, ITEM_PARAM_HOLD_EFFECT, HEAP_ID_BATTLE) == HOLD_EFFECT_FRIENDSHIP_UP) { friendship = friendship * 150 / 100; } } - Pokemon_IncreaseValue(mon, MON_DATA_FRIENDSHIP, friendship); + Pokemon_IncreaseData(mon, MON_DATA_FRIENDSHIP, friendship); if (selectedSlot == partySlot || targetSlot == partySlot) { Battler_AddVal(battleCtx, battler, BATTLEMON_FRIENDSHIP, friendship); } @@ -973,7 +973,7 @@ u16 Battle_FindEvolvingPartyMember(FieldBattleDTO *dto, int *outPartySlot, int * if (*outPartySlot < 6) { mon = Party_GetPokemonBySlotIndex(dto->parties[BATTLE_SIDE_PLAYER], *outPartySlot); - species = Pokemon_GetEvolutionTargetSpecies(dto->parties[BATTLE_SIDE_PLAYER], mon, EVO_CLASS_BY_LEVEL, dto->mapEvolutionMethod, outEvoType); + species = Pokemon_GetEvolutionTarget(dto->parties[BATTLE_SIDE_PLAYER], mon, EVO_CONTEXT_LEVEL_UP, dto->mapEvolutionMethod, outEvoType); if (species) { return species; } @@ -1064,7 +1064,7 @@ void BattleSystem_SetBurmyForm(BattleSystem *battleSys) for (i = 0; i < BattleSystem_PartyCount(battleSys, 0); i++) { Pokemon *mon = BattleSystem_PartyPokemon(battleSys, 0, i); - u16 species = Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL); + u16 species = Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL); if (species == SPECIES_BURMY && (battleSys->unk_2414[0] & FlagIndex(i))) { switch (BattleSystem_Terrain(battleSys)) { @@ -1096,7 +1096,7 @@ void BattleSystem_SetBurmyForm(BattleSystem *battleSys) break; } - Pokemon_SetValue(mon, MON_DATA_FORM, &form); + Pokemon_SetData(mon, MON_DATA_FORM, &form); } } } @@ -1109,7 +1109,7 @@ void ov16_0223EF2C(BattleSystem *battleSystem, int param1, int param2) void ov16_0223EF48(BattleSystem *battleSystem, Pokemon *param1) { if (battleSystem->poketch) { - Poketch_PokemonHistoryEnqueue(battleSystem->poketch, Pokemon_GetBoxPokemon(param1)); + Poketch_PokemonHistoryEnqueue(battleSystem->poketch, Pokemon_GetBoxMon(param1)); } } @@ -1686,7 +1686,7 @@ void BattleSystem_DexFlagSeen(BattleSystem *battleSystem, int param1) } if (((battlerType & BATTLER_THEM) == FALSE) - && (Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) == SPECIES_BURMY)) { + && (Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) == SPECIES_BURMY)) { Pokedex_Capture(battleSystem->pokedex, mon); } } diff --git a/src/battle/trainer_ai/trainer_ai.c b/src/battle/trainer_ai/trainer_ai.c index 09b5fd246b..bf07cc7189 100644 --- a/src/battle/trainer_ai/trainer_ai.c +++ b/src/battle/trainer_ai/trainer_ai.c @@ -327,7 +327,7 @@ void TrainerAI_Init(BattleSystem *battleSys, BattleContext *battleCtx, u8 battle adrs[i] = 0; } - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (initScore & 1) { AI_CONTEXT.moveScore[i] = 100; } else { @@ -339,7 +339,7 @@ void TrainerAI_Init(BattleSystem *battleSys, BattleContext *battleCtx, u8 battle // pick damage rolls for moves and score invalid moves to 0 invalidMoves = BattleSystem_CheckInvalidMoves(battleSys, battleCtx, battler, 0, CHECK_INVALID_ALL); - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (invalidMoves & FlagIndex(i)) { AI_CONTEXT.moveScore[i] = 0; } @@ -425,7 +425,7 @@ static u8 TrainerAI_MainSingles(BattleSystem *battleSys, BattleContext *battleCt maxScoreMoves[0] = AI_CONTEXT.moveScore[0]; maxScoreMoveSlots[0] = AI_ENEMY_ATTACK_1; - for (i = 1; i < LEARNED_MOVES_MAX; i++) { + for (i = 1; i < MAX_MON_MOVES; i++) { if (battleCtx->battleMons[AI_CONTEXT.attacker].moves[i]) { // Attacker has a move in this slot // Append to the list of max-score moves if equal score to the current max if (maxScoreMoves[0] == AI_CONTEXT.moveScore[i]) { @@ -514,7 +514,7 @@ static u8 TrainerAI_MainDoubles(BattleSystem *battleSys, BattleContext *battleCt tmpMaxScoreMoveSlots[0] = 0; numMaxScoreMoves = 1; - for (i = 1; i < LEARNED_MOVES_MAX; i++) { + for (i = 1; i < MAX_MON_MOVES; i++) { if (battleCtx->battleMons[AI_CONTEXT.attacker].moves[i]) { // Same score as max: append to list of possible max-score moves if (tmpMaxScores[0] == AI_CONTEXT.moveScore[i]) { @@ -614,7 +614,7 @@ static void TrainerAI_EvalMoves(BattleSystem *battleSys, BattleContext *battleCt if (AI_CONTEXT.stateFlags & AI_STATUS_FLAG_DONE) { // If we haven't gone through all the moves, loop back to INIT state and evaluate the next move AI_CONTEXT.moveSlot++; - if (AI_CONTEXT.moveSlot < LEARNED_MOVES_MAX + if (AI_CONTEXT.moveSlot < MAX_MON_MOVES && (AI_CONTEXT.stateFlags & AI_STATUS_FLAG_BREAK) == FALSE) { AI_CONTEXT.evalStep = AI_EVAL_STEP_INIT; } else { @@ -1005,14 +1005,14 @@ static void AICmd_IfAttackerHasDamagingMoves(BattleSystem *battleSys, BattleCont int jump = AIScript_Read(battleCtx); int i; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (battleCtx->battleMons[AI_CONTEXT.attacker].moves[i] != MOVE_NONE && MOVE_DATA(battleCtx->battleMons[AI_CONTEXT.attacker].moves[i]).power) { break; } } - if (i < LEARNED_MOVES_MAX) { + if (i < MAX_MON_MOVES) { AIScript_Iter(battleCtx, jump); } } @@ -1023,14 +1023,14 @@ static void AICmd_IfAttackerHasNoDamagingMoves(BattleSystem *battleSys, BattleCo int jump = AIScript_Read(battleCtx); int i; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (battleCtx->battleMons[AI_CONTEXT.attacker].moves[i] != MOVE_NONE && MOVE_DATA(battleCtx->battleMons[AI_CONTEXT.attacker].moves[i]).power) { break; } } - if (i == LEARNED_MOVES_MAX) { + if (i == MAX_MON_MOVES) { AIScript_Iter(battleCtx, jump); } } @@ -1119,7 +1119,7 @@ static void AICmd_LoadMovePower(BattleSystem *battleSys, BattleContext *battleCt static void AICmd_FlagMoveDamageScore(BattleSystem *battleSys, BattleContext *battleCtx) { int i = 0, riskyIdx, altPowerIdx; - s32 moveDamage[LEARNED_MOVES_MAX]; + s32 moveDamage[MAX_MON_MOVES]; BOOL varyDamage; u8 ivs[STAT_MAX]; @@ -1156,13 +1156,13 @@ static void AICmd_FlagMoveDamageScore(BattleSystem *battleSys, BattleContext *ba battleCtx->battleMons[AI_CONTEXT.attacker].moveEffectsData.embargoTurns, varyDamage); - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (moveDamage[i] > moveDamage[AI_CONTEXT.moveSlot]) { break; } } - if (i == LEARNED_MOVES_MAX) { + if (i == MAX_MON_MOVES) { AI_CONTEXT.calcTemp = AI_MOVE_IS_HIGHEST_DAMAGE; } else { AI_CONTEXT.calcTemp = AI_NOT_HIGHEST_DAMAGE; @@ -1254,9 +1254,9 @@ static void AICmd_CountAlivePartyBattlers(BattleSystem *battleSys, BattleContext if (i != battlerSlot && i != partnerSlot - && Pokemon_GetValue(mon, MON_DATA_HP, NULL) != 0 - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { + && Pokemon_GetData(mon, MON_DATA_HP, NULL) != 0 + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { AI_CONTEXT.calcTemp++; } } @@ -1295,8 +1295,8 @@ static void AICmd_LoadBattlerAbility(BattleSystem *battleSys, BattleContext *bat AI_CONTEXT.calcTemp = battleCtx->battleMons[battler].ability; } else { // Try to guess the opponent's ability (flip a coin) - int ability1 = SpeciesData_GetSpeciesValue(battleCtx->battleMons[battler].species, SPECIES_DATA_ABILITY_1); - int ability2 = SpeciesData_GetSpeciesValue(battleCtx->battleMons[battler].species, SPECIES_DATA_ABILITY_2); + int ability1 = Species_GetValue(battleCtx->battleMons[battler].species, SPECIES_DATA_ABILITY_1); + int ability2 = Species_GetValue(battleCtx->battleMons[battler].species, SPECIES_DATA_ABILITY_2); if (ability1 && ability2) { if (BattleSystem_RandNext(battleSys) & 1) { @@ -1340,8 +1340,8 @@ static void AICmd_CheckBattlerAbility(BattleSystem *battleSys, BattleContext *ba tmpAbility = battleCtx->battleMons[battler].ability; } else { // Try to guess the opponent's ability (flip a coin) - int ability1 = SpeciesData_GetSpeciesValue(battleCtx->battleMons[battler].species, SPECIES_DATA_ABILITY_1); - int ability2 = SpeciesData_GetSpeciesValue(battleCtx->battleMons[battler].species, SPECIES_DATA_ABILITY_2); + int ability1 = Species_GetValue(battleCtx->battleMons[battler].species, SPECIES_DATA_ABILITY_1); + int ability2 = Species_GetValue(battleCtx->battleMons[battler].species, SPECIES_DATA_ABILITY_2); if (ability1 && ability2) { // If the opponent has two abilities, but neither are the expected one, @@ -1378,7 +1378,7 @@ static void AICmd_CalcMaxEffectiveness(BattleSystem *battleSys, BattleContext *b AI_CONTEXT.calcTemp = TYPE_MULTI_IMMUNE; - for (int i = 0; i < LEARNED_MOVES_MAX; i++) { + for (int i = 0; i < MAX_MON_MOVES; i++) { u32 damage = TYPE_MULTI_BASE_DAMAGE; u32 effectiveness = 0; u16 move = battleCtx->battleMons[AI_CONTEXT.attacker].moves[i]; @@ -1475,10 +1475,10 @@ static void AICmd_IfPartyMemberStatus(BattleSystem *battleSys, BattleContext *ba Pokemon *mon = Party_GetPokemonBySlotIndex(party, i); if (i != slot1 && i != slot2 - && Pokemon_GetValue(mon, MON_DATA_HP, NULL) != 0 - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG - && (Pokemon_GetValue(mon, MON_DATA_STATUS, NULL) & statusMask)) { + && Pokemon_GetData(mon, MON_DATA_HP, NULL) != 0 + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG + && (Pokemon_GetData(mon, MON_DATA_STATUS, NULL) & statusMask)) { AIScript_Iter(battleCtx, jump); return; } @@ -1508,10 +1508,10 @@ static void AICmd_IfPartyMemberNotStatus(BattleSystem *battleSys, BattleContext Pokemon *mon = Party_GetPokemonBySlotIndex(party, i); if (i != slot1 && i != slot2 - && Pokemon_GetValue(mon, MON_DATA_HP, NULL) != 0 - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG - && (Pokemon_GetValue(mon, MON_DATA_STATUS, NULL) & statusMask) == FALSE) { + && Pokemon_GetData(mon, MON_DATA_HP, NULL) != 0 + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG + && (Pokemon_GetData(mon, MON_DATA_STATUS, NULL) & statusMask) == FALSE) { AIScript_Iter(battleCtx, jump); return; } @@ -1743,13 +1743,13 @@ static void AICmd_IfMoveKnown(BattleSystem *battleSys, BattleContext *battleCtx) switch (inBattler) { case AI_BATTLER_ATTACKER: - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (battleCtx->battleMons[battler].moves[i] == move) { break; } } - if (i < LEARNED_MOVES_MAX) { + if (i < MAX_MON_MOVES) { AIScript_Iter(battleCtx, jump); } break; @@ -1759,25 +1759,25 @@ static void AICmd_IfMoveKnown(BattleSystem *battleSys, BattleContext *battleCtx) break; } - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (battleCtx->battleMons[battler].moves[i] == move) { break; } } - if (i < LEARNED_MOVES_MAX) { + if (i < MAX_MON_MOVES) { AIScript_Iter(battleCtx, jump); } break; case AI_BATTLER_DEFENDER: - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (AI_CONTEXT.battlerMoves[battler][i] == move) { break; } } - if (i < LEARNED_MOVES_MAX) { + if (i < MAX_MON_MOVES) { AIScript_Iter(battleCtx, jump); } break; @@ -1799,13 +1799,13 @@ static void AICmd_IfMoveNotKnown(BattleSystem *battleSys, BattleContext *battleC switch (inBattler) { case AI_BATTLER_ATTACKER: - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (battleCtx->battleMons[battler].moves[i] == move) { break; } } - if (i == LEARNED_MOVES_MAX) { + if (i == MAX_MON_MOVES) { AIScript_Iter(battleCtx, jump); } break; @@ -1815,25 +1815,25 @@ static void AICmd_IfMoveNotKnown(BattleSystem *battleSys, BattleContext *battleC break; } - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (battleCtx->battleMons[battler].moves[i] == move) { break; } } - if (i == LEARNED_MOVES_MAX) { + if (i == MAX_MON_MOVES) { AIScript_Iter(battleCtx, jump); } break; case AI_BATTLER_DEFENDER: - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (AI_CONTEXT.battlerMoves[battler][i] == move) { break; } } - if (i == LEARNED_MOVES_MAX) { + if (i == MAX_MON_MOVES) { AIScript_Iter(battleCtx, jump); } break; @@ -1855,27 +1855,27 @@ static void AICmd_IfMoveEffectKnown(BattleSystem *battleSys, BattleContext *batt switch (inBattler) { case AI_BATTLER_ATTACKER: - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (battleCtx->battleMons[battler].moves[i] && MOVE_DATA(battleCtx->battleMons[battler].moves[i]).effect == effect) { break; } } - if (i < LEARNED_MOVES_MAX) { + if (i < MAX_MON_MOVES) { AIScript_Iter(battleCtx, jump); } break; case AI_BATTLER_DEFENDER: - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (AI_CONTEXT.battlerMoves[battler][i] && MOVE_DATA(AI_CONTEXT.battlerMoves[battler][i]).effect == effect) { break; } } - if (i < LEARNED_MOVES_MAX) { + if (i < MAX_MON_MOVES) { AIScript_Iter(battleCtx, jump); } break; @@ -1897,27 +1897,27 @@ static void AICmd_IfMoveEffectNotKnown(BattleSystem *battleSys, BattleContext *b switch (inBattler) { case AI_BATTLER_ATTACKER: - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (battleCtx->battleMons[battler].moves[i] && MOVE_DATA(battleCtx->battleMons[battler].moves[i]).effect == effect) { break; } } - if (i == LEARNED_MOVES_MAX) { + if (i == MAX_MON_MOVES) { AIScript_Iter(battleCtx, jump); } break; case AI_BATTLER_DEFENDER: - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (AI_CONTEXT.battlerMoves[battler][i] && MOVE_DATA(AI_CONTEXT.battlerMoves[battler][i]).effect == effect) { break; } } - if (i == LEARNED_MOVES_MAX) { + if (i == MAX_MON_MOVES) { AIScript_Iter(battleCtx, jump); } break; @@ -2084,7 +2084,7 @@ static void AICmd_IfAnyPartyMemberIsWounded(BattleSystem *battleSys, BattleConte Pokemon *mon = BattleSystem_PartyPokemon(battleSys, battler, i); if (i != battleCtx->selectedPartySlot[battler] - && Pokemon_GetValue(mon, MON_DATA_HP, NULL) != Pokemon_GetValue(mon, MON_DATA_MAX_HP, NULL)) { + && Pokemon_GetData(mon, MON_DATA_HP, NULL) != Pokemon_GetData(mon, MON_DATA_MAX_HP, NULL)) { AIScript_Iter(battleCtx, jump); break; } @@ -2104,14 +2104,14 @@ static void AICmd_IfAnyPartyMemberUsedPP(BattleSystem *battleSys, BattleContext Pokemon *mon = BattleSystem_PartyPokemon(battleSys, battler, partySlot); if (partySlot != battleCtx->selectedPartySlot[battler]) { - for (moveSlot = 0; moveSlot < LEARNED_MOVES_MAX; moveSlot++) { - if (Pokemon_GetValue(mon, MON_DATA_MOVE1_PP + moveSlot, NULL) != Pokemon_GetValue(mon, MON_DATA_MOVE1_MAX_PP + moveSlot, NULL)) { + for (moveSlot = 0; moveSlot < MAX_MON_MOVES; moveSlot++) { + if (Pokemon_GetData(mon, MON_DATA_MOVE1_PP + moveSlot, NULL) != Pokemon_GetData(mon, MON_DATA_MOVE1_MAX_PP + moveSlot, NULL)) { AIScript_Iter(battleCtx, jump); break; } } - if (moveSlot != LEARNED_MOVES_MAX) { + if (moveSlot != MAX_MON_MOVES) { break; } } @@ -2219,8 +2219,8 @@ static void AICmd_IfPartyMemberDealsMoreDamage(BattleSystem *battleSys, BattleCo int battler; s32 activeMonDamage; s32 partyMonDamage; - s32 allDamageVals[LEARNED_MOVES_MAX]; - u16 partyMonMoves[LEARNED_MOVES_MAX]; + s32 allDamageVals[MAX_MON_MOVES]; + u16 partyMonMoves[MAX_MON_MOVES]; u8 ivs[STAT_MAX]; Pokemon *partyMon; @@ -2249,15 +2249,15 @@ static void AICmd_IfPartyMemberDealsMoreDamage(BattleSystem *battleSys, BattleCo if (i != battleCtx->selectedPartySlot[battler]) { partyMon = BattleSystem_PartyPokemon(battleSys, battler, i); - if (Pokemon_GetValue(partyMon, MON_DATA_HP, NULL) != 0 - && Pokemon_GetValue(partyMon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE - && Pokemon_GetValue(partyMon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { - for (j = 0; j < LEARNED_MOVES_MAX; j++) { - partyMonMoves[j] = Pokemon_GetValue(partyMon, MON_DATA_MOVE1 + j, NULL); + if (Pokemon_GetData(partyMon, MON_DATA_HP, NULL) != 0 + && Pokemon_GetData(partyMon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE + && Pokemon_GetData(partyMon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { + for (j = 0; j < MAX_MON_MOVES; j++) { + partyMonMoves[j] = Pokemon_GetData(partyMon, MON_DATA_MOVE1 + j, NULL); } for (j = 0; j < STAT_MAX; j++) { - ivs[j] = Pokemon_GetValue(partyMon, MON_DATA_HP_IV + j, NULL); + ivs[j] = Pokemon_GetData(partyMon, MON_DATA_HP_IV + j, NULL); } partyMonDamage = TrainerAI_CalcAllDamage(battleSys, @@ -2265,9 +2265,9 @@ static void AICmd_IfPartyMemberDealsMoreDamage(BattleSystem *battleSys, BattleCo AI_CONTEXT.attacker, partyMonMoves, allDamageVals, - Pokemon_GetValue(partyMon, MON_DATA_HELD_ITEM, NULL), + Pokemon_GetData(partyMon, MON_DATA_HELD_ITEM, NULL), ivs, - Pokemon_GetValue(partyMon, MON_DATA_ABILITY, NULL), + Pokemon_GetData(partyMon, MON_DATA_ABILITY, NULL), FALSE, varyDamage); @@ -2301,7 +2301,7 @@ static void AICmd_IfBattlerDealsMoreDamage(BattleSystem *battleSys, BattleContex int roll; s32 aiDamage; s32 battlerDamage; - s32 damageVals[LEARNED_MOVES_MAX]; + s32 damageVals[MAX_MON_MOVES]; u8 ivs[STAT_MAX]; AIScript_Iter(battleCtx, 1); @@ -2477,7 +2477,7 @@ static void AICmd_CheckIfHighestDamageWithPartner(BattleSystem *battleSys, Battl { int i = 0, j, k; s32 moveDamage; - s32 damageVals[LEARNED_MOVES_MAX]; + s32 damageVals[MAX_MON_MOVES]; BOOL varyDamage; u8 ivs[STAT_MAX]; int battler; @@ -2524,13 +2524,13 @@ static void AICmd_CheckIfHighestDamageWithPartner(BattleSystem *battleSys, Battl moveDamage = damageVals[AI_CONTEXT.moveSlot]; } - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (damageVals[i] > moveDamage) { break; } } - if (i == LEARNED_MOVES_MAX) { + if (i == MAX_MON_MOVES) { AI_CONTEXT.calcTemp = AI_MOVE_IS_HIGHEST_DAMAGE; } else { AI_CONTEXT.calcTemp = AI_NOT_HIGHEST_DAMAGE; @@ -2811,7 +2811,7 @@ static BOOL AIScript_PopCursor(BattleSystem *battleSys, BattleContext *battleCtx */ static void TrainerAI_RecordLastMove(BattleSystem *battleSys, BattleContext *battleCtx) { - for (int i = 0; i < LEARNED_MOVES_MAX; i++) { + for (int i = 0; i < MAX_MON_MOVES; i++) { if (AI_CONTEXT.battlerMoves[AI_CONTEXT.defender][i] == battleCtx->movePrevByBattler[AI_CONTEXT.defender]) { break; } @@ -2912,7 +2912,7 @@ static s32 TrainerAI_CalcAllDamage(BattleSystem *battleSys, BattleContext *battl maxDamage = 0; // Step 1: Compute the true damage of a given move. - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { riskyScanIdx = 0; while (sRiskyMoves[riskyScanIdx] != 0xFFFF) { if (MOVE_DATA(moves[i]).effect == sRiskyMoves[riskyScanIdx]) { @@ -2946,7 +2946,7 @@ static s32 TrainerAI_CalcAllDamage(BattleSystem *battleSys, BattleContext *battl } // Step 2: Determine the maximum-damage of all moves. - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (maxDamage < damageVals[i]) { maxDamage = damageVals[i]; } @@ -3404,7 +3404,7 @@ static BOOL AI_CannotDamageWonderGuard(BattleSystem *battleSys, BattleContext *b if (battleCtx->battleMons[BATTLER_OPP(battler)].ability == ABILITY_WONDER_GUARD) { // Check if we have a super-effective move against the opponent - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { move = battleCtx->battleMons[battler].moves[i]; moveType = TrainerAI_MoveType(battleSys, battleCtx, battler, move); @@ -3422,12 +3422,12 @@ static BOOL AI_CannotDamageWonderGuard(BattleSystem *battleSys, BattleContext *b for (i = 0; i < BattleSystem_PartyCount(battleSys, battler); i++) { mon = BattleSystem_PartyPokemon(battleSys, battler, i); - if (Pokemon_GetValue(mon, MON_DATA_HP, NULL) != 0 - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG + if (Pokemon_GetData(mon, MON_DATA_HP, NULL) != 0 + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG && i != battleCtx->selectedPartySlot[battler]) { - for (j = 0; j < LEARNED_MOVES_MAX; j++) { - move = Pokemon_GetValue(mon, MON_DATA_MOVE1 + j, NULL); + for (j = 0; j < MAX_MON_MOVES; j++) { + move = Pokemon_GetData(mon, MON_DATA_MOVE1 + j, NULL); moveType = Move_CalcVariableType(battleSys, battleCtx, mon, move); if (move) { @@ -3435,7 +3435,7 @@ static BOOL AI_CannotDamageWonderGuard(BattleSystem *battleSys, BattleContext *b BattleSystem_CalcEffectiveness(battleCtx, move, moveType, - Pokemon_GetValue(mon, MON_DATA_ABILITY, NULL), + Pokemon_GetData(mon, MON_DATA_ABILITY, NULL), Battler_Ability(battleCtx, BATTLER_OPP(battler)), Battler_HeldItemEffect(battleCtx, BATTLER_OPP(battler)), BattleMon_Get(battleCtx, BATTLER_OPP(battler), BATTLEMON_TYPE_1, NULL), @@ -3489,7 +3489,7 @@ static BOOL AI_OnlyIneffectiveMoves(BattleSystem *battleSys, BattleContext *batt // Check all of this mon's attacking moves for immunities. If any of our moves can deal damage to // either of the opponents' battlers, do not switch. numMoves = 0; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { move = battleCtx->battleMons[battler].moves[i]; type = TrainerAI_MoveType(battleSys, battleCtx, battler, move); @@ -3538,15 +3538,15 @@ static BOOL AI_OnlyIneffectiveMoves(BattleSystem *battleSys, BattleContext *batt for (i = start; i < end; i++) { mon = BattleSystem_PartyPokemon(battleSys, battler, i); - if (Pokemon_GetValue(mon, MON_DATA_HP, NULL) != 0 - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG + if (Pokemon_GetData(mon, MON_DATA_HP, NULL) != 0 + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG && i != battleCtx->selectedPartySlot[aiSlot1] && i != battleCtx->selectedPartySlot[aiSlot2] && i != battleCtx->aiSwitchedPartySlot[aiSlot1] && i != battleCtx->aiSwitchedPartySlot[aiSlot2]) { - for (j = 0; j < LEARNED_MOVES_MAX; j++) { - move = Pokemon_GetValue(mon, MON_DATA_MOVE1 + j, NULL); + for (j = 0; j < MAX_MON_MOVES; j++) { + move = Pokemon_GetData(mon, MON_DATA_MOVE1 + j, NULL); type = Move_CalcVariableType(battleSys, battleCtx, mon, move); if (move && MOVE_DATA(move).power) { @@ -3555,7 +3555,7 @@ static BOOL AI_OnlyIneffectiveMoves(BattleSystem *battleSys, BattleContext *batt BattleSystem_CalcEffectiveness(battleCtx, move, type, - Pokemon_GetValue(mon, MON_DATA_ABILITY, NULL), + Pokemon_GetData(mon, MON_DATA_ABILITY, NULL), Battler_Ability(battleCtx, defender1), Battler_HeldItemEffect(battleCtx, defender1), BattleMon_Get(battleCtx, defender1, BATTLEMON_TYPE_1, NULL), @@ -3573,7 +3573,7 @@ static BOOL AI_OnlyIneffectiveMoves(BattleSystem *battleSys, BattleContext *batt BattleSystem_CalcEffectiveness(battleCtx, move, type, - Pokemon_GetValue(mon, MON_DATA_ABILITY, NULL), + Pokemon_GetData(mon, MON_DATA_ABILITY, NULL), Battler_Ability(battleCtx, defender2), Battler_HeldItemEffect(battleCtx, defender2), BattleMon_Get(battleCtx, defender2, BATTLEMON_TYPE_1, NULL), @@ -3597,15 +3597,15 @@ static BOOL AI_OnlyIneffectiveMoves(BattleSystem *battleSys, BattleContext *batt for (i = start; i < end; i++) { mon = BattleSystem_PartyPokemon(battleSys, battler, i); - if (Pokemon_GetValue(mon, MON_DATA_HP, NULL) != 0 - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG + if (Pokemon_GetData(mon, MON_DATA_HP, NULL) != 0 + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG && i != battleCtx->selectedPartySlot[aiSlot1] && i != battleCtx->selectedPartySlot[aiSlot2] && i != battleCtx->aiSwitchedPartySlot[aiSlot1] && i != battleCtx->aiSwitchedPartySlot[aiSlot2]) { - for (j = 0; j < LEARNED_MOVES_MAX; j++) { - move = Pokemon_GetValue(mon, MON_DATA_MOVE1 + j, NULL); + for (j = 0; j < MAX_MON_MOVES; j++) { + move = Pokemon_GetData(mon, MON_DATA_MOVE1 + j, NULL); type = Move_CalcVariableType(battleSys, battleCtx, mon, move); if (move && MOVE_DATA(move).power) { @@ -3614,7 +3614,7 @@ static BOOL AI_OnlyIneffectiveMoves(BattleSystem *battleSys, BattleContext *batt BattleSystem_CalcEffectiveness(battleCtx, move, type, - Pokemon_GetValue(mon, MON_DATA_ABILITY, NULL), + Pokemon_GetData(mon, MON_DATA_ABILITY, NULL), Battler_Ability(battleCtx, defender1), Battler_HeldItemEffect(battleCtx, defender1), BattleMon_Get(battleCtx, defender1, BATTLEMON_TYPE_1, NULL), @@ -3632,7 +3632,7 @@ static BOOL AI_OnlyIneffectiveMoves(BattleSystem *battleSys, BattleContext *batt BattleSystem_CalcEffectiveness(battleCtx, move, type, - Pokemon_GetValue(mon, MON_DATA_ABILITY, NULL), + Pokemon_GetData(mon, MON_DATA_ABILITY, NULL), Battler_Ability(battleCtx, defender2), Battler_HeldItemEffect(battleCtx, defender2), BattleMon_Get(battleCtx, defender2, BATTLEMON_TYPE_1, NULL), @@ -3680,7 +3680,7 @@ static BOOL AI_HasSuperEffectiveMove(BattleSystem *battleSys, BattleContext *bat if ((battleCtx->battlersSwitchingMask & FlagIndex(defender)) == FALSE) { // Check if the player's battler is weak to any of our moves - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { move = battleCtx->battleMons[battler].moves[i]; type = TrainerAI_MoveType(battleSys, battleCtx, battler, move); @@ -3707,7 +3707,7 @@ static BOOL AI_HasSuperEffectiveMove(BattleSystem *battleSys, BattleContext *bat defender = BattleSystem_Partner(battleSys, defender); if ((battleCtx->battlersSwitchingMask & FlagIndex(defender)) == FALSE) { - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { move = battleCtx->battleMons[battler].moves[i]; type = TrainerAI_MoveType(battleSys, battleCtx, battler, move); @@ -3800,14 +3800,14 @@ static BOOL AI_HasAbsorbAbilityInParty(BattleSystem *battleSys, BattleContext *b for (i = start; i < end; i++) { mon = BattleSystem_PartyPokemon(battleSys, battler, i); - if (Pokemon_GetValue(mon, MON_DATA_HP, NULL) != 0 - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG + if (Pokemon_GetData(mon, MON_DATA_HP, NULL) != 0 + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG && i != battleCtx->selectedPartySlot[aiSlot1] && i != battleCtx->selectedPartySlot[aiSlot2] && i != battleCtx->aiSwitchedPartySlot[aiSlot1] && i != battleCtx->aiSwitchedPartySlot[aiSlot2]) { - ability = Pokemon_GetValue(mon, MON_DATA_ABILITY, NULL); + ability = Pokemon_GetData(mon, MON_DATA_ABILITY, NULL); // Switch to a matching Pokemon 50% of the time. if (checkAbility == ability && (BattleSystem_RandNext(battleSys) & 1)) { @@ -3863,9 +3863,9 @@ static BOOL AI_HasPartyMemberWithSuperEffectiveMove(BattleSystem *battleSys, Bat for (i = start; i < end; i++) { mon = BattleSystem_PartyPokemon(battleSys, battler, i); - if (Pokemon_GetValue(mon, MON_DATA_HP, NULL) != 0 - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG + if (Pokemon_GetData(mon, MON_DATA_HP, NULL) != 0 + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG && i != battleCtx->selectedPartySlot[aiSlot1] && i != battleCtx->selectedPartySlot[aiSlot2] && i != battleCtx->aiSwitchedPartySlot[aiSlot1] @@ -3877,15 +3877,15 @@ static BOOL AI_HasPartyMemberWithSuperEffectiveMove(BattleSystem *battleSys, Bat battleCtx->moveHit[battler], moveType, Battler_Ability(battleCtx, battleCtx->moveHitBattler[battler]), - Pokemon_GetValue(mon, MON_DATA_ABILITY, NULL), - BattleSystem_GetItemData(battleCtx, Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL), ITEM_PARAM_HOLD_EFFECT), - Pokemon_GetValue(mon, MON_DATA_TYPE_1, NULL), - Pokemon_GetValue(mon, MON_DATA_TYPE_2, NULL), + Pokemon_GetData(mon, MON_DATA_ABILITY, NULL), + BattleSystem_GetItemData(battleCtx, Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL), ITEM_PARAM_HOLD_EFFECT), + Pokemon_GetData(mon, MON_DATA_TYPE_1, NULL), + Pokemon_GetData(mon, MON_DATA_TYPE_2, NULL), &effectiveness); if (effectiveness & checkEffectiveness) { - for (j = 0; j < LEARNED_MOVES_MAX; j++) { - move = Pokemon_GetValue(mon, MON_DATA_MOVE1 + j, NULL); + for (j = 0; j < MAX_MON_MOVES; j++) { + move = Pokemon_GetData(mon, MON_DATA_MOVE1 + j, NULL); moveType = Move_CalcVariableType(battleSys, battleCtx, mon, move); if (move) { @@ -3893,7 +3893,7 @@ static BOOL AI_HasPartyMemberWithSuperEffectiveMove(BattleSystem *battleSys, Bat BattleSystem_CalcEffectiveness(battleCtx, move, moveType, - Pokemon_GetValue(mon, MON_DATA_ABILITY, NULL), + Pokemon_GetData(mon, MON_DATA_ABILITY, NULL), Battler_Ability(battleCtx, battleCtx->moveHitBattler[battler]), Battler_HeldItemEffect(battleCtx, battleCtx->moveHitBattler[battler]), BattleMon_Get(battleCtx, battleCtx->moveHitBattler[battler], BATTLEMON_TYPE_1, NULL), @@ -4033,9 +4033,9 @@ static BOOL TrainerAI_ShouldSwitch(BattleSystem *battleSys, BattleContext *battl for (i = start; i < end; i++) { mon = BattleSystem_PartyPokemon(battleSys, battler, i); - if (Pokemon_GetValue(mon, MON_DATA_HP, NULL) != 0 - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG + if (Pokemon_GetData(mon, MON_DATA_HP, NULL) != 0 + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG && i != battleCtx->selectedPartySlot[aiSlot1] && i != battleCtx->selectedPartySlot[aiSlot2] && i != battleCtx->aiSwitchedPartySlot[aiSlot1] @@ -4121,7 +4121,7 @@ int TrainerAI_PickCommand(BattleSystem *battleSys, int battler) for (i = 0; i < end; i++) { mon = BattleSystem_PartyPokemon(battleSys, battler, i); - if (Pokemon_GetValue(mon, MON_DATA_HP, NULL) != 0 + if (Pokemon_GetData(mon, MON_DATA_HP, NULL) != 0 && i != battleCtx->selectedPartySlot[battler1] && i != battleCtx->selectedPartySlot[battler2] && i != battleCtx->aiSwitchedPartySlot[battler1] @@ -4188,9 +4188,9 @@ static BOOL TrainerAI_ShouldUseItem(BattleSystem *battleSys, int battler) for (i = 0; i < Party_GetCurrentCount(party); i++) { mon = Party_GetPokemonBySlotIndex(party, i); - if (Pokemon_GetValue(mon, MON_DATA_HP, NULL) != 0 - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE - && Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { + if (Pokemon_GetData(mon, MON_DATA_HP, NULL) != 0 + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_NONE + && Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL) != SPECIES_EGG) { aliveMons++; } } diff --git a/src/battle_anim/ov12_02235E94.c b/src/battle_anim/ov12_02235E94.c index 3b8b22d294..be18e2f608 100644 --- a/src/battle_anim/ov12_02235E94.c +++ b/src/battle_anim/ov12_02235E94.c @@ -364,7 +364,7 @@ UnkStruct_ov12_02235FE0 *ov12_02236004(int heapID, const UnkStruct_ov12_02236030 void ov12_02236030(UnkStruct_ov12_02235FE0 *param0, const UnkStruct_ov12_02236030 *param1) { param0->unk_04 = *param1; - param0->unk_9C = Pokemon_GetValue(param0->unk_04.unk_08, MON_DATA_BALL_CAPSULE_ID, NULL); + param0->unk_9C = Pokemon_GetData(param0->unk_04.unk_08, MON_DATA_BALL_CAPSULE_ID, NULL); GF_ASSERT(param0->unk_9C < 12 + 1); @@ -374,11 +374,11 @@ void ov12_02236030(UnkStruct_ov12_02235FE0 *param0, const UnkStruct_ov12_0223603 if (param0->unk_04.unk_04 != 0) { param0->unk_98 = param0->unk_04.unk_04; } else { - param0->unk_98 = Pokemon_GetValue(param0->unk_04.unk_08, MON_DATA_POKEBALL, NULL); + param0->unk_98 = Pokemon_GetData(param0->unk_04.unk_08, MON_DATA_POKEBALL, NULL); } } else { param0->unk_94 = 1; - Pokemon_GetValue(param0->unk_04.unk_08, MON_DATA_BALL_CAPSULE, ¶m0->unk_A0); + Pokemon_GetData(param0->unk_04.unk_08, MON_DATA_BALL_CAPSULE, ¶m0->unk_A0); } } diff --git a/src/battle_anim/ov12_022380BC.c b/src/battle_anim/ov12_022380BC.c index afdca364b7..d83857fbda 100644 --- a/src/battle_anim/ov12_022380BC.c +++ b/src/battle_anim/ov12_022380BC.c @@ -3,6 +3,8 @@ #include #include +#include "generated/species.h" + #include "battle_anim/const_ov12_0223B0A0.h" #include "battle_anim/const_ov12_0223B0B8.h" #include "battle_anim/const_ov12_0223B0DC.h" @@ -90,18 +92,18 @@ static void ov12_022380DC(UnkStruct_ov12_022380DC *param0, int param1, int param } } - BuildPokemonSpriteTemplate(&v0, v2, v3, v4, v5, v6, v7); + Species_BuildSpriteTemplate(&v0, v2, v3, v4, v5, v6, v7); v1 = PokemonSprite_GetTemplate(param0->sprites[param0->unk_00]); *v1 = v0; PokemonSprite_ScheduleReloadFromNARC(param0->sprites[param0->unk_00]); - CharacterSprite_LoadPokemonSprite(v1->narcID, v1->character, heapID, param0->pokemonSpriteData[param0->unk_00]->tiles, v7, FALSE, v4, v1->spindaSpots); + CharacterSprite_LoadPokemonSprite(v1->narcID, v1->character, heapID, param0->pokemonSpriteData[param0->unk_00]->tiles, v7, FALSE, v4, v1->species); param0->pokemonSpriteData[param0->unk_00]->narcID = v1->narcID; param0->pokemonSpriteData[param0->unk_00]->palette = v1->palette; - v11 = param0->pokemonSpriteData[param0->unk_00]->yOffset = LoadPokemonSpriteYOffset(v2, v3, v4, v6, v7); + v11 = param0->pokemonSpriteData[param0->unk_00]->yOffset = Species_LoadSpriteYOffset(v2, v3, v4, v6, v7); v8 = ov12_022384CC(param0->types[param0->unk_00], 1); PokemonSprite_SetAttribute(param0->sprites[param0->unk_00], MON_SPRITE_Y_CENTER, v8 + v11); @@ -146,11 +148,11 @@ void ov12_022382BC(UnkStruct_ov12_022380DC *param0, int heapID) v3 = 0; } - CharacterSprite_LoadPokemonSprite(v0->narcID, v0->character, heapID, param0->pokemonSpriteData[param0->unk_00]->tiles, v5, FALSE, v3, v0->spindaSpots); + CharacterSprite_LoadPokemonSprite(v0->narcID, v0->character, heapID, param0->pokemonSpriteData[param0->unk_00]->tiles, v5, FALSE, v3, v0->species); param0->pokemonSpriteData[param0->unk_00]->narcID = v0->narcID; param0->pokemonSpriteData[param0->unk_00]->palette = v0->palette; - param0->pokemonSpriteData[param0->unk_00]->yOffset = LoadPokemonSpriteYOffset(v1, v2, v3, v4, v5); + param0->pokemonSpriteData[param0->unk_00]->yOffset = Species_LoadSpriteYOffset(v1, v2, v3, v4, v5); v6 = ov12_022384CC(param0->types[param0->unk_00], 1) + param0->pokemonSpriteData[param0->unk_00]->yOffset; @@ -169,8 +171,8 @@ void ov12_02238390(UnkStruct_ov12_022380DC *param0, int heapID) v0.narcID = 117; v0.palette = 250; - v0.spindaSpots = 0; - v0.dummy = 0; + v0.species = SPECIES_NONE; + v0.isAnimated = FALSE; v0.personality = 0; if (param0->types[param0->unk_00] & 0x1) { diff --git a/src/battle_anim/script_funcs_1.c b/src/battle_anim/script_funcs_1.c index 2af8ad6d00..4e7d88a942 100644 --- a/src/battle_anim/script_funcs_1.c +++ b/src/battle_anim/script_funcs_1.c @@ -599,7 +599,7 @@ void BattleAnimScriptFunc_RolePlay(BattleAnimSystem *system) } u8 defender = BattleAnimSystem_GetDefender(ctx->common.battleAnimSys); - u8 defenderYOffset = LoadPokemonSpriteYOffset( + u8 defenderYOffset = Species_LoadSpriteYOffset( BattleAnimSystem_GetBattlerSpecies(ctx->common.battleAnimSys, defender), BattleAnimSystem_GetBattlerGender(ctx->common.battleAnimSys, defender), face, diff --git a/src/battle_regulation_validation.c b/src/battle_regulation_validation.c index 45fd92e2de..e50277dbb0 100644 --- a/src/battle_regulation_validation.c +++ b/src/battle_regulation_validation.c @@ -11,7 +11,7 @@ BOOL BattleRegulation_ValidatePokemon(const BattleRegulation *regulation, Pokemon *pokemon, const HeightWeightData *heightWeightData) { - u16 species = (u16)Pokemon_GetValue(pokemon, MON_DATA_SPECIES, NULL); + u16 species = (u16)Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL); int ruleValue, height, weight; if (regulation == NULL) { @@ -20,11 +20,11 @@ BOOL BattleRegulation_ValidatePokemon(const BattleRegulation *regulation, Pokemo ruleValue = BattleRegulation_GetRuleValue(regulation, BATTLE_REGULATION_RULE_MAX_LEVEL); - if (Pokemon_GetValue(pokemon, MON_DATA_LEVEL, NULL) > ruleValue) { + if (Pokemon_GetData(pokemon, MON_DATA_LEVEL, NULL) > ruleValue) { return FALSE; } - if (Pokemon_GetValue(pokemon, MON_DATA_IS_EGG, NULL)) { + if (Pokemon_GetData(pokemon, MON_DATA_IS_EGG, NULL)) { return FALSE; } @@ -71,7 +71,7 @@ BOOL BattleRegulation_ValidatePokemon(const BattleRegulation *regulation, Pokemo ruleValue = BattleRegulation_GetRuleValue(regulation, BATTLE_REGULATION_RULE_ITEM_RESTRICT); if (ruleValue == 0) { - if (Pokemon_IsBannedFromBattleFrontier(pokemon)) { + if (Pokemon_IsBattleFrontierBanned(pokemon)) { return FALSE; } } @@ -114,10 +114,10 @@ enum BattleRegulationValidationError BattleRegulation_ValidatePartySelection(con return BATTLE_REGULATION_VALIDATION_ERROR_INVALID_POKEMON; } - species[i] = (u16)Pokemon_GetValue(pokemon, MON_DATA_SPECIES, NULL); - heldItems[i] = (u16)Pokemon_GetValue(pokemon, MON_DATA_HELD_ITEM, NULL); + species[i] = (u16)Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL); + heldItems[i] = (u16)Pokemon_GetData(pokemon, MON_DATA_HELD_ITEM, NULL); - totalLevel += Pokemon_GetValue(pokemon, MON_DATA_LEVEL, NULL); + totalLevel += Pokemon_GetData(pokemon, MON_DATA_LEVEL, NULL); } } @@ -212,8 +212,8 @@ enum BattleRegulationValidationError BattleRegulation_SelectValidPokemon(const B for (i = 0; i < partyCount; i++) { pokemon = Party_GetPokemonBySlotIndex(party, i); - species[i] = (u16)Pokemon_GetValue(pokemon, MON_DATA_SPECIES, NULL); - levels[i] = Pokemon_GetValue(pokemon, MON_DATA_LEVEL, NULL); + species[i] = (u16)Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL); + levels[i] = Pokemon_GetData(pokemon, MON_DATA_LEVEL, NULL); if (BattleRegulation_ValidatePokemon(regulation, pokemon, heightWeightData) == FALSE) { species[i] = 0; diff --git a/src/catching_show.c b/src/catching_show.c index 096576f4ad..9be2620cc7 100644 --- a/src/catching_show.c +++ b/src/catching_show.c @@ -143,7 +143,7 @@ static void InitSpeciesData(FieldSystem *fieldSystem, CatchingShow *catchingShow catchingShow->caughtMonsOrder[i] = 0; MigratedPokemon_ConvertToPokemon(transferData, i, mon); - species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); + species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); catchingShow->pokemon[i].species = species; BufferSpeciesData(species, &speciesData); @@ -156,8 +156,8 @@ static void InitSpeciesData(FieldSystem *fieldSystem, CatchingShow *catchingShow catchingShow->pokemon[i].rarity = speciesData.rarity; catchingShow->pokemon[i].catchingPoints = speciesData.catchingPoints; - catchingShow->pokemon[i].type1 = Pokemon_GetValue(mon, MON_DATA_TYPE_1, NULL); - catchingShow->pokemon[i].type2 = Pokemon_GetValue(mon, MON_DATA_TYPE_2, NULL); + catchingShow->pokemon[i].type1 = Pokemon_GetData(mon, MON_DATA_TYPE_1, NULL); + catchingShow->pokemon[i].type2 = Pokemon_GetData(mon, MON_DATA_TYPE_2, NULL); } Heap_Free(mon); diff --git a/src/choose_starter/choose_starter_app.c b/src/choose_starter/choose_starter_app.c index 42e0c1aade..dae5b4458b 100644 --- a/src/choose_starter/choose_starter_app.c +++ b/src/choose_starter/choose_starter_app.c @@ -677,10 +677,10 @@ static void MakeSprite(ChooseStarterApp *app, enum HeapID heapID) static void MakePokemonSprite(PokemonSprite **sprite, ChooseStarterApp *app, int species) { - int gender = Pokemon_GetGenderOf(species, 0); + int gender = Species_GetGenderFromPersonality(species, 0); PokemonSpriteTemplate spriteTemplate; - BuildPokemonSpriteTemplate(&spriteTemplate, species, gender, FACE_FRONT, FALSE, NULL, NULL); + Species_BuildSpriteTemplate(&spriteTemplate, species, gender, FACE_FRONT, FALSE, NULL, NULL); *sprite = PokemonSpriteManager_CreateSprite(app->spriteManager, &spriteTemplate, diff --git a/src/cutscenes/hall_of_fame.c b/src/cutscenes/hall_of_fame.c index 8ae4e387fa..95571a839f 100644 --- a/src/cutscenes/hall_of_fame.c +++ b/src/cutscenes/hall_of_fame.c @@ -320,7 +320,7 @@ BOOL HallOfFameManager_Init(ApplicationManager *appMan, int *state) currentPartyCount = Party_GetCurrentCount(hallOfFameMan->displayData->party); for (i = 0; i < currentPartyCount; i++) { - if (Pokemon_GetValue(Party_GetPokemonBySlotIndex(hallOfFameMan->displayData->party, i), MON_DATA_IS_EGG, NULL) == 0) { + if (Pokemon_GetData(Party_GetPokemonBySlotIndex(hallOfFameMan->displayData->party, i), MON_DATA_IS_EGG, NULL) == 0) { hallOfFameMan->slotIndexes[hallOfFameMan->monCount] = i; hallOfFameMan->monCount++; } @@ -841,15 +841,15 @@ static void ov86_0223BAC8(HallOfFameMan *hallOfFameMan, NNSG2dCellDataBank *cell mon = Party_GetPokemonBySlotIndex(hallOfFameMan->displayData->party, hallOfFameMan->slotIndexes[i]); Pokemon_BuildSpriteTemplate(&spriteTemplate, (Pokemon *)mon, FACE_FRONT); - hallOfFameMan->species[i] = Pokemon_GetValue((Pokemon *)mon, MON_DATA_SPECIES, NULL); - hallOfFameMan->forms[i] = Pokemon_GetValue((Pokemon *)mon, MON_DATA_FORM, NULL); + hallOfFameMan->species[i] = Pokemon_GetData((Pokemon *)mon, MON_DATA_SPECIES, NULL); + hallOfFameMan->forms[i] = Pokemon_GetData((Pokemon *)mon, MON_DATA_FORM, NULL); CharacterSprite_LoadPokemonSpriteRegion(spriteTemplate.narcID, spriteTemplate.character, HEAP_ID_HALL_OF_FAME, &tileRegions[0], hallOfFameMan->unk_310, - Pokemon_GetValue((Pokemon *)mon, + Pokemon_GetData((Pokemon *)mon, MON_DATA_PERSONALITY, NULL), TRUE, @@ -864,7 +864,7 @@ static void ov86_0223BAC8(HallOfFameMan *hallOfFameMan, NNSG2dCellDataBank *cell HEAP_ID_HALL_OF_FAME, &tileRegions[1], hallOfFameMan->unk_310, - Pokemon_GetValue((Pokemon *)mon, + Pokemon_GetData((Pokemon *)mon, MON_DATA_PERSONALITY, NULL), TRUE, @@ -1279,8 +1279,8 @@ static void HallOfFame_PrintTextAtRow(HallOfFamePokemonTextAdder *textAdder, int static void HallOfFame_LoadPokemonText(HallOfFamePokemonTextAdder *textAdder) { - StringTemplate_SetSpeciesName(textAdder->strTemplate, 0, Pokemon_GetBoxPokemon(textAdder->mon)); - StringTemplate_SetNumber(textAdder->strTemplate, 1, Pokemon_GetLevel(textAdder->mon), 3, PADDING_MODE_NONE, CHARSET_MODE_EN); + StringTemplate_SetSpeciesName(textAdder->strTemplate, 0, Pokemon_GetBoxMon(textAdder->mon)); + StringTemplate_SetNumber(textAdder->strTemplate, 1, Pokemon_CalcLevel(textAdder->mon), 3, PADDING_MODE_NONE, CHARSET_MODE_EN); switch (Pokemon_GetGender(textAdder->mon)) { case GENDER_MALE: @@ -1305,7 +1305,7 @@ static void HallOfFame_LoadMetString(HallOfFamePokemonTextAdder *textAdder) switch (metStringIndex) { case HallOfFame_Text_MetAt - HallOfFame_Text_MetAt: case HallOfFame_Text_HatchedAt - HallOfFame_Text_MetAt: - StringTemplate_SetLocationName(textAdder->strTemplate, 0, Pokemon_GetValue(textAdder->mon, MON_DATA_MET_LOCATION, NULL)); + StringTemplate_SetLocationName(textAdder->strTemplate, 0, Pokemon_GetData(textAdder->mon, MON_DATA_MET_LOCATION, NULL)); break; } @@ -1331,7 +1331,7 @@ static void HallOfFame_PrintPokemonText(SysTask *task, void *data) textAdder->state++; break; case 1: - Pokemon_GetValue(textAdder->mon, MON_DATA_NICKNAME_STRING, textAdder->string_1C); + Pokemon_GetData(textAdder->mon, MON_DATA_NICKNAME_STRING, textAdder->string_1C); HallOfFame_PrintTextAtRow(textAdder, ROW_HEIGHT * 3); HallOfFame_LoadPokemonText(textAdder); HallOfFame_PrintTextAtRow(textAdder, ROW_HEIGHT * 4); @@ -1340,7 +1340,7 @@ static void HallOfFame_PrintPokemonText(SysTask *task, void *data) textAdder->state++; break; case 2: - StringTemplate_SetOTName(textAdder->strTemplate, 0, Pokemon_GetBoxPokemon(textAdder->mon)); + StringTemplate_SetOTName(textAdder->strTemplate, 0, Pokemon_GetBoxMon(textAdder->mon)); MessageLoader_GetString(textAdder->msgLoader, HallOfFame_Text_OT, textAdder->string_18); StringTemplate_Format(textAdder->strTemplate, textAdder->string_1C, textAdder->string_18); HallOfFame_PrintTextAtRow(textAdder, ROW_HEIGHT * 6); @@ -1866,11 +1866,11 @@ static BOOL HallOfFameMovement_IsDone(HallOfFameMovement *movement) static int HallOfFame_GetMetStringIndex(HallOfFameMan *hallOfFameMan, Pokemon *mon, const TrainerInfo *trainerInfo) { - BOOL reencrypt = Pokemon_EnterDecryptionContext(mon); + BOOL reencrypt = Pokemon_DecryptData(mon); int metStringIndex = HallOfFame_Text_ObtainedInFatefulEncounter - HallOfFame_Text_MetAt; do { - int metGame = Pokemon_GetValue(mon, MON_DATA_MET_GAME, NULL); + int metGame = Pokemon_GetData(mon, MON_DATA_MET_GAME, NULL); if (metGame == VERSION_SAPPHIRE || metGame == VERSION_RUBY || metGame == VERSION_EMERALD) { metStringIndex = HallOfFame_Text_ArrivedFromHoenn - HallOfFame_Text_MetAt; @@ -1887,13 +1887,13 @@ static int HallOfFame_GetMetStringIndex(HallOfFameMan *hallOfFameMan, Pokemon *m break; } - if (Pokemon_GetValue(mon, MON_DATA_FATEFUL_ENCOUNTER, NULL)) { + if (Pokemon_GetData(mon, MON_DATA_FATEFUL_ENCOUNTER, NULL)) { metStringIndex = HallOfFame_Text_ObtainedInFatefulEncounter - HallOfFame_Text_MetAt; break; } u32 trainerID = TrainerInfo_ID(trainerInfo); - u32 otID = Pokemon_GetValue(mon, MON_DATA_OT_ID, NULL); + u32 otID = Pokemon_GetData(mon, MON_DATA_OT_ID, NULL); if (trainerID != otID) { metStringIndex = HallOfFame_Text_ObtainedInLinkTrade - HallOfFame_Text_MetAt; @@ -1901,18 +1901,18 @@ static int HallOfFame_GetMetStringIndex(HallOfFameMan *hallOfFameMan, Pokemon *m } TrainerInfo_NameString(trainerInfo, hallOfFameMan->string_1C30); - Pokemon_GetValue(mon, MON_DATA_OT_NAME_STRING, hallOfFameMan->string_1C4C); + Pokemon_GetData(mon, MON_DATA_OT_NAME_STRING, hallOfFameMan->string_1C4C); if (String_Compare(hallOfFameMan->string_1C30, hallOfFameMan->string_1C4C)) { metStringIndex = HallOfFame_Text_ObtainedInLinkTrade - HallOfFame_Text_MetAt; break; } - if (Pokemon_GetValue(mon, MON_DATA_MET_LOCATION, NULL) >= 2000) { + if (Pokemon_GetData(mon, MON_DATA_MET_LOCATION, NULL) >= 2000) { metStringIndex = HallOfFame_Text_ObtainedInFatefulEncounter - HallOfFame_Text_MetAt; ; } else { - if (Pokemon_GetValue(mon, MON_DATA_EGG_MONTH, NULL) == 0) { + if (Pokemon_GetData(mon, MON_DATA_EGG_MONTH, NULL) == 0) { metStringIndex = HallOfFame_Text_MetAt - HallOfFame_Text_MetAt; } else { metStringIndex = HallOfFame_Text_HatchedAt - HallOfFame_Text_MetAt; @@ -1920,7 +1920,7 @@ static int HallOfFame_GetMetStringIndex(HallOfFameMan *hallOfFameMan, Pokemon *m } } while (FALSE); - Pokemon_ExitDecryptionContext(mon, reencrypt); + Pokemon_EncryptData(mon, reencrypt); return metStringIndex; } diff --git a/src/daycare_save.c b/src/daycare_save.c index b032c94df6..1280e17516 100644 --- a/src/daycare_save.c +++ b/src/daycare_save.c @@ -89,8 +89,8 @@ void Daycare_SetStepCounter(Daycare *daycare, int steps) BOOL Daycare_AreParentLanguagesDifferent(Daycare *daycare) { - int language1 = BoxPokemon_GetValue(&daycare->mons[0].boxMon, MON_DATA_LANGUAGE, NULL); - int language2 = BoxPokemon_GetValue(&daycare->mons[1].boxMon, MON_DATA_LANGUAGE, NULL); + int language1 = BoxPokemon_GetData(&daycare->mons[0].boxMon, MON_DATA_LANGUAGE, NULL); + int language2 = BoxPokemon_GetData(&daycare->mons[1].boxMon, MON_DATA_LANGUAGE, NULL); if (language1 != language2) { return TRUE; diff --git a/src/enc_effects.c b/src/enc_effects.c index 3865d00b58..9df60b14d4 100644 --- a/src/enc_effects.c +++ b/src/enc_effects.c @@ -284,7 +284,7 @@ static u32 EncEffects_WildPokemonEffect(Party *wildParty, int mapHeaderID) u32 result = ENCEFF_NORMAL_WILD; Pokemon *wildPokemon = Party_FindFirstEligibleBattler(wildParty); - u32 wildSpecies = Pokemon_GetValue(wildPokemon, MON_DATA_SPECIES, NULL); + u32 wildSpecies = Pokemon_GetData(wildPokemon, MON_DATA_SPECIES, NULL); switch (wildSpecies) { case SPECIES_SHAYMIN: diff --git a/src/encounter.c b/src/encounter.c index b8bfbccbd3..ae248b9b2e 100644 --- a/src/encounter.c +++ b/src/encounter.c @@ -580,7 +580,7 @@ void Encounter_NewFatefulVsSpeciesAtLevel(FieldTask *taskMan, u16 species, u8 le BOOL tmp = TRUE; Pokemon *wildMon = Party_GetPokemonBySlotIndex(dto->parties[BATTLER_ENEMY_1], 0); - Pokemon_SetValue(wildMon, MON_DATA_FATEFUL_ENCOUNTER, &tmp); + Pokemon_SetData(wildMon, MON_DATA_FATEFUL_ENCOUNTER, &tmp); if (isLegendary) { dto->battleStatusMask |= BATTLE_STATUS_LEGENDARY; @@ -900,7 +900,7 @@ static void UpdateGameRecords(FieldSystem *fieldSystem, FieldBattleDTO *dto) // rather than choosing the Pokemon that was actually captured. caughtMon = Party_GetPokemonBySlotIndex(dto->parties[BATTLER_ENEMY_1], 0); - if (GetDexNumber(0, Pokemon_GetValue(caughtMon, MON_DATA_SPECIES, NULL))) { + if (GetDexNumber(0, Pokemon_GetData(caughtMon, MON_DATA_SPECIES, NULL))) { GameRecords_IncrementTrainerScore(SaveData_GetGameRecords(fieldSystem->saveData), TRAINER_SCORE_EVENT_CAPTURED_REGIONAL_MON); } else { GameRecords_IncrementTrainerScore(SaveData_GetGameRecords(fieldSystem->saveData), TRAINER_SCORE_EVENT_CAPTURED_NATIONAL_MON); @@ -914,7 +914,7 @@ static void UpdateGameRecords(FieldSystem *fieldSystem, FieldBattleDTO *dto) if (resultMask == BATTLE_RESULT_CAPTURED_MON) { caughtMon = Party_GetPokemonBySlotIndex(dto->parties[BATTLER_ENEMY_1], 0); - if (GetDexNumber(0, Pokemon_GetValue(caughtMon, MON_DATA_SPECIES, NULL))) { + if (GetDexNumber(0, Pokemon_GetData(caughtMon, MON_DATA_SPECIES, NULL))) { GameRecords_IncrementTrainerScore(SaveData_GetGameRecords(fieldSystem->saveData), TRAINER_SCORE_EVENT_CAPTURED_REGIONAL_MON); } else { GameRecords_IncrementTrainerScore(SaveData_GetGameRecords(fieldSystem->saveData), TRAINER_SCORE_EVENT_CAPTURED_NATIONAL_MON); @@ -952,13 +952,13 @@ static void UpdateJournal(FieldSystem *fieldSystem, FieldBattleDTO *dto) if (fieldSystem->wildBattleMetadata.wildMonDefeated >= 5) { caughtMon = Party_GetPokemonBySlotIndex(dto->parties[1], 0); - journalEntryMon = JournalEntry_CreateEventMonDefeated(SaveData_GetPlayTime(fieldSystem->saveData), Pokemon_GetValue(caughtMon, MON_DATA_SPECIES, 0), Pokemon_GetValue(caughtMon, MON_DATA_GENDER, 0), dto->timeOfDay, HEAP_ID_FIELD2); + journalEntryMon = JournalEntry_CreateEventMonDefeated(SaveData_GetPlayTime(fieldSystem->saveData), Pokemon_GetData(caughtMon, MON_DATA_SPECIES, 0), Pokemon_GetData(caughtMon, MON_DATA_GENDER, 0), dto->timeOfDay, HEAP_ID_FIELD2); JournalEntry_SaveData(fieldSystem->journalEntry, journalEntryMon, JOURNAL_MON); } } else if (resultMask == BATTLE_RESULT_CAPTURED_MON) { int caughtBattlerIdx = dto->caughtBattlerIdx; caughtMon = Party_GetPokemonBySlotIndex(dto->parties[caughtBattlerIdx], 0); - journalEntryMon = JournalEntry_CreateEventMonCaught(SaveData_GetPlayTime(fieldSystem->saveData), Pokemon_GetValue(caughtMon, MON_DATA_SPECIES, 0), Pokemon_GetValue(caughtMon, MON_DATA_GENDER, 0), dto->timeOfDay, HEAP_ID_FIELD2); + journalEntryMon = JournalEntry_CreateEventMonCaught(SaveData_GetPlayTime(fieldSystem->saveData), Pokemon_GetData(caughtMon, MON_DATA_SPECIES, 0), Pokemon_GetData(caughtMon, MON_DATA_GENDER, 0), dto->timeOfDay, HEAP_ID_FIELD2); JournalEntry_SaveData(fieldSystem->journalEntry, journalEntryMon, JOURNAL_MON); } @@ -981,7 +981,7 @@ void Encounter_NewVsGiratinaOrigin(FieldTask *task, u16 species, u8 level, int * CreateWildMon_Scripted(fieldSystem, species, level, dto); Pokemon *wildMon = Party_GetPokemonBySlotIndex(dto->parties[BATTLER_ENEMY_1], 0); - Pokemon_SetGiratinaOriginForm(wildMon); + Pokemon_ForceSetGiratinaOriginForm(wildMon); if (isLegendary) { dto->battleStatusMask |= BATTLE_STATUS_LEGENDARY; diff --git a/src/evolution.c b/src/evolution.c index 1765f161f2..b1fc2eacca 100644 --- a/src/evolution.c +++ b/src/evolution.c @@ -101,8 +101,8 @@ EvolutionData *Evolution_Begin(Party *param0, Pokemon *param1, int param2, Optio v0->unk_24 = param0; v0->unk_28 = param1; - v0->unk_60 = Pokemon_GetValue(param1, MON_DATA_SPECIES, NULL); - v0->unk_86 = Pokemon_GetValue(param1, MON_DATA_FORM, NULL); + v0->unk_60 = Pokemon_GetData(param1, MON_DATA_SPECIES, NULL); + v0->unk_86 = Pokemon_GetData(param1, MON_DATA_FORM, NULL); v0->unk_62 = param2; v0->heapID = heapID; v0->unk_80 = NARC_ctor(NARC_INDEX_POKETOOL__POKE_EDIT__PL_POKE_DATA, heapID); @@ -284,7 +284,7 @@ static void sub_0207B180(EvolutionData *param0) } Sound_PlayDelayedPokemonCry(param0->unk_60, param0->unk_84, param0->unk_86); - StringTemplate_SetNickname(param0->unk_0C, 0, Pokemon_GetBoxPokemon(param0->unk_28)); + StringTemplate_SetNickname(param0->unk_0C, 0, Pokemon_GetBoxMon(param0->unk_28)); if (param0->unk_7C & 0x2) { param0->unk_65 = sub_0207C584(param0, pl_msg_00000368_00917); @@ -393,11 +393,11 @@ static void sub_0207B180(EvolutionData *param0) break; case 11: if ((Sound_IsPokemonCryPlaying() == 0) && (PokemonAnimManager_HasAnimCompleted(param0->unk_44, 0) == TRUE) && (PokemonSprite_IsAnimActive(param0->unk_1C[1]) == 0)) { - Pokemon_SetValue(param0->unk_28, MON_DATA_SPECIES, (u8 *)¶m0->unk_62); - Pokemon_CalcAbility(param0->unk_28); + Pokemon_SetData(param0->unk_28, MON_DATA_SPECIES, (u8 *)¶m0->unk_62); + Pokemon_UpdateAbility(param0->unk_28); Pokemon_CalcLevelAndStats(param0->unk_28); - StringTemplate_SetNickname(param0->unk_0C, 0, Pokemon_GetBoxPokemon(param0->unk_28)); - StringTemplate_SetSpeciesName(param0->unk_0C, 1, Pokemon_GetBoxPokemon(param0->unk_28)); + StringTemplate_SetNickname(param0->unk_0C, 0, Pokemon_GetBoxMon(param0->unk_28)); + StringTemplate_SetSpeciesName(param0->unk_0C, 1, Pokemon_GetBoxMon(param0->unk_28)); param0->unk_65 = sub_0207C584(param0, pl_msg_00000368_00918); param0->unk_66 = 40; param0->unk_64++; @@ -409,10 +409,10 @@ static void sub_0207B180(EvolutionData *param0) Pokedex_Capture(param0->unk_48, param0->unk_28); GameRecords_IncrementRecordValue(param0->records, RECORD_UNK_012); GameRecords_IncrementTrainerScore(param0->records, TRAINER_SCORE_EVENT_CAUGHT_SPECIES); - Poketch_PokemonHistoryEnqueue(param0->poketch, Pokemon_GetBoxPokemon(param0->unk_28)); + Poketch_PokemonHistoryEnqueue(param0->poketch, Pokemon_GetBoxMon(param0->unk_28)); - if (Pokemon_GetValue(param0->unk_28, MON_DATA_HAS_NICKNAME, NULL) == 0) { - Pokemon_SetValue(param0->unk_28, MON_DATA_SPECIES_NAME, NULL); + if (Pokemon_GetData(param0->unk_28, MON_DATA_HAS_NICKNAME, NULL) == 0) { + Pokemon_SetData(param0->unk_28, MON_DATA_SPECIES_NAME, NULL); } param0->unk_64++; @@ -422,7 +422,7 @@ static void sub_0207B180(EvolutionData *param0) case 13: { u16 v3; - switch (Pokemon_LevelUpMove(param0->unk_28, ¶m0->unk_68, &v3)) { + switch (Pokemon_TryLevelUpMove(param0->unk_28, ¶m0->unk_68, &v3)) { case 0xfffe: break; case 0x0: @@ -433,7 +433,7 @@ static void sub_0207B180(EvolutionData *param0) param0->unk_64 = 14; break; default: - StringTemplate_SetNickname(param0->unk_0C, 0, Pokemon_GetBoxPokemon(param0->unk_28)); + StringTemplate_SetNickname(param0->unk_0C, 0, Pokemon_GetBoxMon(param0->unk_28)); StringTemplate_SetMoveName(param0->unk_0C, 1, v3); param0->unk_65 = sub_0207C584(param0, pl_msg_00000368_00004); param0->unk_66 = 30; @@ -442,14 +442,14 @@ static void sub_0207B180(EvolutionData *param0) } } break; case 14: - StringTemplate_SetNickname(param0->unk_0C, 0, Pokemon_GetBoxPokemon(param0->unk_28)); + StringTemplate_SetNickname(param0->unk_0C, 0, Pokemon_GetBoxMon(param0->unk_28)); StringTemplate_SetMoveName(param0->unk_0C, 1, param0->unk_6C); param0->unk_65 = sub_0207C584(param0, pl_msg_00000368_01193); param0->unk_66 = 30; param0->unk_64++; break; case 16: - StringTemplate_SetNickname(param0->unk_0C, 0, Pokemon_GetBoxPokemon(param0->unk_28)); + StringTemplate_SetNickname(param0->unk_0C, 0, Pokemon_GetBoxMon(param0->unk_28)); param0->unk_65 = sub_0207C584(param0, pl_msg_00000368_01194); param0->unk_66 = 30; param0->unk_64++; @@ -528,7 +528,7 @@ static void sub_0207B180(EvolutionData *param0) ResetScreenMasterBrightness(DS_SCREEN_SUB); if (PaletteData_GetSelectedBuffersMask(param0->unk_14) == 0) { - if (param0->unk_3C->selectedMoveSlot == LEARNED_MOVES_MAX) { + if (param0->unk_3C->selectedMoveSlot == MAX_MON_MOVES) { param0->unk_64 = 32; } else { param0->unk_6E = param0->unk_3C->selectedMoveSlot; @@ -549,7 +549,7 @@ static void sub_0207B180(EvolutionData *param0) case 35: switch (Menu_ProcessInputAndHandleExit(param0->unk_40, param0->heapID)) { case 0: - StringTemplate_SetNickname(param0->unk_0C, 0, Pokemon_GetBoxPokemon(param0->unk_28)); + StringTemplate_SetNickname(param0->unk_0C, 0, Pokemon_GetBoxMon(param0->unk_28)); StringTemplate_SetMoveName(param0->unk_0C, 1, param0->unk_6C); param0->unk_65 = sub_0207C584(param0, pl_msg_00000368_01198); param0->unk_66 = 30; @@ -574,8 +574,8 @@ static void sub_0207B180(EvolutionData *param0) param0->unk_64++; break; case 27: - StringTemplate_SetNickname(param0->unk_0C, 0, Pokemon_GetBoxPokemon(param0->unk_28)); - StringTemplate_SetMoveName(param0->unk_0C, 1, Pokemon_GetValue(param0->unk_28, 54 + param0->unk_6E, NULL)); + StringTemplate_SetNickname(param0->unk_0C, 0, Pokemon_GetBoxMon(param0->unk_28)); + StringTemplate_SetMoveName(param0->unk_0C, 1, Pokemon_GetData(param0->unk_28, 54 + param0->unk_6E, NULL)); param0->unk_65 = sub_0207C584(param0, pl_msg_00000368_01200); param0->unk_66 = 30; param0->unk_64++; @@ -586,12 +586,12 @@ static void sub_0207B180(EvolutionData *param0) param0->unk_64++; break; case 31: - StringTemplate_SetNickname(param0->unk_0C, 0, Pokemon_GetBoxPokemon(param0->unk_28)); + StringTemplate_SetNickname(param0->unk_0C, 0, Pokemon_GetBoxMon(param0->unk_28)); StringTemplate_SetMoveName(param0->unk_0C, 1, param0->unk_6C); param0->unk_65 = sub_0207C584(param0, pl_msg_00000368_01202); param0->unk_66 = 0; - Pokemon_SetValue(param0->unk_28, 62 + param0->unk_6E, ¶m0->unk_66); - Pokemon_SetMoveSlot(param0->unk_28, param0->unk_6C, param0->unk_6E); + Pokemon_SetData(param0->unk_28, 62 + param0->unk_6E, ¶m0->unk_66); + Pokemon_SetMoveInSlot(param0->unk_28, param0->unk_6C, param0->unk_6E); param0->unk_66 = 30; param0->unk_64 = 37; break; @@ -655,7 +655,7 @@ static void sub_0207B180(EvolutionData *param0) break; case 43: if ((Sound_IsPokemonCryPlaying() == 0) && (PokemonAnimManager_HasAnimCompleted(param0->unk_44, 0) == TRUE) && (PokemonSprite_IsAnimActive(param0->unk_1C[0]) == 0)) { - StringTemplate_SetNickname(param0->unk_0C, 0, Pokemon_GetBoxPokemon(param0->unk_28)); + StringTemplate_SetNickname(param0->unk_0C, 0, Pokemon_GetBoxMon(param0->unk_28)); param0->unk_65 = sub_0207C584(param0, pl_msg_00000368_00919); param0->unk_66 = 20; param0->unk_64++; @@ -695,60 +695,60 @@ static void sub_0207C028(EvolutionData *param0) Pokemon_Copy(param0->unk_28, shedinja); value = SPECIES_SHEDINJA; - Pokemon_SetValue(shedinja, MON_DATA_SPECIES, &value); + Pokemon_SetData(shedinja, MON_DATA_SPECIES, &value); value = ITEM_POKE_BALL; - Pokemon_SetValue(shedinja, MON_DATA_POKEBALL, &value); + Pokemon_SetData(shedinja, MON_DATA_POKEBALL, &value); value = 0; - Pokemon_SetValue(shedinja, MON_DATA_HELD_ITEM, &value); - Pokemon_SetValue(shedinja, MON_DATA_MARKINGS, &value); + Pokemon_SetData(shedinja, MON_DATA_HELD_ITEM, &value); + Pokemon_SetData(shedinja, MON_DATA_MARKINGS, &value); for (i = MON_DATA_SINNOH_CHAMP_RIBBON; i < MON_DATA_UNUSED_RIBBON_53 + 1; i++) { - Pokemon_SetValue(shedinja, i, &value); + Pokemon_SetData(shedinja, i, &value); } for (i = MON_DATA_COOL_RIBBON; i < MON_DATA_WORLD_RIBBON + 1; i++) { - Pokemon_SetValue(shedinja, i, &value); + Pokemon_SetData(shedinja, i, &value); } for (i = MON_DATA_SUPER_COOL_RIBBON; i < MON_DATA_UNUSED_RIBBON_143 + 1; i++) { - Pokemon_SetValue(shedinja, i, &value); + Pokemon_SetData(shedinja, i, &value); } - Pokemon_SetValue(shedinja, MON_DATA_SPECIES_NAME, NULL); - Pokemon_SetValue(shedinja, MON_DATA_HAS_NICKNAME, &value); - Pokemon_SetValue(shedinja, MON_DATA_STATUS, &value); + Pokemon_SetData(shedinja, MON_DATA_SPECIES_NAME, NULL); + Pokemon_SetData(shedinja, MON_DATA_HAS_NICKNAME, &value); + Pokemon_SetData(shedinja, MON_DATA_STATUS, &value); mail = Mail_New(param0->heapID); - Pokemon_SetValue(shedinja, MON_DATA_MAIL, mail); + Pokemon_SetData(shedinja, MON_DATA_MAIL, mail); Heap_Free(mail); - Pokemon_SetValue(shedinja, MON_DATA_BALL_CAPSULE_ID, &value); + Pokemon_SetData(shedinja, MON_DATA_BALL_CAPSULE_ID, &value); MI_CpuClearFast(&v4, sizeof(BallCapsule)); - Pokemon_SetValue(shedinja, MON_DATA_BALL_CAPSULE, (BallCapsule *)&v4); - Pokemon_CalcAbility(shedinja); + Pokemon_SetData(shedinja, MON_DATA_BALL_CAPSULE, (BallCapsule *)&v4); + Pokemon_UpdateAbility(shedinja); i = Pokemon_GetGender(shedinja); - Pokemon_SetValue(shedinja, MON_DATA_GENDER, &i); + Pokemon_SetData(shedinja, MON_DATA_GENDER, &i); Pokemon_CalcLevelAndStats(shedinja); Party_AddPokemon(param0->unk_24, shedinja); Pokedex_Capture(param0->unk_48, shedinja); GameRecords_IncrementRecordValue(param0->records, RECORD_UNK_012); GameRecords_IncrementTrainerScore(param0->records, TRAINER_SCORE_EVENT_CAUGHT_SPECIES); - Poketch_PokemonHistoryEnqueue(param0->poketch, Pokemon_GetBoxPokemon(shedinja)); + Poketch_PokemonHistoryEnqueue(param0->poketch, Pokemon_GetBoxMon(shedinja)); Heap_Free(shedinja); Bag_TryRemoveItem(param0->unk_4C, ITEM_POKE_BALL, 1, param0->heapID); } } break; - case EVO_TRADE_WITH_HELD_ITEM: - case EVO_LEVEL_WITH_HELD_ITEM_DAY: - case EVO_LEVEL_WITH_HELD_ITEM_NIGHT: + case EVO_TRADE_HELD_ITEM: + case EVO_LEVEL_HELD_ITEM_DAY: + case EVO_LEVEL_HELD_ITEM_NIGHT: i = 0; - Pokemon_SetValue(param0->unk_28, MON_DATA_HELD_ITEM, &i); + Pokemon_SetData(param0->unk_28, MON_DATA_HELD_ITEM, &i); break; } } @@ -937,7 +937,7 @@ static void sub_0207C498(EvolutionData *param0) v1 = Pokemon_New(param0->heapID); Pokemon_Copy(param0->unk_28, v1); - Pokemon_SetValue(v1, MON_DATA_SPECIES, (u8 *)¶m0->unk_62); + Pokemon_SetData(v1, MON_DATA_SPECIES, (u8 *)¶m0->unk_62); Pokemon_CalcLevelAndStats(v1); Pokemon_BuildSpriteTemplate(&v0, v1, 2); Heap_Free(v1); diff --git a/src/field_battle_data_transfer.c b/src/field_battle_data_transfer.c index 4bbb8b3484..9cb9c6fb96 100644 --- a/src/field_battle_data_transfer.c +++ b/src/field_battle_data_transfer.c @@ -166,9 +166,9 @@ FieldBattleDTO *FieldBattleDTO_NewCatchingTutorial(enum HeapID heapID, const Fie Bag_TryAddItem(dto->bag, ITEM_POKE_BALL, 20, heapID); mon = Pokemon_New(heapID); - Pokemon_InitWith(mon, SystemVars_GetPlayerCounterpartStarter(SaveData_GetVarsFlags(fieldSystem->saveData)), 5, INIT_IVS_RANDOM, FALSE, 0, OTID_NOT_SHINY, 0); + Pokemon_InitWithParams(mon, SystemVars_GetPlayerCounterpartStarter(SaveData_GetVarsFlags(fieldSystem->saveData)), 5, INIT_IVS_RANDOM, FALSE, 0, OT_ID_RANDOM_NO_SHINY, 0); Party_AddPokemon(dto->parties[BATTLER_PLAYER_1], mon); - Pokemon_InitWith(mon, SPECIES_BIDOOF, 2, INIT_IVS_RANDOM, FALSE, 0, OTID_NOT_SHINY, 0); + Pokemon_InitWithParams(mon, SPECIES_BIDOOF, 2, INIT_IVS_RANDOM, FALSE, 0, OT_ID_RANDOM_NO_SHINY, 0); Party_AddPokemon(dto->parties[BATTLER_ENEMY_1], mon); Heap_Free(mon); @@ -305,9 +305,9 @@ void FieldBattleDTO_InitWithNormalizedMonLevels(FieldBattleDTO *dto, const Field for (i = 0; i < Party_GetCurrentCount(party); i++) { Pokemon_Copy(Party_GetPokemonBySlotIndex(party, i), mon); - if (Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL) != level && level != 0) { - levelBaseExp = Pokemon_GetSpeciesBaseExpAt(Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL), level); - Pokemon_SetValue(mon, MON_DATA_EXPERIENCE, &levelBaseExp); + if (Pokemon_GetData(mon, MON_DATA_LEVEL, NULL) != level && level != 0) { + levelBaseExp = Species_GetExpAtLevel(Pokemon_GetData(mon, MON_DATA_SPECIES, NULL), level); + Pokemon_SetData(mon, MON_DATA_EXPERIENCE, &levelBaseExp); Pokemon_CalcLevelAndStats(mon); } diff --git a/src/game_opening/ov77_021D6C70.c b/src/game_opening/ov77_021D6C70.c index e6dc96d5dc..c3f1c3ee58 100644 --- a/src/game_opening/ov77_021D6C70.c +++ b/src/game_opening/ov77_021D6C70.c @@ -138,7 +138,7 @@ void ov77_021D6CFC(UnkStruct_ov77_021D6CFC *param0) param0->unk_00 = PokemonSpriteManager_New(HEAP_ID_76); for (v0 = 0; v0 < 3; v0++) { - BuildPokemonSpriteTemplate(&v1, v5[v0], 0, 2, 0, NULL, NULL); + Species_BuildSpriteTemplate(&v1, v5[v0], 0, 2, 0, NULL, NULL); param0->unk_04[v0] = PokemonSpriteManager_CreateSprite(param0->unk_00, &v1, Unk_ov77_021D7958[param0->unk_1C[v0]].unk_00, Unk_ov77_021D7958[param0->unk_1C[v0]].unk_04, 1023, v0, NULL, NULL); PokemonSprite_SetAttribute(param0->unk_04[v0], MON_SPRITE_HIDE, 1); } diff --git a/src/game_start.c b/src/game_start.c index 173f6df69a..153a4d4cdd 100644 --- a/src/game_start.c +++ b/src/game_start.c @@ -125,7 +125,7 @@ static int GameStartLoadSave_Main(ApplicationManager *appMan, int *state) if (!SystemData_MatchesCurrentSystem(systemData) || !SystemData_MatchesCurrentRTCOffset(systemData)) { GameTime_StartPenalty(SaveData_GetGameTime(saveData)); SystemData_Init(systemData); - Party_SetShayminLandForm(SaveData_GetParty(saveData)); + Party_SetShayminLandForms(SaveData_GetParty(saveData)); } PlayTime_Start(SaveData_GetPlayTime(saveData)); diff --git a/src/hall_of_fame_entries.c b/src/hall_of_fame_entries.c index 65ad7f9604..ff1d10d0d1 100644 --- a/src/hall_of_fame_entries.c +++ b/src/hall_of_fame_entries.c @@ -45,24 +45,24 @@ void HallOfFame_AddEntry(HallOfFame *hallOfFame, const Party *party, const RTCDa for (i = 0, pokemonIndex = 0; i < currentPartyCount; i++) { mon = Party_GetPokemonBySlotIndex(party, i); - reencrypt = Pokemon_EnterDecryptionContext(mon); - - if (Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) == 0) { - hallOfFameEntry->pokemon[pokemonIndex].species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - hallOfFameEntry->pokemon[pokemonIndex].level = Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL); - hallOfFameEntry->pokemon[pokemonIndex].form = Pokemon_GetValue(mon, MON_DATA_FORM, NULL); - hallOfFameEntry->pokemon[pokemonIndex].personality = Pokemon_GetValue(mon, MON_DATA_PERSONALITY, NULL); - hallOfFameEntry->pokemon[pokemonIndex].OTID = Pokemon_GetValue(mon, MON_DATA_OT_ID, NULL); - hallOfFameEntry->pokemon[pokemonIndex].moves[0] = Pokemon_GetValue(mon, MON_DATA_MOVE1, NULL); - hallOfFameEntry->pokemon[pokemonIndex].moves[1] = Pokemon_GetValue(mon, MON_DATA_MOVE2, NULL); - hallOfFameEntry->pokemon[pokemonIndex].moves[2] = Pokemon_GetValue(mon, MON_DATA_MOVE3, NULL); - hallOfFameEntry->pokemon[pokemonIndex].moves[3] = Pokemon_GetValue(mon, MON_DATA_MOVE4, NULL); + reencrypt = Pokemon_DecryptData(mon); + + if (Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL) == 0) { + hallOfFameEntry->pokemon[pokemonIndex].species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + hallOfFameEntry->pokemon[pokemonIndex].level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); + hallOfFameEntry->pokemon[pokemonIndex].form = Pokemon_GetData(mon, MON_DATA_FORM, NULL); + hallOfFameEntry->pokemon[pokemonIndex].personality = Pokemon_GetData(mon, MON_DATA_PERSONALITY, NULL); + hallOfFameEntry->pokemon[pokemonIndex].OTID = Pokemon_GetData(mon, MON_DATA_OT_ID, NULL); + hallOfFameEntry->pokemon[pokemonIndex].moves[0] = Pokemon_GetData(mon, MON_DATA_MOVE1, NULL); + hallOfFameEntry->pokemon[pokemonIndex].moves[1] = Pokemon_GetData(mon, MON_DATA_MOVE2, NULL); + hallOfFameEntry->pokemon[pokemonIndex].moves[2] = Pokemon_GetData(mon, MON_DATA_MOVE3, NULL); + hallOfFameEntry->pokemon[pokemonIndex].moves[3] = Pokemon_GetData(mon, MON_DATA_MOVE4, NULL); if (string) { - Pokemon_GetValue(mon, MON_DATA_NICKNAME_STRING, string); + Pokemon_GetData(mon, MON_DATA_NICKNAME_STRING, string); String_ToChars(string, hallOfFameEntry->pokemon[pokemonIndex].nickname, MON_NAME_LEN + 1); - Pokemon_GetValue(mon, MON_DATA_OT_NAME_STRING, string); + Pokemon_GetData(mon, MON_DATA_OT_NAME_STRING, string); String_ToChars(string, hallOfFameEntry->pokemon[pokemonIndex].OTName, TRAINER_NAME_LEN + 1); } else { hallOfFameEntry->pokemon[pokemonIndex].nickname[0] = 0xffff; @@ -72,7 +72,7 @@ void HallOfFame_AddEntry(HallOfFame *hallOfFame, const Party *party, const RTCDa pokemonIndex++; } - Pokemon_ExitDecryptionContext(mon, reencrypt); + Pokemon_EncryptData(mon, reencrypt); } hallOfFameEntry->year = date->year; @@ -151,7 +151,7 @@ void HallOfFame_GetEntryPokemonData(const HallOfFame *hallOfFame, int entryIndex String_CopyChars(pcHallOfFameMon->nickname, hallOfFameMon->nickname); String_CopyChars(pcHallOfFameMon->OTName, hallOfFameMon->OTName); - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { pcHallOfFameMon->moves[i] = hallOfFameMon->moves[i]; } } diff --git a/src/item_use_pokemon.c b/src/item_use_pokemon.c index 7abde66d2e..87cf629f48 100644 --- a/src/item_use_pokemon.c +++ b/src/item_use_pokemon.c @@ -113,7 +113,7 @@ vApplyUpdatedEV = CalculateEVUpdate(__currentEV, __otherEVsSum, vApplyEVChange); \ if (vApplyUpdatedEV != EV_UNCHANGED) { \ __currentEV = vApplyUpdatedEV; \ - Pokemon_SetValue(mon, __monDataParam, &__currentEV); \ + Pokemon_SetData(mon, __monDataParam, &__currentEV); \ Pokemon_CalcLevelAndStats(mon); \ effectApplied = TRUE; \ } \ @@ -145,7 +145,7 @@ u8 Pokemon_CheckItemEffects(Pokemon *mon, u16 itemId, u16 moveSlot, enum HeapID return FALSE; } - vCheckStatus = Pokemon_GetValue(mon, MON_DATA_STATUS, NULL); + vCheckStatus = Pokemon_GetData(mon, MON_DATA_STATUS, NULL); CHECK_STATUS(ITEM_PARAM_HEAL_SLEEP, MON_CONDITION_SLEEP); CHECK_STATUS(ITEM_PARAM_HEAL_POISON, (MON_CONDITION_POISON | MON_CONDITION_TOXIC)); @@ -153,7 +153,7 @@ u8 Pokemon_CheckItemEffects(Pokemon *mon, u16 itemId, u16 moveSlot, enum HeapID CHECK_STATUS(ITEM_PARAM_HEAL_FREEZE, MON_CONDITION_FREEZE); CHECK_STATUS(ITEM_PARAM_HEAL_PARALYSIS, MON_CONDITION_PARALYSIS); - vCheckCurrentHP = Pokemon_GetValue(mon, MON_DATA_HP, NULL); + vCheckCurrentHP = Pokemon_GetData(mon, MON_DATA_HP, NULL); if ((Item_Get(item, ITEM_PARAM_REVIVE) || Item_Get(item, ITEM_PARAM_REVIVE_ALL)) && Item_Get(item, ITEM_PARAM_LEVEL_UP) == FALSE) { @@ -162,29 +162,29 @@ u8 Pokemon_CheckItemEffects(Pokemon *mon, u16 itemId, u16 moveSlot, enum HeapID return TRUE; } } else if (Item_Get(item, ITEM_PARAM_HP_RESTORE)) { - if (vCheckCurrentHP != 0 && vCheckCurrentHP < Pokemon_GetValue(mon, MON_DATA_MAX_HP, NULL)) { + if (vCheckCurrentHP != 0 && vCheckCurrentHP < Pokemon_GetData(mon, MON_DATA_MAX_HP, NULL)) { Heap_Free(item); return TRUE; } } if (Item_Get(item, ITEM_PARAM_LEVEL_UP)) { - if (Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL) < MAX_POKEMON_LEVEL) { + if (Pokemon_GetData(mon, MON_DATA_LEVEL, NULL) < MAX_MON_LEVEL) { Heap_Free(item); return TRUE; } } if (Item_Get(item, ITEM_PARAM_EVOLVE)) { - if (Pokemon_GetEvolutionTargetSpecies(NULL, mon, EVO_CLASS_BY_ITEM, itemId, NULL) != SPECIES_NONE) { + if (Pokemon_GetEvolutionTarget(NULL, mon, EVO_CONTEXT_ITEM_USE, itemId, NULL) != SPECIES_NONE) { Heap_Free(item); return TRUE; } } if (Item_Get(item, ITEM_PARAM_PP_UP) || Item_Get(item, ITEM_PARAM_PP_MAX)) { - if (Pokemon_GetValue(mon, MON_DATA_MOVE1_PP_UPS + moveSlot, NULL) < MAX_PP_UP_BONUSES - && MoveTable_CalcMaxPP(Pokemon_GetValue(mon, MON_DATA_MOVE1 + moveSlot, NULL), 0) >= PP_UP_REQUIREMENT) { + if (Pokemon_GetData(mon, MON_DATA_MOVE1_PP_UPS + moveSlot, NULL) < MAX_PP_UP_BONUSES + && MoveTable_CalcMaxPP(Pokemon_GetData(mon, MON_DATA_MOVE1 + moveSlot, NULL), 0) >= PP_UP_REQUIREMENT) { Heap_Free(item); return TRUE; } @@ -198,7 +198,7 @@ u8 Pokemon_CheckItemEffects(Pokemon *mon, u16 itemId, u16 moveSlot, enum HeapID } if (Item_Get(item, ITEM_PARAM_PP_RESTORE_ALL)) { - for (vCheckMoveIndex = 0; vCheckMoveIndex < LEARNED_MOVES_MAX; vCheckMoveIndex++) { + for (vCheckMoveIndex = 0; vCheckMoveIndex < MAX_MON_MOVES; vCheckMoveIndex++) { if (IsMoveMissingPP(mon, vCheckMoveIndex) == TRUE) { Heap_Free(item); return TRUE; @@ -206,14 +206,14 @@ u8 Pokemon_CheckItemEffects(Pokemon *mon, u16 itemId, u16 moveSlot, enum HeapID } } - vCheckEVHP = Pokemon_GetValue(mon, MON_DATA_HP_EV, NULL); - vCheckEVAttack = Pokemon_GetValue(mon, MON_DATA_ATK_EV, NULL); - vCheckEVDefense = Pokemon_GetValue(mon, MON_DATA_DEF_EV, NULL); - vCheckEVSpeed = Pokemon_GetValue(mon, MON_DATA_SPEED_EV, NULL); - vCheckEVSpAttack = Pokemon_GetValue(mon, MON_DATA_SPATK_EV, NULL); - vCheckEVSpDefense = Pokemon_GetValue(mon, MON_DATA_SPDEF_EV, NULL); + vCheckEVHP = Pokemon_GetData(mon, MON_DATA_HP_EV, NULL); + vCheckEVAttack = Pokemon_GetData(mon, MON_DATA_ATK_EV, NULL); + vCheckEVDefense = Pokemon_GetData(mon, MON_DATA_DEF_EV, NULL); + vCheckEVSpeed = Pokemon_GetData(mon, MON_DATA_SPEED_EV, NULL); + vCheckEVSpAttack = Pokemon_GetData(mon, MON_DATA_SPATK_EV, NULL); + vCheckEVSpDefense = Pokemon_GetData(mon, MON_DATA_SPDEF_EV, NULL); - if (Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL) != SPECIES_SHEDINJA) { + if (Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) != SPECIES_SHEDINJA) { CHECK_EV_ITEM_EFFECT(ITEM_PARAM_GIVE_HP_EVS, ITEM_PARAM_HP_EVS, vCheckEVHP); } @@ -251,7 +251,7 @@ u8 Pokemon_ApplyItemEffects(Pokemon *mon, u16 itemId, u16 moveSlot, u16 location u8 effectApplied = FALSE; u8 effectFound = FALSE; - vApplyStatus = Pokemon_GetValue(mon, MON_DATA_STATUS, NULL); + vApplyStatus = Pokemon_GetData(mon, MON_DATA_STATUS, NULL); vApplyStatusTmp = vApplyStatus; APPLY_HEAL_STATUS(ITEM_PARAM_HEAL_SLEEP, MON_CONDITION_SLEEP); @@ -261,12 +261,12 @@ u8 Pokemon_ApplyItemEffects(Pokemon *mon, u16 itemId, u16 moveSlot, u16 location APPLY_HEAL_STATUS(ITEM_PARAM_HEAL_PARALYSIS, MON_CONDITION_PARALYSIS); if (vApplyStatus != vApplyStatusTmp) { - Pokemon_SetValue(mon, MON_DATA_STATUS, &vApplyStatusTmp); + Pokemon_SetData(mon, MON_DATA_STATUS, &vApplyStatusTmp); effectApplied = TRUE; } - vApplyCurrentHP = Pokemon_GetValue(mon, MON_DATA_HP, NULL); - vApplyMaxHP = Pokemon_GetValue(mon, MON_DATA_MAX_HP, NULL); + vApplyCurrentHP = Pokemon_GetData(mon, MON_DATA_HP, NULL); + vApplyMaxHP = Pokemon_GetData(mon, MON_DATA_MAX_HP, NULL); if ((Item_Get(item, ITEM_PARAM_REVIVE) || Item_Get(item, ITEM_PARAM_REVIVE_ALL)) && Item_Get(item, ITEM_PARAM_LEVEL_UP)) { @@ -286,15 +286,15 @@ u8 Pokemon_ApplyItemEffects(Pokemon *mon, u16 itemId, u16 moveSlot, u16 location effectFound = TRUE; } - vApplyLevel = Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL); + vApplyLevel = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); if (Item_Get(item, ITEM_PARAM_LEVEL_UP)) { - if (vApplyLevel < MAX_POKEMON_LEVEL) { - Pokemon_IncreaseValue(mon, MON_DATA_EXPERIENCE, Pokemon_GetExpToNextLevel(mon)); + if (vApplyLevel < MAX_MON_LEVEL) { + Pokemon_IncreaseData(mon, MON_DATA_EXPERIENCE, Pokemon_CalcExpToNextLevel(mon)); Pokemon_CalcLevelAndStats(mon); if (vApplyCurrentHP == 0) { - vApplyLevelUpMaxHP = Pokemon_GetValue(mon, MON_DATA_MAX_HP, NULL); + vApplyLevelUpMaxHP = Pokemon_GetData(mon, MON_DATA_MAX_HP, NULL); RestorePokemonHP(mon, vApplyCurrentHP, vApplyLevelUpMaxHP, vApplyLevelUpMaxHP - vApplyMaxHP); } @@ -329,7 +329,7 @@ u8 Pokemon_ApplyItemEffects(Pokemon *mon, u16 itemId, u16 moveSlot, u16 location effectFound = TRUE; } else if (Item_Get(item, ITEM_PARAM_PP_RESTORE_ALL)) { - for (vApplyMoveIndex = 0; vApplyMoveIndex < LEARNED_MOVES_MAX; vApplyMoveIndex++) { + for (vApplyMoveIndex = 0; vApplyMoveIndex < MAX_MON_MOVES; vApplyMoveIndex++) { if (RestorePokemonMovePP(mon, vApplyMoveIndex, Item_Get(item, ITEM_PARAM_PP_RESTORED)) == TRUE) { effectApplied = TRUE; } @@ -338,14 +338,14 @@ u8 Pokemon_ApplyItemEffects(Pokemon *mon, u16 itemId, u16 moveSlot, u16 location effectFound = TRUE; } - vApplyEVHP = Pokemon_GetValue(mon, MON_DATA_HP_EV, NULL); - vApplyEVAttack = Pokemon_GetValue(mon, MON_DATA_ATK_EV, NULL); - vApplyEVDefense = Pokemon_GetValue(mon, MON_DATA_DEF_EV, NULL); - vApplyEVSpeed = Pokemon_GetValue(mon, MON_DATA_SPEED_EV, NULL); - vApplyEVSpAttack = Pokemon_GetValue(mon, MON_DATA_SPATK_EV, NULL); - vApplyEVSpDefense = Pokemon_GetValue(mon, MON_DATA_SPDEF_EV, NULL); + vApplyEVHP = Pokemon_GetData(mon, MON_DATA_HP_EV, NULL); + vApplyEVAttack = Pokemon_GetData(mon, MON_DATA_ATK_EV, NULL); + vApplyEVDefense = Pokemon_GetData(mon, MON_DATA_DEF_EV, NULL); + vApplyEVSpeed = Pokemon_GetData(mon, MON_DATA_SPEED_EV, NULL); + vApplyEVSpAttack = Pokemon_GetData(mon, MON_DATA_SPATK_EV, NULL); + vApplyEVSpDefense = Pokemon_GetData(mon, MON_DATA_SPDEF_EV, NULL); - if (Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL) != SPECIES_SHEDINJA) { + if (Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) != SPECIES_SHEDINJA) { APPLY_EV_EFFECT(ITEM_PARAM_GIVE_HP_EVS, ITEM_PARAM_HP_EVS, MON_DATA_HP_EV, vApplyEVHP, APPLY_EFFECTS_EV_SUM_EXCLUDE_HP); } @@ -360,7 +360,7 @@ u8 Pokemon_ApplyItemEffects(Pokemon *mon, u16 itemId, u16 moveSlot, u16 location return 0; } - vApplyFriendship = Pokemon_GetValue(mon, MON_DATA_FRIENDSHIP, NULL); + vApplyFriendship = Pokemon_GetData(mon, MON_DATA_FRIENDSHIP, NULL); if (vApplyFriendship < LOW_FRIENDSHIP_LIMIT) { if (Item_Get(item, ITEM_PARAM_GIVE_FRIENDSHIP_LOW)) { @@ -397,14 +397,14 @@ u8 Party_ApplyItemEffectsToMember(Party *party, u16 itemId, u8 partySlot, u8 mov static u8 IsMoveMissingPP(Pokemon *mon, u32 moveSlot) { - u16 move = Pokemon_GetValue(mon, MON_DATA_MOVE1 + moveSlot, NULL); + u16 move = Pokemon_GetData(mon, MON_DATA_MOVE1 + moveSlot, NULL); if (move == MOVE_NONE) { return FALSE; } - u8 currPP = Pokemon_GetValue(mon, MON_DATA_MOVE1_PP + moveSlot, NULL); - u8 ppUps = Pokemon_GetValue(mon, MON_DATA_MOVE1_PP_UPS + moveSlot, NULL); + u8 currPP = Pokemon_GetData(mon, MON_DATA_MOVE1_PP + moveSlot, NULL); + u8 ppUps = Pokemon_GetData(mon, MON_DATA_MOVE1_PP_UPS + moveSlot, NULL); if (currPP < MoveTable_CalcMaxPP(move, ppUps)) { return TRUE; @@ -415,14 +415,14 @@ static u8 IsMoveMissingPP(Pokemon *mon, u32 moveSlot) static u8 RestorePokemonMovePP(Pokemon *mon, u32 moveSlot, u32 amount) { - u16 move = Pokemon_GetValue(mon, MON_DATA_MOVE1 + moveSlot, NULL); + u16 move = Pokemon_GetData(mon, MON_DATA_MOVE1 + moveSlot, NULL); if (move == MOVE_NONE) { return FALSE; } - u8 currPP = Pokemon_GetValue(mon, MON_DATA_MOVE1_PP + moveSlot, NULL); - u8 maxPP = MoveTable_CalcMaxPP(move, Pokemon_GetValue(mon, MON_DATA_MOVE1_PP_UPS + moveSlot, NULL)); + u8 currPP = Pokemon_GetData(mon, MON_DATA_MOVE1_PP + moveSlot, NULL); + u8 maxPP = MoveTable_CalcMaxPP(move, Pokemon_GetData(mon, MON_DATA_MOVE1_PP_UPS + moveSlot, NULL)); if (currPP < maxPP) { if (amount == HEAL_FULL_PP) { @@ -435,7 +435,7 @@ static u8 RestorePokemonMovePP(Pokemon *mon, u32 moveSlot, u32 amount) } } - Pokemon_SetValue(mon, MON_DATA_MOVE1_PP + moveSlot, &currPP); + Pokemon_SetData(mon, MON_DATA_MOVE1_PP + moveSlot, &currPP); return TRUE; } @@ -446,19 +446,19 @@ static u8 IncreaseMovePPUps(Pokemon *mon, u32 moveSlot, u32 amount) { u8 currPP; // forward declaration required to match - u8 currPPUps = Pokemon_GetValue(mon, MON_DATA_MOVE1_PP_UPS + moveSlot, NULL); + u8 currPPUps = Pokemon_GetData(mon, MON_DATA_MOVE1_PP_UPS + moveSlot, NULL); if (currPPUps == MAX_PP_UP_BONUSES) { return FALSE; } - u16 moveId = Pokemon_GetValue(mon, MON_DATA_MOVE1 + moveSlot, NULL); + u16 moveId = Pokemon_GetData(mon, MON_DATA_MOVE1 + moveSlot, NULL); if (MoveTable_CalcMaxPP(moveId, 0) < PP_UP_REQUIREMENT) { return FALSE; } - currPP = Pokemon_GetValue(mon, MON_DATA_MOVE1_PP + moveSlot, NULL); + currPP = Pokemon_GetData(mon, MON_DATA_MOVE1_PP + moveSlot, NULL); u8 maxPP = MoveTable_CalcMaxPP(moveId, currPPUps); if (currPPUps + amount > MAX_PP_UP_BONUSES) { @@ -469,8 +469,8 @@ static u8 IncreaseMovePPUps(Pokemon *mon, u32 moveSlot, u32 amount) currPP = currPP + MoveTable_CalcMaxPP(moveId, currPPUps) - maxPP; - Pokemon_SetValue(mon, MON_DATA_MOVE1_PP_UPS + moveSlot, &currPPUps); - Pokemon_SetValue(mon, MON_DATA_MOVE1_PP + moveSlot, &currPP); + Pokemon_SetData(mon, MON_DATA_MOVE1_PP_UPS + moveSlot, &currPPUps); + Pokemon_SetData(mon, MON_DATA_MOVE1_PP + moveSlot, &currPP); return TRUE; } @@ -493,7 +493,7 @@ static void RestorePokemonHP(Pokemon *mon, u32 currentHP, u32 maxHP, u32 amount) currentHP += amount; } - Pokemon_SetValue(mon, MON_DATA_HP, ¤tHP); + Pokemon_SetData(mon, MON_DATA_HP, ¤tHP); } static s32 CalculateEVUpdate(s32 current, s32 sumOthers, s32 change) @@ -527,9 +527,9 @@ static s32 CalculateEVUpdate(s32 current, s32 sumOthers, s32 change) static u8 CheckFriendshipItemEffect(Pokemon *mon, ItemData *item) { - s32 friendship = Pokemon_GetValue(mon, MON_DATA_FRIENDSHIP, NULL); + s32 friendship = Pokemon_GetData(mon, MON_DATA_FRIENDSHIP, NULL); - if (friendship >= MAX_FRIENDSHIP_VALUE) { + if (friendship >= MAX_FRIENDSHIP) { return FALSE; } @@ -564,7 +564,7 @@ static u8 CheckFriendshipItemEffect(Pokemon *mon, ItemData *item) static u8 UpdatePokemonFriendship(Pokemon *mon, s32 current, s32 change, u16 location, enum HeapID heapID) { - if (current == MAX_FRIENDSHIP_VALUE && change > 0) { + if (current == MAX_FRIENDSHIP && change > 0) { return FALSE; } @@ -573,30 +573,30 @@ static u8 UpdatePokemonFriendship(Pokemon *mon, s32 current, s32 change, u16 loc } if (change > 0) { - if (Item_LoadParam(Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL), ITEM_PARAM_HOLD_EFFECT, heapID) == HOLD_EFFECT_FRIENDSHIP_UP) { + if (Item_LoadParam(Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL), ITEM_PARAM_HOLD_EFFECT, heapID) == HOLD_EFFECT_FRIENDSHIP_UP) { change = change * HELD_ITEM_FRIENDSHIP_UP_MULTIPLIER; } - if (Pokemon_GetValue(mon, MON_DATA_POKEBALL, NULL) == ITEM_LUXURY_BALL) { + if (Pokemon_GetData(mon, MON_DATA_POKEBALL, NULL) == ITEM_LUXURY_BALL) { change++; } - if (Pokemon_GetValue(mon, MON_DATA_EGG_LOCATION, NULL) == location) { + if (Pokemon_GetData(mon, MON_DATA_EGG_LOCATION, NULL) == location) { change++; } } change += current; - if (change > MAX_FRIENDSHIP_VALUE) { - change = MAX_FRIENDSHIP_VALUE; + if (change > MAX_FRIENDSHIP) { + change = MAX_FRIENDSHIP; } if (change < 0) { change = 0; } - Pokemon_SetValue(mon, MON_DATA_FRIENDSHIP, &change); + Pokemon_SetData(mon, MON_DATA_FRIENDSHIP, &change); return TRUE; } @@ -609,17 +609,17 @@ void Party_HealAllMembers(Party *party) for (int i = 0; i < monCount; i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(party, i); - if (Pokemon_GetValue(mon, MON_DATA_SPECIES_EXISTS, NULL) == FALSE) { + if (Pokemon_GetData(mon, MON_DATA_SPECIES_EXISTS, NULL) == FALSE) { continue; } - u32 tmp = Pokemon_GetValue(mon, MON_DATA_MAX_HP, NULL); - Pokemon_SetValue(mon, MON_DATA_HP, &tmp); + u32 tmp = Pokemon_GetData(mon, MON_DATA_MAX_HP, NULL); + Pokemon_SetData(mon, MON_DATA_HP, &tmp); tmp = MON_CONDITION_NONE; - Pokemon_SetValue(mon, MON_DATA_STATUS, &tmp); + Pokemon_SetData(mon, MON_DATA_STATUS, &tmp); - for (j = 0; j < LEARNED_MOVES_MAX; j++) { + for (j = 0; j < MAX_MON_MOVES; j++) { if (IsMoveMissingPP(mon, j) == TRUE) { RestorePokemonMovePP(mon, j, HEAL_FULL_PP); } diff --git a/src/mail.c b/src/mail.c index 5a62017189..45ef50bec1 100644 --- a/src/mail.c +++ b/src/mail.c @@ -108,9 +108,9 @@ void sub_020281AC(Mail *mail, u8 mailType, u8 param2, SaveData *saveData) for (i = param2, v1 = 0; i < Party_GetCurrentCount(party); i++) { mon = Party_GetPokemonBySlotIndex(party, i); - species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - isEgg = Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL); - form = Pokemon_GetValue(mon, MON_DATA_FORM, NULL); + species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + isEgg = Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL); + form = Pokemon_GetData(mon, MON_DATA_FORM, NULL); spriteIndex = Pokemon_IconSpriteIndex(mon); palIndex = PokeIconPaletteIndex(species, form, isEgg); diff --git a/src/main_menu/gba_migrator.c b/src/main_menu/gba_migrator.c index f6cb09ea58..f803a45fd1 100644 --- a/src/main_menu/gba_migrator.c +++ b/src/main_menu/gba_migrator.c @@ -426,7 +426,7 @@ static void CopySelectedMonToPalParkTransfer(GBAMigrator *migrator) GBABoxPokemon *gbaBoxMon; Pokemon mon; MigratedPokemon *transfer = SaveData_GetPalParkTransfer(migrator->saveData); - BoxPokemon *boxMon = Pokemon_GetBoxPokemon(&mon); + BoxPokemon *boxMon = Pokemon_GetBoxMon(&mon); for (i = 0; i < CATCHING_SHOW_MONS; i++) { boxPos = migrator->selectedMonData[i].boxPosition; @@ -647,22 +647,13 @@ static void ov97_022341EC(u32 memberIndex, NNSG2dCharacterData **param1, void *p NNS_G2dGetUnpackedBGCharacterData(param2, param1); } -#define NUM_UNOWN_FORMS 28 - -#define GET_UNOWN_LETTER_FROM_PERSONALITY(personality) (( \ - (((personality) & 0x03000000) >> 18) \ - | (((personality) & 0x00030000) >> 12) \ - | (((personality) & 0x00000300) >> 6) \ - | (((personality) & 0x00000003) >> 0)) \ - % NUM_UNOWN_FORMS) - static u8 GetSpeciesGBAForm(int speciesNDS, u32 personality, int gbaVersion) { u8 form = 0; switch (speciesNDS) { case SPECIES_UNOWN: - form = GET_UNOWN_LETTER_FROM_PERSONALITY(personality); + form = CALC_UNOWN_LETTER(personality); break; case SPECIES_DEOXYS: switch (gbaVersion) { @@ -895,7 +886,7 @@ static BOOL BoxMonGBAHasHM(GBAMigrator *migrator, int boxPosition) int i, j, move; GBABoxPokemon *boxMon = &migrator->pokemonStorage->boxes[migrator->currentBox][boxPosition]; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { move = GBABoxPokemon_GetData(boxMon, GBA_MON_DATA_MOVE1 + i, NULL); for (j = 0; j < sizeof(sGBAHMMoves) / sizeof(int); j++) { diff --git a/src/main_menu/gba_pokemon.c b/src/main_menu/gba_pokemon.c index 02dcd332f6..b28d287ab3 100644 --- a/src/main_menu/gba_pokemon.c +++ b/src/main_menu/gba_pokemon.c @@ -754,7 +754,7 @@ u32 GBABoxPokemon_GetLevel(GBABoxPokemon *gbaBoxMon) int species = GBAPokemon_ConvertSpeciesToDS(GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_SPECIES, NULL)); u32 exp = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_EXP, NULL); - return Pokemon_GetSpeciesLevelAt(species, exp); + return Species_CalcLevelByExp(species, exp); } static int ConvertBoxMonGBAtoDSAbility(GBABoxPokemon *gbaBoxMon, BoxPokemon *boxMon) @@ -764,23 +764,23 @@ static int ConvertBoxMonGBAtoDSAbility(GBABoxPokemon *gbaBoxMon, BoxPokemon *box u16 species; int abilityNum; - species = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); + species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); abilityNum = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_ABILITY_NUM, NULL); - ability = SpeciesData_GetSpeciesValue(species, SPECIES_DATA_ABILITY_2); + ability = Species_GetValue(species, SPECIES_DATA_ABILITY_2); if (ability != ABILITY_NONE) { for (i = 0; i < (NELEMS(sSpeciesWithNewAbilities)); i++) { if (sSpeciesWithNewAbilities[i] == species) { - ability = SpeciesData_GetSpeciesValue(species, SPECIES_DATA_ABILITY_1); + ability = Species_GetValue(species, SPECIES_DATA_ABILITY_1); break; } } if ((i == (NELEMS(sSpeciesWithNewAbilities))) && ((abilityNum & 1) == 0)) { - ability = SpeciesData_GetSpeciesValue(species, SPECIES_DATA_ABILITY_1); + ability = Species_GetValue(species, SPECIES_DATA_ABILITY_1); } } else { - ability = SpeciesData_GetSpeciesValue(species, SPECIES_DATA_ABILITY_1); + ability = Species_GetValue(species, SPECIES_DATA_ABILITY_1); } return ability; @@ -796,116 +796,116 @@ void BoxMonGBAToBoxMon(GBABoxPokemon *gbaBoxMon, BoxPokemon *boxMon) u16 dsNickName[MON_NAME_LEN + 2]; BoxPokemon_Init(boxMon); - reencrypt = BoxPokemon_EnterDecryptionContext(boxMon); + reencrypt = BoxPokemon_DecryptData(boxMon); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_PERSONALITY, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_PERSONALITY, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_PERSONALITY, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_SPECIES, NULL); value = GBAPokemon_ConvertSpeciesToDS(value); - BoxPokemon_SetValue(boxMon, MON_DATA_SPECIES, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_SPECIES, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_HELD_ITEM, NULL); if (value) { value = Item_FromGBAID(value); } - BoxPokemon_SetValue(boxMon, MON_DATA_HELD_ITEM, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_HELD_ITEM, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_OT_ID, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_OT_ID, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_OT_ID, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_EXP, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_EXPERIENCE, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_EXPERIENCE, (u8 *)&value); value = BASE_FRIENDSHIP_VALUE; - BoxPokemon_SetValue(boxMon, MON_DATA_FRIENDSHIP, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_FRIENDSHIP, (u8 *)&value); value = ConvertBoxMonGBAtoDSAbility(gbaBoxMon, boxMon); - BoxPokemon_SetValue(boxMon, MON_DATA_ABILITY, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_ABILITY, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_MARKINGS, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_MARKINGS, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_MARKINGS, (u8 *)&value); language = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_LANGUAGE, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_LANGUAGE, (u8 *)&language); + BoxPokemon_SetData(boxMon, MON_DATA_LANGUAGE, (u8 *)&language); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_HP_EV, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_HP_EV, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_HP_EV, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_ATK_EV, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_ATK_EV, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_ATK_EV, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_DEF_EV, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_DEF_EV, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_DEF_EV, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_SPEED_EV, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_SPEED_EV, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_SPEED_EV, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_SPATK_EV, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_SPATK_EV, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_SPATK_EV, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_SPDEF_EV, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_SPDEF_EV, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_SPDEF_EV, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_COOL, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_COOL, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_COOL, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_BEAUTY, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_BEAUTY, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_BEAUTY, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_CUTE, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_CUTE, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_CUTE, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_SMART, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_SMART, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_SMART, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_TOUGH, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_TOUGH, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_TOUGH, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_SHEEN, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_SHEEN, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_SHEEN, (u8 *)&value); - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_MOVE1 + i, NULL); if (value > GBA_NUM_VALID_MOVES) { (void)0; } - BoxPokemon_SetValue(boxMon, MON_DATA_MOVE1 + i, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1 + i, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_PP_BONUSES, NULL); value = (value & (0x3 << (i * 2))) >> (i * 2); - BoxPokemon_SetValue(boxMon, MON_DATA_MOVE1_PP_UPS + i, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP_UPS + i, (u8 *)&value); - value = BoxPokemon_GetValue(boxMon, MON_DATA_MOVE1_MAX_PP + i, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_MOVE1_PP + i, (u8 *)&value); + value = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_MAX_PP + i, NULL); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP + i, (u8 *)&value); } value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_HP_IV, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_HP_IV, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_HP_IV, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_ATK_IV, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_ATK_IV, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_ATK_IV, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_DEF_IV, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_DEF_IV, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_DEF_IV, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_SPEED_IV, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_SPEED_IV, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_SPEED_IV, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_SPATK_IV, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_SPATK_IV, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_SPATK_IV, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_SPDEF_IV, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_SPDEF_IV, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_SPDEF_IV, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_IS_EGG, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_IS_EGG, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_IS_EGG, (u8 *)&value); v3 = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_COOL_RIBBON, NULL); if (v3 <= 4) { for (i = 0; i < v3; i++) { value = 1; - BoxPokemon_SetValue(boxMon, MON_DATA_COOL_RIBBON + i, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_COOL_RIBBON + i, (u8 *)&value); } } @@ -913,7 +913,7 @@ void BoxMonGBAToBoxMon(GBABoxPokemon *gbaBoxMon, BoxPokemon *boxMon) if (v3 <= 4) { for (i = 0; i < v3; i++) { value = 1; - BoxPokemon_SetValue(boxMon, MON_DATA_BEAUTY_RIBBON + i, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_BEAUTY_RIBBON + i, (u8 *)&value); } } @@ -921,7 +921,7 @@ void BoxMonGBAToBoxMon(GBABoxPokemon *gbaBoxMon, BoxPokemon *boxMon) if (v3 <= 4) { for (i = 0; i < v3; i++) { value = 1; - BoxPokemon_SetValue(boxMon, MON_DATA_CUTE_RIBBON + i, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_CUTE_RIBBON + i, (u8 *)&value); } } @@ -929,7 +929,7 @@ void BoxMonGBAToBoxMon(GBABoxPokemon *gbaBoxMon, BoxPokemon *boxMon) if (v3 <= 4) { for (i = 0; i < v3; i++) { value = 1; - BoxPokemon_SetValue(boxMon, MON_DATA_SMART_RIBBON + i, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_SMART_RIBBON + i, (u8 *)&value); } } @@ -937,60 +937,60 @@ void BoxMonGBAToBoxMon(GBABoxPokemon *gbaBoxMon, BoxPokemon *boxMon) if (v3 <= 4) { for (i = 0; i < v3; i++) { value = 1; - BoxPokemon_SetValue(boxMon, MON_DATA_TOUGH_RIBBON + i, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_TOUGH_RIBBON + i, (u8 *)&value); } } value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_CHAMPION_RIBBON, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_CHAMPION_RIBBON, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_CHAMPION_RIBBON, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_WINNING_RIBBON, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_WINNING_RIBBON, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_WINNING_RIBBON, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_VICTORY_RIBBON, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_VICTORY_RIBBON, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_VICTORY_RIBBON, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_ARTIST_RIBBON, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_ARTIST_RIBBON, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_ARTIST_RIBBON, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_EFFORT_RIBBON, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_EFFORT_RIBBON, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_EFFORT_RIBBON, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_MARINE_RIBBON, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_MARINE_RIBBON, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_MARINE_RIBBON, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_LAND_RIBBON, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_LAND_RIBBON, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_LAND_RIBBON, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_SKY_RIBBON, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_SKY_RIBBON, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_SKY_RIBBON, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_COUNTRY_RIBBON, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_COUNTRY_RIBBON, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_COUNTRY_RIBBON, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_NATIONAL_RIBBON, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_NATIONAL_RIBBON, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_NATIONAL_RIBBON, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_EARTH_RIBBON, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_EARTH_RIBBON, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_EARTH_RIBBON, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_WORLD_RIBBON, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_WORLD_RIBBON, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_WORLD_RIBBON, (u8 *)&value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_MODERN_FATEFUL_ENCOUNTER, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_FATEFUL_ENCOUNTER, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_FATEFUL_ENCOUNTER, (u8 *)&value); value = BoxPokemon_GetGender(boxMon); - BoxPokemon_SetValue(boxMon, MON_DATA_GENDER, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_GENDER, (u8 *)&value); - if (BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL) == SPECIES_UNOWN) { + if (BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL) == SPECIES_UNOWN) { value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_PERSONALITY, NULL); - value = (((value & 0x3000000) >> 18) | ((value & 0x30000) >> 12) | ((value & 0x300) >> 6) | (value & 0x3)) % 28; + value = CALC_UNOWN_LETTER(value); - BoxPokemon_SetValue(boxMon, MON_DATA_FORM, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_FORM, (u8 *)&value); } - if (BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL) == SPECIES_DEOXYS) { + if (BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL) == SPECIES_DEOXYS) { switch (gSystem.gbaCartridgeVersion) { default: case VERSION_RUBY: @@ -1008,38 +1008,38 @@ void BoxMonGBAToBoxMon(GBABoxPokemon *gbaBoxMon, BoxPokemon *boxMon) break; } - BoxPokemon_SetValue(boxMon, MON_DATA_FORM, (u8 *)&value); + BoxPokemon_SetData(boxMon, MON_DATA_FORM, (u8 *)&value); } GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_NICKNAME, gbaNickname); GBA_ConvertStringToDS(gbaNickname, dsNickName, MON_NAME_LEN + 2, language); - BoxPokemon_SetValue(boxMon, MON_DATA_NICKNAME_AND_FLAG, dsNickName); + BoxPokemon_SetData(boxMon, MON_DATA_NICKNAME_AND_FLAG, dsNickName); if (GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_LANGUAGE, NULL) != gGameLanguage) { value = 1; - BoxPokemon_SetValue(boxMon, MON_DATA_HAS_NICKNAME, &value); + BoxPokemon_SetData(boxMon, MON_DATA_HAS_NICKNAME, &value); } value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_MET_GAME, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_MET_GAME, &value); + BoxPokemon_SetData(boxMon, MON_DATA_MET_GAME, &value); GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_OT_NAME, gbaNickname); GBA_ConvertStringToDS(gbaNickname, dsNickName, GBA_PLAYER_NAME_LEN + 1, language); - BoxPokemon_SetValue(boxMon, MON_DATA_OT_NAME, dsNickName); + BoxPokemon_SetData(boxMon, MON_DATA_OT_NAME, dsNickName); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_MET_LOCATION, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_MET_LOCATION, &value); + BoxPokemon_SetData(boxMon, MON_DATA_MET_LOCATION, &value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_POKERUS, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_POKERUS, &value); + BoxPokemon_SetData(boxMon, MON_DATA_POKERUS, &value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_POKEBALL, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_POKEBALL, &value); + BoxPokemon_SetData(boxMon, MON_DATA_POKEBALL, &value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_MET_LEVEL, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_MET_LEVEL, &value); + BoxPokemon_SetData(boxMon, MON_DATA_MET_LEVEL, &value); value = GBABoxPokemon_GetData(gbaBoxMon, GBA_MON_DATA_OT_GENDER, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_OT_GENDER, &value); - BoxPokemon_ExitDecryptionContext(boxMon, reencrypt); + BoxPokemon_SetData(boxMon, MON_DATA_OT_GENDER, &value); + BoxPokemon_EncryptData(boxMon, reencrypt); } diff --git a/src/main_menu/main_menu_util.c b/src/main_menu/main_menu_util.c index 7992ea047d..cc02dca04d 100644 --- a/src/main_menu/main_menu_util.c +++ b/src/main_menu/main_menu_util.c @@ -575,9 +575,9 @@ static void LoadPokemonSprite(Sprite *sprite, Pokemon *mon, enum Species species enum Gender monGender = Pokemon_GetGender(mon); BOOL shiny = Pokemon_IsShiny(mon); - BuildPokemonSpriteTemplate(monSpriteTemplate, species, monGender, FACE_FRONT, shiny, form, 0); + Species_BuildSpriteTemplate(monSpriteTemplate, species, monGender, FACE_FRONT, shiny, form, 0); - u32 personality = Pokemon_GetValue(mon, MON_DATA_PERSONALITY, NULL); + u32 personality = Pokemon_GetData(mon, MON_DATA_PERSONALITY, NULL); CharacterSprite_LoadPokemonSpriteRect(monSpriteTemplate->narcID, monSpriteTemplate->character, utilMan->heapID, 0, 0, 10, 10, buffer, personality, FALSE, FACE_FRONT, species); DC_FlushRange(buffer, MON_SPRITE_FRAME_MAX_SIZE_BYTES); @@ -611,7 +611,7 @@ static void LoadSpriteForMonGift(MainMenuUtilManager *param0, enum MysteryGiftTy switch (giftType) { case MYST_GIFT_POKEMON: case MYST_GIFT_UNKNOWN: - LoadPokemonSprite(param0->mysteryGiftSprite, mon, Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL), Pokemon_GetValue(mon, MON_DATA_FORM, NULL), param0->monSpriteBuffer, ¶m0->monSpriteTemplate); + LoadPokemonSprite(param0->mysteryGiftSprite, mon, Pokemon_GetData(mon, MON_DATA_SPECIES, NULL), Pokemon_GetData(mon, MON_DATA_FORM, NULL), param0->monSpriteBuffer, ¶m0->monSpriteTemplate); break; case MYST_GIFT_EGG: LoadPokemonSprite(param0->mysteryGiftSprite, mon, SPECIES_EGG, EGG_FORM_BASE, param0->monSpriteBuffer, ¶m0->monSpriteTemplate); diff --git a/src/main_menu/mystery_gift_app.c b/src/main_menu/mystery_gift_app.c index 01cd2d356c..761d2d2e91 100644 --- a/src/main_menu/mystery_gift_app.c +++ b/src/main_menu/mystery_gift_app.c @@ -497,7 +497,7 @@ static BOOL ShouldPlayAnimation(WonderCard *wonderCard) case MYST_GIFT_POKEMON: case MYST_GIFT_EGG: { Pokemon *pokemon = &wonderCard->pgt.data.pokemonGiftData.pokemon; - int metLocation = Pokemon_GetValue(pokemon, MON_DATA_EGG_LOCATION, NULL); + int metLocation = Pokemon_GetData(pokemon, MON_DATA_EGG_LOCATION, NULL); if ((metLocation >= EVENT_LOCATION_MOVIES_START && metLocation <= EVENT_LOCATION_MOVIES_END) || (metLocation >= EVENT_LOCATION_POKEMON_EVENT_09 && metLocation <= EVENT_LOCATION_POKEMON_EVENT_16)) { diff --git a/src/move_reminder_data.c b/src/move_reminder_data.c index e4ad40c834..f2484c4fb1 100644 --- a/src/move_reminder_data.c +++ b/src/move_reminder_data.c @@ -27,19 +27,19 @@ u16 *MoveReminderData_GetMoves(Pokemon *mon, u32 heapID) { u8 h, i, j; - u16 species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - u8 form = Pokemon_GetValue(mon, MON_DATA_FORM, NULL); - u8 level = Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL); + u16 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + u8 form = Pokemon_GetData(mon, MON_DATA_FORM, NULL); + u8 level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); - u16 currentMoves[LEARNED_MOVES_MAX]; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { - currentMoves[i] = Pokemon_GetValue(mon, MON_DATA_MOVE1 + i, NULL); + u16 currentMoves[MAX_MON_MOVES]; + for (i = 0; i < MAX_MON_MOVES; i++) { + currentMoves[i] = Pokemon_GetData(mon, MON_DATA_MOVE1 + i, NULL); } u16 *levelUpMoves = Heap_Alloc(heapID, MAX_NUMBER_REMINDER_MOVES * sizeof(u16)); u16 *reminderMoves = Heap_Alloc(heapID, MAX_NUMBER_REMINDER_MOVES * sizeof(u16)); - Pokemon_LoadLevelUpMovesOf(species, form, levelUpMoves); + Species_LoadLevelUpLearnset(species, form, levelUpMoves); j = 0; @@ -52,13 +52,13 @@ u16 *MoveReminderData_GetMoves(Pokemon *mon, u32 heapID) } else { levelUpMoves[i] = GET_MOVE(levelUpMoves[i]); - for (h = 0; h < LEARNED_MOVES_MAX; h++) { + for (h = 0; h < MAX_MON_MOVES; h++) { if (levelUpMoves[i] == currentMoves[h]) { break; } } - if (h == LEARNED_MOVES_MAX) { + if (h == MAX_MON_MOVES) { for (h = 0; h < j; h++) { if (reminderMoves[h] == levelUpMoves[i]) { break; diff --git a/src/overlay005/daycare.c b/src/overlay005/daycare.c index 337a09a595..26fe6008f6 100644 --- a/src/overlay005/daycare.c +++ b/src/overlay005/daycare.c @@ -36,9 +36,9 @@ #include "res/pokemon/species_egg_moves.h" typedef struct { - int fatherMoves[LEARNED_MOVES_MAX]; - int sharedMoves[LEARNED_MOVES_MAX]; - int motherMoves[LEARNED_MOVES_MAX]; + int fatherMoves[MAX_MON_MOVES]; + int sharedMoves[MAX_MON_MOVES]; + int motherMoves[MAX_MON_MOVES]; u16 eggSpeciesLevelUpMoves[50]; u16 eggSpeciesEggMoves[MAX_EGG_MOVES]; } EggMoveBuilder; @@ -60,7 +60,7 @@ u8 Daycare_CountMons(Daycare *daycare) for (i = 0; i < NUM_DAYCARE_MONS; i++) { boxMon = DaycareMon_GetBoxMon(Daycare_GetDaycareMon(daycare, i)); - if (BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL) != SPECIES_NONE) { + if (BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL) != SPECIES_NONE) { count++; } } @@ -78,7 +78,7 @@ static int Daycare_FindFirstEmptySlot(Daycare *daycare) for (i = 0; i < NUM_DAYCARE_MONS; i++) { boxMon = DaycareMon_GetBoxMon(Daycare_GetDaycareMon(daycare, i)); - if (BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL) == SPECIES_NONE) { + if (BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL) == SPECIES_NONE) { return i; } } @@ -88,7 +88,7 @@ static int Daycare_FindFirstEmptySlot(Daycare *daycare) static int BoxPokemon_HoldsMail(BoxPokemon *boxMon) { - int item = BoxPokemon_GetValue(boxMon, MON_DATA_HELD_ITEM, NULL); + int item = BoxPokemon_GetData(boxMon, MON_DATA_HELD_ITEM, NULL); return Item_IsMail(item); } @@ -102,14 +102,14 @@ static void Daycare_MoveToDaycareMonFromParty(Party *party, int partySlot, Dayca TrainerInfo *trainerInfo = SaveData_GetTrainerInfo(saveData); trainerName = TrainerInfo_Name(trainerInfo); - Pokemon_GetValue(mon, MON_DATA_NICKNAME, nickname); + Pokemon_GetData(mon, MON_DATA_NICKNAME, nickname); - if (BoxPokemon_HoldsMail(Pokemon_GetBoxPokemon(mon))) { - Pokemon_GetValue(mon, MON_DATA_MAIL, DaycareMail_GetMail(daycareMail)); + if (BoxPokemon_HoldsMail(Pokemon_GetBoxMon(mon))) { + Pokemon_GetData(mon, MON_DATA_MAIL, DaycareMail_GetMail(daycareMail)); } - BoxPokemon_FromPokemon(mon, daycareBoxMon); - BoxPokemon_SetShayminForm(daycareBoxMon, SHAYMIN_FORM_LAND); + Pokemon_CopyToBoxPokemon(mon, daycareBoxMon); + BoxPokemon_UpdateShayminForm(daycareBoxMon, SHAYMIN_FORM_LAND); DaycareMon_SetSteps(daycareMon, 0); Party_RemovePokemonBySlotIndex(party, partySlot); @@ -136,8 +136,8 @@ static void Daycare_ShiftMonSlots(Daycare *daycare) BoxPokemon *boxMon1 = DaycareMon_GetBoxMon(daycareMon1); BoxPokemon *boxMon2 = DaycareMon_GetBoxMon(daycareMon2); - if (BoxPokemon_GetValue(boxMon1, MON_DATA_SPECIES, NULL) == SPECIES_NONE) { - if (BoxPokemon_GetValue(boxMon2, MON_DATA_SPECIES, NULL) != SPECIES_NONE) { + if (BoxPokemon_GetData(boxMon1, MON_DATA_SPECIES, NULL) == SPECIES_NONE) { + if (BoxPokemon_GetData(boxMon2, MON_DATA_SPECIES, NULL) != SPECIES_NONE) { DaycareMon_CopyToDaycareMon(daycareMon1, daycareMon2); DaycareMon_Init(daycareMon2); } @@ -151,12 +151,12 @@ static void ov5_021E63E0(Pokemon *param0) u16 v4; for (v0 = 0; v0 < 100; v0++) { - if (Pokemon_ShouldLevelUp(param0)) { + if (Pokemon_TryLevelUp(param0)) { v1 = 0; - while ((v4 = Pokemon_LevelUpMove(param0, &v1, &v3)) != 0) { + while ((v4 = Pokemon_TryLevelUpMove(param0, &v1, &v3)) != 0) { if (v4 == 0xffff) { - Pokemon_ReplaceMove(param0, v3); + Pokemon_ForceAppendMove(param0, v3); } } } else { @@ -176,18 +176,18 @@ static int Daycare_MoveToPartyFromDaycareMon(Party *party, DaycareMon *daycareMo u16 species; StringTemplate_SetNickname(template, 0, boxMon); - species = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); - Pokemon_FromBoxPokemon(boxMon, mon); + species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); + BoxPokemon_CopyToPokemon(boxMon, mon); - if (Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL) != MAX_POKEMON_LEVEL) { - experience = Pokemon_GetValue(mon, MON_DATA_EXPERIENCE, NULL); + if (Pokemon_GetData(mon, MON_DATA_LEVEL, NULL) != MAX_MON_LEVEL) { + experience = Pokemon_GetData(mon, MON_DATA_EXPERIENCE, NULL); experience += DaycareMon_GetSteps(daycareMon); - Pokemon_SetValue(mon, MON_DATA_EXPERIENCE, (u8 *)&experience); + Pokemon_SetData(mon, MON_DATA_EXPERIENCE, (u8 *)&experience); ov5_021E63E0(mon); } if (BoxPokemon_HoldsMail(boxMon)) { - Pokemon_SetValue(mon, MON_DATA_MAIL, DaycareMail_GetMail(daycareMail)); + Pokemon_SetData(mon, MON_DATA_MAIL, DaycareMail_GetMail(daycareMail)); } Party_AddPokemon(party, mon); @@ -212,17 +212,17 @@ u16 Daycare_MoveToPartyFromDaycareSlot(Party *party, StringTemplate *template, D int BoxPokemon_GiveExperience(BoxPokemon *boxMon, u32 givenExp) { Pokemon *mon = Pokemon_New(HEAP_ID_FIELD1); - BoxPokemon *boxMonRef = Pokemon_GetBoxPokemon(mon); + BoxPokemon *boxMonRef = Pokemon_GetBoxMon(mon); int level; u32 exp; BoxPokemon_Copy(boxMon, boxMonRef); - exp = BoxPokemon_GetValue(boxMonRef, MON_DATA_EXPERIENCE, NULL); + exp = BoxPokemon_GetData(boxMonRef, MON_DATA_EXPERIENCE, NULL); exp += givenExp; - BoxPokemon_SetValue(boxMonRef, MON_DATA_EXPERIENCE, (u8 *)&exp); - level = BoxPokemon_GetLevel(boxMonRef); + BoxPokemon_SetData(boxMonRef, MON_DATA_EXPERIENCE, (u8 *)&exp); + level = BoxPokemon_CalcLevel(boxMonRef); Heap_Free(mon); return level; @@ -232,7 +232,7 @@ static int Daycare_GiveDaycareMonExperience(DaycareMon *daycareMon) { u8 level, newLevel; BoxPokemon *boxMon = DaycareMon_GetBoxMon(daycareMon); - level = BoxPokemon_GetLevel(boxMon); + level = BoxPokemon_CalcLevel(boxMon); newLevel = BoxPokemon_GiveExperience(boxMon, DaycareMon_GetSteps(daycareMon)); return newLevel - level; @@ -286,7 +286,7 @@ u8 Daycare_BufferGainedLevelsInSlot(Daycare *daycare, int slot, StringTemplate * DaycareMon *daycareMon = Daycare_GetDaycareMon(daycare, slot); BoxPokemon *boxMon = DaycareMon_GetBoxMon(daycareMon); - if (BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL) != SPECIES_NONE) { + if (BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL) != SPECIES_NONE) { return DaycareMon_BufferGainedLevels(daycareMon, template); } @@ -316,7 +316,7 @@ static int Daycare_GetParentToInheritNature(Daycare *daycare) // search for ditto for (dittoCount = 0, i = 0; i < NUM_DAYCARE_MONS; i++) { - if ((species[i] = BoxPokemon_GetValue(boxMon[i], MON_DATA_SPECIES, NULL)) == SPECIES_DITTO) { + if ((species[i] = BoxPokemon_GetData(boxMon[i], MON_DATA_SPECIES, NULL)) == SPECIES_DITTO) { dittoCount++; slot = i; } @@ -332,7 +332,7 @@ static int Daycare_GetParentToInheritNature(Daycare *daycare) } // Don't inherit nature if not holding Everstone - if (BoxPokemon_GetValue(boxMon[slot], MON_DATA_HELD_ITEM, NULL) == ITEM_EVERSTONE) { + if (BoxPokemon_GetData(boxMon[slot], MON_DATA_HELD_ITEM, NULL) == ITEM_EVERSTONE) { if (LCRNG_Next() >= (0xffff / 2)) { return -1; } @@ -354,13 +354,13 @@ static void Daycare_SetInheritedNature(Daycare *daycare) } else { BoxPokemon *boxMon = Daycare_GetBoxMon(daycare, slot); - personality = BoxPokemon_GetValue(boxMon, MON_DATA_PERSONALITY, NULL); - nature = Pokemon_GetNatureOf(personality); + personality = BoxPokemon_GetData(boxMon, MON_DATA_PERSONALITY, NULL); + nature = Personality_GetNature(personality); while (TRUE) { newPersonality = MTRNG_Next(); - if ((nature == Pokemon_GetNatureOf(newPersonality)) && (newPersonality != 0)) { + if ((nature == Personality_GetNature(newPersonality)) && (newPersonality != 0)) { break; } @@ -415,28 +415,28 @@ static void Egg_InheritIVs(Pokemon *egg, Daycare *daycare) switch (selectedIVs[i]) { case STAT_HP: - value = BoxPokemon_GetValue(daycareBoxMon, MON_DATA_HP_IV, NULL); - Pokemon_SetValue(egg, MON_DATA_HP_IV, (u8 *)&value); + value = BoxPokemon_GetData(daycareBoxMon, MON_DATA_HP_IV, NULL); + Pokemon_SetData(egg, MON_DATA_HP_IV, (u8 *)&value); break; case STAT_ATTACK: - value = BoxPokemon_GetValue(daycareBoxMon, MON_DATA_ATK_IV, NULL); - Pokemon_SetValue(egg, MON_DATA_ATK_IV, (u8 *)&value); + value = BoxPokemon_GetData(daycareBoxMon, MON_DATA_ATK_IV, NULL); + Pokemon_SetData(egg, MON_DATA_ATK_IV, (u8 *)&value); break; case STAT_DEFENSE: - value = BoxPokemon_GetValue(daycareBoxMon, MON_DATA_DEF_IV, NULL); - Pokemon_SetValue(egg, MON_DATA_DEF_IV, (u8 *)&value); + value = BoxPokemon_GetData(daycareBoxMon, MON_DATA_DEF_IV, NULL); + Pokemon_SetData(egg, MON_DATA_DEF_IV, (u8 *)&value); break; case STAT_SPEED: - value = BoxPokemon_GetValue(daycareBoxMon, MON_DATA_SPEED_IV, NULL); - Pokemon_SetValue(egg, MON_DATA_SPEED_IV, (u8 *)&value); + value = BoxPokemon_GetData(daycareBoxMon, MON_DATA_SPEED_IV, NULL); + Pokemon_SetData(egg, MON_DATA_SPEED_IV, (u8 *)&value); break; case STAT_SPECIAL_ATTACK: - value = BoxPokemon_GetValue(daycareBoxMon, MON_DATA_SPATK_IV, NULL); - Pokemon_SetValue(egg, MON_DATA_SPATK_IV, (u8 *)&value); + value = BoxPokemon_GetData(daycareBoxMon, MON_DATA_SPATK_IV, NULL); + Pokemon_SetData(egg, MON_DATA_SPATK_IV, (u8 *)&value); break; case STAT_SPECIAL_DEFENSE: - value = BoxPokemon_GetValue(daycareBoxMon, MON_DATA_SPDEF_IV, NULL); - Pokemon_SetValue(egg, MON_DATA_SPDEF_IV, (u8 *)&value); + value = BoxPokemon_GetData(daycareBoxMon, MON_DATA_SPDEF_IV, NULL); + Pokemon_SetData(egg, MON_DATA_SPDEF_IV, (u8 *)&value); break; } } @@ -448,7 +448,7 @@ static u8 LoadSpeciesEggMoves(Pokemon *mon, u16 *eggMoves) eggMoveCount = 0; eggMoveOffset = 0; - species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); + species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); for (i = 0; i < NELEMS(sEggMoves) - 1; i++) { if (sEggMoves[i] == (EGG_MOVES_SPECIES_OFFSET + species)) { @@ -478,24 +478,24 @@ static void Egg_BuildMoveset(Pokemon *egg, BoxPokemon *father, BoxPokemon *mothe MI_CpuClearFast(builder, sizeof(EggMoveBuilder)); - species = Pokemon_GetValue(egg, MON_DATA_SPECIES, NULL); - form = Pokemon_GetValue(egg, MON_DATA_FORM, NULL); + species = Pokemon_GetData(egg, MON_DATA_SPECIES, NULL); + form = Pokemon_GetData(egg, MON_DATA_FORM, NULL); levelUpMoveCount = Pokemon_LoadLevelUpMoveIdsOf(species, form, builder->eggSpeciesLevelUpMoves); - for (i = 0; i < LEARNED_MOVES_MAX; i++) { - builder->fatherMoves[i] = BoxPokemon_GetValue(father, MON_DATA_MOVE1 + i, NULL); - builder->motherMoves[i] = BoxPokemon_GetValue(mother, MON_DATA_MOVE1 + i, NULL); + for (i = 0; i < MAX_MON_MOVES; i++) { + builder->fatherMoves[i] = BoxPokemon_GetData(father, MON_DATA_MOVE1 + i, NULL); + builder->motherMoves[i] = BoxPokemon_GetData(mother, MON_DATA_MOVE1 + i, NULL); } eggMoveCount = LoadSpeciesEggMoves(egg, builder->eggSpeciesEggMoves); // Egg moves from the father - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (builder->fatherMoves[i] != MOVE_NONE) { for (j = 0; j < eggMoveCount; j++) { if (builder->fatherMoves[i] == builder->eggSpeciesEggMoves[j]) { - if (Pokemon_AddMove(egg, builder->fatherMoves[i]) == LEARNSET_ALL_SLOTS_FILLED) { - Pokemon_ReplaceMove(egg, builder->fatherMoves[i]); + if (Pokemon_TryAppendMove(egg, builder->fatherMoves[i]) == LEARNSET_ALL_SLOTS_FILLED) { + Pokemon_ForceAppendMove(egg, builder->fatherMoves[i]); } break; } @@ -506,13 +506,13 @@ static void Egg_BuildMoveset(Pokemon *egg, BoxPokemon *father, BoxPokemon *mothe } // TM/HM moves from the father - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (builder->fatherMoves[i] != MOVE_NONE) { for (j = 0; j < NUM_TMHMS; j++) { if (builder->fatherMoves[i] == Item_MoveForTMHM(ITEM_TM01 + j)) { - if (CanPokemonFormLearnTM(species, form, j)) { - if (Pokemon_AddMove(egg, builder->fatherMoves[i]) == LEARNSET_ALL_SLOTS_FILLED) { - Pokemon_ReplaceMove(egg, builder->fatherMoves[i]); + if (Species_CanLearnTMHM(species, form, j)) { + if (Pokemon_TryAppendMove(egg, builder->fatherMoves[i]) == LEARNSET_ALL_SLOTS_FILLED) { + Pokemon_ForceAppendMove(egg, builder->fatherMoves[i]); } } } @@ -521,19 +521,19 @@ static void Egg_BuildMoveset(Pokemon *egg, BoxPokemon *father, BoxPokemon *mothe } // Level-up moves that both parents know - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (builder->fatherMoves[i] == MOVE_NONE) { break; } - for (j = 0; j < LEARNED_MOVES_MAX; j++) { + for (j = 0; j < MAX_MON_MOVES; j++) { if (builder->fatherMoves[i] == builder->motherMoves[j] && builder->fatherMoves[i] != MOVE_NONE) { builder->sharedMoves[v2++] = builder->fatherMoves[i]; } } } - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (builder->sharedMoves[i] == MOVE_NONE) { break; } @@ -541,8 +541,8 @@ static void Egg_BuildMoveset(Pokemon *egg, BoxPokemon *father, BoxPokemon *mothe for (j = 0; j < levelUpMoveCount; j++) { if (builder->eggSpeciesLevelUpMoves[j] != MOVE_NONE) { if (builder->sharedMoves[i] == builder->eggSpeciesLevelUpMoves[j]) { - if (Pokemon_AddMove(egg, builder->sharedMoves[i]) == LEARNSET_ALL_SLOTS_FILLED) { - Pokemon_ReplaceMove(egg, builder->sharedMoves[i]); + if (Pokemon_TryAppendMove(egg, builder->sharedMoves[i]) == LEARNSET_ALL_SLOTS_FILLED) { + Pokemon_ForceAppendMove(egg, builder->sharedMoves[i]); } break; } @@ -589,8 +589,8 @@ static u16 Daycare_AlterEggSpeciesWithIncenseItem(u16 species, Daycare *daycare) return species; } - item1 = BoxPokemon_GetValue(parents[0], MON_DATA_HELD_ITEM, NULL); - item2 = BoxPokemon_GetValue(parents[1], MON_DATA_HELD_ITEM, NULL); + item1 = BoxPokemon_GetData(parents[0], MON_DATA_HELD_ITEM, NULL); + item2 = BoxPokemon_GetData(parents[1], MON_DATA_HELD_ITEM, NULL); if ((item1 != sIncenseBabyTable[slot][1]) && (item2 != sIncenseBabyTable[slot][1])) { species = sIncenseBabyTable[slot][2]; @@ -606,12 +606,12 @@ static void Egg_TryGiveVoltTackle(Pokemon *mon, Daycare *daycare) Daycare_CopyDaycareMonToBoxMonArray(daycare, parents); - item1 = BoxPokemon_GetValue(parents[0], MON_DATA_HELD_ITEM, NULL); - item2 = BoxPokemon_GetValue(parents[1], MON_DATA_HELD_ITEM, NULL); + item1 = BoxPokemon_GetData(parents[0], MON_DATA_HELD_ITEM, NULL); + item2 = BoxPokemon_GetData(parents[1], MON_DATA_HELD_ITEM, NULL); if (item1 == ITEM_LIGHT_BALL || item2 == ITEM_LIGHT_BALL) { - if (Pokemon_AddMove(mon, MOVE_VOLT_TACKLE) == LEARNSET_ALL_SLOTS_FILLED) { - Pokemon_ReplaceMove(mon, MOVE_VOLT_TACKLE); + if (Pokemon_TryAppendMove(mon, MOVE_VOLT_TACKLE) == LEARNSET_ALL_SLOTS_FILLED) { + Pokemon_ForceAppendMove(mon, MOVE_VOLT_TACKLE); } } } @@ -624,7 +624,7 @@ static u16 Egg_DetermineEggSpeciesAndParentSlots(Daycare *daycare, u8 parentSlot Daycare_CopyDaycareMonToBoxMonArray(daycare, boxMons); for (i = 0; i < NUM_DAYCARE_MONS; i++) { - if ((species[i] = BoxPokemon_GetValue(boxMons[i], MON_DATA_SPECIES, NULL)) == SPECIES_DITTO) { + if ((species[i] = BoxPokemon_GetData(boxMons[i], MON_DATA_SPECIES, NULL)) == SPECIES_DITTO) { parentSlots[0] = i ^ 1; parentSlots[1] = i; } else if (BoxPokemon_GetGender(boxMons[i]) == GENDER_FEMALE) { @@ -669,27 +669,27 @@ void Egg_CreateEgg(Pokemon *egg, u16 species, u8 param2, TrainerInfo *trainerInf { u8 metLvl, isEgg; u16 ball; - u8 hatchCycles = SpeciesData_GetSpeciesValue(species, SPECIES_DATA_HATCH_CYCLES); + u8 hatchCycles = Species_GetValue(species, SPECIES_DATA_EGG_CYCLES); String *eggName; - Pokemon_InitWith(egg, species, 1, INIT_IVS_RANDOM, FALSE, 0, OTID_NOT_SET, 0); + Pokemon_InitWithParams(egg, species, 1, INIT_IVS_RANDOM, FALSE, 0, OT_ID_PLAYER_ID, 0); metLvl = 0; ball = ITEM_POKE_BALL; - Pokemon_SetValue(egg, MON_DATA_POKEBALL, &ball); - Pokemon_SetValue(egg, MON_DATA_FRIENDSHIP, &hatchCycles); - Pokemon_SetValue(egg, MON_DATA_MET_LEVEL, &metLvl); + Pokemon_SetData(egg, MON_DATA_POKEBALL, &ball); + Pokemon_SetData(egg, MON_DATA_FRIENDSHIP, &hatchCycles); + Pokemon_SetData(egg, MON_DATA_MET_LEVEL, &metLvl); if (param2) { - Pokemon_SetValue(egg, MON_DATA_EGG_LOCATION, ¶m2); + Pokemon_SetData(egg, MON_DATA_EGG_LOCATION, ¶m2); } isEgg = TRUE; - Pokemon_SetValue(egg, MON_DATA_IS_EGG, &isEgg); + Pokemon_SetData(egg, MON_DATA_IS_EGG, &isEgg); eggName = MessageUtil_SpeciesName(SPECIES_EGG, HEAP_ID_FIELD1); - Pokemon_SetValue(egg, MON_DATA_NICKNAME_STRING, eggName); + Pokemon_SetData(egg, MON_DATA_NICKNAME_STRING, eggName); String_Free(eggName); if (param4 == 4) { @@ -697,9 +697,9 @@ void Egg_CreateEgg(Pokemon *egg, u16 species, u8 param2, TrainerInfo *trainerInf u32 gender = TrainerInfo_Gender(trainerInfo); String *otName = TrainerInfo_NameNewString(trainerInfo, 32); - Pokemon_SetValue(egg, MON_DATA_OT_NAME_STRING, otName); - Pokemon_SetValue(egg, MON_DATA_OT_ID, &trainerId); - Pokemon_SetValue(egg, MON_DATA_OT_GENDER, &gender); + Pokemon_SetData(egg, MON_DATA_OT_NAME_STRING, otName); + Pokemon_SetData(egg, MON_DATA_OT_ID, &trainerId); + Pokemon_SetData(egg, MON_DATA_OT_GENDER, &gender); String_Free(otName); } @@ -712,18 +712,18 @@ static void Egg_SetInitialData(Pokemon *mon, u16 species, Daycare *daycare, u32 u16 ball; u32 personality; String *string; - u8 hatchCycles = SpeciesData_GetSpeciesValue(species, SPECIES_DATA_HATCH_CYCLES); + u8 hatchCycles = Species_GetValue(species, SPECIES_DATA_EGG_CYCLES); personality = Daycare_GetOffspringPersonality(daycare); if (Daycare_AreParentLanguagesDifferent(daycare)) { int i; - if (Pokemon_IsPersonalityShiny(monOTID, personality) == FALSE) { + if (Personality_IsShiny(monOTID, personality) == FALSE) { for (i = 0; i < 4; i++) { personality = ARNG_Next(personality); - if (Pokemon_IsPersonalityShiny(monOTID, personality)) { + if (Personality_IsShiny(monOTID, personality)) { break; } } @@ -732,19 +732,19 @@ static void Egg_SetInitialData(Pokemon *mon, u16 species, Daycare *daycare, u32 } } - Pokemon_InitWith(mon, species, EGG_POKEMON_LEVEL, INIT_IVS_RANDOM, TRUE, personality, OTID_NOT_SET, 0); + Pokemon_InitWithParams(mon, species, EGG_POKEMON_LEVEL, INIT_IVS_RANDOM, TRUE, personality, OT_ID_PLAYER_ID, 0); level = 0; ball = ITEM_POKE_BALL; - Pokemon_SetValue(mon, MON_DATA_POKEBALL, &ball); - Pokemon_SetValue(mon, MON_DATA_FRIENDSHIP, &hatchCycles); - Pokemon_SetValue(mon, MON_DATA_MET_LEVEL, &level); - Pokemon_SetValue(mon, MON_DATA_FORM, &form); + Pokemon_SetData(mon, MON_DATA_POKEBALL, &ball); + Pokemon_SetData(mon, MON_DATA_FRIENDSHIP, &hatchCycles); + Pokemon_SetData(mon, MON_DATA_MET_LEVEL, &level); + Pokemon_SetData(mon, MON_DATA_FORM, &form); string = MessageUtil_SpeciesName(SPECIES_EGG, HEAP_ID_FIELD1); - Pokemon_SetValue(mon, MON_DATA_NICKNAME_STRING, string); + Pokemon_SetData(mon, MON_DATA_NICKNAME_STRING, string); String_Free(string); } @@ -759,7 +759,7 @@ void Daycare_GiveEggFromDaycare(Daycare *daycare, Party *party, TrainerInfo *tra u32 monOTID = TrainerInfo_ID(trainerInfo); BoxPokemon *boxMon = Daycare_GetBoxMon(daycare, parentSlots[0]); - u8 form = BoxPokemon_GetValue(boxMon, MON_DATA_FORM, NULL); + u8 form = BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL); Egg_SetInitialData(mon, species, daycare, monOTID, form); @@ -773,7 +773,7 @@ void Daycare_GiveEggFromDaycare(Daycare *daycare, Party *party, TrainerInfo *tra } isEgg = TRUE; - Pokemon_SetValue(mon, MON_DATA_IS_EGG, &isEgg); + Pokemon_SetData(mon, MON_DATA_IS_EGG, &isEgg); Party_AddPokemon(party, mon); Daycare_ResetPersonalityAndStepCounter(daycare); @@ -787,8 +787,8 @@ static int Party_GetEggCyclesToSubtract(Party *party) int partyCount = Party_GetCurrentCount(party); for (i = 0; i < partyCount; i++) { - if (Pokemon_GetValue(Party_GetPokemonBySlotIndex(party, i), MON_DATA_SANITY_IS_EGG, NULL) == FALSE) { - ability = Pokemon_GetValue(Party_GetPokemonBySlotIndex(party, i), MON_DATA_ABILITY, NULL); + if (Pokemon_GetData(Party_GetPokemonBySlotIndex(party, i), MON_DATA_SANITY_IS_EGG, NULL) == FALSE) { + ability = Pokemon_GetData(Party_GetPokemonBySlotIndex(party, i), MON_DATA_ABILITY, NULL); if ((ability == ABILITY_MAGMA_ARMOR) || (ability == ABILITY_FLAME_BODY)) { return 2; @@ -821,12 +821,12 @@ static u8 BoxMon_GetPairDaycareCompatibilityScore(BoxPokemon **boxMonPair) u32 trainerIDs[NUM_DAYCARE_MONS], genders[NUM_DAYCARE_MONS], personality, i; for (i = 0; i < NUM_DAYCARE_MONS; i++) { - species[i] = BoxPokemon_GetValue(boxMonPair[i], MON_DATA_SPECIES, NULL); - trainerIDs[i] = BoxPokemon_GetValue(boxMonPair[i], MON_DATA_OT_ID, NULL); - personality = BoxPokemon_GetValue(boxMonPair[i], MON_DATA_PERSONALITY, NULL); - genders[i] = Pokemon_GetGenderOf(species[i], personality); - eggGroups[i][0] = SpeciesData_GetSpeciesValue(species[i], SPECIES_DATA_EGG_GROUP_1); - eggGroups[i][1] = SpeciesData_GetSpeciesValue(species[i], SPECIES_DATA_EGG_GROUP_2); + species[i] = BoxPokemon_GetData(boxMonPair[i], MON_DATA_SPECIES, NULL); + trainerIDs[i] = BoxPokemon_GetData(boxMonPair[i], MON_DATA_OT_ID, NULL); + personality = BoxPokemon_GetData(boxMonPair[i], MON_DATA_PERSONALITY, NULL); + genders[i] = Species_GetGenderFromPersonality(species[i], personality); + eggGroups[i][0] = Species_GetValue(species[i], SPECIES_DATA_EGG_GROUP_1); + eggGroups[i][1] = Species_GetValue(species[i], SPECIES_DATA_EGG_GROUP_2); } if (eggGroups[0][0] == EGG_GROUP_UNDISCOVERED || eggGroups[1][0] == EGG_GROUP_UNDISCOVERED) { @@ -927,7 +927,7 @@ BOOL Daycare_Update(Daycare *daycare, Party *party, FieldSystem *fieldSystem) monCount = 0; for (i = 0; i < NUM_DAYCARE_MONS; i++) { - if (BoxPokemon_GetValue(boxMon[i], MON_DATA_SPECIES_EXISTS, NULL) != FALSE) { + if (BoxPokemon_GetData(boxMon[i], MON_DATA_SPECIES_EXISTS, NULL) != FALSE) { DaycareMon_AddSteps(Daycare_GetDaycareMon(daycare, i), 1); monCount++; } @@ -955,12 +955,12 @@ BOOL Daycare_Update(Daycare *daycare, Party *party, FieldSystem *fieldSystem) for (i = 0; i < Party_GetCurrentCount(party); i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(party, i); - if (Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL)) { - if (Pokemon_GetValue(mon, MON_DATA_CHECKSUM_FAILED, NULL)) { + if (Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL)) { + if (Pokemon_GetData(mon, MON_DATA_CHECKSUM_FAILED, NULL)) { continue; } - eggCycles = Pokemon_GetValue(mon, MON_DATA_FRIENDSHIP, NULL); + eggCycles = Pokemon_GetData(mon, MON_DATA_FRIENDSHIP, NULL); if (eggCycles != 0) { if (eggCycles >= toSubstract) { @@ -969,7 +969,7 @@ BOOL Daycare_Update(Daycare *daycare, Party *party, FieldSystem *fieldSystem) eggCycles--; } - Pokemon_SetValue(mon, MON_DATA_FRIENDSHIP, (u8 *)&eggCycles); + Pokemon_SetData(mon, MON_DATA_FRIENDSHIP, (u8 *)&eggCycles); } else { return TRUE; } @@ -989,8 +989,8 @@ Pokemon *Party_GetFirstEgg(Party *party) for (i = 0; i < partyCount; i++) { mon = Party_GetPokemonBySlotIndex(party, i); - if (Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) - && (Pokemon_GetValue(mon, MON_DATA_FRIENDSHIP, NULL) == 0)) { + if (Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL) + && (Pokemon_GetData(mon, MON_DATA_FRIENDSHIP, NULL) == 0)) { return mon; } } @@ -1005,12 +1005,12 @@ void ov5_021E72BC(Daycare *daycare, StringTemplate *strTemplate) Daycare_CopyDaycareMonToBoxMonArray(daycare, boxMon); - if (BoxPokemon_GetValue(boxMon[0], MON_DATA_SPECIES, NULL) != SPECIES_NONE) { + if (BoxPokemon_GetData(boxMon[0], MON_DATA_SPECIES, NULL) != SPECIES_NONE) { StringTemplate_SetNickname(strTemplate, 0, boxMon[0]); StringTemplate_SetOTName(strTemplate, 2, boxMon[0]); } - if (BoxPokemon_GetValue(boxMon[1], MON_DATA_SPECIES, NULL) != SPECIES_NONE) { + if (BoxPokemon_GetData(boxMon[1], MON_DATA_SPECIES, NULL) != SPECIES_NONE) { StringTemplate_SetNickname(strTemplate, 1, boxMon[1]); } } @@ -1029,12 +1029,12 @@ void Daycare_BufferNicknameLevelGender(Daycare *daycare, u32 idxNickname, u32 id level = BoxPokemon_GiveExperience(boxMon, DaycareMon_GetSteps(daycareMon)); StringTemplate_SetNumber(template, idxLevel, level, 3, PADDING_MODE_NONE, CHARSET_MODE_EN); - gender = BoxPokemon_GetValue(boxMon, MON_DATA_GENDER, NULL); + gender = BoxPokemon_GetData(boxMon, MON_DATA_GENDER, NULL); if (gender != GENDER_NONE) { - species = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); + species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); - if (((species == SPECIES_NIDORAN_F) || (species == SPECIES_NIDORAN_M)) && (BoxPokemon_GetValue(boxMon, MON_DATA_HAS_NICKNAME, NULL) == 0)) { + if (((species == SPECIES_NIDORAN_F) || (species == SPECIES_NIDORAN_M)) && (BoxPokemon_GetData(boxMon, MON_DATA_HAS_NICKNAME, NULL) == 0)) { gender = GENDER_NONE; } } @@ -1046,8 +1046,8 @@ u16 Party_StringTemplateSetNicknameReturnSpecies(Party *party, int slot, StringT { Pokemon *mon = Party_GetPokemonBySlotIndex(party, slot); - StringTemplate_SetNickname(strTemplate, 0, Pokemon_GetBoxPokemon(mon)); - return Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); + StringTemplate_SetNickname(strTemplate, 0, Pokemon_GetBoxMon(mon)); + return Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); } u8 Daycare_GetState(Daycare *daycare) @@ -1092,91 +1092,91 @@ extern u32 Daycare_GetCompatibilityLevel(Daycare *daycare) static void Egg_CreateHatchedMonInternal(Pokemon *egg, int heapID) { u16 species; - u16 moves[LEARNED_MOVES_MAX]; - u8 movesPP[LEARNED_MOVES_MAX]; + u16 moves[MAX_MON_MOVES]; + u8 movesPP[MAX_MON_MOVES]; u32 personality, otID; u8 ivs[STAT_MAX], pokerus; u8 i, language, metGame, marks, friendship, fatefulEncounter, form, gender; String *string = String_Init(7 + 1, heapID); Pokemon *mon = Pokemon_New(heapID); - species = Pokemon_GetValue(egg, MON_DATA_SPECIES, NULL); + species = Pokemon_GetData(egg, MON_DATA_SPECIES, NULL); - for (i = 0; i < LEARNED_MOVES_MAX; i++) { - moves[i] = Pokemon_GetValue(egg, MON_DATA_MOVE1 + i, NULL); - movesPP[i] = Pokemon_GetValue(egg, MON_DATA_MOVE1_PP + i, NULL); + for (i = 0; i < MAX_MON_MOVES; i++) { + moves[i] = Pokemon_GetData(egg, MON_DATA_MOVE1 + i, NULL); + movesPP[i] = Pokemon_GetData(egg, MON_DATA_MOVE1_PP + i, NULL); } - personality = Pokemon_GetValue(egg, MON_DATA_PERSONALITY, NULL); + personality = Pokemon_GetData(egg, MON_DATA_PERSONALITY, NULL); for (i = 0; i < STAT_MAX; i++) { - ivs[i] = Pokemon_GetValue(egg, MON_DATA_HP_IV + i, NULL); + ivs[i] = Pokemon_GetData(egg, MON_DATA_HP_IV + i, NULL); } - language = Pokemon_GetValue(egg, MON_DATA_LANGUAGE, NULL); - metGame = Pokemon_GetValue(egg, MON_DATA_MET_GAME, NULL); - marks = Pokemon_GetValue(egg, MON_DATA_MARKINGS, NULL); - pokerus = Pokemon_GetValue(egg, MON_DATA_POKERUS, NULL); - fatefulEncounter = Pokemon_GetValue(egg, MON_DATA_FATEFUL_ENCOUNTER, NULL); + language = Pokemon_GetData(egg, MON_DATA_LANGUAGE, NULL); + metGame = Pokemon_GetData(egg, MON_DATA_MET_GAME, NULL); + marks = Pokemon_GetData(egg, MON_DATA_MARKINGS, NULL); + pokerus = Pokemon_GetData(egg, MON_DATA_POKERUS, NULL); + fatefulEncounter = Pokemon_GetData(egg, MON_DATA_FATEFUL_ENCOUNTER, NULL); - Pokemon_GetValue(egg, MON_DATA_OT_NAME_STRING, string); + Pokemon_GetData(egg, MON_DATA_OT_NAME_STRING, string); - gender = Pokemon_GetValue(egg, MON_DATA_OT_GENDER, NULL); - otID = Pokemon_GetValue(egg, MON_DATA_OT_ID, NULL); - form = Pokemon_GetValue(egg, MON_DATA_FORM, NULL); + gender = Pokemon_GetData(egg, MON_DATA_OT_GENDER, NULL); + otID = Pokemon_GetData(egg, MON_DATA_OT_ID, NULL); + form = Pokemon_GetData(egg, MON_DATA_FORM, NULL); if (species == SPECIES_MANAPHY) { - if (Pokemon_GetValue(egg, MON_DATA_EGG_LOCATION, NULL) == SpecialMetLoc_GetId(2, 1)) { - while (Pokemon_IsPersonalityShiny(otID, personality)) { + if (Pokemon_GetData(egg, MON_DATA_EGG_LOCATION, NULL) == SpecialMetLoc_GetId(2, 1)) { + while (Personality_IsShiny(otID, personality)) { personality = ARNG_Next(personality); } } } - Pokemon_InitWith(mon, species, 1, INIT_IVS_RANDOM, TRUE, personality, OTID_NOT_SET, 0); + Pokemon_InitWithParams(mon, species, 1, INIT_IVS_RANDOM, TRUE, personality, OT_ID_PLAYER_ID, 0); - for (i = 0; i < LEARNED_MOVES_MAX; i++) { - Pokemon_SetValue(mon, MON_DATA_MOVE1 + i, &(moves[i])); - Pokemon_SetValue(mon, MON_DATA_MOVE1_PP + i, &(movesPP[i])); + for (i = 0; i < MAX_MON_MOVES; i++) { + Pokemon_SetData(mon, MON_DATA_MOVE1 + i, &(moves[i])); + Pokemon_SetData(mon, MON_DATA_MOVE1_PP + i, &(movesPP[i])); } for (i = 0; i < STAT_MAX; i++) { - Pokemon_SetValue(mon, MON_DATA_HP_IV + i, &(ivs[i])); + Pokemon_SetData(mon, MON_DATA_HP_IV + i, &(ivs[i])); } - Pokemon_SetValue(mon, MON_DATA_LANGUAGE, &language); - Pokemon_SetValue(mon, MON_DATA_MET_GAME, &metGame); - Pokemon_SetValue(mon, MON_DATA_MARKINGS, &marks); + Pokemon_SetData(mon, MON_DATA_LANGUAGE, &language); + Pokemon_SetData(mon, MON_DATA_MET_GAME, &metGame); + Pokemon_SetData(mon, MON_DATA_MARKINGS, &marks); friendship = 120; - Pokemon_SetValue(mon, MON_DATA_FRIENDSHIP, &friendship); - Pokemon_SetValue(mon, MON_DATA_POKERUS, &pokerus); - Pokemon_SetValue(mon, MON_DATA_FATEFUL_ENCOUNTER, &fatefulEncounter); - Pokemon_SetValue(mon, MON_DATA_OT_NAME_STRING, string); - Pokemon_SetValue(mon, MON_DATA_OT_GENDER, &gender); - Pokemon_SetValue(mon, MON_DATA_OT_ID, &otID); - Pokemon_SetValue(mon, MON_DATA_FORM, &form); - - u16 location = Pokemon_GetValue(egg, MON_DATA_EGG_LOCATION, NULL); - u8 year = Pokemon_GetValue(egg, MON_DATA_EGG_YEAR, NULL); - u8 month = Pokemon_GetValue(egg, MON_DATA_EGG_MONTH, NULL); - u8 day = Pokemon_GetValue(egg, MON_DATA_EGG_DAY, NULL); - - Pokemon_SetValue(mon, MON_DATA_EGG_LOCATION, &location); - Pokemon_SetValue(mon, MON_DATA_EGG_YEAR, &year); - Pokemon_SetValue(mon, MON_DATA_EGG_MONTH, &month); - Pokemon_SetValue(mon, MON_DATA_EGG_DAY, &day); - - location = Pokemon_GetValue(egg, MON_DATA_MET_LOCATION, NULL); - year = Pokemon_GetValue(egg, MON_DATA_MET_YEAR, NULL); - month = Pokemon_GetValue(egg, MON_DATA_MET_MONTH, NULL); - day = Pokemon_GetValue(egg, MON_DATA_MET_DAY, NULL); - - Pokemon_SetValue(mon, MON_DATA_MET_LOCATION, &location); - Pokemon_SetValue(mon, MON_DATA_MET_YEAR, &year); - Pokemon_SetValue(mon, MON_DATA_MET_MONTH, &month); - Pokemon_SetValue(mon, MON_DATA_MET_DAY, &day); + Pokemon_SetData(mon, MON_DATA_FRIENDSHIP, &friendship); + Pokemon_SetData(mon, MON_DATA_POKERUS, &pokerus); + Pokemon_SetData(mon, MON_DATA_FATEFUL_ENCOUNTER, &fatefulEncounter); + Pokemon_SetData(mon, MON_DATA_OT_NAME_STRING, string); + Pokemon_SetData(mon, MON_DATA_OT_GENDER, &gender); + Pokemon_SetData(mon, MON_DATA_OT_ID, &otID); + Pokemon_SetData(mon, MON_DATA_FORM, &form); + + u16 location = Pokemon_GetData(egg, MON_DATA_EGG_LOCATION, NULL); + u8 year = Pokemon_GetData(egg, MON_DATA_EGG_YEAR, NULL); + u8 month = Pokemon_GetData(egg, MON_DATA_EGG_MONTH, NULL); + u8 day = Pokemon_GetData(egg, MON_DATA_EGG_DAY, NULL); + + Pokemon_SetData(mon, MON_DATA_EGG_LOCATION, &location); + Pokemon_SetData(mon, MON_DATA_EGG_YEAR, &year); + Pokemon_SetData(mon, MON_DATA_EGG_MONTH, &month); + Pokemon_SetData(mon, MON_DATA_EGG_DAY, &day); + + location = Pokemon_GetData(egg, MON_DATA_MET_LOCATION, NULL); + year = Pokemon_GetData(egg, MON_DATA_MET_YEAR, NULL); + month = Pokemon_GetData(egg, MON_DATA_MET_MONTH, NULL); + day = Pokemon_GetData(egg, MON_DATA_MET_DAY, NULL); + + Pokemon_SetData(mon, MON_DATA_MET_LOCATION, &location); + Pokemon_SetData(mon, MON_DATA_MET_YEAR, &year); + Pokemon_SetData(mon, MON_DATA_MET_MONTH, &month); + Pokemon_SetData(mon, MON_DATA_MET_DAY, &day); Pokemon_Copy(mon, egg); String_Free(string); @@ -1196,15 +1196,15 @@ void Egg_CreateHatchedMon(Pokemon *egg, int heapID) metLevel = 0; Egg_CreateHatchedMonInternal(egg, heapID); - Pokemon_SetValue(egg, MON_DATA_IS_EGG, &isEgg); + Pokemon_SetData(egg, MON_DATA_IS_EGG, &isEgg); - species = Pokemon_GetValue(egg, MON_DATA_SPECIES, NULL); + species = Pokemon_GetData(egg, MON_DATA_SPECIES, NULL); MessageLoader_GetSpeciesName(species, HEAP_ID_SYSTEM, nickname); - Pokemon_SetValue(egg, MON_DATA_NICKNAME, nickname); - Pokemon_SetValue(egg, MON_DATA_HAS_NICKNAME, &hasNickname); - Pokemon_SetValue(egg, MON_DATA_POKEBALL, &ball); - Pokemon_SetValue(egg, MON_DATA_MET_LEVEL, &metLevel); + Pokemon_SetData(egg, MON_DATA_NICKNAME, nickname); + Pokemon_SetData(egg, MON_DATA_HAS_NICKNAME, &hasNickname); + Pokemon_SetData(egg, MON_DATA_POKEBALL, &ball); + Pokemon_SetData(egg, MON_DATA_MET_LEVEL, &metLevel); Pokemon_CalcLevelAndStats(egg); } diff --git a/src/overlay005/encounter_effect.c b/src/overlay005/encounter_effect.c index 0a393b2afd..8f3bb377e5 100644 --- a/src/overlay005/encounter_effect.c +++ b/src/overlay005/encounter_effect.c @@ -1303,8 +1303,8 @@ u32 CutInEffects_ForBattle(const FieldBattleDTO *param0) v3 = Party_FindFirstEligibleBattler(param0->parties[0]); v4 = Party_FindFirstEligibleBattler(param0->parties[1]); - v5 = Pokemon_GetValue(v3, MON_DATA_LEVEL, NULL); - v6 = Pokemon_GetValue(v4, MON_DATA_LEVEL, NULL); + v5 = Pokemon_GetData(v3, MON_DATA_LEVEL, NULL); + v6 = Pokemon_GetData(v4, MON_DATA_LEVEL, NULL); v0 = v6 - v5; switch (param0->terrain) { diff --git a/src/overlay005/ov5_021F6454.c b/src/overlay005/ov5_021F6454.c index 6779282c76..fb74fc44f7 100644 --- a/src/overlay005/ov5_021F6454.c +++ b/src/overlay005/ov5_021F6454.c @@ -452,12 +452,12 @@ BOOL ScrCmd_JudgeStats(ScriptContext *ctx) Pokemon *targetPokemon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), selectedIndex); u32 pokemonIVs[6]; - pokemonIVs[0] = Pokemon_GetValue(targetPokemon, MON_DATA_HP_IV, NULL); - pokemonIVs[1] = Pokemon_GetValue(targetPokemon, MON_DATA_ATK_IV, NULL); - pokemonIVs[2] = Pokemon_GetValue(targetPokemon, MON_DATA_DEF_IV, NULL); - pokemonIVs[3] = Pokemon_GetValue(targetPokemon, MON_DATA_SPEED_IV, NULL); - pokemonIVs[4] = Pokemon_GetValue(targetPokemon, MON_DATA_SPATK_IV, NULL); - pokemonIVs[5] = Pokemon_GetValue(targetPokemon, MON_DATA_SPDEF_IV, NULL); + pokemonIVs[0] = Pokemon_GetData(targetPokemon, MON_DATA_HP_IV, NULL); + pokemonIVs[1] = Pokemon_GetData(targetPokemon, MON_DATA_ATK_IV, NULL); + pokemonIVs[2] = Pokemon_GetData(targetPokemon, MON_DATA_DEF_IV, NULL); + pokemonIVs[3] = Pokemon_GetData(targetPokemon, MON_DATA_SPEED_IV, NULL); + pokemonIVs[4] = Pokemon_GetData(targetPokemon, MON_DATA_SPATK_IV, NULL); + pokemonIVs[5] = Pokemon_GetData(targetPokemon, MON_DATA_SPDEF_IV, NULL); *totalIVs = 0; u8 i; @@ -503,7 +503,7 @@ BOOL ScrCmd_31D(ScriptContext *param0) for (v3 = 0; v3 < v2; v3++) { v0 = Party_GetPokemonBySlotIndex(v1, v3); - v8[v3] = Pokemon_GetValue(v0, MON_DATA_HELD_ITEM, NULL); + v8[v3] = Pokemon_GetData(v0, MON_DATA_HELD_ITEM, NULL); if (v8[v3] == ITEM_GRISEOUS_ORB) { v9++; @@ -523,27 +523,27 @@ BOOL ScrCmd_31D(ScriptContext *param0) for (v3 = 0; v3 < v2; v3++) { if (v8[v3] == ITEM_GRISEOUS_ORB) { v0 = Party_GetPokemonBySlotIndex(v1, v3); - Pokemon_SetValue(v0, MON_DATA_HELD_ITEM, &v7); + Pokemon_SetData(v0, MON_DATA_HELD_ITEM, &v7); } } } for (v3 = 0; v3 < v2; v3++) { v0 = Party_GetPokemonBySlotIndex(v1, v3); - v6 = Pokemon_GetValue(v0, MON_DATA_FORM, NULL); + v6 = Pokemon_GetData(v0, MON_DATA_FORM, NULL); if (v6 > 0) { - v5 = Pokemon_GetValue(v0, MON_DATA_SPECIES, NULL); + v5 = Pokemon_GetData(v0, MON_DATA_SPECIES, NULL); switch (v5) { case SPECIES_GIRATINA: - Pokemon_SetGiratinaFormByHeldItem(v0); + Pokemon_UpdateGiratinaForm(v0); break; case SPECIES_ROTOM: - Pokemon_SetRotomForm(v0, ROTOM_FORM_BASE, 0); + Pokemon_UpdateRotomForm(v0, ROTOM_FORM_BASE, 0); break; case SPECIES_SHAYMIN: - Pokemon_SetShayminForm(v0, SHAYMIN_FORM_LAND); + Pokemon_UpdateShayminForm(v0, SHAYMIN_FORM_LAND); break; } } @@ -573,7 +573,7 @@ BOOL ScrCmd_TryRevertPokemonForm(ScriptContext *param0) return 0; } - currentHeldItem = Pokemon_GetValue(pokemon, MON_DATA_HELD_ITEM, NULL); + currentHeldItem = Pokemon_GetData(pokemon, MON_DATA_HELD_ITEM, NULL); if (currentHeldItem == ITEM_GRISEOUS_ORB) { bagNotFull = Bag_TryAddItem(SaveData_GetBag(fieldSystem->saveData), ITEM_GRISEOUS_ORB, 1, HEAP_ID_FIELD1); @@ -584,23 +584,23 @@ BOOL ScrCmd_TryRevertPokemonForm(ScriptContext *param0) } emptyHeldItem = 0; - Pokemon_SetValue(pokemon, MON_DATA_HELD_ITEM, &emptyHeldItem); + Pokemon_SetData(pokemon, MON_DATA_HELD_ITEM, &emptyHeldItem); } - pokemonForm = Pokemon_GetValue(pokemon, MON_DATA_FORM, NULL); + pokemonForm = Pokemon_GetData(pokemon, MON_DATA_FORM, NULL); if (pokemonForm > 0) { - pokemonSpecies = Pokemon_GetValue(pokemon, MON_DATA_SPECIES, NULL); + pokemonSpecies = Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL); switch (pokemonSpecies) { case SPECIES_GIRATINA: - Pokemon_SetGiratinaFormByHeldItem(pokemon); + Pokemon_UpdateGiratinaForm(pokemon); break; case SPECIES_ROTOM: - Pokemon_SetRotomForm(pokemon, ROTOM_FORM_BASE, 0); + Pokemon_UpdateRotomForm(pokemon, ROTOM_FORM_BASE, 0); break; case SPECIES_SHAYMIN: - Pokemon_SetShayminForm(pokemon, SHAYMIN_FORM_LAND); + Pokemon_UpdateShayminForm(pokemon, SHAYMIN_FORM_LAND); break; } } @@ -616,7 +616,7 @@ BOOL ScrCmd_2F1(ScriptContext *param0) u16 v3 = ScriptContext_GetVar(param0); v0 = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), v2); - Pokemon_SetValue(v0, MON_DATA_FORM, &v3); + Pokemon_SetData(v0, MON_DATA_FORM, &v3); return 0; } @@ -635,9 +635,9 @@ BOOL ScrCmd_GetPartyRotomCountAndFirst(ScriptContext *ctx) for (i = 0; i < partyCount; i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(party, i); - u32 species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - u32 form = Pokemon_GetValue(mon, MON_DATA_FORM, NULL); - u32 isEgg = Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL); + u32 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + u32 form = Pokemon_GetData(mon, MON_DATA_FORM, NULL); + u32 isEgg = Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL); if (species == SPECIES_ROTOM && form != ROTOM_FORM_BASE && isEgg == FALSE) { if (*destVarPartySlot == 0xff) { @@ -663,7 +663,7 @@ BOOL ScrCmd_SetRotomForm(ScriptContext *ctx) Party *party = SaveData_GetParty(fieldSystem->saveData); Pokemon *mon = Party_GetPokemonBySlotIndex(party, partySlot); - Pokemon_SetRotomForm(mon, form, moveSlot); + Pokemon_UpdateRotomForm(mon, form, moveSlot); Pokedex_Capture(SaveData_GetPokedex(fieldSystem->saveData), mon); return FALSE; @@ -679,9 +679,9 @@ BOOL ScrCmd_2FF(ScriptContext *param0) u16 *v6 = ScriptContext_GetVarPointer(param0); v3 = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), v5); - v0 = Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL); + v0 = Pokemon_GetData(v3, MON_DATA_SPECIES, NULL); - if (Pokemon_GetValue(v3, MON_DATA_IS_EGG, NULL) == 0) { + if (Pokemon_GetData(v3, MON_DATA_IS_EGG, NULL) == 0) { switch (v0) { case SPECIES_CATERPIE: case SPECIES_METAPOD: @@ -719,12 +719,12 @@ static void ov5_021F70CC(Pokemon *param0, int *param1, int *param2) int v4; int v5; - v0 = Pokemon_GetValue(param0, MON_DATA_HP_IV, NULL); - v1 = Pokemon_GetValue(param0, MON_DATA_ATK_IV, NULL); - v2 = Pokemon_GetValue(param0, MON_DATA_DEF_IV, NULL); - v3 = Pokemon_GetValue(param0, MON_DATA_SPEED_IV, NULL); - v4 = Pokemon_GetValue(param0, MON_DATA_SPATK_IV, NULL); - v5 = Pokemon_GetValue(param0, MON_DATA_SPDEF_IV, NULL); + v0 = Pokemon_GetData(param0, MON_DATA_HP_IV, NULL); + v1 = Pokemon_GetData(param0, MON_DATA_ATK_IV, NULL); + v2 = Pokemon_GetData(param0, MON_DATA_DEF_IV, NULL); + v3 = Pokemon_GetData(param0, MON_DATA_SPEED_IV, NULL); + v4 = Pokemon_GetData(param0, MON_DATA_SPATK_IV, NULL); + v5 = Pokemon_GetData(param0, MON_DATA_SPDEF_IV, NULL); if (param1 != NULL) { *param1 = ((v0 & 2) >> 1) | ((v1 & 2) >> 0) | ((v2 & 2) << 1) | ((v3 & 2) << 2) | ((v4 & 2) << 3) | ((v5 & 2) << 4); @@ -750,7 +750,7 @@ BOOL ScrCmd_300(ScriptContext *param0) v1 = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), 0); v0 = SaveData_MiscSaveBlock(fieldSystem->saveData); - MiscSaveBlock_SetFavoriteMon(v0, Pokemon_GetValue(v1, MON_DATA_SPECIES, NULL), Pokemon_GetValue(v1, MON_DATA_FORM, NULL), Pokemon_GetValue(v1, MON_DATA_IS_EGG, NULL)); + MiscSaveBlock_SetFavoriteMon(v0, Pokemon_GetData(v1, MON_DATA_SPECIES, NULL), Pokemon_GetData(v1, MON_DATA_FORM, NULL), Pokemon_GetData(v1, MON_DATA_IS_EGG, NULL)); return 0; } @@ -782,7 +782,7 @@ BOOL ScrCmd_GetPartyMonForm2(ScriptContext *ctx) Party *party = SaveData_GetParty(fieldSystem->saveData); Pokemon *mon = Party_GetPokemonBySlotIndex(party, partySlot); - *destVar = Pokemon_GetValue(mon, MON_DATA_FORM, NULL); + *destVar = Pokemon_GetData(mon, MON_DATA_FORM, NULL); return FALSE; } diff --git a/src/overlay005/scrcmd_move_tutor.c b/src/overlay005/scrcmd_move_tutor.c index 8a8c3ae56c..917ed6be77 100644 --- a/src/overlay005/scrcmd_move_tutor.c +++ b/src/overlay005/scrcmd_move_tutor.c @@ -210,8 +210,8 @@ static u16 GetMoveIndex(u16 moveID) static u8 Pokemon_ReadMovesetMaskByte(Pokemon *pokemon, u8 offset) { - u32 species = Pokemon_GetValue(pokemon, MON_DATA_SPECIES, NULL); - u32 form = Pokemon_GetValue(pokemon, MON_DATA_FORM, NULL); + u32 species = Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL); + u32 form = Pokemon_GetData(pokemon, MON_DATA_FORM, NULL); u16 moveset = species; switch (species) { @@ -264,12 +264,12 @@ static BOOL Pokemon_HasLearnableMovesAt(Pokemon *pokemon, enum TutorLocation loc int movesetMaskByteOffset, movesetMaskBitOffset, knownMovesIndex; u8 movesetMask, canLearn; u32 species; - u16 knownMoves[LEARNED_MOVES_MAX]; + u16 knownMoves[MAX_MON_MOVES]; - species = Pokemon_GetValue(pokemon, MON_DATA_SPECIES, NULL); + species = Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL); - for (knownMovesIndex = 0; knownMovesIndex < LEARNED_MOVES_MAX; knownMovesIndex++) { - knownMoves[knownMovesIndex] = Pokemon_GetValue(pokemon, MON_DATA_MOVE1 + knownMovesIndex, NULL); + for (knownMovesIndex = 0; knownMovesIndex < MAX_MON_MOVES; knownMovesIndex++) { + knownMoves[knownMovesIndex] = Pokemon_GetData(pokemon, MON_DATA_MOVE1 + knownMovesIndex, NULL); } for (movesetMaskByteOffset = 0; movesetMaskByteOffset < MOVESET_MASK_SIZE; movesetMaskByteOffset++) { @@ -279,13 +279,13 @@ static BOOL Pokemon_HasLearnableMovesAt(Pokemon *pokemon, enum TutorLocation loc canLearn = ((movesetMask >> movesetMaskBitOffset) & 0x1); if ((canLearn == TRUE) && (location == sTeachableMoves[movesetMaskByteOffset * 8 + movesetMaskBitOffset].location)) { - for (knownMovesIndex = 0; knownMovesIndex < LEARNED_MOVES_MAX; knownMovesIndex++) { + for (knownMovesIndex = 0; knownMovesIndex < MAX_MON_MOVES; knownMovesIndex++) { if (knownMoves[knownMovesIndex] == sTeachableMoves[movesetMaskByteOffset * 8 + movesetMaskBitOffset].moveID) { break; } } - if (knownMovesIndex == LEARNED_MOVES_MAX) { + if (knownMovesIndex == MAX_MON_MOVES) { return TRUE; } } @@ -304,7 +304,7 @@ BOOL ScrCmd_ShowMoveTutorMoveSelectionMenu(ScriptContext *scriptContext) MessageLoader *miscMessageLoader; FieldSystem *fieldSystem = scriptContext->fieldSystem; MoveTutorManager *moveTutorManager; - u16 knownMoves[LEARNED_MOVES_MAX]; + u16 knownMoves[MAX_MON_MOVES]; u16 learnableMoves[NELEMS(sTeachableMoves)]; StringTemplate **stringTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE); u16 partySlot = ScriptContext_GetVar(scriptContext); @@ -327,8 +327,8 @@ BOOL ScrCmd_ShowMoveTutorMoveSelectionMenu(ScriptContext *scriptContext) int learnableMovesCount = 0; if (partySlot != 0xff) { - for (knownMoveIndex = 0; knownMoveIndex < LEARNED_MOVES_MAX; knownMoveIndex++) { - knownMoves[knownMoveIndex] = Pokemon_GetValue(pokemon, (MON_DATA_MOVE1 + knownMoveIndex), NULL); + for (knownMoveIndex = 0; knownMoveIndex < MAX_MON_MOVES; knownMoveIndex++) { + knownMoves[knownMoveIndex] = Pokemon_GetData(pokemon, (MON_DATA_MOVE1 + knownMoveIndex), NULL); } for (i = 0; i < MOVESET_MASK_SIZE; i++) { @@ -338,13 +338,13 @@ BOOL ScrCmd_ShowMoveTutorMoveSelectionMenu(ScriptContext *scriptContext) canLearn = ((movesetMaskByte >> j) & 0x1); if ((canLearn == TRUE) && (location == sTeachableMoves[i * 8 + j].location)) { - for (knownMoveIndex = 0; knownMoveIndex < LEARNED_MOVES_MAX; knownMoveIndex++) { + for (knownMoveIndex = 0; knownMoveIndex < MAX_MON_MOVES; knownMoveIndex++) { if (knownMoves[knownMoveIndex] == sTeachableMoves[i * 8 + j].moveID) { break; } } - if (knownMoveIndex == LEARNED_MOVES_MAX) { + if (knownMoveIndex == MAX_MON_MOVES) { learnableMoves[learnableMovesCount] = sTeachableMoves[i * 8 + j].moveID; learnableMovesCount++; } diff --git a/src/overlay005/size_contest.c b/src/overlay005/size_contest.c index 254c154a7f..686d5db445 100644 --- a/src/overlay005/size_contest.c +++ b/src/overlay005/size_contest.c @@ -68,13 +68,13 @@ static inline u64 CalcMultFromSizeFactor(u16 sizeFactor) static int CalcSizeFactor(Pokemon *mon) { - u16 personnalityLow = Pokemon_GetValue(mon, MON_DATA_PERSONALITY, NULL) & 0xffff; - u16 hpIV = Pokemon_GetValue(mon, MON_DATA_HP_IV, NULL) & 0xf; - u16 atkIV = Pokemon_GetValue(mon, MON_DATA_ATK_IV, NULL) & 0xf; - u16 defIV = Pokemon_GetValue(mon, MON_DATA_DEF_IV, NULL) & 0xf; - u16 speedIV = Pokemon_GetValue(mon, MON_DATA_SPEED_IV, NULL) & 0xf; - u16 spAtkIV = Pokemon_GetValue(mon, MON_DATA_SPATK_IV, NULL) & 0xf; - u16 spDefIV = Pokemon_GetValue(mon, MON_DATA_SPDEF_IV, NULL) & 0xf; + u16 personnalityLow = Pokemon_GetData(mon, MON_DATA_PERSONALITY, NULL) & 0xffff; + u16 hpIV = Pokemon_GetData(mon, MON_DATA_HP_IV, NULL) & 0xf; + u16 atkIV = Pokemon_GetData(mon, MON_DATA_ATK_IV, NULL) & 0xf; + u16 defIV = Pokemon_GetData(mon, MON_DATA_DEF_IV, NULL) & 0xf; + u16 speedIV = Pokemon_GetData(mon, MON_DATA_SPEED_IV, NULL) & 0xf; + u16 spAtkIV = Pokemon_GetData(mon, MON_DATA_SPATK_IV, NULL) & 0xf; + u16 spDefIV = Pokemon_GetData(mon, MON_DATA_SPDEF_IV, NULL) & 0xf; u16 high = ((atkIV ^ defIV) * hpIV) ^ (personnalityLow & 0xff); u16 low = ((spAtkIV ^ spDefIV) * speedIV) ^ (personnalityLow >> 8); @@ -111,7 +111,7 @@ static u32 CalcMillimeterSize(u16 species, u16 sizeFactor) u8 SizeContest_CalcResultForPartyMon(FieldSystem *fieldSystem, u16 partySlot) { Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), partySlot); - u16 species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); + u16 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); vu16 sizeFactor = CalcSizeFactor(mon); u32 newSize = CalcMillimeterSize(species, sizeFactor); vu16 recordSizeFactor = SystemVars_GetSizeContestRecord(SaveData_GetVarsFlags(fieldSystem->saveData)); @@ -160,7 +160,7 @@ void SizeContest_SetRecordSizeStrParams(FieldSystem *fieldSystem, u8 intPartIdx, void SizeContest_SetPartyMonSizeStrParams(FieldSystem *fieldSystem, u8 intPartIdx, u8 fracPartIdx, u16 partySlot) { Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), partySlot); - u16 species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); + u16 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); vu16 sizeFactor = CalcSizeFactor(mon); SetStrTemplateMonSizeParams(fieldSystem, intPartIdx, fracPartIdx, species, sizeFactor); diff --git a/src/overlay006/hm_cut_in.c b/src/overlay006/hm_cut_in.c index 2b9f489839..0eeede9c95 100644 --- a/src/overlay006/hm_cut_in.c +++ b/src/overlay006/hm_cut_in.c @@ -2091,8 +2091,8 @@ static void *CutIn_GetPokemonSpriteSource(Pokemon *pokemon, PokemonSpriteTemplat GF_ASSERT(spriteSource != NULL); - int personality = Pokemon_GetValue(pokemon, MON_DATA_PERSONALITY, NULL); - CharacterSprite_LoadPokemonSprite(spriteTemplate->narcID, spriteTemplate->character, heapID, spriteSource, personality, FALSE, 2, spriteTemplate->spindaSpots); + int personality = Pokemon_GetData(pokemon, MON_DATA_PERSONALITY, NULL); + CharacterSprite_LoadPokemonSprite(spriteTemplate->narcID, spriteTemplate->character, heapID, spriteSource, personality, FALSE, 2, spriteTemplate->species); return spriteSource; } diff --git a/src/overlay006/npc_trade.c b/src/overlay006/npc_trade.c index 2db4cd1bdb..a04e970669 100644 --- a/src/overlay006/npc_trade.c +++ b/src/overlay006/npc_trade.c @@ -78,15 +78,15 @@ void ov6_02246254(FieldSystem *fieldSystem, NpcTradeData *data, int slot, TradeA { Party *party = SaveData_GetParty(fieldSystem->saveData); Pokemon *partyMon = Party_GetPokemonBySlotIndex(party, slot); - u32 level = Pokemon_GetValue(partyMon, MON_DATA_LEVEL, NULL); + u32 level = Pokemon_GetData(partyMon, MON_DATA_LEVEL, NULL); NpcTrade_CreateMon(data->mon, data->npcTradeMon, level, data->npcTradeID, data->heapID, fieldSystem->location->mapId); Pokemon_Copy(partyMon, givingMon); Pokemon_Copy(data->mon, receivingMon); - animationConfig->sendingPokemon = Pokemon_GetBoxPokemon(givingMon); - animationConfig->receivingPokemon = Pokemon_GetBoxPokemon(receivingMon); + animationConfig->sendingPokemon = Pokemon_GetBoxMon(givingMon); + animationConfig->receivingPokemon = Pokemon_GetBoxMon(receivingMon); animationConfig->otherTrainer = data->trainerInfo; animationConfig->tradeType = TRADE_TYPE_NORMAL; animationConfig->options = SaveData_GetOptions(fieldSystem->saveData); @@ -116,33 +116,33 @@ static String *NpcTrade_GetNickname(u32 heapID, u32 npcTradeID) static void NpcTrade_CreateMon(Pokemon *mon, NpcTradeMon *npcTradeMon, u32 level, u32 npcTradeID, u32 heapID, u32 mapID) { - Pokemon_InitWith(mon, npcTradeMon->species, level, INIT_IVS_RANDOM, TRUE, npcTradeMon->personality, OTID_SET, npcTradeMon->otID); + Pokemon_InitWithParams(mon, npcTradeMon->species, level, INIT_IVS_RANDOM, TRUE, npcTradeMon->personality, OT_ID_PRESET, npcTradeMon->otID); String *string = NpcTrade_GetNickname(heapID, npcTradeID); - Pokemon_SetValue(mon, MON_DATA_NICKNAME_STRING, string); + Pokemon_SetData(mon, MON_DATA_NICKNAME_STRING, string); String_Free(string); u8 hasNickname = TRUE; - Pokemon_SetValue(mon, MON_DATA_HAS_NICKNAME, &hasNickname); - Pokemon_SetValue(mon, MON_DATA_HP_IV, &npcTradeMon->hpIV); - Pokemon_SetValue(mon, MON_DATA_ATK_IV, &npcTradeMon->atkIV); - Pokemon_SetValue(mon, MON_DATA_DEF_IV, &npcTradeMon->defIV); - Pokemon_SetValue(mon, MON_DATA_SPEED_IV, &npcTradeMon->speedIV); - Pokemon_SetValue(mon, MON_DATA_SPATK_IV, &npcTradeMon->spAtkIV); - Pokemon_SetValue(mon, MON_DATA_SPDEF_IV, &npcTradeMon->spDefIV); - Pokemon_SetValue(mon, MON_DATA_COOL, &npcTradeMon->cool); - Pokemon_SetValue(mon, MON_DATA_BEAUTY, &npcTradeMon->beauty); - Pokemon_SetValue(mon, MON_DATA_CUTE, &npcTradeMon->cute); - Pokemon_SetValue(mon, MON_DATA_SMART, &npcTradeMon->smart); - Pokemon_SetValue(mon, MON_DATA_TOUGH, &npcTradeMon->tough); - Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, &npcTradeMon->heldItem); + Pokemon_SetData(mon, MON_DATA_HAS_NICKNAME, &hasNickname); + Pokemon_SetData(mon, MON_DATA_HP_IV, &npcTradeMon->hpIV); + Pokemon_SetData(mon, MON_DATA_ATK_IV, &npcTradeMon->atkIV); + Pokemon_SetData(mon, MON_DATA_DEF_IV, &npcTradeMon->defIV); + Pokemon_SetData(mon, MON_DATA_SPEED_IV, &npcTradeMon->speedIV); + Pokemon_SetData(mon, MON_DATA_SPATK_IV, &npcTradeMon->spAtkIV); + Pokemon_SetData(mon, MON_DATA_SPDEF_IV, &npcTradeMon->spDefIV); + Pokemon_SetData(mon, MON_DATA_COOL, &npcTradeMon->cool); + Pokemon_SetData(mon, MON_DATA_BEAUTY, &npcTradeMon->beauty); + Pokemon_SetData(mon, MON_DATA_CUTE, &npcTradeMon->cute); + Pokemon_SetData(mon, MON_DATA_SMART, &npcTradeMon->smart); + Pokemon_SetData(mon, MON_DATA_TOUGH, &npcTradeMon->tough); + Pokemon_SetData(mon, MON_DATA_HELD_ITEM, &npcTradeMon->heldItem); string = NpcTrade_GetOtName(heapID, npcTradeID); - Pokemon_SetValue(mon, MON_DATA_OT_NAME_STRING, string); + Pokemon_SetData(mon, MON_DATA_OT_NAME_STRING, string); String_Free(string); - Pokemon_SetValue(mon, MON_DATA_OT_GENDER, &npcTradeMon->otGender); - Pokemon_SetValue(mon, MON_DATA_LANGUAGE, &npcTradeMon->language); + Pokemon_SetData(mon, MON_DATA_OT_GENDER, &npcTradeMon->otGender); + Pokemon_SetData(mon, MON_DATA_LANGUAGE, &npcTradeMon->language); UpdateMonStatusAndTrainerInfo(mon, NULL, 1, MapHeader_GetMapLabelTextID(mapID), heapID); Pokemon_CalcLevelAndStats(mon); diff --git a/src/overlay006/ov6_022426AC.c b/src/overlay006/ov6_022426AC.c index 63aa5d7e59..f3d0f5c142 100644 --- a/src/overlay006/ov6_022426AC.c +++ b/src/overlay006/ov6_022426AC.c @@ -47,7 +47,7 @@ void GreatMarshLookout_CreateLookoutMonSprite(GreatMarshLookout_SpriteResources resources->unk_1CC = 0; int gender; - u8 genderRatio = SpeciesData_GetSpeciesValue(species, SPECIES_DATA_GENDER_RATIO); + u8 genderRatio = Species_GetValue(species, SPECIES_DATA_GENDER_RATIO); switch (genderRatio) { case GENDER_RATIO_MALE_ONLY: @@ -56,7 +56,7 @@ void GreatMarshLookout_CreateLookoutMonSprite(GreatMarshLookout_SpriteResources case GENDER_RATIO_FEMALE_ONLY: gender = GENDER_FEMALE; break; - case GENDER_RATIO_NO_GENDER: + case GENDER_RATIO_UNKNOWN: gender = GENDER_NONE; break; default: @@ -67,7 +67,7 @@ void GreatMarshLookout_CreateLookoutMonSprite(GreatMarshLookout_SpriteResources } } - BuildPokemonSpriteTemplate(&resources->unk_28, species, gender, 2, 0, NULL, NULL); + Species_BuildSpriteTemplate(&resources->unk_28, species, gender, 2, 0, NULL, NULL); resources->unk_38 = SpriteList_InitRendering(1, &resources->unk_3C, HEAP_ID_FIELD1); v1 = NARC_ctor(NARC_INDEX_DATA__FIELD_CUTIN, HEAP_ID_FIELD1); diff --git a/src/overlay006/ov6_022489E4.c b/src/overlay006/ov6_022489E4.c index a1b2902229..9e69b94c9f 100644 --- a/src/overlay006/ov6_022489E4.c +++ b/src/overlay006/ov6_022489E4.c @@ -82,7 +82,7 @@ void ov6_02248AC8(int param0, int param1, void *param2, void *param3) int v2; u8 *v3; - v1 = Pokemon_StructSize(); + v1 = Pokemon_Size(); v3 = param2; v2 = v3[v1]; @@ -97,7 +97,7 @@ BOOL ov6_02248AF0(UnkStruct_02095C48 *param0, int param1, const Pokemon *param2) int v1; int v2; - v1 = Pokemon_StructSize(); + v1 = Pokemon_Size(); v0 = Heap_Alloc(HEAP_ID_20, v1 + 1); MI_CpuCopy8(param2, v0, v1); v0[v1] = param1; @@ -119,7 +119,7 @@ void ov6_02248B30(int param0, int param1, void *param2, void *param3) u8 *v3; int v4; - v1 = Pokemon_StructSize(); + v1 = Pokemon_Size(); v2 = v1 * 4; v3 = param2; @@ -137,7 +137,7 @@ BOOL ov6_02248B70(UnkStruct_02095C48 *param0, Pokemon **param1) int v3; int v4; - v1 = Pokemon_StructSize(); + v1 = Pokemon_Size(); v2 = v1 * 4; v0 = param0->unk_569; diff --git a/src/overlay006/roamer_after_battle.c b/src/overlay006/roamer_after_battle.c index 8259d82926..65e100a5ca 100644 --- a/src/overlay006/roamer_after_battle.c +++ b/src/overlay006/roamer_after_battle.c @@ -31,12 +31,12 @@ void RoamerAfterBattle_UpdateRoamers(FieldSystem *fieldSystem, FieldBattleDTO *b Party *enemyParty = battleParams->parties[1]; Pokemon *enemyMon = Party_GetPokemonBySlotIndex(enemyParty, 0); specialEncounter = SaveData_GetSpecialEncounters(fieldSystem->saveData); - wildSpecies = Pokemon_GetValue(enemyMon, MON_DATA_SPECIES, NULL); + wildSpecies = Pokemon_GetData(enemyMon, MON_DATA_SPECIES, NULL); roamer = GetBattledRoamer(specialEncounter, wildSpecies); if (roamer != NULL) { - roamerHP = (u16)(Pokemon_GetValue(enemyMon, MON_DATA_HP, NULL)); - roamerStatus = (u8)(Pokemon_GetValue(enemyMon, MON_DATA_STATUS, NULL)); + roamerHP = (u16)(Pokemon_GetData(enemyMon, MON_DATA_HP, NULL)); + roamerStatus = (u8)(Pokemon_GetData(enemyMon, MON_DATA_STATUS, NULL)); if ((battleParams->resultMask == BATTLE_RESULT_WIN) && (roamerHP == 0)) { SpecialEncounter_ZeroRoamerData(&roamer); diff --git a/src/overlay006/wild_encounters.c b/src/overlay006/wild_encounters.c index 77ee3dd7f0..416c56cea2 100644 --- a/src/overlay006/wild_encounters.c +++ b/src/overlay006/wild_encounters.c @@ -261,7 +261,7 @@ BOOL WildEncounters_TryWildEncounter(FieldSystem *fieldSystem) if (!SpecialEncounter_RepelStepsEmpty(SaveData_GetSpecialEncounters(fieldSystem->saveData))) { Pokemon *firstLiveMon = Party_FindFirstEligibleBattler(party); encounterFieldParams.repelActive = TRUE; - encounterFieldParams.firstBattlerLevel = Pokemon_GetValue(firstLiveMon, MON_DATA_LEVEL, NULL); + encounterFieldParams.firstBattlerLevel = Pokemon_GetData(firstLiveMon, MON_DATA_LEVEL, NULL); } encounterRate = ModifyEncounterRateWithFieldParams(FALSE, encounterRate, &encounterFieldParams, FieldOverworldState_GetWeather(SaveData_GetFieldOverworldState(fieldSystem->saveData)), firstPartyMon); @@ -590,7 +590,7 @@ BOOL WildEncounters_TryMudEncounter(FieldSystem *fieldSystem, FieldBattleDTO **b Pokemon *v15 = Party_FindFirstEligibleBattler(party); encounterFieldParams.repelActive = TRUE; - encounterFieldParams.firstBattlerLevel = Pokemon_GetValue(v15, MON_DATA_LEVEL, NULL); + encounterFieldParams.firstBattlerLevel = Pokemon_GetData(v15, MON_DATA_LEVEL, NULL); } encounterRate = ModifyEncounterRateWithFieldParams(FALSE, encounterRate, &encounterFieldParams, FieldOverworldState_GetWeather(SaveData_GetFieldOverworldState(fieldSystem->saveData)), firstPartyMon); @@ -920,7 +920,7 @@ static u8 GetRodEncounterSlot(const int fishingRodType) static void ModifyEncounterRateWithHeldItem(Pokemon *mon, u8 *encounterRate) { - u16 heldItem = Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL); + u16 heldItem = Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL); if (heldItem == ITEM_CLEANSE_TAG || heldItem == ITEM_PURE_INCENSE) { *encounterRate = (*encounterRate * 2) / 3; @@ -942,7 +942,7 @@ static void ModifyEncounterRateWithFlute(FieldSystem *fieldSystem, u8 *encounter static u8 GetNatureForWildMon(Pokemon *firstMon, const WildEncounters_FieldParams *encounterFieldParams) { if (!encounterFieldParams->isFirstMonEgg && encounterFieldParams->firstMonAbility == ABILITY_SYNCHRONIZE && LCRNG_RandMod(2) == 0) { - u32 leadPersonality = Pokemon_GetValue(firstMon, MON_DATA_PERSONALITY, NULL); + u32 leadPersonality = Pokemon_GetData(firstMon, MON_DATA_PERSONALITY, NULL); return (u8)(leadPersonality % 25); } @@ -992,16 +992,16 @@ static void CreateWildMonShinyWithGenderOrNature(const u16 species, const u8 lev if (!encounterFieldParams->isFirstMonEgg) { if (encounterFieldParams->firstMonAbility == ABILITY_CUTE_CHARM) { - u32 speciesGenderRatio = SpeciesData_GetSpeciesValue(species, SPECIES_DATA_GENDER_RATIO); + u32 speciesGenderRatio = Species_GetValue(species, SPECIES_DATA_GENDER_RATIO); switch (speciesGenderRatio) { case GENDER_RATIO_MALE_ONLY: case GENDER_RATIO_FEMALE_ONLY: - case GENDER_RATIO_NO_GENDER: + case GENDER_RATIO_UNKNOWN: break; default: if (LCRNG_RandMod(3) > 0) { - firstMonGender = Pokemon_GetValue(firstPartyMon, MON_DATA_GENDER, NULL); + firstMonGender = Pokemon_GetData(firstPartyMon, MON_DATA_GENDER, NULL); abilityInEffect = TRUE; } } @@ -1013,32 +1013,32 @@ static void CreateWildMonShinyWithGenderOrNature(const u16 species, const u8 lev } } - u32 newEncounterPersonality = Pokemon_FindShinyPersonality(param3); + u32 newEncounterPersonality = Personality_GenerateShiny(param3); if (abilityInEffect) { do { if (encounterFieldParams->firstMonAbility == ABILITY_CUTE_CHARM) { - u8 newEncounterGender = Pokemon_GetGenderOf(species, newEncounterPersonality); + u8 newEncounterGender = Species_GetGenderFromPersonality(species, newEncounterPersonality); GF_ASSERT(newEncounterGender != GENDER_NONE); if (newEncounterGender != firstMonGender) { break; } else { - newEncounterPersonality = Pokemon_FindShinyPersonality(param3); + newEncounterPersonality = Personality_GenerateShiny(param3); } } else if (encounterFieldParams->firstMonAbility == ABILITY_SYNCHRONIZE) { - u8 newEncounterNature = Pokemon_GetNatureOf(newEncounterPersonality); + u8 newEncounterNature = Personality_GetNature(newEncounterPersonality); if (newEncounterNature == firstMonNature) { break; } else { - newEncounterPersonality = Pokemon_FindShinyPersonality(param3); + newEncounterPersonality = Personality_GenerateShiny(param3); } } } while (TRUE); } - Pokemon_InitWith(newEncounter, species, level, INIT_IVS_RANDOM, TRUE, newEncounterPersonality, OTID_SET, encounterFieldParams->trainerID); + Pokemon_InitWithParams(newEncounter, species, level, INIT_IVS_RANDOM, TRUE, newEncounterPersonality, OT_ID_PRESET, encounterFieldParams->trainerID); GF_ASSERT(AddWildMonToParty(partySlot, encounterFieldParams, newEncounter, battleParams)); Heap_Free(newEncounter); @@ -1050,18 +1050,18 @@ static void CreateWildMon(u16 species, u8 level, const int partyDest, const Wild Pokemon_Init(newEncounter); BOOL hasRandomGender = TRUE; - u32 speciesGenderRatio = SpeciesData_GetSpeciesValue(species, SPECIES_DATA_GENDER_RATIO); + u32 speciesGenderRatio = Species_GetValue(species, SPECIES_DATA_GENDER_RATIO); switch (speciesGenderRatio) { case GENDER_RATIO_MALE_ONLY: case GENDER_RATIO_FEMALE_ONLY: - case GENDER_RATIO_NO_GENDER: + case GENDER_RATIO_UNKNOWN: hasRandomGender = FALSE; } // 2/3 chance for Cute Charm to force the encounter to be the opposite gender of the lead, if possible. if (hasRandomGender && !encounterFieldParams->isFirstMonEgg && encounterFieldParams->firstMonAbility == ABILITY_CUTE_CHARM && LCRNG_RandMod(3) > 0) { - u8 gender = Pokemon_GetValue(firstPartyMon, MON_DATA_GENDER, NULL); + u8 gender = Pokemon_GetData(firstPartyMon, MON_DATA_GENDER, NULL); if (gender == GENDER_FEMALE) { gender = GENDER_MALE; @@ -1071,16 +1071,16 @@ static void CreateWildMon(u16 species, u8 level, const int partyDest, const Wild GF_ASSERT(FALSE); } - sub_02074088(newEncounter, species, level, 32, gender, GetNatureForWildMon(firstPartyMon, encounterFieldParams), 0); - Pokemon_SetValue(newEncounter, MON_DATA_OT_ID, &encounterFieldParams->trainerID); + Pokemon_InitWithGenderNatureLetter(newEncounter, species, level, 32, gender, GetNatureForWildMon(firstPartyMon, encounterFieldParams), 0); + Pokemon_SetData(newEncounter, MON_DATA_OT_ID, &encounterFieldParams->trainerID); GF_ASSERT(AddWildMonToParty(partyDest, encounterFieldParams, newEncounter, battleParams)); Heap_Free(newEncounter); return; } - sub_02074044(newEncounter, species, level, 32, GetNatureForWildMon(firstPartyMon, encounterFieldParams)); - Pokemon_SetValue(newEncounter, MON_DATA_OT_ID, &encounterFieldParams->trainerID); + Pokemon_InitWithNature(newEncounter, species, level, 32, GetNatureForWildMon(firstPartyMon, encounterFieldParams)); + Pokemon_SetData(newEncounter, MON_DATA_OT_ID, &encounterFieldParams->trainerID); GF_ASSERT(AddWildMonToParty(partyDest, encounterFieldParams, newEncounter, battleParams)); Heap_Free(newEncounter); @@ -1297,8 +1297,8 @@ static BOOL ForceMatchingTypeEncounterSlot(const EncounterSlot *encounterTable, u8 numMonsOfType = 0; for (i = 0; i < maxEncounters; i++) { - u8 type1 = SpeciesData_GetSpeciesValue(encounterTable[i].species, SPECIES_DATA_TYPE_1); - u8 type2 = SpeciesData_GetSpeciesValue(encounterTable[i].species, SPECIES_DATA_TYPE_2); + u8 type1 = Species_GetValue(encounterTable[i].species, SPECIES_DATA_TYPE_1); + u8 type2 = Species_GetValue(encounterTable[i].species, SPECIES_DATA_TYPE_2); if (type1 == type || type2 == type) { typeMatchingSlots[numMonsOfType++] = i; @@ -1363,7 +1363,7 @@ static BOOL FirstMonAbilityPreventsEncounter(const WildEncounters_FieldParams *e } if (!encounterFieldParams->isFirstMonEgg && (encounterFieldParams->firstMonAbility == ABILITY_KEEN_EYE || encounterFieldParams->firstMonAbility == ABILITY_INTIMIDATE)) { - u8 leadLevel = Pokemon_GetValue(firstMon, MON_DATA_LEVEL, NULL); + u8 leadLevel = Pokemon_GetData(firstMon, MON_DATA_LEVEL, NULL); if (leadLevel <= 5) { return FALSE; @@ -1410,9 +1410,9 @@ static void AddRoamerToEnemyParty(const u32 trainerID, Roamer *roamer, FieldBatt u16 roamerCurrentHP = Roamer_GetData(roamer, ROAMER_DATA_CURRENT_HP); Pokemon_InitAndCalcStats(mon, roamerSpecies, roamerLevel, roamerCombinedIVs, roamerPersonality); - Pokemon_SetValue(mon, MON_DATA_OT_ID, &trainerID); - Pokemon_SetValue(mon, MON_DATA_STATUS, &roamerStatusCondition); - Pokemon_SetValue(mon, MON_DATA_HP, &roamerCurrentHP); + Pokemon_SetData(mon, MON_DATA_OT_ID, &trainerID); + Pokemon_SetData(mon, MON_DATA_STATUS, &roamerStatusCondition); + Pokemon_SetData(mon, MON_DATA_HP, &roamerCurrentHP); GF_ASSERT(Party_AddPokemon(battle->parties[1], mon)); Heap_Free(mon); @@ -1459,12 +1459,12 @@ static BOOL AddWildMonToParty(const int partySlot, const WildEncounters_FieldPar hasCompoundEyes = 1; } - Pokemon_GiveHeldItem(mon, battleParams->battleType, hasCompoundEyes); + Pokemon_GiveWildHeldItem(mon, battleParams->battleType, hasCompoundEyes); u8 form; BOOL setForm = FALSE; - int species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); + int species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); if (species == SPECIES_SHELLOS) { setForm = TRUE; @@ -1490,7 +1490,7 @@ static BOOL AddWildMonToParty(const int partySlot, const WildEncounters_FieldPar } if (setForm) { - Pokemon_SetValue(mon, MON_DATA_FORM, &form); + Pokemon_SetData(mon, MON_DATA_FORM, &form); } return Party_AddPokemon(battleParams->parties[partySlot], mon); @@ -1519,9 +1519,9 @@ static u8 TryFindHigherLevelSlot(const EncounterSlot *encounterTable, const Wild static void InitEncounterFieldParams(FieldSystem *fieldSystem, Pokemon *firstPartyMon, WildEncounters *encounterData, WildEncounters_FieldParams *encounterFieldParams) { - if (Pokemon_GetValue(firstPartyMon, MON_DATA_IS_EGG, NULL) == FALSE) { + if (Pokemon_GetData(firstPartyMon, MON_DATA_IS_EGG, NULL) == FALSE) { encounterFieldParams->isFirstMonEgg = FALSE; - encounterFieldParams->firstMonAbility = Pokemon_GetValue(firstPartyMon, MON_DATA_ABILITY, NULL); + encounterFieldParams->firstMonAbility = Pokemon_GetData(firstPartyMon, MON_DATA_ABILITY, NULL); } else { encounterFieldParams->isFirstMonEgg = TRUE; encounterFieldParams->firstMonAbility = ABILITY_BAD_DREAMS; // ABILITY_BAD_DREAMS seemingly standing in for ABILITY_NONE. Bad Dreams doesn't have a field effect anyway. diff --git a/src/overlay010/ov10_0221F800.c b/src/overlay010/ov10_0221F800.c index 04e7dbbc8c..d738f3e375 100644 --- a/src/overlay010/ov10_0221F800.c +++ b/src/overlay010/ov10_0221F800.c @@ -1508,7 +1508,7 @@ static void ov10_022211F0(UnkStruct_ov10_0221FB28 *param0, Party *param1, u16 pa if (v3 > v1) { v0 = Party_GetPokemonBySlotIndex(param1, v1); - if ((Pokemon_GetValue(v0, MON_DATA_SPECIES, NULL) == 0) || (Pokemon_GetValue(v0, MON_DATA_IS_EGG, NULL) != 0)) { + if ((Pokemon_GetData(v0, MON_DATA_SPECIES, NULL) == 0) || (Pokemon_GetData(v0, MON_DATA_IS_EGG, NULL) != 0)) { continue; } @@ -2002,21 +2002,21 @@ static void ov10_02221D14(UnkStruct_ov10_0221FB28 *param0, Party *param1, u8 par v0 = Party_GetPokemonBySlotIndex(param1, v1); param0->unk_214[v1 + param2].unk_00 = Pokemon_IconSpriteIndex(v0); - param0->unk_214[v1 + param2].unk_04 = (u16)Pokemon_GetValue(v0, MON_DATA_SPECIES, NULL); + param0->unk_214[v1 + param2].unk_04 = (u16)Pokemon_GetData(v0, MON_DATA_SPECIES, NULL); if (param0->unk_214[v1 + param2].unk_04 == 0) { continue; } - param0->unk_214[v1 + param2].unk_0F = (u16)Pokemon_GetValue(v0, MON_DATA_IS_EGG, NULL); - param0->unk_214[v1 + param2].unk_06 = (u16)Pokemon_GetValue(v0, MON_DATA_HP, NULL); - param0->unk_214[v1 + param2].unk_08 = (u16)Pokemon_GetValue(v0, MON_DATA_MAX_HP, NULL); - param0->unk_214[v1 + param2].unk_0C = (u16)Pokemon_GetValue(v0, MON_DATA_LEVEL, NULL); - param0->unk_214[v1 + param2].unk_0A = (u16)Pokemon_GetValue(v0, MON_DATA_HELD_ITEM, NULL); - param0->unk_214[v1 + param2].unk_10 = (u8)Pokemon_GetValue(v0, MON_DATA_BALL_CAPSULE_ID, NULL); - param0->unk_214[v1 + param2].unk_11 = (u8)Pokemon_GetValue(v0, MON_DATA_FORM, NULL); + param0->unk_214[v1 + param2].unk_0F = (u16)Pokemon_GetData(v0, MON_DATA_IS_EGG, NULL); + param0->unk_214[v1 + param2].unk_06 = (u16)Pokemon_GetData(v0, MON_DATA_HP, NULL); + param0->unk_214[v1 + param2].unk_08 = (u16)Pokemon_GetData(v0, MON_DATA_MAX_HP, NULL); + param0->unk_214[v1 + param2].unk_0C = (u16)Pokemon_GetData(v0, MON_DATA_LEVEL, NULL); + param0->unk_214[v1 + param2].unk_0A = (u16)Pokemon_GetData(v0, MON_DATA_HELD_ITEM, NULL); + param0->unk_214[v1 + param2].unk_10 = (u8)Pokemon_GetData(v0, MON_DATA_BALL_CAPSULE_ID, NULL); + param0->unk_214[v1 + param2].unk_11 = (u8)Pokemon_GetData(v0, MON_DATA_FORM, NULL); - if (Pokemon_GetValue(v0, MON_DATA_NO_PRINT_GENDER, NULL) == 1) { + if (Pokemon_GetData(v0, MON_DATA_NO_PRINT_GENDER, NULL) == 1) { param0->unk_214[v1 + param2].unk_0E = 0; } else { param0->unk_214[v1 + param2].unk_0E = 1; @@ -2223,7 +2223,7 @@ static void ov10_02222400(UnkStruct_ov10_0221FB28 *param0, MessageLoader *param1 v2 = MessageLoader_GetNewString(param1, 8 + param5); - StringTemplate_SetNickname(param3, 0, Pokemon_GetBoxPokemon(v0)); + StringTemplate_SetNickname(param3, 0, Pokemon_GetBoxMon(v0)); StringTemplate_Format(param3, param4, v2); String_Free(v2); Text_AddPrinterWithParamsAndColor(v1, FONT_SYSTEM, param4, 0, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(15, 14, 0), NULL); diff --git a/src/overlay013/battle_bag.c b/src/overlay013/battle_bag.c index 07e4e8571f..068469b7e2 100644 --- a/src/overlay013/battle_bag.c +++ b/src/overlay013/battle_bag.c @@ -410,7 +410,7 @@ static u8 TryUseItem(BattleBag *battleBag) Pokemon *pokemon = BattleSystem_PartyPokemon(context->battleSystem, context->battler, partySlot); String *string = MessageLoader_GetNewString(battleBag->messageLoader, BattleBag_Text_EmbargoBlockingItemUse); - StringTemplate_SetNickname(battleBag->stringTemplate, 0, Pokemon_GetBoxPokemon(pokemon)); + StringTemplate_SetNickname(battleBag->stringTemplate, 0, Pokemon_GetBoxMon(pokemon)); StringTemplate_SetMoveName(battleBag->stringTemplate, 1, MOVE_EMBARGO); StringTemplate_Format(battleBag->stringTemplate, battleBag->string, string); String_Free(string); diff --git a/src/overlay013/battle_party.c b/src/overlay013/battle_party.c index dbce633a90..edf539b8e4 100644 --- a/src/overlay013/battle_party.c +++ b/src/overlay013/battle_party.c @@ -443,7 +443,7 @@ static u8 PartyUseItemScreen(BattleParty *battleParty) if (BattlePartyTask_CheckCanPartySlotBeSelected(battleParty, context->selectedPartyIndex) == PARTY_SLOT_SELECTABLE_IN_BATTLE && Item_LoadParam(context->selectedBattleBagItem, ITEM_PARAM_REVIVE, context->heapID) == FALSE) { UseBagItem(context->battleSystem, context->selectedBattleBagItem, context->selectedBattleBagPocket, context->heapID); battleParty->partyPokemon[context->selectedPartyIndex].pokemon = BattleSystem_PartyPokemon(context->battleSystem, context->battler, context->pokemonPartySlots[context->selectedPartyIndex]); - context->currentDamage = Pokemon_GetValue(battleParty->partyPokemon[context->selectedPartyIndex].pokemon, MON_DATA_HP, NULL); + context->currentDamage = Pokemon_GetData(battleParty->partyPokemon[context->selectedPartyIndex].pokemon, MON_DATA_HP, NULL); context->currentDamage -= battleParty->partyPokemon[context->selectedPartyIndex].curHP; battleParty->queuedState = TASK_STATE_EXIT; } else { @@ -929,7 +929,7 @@ static u8 BattlePartyTask_UseRestorationItem(BattleParty *battleParty) BattlePartyText_PrintUseItemEffect(battleParty); if (battleParty->currentScreen == BATTLE_PARTY_SCREEN_RESTORE_MOVE_PP) { - battleParty->selectedPokemonCurrentMovePPs[0] = (u16)Pokemon_GetValue(battleParty->partyPokemon[context->selectedPartyIndex].pokemon, MON_DATA_MOVE1_PP + context->selectedMoveSlot, NULL); + battleParty->selectedPokemonCurrentMovePPs[0] = (u16)Pokemon_GetData(battleParty->partyPokemon[context->selectedPartyIndex].pokemon, MON_DATA_MOVE1_PP + context->selectedMoveSlot, NULL); battleParty->useItemState = BATTLE_PARTY_USE_RESTORATION_ITEM_STATE_RESTORING_PP; } else { battleParty->partyPokemon[context->selectedPartyIndex].summaryStatus = PokemonSummaryScreen_StatusIconAnimIdx(battleParty->partyPokemon[context->selectedPartyIndex].pokemon); @@ -939,7 +939,7 @@ static u8 BattlePartyTask_UseRestorationItem(BattleParty *battleParty) BattlePartyText_PrintPartyPokemonLevel(battleParty, context->selectedPartyIndex); } - battleParty->selectedPokemonCurrentHP = Pokemon_GetValue(battleParty->partyPokemon[context->selectedPartyIndex].pokemon, MON_DATA_HP, NULL); + battleParty->selectedPokemonCurrentHP = Pokemon_GetData(battleParty->partyPokemon[context->selectedPartyIndex].pokemon, MON_DATA_HP, NULL); battleParty->useItemState = BATTLE_PARTY_USE_RESTORATION_ITEM_STATE_START_RESTORING_HP; } @@ -991,12 +991,12 @@ static u8 BattlePartyTask_UseAllMovePPRestorationItem(BattleParty *battleParty) case BATTLE_PARTY_USE_ALL_MOVE_PP_RESTORATION_ITEM_STATE_INTIALISING: battleParty->partyPokemon[context->selectedPartyIndex].pokemon = BattleSystem_PartyPokemon(context->battleSystem, context->battler, context->pokemonPartySlots[context->selectedPartyIndex]); - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (battleParty->partyPokemon[context->selectedPartyIndex].moves[i].move == MOVE_NONE) { continue; } - battleParty->selectedPokemonCurrentMovePPs[i] = (u16)Pokemon_GetValue(battleParty->partyPokemon[context->selectedPartyIndex].pokemon, MON_DATA_MOVE1_PP + i, NULL); + battleParty->selectedPokemonCurrentMovePPs[i] = (u16)Pokemon_GetData(battleParty->partyPokemon[context->selectedPartyIndex].pokemon, MON_DATA_MOVE1_PP + i, NULL); } BattlePartyText_PrintUseItemEffect(battleParty); @@ -1006,7 +1006,7 @@ static u8 BattlePartyTask_UseAllMovePPRestorationItem(BattleParty *battleParty) case BATTLE_PARTY_USE_ALL_MOVE_PP_RESTORATION_ITEM_STATE_RESTORING_PP: { u32 restoredMoves = 0; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { if (battleParty->partyPokemon[context->selectedPartyIndex].moves[i].move == MOVE_NONE) { restoredMoves++; continue; @@ -1020,7 +1020,7 @@ static u8 BattlePartyTask_UseAllMovePPRestorationItem(BattleParty *battleParty) } } - if (restoredMoves == LEARNED_MOVES_MAX) { + if (restoredMoves == MAX_MON_MOVES) { battleParty->useItemState = BATTLE_PARTY_USE_ALL_MOVE_PP_RESTORATION_ITEM_STATE_FINISHING; } } break; @@ -1232,24 +1232,24 @@ static void InitialisePartyPokemon(BattleParty *battleParty) for (i = 0; i < Party_GetCurrentCount(battleParty->context->party); i++) { battleParty->partyPokemon[i].pokemon = Party_GetPokemonBySlotIndex(battleParty->context->party, i); - battleParty->partyPokemon[i].species = Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_SPECIES, NULL); + battleParty->partyPokemon[i].species = Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_SPECIES, NULL); if (battleParty->partyPokemon[i].species == SPECIES_NONE) { continue; } - battleParty->partyPokemon[i].attack = Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_ATK, NULL); - battleParty->partyPokemon[i].defence = Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_DEF, NULL); - battleParty->partyPokemon[i].speed = Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_SPEED, NULL); - battleParty->partyPokemon[i].spAtk = Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_SP_ATK, NULL); - battleParty->partyPokemon[i].spDef = Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_SP_DEF, NULL); - battleParty->partyPokemon[i].curHP = Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_HP, NULL); - battleParty->partyPokemon[i].maxHP = Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_MAX_HP, NULL); - battleParty->partyPokemon[i].type_1 = (u8)Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_TYPE_1, NULL); - battleParty->partyPokemon[i].type_2 = (u8)Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_TYPE_2, NULL); - battleParty->partyPokemon[i].level = (u8)Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_LEVEL, NULL); - - if (Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_NO_PRINT_GENDER, NULL) == TRUE) { + battleParty->partyPokemon[i].attack = Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_ATK, NULL); + battleParty->partyPokemon[i].defence = Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_DEF, NULL); + battleParty->partyPokemon[i].speed = Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_SPEED, NULL); + battleParty->partyPokemon[i].spAtk = Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_SP_ATK, NULL); + battleParty->partyPokemon[i].spDef = Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_SP_DEF, NULL); + battleParty->partyPokemon[i].curHP = Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_HP, NULL); + battleParty->partyPokemon[i].maxHP = Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_MAX_HP, NULL); + battleParty->partyPokemon[i].type_1 = (u8)Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_TYPE_1, NULL); + battleParty->partyPokemon[i].type_2 = (u8)Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_TYPE_2, NULL); + battleParty->partyPokemon[i].level = (u8)Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_LEVEL, NULL); + + if (Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_NO_PRINT_GENDER, NULL) == TRUE) { battleParty->partyPokemon[i].displayNidoranGender = FALSE; } else { battleParty->partyPokemon[i].displayNidoranGender = TRUE; @@ -1257,37 +1257,37 @@ static void InitialisePartyPokemon(BattleParty *battleParty) battleParty->partyPokemon[i].gender = Pokemon_GetGender(battleParty->partyPokemon[i].pokemon); battleParty->partyPokemon[i].summaryStatus = PokemonSummaryScreen_StatusIconAnimIdx(battleParty->partyPokemon[i].pokemon); - battleParty->partyPokemon[i].isEgg = (u8)Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_IS_EGG, NULL); - battleParty->partyPokemon[i].ability = (u16)Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_ABILITY, NULL); - battleParty->partyPokemon[i].heldItem = (u16)Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_HELD_ITEM, NULL); - battleParty->partyPokemon[i].exp = Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_EXPERIENCE, NULL); - battleParty->partyPokemon[i].currentLevelBaseExp = Pokemon_GetSpeciesBaseExpAt(battleParty->partyPokemon[i].species, battleParty->partyPokemon[i].level); + battleParty->partyPokemon[i].isEgg = (u8)Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_IS_EGG, NULL); + battleParty->partyPokemon[i].ability = (u16)Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_ABILITY, NULL); + battleParty->partyPokemon[i].heldItem = (u16)Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_HELD_ITEM, NULL); + battleParty->partyPokemon[i].exp = Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_EXPERIENCE, NULL); + battleParty->partyPokemon[i].currentLevelBaseExp = Species_GetExpAtLevel(battleParty->partyPokemon[i].species, battleParty->partyPokemon[i].level); - if (battleParty->partyPokemon[i].level == MAX_POKEMON_LEVEL) { + if (battleParty->partyPokemon[i].level == MAX_MON_LEVEL) { battleParty->partyPokemon[i].nextLevelExp = battleParty->partyPokemon[i].currentLevelBaseExp; } else { - battleParty->partyPokemon[i].nextLevelExp = Pokemon_GetSpeciesBaseExpAt(battleParty->partyPokemon[i].species, battleParty->partyPokemon[i].level + 1); + battleParty->partyPokemon[i].nextLevelExp = Species_GetExpAtLevel(battleParty->partyPokemon[i].species, battleParty->partyPokemon[i].level + 1); } - battleParty->partyPokemon[i].cool = (u8)Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_COOL, NULL); - battleParty->partyPokemon[i].beauty = (u8)Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_BEAUTY, NULL); - battleParty->partyPokemon[i].cute = (u8)Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_CUTE, NULL); - battleParty->partyPokemon[i].smart = (u8)Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_SMART, NULL); - battleParty->partyPokemon[i].tough = (u8)Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_TOUGH, NULL); - battleParty->partyPokemon[i].mail = (u16)Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_BALL_CAPSULE_ID, NULL); - battleParty->partyPokemon[i].form = (u8)Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_FORM, NULL); + battleParty->partyPokemon[i].cool = (u8)Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_COOL, NULL); + battleParty->partyPokemon[i].beauty = (u8)Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_BEAUTY, NULL); + battleParty->partyPokemon[i].cute = (u8)Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_CUTE, NULL); + battleParty->partyPokemon[i].smart = (u8)Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_SMART, NULL); + battleParty->partyPokemon[i].tough = (u8)Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_TOUGH, NULL); + battleParty->partyPokemon[i].mail = (u16)Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_BALL_CAPSULE_ID, NULL); + battleParty->partyPokemon[i].form = (u8)Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_FORM, NULL); - for (l = 0; l < LEARNED_MOVES_MAX; l++) { + for (l = 0; l < MAX_MON_MOVES; l++) { BattlePartyPokemonMove *move = &battleParty->partyPokemon[i].moves[l]; - move->move = Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_MOVE1 + l, NULL); + move->move = Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_MOVE1 + l, NULL); if (move->move == MOVE_NONE) { continue; } - move->currentPP = Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_MOVE1_PP + l, NULL); - move->maxPP = Pokemon_GetValue(battleParty->partyPokemon[i].pokemon, MON_DATA_MOVE1_PP_UPS + l, NULL); + move->currentPP = Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_MOVE1_PP + l, NULL); + move->maxPP = Pokemon_GetData(battleParty->partyPokemon[i].pokemon, MON_DATA_MOVE1_PP_UPS + l, NULL); move->maxPP = MoveTable_CalcMaxPP(move->move, move->maxPP); move->type = MoveTable_LoadParam(move->move, MOVEATTRIBUTE_TYPE); move->class = MoveTable_LoadParam(move->move, MOVEATTRIBUTE_CLASS); @@ -1492,7 +1492,7 @@ static void DrawXPBar(BattleParty *battleParty, u8 screen) pokemon = &battleParty->partyPokemon[battleParty->context->selectedPartyIndex]; - if (pokemon->level < MAX_POKEMON_LEVEL) { + if (pokemon->level < MAX_MON_LEVEL) { expFromCurrentToNextLevel = pokemon->nextLevelExp - pokemon->currentLevelBaseExp; expTowardsNextLevel = pokemon->exp - pokemon->currentLevelBaseExp; } else { @@ -1636,7 +1636,7 @@ static BOOL CheckCanSwitchPokemon(BattleParty *battleParty) if (pokemon->curHP == 0) { string = MessageLoader_GetNewString(battleParty->messageLoader, BattleParty_Text_CantSwitchWithFaintedPokemon); - StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxPokemon(pokemon->pokemon)); + StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxMon(pokemon->pokemon)); StringTemplate_Format(battleParty->stringTemplate, battleParty->string, string); String_Free(string); return FALSE; @@ -1644,7 +1644,7 @@ static BOOL CheckCanSwitchPokemon(BattleParty *battleParty) if (battleParty->context->pokemonPartySlots[battleParty->context->selectedPartyIndex] == battleParty->context->playerPokemonPartySlot || battleParty->context->pokemonPartySlots[battleParty->context->selectedPartyIndex] == battleParty->context->partnerPokemonPartySlot) { string = MessageLoader_GetNewString(battleParty->messageLoader, BattleParty_Text_CantSwitchWithPokemonAlreadyInBattle); - StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxPokemon(pokemon->pokemon)); + StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxMon(pokemon->pokemon)); StringTemplate_Format(battleParty->stringTemplate, battleParty->string, string); String_Free(string); return FALSE; @@ -1659,7 +1659,7 @@ static BOOL CheckCanSwitchPokemon(BattleParty *battleParty) pokemon = &battleParty->partyPokemon[battleParty->context->selectedPartyIndex]; string = MessageLoader_GetNewString(battleParty->messageLoader, BattleParty_Text_CantSwitchWithAlreadySelectedPokemon); - StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxPokemon(pokemon->pokemon)); + StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxMon(pokemon->pokemon)); StringTemplate_Format(battleParty->stringTemplate, battleParty->string, string); String_Free(string); return FALSE; @@ -1669,7 +1669,7 @@ static BOOL CheckCanSwitchPokemon(BattleParty *battleParty) pokemon = &battleParty->partyPokemon[battleParty->partySlotLearningMove]; string = MessageLoader_GetNewString(battleParty->messageLoader, BattleParty_Text_CantSwitchPokemon); - StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxPokemon(pokemon->pokemon)); + StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxMon(pokemon->pokemon)); StringTemplate_Format(battleParty->stringTemplate, battleParty->string, string); String_Free(string); return FALSE; diff --git a/src/overlay013/battle_party_buttons.c b/src/overlay013/battle_party_buttons.c index 58c317179b..4d285438a0 100644 --- a/src/overlay013/battle_party_buttons.c +++ b/src/overlay013/battle_party_buttons.c @@ -661,7 +661,7 @@ void BattlePartyButtons_InitializeButtons(BattleParty *battleParty, u8 screen) DrawButton(battleParty, BUTTON_NEXT_POKEMON, BATTLE_SUB_MENU_BUTTON_STATE_DISABLED, FALSE); } - for (u16 i = 0; i < LEARNED_MOVES_MAX; i++) { + for (u16 i = 0; i < MAX_MON_MOVES; i++) { if (battleParty->partyPokemon[battleParty->context->selectedPartyIndex].moves[i].move != MOVE_NONE) { DrawButton(battleParty, BUTTON_POKEMON_MOVES_SCREEN_MOVE_1 + i, BATTLE_SUB_MENU_BUTTON_STATE_UNPRESSED, FALSE); } else { @@ -675,7 +675,7 @@ void BattlePartyButtons_InitializeButtons(BattleParty *battleParty, u8 screen) case BATTLE_PARTY_SCREEN_MOVE_SUMMARY: DrawButton(battleParty, BUTTON_CANCEL, BATTLE_SUB_MENU_BUTTON_STATE_UNPRESSED, FALSE); - for (u16 i = 0; i < LEARNED_MOVES_MAX; i++) { + for (u16 i = 0; i < MAX_MON_MOVES; i++) { if (battleParty->context->selectedMoveSlot == i) { DrawButton(battleParty, BUTTON_MOVE_SUMMARY_SCREEN_MOVE_1 + i, BATTLE_SUB_MENU_BUTTON_STATE_PRESSED, FALSE); } else { @@ -684,7 +684,7 @@ void BattlePartyButtons_InitializeButtons(BattleParty *battleParty, u8 screen) } break; case BATTLE_PARTY_SCREEN_RESTORE_MOVE_PP: - for (u16 i = 0; i < LEARNED_MOVES_MAX; i++) { + for (u16 i = 0; i < MAX_MON_MOVES; i++) { if (battleParty->partyPokemon[battleParty->context->selectedPartyIndex].moves[i].move != MOVE_NONE) { DrawButton(battleParty, BUTTON_RESTORE_MOVE_PP_SCREEN_MOVE_1 + i, BATTLE_SUB_MENU_BUTTON_STATE_UNPRESSED, FALSE); } else { diff --git a/src/overlay013/battle_party_text.c b/src/overlay013/battle_party_text.c index b3f9ed9c38..ce71249213 100644 --- a/src/overlay013/battle_party_text.c +++ b/src/overlay013/battle_party_text.c @@ -1156,7 +1156,7 @@ static void PrintPokemonNameHeader(BattleParty *battleParty, u32 windowIndex, en String *formattedString = String_Init(12, battleParty->context->heapID); String *string = MessageLoader_GetNewString(battleParty->messageLoader, sPartyPokemonNameTextIDs[partyIndex]); - StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxPokemon(pokemon->pokemon)); + StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxMon(pokemon->pokemon)); StringTemplate_Format(battleParty->stringTemplate, formattedString, string); if (font == FONT_SYSTEM) { @@ -1364,7 +1364,7 @@ static void PrintSelectedPokemonLevel(BattleParty *battleParty, u32 partyIndex) string = MessageLoader_GetNewString(battleParty->messageLoader, BattleParty_Text_PokemonExpToNextLevelValue); formattedString = String_Init(14, battleParty->context->heapID); - if (pokemon->level < MAX_POKEMON_LEVEL) { + if (pokemon->level < MAX_MON_LEVEL) { StringTemplate_SetNumber( battleParty->stringTemplate, 0, pokemon->nextLevelExp - pokemon->exp, POKEMON_XP_TO_NEXT_LEVEL_DIGITS, PADDING_MODE_SPACES, CHARSET_MODE_EN); } else { @@ -1942,7 +1942,7 @@ static void PrintSelectedPokemonName(BattleParty *battleParty, u32 partyIndex) u8 genderIconOffset; u8 xOffset; - StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxPokemon(pokemon->pokemon)); + StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxMon(pokemon->pokemon)); StringTemplate_Format(battleParty->stringTemplate, string, formattedString); String_Free(formattedString); @@ -1999,7 +1999,7 @@ static void RenderPokemonMovesScreen(BattleParty *battleParty) PrintPokemonNameHeader(battleParty, 0 + windowIndexOffset, FONT_SYSTEM, battleParty->context->selectedPartyIndex, 0, 0); - for (u16 i = 0; i < LEARNED_MOVES_MAX; i++) { + for (u16 i = 0; i < MAX_MON_MOVES; i++) { BattlePartyPokemonMove *move = &battleParty->partyPokemon[battleParty->context->selectedPartyIndex].moves[i]; if (move->move == MOVE_NONE) { @@ -2112,7 +2112,7 @@ static void RenderLearnMoveScreen(BattleParty *battleParty) PrintPokemonNameHeader(battleParty, BATTLE_LEARN_MOVE_SCREEN_WINDOW_POKEMON_NAME, FONT_SYSTEM, battleParty->context->selectedPartyIndex, 0, 0); - for (u32 i = 0; i < LEARNED_MOVES_MAX; i++) { + for (u32 i = 0; i < MAX_MON_MOVES; i++) { BattlePartyPokemonMove *move = &battleParty->partyPokemon[battleParty->context->selectedPartyIndex].moves[i]; if (move->move == MOVE_NONE) { @@ -2191,7 +2191,7 @@ static void RenderRestoreMovePPScreen(BattleParty *battleParty) PrintPokemonNameHeader(battleParty, BATTLE_RESTORE_MOVE_PP_SCREEN_WINDOW_POKEMON_NAME, FONT_SYSTEM, battleParty->context->selectedPartyIndex, 0, 0); - for (u32 i = 0; i < LEARNED_MOVES_MAX; i++) { + for (u32 i = 0; i < MAX_MON_MOVES; i++) { BattlePartyPokemonMove *move = &battleParty->partyPokemon[battleParty->context->selectedPartyIndex].moves[i]; if (move->move == MOVE_NONE) { @@ -2282,7 +2282,7 @@ void BattlePartyText_PrintUseItemEffect(BattleParty *battleParty) itemData = Item_Load(context->selectedBattleBagItem, ITEM_FILE_TYPE_DATA, context->heapID); pokemon = BattleSystem_PartyPokemon(context->battleSystem, context->battler, context->pokemonPartySlots[context->selectedPartyIndex]); - newHP = Pokemon_GetValue(pokemon, MON_DATA_HP, NULL); + newHP = Pokemon_GetData(pokemon, MON_DATA_HP, NULL); healedStatusEffectFlags = 0; if (Item_Get(itemData, ITEM_PARAM_HEAL_SLEEP) != FALSE) { @@ -2315,12 +2315,12 @@ void BattlePartyText_PrintUseItemEffect(BattleParty *battleParty) if (battleParty->partyPokemon[context->selectedPartyIndex].curHP == 0 && newHP != 0) { string = MessageLoader_GetNewString(battleParty->messageLoader, BattleParty_Text_ItemRevivedPokemon); - StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxPokemon(pokemon)); + StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxMon(pokemon)); StringTemplate_Format(battleParty->stringTemplate, battleParty->string, string); String_Free(string); } else if (battleParty->partyPokemon[context->selectedPartyIndex].curHP != newHP) { string = MessageLoader_GetNewString(battleParty->messageLoader, BattleParty_Text_ItemRestoredHealth); - StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxPokemon(pokemon)); + StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxMon(pokemon)); StringTemplate_SetNumber(battleParty->stringTemplate, 1, newHP - battleParty->partyPokemon[context->selectedPartyIndex].curHP, POKEMON_HP_STAT_DIGITS, PADDING_MODE_NONE, CHARSET_MODE_EN); StringTemplate_Format(battleParty->stringTemplate, battleParty->string, string); String_Free(string); @@ -2328,42 +2328,42 @@ void BattlePartyText_PrintUseItemEffect(BattleParty *battleParty) MessageLoader_GetString(battleParty->messageLoader, BattleParty_Text_ItemRestoredPP, battleParty->string); } else if (healedStatusEffectFlags == HEALED_STATUS_EFFECT_FLAG_SLEEP) { string = MessageLoader_GetNewString(battleParty->messageLoader, BattleParty_Text_ItemCuredSleep); - StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxPokemon(pokemon)); + StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxMon(pokemon)); StringTemplate_Format(battleParty->stringTemplate, battleParty->string, string); String_Free(string); } else if (healedStatusEffectFlags == HEALED_STATUS_EFFECT_FLAG_POISON) { string = MessageLoader_GetNewString(battleParty->messageLoader, BattleParty_Text_ItemCuredPoisoning); - StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxPokemon(pokemon)); + StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxMon(pokemon)); StringTemplate_Format(battleParty->stringTemplate, battleParty->string, string); String_Free(string); } else if (healedStatusEffectFlags == HEALED_STATUS_EFFECT_FLAG_BURN) { string = MessageLoader_GetNewString(battleParty->messageLoader, BattleParty_Text_ItemCuredBurn); - StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxPokemon(pokemon)); + StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxMon(pokemon)); StringTemplate_Format(battleParty->stringTemplate, battleParty->string, string); String_Free(string); } else if (healedStatusEffectFlags == HEALED_STATUS_EFFECT_FLAG_FREEZE) { string = MessageLoader_GetNewString(battleParty->messageLoader, BattleParty_Text_ItemCuredFreeze); - StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxPokemon(pokemon)); + StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxMon(pokemon)); StringTemplate_Format(battleParty->stringTemplate, battleParty->string, string); String_Free(string); } else if (healedStatusEffectFlags == HEALED_STATUS_EFFECT_FLAG_PARALYSIS) { string = MessageLoader_GetNewString(battleParty->messageLoader, BattleParty_Text_ItemCuredParalysis); - StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxPokemon(pokemon)); + StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxMon(pokemon)); StringTemplate_Format(battleParty->stringTemplate, battleParty->string, string); String_Free(string); } else if (healedStatusEffectFlags == HEALED_STATUS_EFFECT_FLAG_CONFUSION) { string = MessageLoader_GetNewString(battleParty->messageLoader, BattleParty_Text_ItemCuredConfusion); - StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxPokemon(pokemon)); + StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxMon(pokemon)); StringTemplate_Format(battleParty->stringTemplate, battleParty->string, string); String_Free(string); } else if (healedStatusEffectFlags == HEALED_STATUS_EFFECT_FLAG_INFATUATION) { string = MessageLoader_GetNewString(battleParty->messageLoader, BattleParty_Text_ItemCuredInfatuation); - StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxPokemon(pokemon)); + StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxMon(pokemon)); StringTemplate_Format(battleParty->stringTemplate, battleParty->string, string); String_Free(string); } else { string = MessageLoader_GetNewString(battleParty->messageLoader, BattleParty_Text_ItemCuredMultipleStatuses); - StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxPokemon(pokemon)); + StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxMon(pokemon)); StringTemplate_Format(battleParty->stringTemplate, battleParty->string, string); String_Free(string); } @@ -2377,7 +2377,7 @@ void BattlePartyText_PrintEmbargoPreventingItemUse(BattleParty *battleParty) Pokemon *pokemon = BattleSystem_PartyPokemon(context->battleSystem, context->battler, context->pokemonPartySlots[context->selectedPartyIndex]); String *string = MessageLoader_GetNewString(battleParty->messageLoader, BattleParty_Text_EmbargoPreventsItemUse); - StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxPokemon(pokemon)); + StringTemplate_SetNickname(battleParty->stringTemplate, 0, Pokemon_GetBoxMon(pokemon)); StringTemplate_SetMoveName(battleParty->stringTemplate, 1, MOVE_EMBARGO); StringTemplate_Format(battleParty->stringTemplate, battleParty->string, string); String_Free(string); diff --git a/src/overlay017/ov17_0223B140.c b/src/overlay017/ov17_0223B140.c index 7d8dd6bb28..c279c5084b 100644 --- a/src/overlay017/ov17_0223B140.c +++ b/src/overlay017/ov17_0223B140.c @@ -233,8 +233,8 @@ int ov17_0223B140(ApplicationManager *appMan, int *param1) u16 v3[4]; int v4; - for (v4 = 0; v4 < LEARNED_MOVES_MAX; v4++) { - v3[v4] = Pokemon_GetValue(v0->unk_00->unk_00.unk_00[v0->unk_00->unk_00.unk_113], MON_DATA_MOVE1 + v4, NULL); + for (v4 = 0; v4 < MAX_MON_MOVES; v4++) { + v3[v4] = Pokemon_GetData(v0->unk_00->unk_00.unk_00[v0->unk_00->unk_00.unk_113], MON_DATA_MOVE1 + v4, NULL); } ov17_02240A80(v0->unk_7E4, v3); @@ -597,8 +597,8 @@ static void ov17_0223BA10(UnkStruct_ov17_02246F24 *param0, NARC *param1) { int v0, v1, v2; - for (v0 = 0; v0 < LEARNED_MOVES_MAX; v0++) { - v2 = Pokemon_GetValue(param0->unk_00->unk_00.unk_00[param0->unk_00->unk_00.unk_113], MON_DATA_MOVE1 + v0, NULL); + for (v0 = 0; v0 < MAX_MON_MOVES; v0++) { + v2 = Pokemon_GetData(param0->unk_00->unk_00.unk_00[param0->unk_00->unk_00.unk_113], MON_DATA_MOVE1 + v0, NULL); if (v2 != 0) { v1 = MoveTable_LoadParam(v2, MOVEATTRIBUTE_CONTEST_TYPE); diff --git a/src/overlay017/ov17_0223DAD0.c b/src/overlay017/ov17_0223DAD0.c index a322c5e3fe..01ddd8cf74 100644 --- a/src/overlay017/ov17_0223DAD0.c +++ b/src/overlay017/ov17_0223DAD0.c @@ -711,7 +711,7 @@ static void ov17_0223E458(UnkStruct_ov17_0224DF54 *param0) ov17_0224CFB8(param0); for (v0 = 0; v0 < 4; v0++) { - param0->unk_14.unk_A14[v0] = ov17_0224CFA8(Pokemon_GetValue(param0->unk_00->unk_00.unk_00[v0], MON_DATA_SPECIES, NULL)); + param0->unk_14.unk_A14[v0] = ov17_0224CFA8(Pokemon_GetData(param0->unk_00->unk_00.unk_00[v0], MON_DATA_SPECIES, NULL)); } } diff --git a/src/overlay017/ov17_0223F118.c b/src/overlay017/ov17_0223F118.c index fd52450fd6..a7b34f6dd7 100644 --- a/src/overlay017/ov17_0223F118.c +++ b/src/overlay017/ov17_0223F118.c @@ -209,14 +209,14 @@ void ov17_0223F374(UnkStruct_02095C48 *param0) s32 v6, v7; for (v0 = 0; v0 < 4; v0++) { - v5 = Pokemon_GetValue(param0->unk_00.unk_00[v0], MON_DATA_HELD_ITEM, NULL); + v5 = Pokemon_GetData(param0->unk_00.unk_00[v0], MON_DATA_HELD_ITEM, NULL); v6 = 100; switch (param0->unk_00.unk_10F) { case 0: - v1 = Pokemon_GetValue(param0->unk_00.unk_00[v0], MON_DATA_COOL, NULL); - v2 = Pokemon_GetValue(param0->unk_00.unk_00[v0], MON_DATA_TOUGH, NULL); - v3 = Pokemon_GetValue(param0->unk_00.unk_00[v0], MON_DATA_BEAUTY, NULL); + v1 = Pokemon_GetData(param0->unk_00.unk_00[v0], MON_DATA_COOL, NULL); + v2 = Pokemon_GetData(param0->unk_00.unk_00[v0], MON_DATA_TOUGH, NULL); + v3 = Pokemon_GetData(param0->unk_00.unk_00[v0], MON_DATA_BEAUTY, NULL); switch (v5) { case ITEM_RED_SCARF: @@ -229,9 +229,9 @@ void ov17_0223F374(UnkStruct_02095C48 *param0) } break; case 1: - v1 = Pokemon_GetValue(param0->unk_00.unk_00[v0], MON_DATA_BEAUTY, NULL); - v2 = Pokemon_GetValue(param0->unk_00.unk_00[v0], MON_DATA_COOL, NULL); - v3 = Pokemon_GetValue(param0->unk_00.unk_00[v0], MON_DATA_CUTE, NULL); + v1 = Pokemon_GetData(param0->unk_00.unk_00[v0], MON_DATA_BEAUTY, NULL); + v2 = Pokemon_GetData(param0->unk_00.unk_00[v0], MON_DATA_COOL, NULL); + v3 = Pokemon_GetData(param0->unk_00.unk_00[v0], MON_DATA_CUTE, NULL); switch (v5) { case ITEM_BLUE_SCARF: @@ -244,9 +244,9 @@ void ov17_0223F374(UnkStruct_02095C48 *param0) } break; case 2: - v1 = Pokemon_GetValue(param0->unk_00.unk_00[v0], MON_DATA_CUTE, NULL); - v2 = Pokemon_GetValue(param0->unk_00.unk_00[v0], MON_DATA_BEAUTY, NULL); - v3 = Pokemon_GetValue(param0->unk_00.unk_00[v0], MON_DATA_SMART, NULL); + v1 = Pokemon_GetData(param0->unk_00.unk_00[v0], MON_DATA_CUTE, NULL); + v2 = Pokemon_GetData(param0->unk_00.unk_00[v0], MON_DATA_BEAUTY, NULL); + v3 = Pokemon_GetData(param0->unk_00.unk_00[v0], MON_DATA_SMART, NULL); switch (v5) { case ITEM_PINK_SCARF: @@ -259,9 +259,9 @@ void ov17_0223F374(UnkStruct_02095C48 *param0) } break; case 3: - v1 = Pokemon_GetValue(param0->unk_00.unk_00[v0], MON_DATA_SMART, NULL); - v2 = Pokemon_GetValue(param0->unk_00.unk_00[v0], MON_DATA_CUTE, NULL); - v3 = Pokemon_GetValue(param0->unk_00.unk_00[v0], MON_DATA_TOUGH, NULL); + v1 = Pokemon_GetData(param0->unk_00.unk_00[v0], MON_DATA_SMART, NULL); + v2 = Pokemon_GetData(param0->unk_00.unk_00[v0], MON_DATA_CUTE, NULL); + v3 = Pokemon_GetData(param0->unk_00.unk_00[v0], MON_DATA_TOUGH, NULL); switch (v5) { case ITEM_GREEN_SCARF: @@ -274,9 +274,9 @@ void ov17_0223F374(UnkStruct_02095C48 *param0) } break; case 4: - v1 = Pokemon_GetValue(param0->unk_00.unk_00[v0], MON_DATA_TOUGH, NULL); - v2 = Pokemon_GetValue(param0->unk_00.unk_00[v0], MON_DATA_SMART, NULL); - v3 = Pokemon_GetValue(param0->unk_00.unk_00[v0], MON_DATA_COOL, NULL); + v1 = Pokemon_GetData(param0->unk_00.unk_00[v0], MON_DATA_TOUGH, NULL); + v2 = Pokemon_GetData(param0->unk_00.unk_00[v0], MON_DATA_SMART, NULL); + v3 = Pokemon_GetData(param0->unk_00.unk_00[v0], MON_DATA_COOL, NULL); switch (v5) { case ITEM_YELLOW_SCARF: @@ -294,7 +294,7 @@ void ov17_0223F374(UnkStruct_02095C48 *param0) return; } - v4 = Pokemon_GetValue(param0->unk_00.unk_00[v0], MON_DATA_SHEEN, NULL); + v4 = Pokemon_GetData(param0->unk_00.unk_00[v0], MON_DATA_SHEEN, NULL); v7 = v1 + ((v2 + v3 + v4) / 2); v7 = v7 * v6 / 100; diff --git a/src/overlay017/ov17_0223F7E4.c b/src/overlay017/ov17_0223F7E4.c index f7a313efa8..aa4ebdf14c 100644 --- a/src/overlay017/ov17_0223F7E4.c +++ b/src/overlay017/ov17_0223F7E4.c @@ -809,7 +809,7 @@ static void ov17_0223FBD4(UnkStruct_ov17_0223F7E4 *param0, int param1, int param static void ov17_0223FCAC(UnkStruct_ov17_0223F7E4 *param0, int param1, int param2) { - u16 v0[LEARNED_MOVES_MAX], v1[4]; + u16 v0[MAX_MON_MOVES], v1[4]; int v2; String *v3; String *v4, *v5; @@ -817,8 +817,8 @@ static void ov17_0223FCAC(UnkStruct_ov17_0223F7E4 *param0, int param1, int param UnkStruct_ov17_0223FF38 *v8 = ¶m0->unk_18C; param0->unk_2C9 = 0xff; - for (v2 = 0; v2 < LEARNED_MOVES_MAX; v2++) { - v0[v2] = Pokemon_GetValue(param0->unk_04->unk_00->unk_00[param0->unk_04->unk_00->unk_113], MON_DATA_MOVE1 + v2, NULL); + for (v2 = 0; v2 < MAX_MON_MOVES; v2++) { + v0[v2] = Pokemon_GetData(param0->unk_04->unk_00->unk_00[param0->unk_04->unk_00->unk_113], MON_DATA_MOVE1 + v2, NULL); if (v0[v2] != 0) { v1[v2] = v8->unk_12C[v2]; @@ -920,7 +920,7 @@ static int ov17_0223FFF4(UnkStruct_ov17_0223F7E4 *param0, int param1, int param2 case 1: case 2: case 3: - v1 = Pokemon_GetValue(param0->unk_04->unk_00->unk_00[param0->unk_04->unk_00->unk_113], MON_DATA_MOVE1 + param1, NULL); + v1 = Pokemon_GetData(param0->unk_04->unk_00->unk_00[param0->unk_04->unk_00->unk_113], MON_DATA_MOVE1 + param1, NULL); if ((v1 == 0) || (param0->unk_2C9 == (param1 - 0))) { return 0xffffffff; @@ -1265,13 +1265,13 @@ static void ov17_02240658(SysTask *param0, void *param1) int v2, v3; int v4, v5, v6; int v7, v8; - u16 v9[LEARNED_MOVES_MAX]; + u16 v9[MAX_MON_MOVES]; int v10, v11; v1 = v0->unk_04->unk_24; - for (v10 = 0; v10 < LEARNED_MOVES_MAX; v10++) { - v9[v10] = Pokemon_GetValue(v0->unk_04->unk_00->unk_00[v0->unk_04->unk_00->unk_113], MON_DATA_MOVE1 + v10, NULL); + for (v10 = 0; v10 < MAX_MON_MOVES; v10++) { + v9[v10] = Pokemon_GetData(v0->unk_04->unk_00->unk_00[v0->unk_04->unk_00->unk_113], MON_DATA_MOVE1 + v10, NULL); } switch (v0->unk_2CC.unk_04_val1.unk_14) { @@ -1595,14 +1595,14 @@ static int ov17_02240D04(UnkStruct_ov17_0223F7E4 *param0, int param1) int v3, v4; u8 v5[2][2]; UnkStruct_ov17_02240E68 *v6; - u16 v7[LEARNED_MOVES_MAX]; + u16 v7[MAX_MON_MOVES]; v6 = ¶m0->unk_2F6; v0 = ¶m0->unk_300; v2 = &Unk_ov17_02253558[param0->unk_2C8]; - for (v4 = 0; v4 < LEARNED_MOVES_MAX; v4++) { - v7[v4] = Pokemon_GetValue(param0->unk_04->unk_00->unk_00[param0->unk_04->unk_00->unk_113], MON_DATA_MOVE1 + v4, NULL); + for (v4 = 0; v4 < MAX_MON_MOVES; v4++) { + v7[v4] = Pokemon_GetData(param0->unk_04->unk_00->unk_00[param0->unk_04->unk_00->unk_113], MON_DATA_MOVE1 + v4, NULL); } if (param1 == 1) { diff --git a/src/overlay017/ov17_022413D8.c b/src/overlay017/ov17_022413D8.c index 824163dd62..01d8f7e689 100644 --- a/src/overlay017/ov17_022413D8.c +++ b/src/overlay017/ov17_022413D8.c @@ -481,8 +481,8 @@ void ov17_02241524(UnkStruct_ov17_0223F88C *param0, int param1) { u32 v0, v1; - v0 = Pokemon_GetValue(param0->unk_00->unk_00[param1], MON_DATA_SPECIES, NULL); - v1 = Pokemon_GetValue(param0->unk_00->unk_00[param1], MON_DATA_FORM, NULL); + v0 = Pokemon_GetData(param0->unk_00->unk_00[param1], MON_DATA_SPECIES, NULL); + v1 = Pokemon_GetData(param0->unk_00->unk_00[param1], MON_DATA_FORM, NULL); if (IsFormSymmetrical(v0, v1) == 1) { PokemonSprite_SetAttribute(param0->unk_08[param1], MON_SPRITE_FLIP_H, 1); @@ -506,8 +506,8 @@ void ov17_022415E4(UnkStruct_ov17_0223F88C *param0) { u32 v1, v2; - v1 = Pokemon_GetValue(param0->unk_00->unk_00[v0], MON_DATA_SPECIES, NULL); - v2 = Pokemon_GetValue(param0->unk_00->unk_00[v0], MON_DATA_FORM, NULL); + v1 = Pokemon_GetData(param0->unk_00->unk_00[v0], MON_DATA_SPECIES, NULL); + v2 = Pokemon_GetData(param0->unk_00->unk_00[v0], MON_DATA_FORM, NULL); if (IsFormSymmetrical(v1, v2) == 1) { PokemonSprite_SetAttribute(param0->unk_08[v0], MON_SPRITE_FLIP_H, 1); @@ -1360,13 +1360,13 @@ static void ov17_0224290C(UnkStruct_ov17_02246F24 *param0, int param1, const Unk case 0: break; case 1: - StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param0->unk_304.unk_00])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param0->unk_304.unk_00])); break; case 2: - StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); break; case 3: - StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_01])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_01])); break; case 4: StringTemplate_SetMoveName(param0->unk_0C.unk_48, 0, param2->unk_02); @@ -1378,44 +1378,44 @@ static void ov17_0224290C(UnkStruct_ov17_02246F24 *param0, int param1, const Unk StringTemplate_SetContestJudgeName(param0->unk_0C.unk_48, 0, param0->unk_0C.unk_00->unk_C0[param2->unk_05].unk_00); break; case 7: - StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); - StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_01])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_01])); break; case 8: - StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); StringTemplate_SetMoveName(param0->unk_0C.unk_48, 1, param2->unk_02); break; case 9: - StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); StringTemplate_SetNumber(param0->unk_0C.unk_48, 1, param2->unk_04, 1, 0, 1); break; case 10: - StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); StringTemplate_SetContestJudgeName(param0->unk_0C.unk_48, 1, param0->unk_0C.unk_00->unk_C0[param2->unk_05].unk_00); break; case 11: - StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_01])); - StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_01])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); break; case 12: - StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_01])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_01])); StringTemplate_SetMoveName(param0->unk_0C.unk_48, 1, param2->unk_02); break; case 13: - StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_01])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_01])); StringTemplate_SetNumber(param0->unk_0C.unk_48, 1, param2->unk_04, 1, 0, 1); break; case 14: - StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_01])); - StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_01])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); break; case 15: StringTemplate_SetMoveName(param0->unk_0C.unk_48, 0, param2->unk_02); - StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); break; case 16: StringTemplate_SetMoveName(param0->unk_0C.unk_48, 0, param2->unk_02); - StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_01])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_01])); break; case 17: StringTemplate_SetMoveName(param0->unk_0C.unk_48, 0, param2->unk_02); @@ -1423,15 +1423,15 @@ static void ov17_0224290C(UnkStruct_ov17_02246F24 *param0, int param1, const Unk break; case 18: StringTemplate_SetMoveName(param0->unk_0C.unk_48, 0, param2->unk_02); - StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); break; case 19: StringTemplate_SetNumber(param0->unk_0C.unk_48, 0, param2->unk_04, 1, 0, 1); - StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); break; case 20: StringTemplate_SetNumber(param0->unk_0C.unk_48, 0, param2->unk_04, 1, 0, 1); - StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_01])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_01])); break; case 21: StringTemplate_SetNumber(param0->unk_0C.unk_48, 0, param2->unk_04, 1, 0, 1); @@ -1439,15 +1439,15 @@ static void ov17_0224290C(UnkStruct_ov17_02246F24 *param0, int param1, const Unk break; case 22: StringTemplate_SetNumber(param0->unk_0C.unk_48, 0, param2->unk_04, 1, 0, 1); - StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); break; case 23: StringTemplate_SetContestJudgeName(param0->unk_0C.unk_48, 0, param0->unk_0C.unk_00->unk_C0[param2->unk_05].unk_00); - StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); break; case 24: StringTemplate_SetContestJudgeName(param0->unk_0C.unk_48, 0, param0->unk_0C.unk_00->unk_C0[param2->unk_05].unk_00); - StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_01])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 1, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_01])); break; case 25: StringTemplate_SetContestJudgeName(param0->unk_0C.unk_48, 0, param0->unk_0C.unk_00->unk_C0[param2->unk_05].unk_00); @@ -1458,7 +1458,7 @@ static void ov17_0224290C(UnkStruct_ov17_02246F24 *param0, int param1, const Unk StringTemplate_SetNumber(param0->unk_0C.unk_48, 1, param2->unk_04, 1, 0, 1); break; case 27: - StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 0, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); StringTemplate_SetContestJudgeName(param0->unk_0C.unk_48, 1, param0->unk_0C.unk_00->unk_C0[param2->unk_05].unk_00); StringTemplate_SetMoveName(param0->unk_0C.unk_48, 2, param2->unk_02); break; @@ -1473,7 +1473,7 @@ static void ov17_0224290C(UnkStruct_ov17_02246F24 *param0, int param1, const Unk break; } - StringTemplate_SetNickname(param0->unk_0C.unk_48, 1 + v1, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[v0->unk_01[v1]])); + StringTemplate_SetNickname(param0->unk_0C.unk_48, 1 + v1, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[v0->unk_01[v1]])); } } break; default: @@ -1560,7 +1560,7 @@ void ov17_02242EE4(UnkStruct_ov17_02246F24 *param0, int param1) v0 = String_Init(12, HEAP_ID_21); - Pokemon_GetValue(param0->unk_0C.unk_00->unk_00[param1], MON_DATA_NICKNAME_STRING, v0); + Pokemon_GetData(param0->unk_0C.unk_00->unk_00[param1], MON_DATA_NICKNAME_STRING, v0); if (param1 == param0->unk_00->unk_00.unk_113) { v1 = TEXT_COLOR(1, 2, 0); @@ -2113,8 +2113,8 @@ void ov17_022439C8(UnkStruct_02095C48 *param0, int param1, int param2, UnkStruct case 174: { int v0, v1; - v0 = Pokemon_GetValue(param0->unk_00.unk_00[param1], MON_DATA_TYPE_1, NULL); - v1 = Pokemon_GetValue(param0->unk_00.unk_00[param1], MON_DATA_TYPE_2, NULL); + v0 = Pokemon_GetData(param0->unk_00.unk_00[param1], MON_DATA_TYPE_1, NULL); + v1 = Pokemon_GetData(param0->unk_00.unk_00[param1], MON_DATA_TYPE_2, NULL); if ((v0 == TYPE_GHOST) || (v1 == TYPE_GHOST)) { param3->unk_07 = 1; diff --git a/src/overlay017/ov17_02243C28.c b/src/overlay017/ov17_02243C28.c index a39603212a..bdfbb2d5d7 100644 --- a/src/overlay017/ov17_02243C28.c +++ b/src/overlay017/ov17_02243C28.c @@ -648,17 +648,17 @@ static void ov17_022444BC(SysTask *param0, void *param1) MI_CpuClear8(&v3, sizeof(UnkStruct_ov16_02265BBC)); MI_CpuClear8(&battlerContext, sizeof(BattleAnimBattlerContext)); - v6 = Pokemon_GetValue(v0->unk_00->unk_0C.unk_00->unk_00[v0->unk_0D], MON_DATA_SPECIES, NULL); - v7 = Pokemon_GetValue(v0->unk_00->unk_0C.unk_00->unk_00[v0->unk_0D], MON_DATA_GENDER, NULL); + v6 = Pokemon_GetData(v0->unk_00->unk_0C.unk_00->unk_00[v0->unk_0D], MON_DATA_SPECIES, NULL); + v7 = Pokemon_GetData(v0->unk_00->unk_0C.unk_00->unk_00[v0->unk_0D], MON_DATA_GENDER, NULL); v8 = Pokemon_IsShiny(v0->unk_00->unk_0C.unk_00->unk_00[v0->unk_0D]); - v9 = Pokemon_GetValue(v0->unk_00->unk_0C.unk_00->unk_00[v0->unk_0D], MON_DATA_FORM, NULL); - v14 = Pokemon_GetValue(v0->unk_00->unk_0C.unk_00->unk_00[v0->unk_0D], MON_DATA_PERSONALITY, NULL); + v9 = Pokemon_GetData(v0->unk_00->unk_0C.unk_00->unk_00[v0->unk_0D], MON_DATA_FORM, NULL); + v14 = Pokemon_GetData(v0->unk_00->unk_0C.unk_00->unk_00[v0->unk_0D], MON_DATA_PERSONALITY, NULL); - v10 = Pokemon_GetValue(v0->unk_00->unk_0C.unk_00->unk_00[v16], MON_DATA_SPECIES, NULL); - v11 = Pokemon_GetValue(v0->unk_00->unk_0C.unk_00->unk_00[v16], MON_DATA_GENDER, NULL); + v10 = Pokemon_GetData(v0->unk_00->unk_0C.unk_00->unk_00[v16], MON_DATA_SPECIES, NULL); + v11 = Pokemon_GetData(v0->unk_00->unk_0C.unk_00->unk_00[v16], MON_DATA_GENDER, NULL); v12 = Pokemon_IsShiny(v0->unk_00->unk_0C.unk_00->unk_00[v16]); - v13 = Pokemon_GetValue(v0->unk_00->unk_0C.unk_00->unk_00[v16], MON_DATA_FORM, NULL); - v15 = Pokemon_GetValue(v0->unk_00->unk_0C.unk_00->unk_00[v16], MON_DATA_PERSONALITY, NULL); + v13 = Pokemon_GetData(v0->unk_00->unk_0C.unk_00->unk_00[v16], MON_DATA_FORM, NULL); + v15 = Pokemon_GetData(v0->unk_00->unk_0C.unk_00->unk_00[v16], MON_DATA_PERSONALITY, NULL); v3.unk_00 = 0; v3.unk_01 = 0; @@ -855,7 +855,7 @@ static void ov17_022449B8(SysTask *param0, void *param1) v1 = ov17_0223FAF8(v0->unk_00->unk_7E4); if (v1 != 0xffffffff) { - v0->unk_10.unk_00 = Pokemon_GetValue(v0->unk_00->unk_0C.unk_00->unk_00[v0->unk_0D], MON_DATA_MOVE1 + v1, NULL); + v0->unk_10.unk_00 = Pokemon_GetData(v0->unk_00->unk_0C.unk_00->unk_00[v0->unk_0D], MON_DATA_MOVE1 + v1, NULL); Sound_PlayEffect(SEQ_SE_DP_DECIDE); v0->unk_0C++; } diff --git a/src/overlay017/ov17_02246ECC.c b/src/overlay017/ov17_02246ECC.c index 824ca89739..2ea9a24eaf 100644 --- a/src/overlay017/ov17_02246ECC.c +++ b/src/overlay017/ov17_02246ECC.c @@ -1275,8 +1275,8 @@ static void ov17_02246F24(UnkStruct_ov17_02246F24 *param0, UnkStruct_ov17_02246F MI_CpuClear8(param1, sizeof(UnkStruct_ov17_02246F9C)); - for (v0 = 0; v0 < LEARNED_MOVES_MAX; v0++) { - param1->unk_00[v0].unk_00 = Pokemon_GetValue(param0->unk_00->unk_00.unk_00[param2], MON_DATA_MOVE1 + v0, NULL); + for (v0 = 0; v0 < MAX_MON_MOVES; v0++) { + param1->unk_00[v0].unk_00 = Pokemon_GetData(param0->unk_00->unk_00.unk_00[param2], MON_DATA_MOVE1 + v0, NULL); if (ov17_02243A98(¶m0->unk_220, param2, param1->unk_00[v0].unk_00) == 1) { param1->unk_00[v0].unk_0A = MoveTable_LoadParam(param1->unk_00[v0].unk_00, MOVEATTRIBUTE_CONTEST_EFFECT); diff --git a/src/overlay017/ov17_022476F8.c b/src/overlay017/ov17_022476F8.c index 900920cefe..4664494172 100644 --- a/src/overlay017/ov17_022476F8.c +++ b/src/overlay017/ov17_022476F8.c @@ -187,7 +187,7 @@ static void ov17_0224792C(UnkStruct_ov17_02247A48 *param0, int param1, const Unk break; case 1: StringTemplate_SetString(param0->unk_0C.unk_3C, 0, param0->unk_00->unk_00.unk_D8[param2->unk_00], param0->unk_00->unk_00.unk_F8[param2->unk_00], 1, GAME_LANGUAGE); - StringTemplate_SetNickname(param0->unk_0C.unk_3C, 1, Pokemon_GetBoxPokemon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); + StringTemplate_SetNickname(param0->unk_0C.unk_3C, 1, Pokemon_GetBoxMon(param0->unk_0C.unk_00->unk_00[param2->unk_00])); break; default: GF_ASSERT(FALSE); diff --git a/src/overlay017/ov17_02247A48.c b/src/overlay017/ov17_02247A48.c index dc9768bb29..1bd05ce9df 100644 --- a/src/overlay017/ov17_02247A48.c +++ b/src/overlay017/ov17_02247A48.c @@ -1038,8 +1038,8 @@ static void ov17_02248AA4(SysTask *param0, void *param1) ov22_0225B158(v0->unk_00->unk_F18[v0->unk_0E].unk_00, v0->unk_00->unk_F18[v0->unk_0E].unk_04, v0->unk_00->unk_F18[v0->unk_0E].unk_08, v1); if (v0->unk_04 >= FX32_ONE) { - v2 = Pokemon_GetValue(v0->unk_00->unk_0C.unk_00->unk_00[v0->unk_0E], MON_DATA_SPECIES, NULL); - v3 = Pokemon_GetValue(v0->unk_00->unk_0C.unk_00->unk_00[v0->unk_0E], MON_DATA_FORM, NULL); + v2 = Pokemon_GetData(v0->unk_00->unk_0C.unk_00->unk_00[v0->unk_0E], MON_DATA_SPECIES, NULL); + v3 = Pokemon_GetData(v0->unk_00->unk_0C.unk_00->unk_00[v0->unk_0E], MON_DATA_FORM, NULL); PlayCryWithParams(v0->unk_00->unk_00->unk_14C[v0->unk_0E], 0, v2, v3, 0, 127, NULL, 22); v0->unk_0C++; } diff --git a/src/overlay017/ov17_0224A0FC.c b/src/overlay017/ov17_0224A0FC.c index 1eb93b40e2..710be6c5c2 100644 --- a/src/overlay017/ov17_0224A0FC.c +++ b/src/overlay017/ov17_0224A0FC.c @@ -1876,7 +1876,7 @@ static void ov17_0224C0C0(UnkStruct_ov17_0224DF54 *param0, int param1, const Unk case 0: break; case 1: - StringTemplate_SetNickname(param0->unk_14.unk_88, 0, Pokemon_GetBoxPokemon(param0->unk_14.unk_00->unk_00[param2->unk_00])); + StringTemplate_SetNickname(param0->unk_14.unk_88, 0, Pokemon_GetBoxMon(param0->unk_14.unk_00->unk_00[param2->unk_00])); break; case 2: v0 = sub_02095848(param0->unk_00->unk_00.unk_110, param0->unk_00->unk_00.unk_111, param0->unk_00->unk_155); @@ -1887,10 +1887,10 @@ static void ov17_0224C0C0(UnkStruct_ov17_0224DF54 *param0, int param1, const Unk break; case 4: StringTemplate_SetString(param0->unk_14.unk_88, 0, param0->unk_00->unk_00.unk_D8[param2->unk_00], param0->unk_00->unk_00.unk_F8[param2->unk_00], 1, GAME_LANGUAGE); - StringTemplate_SetNickname(param0->unk_14.unk_88, 1, Pokemon_GetBoxPokemon(param0->unk_14.unk_00->unk_00[param2->unk_00])); + StringTemplate_SetNickname(param0->unk_14.unk_88, 1, Pokemon_GetBoxMon(param0->unk_14.unk_00->unk_00[param2->unk_00])); break; case 5: - StringTemplate_SetNickname(param0->unk_14.unk_88, 0, Pokemon_GetBoxPokemon(param0->unk_14.unk_00->unk_00[param2->unk_00])); + StringTemplate_SetNickname(param0->unk_14.unk_88, 0, Pokemon_GetBoxMon(param0->unk_14.unk_00->unk_00[param2->unk_00])); StringTemplate_SetNumber(param0->unk_14.unk_88, 1, param2->unk_04, 1, 0, 1); break; case 6: @@ -1898,7 +1898,7 @@ static void ov17_0224C0C0(UnkStruct_ov17_0224DF54 *param0, int param1, const Unk StringTemplate_SetContestRankName(param0->unk_14.unk_88, 0, v0); StringTemplate_SetNumber(param0->unk_14.unk_88, 1, param2->unk_04, 1, 0, 1); StringTemplate_SetString(param0->unk_14.unk_88, 2, param0->unk_00->unk_00.unk_D8[param2->unk_00], param0->unk_00->unk_00.unk_F8[param2->unk_00], 1, GAME_LANGUAGE); - StringTemplate_SetNickname(param0->unk_14.unk_88, 3, Pokemon_GetBoxPokemon(param0->unk_14.unk_00->unk_00[param2->unk_00])); + StringTemplate_SetNickname(param0->unk_14.unk_88, 3, Pokemon_GetBoxMon(param0->unk_14.unk_00->unk_00[param2->unk_00])); break; default: GF_ASSERT(FALSE); diff --git a/src/overlay017/ov17_02250744.c b/src/overlay017/ov17_02250744.c index 4d09f6d79d..34ab82518f 100644 --- a/src/overlay017/ov17_02250744.c +++ b/src/overlay017/ov17_02250744.c @@ -222,12 +222,12 @@ static void ov17_022507F0(UnkStruct_ov17_0224FCA0 *param0, int param1, const Unk break; case 2: StringTemplate_SetString(param0->unk_10.unk_B8, 0, param0->unk_00->unk_00.unk_D8[param2->unk_00], param0->unk_00->unk_00.unk_F8[param2->unk_00], 1, GAME_LANGUAGE); - StringTemplate_SetNickname(param0->unk_10.unk_B8, 1, Pokemon_GetBoxPokemon(param0->unk_10.unk_00->unk_00[param2->unk_00])); + StringTemplate_SetNickname(param0->unk_10.unk_B8, 1, Pokemon_GetBoxMon(param0->unk_10.unk_00->unk_00[param2->unk_00])); break; case 3: StringTemplate_SetNumber(param0->unk_10.unk_B8, 0, param2->unk_04, 1, 0, 1); StringTemplate_SetString(param0->unk_10.unk_B8, 1, param0->unk_00->unk_00.unk_D8[param2->unk_00], param0->unk_00->unk_00.unk_F8[param2->unk_00], 1, GAME_LANGUAGE); - StringTemplate_SetNickname(param0->unk_10.unk_B8, 2, Pokemon_GetBoxPokemon(param0->unk_10.unk_00->unk_00[param2->unk_00])); + StringTemplate_SetNickname(param0->unk_10.unk_B8, 2, Pokemon_GetBoxMon(param0->unk_10.unk_00->unk_00[param2->unk_00])); break; default: GF_ASSERT(FALSE); @@ -335,7 +335,7 @@ void ov17_02250B00(UnkStruct_ov17_0224FCA0 *param0) for (v3 = 0; v3 < 4; v3++) { v4 = param0->unk_39A.unk_30[v3]; - Pokemon_GetValue(param0->unk_10.unk_00->unk_00[v4], MON_DATA_NICKNAME_STRING, v2); + Pokemon_GetData(param0->unk_10.unk_00->unk_00[v4], MON_DATA_NICKNAME_STRING, v2); Window_FillTilemap(¶m0->unk_10.unk_24[1 + v3], 0x0); Window_FillTilemap(¶m0->unk_10.unk_24[5 + v3], 0x0); Text_AddPrinterWithParamsAndColor(¶m0->unk_10.unk_24[1 + v3], FONT_SYSTEM, v2, 0, 3, TEXT_SPEED_INSTANT, TEXT_COLOR(1, 2, 0), NULL); diff --git a/src/overlay017/ov17_02251D6C.c b/src/overlay017/ov17_02251D6C.c index 98aca69c85..045f53654e 100644 --- a/src/overlay017/ov17_02251D6C.c +++ b/src/overlay017/ov17_02251D6C.c @@ -650,8 +650,8 @@ static void ov17_0225266C(SysTask *param0, void *param1) case 4: { int v1, v2; - v1 = Pokemon_GetValue(v0->unk_00->unk_10.unk_00->unk_00[v0->unk_11], MON_DATA_SPECIES, NULL); - v2 = Pokemon_GetValue(v0->unk_00->unk_10.unk_00->unk_00[v0->unk_11], MON_DATA_FORM, NULL); + v1 = Pokemon_GetData(v0->unk_00->unk_10.unk_00->unk_00[v0->unk_11], MON_DATA_SPECIES, NULL); + v2 = Pokemon_GetData(v0->unk_00->unk_10.unk_00->unk_00[v0->unk_11], MON_DATA_FORM, NULL); PlayCryWithParams(v0->unk_00->unk_00->unk_14C[v0->unk_11], 0, v1, v2, 0, 127, NULL, 24); } v0->unk_10++; diff --git a/src/overlay022/ov22_02259098.c b/src/overlay022/ov22_02259098.c index e4036b9038..8fe594d5b2 100644 --- a/src/overlay022/ov22_02259098.c +++ b/src/overlay022/ov22_02259098.c @@ -35,7 +35,7 @@ void ov22_022590C0(UnkStruct_020298D8 *param0, PokemonSpriteManager *param1, Pok void ov22_022590D4(UnkStruct_020298D8 *param0, PokemonSpriteManager *param1, Pokemon *param2, PokemonSpriteTemplate *param3, int param4, BOOL param5) { - int v0 = Pokemon_GetValue(param2, MON_DATA_SPECIES, NULL); + int v0 = Pokemon_GetData(param2, MON_DATA_SPECIES, NULL); Pokemon_BuildSpriteTemplateDP(param3, param2, 2); param0->unk_00 = PokemonSpriteManager_CreateSprite(param1, param3, 192, 56, 0, 0, NULL, NULL); diff --git a/src/overlay022/ov22_0225B660.c b/src/overlay022/ov22_0225B660.c index c9cae82f02..e5f6ec7133 100644 --- a/src/overlay022/ov22_0225B660.c +++ b/src/overlay022/ov22_0225B660.c @@ -342,7 +342,7 @@ static void ov22_0225BC18(UnkStruct_ov22_0225B85C *param0) v5 = Pokemon_New(HEAP_ID_13); sub_0202A560(param0->unk_04, v5); - v6 = Pokemon_GetBoxPokemon(v5); + v6 = Pokemon_GetBoxMon(v5); StringTemplate_SetNickname(v1, 4, v6); Heap_Free(v5); diff --git a/src/overlay062/ov62_02239D60.c b/src/overlay062/ov62_02239D60.c index 268f88910f..30f4b430e4 100644 --- a/src/overlay062/ov62_02239D60.c +++ b/src/overlay062/ov62_02239D60.c @@ -1189,13 +1189,13 @@ static void ov62_0223B050(UnkStruct_0208C06C *param0) species = SPECIES_EGG; } - speciesData = SpeciesData_FromMonSpecies(species, HEAP_ID_102); - gender = Pokemon_GetGenderOf(species, personality); - isShiny = Pokemon_IsPersonalityShiny(otID, personality); - v9 = LoadPokemonSpriteYOffset(species, gender, v10, form, personality); + speciesData = SpeciesData_NewFromSpecies(species, HEAP_ID_102); + gender = Species_GetGenderFromPersonality(species, personality); + isShiny = Personality_IsShiny(otID, personality); + v9 = Species_LoadSpriteYOffset(species, gender, v10, form, personality); v9 = 0; - BuildPokemonSpriteTemplate(&v2, species, gender, v10, isShiny, form, personality); + Species_BuildSpriteTemplate(&v2, species, gender, v10, isShiny, form, personality); v0->unk_32C = PokemonSpriteManager_CreateSprite(param0->unk_14.unk_50, &v2, 42, 91 + v9, 0, 0, NULL, NULL); SpeciesData_Free(speciesData); } diff --git a/src/overlay062/ov62_02248408.c b/src/overlay062/ov62_02248408.c index e1d091d817..e7f04d4ba0 100644 --- a/src/overlay062/ov62_02248408.c +++ b/src/overlay062/ov62_02248408.c @@ -70,18 +70,18 @@ void ov62_02248408(BattleRecording *param0, FieldBattleDTO *param1, int heapID) for (v11 = 0; v11 < v12; v11++) { v13 = Party_GetPokemonBySlotIndex(param1->parties[v4], v11); - if (Pokemon_GetValue(v13, MON_DATA_SPECIES_EXISTS, NULL) == 0) { + if (Pokemon_GetData(v13, MON_DATA_SPECIES_EXISTS, NULL) == 0) { break; } MI_CpuClear16(v8, sizeof(u16) * v9); - Pokemon_GetValue(v13, MON_DATA_NICKNAME, v8); + Pokemon_GetData(v13, MON_DATA_NICKNAME, v8); String_Clear(v6); String_CopyChars(v6, v8); if (Font_AreAllCharsValid(FONT_SYSTEM, v6, v7) == 0) { - Pokemon_SetValue(v13, MON_DATA_SPECIES_NAME, NULL); + Pokemon_SetData(v13, MON_DATA_SPECIES_NAME, NULL); continue; } } diff --git a/src/overlay065/ov65_0222DCE0.c b/src/overlay065/ov65_0222DCE0.c index 0f8b14d90e..56ee188ced 100644 --- a/src/overlay065/ov65_0222DCE0.c +++ b/src/overlay065/ov65_0222DCE0.c @@ -648,11 +648,11 @@ static int ov65_0222DF88(UnkStruct_ov65_0222EBE0 *param0) for (v3 = 0; v3 < v2; v3++) { v1 = Party_GetPokemonBySlotIndex(v0, v3); - if (Pokemon_GetValue(v1, MON_DATA_HP, NULL) == 0) { + if (Pokemon_GetData(v1, MON_DATA_HP, NULL) == 0) { continue; } - if (Pokemon_GetValue(v1, MON_DATA_IS_EGG, NULL)) { + if (Pokemon_GetData(v1, MON_DATA_IS_EGG, NULL)) { continue; } @@ -1792,8 +1792,8 @@ static void ov65_0222F4C4(UnkStruct_ov65_0222EBE0 *param0, int param1) for (v5 = 0; v5 < v4; v5++) { Pokemon *v6 = Party_GetPokemonBySlotIndex(v2, v5); - param0->unk_04->unk_00.unk_00[v5] = Pokemon_GetValue(v6, MON_DATA_SPECIES, NULL); - param0->unk_04->unk_00.unk_0C[v5] = Pokemon_GetValue(v6, MON_DATA_HELD_ITEM, NULL); + param0->unk_04->unk_00.unk_00[v5] = Pokemon_GetData(v6, MON_DATA_SPECIES, NULL); + param0->unk_04->unk_00.unk_0C[v5] = Pokemon_GetData(v6, MON_DATA_HELD_ITEM, NULL); } param0->unk_04->unk_00.unk_18 = TrainerInfo_GameCode(v0); diff --git a/src/overlay066/ov66_0222DDF0.c b/src/overlay066/ov66_0222DDF0.c index 928d6a9789..5b3c4a4f2e 100644 --- a/src/overlay066/ov66_0222DDF0.c +++ b/src/overlay066/ov66_0222DDF0.c @@ -2312,9 +2312,9 @@ static void ov66_0222F7C8(UnkStruct_ov66_0222F6C4 *param0, SaveData *saveData, u for (v8 = 0; v8 < 6; v8++) { if (v8 < v7) { v6 = Party_GetPokemonBySlotIndex(v1, v8); - param0->unk_20.unk_20[v8] = Pokemon_GetValue(v6, MON_DATA_SPECIES, NULL); - param0->unk_20.unk_2C[v8] = Pokemon_GetValue(v6, MON_DATA_FORM, NULL); - param0->unk_20.unk_32[v8] = Pokemon_GetValue(v6, MON_DATA_IS_EGG, NULL); + param0->unk_20.unk_20[v8] = Pokemon_GetData(v6, MON_DATA_SPECIES, NULL); + param0->unk_20.unk_2C[v8] = Pokemon_GetData(v6, MON_DATA_FORM, NULL); + param0->unk_20.unk_32[v8] = Pokemon_GetData(v6, MON_DATA_IS_EGG, NULL); } else { param0->unk_20.unk_20[v8] = SPECIES_BAD_EGG; } diff --git a/src/overlay076/ov76_0223B870.c b/src/overlay076/ov76_0223B870.c index 56bfb8cc0f..a522eca7a8 100644 --- a/src/overlay076/ov76_0223B870.c +++ b/src/overlay076/ov76_0223B870.c @@ -562,9 +562,9 @@ void ov76_0223C188(UnkStruct_ov76_0223DE00 *param0) param0->unk_2FC[v0] = SpriteSystem_NewSprite(param0->unk_D4.unk_08, param0->unk_D4.unk_0C, &v6); - v2 = Pokemon_GetValue(v5, MON_DATA_SPECIES, NULL); - v1 = Pokemon_GetValue(v5, MON_DATA_IS_EGG, NULL); - v4 = Pokemon_GetValue(v5, MON_DATA_FORM, NULL); + v2 = Pokemon_GetData(v5, MON_DATA_SPECIES, NULL); + v1 = Pokemon_GetData(v5, MON_DATA_IS_EGG, NULL); + v4 = Pokemon_GetData(v5, MON_DATA_FORM, NULL); v3 = PokeIconPaletteIndex(v2, v4, v1); Sprite_SetExplicitPaletteOffsetAutoAdjust(param0->unk_2FC[v0]->sprite, v3); @@ -852,12 +852,12 @@ void ov76_0223C80C(UnkStruct_ov76_0223DE00 *param0, int param1, int param2) if (v1 != 0xff) { v3 = param2 + 1; - Pokemon_SetValue(param0->unk_00->unk_04[v1], MON_DATA_BALL_CAPSULE_ID, (u8 *)&v3); + Pokemon_SetData(param0->unk_00->unk_04[v1], MON_DATA_BALL_CAPSULE_ID, (u8 *)&v3); } if (v2 != 0xff) { v4 = param1 + 1; - Pokemon_SetValue(param0->unk_00->unk_04[v2], MON_DATA_BALL_CAPSULE_ID, (u8 *)&v4); + Pokemon_SetData(param0->unk_00->unk_04[v2], MON_DATA_BALL_CAPSULE_ID, (u8 *)&v4); } v0 = param0->unk_04[param1].unk_00; diff --git a/src/overlay076/ov76_0223D338.c b/src/overlay076/ov76_0223D338.c index 25e7a5050a..1e00780691 100644 --- a/src/overlay076/ov76_0223D338.c +++ b/src/overlay076/ov76_0223D338.c @@ -109,7 +109,7 @@ void ov76_0223D3CC(UnkStruct_ov76_0223DE00 *param0) for (v0 = 0; v0 < param0->unk_00->unk_00; v0++) { v2 = param0->unk_00->unk_04[v0]; - v1 = Pokemon_GetValue(v2, MON_DATA_IS_EGG, NULL); + v1 = Pokemon_GetData(v2, MON_DATA_IS_EGG, NULL); if (v1 != 0) { continue; @@ -695,7 +695,7 @@ void ov76_0223DD88(UnkStruct_ov76_0223DE00 *param0) Pokemon_BuildSpriteTemplate(&v0, param0->unk_428, 2); - v2 = Pokemon_GetValue(param0->unk_428, MON_DATA_SPECIES, NULL); + v2 = Pokemon_GetData(param0->unk_428, MON_DATA_SPECIES, NULL); v3 = Pokemon_SpriteYOffset(param0->unk_428, 2); param0->unk_D4.unk_D8 = v3; @@ -708,7 +708,7 @@ static void ov76_0223DE00(UnkStruct_ov76_0223DE00 *param0) int v0; int v1; - v0 = Pokemon_GetValue(param0->unk_428, MON_DATA_SPECIES, NULL); + v0 = Pokemon_GetData(param0->unk_428, MON_DATA_SPECIES, NULL); v1 = Pokemon_GetNature(param0->unk_428); PokemonSprite_InitAnim(param0->unk_D4.unk_D4, 1); @@ -841,7 +841,7 @@ static BOOL ov76_0223DF94(UnkStruct_ov76_0223DE00 *param0) v0.surface = 1; v0.cellActorSys = param0->unk_D4.unk_08; v0.paletteSys = param0->unk_D4.unk_14; - v0.ballID = Pokemon_GetValue(param0->unk_428, MON_DATA_POKEBALL, NULL); + v0.ballID = Pokemon_GetData(param0->unk_428, MON_DATA_POKEBALL, NULL); param0->unk_D4.unk_158 = ov12_02237728(&v0); param0->unk_3DC++; @@ -857,8 +857,8 @@ static BOOL ov76_0223DF94(UnkStruct_ov76_0223DE00 *param0) v1 = param0->unk_3C4[0] + 1; ov76_0223B848(&v2, param0); - Pokemon_SetValue(param0->unk_428, MON_DATA_BALL_CAPSULE_ID, (u8 *)&v1); - Pokemon_SetValue(param0->unk_428, MON_DATA_BALL_CAPSULE, &v2); + Pokemon_SetData(param0->unk_428, MON_DATA_BALL_CAPSULE_ID, (u8 *)&v1); + Pokemon_SetData(param0->unk_428, MON_DATA_BALL_CAPSULE, &v2); param0->unk_D4.unk_154 = ov12_02236004(HEAP_ID_53, &v3); ov12_02236320(param0->unk_D4.unk_154); @@ -928,7 +928,7 @@ static BOOL ov76_0223DF94(UnkStruct_ov76_0223DE00 *param0) v5.surface = 1; v5.cellActorSys = param0->unk_D4.unk_08; v5.paletteSys = param0->unk_D4.unk_14; - v5.ballID = Pokemon_GetValue(param0->unk_428, MON_DATA_POKEBALL, NULL); + v5.ballID = Pokemon_GetData(param0->unk_428, MON_DATA_POKEBALL, NULL); param0->unk_D4.unk_158 = ov12_02237728(&v5); @@ -985,7 +985,7 @@ static BOOL ov76_0223DF94(UnkStruct_ov76_0223DE00 *param0) if (param0->unk_264[param0->unk_3C4[0]].unk_00 != 0xff) { v8 = param0->unk_00->unk_04[param0->unk_264[param0->unk_3C4[0]].unk_00]; - Pokemon_SetValue(v8, MON_DATA_BALL_CAPSULE, SealCase_GetCapsuleById(param0->unk_00->unk_20, param0->unk_3C4[0])); + Pokemon_SetData(v8, MON_DATA_BALL_CAPSULE, SealCase_GetCapsuleById(param0->unk_00->unk_20, param0->unk_3C4[0])); } } param0->unk_3D4 = 8; @@ -1210,7 +1210,7 @@ void ov76_0223E91C(UnkStruct_ov76_0223DE00 *param0, int param1) v1 = param0->unk_04[param1].unk_00; if (v1 != 0xff) { - Pokemon_SetValue(param0->unk_00->unk_04[v1], MON_DATA_BALL_CAPSULE_ID, (u8 *)&v2); + Pokemon_SetData(param0->unk_00->unk_04[v1], MON_DATA_BALL_CAPSULE_ID, (u8 *)&v2); } param0->unk_04[param1].unk_00 = 0xff; diff --git a/src/overlay088/ov88_0223B140.c b/src/overlay088/ov88_0223B140.c index b6ef6ff8fe..efd8f8f3c4 100644 --- a/src/overlay088/ov88_0223B140.c +++ b/src/overlay088/ov88_0223B140.c @@ -495,7 +495,7 @@ static void ov88_0223B710(StringTemplate *param0, Party *param1, int param2) int v0; for (v0 = 0; v0 < Party_GetCurrentCount(param1); v0++) { - StringTemplate_SetNickname(param0, v0 + param2, Pokemon_GetBoxPokemon(Party_GetPokemonBySlotIndex(param1, v0))); + StringTemplate_SetNickname(param0, v0 + param2, Pokemon_GetBoxMon(Party_GetPokemonBySlotIndex(param1, v0))); } } @@ -563,13 +563,13 @@ static int ov88_0223B914(UnkStruct_02095E80 *param0) for (i = 0; i < Party_GetCurrentCount(param0->unk_08->unk_08); i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(param0->unk_08->unk_08, i); - species = Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL); + species = Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL); if (species == SPECIES_SHAYMIN) { - form = Pokemon_GetValue(mon, MON_DATA_FORM, NULL); + form = Pokemon_GetData(mon, MON_DATA_FORM, NULL); if (form != SHAYMIN_FORM_LAND) { - Pokemon_SetShayminForm(mon, SHAYMIN_FORM_LAND); + Pokemon_UpdateShayminForm(mon, SHAYMIN_FORM_LAND); } } } @@ -743,21 +743,21 @@ static void ov88_0223BD18(Pokemon *param0, UnkStruct_ov88_0223C8AC *param1) { int v0, v1; - v0 = Pokemon_EnterDecryptionContext(param0); + v0 = Pokemon_DecryptData(param0); - param1->unk_04 = Pokemon_GetValue(param0, MON_DATA_POKEBALL, NULL); - param1->unk_00 = Pokemon_GetValue(param0, MON_DATA_SPECIES, NULL); - param1->unk_06 = Pokemon_GetValue(param0, MON_DATA_FORM, NULL); - param1->unk_05 = Pokemon_GetValue(param0, MON_DATA_IS_EGG, NULL); - param1->unk_08 = Pokemon_GetValue(param0, MON_DATA_GENDER, NULL); - param1->unk_0C = Pokemon_GetValue(param0, MON_DATA_BALL_CAPSULE_ID, NULL); + param1->unk_04 = Pokemon_GetData(param0, MON_DATA_POKEBALL, NULL); + param1->unk_00 = Pokemon_GetData(param0, MON_DATA_SPECIES, NULL); + param1->unk_06 = Pokemon_GetData(param0, MON_DATA_FORM, NULL); + param1->unk_05 = Pokemon_GetData(param0, MON_DATA_IS_EGG, NULL); + param1->unk_08 = Pokemon_GetData(param0, MON_DATA_GENDER, NULL); + param1->unk_0C = Pokemon_GetData(param0, MON_DATA_BALL_CAPSULE_ID, NULL); - v1 = Pokemon_GetValue(param0, MON_DATA_HELD_ITEM, NULL); + v1 = Pokemon_GetData(param0, MON_DATA_HELD_ITEM, NULL); - Pokemon_ExitDecryptionContext(param0, v0); + Pokemon_EncryptData(param0, v0); if (param1->unk_00 != 0) { - param1->unk_0A = SpeciesData_GetFormValue(param1->unk_00, param1->unk_06, 28); + param1->unk_0A = Species_GetFormValue(param1->unk_00, param1->unk_06, 28); } if (v1 != 0) { @@ -1253,8 +1253,8 @@ static int ov88_0223C800(int param0, Pokemon *param1, u8 *param2, PokemonSpriteT Pokemon_BuildSpriteTemplate(param3, param1, 2); { - int personality = Pokemon_GetValue(param1, MON_DATA_PERSONALITY, NULL); - enum Species species = Pokemon_GetValue(param1, MON_DATA_SPECIES, NULL); + int personality = Pokemon_GetData(param1, MON_DATA_PERSONALITY, NULL); + enum Species species = Pokemon_GetData(param1, MON_DATA_SPECIES, NULL); CharacterSprite_LoadPokemonSpriteRect(param3->narcID, param3->character, HEAP_ID_26, 0, 0, 10, 10, param2, personality, FALSE, FACE_FRONT, species); } @@ -1268,7 +1268,7 @@ static void ov88_0223C860(Window *param0, Party *param1, int param2, int param3, { String *v0 = String_Init(20, HEAP_ID_26); - Pokemon_GetValue(Party_GetPokemonBySlotIndex(param1, param2), MON_DATA_NICKNAME_STRING, v0); + Pokemon_GetData(Party_GetPokemonBySlotIndex(param1, param2), MON_DATA_NICKNAME_STRING, v0); Window_FillTilemap(param0, 0); ov88_0223EC78(param0, v0, param3, TEXT_SPEED_INSTANT, param4, 1); String_Free(v0); @@ -1278,7 +1278,7 @@ static int ov88_0223C8AC(UnkStruct_ov88_0223C8AC *param0, Party *param1, int par { if ((param0->unk_00 == 29) || (param0->unk_00 == 32)) { Pokemon *v0 = Party_GetPokemonBySlotIndex(param1, param2); - int v1 = Pokemon_GetValue(v0, MON_DATA_HAS_NICKNAME, NULL); + int v1 = Pokemon_GetData(v0, MON_DATA_HAS_NICKNAME, NULL); if (v1 == 0) { return 2; @@ -1337,7 +1337,7 @@ static void ov88_0223C8D8(Window *param0, int param1, Party *param2, int param3, MessageLoader_GetString(param4->unk_184, 41, v0); ov88_0223EC78(¶m0[28 + param1], v0, 9, TEXT_SPEED_NO_TRANSFER, 6, 0); - v3 = Pokemon_GetValue(Party_GetPokemonBySlotIndex(param2, param3), MON_DATA_LEVEL, NULL); + v3 = Pokemon_GetData(Party_GetPokemonBySlotIndex(param2, param3), MON_DATA_LEVEL, NULL); String_FormatInt(v0, v3, 3, 0, 1); ov88_0223EC78(¶m0[28 + param1], v0, 9, TEXT_SPEED_INSTANT, 24 + 6, 0); String_Free(v0); @@ -1347,7 +1347,7 @@ static void ov88_0223C8D8(Window *param0, int param1, Party *param2, int param3, ov88_0223EC78(¶m0[30 + param1], param4->unk_190, 7, TEXT_SPEED_INSTANT, 3, 0); - item = Pokemon_GetValue(Party_GetPokemonBySlotIndex(param2, param3), MON_DATA_HELD_ITEM, NULL); + item = Pokemon_GetData(Party_GetPokemonBySlotIndex(param2, param3), MON_DATA_HELD_ITEM, NULL); Window_FillTilemap(¶m0[32 + param1], 0); v1 = String_Init(20, HEAP_ID_26); @@ -2060,7 +2060,7 @@ static int ov88_0223DA3C(UnkStruct_02095E80 *param0) v0.suppressCursor = FALSE; v0.loopAround = FALSE; - StringTemplate_SetNickname(param0->unk_17C, 0, Pokemon_GetBoxPokemon(Party_GetPokemonBySlotIndex(param0->unk_2270, param0->unk_88[0]))); + StringTemplate_SetNickname(param0->unk_17C, 0, Pokemon_GetBoxMon(Party_GetPokemonBySlotIndex(param0->unk_2270, param0->unk_88[0]))); Bg_FillTilemapRect(param0->unk_174, 0, 0, 0, 0, 32, 24, 0); ov88_0223ECBC(¶m0->unk_49C[22], 16, FONT_MESSAGE, param0->unk_184, param0->unk_17C); @@ -2271,8 +2271,8 @@ static void ov88_0223DFF4(UnkStruct_02095E80 *param0) static int ov88_0223E110(UnkStruct_02095E80 *param0) { Bg_FillTilemapRect(param0->unk_174, 0, 0, 0, 0, 32, 24, 0); - StringTemplate_SetNickname(param0->unk_17C, 0, Pokemon_GetBoxPokemon(Party_GetPokemonBySlotIndex(param0->unk_2270, param0->unk_88[0]))); - StringTemplate_SetNickname(param0->unk_17C, 1, Pokemon_GetBoxPokemon(Party_GetPokemonBySlotIndex(param0->unk_2274, param0->unk_88[1] - 6))); + StringTemplate_SetNickname(param0->unk_17C, 0, Pokemon_GetBoxMon(Party_GetPokemonBySlotIndex(param0->unk_2270, param0->unk_88[0]))); + StringTemplate_SetNickname(param0->unk_17C, 1, Pokemon_GetBoxMon(Party_GetPokemonBySlotIndex(param0->unk_2274, param0->unk_88[1] - 6))); ov88_0223ECBC(¶m0->unk_49C[23], 21, FONT_MESSAGE, param0->unk_184, param0->unk_17C); param0->unk_226C = ov88_0223E20C; @@ -2409,7 +2409,7 @@ static int ov88_0223E4BC(UnkStruct_02095E80 *param0) v0.suppressCursor = FALSE; v0.loopAround = FALSE; - StringTemplate_SetNickname(param0->unk_17C, 0, Pokemon_GetBoxPokemon(Party_GetPokemonBySlotIndex(param0->unk_2274, param0->unk_88[0] - 6))); + StringTemplate_SetNickname(param0->unk_17C, 0, Pokemon_GetBoxMon(Party_GetPokemonBySlotIndex(param0->unk_2274, param0->unk_88[0] - 6))); Bg_FillTilemapRect(param0->unk_174, 0, 0, 0, 0, 32, 24, 0); ov88_0223ECBC(¶m0->unk_49C[22], 16, FONT_MESSAGE, param0->unk_184, param0->unk_17C); @@ -2464,8 +2464,8 @@ static void ov88_0223E694(Party *param0, Party *param1, int param2, int param3, Pokemon_Copy(Party_GetPokemonBySlotIndex(param0, param2), v0); Pokemon_Copy(Party_GetPokemonBySlotIndex(param1, param3), v1); - if (Pokemon_GetValue(v1, MON_DATA_SPECIES, NULL) == SPECIES_ARCEUS) { - if (Pokemon_GetValue(v1, MON_DATA_FATEFUL_ENCOUNTER, NULL) || ((Pokemon_GetValue(v1, MON_DATA_MET_LOCATION, NULL) == 86) && (Pokemon_GetValue(v1, MON_DATA_FATEFUL_ENCOUNTER, NULL) == 0))) { + if (Pokemon_GetData(v1, MON_DATA_SPECIES, NULL) == SPECIES_ARCEUS) { + if (Pokemon_GetData(v1, MON_DATA_FATEFUL_ENCOUNTER, NULL) || ((Pokemon_GetData(v1, MON_DATA_MET_LOCATION, NULL) == 86) && (Pokemon_GetData(v1, MON_DATA_FATEFUL_ENCOUNTER, NULL) == 0))) { VarsFlags *v2 = SaveData_GetVarsFlags(param4->saveData); if (SystemVars_GetArceusEventState(v2) == 0) { @@ -2474,11 +2474,11 @@ static void ov88_0223E694(Party *param0, Party *param1, int param2, int param3, } } - Pokemon_SetValue(v1, MON_DATA_GENDER, NULL); + Pokemon_SetData(v1, MON_DATA_GENDER, NULL); - if (Pokemon_GetValue(v1, MON_DATA_IS_EGG, NULL) == 0) { + if (Pokemon_GetData(v1, MON_DATA_IS_EGG, NULL) == 0) { u8 v3 = 70; - Pokemon_SetValue(v1, MON_DATA_FRIENDSHIP, &v3); + Pokemon_SetData(v1, MON_DATA_FRIENDSHIP, &v3); } UpdateMonStatusAndTrainerInfo(v1, CommInfo_TrainerInfo(CommSys_CurNetId()), 5, 0, HEAP_ID_FIELD2); @@ -2509,7 +2509,7 @@ static void ov88_0223E7F0(JournalEntry *journalEntry, Pokemon *mon) TrainerInfo *trainerInfo = CommInfo_TrainerInfo(CommSys_CurNetId() ^ 1); u16 nickname[MON_NAME_LEN + 1]; - Pokemon_GetValue(mon, MON_DATA_NICKNAME, nickname); + Pokemon_GetData(mon, MON_DATA_NICKNAME, nickname); journalEntryOnlineEvent = JournalEntry_CreateEventGotPokemonFromTrade((u16 *)TrainerInfo_Name(trainerInfo), TrainerInfo_Gender(trainerInfo), nickname, Pokemon_GetGender(mon), 26); JournalEntry_SaveData(journalEntry, journalEntryOnlineEvent, JOURNAL_ONLINE_EVENT); } @@ -2573,7 +2573,7 @@ static int ov88_0223E914(UnkStruct_02095E80 *param0) for (v0 = 0; v0 < v1; v0++) { v2 = Party_GetPokemonBySlotIndex(param0->unk_2270, v0); - if (Pokemon_GetValue(v2, MON_DATA_CHECKSUM_FAILED, NULL)) { + if (Pokemon_GetData(v2, MON_DATA_CHECKSUM_FAILED, NULL)) { return 1; } } @@ -2583,7 +2583,7 @@ static int ov88_0223E914(UnkStruct_02095E80 *param0) for (v0 = 0; v0 < v1; v0++) { v2 = Party_GetPokemonBySlotIndex(param0->unk_2274, v0); - if (Pokemon_GetValue(v2, MON_DATA_CHECKSUM_FAILED, NULL)) { + if (Pokemon_GetData(v2, MON_DATA_CHECKSUM_FAILED, NULL)) { return 2; } } diff --git a/src/overlay094/screens/deposit.c b/src/overlay094/screens/deposit.c index 802c089694..54cf33e74e 100644 --- a/src/overlay094/screens/deposit.c +++ b/src/overlay094/screens/deposit.c @@ -589,7 +589,7 @@ int ov94_02241B80(GTSPokemonRequirements *requirements, int genderRatio) case GENDER_RATIO_FEMALE_ONLY: requirements->gender = GENDER_FEMALE + 1; return TRUE; - case GENDER_RATIO_NO_GENDER: + case GENDER_RATIO_UNKNOWN: requirements->gender = GENDER_NONE + 1; return TRUE; } @@ -624,7 +624,7 @@ static int ov94_02241BAC(GTSApplicationState *appState) Window_Remove(&appState->unk_F9C[1]); appState->unk_B74.species = input; Sound_PlayEffect(SEQ_SE_CONFIRM); - appState->unk_10E4->unk_20 = SpeciesData_GetSpeciesValue(input, SPECIES_DATA_GENDER_RATIO); + appState->unk_10E4->unk_20 = Species_GetValue(input, SPECIES_DATA_GENDER_RATIO); if (ov94_02241B80(&appState->unk_B74, appState->unk_10E4->unk_20)) { appState->currentScreenInstruction = 10; @@ -939,10 +939,10 @@ static void ov94_022423FC(MessageLoader *gtsMessageLoader, StringTemplate *templ String *nicknameString = String_Init(10 + 1, HEAP_ID_62); String *genderString = String_Init(10 + 1, HEAP_ID_62); - BoxPokemon_GetValue(boxMon, MON_DATA_NICKNAME_STRING, nicknameString); + BoxPokemon_GetData(boxMon, MON_DATA_NICKNAME_STRING, nicknameString); - int gender = BoxPokemon_GetValue(boxMon, MON_DATA_GENDER, NULL) + 1; - int level = BoxPokemon_GetLevel(boxMon); + int gender = BoxPokemon_GetData(boxMon, MON_DATA_GENDER, NULL) + 1; + int level = BoxPokemon_CalcLevel(boxMon); offerString = MessageLoader_GetNewString(gtsMessageLoader, GTS_Text_OfferPokemonHeader); StringTemplate_SetNumber(template, 3, level, 3, 0, 1); @@ -964,7 +964,7 @@ static void ov94_022423FC(MessageLoader *gtsMessageLoader, StringTemplate *templ ov94_02245900(&windows[1], genderString, 70, 0, 0, sGenderTextColors[gender - 1]); } - criteria->species = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); + criteria->species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); criteria->gender = gender; criteria->level = level; @@ -1007,12 +1007,12 @@ u8 *ov94_02242548(int heapID) void ov94_022425A8(GTSPokemonListing *listing, GTSApplicationState *appState) { if (GTSApplication_IsBoxIDParty(appState->selectedBoxId)) { - Pokemon_SetShayminForm((Pokemon *)(appState->unk_114), SHAYMIN_FORM_LAND); + Pokemon_UpdateShayminForm((Pokemon *)(appState->unk_114), SHAYMIN_FORM_LAND); - MI_CpuCopyFast(appState->unk_114, listing->pokemon.bytes, Pokemon_StructSize()); + MI_CpuCopyFast(appState->unk_114, listing->pokemon.bytes, Pokemon_Size()); } else { - BoxPokemon_SetShayminForm(appState->unk_114, SHAYMIN_FORM_LAND); - Pokemon_FromBoxPokemon(appState->unk_114, (Pokemon *)listing->pokemon.bytes); + BoxPokemon_UpdateShayminForm(appState->unk_114, SHAYMIN_FORM_LAND); + BoxPokemon_CopyToPokemon(appState->unk_114, (Pokemon *)listing->pokemon.bytes); } CharCode_CopyNumChars(listing->unk_10C, TrainerInfo_Name(appState->playerData->trainerInfo), 8); diff --git a/src/overlay094/screens/listing.c b/src/overlay094/screens/listing.c index 3e46519d6c..ac7864262e 100644 --- a/src/overlay094/screens/listing.c +++ b/src/overlay094/screens/listing.c @@ -77,7 +77,7 @@ int GTSApplication_Listing_Init(GTSApplicationState *appState, int unused) ov94_0223D2E8(appState); ov94_0223D438(appState); ov94_0223D3DC(appState); - ov94_0223D910(appState->gtsMessageLoader, appState->speciesMessageLoader, appState->stringTemplate, &appState->unk_FCC[0], Pokemon_GetBoxPokemon((Pokemon *)appState->receivedListing.pokemon.bytes), &appState->receivedListing.unk_EC); + ov94_0223D910(appState->gtsMessageLoader, appState->speciesMessageLoader, appState->stringTemplate, &appState->unk_FCC[0], Pokemon_GetBoxMon((Pokemon *)appState->receivedListing.pokemon.bytes), &appState->receivedListing.unk_EC); Pokemon *mon = (Pokemon *)appState->receivedListing.pokemon.bytes; @@ -483,7 +483,7 @@ static void ov94_0223D88C(GTSApplicationState *param0, int param1, int param2, i { String *v0; - StringTemplate_SetSpeciesName(param0->stringTemplate, 0, Pokemon_GetBoxPokemon(param5)); + StringTemplate_SetSpeciesName(param0->stringTemplate, 0, Pokemon_GetBoxMon(param5)); v0 = MessageLoader_GetNewString(param0->gtsMessageLoader, param1); StringTemplate_Format(param0->stringTemplate, param0->genericMessageBuffer, v0); Window_FillTilemap(¶m0->bottomInstructionWindow, 0xf0f); @@ -507,12 +507,12 @@ void ov94_0223D910(MessageLoader *param0, MessageLoader *param1, StringTemplate String *v5 = String_Init((8 + 1) * 2, HEAP_ID_62); int gender, level, item, v9, species; - BoxPokemon_GetValue(boxMon, MON_DATA_NICKNAME_STRING, v4); + BoxPokemon_GetData(boxMon, MON_DATA_NICKNAME_STRING, v4); species = param5->species; gender = param5->gender; level = param5->level; - item = BoxPokemon_GetValue(boxMon, MON_DATA_HELD_ITEM, NULL); + item = BoxPokemon_GetData(boxMon, MON_DATA_HELD_ITEM, NULL); v3 = MessageLoader_GetNewString(param0, GTS_Text_Item); v1 = MessageLoader_GetNewString(param0, gGTSGenderPreferenceMessages[gender]); @@ -558,7 +558,7 @@ void ov94_0223DA78(MessageLoader *param0, Window param1[], u16 *param2, Pokemon String_CopyChars(v0, param2); v2 = MessageLoader_GetNewString(param0, pl_msg_00000671_00172); - Pokemon_GetValue(param3, MON_DATA_OT_NAME_STRING, v3); + Pokemon_GetData(param3, MON_DATA_OT_NAME_STRING, v3); ov94_02245900(¶m1[0], v1, 0, 0, 0, TEXT_COLOR(15, 2, 0)); ov94_02245900(¶m1[1], v0, 0, 0, 0, TEXT_COLOR(15, 2, 0)); @@ -579,8 +579,8 @@ void ov94_0223DB2C(Pokemon *param0) Pokemon_BuildSpriteTemplate(&v0, param0, 2); { - int personality = Pokemon_GetValue(param0, MON_DATA_PERSONALITY, NULL); - enum Species species = Pokemon_GetValue(param0, MON_DATA_SPECIES, NULL); + int personality = Pokemon_GetData(param0, MON_DATA_PERSONALITY, NULL); + enum Species species = Pokemon_GetData(param0, MON_DATA_SPECIES, NULL); CharacterSprite_LoadPokemonSpriteRect(v0.narcID, v0.character, HEAP_ID_62, 0, 0, 10, 10, v1, personality, FALSE, FACE_FRONT, species); } diff --git a/src/overlay094/screens/network_handler.c b/src/overlay094/screens/network_handler.c index 59b8d312a2..dab6e9288d 100644 --- a/src/overlay094/screens/network_handler.c +++ b/src/overlay094/screens/network_handler.c @@ -773,7 +773,7 @@ static int GTSApplication_NetworkHandler_GetListingStatusResponse(GTSApplication Pokemon *tempPokemon = Pokemon_New(HEAP_ID_62); GlobalTrade_CopyStoredPokemon(appState->playerData->globalTrade, tempPokemon); - StringTemplate_SetNickname(appState->stringTemplate, 0, Pokemon_GetBoxPokemon(tempPokemon)); + StringTemplate_SetNickname(appState->stringTemplate, 0, Pokemon_GetBoxMon(tempPokemon)); appState->depositReturnError = pl_msg_00000671_00002; appState->currentScreenInstruction = 34; @@ -793,7 +793,7 @@ static int GTSApplication_NetworkHandler_GetListingStatusResponse(GTSApplication Pokemon *tempPokemon = Pokemon_New(HEAP_ID_62); GlobalTrade_CopyStoredPokemon(appState->playerData->globalTrade, tempPokemon); - StringTemplate_SetNickname(appState->stringTemplate, 0, Pokemon_GetBoxPokemon(tempPokemon)); + StringTemplate_SetNickname(appState->stringTemplate, 0, Pokemon_GetBoxMon(tempPokemon)); appState->depositReturnError = pl_msg_00000671_00003; appState->currentScreenInstruction = 34; @@ -1220,7 +1220,7 @@ static void ov94_02243B08(GTSApplicationState *param0, int param1) if (param0->selectedBoxId != MAX_PC_BOXES) { Pokemon *v0 = Pokemon_New(HEAP_ID_62); - Pokemon_FromBoxPokemon(PCBoxes_GetBoxMonAt(param0->playerData->pcBoxes, param0->selectedBoxId, param0->unk_112), v0); + BoxPokemon_CopyToPokemon(PCBoxes_GetBoxMonAt(param0->playerData->pcBoxes, param0->selectedBoxId, param0->unk_112), v0); sub_0202DA7C(param0->playerData->globalTrade, v0, param0->selectedBoxId); PCBoxes_InitBoxMonAt(param0->playerData->pcBoxes, param0->selectedBoxId, param0->unk_112); Heap_Free(v0); @@ -1244,7 +1244,7 @@ static void ov94_02243B08(GTSApplicationState *param0, int param1) static void GTSApplication_NetworkHandler_StorePokemonFromDepositing(GTSApplicationState *appState, Pokemon *pokemon, int boxIndex, int exchangedFromRemote) { - int unused = Pokemon_GetValue(pokemon, MON_DATA_HELD_ITEM, NULL); + int unused = Pokemon_GetData(pokemon, MON_DATA_HELD_ITEM, NULL); SaveData_UpdateCatchRecords(appState->playerData->saveData, pokemon); boxIndex = MAX_PC_BOXES; @@ -1257,8 +1257,8 @@ static void GTSApplication_NetworkHandler_StorePokemonFromDepositing(GTSApplicat if (exchangedFromRemote) { u8 friendship = BASE_FRIENDSHIP_VALUE; - if (Pokemon_GetValue(pokemon, MON_DATA_SPECIES, NULL) == SPECIES_ARCEUS) { - if (Pokemon_GetValue(pokemon, MON_DATA_FATEFUL_ENCOUNTER, NULL) || ((Pokemon_GetValue(pokemon, MON_DATA_MET_LOCATION, NULL) == LocationNames_Text_HallOfOrigin) && (Pokemon_GetValue(pokemon, MON_DATA_FATEFUL_ENCOUNTER, NULL) == FALSE))) { + if (Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL) == SPECIES_ARCEUS) { + if (Pokemon_GetData(pokemon, MON_DATA_FATEFUL_ENCOUNTER, NULL) || ((Pokemon_GetData(pokemon, MON_DATA_MET_LOCATION, NULL) == LocationNames_Text_HallOfOrigin) && (Pokemon_GetData(pokemon, MON_DATA_FATEFUL_ENCOUNTER, NULL) == FALSE))) { VarsFlags *varsFlags = SaveData_GetVarsFlags(appState->playerData->saveData); if (SystemVars_GetArceusEventState(varsFlags) == FALSE) { @@ -1267,8 +1267,8 @@ static void GTSApplication_NetworkHandler_StorePokemonFromDepositing(GTSApplicat } } - Pokemon_SetValue(pokemon, MON_DATA_FRIENDSHIP, &friendship); - Pokemon_SetValue(pokemon, MON_DATA_GENDER, NULL); + Pokemon_SetData(pokemon, MON_DATA_FRIENDSHIP, &friendship); + Pokemon_SetData(pokemon, MON_DATA_GENDER, NULL); GTS_SetTradedTimestamp(appState->playerData->globalTrade, GTS_TIMESTAMPS_TRADE_BY_DEPOSITING); } @@ -1283,7 +1283,7 @@ static void GTSApplication_NetworkHandler_StorePokemonFromDepositing(GTSApplicat int boxPosition = 0; PCBoxes_TryGetNextAvailableSpace(appState->playerData->pcBoxes, &boxIndex, &boxPosition); - PCBoxes_TryStoreBoxMonInBox(appState->playerData->pcBoxes, boxIndex, Pokemon_GetBoxPokemon(pokemon)); + PCBoxes_TryStoreBoxMonInBox(appState->playerData->pcBoxes, boxIndex, Pokemon_GetBoxMon(pokemon)); appState->tradedPokemonLocation.boxIndex = boxIndex; appState->tradedPokemonLocation.index = boxPosition; @@ -1302,8 +1302,8 @@ static void GTSApplication_NetworkHandler_StorePokemonFromSearching(GTSApplicati boxIndex = 0; } - if (Pokemon_GetValue(pokemon, MON_DATA_SPECIES, NULL) == SPECIES_ARCEUS) { - if (Pokemon_GetValue(pokemon, MON_DATA_FATEFUL_ENCOUNTER, NULL) || ((Pokemon_GetValue(pokemon, MON_DATA_MET_LOCATION, NULL) == LocationNames_Text_HallOfOrigin) && (Pokemon_GetValue(pokemon, MON_DATA_FATEFUL_ENCOUNTER, NULL) == FALSE))) { + if (Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL) == SPECIES_ARCEUS) { + if (Pokemon_GetData(pokemon, MON_DATA_FATEFUL_ENCOUNTER, NULL) || ((Pokemon_GetData(pokemon, MON_DATA_MET_LOCATION, NULL) == LocationNames_Text_HallOfOrigin) && (Pokemon_GetData(pokemon, MON_DATA_FATEFUL_ENCOUNTER, NULL) == FALSE))) { VarsFlags *varsFlags = SaveData_GetVarsFlags(appState->playerData->saveData); if (SystemVars_GetArceusEventState(varsFlags) == FALSE) { @@ -1313,9 +1313,9 @@ static void GTSApplication_NetworkHandler_StorePokemonFromSearching(GTSApplicati } u8 friendship = BASE_FRIENDSHIP_VALUE; - Pokemon_SetValue(pokemon, MON_DATA_FRIENDSHIP, &friendship); + Pokemon_SetData(pokemon, MON_DATA_FRIENDSHIP, &friendship); - Pokemon_SetValue(pokemon, MON_DATA_GENDER, NULL); + Pokemon_SetData(pokemon, MON_DATA_GENDER, NULL); if (boxIndex == MAX_PC_BOXES) { Party_AddPokemon(appState->playerData->party, pokemon); @@ -1327,7 +1327,7 @@ static void GTSApplication_NetworkHandler_StorePokemonFromSearching(GTSApplicati int boxPosition = 0; PCBoxes_TryGetNextAvailableSpace(appState->playerData->pcBoxes, &boxIndex, &boxPosition); - PCBoxes_TryStoreBoxMonInBox(appState->playerData->pcBoxes, boxIndex, Pokemon_GetBoxPokemon(pokemon)); + PCBoxes_TryStoreBoxMonInBox(appState->playerData->pcBoxes, boxIndex, Pokemon_GetBoxMon(pokemon)); appState->tradedPokemonLocation.boxIndex = boxIndex; appState->tradedPokemonLocation.index = boxPosition; @@ -1364,7 +1364,7 @@ static void GTS_LogTradeInJournal(JournalEntry *journalEntry, GTSPokemonListing u16 nickname[MON_NAME_LEN + 1]; Pokemon *mon = (Pokemon *)listing->pokemon.bytes; - Pokemon_GetValue(mon, MON_DATA_NICKNAME, nickname); + Pokemon_GetData(mon, MON_DATA_NICKNAME, nickname); journalEntryOnlineEvent = JournalEntry_CreateEventGotPokemonGTS(listing->unk_10C, listing->unk_F6, nickname, Pokemon_GetGender(mon), 62); JournalEntry_SaveData(journalEntry, journalEntryOnlineEvent, JOURNAL_ONLINE_EVENT); } diff --git a/src/overlay094/screens/search.c b/src/overlay094/screens/search.c index be850f81e9..a0af4e3fa6 100644 --- a/src/overlay094/screens/search.c +++ b/src/overlay094/screens/search.c @@ -415,7 +415,7 @@ static int ov94_0223EA84(GTSApplicationState *param0) break; case 1: if (param0->unk_B7A.species != 0) { - param0->unk_10E4->unk_20 = SpeciesData_GetSpeciesValue(param0->unk_B7A.species, SPECIES_DATA_GENDER_RATIO); + param0->unk_10E4->unk_20 = Species_GetValue(param0->unk_B7A.species, SPECIES_DATA_GENDER_RATIO); if (ov94_02241B80(¶m0->unk_B7A, param0->unk_10E4->unk_20)) { Sound_PlayEffect(SEQ_SE_CONFIRM); @@ -827,7 +827,7 @@ static int ov94_0223F2B0(GTSApplicationState *param0) Window_FillTilemap(¶m0->unk_FCC[1], 0x0); ov94_02242158(¶m0->unk_FCC[1], param0->speciesMessageLoader, v0, 0, 0, TEXT_COLOR(1, 2, 0)); - param0->unk_10E4->unk_20 = SpeciesData_GetSpeciesValue(v0, SPECIES_DATA_GENDER_RATIO); + param0->unk_10E4->unk_20 = Species_GetValue(v0, SPECIES_DATA_GENDER_RATIO); ov94_02242AC4(¶m0->unk_111C, param0->unk_10E4->unk_06 + param0->unk_10E4->unk_04, param0->unk_10E4->unk_0A, param0->unk_10E4->unk_08); if (ov94_02241B80(¶m0->unk_B7A, param0->unk_10E4->unk_20)) { diff --git a/src/overlay094/screens/search_listing.c b/src/overlay094/screens/search_listing.c index f301594429..454d93e61e 100644 --- a/src/overlay094/screens/search_listing.c +++ b/src/overlay094/screens/search_listing.c @@ -71,7 +71,7 @@ int GTSApplication_SearchListing_Init(GTSApplicationState *appState, int unused1 ov94_0223DE04(appState); ov94_0223DED8(appState); ov94_0223DE7C(appState); - ov94_0223D910(appState->gtsMessageLoader, appState->speciesMessageLoader, appState->stringTemplate, &appState->unk_FCC[0], Pokemon_GetBoxPokemon((Pokemon *)appState->searchResults[appState->selectedSearchResult].pokemon.bytes), &appState->searchResults[appState->selectedSearchResult].unk_EC); + ov94_0223D910(appState->gtsMessageLoader, appState->speciesMessageLoader, appState->stringTemplate, &appState->unk_FCC[0], Pokemon_GetBoxMon((Pokemon *)appState->searchResults[appState->selectedSearchResult].pokemon.bytes), &appState->searchResults[appState->selectedSearchResult].unk_EC); Pokemon *mon = (Pokemon *)appState->searchResults[appState->selectedSearchResult].pokemon.bytes; diff --git a/src/overlay094/screens/select_pokemon.c b/src/overlay094/screens/select_pokemon.c index f269d3a87b..176eb2d922 100644 --- a/src/overlay094/screens/select_pokemon.c +++ b/src/overlay094/screens/select_pokemon.c @@ -732,7 +732,7 @@ static int ov94_02240688(GTSApplicationState *param0) v2 = Party_GetPokemonBySlotIndex(param0->playerData->party, param0->unk_112); - if (Pokemon_GetValue(v2, MON_DATA_BALL_CAPSULE_ID, NULL)) { + if (Pokemon_GetData(v2, MON_DATA_BALL_CAPSULE_ID, NULL)) { v1 = 1; param0->currentScreenInstruction = 14; } @@ -824,7 +824,7 @@ static int ov94_022408E8(GTSApplicationState *param0) v2 = Party_GetPokemonBySlotIndex(param0->playerData->party, param0->unk_112); - if (Pokemon_GetValue(v2, MON_DATA_BALL_CAPSULE_ID, NULL)) { + if (Pokemon_GetData(v2, MON_DATA_BALL_CAPSULE_ID, NULL)) { v1 = 1; param0->currentScreenInstruction = 11; } @@ -1048,7 +1048,7 @@ static void ov94_02240DF8(int param0, int param1, int param2, int param3, Sprite static void ov94_02240E50(BoxPokemon *boxMon, GTSPokemonCriteria *param1) { - param1->level = BoxPokemon_GetLevel(boxMon); + param1->level = BoxPokemon_CalcLevel(boxMon); } static void ov94_02240E5C(void *param0) @@ -1073,23 +1073,23 @@ static void ov94_02240EAC(BoxPokemon *boxMon, Sprite *param1, Sprite *param2, u1 { int v0, item, isEgg, form; - BoxPokemon_EnterDecryptionContext(boxMon); + BoxPokemon_DecryptData(boxMon); - v0 = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES_EXISTS, NULL); - *species = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); + v0 = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES_EXISTS, NULL); + *species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); - form = BoxPokemon_GetValue(boxMon, MON_DATA_FORM, NULL); - isEgg = BoxPokemon_GetValue(boxMon, MON_DATA_IS_EGG, NULL); - item = BoxPokemon_GetValue(boxMon, MON_DATA_HELD_ITEM, NULL); + form = BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL); + isEgg = BoxPokemon_GetData(boxMon, MON_DATA_IS_EGG, NULL); + item = BoxPokemon_GetData(boxMon, MON_DATA_HELD_ITEM, NULL); param6->species = *species; - param6->gender = BoxPokemon_GetValue(boxMon, MON_DATA_GENDER, NULL) + 1; + param6->gender = BoxPokemon_GetData(boxMon, MON_DATA_GENDER, NULL) + 1; if (isEgg) { param6->level = 0; } - BoxPokemon_ExitDecryptionContext(boxMon, 1); + BoxPokemon_EncryptData(boxMon, 1); if (v0) { ov94_02240DF8(*species, form, isEgg, param4, param1, param5, param7); @@ -1146,12 +1146,12 @@ static void ov94_02240FA0(GTSApplicationState *appState, int boxID) for (i = 0; i < partyCount; i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(appState->playerData->party, i); - BoxPokemon *boxMon = Pokemon_GetBoxPokemon(mon); + BoxPokemon *boxMon = Pokemon_GetBoxMon(mon); ov94_02240E50(boxMon, &appState->boxCriteria->criteria[i]); ov94_02240EAC(boxMon, appState->unk_E28[i], appState->unk_EA0[i], &species[i], i, v6, &appState->boxCriteria->criteria[i], &icons[i]); - if (Pokemon_GetValue(mon, MON_DATA_BALL_CAPSULE_ID, NULL)) { + if (Pokemon_GetData(mon, MON_DATA_BALL_CAPSULE_ID, NULL)) { Sprite_SetDrawFlag(appState->selectPokemonPartySprites[i], 1); } else { Sprite_SetDrawFlag(appState->selectPokemonPartySprites[i], 0); @@ -1196,7 +1196,7 @@ BoxPokemon *ov94_022411DC(Party *party, PCBoxes *pcBoxes, int boxID, int slot) return NULL; } - return Pokemon_GetBoxPokemon(Party_GetPokemonBySlotIndex(party, slot)); + return Pokemon_GetBoxMon(Party_GetPokemonBySlotIndex(party, slot)); } return PCBoxes_GetBoxMonAt(pcBoxes, boxID, slot); @@ -1229,13 +1229,13 @@ static const u16 sUnusedRibbons[] = { static int BoxPokemon_HasUnusedRibbons(BoxPokemon *boxMon) { int count = 0; - int reencrypt = BoxPokemon_EnterDecryptionContext(boxMon); + int reencrypt = BoxPokemon_DecryptData(boxMon); for (int i = 0; i < (int)NELEMS(sUnusedRibbons); i++) { - count += BoxPokemon_GetValue(boxMon, sUnusedRibbons[i], NULL); + count += BoxPokemon_GetData(boxMon, sUnusedRibbons[i], NULL); } - BoxPokemon_ExitDecryptionContext(boxMon, reencrypt); + BoxPokemon_EncryptData(boxMon, reencrypt); if (count) { return TRUE; @@ -1246,11 +1246,11 @@ static int BoxPokemon_HasUnusedRibbons(BoxPokemon *boxMon) static BOOL BoxPokemon_FormNotInDP(BoxPokemon *boxMon) { - int reencrypt = BoxPokemon_EnterDecryptionContext(boxMon); - int species = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); - int form = BoxPokemon_GetValue(boxMon, MON_DATA_FORM, NULL); + int reencrypt = BoxPokemon_DecryptData(boxMon); + int species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); + int form = BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL); - BoxPokemon_ExitDecryptionContext(boxMon, reencrypt); + BoxPokemon_EncryptData(boxMon, reencrypt); if (form > 0) { switch (species) { @@ -1266,10 +1266,10 @@ static BOOL BoxPokemon_FormNotInDP(BoxPokemon *boxMon) static BOOL BoxPokemon_HeldItemNotInDP(BoxPokemon *boxMon) { - int reencrypt = BoxPokemon_EnterDecryptionContext(boxMon); - int item = BoxPokemon_GetValue(boxMon, MON_DATA_HELD_ITEM, NULL); + int reencrypt = BoxPokemon_DecryptData(boxMon); + int item = BoxPokemon_GetData(boxMon, MON_DATA_HELD_ITEM, NULL); - BoxPokemon_ExitDecryptionContext(boxMon, reencrypt); + BoxPokemon_EncryptData(boxMon, reencrypt); switch (item) { case ITEM_GRISEOUS_ORB: @@ -1287,11 +1287,11 @@ static int ov94_022412F4(Party *param0, PCBoxes *pcBoxes, int param2, int param3 return 0; } - if (!BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES_EXISTS, NULL)) { + if (!BoxPokemon_GetData(boxMon, MON_DATA_SPECIES_EXISTS, NULL)) { return 0; } - if (BoxPokemon_GetValue(boxMon, MON_DATA_SANITY_IS_EGG, NULL)) { + if (BoxPokemon_GetData(boxMon, MON_DATA_SANITY_IS_EGG, NULL)) { return 2; } @@ -1333,9 +1333,9 @@ static int ov94_02241384(BoxPokemon *boxMon, GTSPokemonRequirements *param1) { GTSPokemonCriteria v0; - v0.species = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); - v0.gender = BoxPokemon_GetValue(boxMon, MON_DATA_GENDER, NULL) + 1; - v0.level = BoxPokemon_GetLevel(boxMon); + v0.species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); + v0.gender = BoxPokemon_GetData(boxMon, MON_DATA_GENDER, NULL) + 1; + v0.level = BoxPokemon_CalcLevel(boxMon); return GTSApplication_SelectPokemon_MatchesRequirements(&v0, param1); } @@ -1346,18 +1346,18 @@ static void ov94_022413BC(GTSPokemonListing *param0, GTSApplicationState *param1 GTSPokemonRequirements v1; BoxPokemon *boxMon; - v0.species = BoxPokemon_GetValue(param1->unk_114, MON_DATA_SPECIES, NULL); - v0.gender = BoxPokemon_GetValue(param1->unk_114, MON_DATA_GENDER, NULL) + 1; - v0.level = BoxPokemon_GetLevel(param1->unk_114); + v0.species = BoxPokemon_GetData(param1->unk_114, MON_DATA_SPECIES, NULL); + v0.gender = BoxPokemon_GetData(param1->unk_114, MON_DATA_GENDER, NULL) + 1; + v0.level = BoxPokemon_CalcLevel(param1->unk_114); param0->unk_EC = v0; ov94_022425A8(param0, param1); - boxMon = Pokemon_GetBoxPokemon((Pokemon *)param1->searchResults[param1->selectedSearchResult].pokemon.bytes); + boxMon = Pokemon_GetBoxMon((Pokemon *)param1->searchResults[param1->selectedSearchResult].pokemon.bytes); - v1.species = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); - v1.gender = BoxPokemon_GetValue(boxMon, MON_DATA_GENDER, NULL) + 1; + v1.species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); + v1.gender = BoxPokemon_GetData(boxMon, MON_DATA_GENDER, NULL) + 1; v1.level = 0; v1.level2 = 0; @@ -1379,7 +1379,7 @@ static void GTSApplication_SelectPokemon_DarkenNonMatchingMons(GTSPokemonCriteri BOOL Pokemon_IsHoldingMail(Pokemon *mon) { - if (Item_IsMail(Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL))) { + if (Item_IsMail(Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL))) { return TRUE; } diff --git a/src/overlay094/screens/trade.c b/src/overlay094/screens/trade.c index f2d4c3c725..907d586be7 100644 --- a/src/overlay094/screens/trade.c +++ b/src/overlay094/screens/trade.c @@ -37,7 +37,7 @@ int GTSApplication_Trade_Init(GTSApplicationState *appState, int unused1) switch (appState->screenArgument) { case SCREEN_ARGUMENT_DEPOSIT_POKEMON: - appState->tradeAnimationConfig.sendingPokemon = (BoxPokemon *)Pokemon_GetBoxPokemon((Pokemon *)appState->receivedListing.pokemon.bytes); + appState->tradeAnimationConfig.sendingPokemon = (BoxPokemon *)Pokemon_GetBoxMon((Pokemon *)appState->receivedListing.pokemon.bytes); appState->tradeAnimationConfig.receivingPokemon = appState->tradeAnimationConfig.sendingPokemon; appState->receivingPokemonTrainer = GTSPokemonListing_GetTrainerInfo(&appState->receivedListing); appState->tradeAnimationConfig.otherTrainer = appState->receivingPokemonTrainer; @@ -45,7 +45,7 @@ int GTSApplication_Trade_Init(GTSApplicationState *appState, int unused1) appState->tradeAnimationConfig.tradeType = TRADE_TYPE_SEND_ONLY; break; case SCREEN_ARGUMENT_TAKE_BACK_POKEMON: - appState->tradeAnimationConfig.receivingPokemon = (BoxPokemon *)Pokemon_GetBoxPokemon((Pokemon *)appState->receivedListing.pokemon.bytes); + appState->tradeAnimationConfig.receivingPokemon = (BoxPokemon *)Pokemon_GetBoxMon((Pokemon *)appState->receivedListing.pokemon.bytes); appState->tradeAnimationConfig.sendingPokemon = appState->tradeAnimationConfig.receivingPokemon; appState->receivingPokemonTrainer = GTSPokemonListing_GetTrainerInfo(&appState->receivedListing); appState->tradeAnimationConfig.otherTrainer = appState->receivingPokemonTrainer; @@ -53,9 +53,9 @@ int GTSApplication_Trade_Init(GTSApplicationState *appState, int unused1) appState->tradeAnimationConfig.tradeType = TRADE_TYPE_RECEIVE_ONLY; break; case SCREEN_ARGUMENT_10: - appState->tradeAnimationConfig.receivingPokemon = Pokemon_GetBoxPokemon((Pokemon *)appState->receivedListing.pokemon.bytes); + appState->tradeAnimationConfig.receivingPokemon = Pokemon_GetBoxMon((Pokemon *)appState->receivedListing.pokemon.bytes); GlobalTrade_CopyStoredPokemon(appState->playerData->globalTrade, appState->tradeTempPokemon); - appState->tradeAnimationConfig.sendingPokemon = Pokemon_GetBoxPokemon(appState->tradeTempPokemon); + appState->tradeAnimationConfig.sendingPokemon = Pokemon_GetBoxMon(appState->tradeTempPokemon); appState->receivingPokemonTrainer = GTSPokemonListing_GetTrainerInfo(&appState->receivedListing); appState->tradeAnimationConfig.otherTrainer = appState->receivingPokemonTrainer; appState->tradeAnimationConfig.background = TRADE_BACKGROUND_WIFI; @@ -63,8 +63,8 @@ int GTSApplication_Trade_Init(GTSApplicationState *appState, int unused1) break; case SCREEN_ARGUMENT_9: // from the search flow GlobalTrade_CopyStoredPokemon(appState->playerData->globalTrade, appState->tradeTempPokemon); - appState->tradeAnimationConfig.sendingPokemon = Pokemon_GetBoxPokemon(appState->tradeTempPokemon); - appState->tradeAnimationConfig.receivingPokemon = Pokemon_GetBoxPokemon((Pokemon *)appState->searchResults[appState->selectedSearchResult].pokemon.bytes); + appState->tradeAnimationConfig.sendingPokemon = Pokemon_GetBoxMon(appState->tradeTempPokemon); + appState->tradeAnimationConfig.receivingPokemon = Pokemon_GetBoxMon((Pokemon *)appState->searchResults[appState->selectedSearchResult].pokemon.bytes); appState->receivingPokemonTrainer = GTSPokemonListing_GetTrainerInfo(&appState->searchResults[appState->selectedSearchResult]); appState->tradeAnimationConfig.otherTrainer = appState->receivingPokemonTrainer; appState->tradeAnimationConfig.background = TRADE_BACKGROUND_WIFI; @@ -90,10 +90,10 @@ int GTSApplication_Trade_Main(GTSApplicationState *appState, int unused1) if (appState->screenArgument == SCREEN_ARGUMENT_9) { // search flow Pokemon *receivingPokemon = GTSApplication_Trade_GetTradedPokemon(appState, appState->screenArgument); - int heldItem = Pokemon_GetValue(receivingPokemon, MON_DATA_HELD_ITEM, NULL); + int heldItem = Pokemon_GetData(receivingPokemon, MON_DATA_HELD_ITEM, NULL); int evolutionType; - int evolvedSpecies = Pokemon_GetEvolutionTargetSpecies(NULL, receivingPokemon, EVO_CLASS_BY_TRADE, heldItem, &evolutionType); + int evolvedSpecies = Pokemon_GetEvolutionTarget(NULL, receivingPokemon, EVO_CONTEXT_TRADE, heldItem, &evolutionType); if (evolvedSpecies != SPECIES_NONE) { appState->evolutionData = Evolution_Begin(NULL, receivingPokemon, evolvedSpecies, appState->playerData->options, appState->playerData->showContestData, appState->playerData->pokedex, appState->playerData->bag, appState->playerData->records, SaveData_GetPoketch(appState->playerData->saveData), evolutionType, 0x4, HEAP_ID_62); @@ -108,11 +108,11 @@ int GTSApplication_Trade_Main(GTSApplicationState *appState, int unused1) GlobalTrade_CopyStoredPokemon(appState->playerData->globalTrade, storedPokemon); - if ((Pokemon_GetValue(tradedPokemon, MON_DATA_SPECIES, NULL) != Pokemon_GetValue(storedPokemon, MON_DATA_SPECIES, NULL)) || (Pokemon_GetValue(tradedPokemon, MON_DATA_PERSONALITY, NULL) != Pokemon_GetValue(storedPokemon, MON_DATA_PERSONALITY, NULL))) { - int heldItem = Pokemon_GetValue(tradedPokemon, MON_DATA_HELD_ITEM, NULL); + if ((Pokemon_GetData(tradedPokemon, MON_DATA_SPECIES, NULL) != Pokemon_GetData(storedPokemon, MON_DATA_SPECIES, NULL)) || (Pokemon_GetData(tradedPokemon, MON_DATA_PERSONALITY, NULL) != Pokemon_GetData(storedPokemon, MON_DATA_PERSONALITY, NULL))) { + int heldItem = Pokemon_GetData(tradedPokemon, MON_DATA_HELD_ITEM, NULL); int evolutionType; - int evolvedSpecies = Pokemon_GetEvolutionTargetSpecies(NULL, tradedPokemon, EVO_CLASS_BY_TRADE, heldItem, &evolutionType); + int evolvedSpecies = Pokemon_GetEvolutionTarget(NULL, tradedPokemon, EVO_CONTEXT_TRADE, heldItem, &evolutionType); if (evolvedSpecies != SPECIES_NONE) { appState->evolutionData = Evolution_Begin(NULL, tradedPokemon, evolvedSpecies, appState->playerData->options, appState->playerData->showContestData, appState->playerData->pokedex, appState->playerData->bag, appState->playerData->records, SaveData_GetPoketch(appState->playerData->saveData), evolutionType, 0x4, HEAP_ID_62); @@ -194,6 +194,6 @@ static void GTSApplication_Trade_StoreTradedPokemon(GTSApplicationState *appStat PCBoxes_InitBoxMonAt(appState->playerData->pcBoxes, appState->tradedPokemonLocation.boxIndex, appState->tradedPokemonLocation.index); PCBoxes_TryGetNextAvailableSpace(appState->playerData->pcBoxes, &boxIdx, &boxSpaceIdx); - PCBoxes_TryStoreBoxMonInBox(appState->playerData->pcBoxes, boxIdx, Pokemon_GetBoxPokemon(tradedPokemon)); + PCBoxes_TryStoreBoxMonInBox(appState->playerData->pcBoxes, boxIdx, Pokemon_GetBoxMon(tradedPokemon)); } } diff --git a/src/overlay095/ov95_02246C20.c b/src/overlay095/ov95_02246C20.c index f12e1b590b..71eace568e 100644 --- a/src/overlay095/ov95_02246C20.c +++ b/src/overlay095/ov95_02246C20.c @@ -144,10 +144,10 @@ int TradeSequence_Init(ApplicationManager *appMan, int *param1) tradeData->unk_18 = SpriteList_InitRendering(64, &tradeData->unk_1C, HEAP_ID_57); SetSubScreenViewRect(&(tradeData->unk_1C), 0, (192 + 40 << FX32_SHIFT)); - tradeData->unk_1B0 = BoxPokemon_GetValue((BoxPokemon *)(tradeData->animationConfig->sendingPokemon), MON_DATA_SPECIES, NULL); - tradeData->unk_1B2 = BoxPokemon_GetValue((BoxPokemon *)(tradeData->animationConfig->sendingPokemon), MON_DATA_FORM, NULL); - tradeData->unk_1B4 = BoxPokemon_GetValue((BoxPokemon *)(tradeData->animationConfig->receivingPokemon), MON_DATA_SPECIES, NULL); - tradeData->unk_1B6 = BoxPokemon_GetValue((BoxPokemon *)(tradeData->animationConfig->receivingPokemon), MON_DATA_FORM, NULL); + tradeData->unk_1B0 = BoxPokemon_GetData((BoxPokemon *)(tradeData->animationConfig->sendingPokemon), MON_DATA_SPECIES, NULL); + tradeData->unk_1B2 = BoxPokemon_GetData((BoxPokemon *)(tradeData->animationConfig->sendingPokemon), MON_DATA_FORM, NULL); + tradeData->unk_1B4 = BoxPokemon_GetData((BoxPokemon *)(tradeData->animationConfig->receivingPokemon), MON_DATA_SPECIES, NULL); + tradeData->unk_1B6 = BoxPokemon_GetData((BoxPokemon *)(tradeData->animationConfig->receivingPokemon), MON_DATA_FORM, NULL); tradeData->unk_1B8 = NULL; SetVBlankCallback(NULL, NULL); @@ -170,10 +170,10 @@ int TradeSequence_Init(ApplicationManager *appMan, int *param1) static BOOL DoesMonSpeciesFlipsSprite(BoxPokemon *boxMon) { - int species = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); - int form = BoxPokemon_GetValue(boxMon, MON_DATA_FORM, NULL); + int species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); + int form = BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL); - return SpeciesData_GetFormValue(species, form, SPECIES_DATA_FLIP_SPRITE) == FALSE; + return Species_GetFormValue(species, form, SPECIES_DATA_FLIP_SPRITE) == FALSE; } int TradeSequence_Exit(ApplicationManager *appMan, int *param1) @@ -540,12 +540,12 @@ void ov95_022473E8(TradeSequenceData *param0, int param1, u32 param2, u32 param3 u16 species; v5 = (BoxPokemon *)((param1 == 0) ? param0->animationConfig->sendingPokemon : param0->animationConfig->receivingPokemon); - v6 = BoxPokemon_EnterDecryptionContext(v5); + v6 = BoxPokemon_DecryptData(v5); BoxPokemon_BuildSpriteTemplate(&v0, v5, 2, 0); - personality = BoxPokemon_GetValue(v5, MON_DATA_PERSONALITY, NULL); - species = BoxPokemon_GetValue(v5, MON_DATA_SPECIES, NULL); + personality = BoxPokemon_GetData(v5, MON_DATA_PERSONALITY, NULL); + species = BoxPokemon_GetData(v5, MON_DATA_SPECIES, NULL); if (param4) { v4.width *= 2; @@ -555,7 +555,7 @@ void ov95_022473E8(TradeSequenceData *param0, int param1, u32 param2, u32 param3 DC_FlushRange(v3, v2); Bg_LoadTiles(param0->unk_08, param2, v3, v2, 0); - BoxPokemon_ExitDecryptionContext(v5, v6); + BoxPokemon_EncryptData(v5, v6); Heap_Free(v3); } diff --git a/src/overlay095/ov95_02247B6C.c b/src/overlay095/ov95_02247B6C.c index 311bfb872b..72b4f19f8d 100644 --- a/src/overlay095/ov95_02247B6C.c +++ b/src/overlay095/ov95_02247B6C.c @@ -345,7 +345,7 @@ static int ov95_02247F04(UnkStruct_ov95_02247C6C *param0, int *param1) { const BoxPokemon *v6 = TradeSequence_GetSendingPokemon(param0->unk_00); - if (BoxPokemon_GetValue((BoxPokemon *)v6, MON_DATA_IS_EGG, NULL) == 0) { + if (BoxPokemon_GetData((BoxPokemon *)v6, MON_DATA_IS_EGG, NULL) == 0) { u8 delay; PokemonSprite_InitAnim(param0->unk_10, 1); diff --git a/src/overlay095/ov95_0224B3D8.c b/src/overlay095/ov95_0224B3D8.c index 10af2aedc4..2e7ade9dc6 100644 --- a/src/overlay095/ov95_0224B3D8.c +++ b/src/overlay095/ov95_0224B3D8.c @@ -357,7 +357,7 @@ static int ov95_0224B71C(UnkStruct_ov95_0224B4D4 *param0, int *param1) if (ov95_0224BC00(param0)) { const BoxPokemon *v0 = TradeSequence_GetReceivingPokemon(param0->unk_00); - if (BoxPokemon_GetValue((BoxPokemon *)v0, MON_DATA_IS_EGG, NULL) == 0) { + if (BoxPokemon_GetData((BoxPokemon *)v0, MON_DATA_IS_EGG, NULL) == 0) { u8 delay; PokemonSprite_LoadCryDelay(param0->unk_84, &delay, ov95_02247660(param0->unk_00), 1); diff --git a/src/overlay104/ov104_0222DCE0.c b/src/overlay104/ov104_0222DCE0.c index 91773485a5..f030c21d81 100644 --- a/src/overlay104/ov104_0222DCE0.c +++ b/src/overlay104/ov104_0222DCE0.c @@ -163,9 +163,9 @@ u32 ov104_0222DD6C(FrontierPokemonDataDTO *param0, u16 param1, u32 param2, u32 p param0->item = v4.item; } - u8 friendship = MAX_FRIENDSHIP_VALUE; + u8 friendship = MAX_FRIENDSHIP; - for (v0 = 0; v0 < LEARNED_MOVES_MAX; v0++) { + for (v0 = 0; v0 < MAX_MON_MOVES; v0++) { param0->moves[v0] = v4.moves[v0]; if (v4.moves[v0] == MOVE_FRUSTRATION) { @@ -178,7 +178,7 @@ u32 ov104_0222DD6C(FrontierPokemonDataDTO *param0, u16 param1, u32 param2, u32 p if (param3 == 0) { do { v2 = (LCRNG_Next() | LCRNG_Next() << 16); - } while ((v4.nature != Pokemon_GetNatureOf(v2)) || (Pokemon_IsPersonalityShiny(param2, v2) == TRUE)); + } while ((v4.nature != Personality_GetNature(v2)) || (Personality_IsShiny(param2, v2) == TRUE)); param0->personality = v2; } else { @@ -216,16 +216,16 @@ u32 ov104_0222DD6C(FrontierPokemonDataDTO *param0, u16 param1, u32 param2, u32 p param0->combinedPPUps = 0; param0->language = gGameLanguage; - v0 = SpeciesData_GetSpeciesValue(param0->species, SPECIES_DATA_ABILITY_2); + v0 = Species_GetValue(param0->species, SPECIES_DATA_ABILITY_2); if (v0) { if (param0->personality & 1) { param0->ability = v0; } else { - param0->ability = SpeciesData_GetSpeciesValue(param0->species, SPECIES_DATA_ABILITY_1); + param0->ability = Species_GetValue(param0->species, SPECIES_DATA_ABILITY_1); } } else { - param0->ability = SpeciesData_GetSpeciesValue(param0->species, SPECIES_DATA_ABILITY_1); + param0->ability = Species_GetValue(param0->species, SPECIES_DATA_ABILITY_1); } param0->friendship = friendship; @@ -254,62 +254,62 @@ void ov104_0222DF40(const FrontierPokemonDataDTO *param0, Pokemon *param1, u8 pa v1 = (param0->combinedIVs & 0x3FFFFFFF); - Pokemon_InitWith(param1, param0->species, v4, v1, TRUE, param0->personality, OTID_NOT_SHINY, 0); - Pokemon_SetValue(param1, MON_DATA_COMBINED_IVS, &v1); + Pokemon_InitWithParams(param1, param0->species, v4, v1, TRUE, param0->personality, OT_ID_RANDOM_NO_SHINY, 0); + Pokemon_SetData(param1, MON_DATA_COMBINED_IVS, &v1); Pokemon_CalcLevelAndStats(param1); v2 = param0->form; - Pokemon_SetValue(param1, MON_DATA_FORM, &v2); - Pokemon_SetValue(param1, MON_DATA_HELD_ITEM, ¶m0->item); + Pokemon_SetData(param1, MON_DATA_FORM, &v2); + Pokemon_SetData(param1, MON_DATA_HELD_ITEM, ¶m0->item); - for (v0 = 0; v0 < LEARNED_MOVES_MAX; v0++) { + for (v0 = 0; v0 < MAX_MON_MOVES; v0++) { v5 = param0->moves[v0]; - Pokemon_SetValue(param1, MON_DATA_MOVE1 + v0, &v5); + Pokemon_SetData(param1, MON_DATA_MOVE1 + v0, &v5); v2 = (param0->combinedPPUps >> (v0 * 2)) & 0x3; - Pokemon_SetValue(param1, MON_DATA_MOVE1_PP_UPS + v0, &v2); + Pokemon_SetData(param1, MON_DATA_MOVE1_PP_UPS + v0, &v2); - v3 = (u8)Pokemon_GetValue(param1, MON_DATA_MOVE1_MAX_PP + v0, NULL); - Pokemon_SetValue(param1, MON_DATA_MOVE1_PP + v0, &v3); + v3 = (u8)Pokemon_GetData(param1, MON_DATA_MOVE1_MAX_PP + v0, NULL); + Pokemon_SetData(param1, MON_DATA_MOVE1_PP + v0, &v3); } v6 = param0->otID; - Pokemon_SetValue(param1, MON_DATA_OT_ID, &v6); + Pokemon_SetData(param1, MON_DATA_OT_ID, &v6); v2 = param0->hpEV; - Pokemon_SetValue(param1, MON_DATA_HP_EV, &v2); + Pokemon_SetData(param1, MON_DATA_HP_EV, &v2); v2 = param0->atkEV; - Pokemon_SetValue(param1, MON_DATA_ATK_EV, &v2); + Pokemon_SetData(param1, MON_DATA_ATK_EV, &v2); v2 = param0->defEV; - Pokemon_SetValue(param1, MON_DATA_DEF_EV, &v2); + Pokemon_SetData(param1, MON_DATA_DEF_EV, &v2); v2 = param0->speedEV; - Pokemon_SetValue(param1, MON_DATA_SPEED_EV, &v2); + Pokemon_SetData(param1, MON_DATA_SPEED_EV, &v2); v2 = param0->spAtkEV; - Pokemon_SetValue(param1, MON_DATA_SPATK_EV, &v2); + Pokemon_SetData(param1, MON_DATA_SPATK_EV, &v2); v2 = param0->spDefEV; - Pokemon_SetValue(param1, MON_DATA_SPDEF_EV, &v2); + Pokemon_SetData(param1, MON_DATA_SPDEF_EV, &v2); - Pokemon_SetValue(param1, MON_DATA_ABILITY, ¶m0->ability); - Pokemon_SetValue(param1, MON_DATA_FRIENDSHIP, ¶m0->friendship); + Pokemon_SetData(param1, MON_DATA_ABILITY, ¶m0->ability); + Pokemon_SetData(param1, MON_DATA_FRIENDSHIP, ¶m0->friendship); if (param0->unk_14_val1_30) { MessageLoader *v7 = MessageLoader_Init(MSG_LOADER_LOAD_ON_DEMAND, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_SPECIES_NAME, HEAP_ID_FIELD1); String *v8 = MessageLoader_GetNewString(v7, param0->species); - Pokemon_SetValue(param1, MON_DATA_NICKNAME_STRING, v8); + Pokemon_SetData(param1, MON_DATA_NICKNAME_STRING, v8); String_Free(v8); MessageLoader_Free(v7); } else { - Pokemon_SetValue(param1, MON_DATA_NICKNAME, param0->nickname); + Pokemon_SetData(param1, MON_DATA_NICKNAME, param0->nickname); } - Pokemon_SetValue(param1, MON_DATA_LANGUAGE, ¶m0->language); + Pokemon_SetData(param1, MON_DATA_LANGUAGE, ¶m0->language); Pokemon_CalcLevelAndStats(param1); } @@ -333,7 +333,7 @@ void ov104_0222E134(SaveData *saveData, Pokemon *param1) int v4 = 0; TrainerInfo *v5 = SaveData_GetTrainerInfo(saveData); - v0 = Pokemon_GetValue(param1, MON_DATA_OT_ID, NULL); + v0 = Pokemon_GetData(param1, MON_DATA_OT_ID, NULL); Pokemon_UpdateAfterCatch(param1, SaveData_GetTrainerInfo(saveData), 4, 0, 0, 11); v3 = MapHeader_GetMapLabelTextID(562); @@ -342,8 +342,8 @@ void ov104_0222E134(SaveData *saveData, Pokemon *param1) v2 = MessageLoader_Init(MSG_LOADER_PRELOAD_ENTIRE_BANK, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_UNK_0363, HEAP_ID_FIELD2); v1 = MessageLoader_GetNewString(v2, 0); - Pokemon_SetValue(param1, MON_DATA_OT_NAME_STRING, v1); - Pokemon_SetValue(param1, MON_DATA_OT_ID, &v0); + Pokemon_SetData(param1, MON_DATA_OT_NAME_STRING, v1); + Pokemon_SetData(param1, MON_DATA_OT_ID, &v0); String_Free(v1); MessageLoader_Free(v2); diff --git a/src/overlay104/ov104_0222ECE8.c b/src/overlay104/ov104_0222ECE8.c index a99c9f1f08..0399b48cb2 100644 --- a/src/overlay104/ov104_0222ECE8.c +++ b/src/overlay104/ov104_0222ECE8.c @@ -276,7 +276,7 @@ BOOL ov104_0222EE60(UnkStruct_ov104_0223B5C0 *param0) v1 = 0; v3 = 512; - v4 = Pokemon_StructSize(); + v4 = Pokemon_Size(); v6 = SaveData_GetParty(param0->saveData); v5 = Party_GetPokemonBySlotIndex(v6, param0->unk_260[0]); @@ -304,7 +304,7 @@ void ov104_0222EEA8(int param0, int param1, void *param2, void *param3) return; } - v2 = Pokemon_StructSize(); + v2 = Pokemon_Size(); MI_CpuCopy8(&v4[0], v3->unk_D8C, v2); return; @@ -649,8 +649,8 @@ BOOL ov104_0222F238(UnkStruct_ov104_0223ADA0 *param0) for (v1 = 0; v1 < v0; v1++) { v8 = Party_GetPokemonBySlotIndex(param0->unk_4D4, v1); - v7[v1] = Pokemon_GetValue(v8, MON_DATA_ATK_IV, NULL); - v6[v1] = Pokemon_GetValue(v8, MON_DATA_PERSONALITY, NULL); + v7[v1] = Pokemon_GetData(v8, MON_DATA_ATK_IV, NULL); + v6[v1] = Pokemon_GetData(v8, MON_DATA_PERSONALITY, NULL); } for (v1 = 0; v1 < v0; v1++) { @@ -1054,7 +1054,7 @@ BOOL ov104_0222F758(UnkStruct_ov104_0223BA10 *param0) v1 = 0; v3 = 512; v5 = ov104_0223B7A8(param0->unk_10, 0); - v4 = Pokemon_StructSize(); + v4 = Pokemon_Size(); for (v0 = 0; v0 < v5; v0++) { v6 = Party_GetPokemonBySlotIndex(param0->unk_28, v0); @@ -1086,7 +1086,7 @@ void ov104_0222F7BC(int param0, int param1, void *param2, void *param3) } v0 = ov104_0223B7A8(v5->unk_10, 0); - v3 = Pokemon_StructSize(); + v3 = Pokemon_Size(); v4 = Pokemon_New(HEAP_ID_FIELD2); for (v1 = 0; v1 < v0; v1++) { @@ -1347,7 +1347,7 @@ BOOL ov104_0222FAD0(UnkStruct_ov104_0223BFFC *param0) v1 = 0; v3 = 512; v5 = ov104_0223BD70(param0->unk_10, 0); - v4 = Pokemon_StructSize(); + v4 = Pokemon_Size(); for (v0 = 0; v0 < v5; v0++) { v6 = Party_GetPokemonBySlotIndex(param0->unk_70, v0); @@ -1379,7 +1379,7 @@ void ov104_0222FB34(int param0, int param1, void *param2, void *param3) } v0 = ov104_0223BD70(v5->unk_10, 0); - v3 = Pokemon_StructSize(); + v3 = Pokemon_Size(); v4 = Pokemon_New(HEAP_ID_FIELD2); for (v1 = 0; v1 < v0; v1++) { diff --git a/src/overlay104/ov104_02231F74.c b/src/overlay104/ov104_02231F74.c index d783df2415..b78bfaccbd 100644 --- a/src/overlay104/ov104_02231F74.c +++ b/src/overlay104/ov104_02231F74.c @@ -889,8 +889,8 @@ void ov104_02232CE0(UnkStruct_ov104_0223C4CC *param0, Pokemon *param1, enum Heap u32 personality, species; v4 = Heap_Alloc(heapID, 10 * 10 * ((8 / 2) * 8)); - personality = Pokemon_GetValue(param1, MON_DATA_PERSONALITY, NULL); - species = Pokemon_GetValue(param1, MON_DATA_SPECIES, NULL); + personality = Pokemon_GetData(param1, MON_DATA_PERSONALITY, NULL); + species = Pokemon_GetData(param1, MON_DATA_SPECIES, NULL); Pokemon_BuildSpriteTemplate(&v3, param1, 2); CharacterSprite_LoadPokemonSpriteRect(v3.narcID, v3.character, heapID, 0, 0, 10, 10, v4, personality, FALSE, 2, species); diff --git a/src/overlay104/ov104_022332B4.c b/src/overlay104/ov104_022332B4.c index 8dffe1b21d..9ec3320e53 100644 --- a/src/overlay104/ov104_022332B4.c +++ b/src/overlay104/ov104_022332B4.c @@ -274,7 +274,7 @@ BOOL FrontierScrCmd_67(FrontierScriptContext *param0) case 17: v3 = Pokemon_New(HEAP_ID_FIELD2); ov104_0222DF40(&v4->unk_3F0[v13], v3, ov104_0223ADA0(v4)); - *v15 = Pokemon_GetValue(v3, MON_DATA_TYPE_1, NULL); + *v15 = Pokemon_GetData(v3, MON_DATA_TYPE_1, NULL); Heap_Free(v3); break; case 18: @@ -289,8 +289,8 @@ BOOL FrontierScrCmd_67(FrontierScriptContext *param0) for (v10 = 0; v10 < v5; v10++) { ov104_0222DF40(&v4->unk_3F0[v10], v3, ov104_0223ADA0(v4)); - v7 = Pokemon_GetValue(v3, MON_DATA_TYPE_1, NULL); - v8 = Pokemon_GetValue(v3, MON_DATA_TYPE_2, NULL); + v7 = Pokemon_GetData(v3, MON_DATA_TYPE_1, NULL); + v8 = Pokemon_GetData(v3, MON_DATA_TYPE_2, NULL); if (v7 == v8) { v8 = 0xff; @@ -371,7 +371,7 @@ BOOL FrontierScrCmd_67(FrontierScriptContext *param0) for (v10 = 0; v10 < v6; v10++) { v3 = Party_GetPokemonBySlotIndex(v4->unk_4D4, v10); - StringTemplate_SetSpeciesName(param0->unk_00->unk_44, v10, Pokemon_GetBoxPokemon(v3)); + StringTemplate_SetSpeciesName(param0->unk_00->unk_44, v10, Pokemon_GetBoxMon(v3)); } break; case 35: diff --git a/src/overlay104/ov104_022339B4.c b/src/overlay104/ov104_022339B4.c index ac9ba10bbf..64f7a6060f 100644 --- a/src/overlay104/ov104_022339B4.c +++ b/src/overlay104/ov104_022339B4.c @@ -396,10 +396,10 @@ void ov104_02234148(UnkStruct_ov104_0223ADA0 *param0, u8 param1) v6[0] = param0->unk_4E8[v0]; sub_0202FF84(param0->unk_4F4, 4, v0, v6); - v5[0] = Pokemon_GetValue(v12, MON_DATA_ATK_IV, NULL); + v5[0] = Pokemon_GetData(v12, MON_DATA_ATK_IV, NULL); sub_0202FF84(param0->unk_4F4, 5, v0, v5); - v7[0] = Pokemon_GetValue(v12, MON_DATA_PERSONALITY, NULL); + v7[0] = Pokemon_GetData(v12, MON_DATA_PERSONALITY, NULL); sub_0202FF84(param0->unk_4F4, 6, v0, v7); } @@ -411,10 +411,10 @@ void ov104_02234148(UnkStruct_ov104_0223ADA0 *param0, u8 param1) v6[0] = param0->unk_3D2[v0]; sub_0202FF84(param0->unk_4F4, 7, v0, v6); - v5[0] = Pokemon_GetValue(v12, MON_DATA_ATK_IV, NULL); + v5[0] = Pokemon_GetData(v12, MON_DATA_ATK_IV, NULL); sub_0202FF84(param0->unk_4F4, 8, v0, v5); - v7[0] = Pokemon_GetValue(v12, MON_DATA_PERSONALITY, NULL); + v7[0] = Pokemon_GetData(v12, MON_DATA_PERSONALITY, NULL); sub_0202FF84(param0->unk_4F4, 9, v0, v7); } @@ -511,8 +511,8 @@ void ov104_02234570(UnkStruct_ov104_0223ADA0 *param0) for (v0 = 0; v0 < v1; v0++) { v6 = Party_GetPokemonBySlotIndex(param0->unk_4D4, v0); - v4[v0] = Pokemon_GetValue(v6, MON_DATA_SPECIES, NULL); - v5[v0] = Pokemon_GetValue(v6, MON_DATA_HELD_ITEM, NULL); + v4[v0] = Pokemon_GetData(v6, MON_DATA_SPECIES, NULL); + v5[v0] = Pokemon_GetData(v6, MON_DATA_HELD_ITEM, NULL); } v2 = v1; @@ -520,8 +520,8 @@ void ov104_02234570(UnkStruct_ov104_0223ADA0 *param0) for (v0 = 0; v0 < v1; v0++) { v6 = Party_GetPokemonBySlotIndex(param0->unk_4D8, v0); - v4[v0 + v2] = Pokemon_GetValue(v6, MON_DATA_SPECIES, NULL); - v5[v0 + v2] = Pokemon_GetValue(v6, MON_DATA_HELD_ITEM, NULL); + v4[v0 + v2] = Pokemon_GetData(v6, MON_DATA_SPECIES, NULL); + v5[v0 + v2] = Pokemon_GetData(v6, MON_DATA_HELD_ITEM, NULL); param0->unk_254[v0] = param0->unk_3D2[v0]; } diff --git a/src/overlay104/ov104_02234838.c b/src/overlay104/ov104_02234838.c index 78dfc6dcfa..d7a1162d47 100644 --- a/src/overlay104/ov104_02234838.c +++ b/src/overlay104/ov104_02234838.c @@ -234,7 +234,7 @@ BOOL FrontierScrCmd_91(FrontierScriptContext *param0) for (v7 = 0; v7 < v5; v7++) { v1 = Party_GetPokemonBySlotIndex(v2, v3->unk_260[v7]); - Pokemon_SetValue(v1, MON_DATA_HELD_ITEM, &v3->unk_728[v7]); + Pokemon_SetData(v1, MON_DATA_HELD_ITEM, &v3->unk_728[v7]); } break; case 28: @@ -273,7 +273,7 @@ BOOL FrontierScrCmd_91(FrontierScriptContext *param0) case 15: v2 = SaveData_GetParty(v0->saveData); v1 = Party_GetPokemonBySlotIndex(v2, v3->unk_260[0]); - *v11 = Pokemon_GetValue(v1, MON_DATA_SPECIES, NULL); + *v11 = Pokemon_GetData(v1, MON_DATA_SPECIES, NULL); break; case 35: ov104_022356A0(v3); @@ -390,7 +390,7 @@ BOOL FrontierScrCmd_C7(FrontierScriptContext *param0) v4 = sub_0209B978(param0->unk_00->unk_00); v2 = SaveData_GetParty(v5->saveData); v3 = Party_GetPokemonBySlotIndex(v2, v4->unk_260[0]); - v1 = Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL); + v1 = Pokemon_GetData(v3, MON_DATA_SPECIES, NULL); if (v4->unk_04 == 0) { broadcast = SaveData_GetTVBroadcast(v5->saveData); diff --git a/src/overlay104/ov104_02234DB4.c b/src/overlay104/ov104_02234DB4.c index 039ba0b4bf..10ec35339b 100644 --- a/src/overlay104/ov104_02234DB4.c +++ b/src/overlay104/ov104_02234DB4.c @@ -111,7 +111,7 @@ UnkStruct_ov104_0223B5C0 *ov104_02234DB4(SaveData *saveData, u16 param1, u8 para for (v5 = 0; v5 < v4; v5++) { v9 = Party_GetPokemonBySlotIndex(SaveData_GetParty(v10->saveData), v10->unk_260[v5]); - v10->unk_728[v5] = Pokemon_GetValue(v9, MON_DATA_HELD_ITEM, NULL); + v10->unk_728[v5] = Pokemon_GetData(v9, MON_DATA_HELD_ITEM, NULL); } v10->unk_10 = 0; @@ -182,7 +182,7 @@ static void ov104_022350B8(UnkStruct_ov104_0223B5C0 *param0) } v6 = Party_GetPokemonBySlotIndex(param0->unk_264, 0); - ov104_0223B0C8(1, param0->unk_6F4, v0, param0->unk_05, Pokemon_GetValue(v6, MON_DATA_SPECIES, NULL), param0->unk_268, v3); + ov104_0223B0C8(1, param0->unk_6F4, v0, param0->unk_05, Pokemon_GetData(v6, MON_DATA_SPECIES, NULL), param0->unk_268, v3); return; } @@ -263,7 +263,7 @@ void ov104_0223526C(UnkStruct_ov104_0223B5C0 *param0, u8 param1) sub_0203012C(param0->unk_6F8, 1); v10 = Party_GetPokemonBySlotIndex(SaveData_GetParty(param0->saveData), param0->unk_260[0]); - v9 = Pokemon_GetValue(v10, MON_DATA_SPECIES, NULL); + v9 = Pokemon_GetData(v10, MON_DATA_SPECIES, NULL); v8 = sub_02030698(frontier, sub_0205E55C(param0->unk_04), sub_0205E6A8(sub_0205E55C(param0->unk_04))); v1[0] = param0->unk_05; @@ -309,7 +309,7 @@ void ov104_0223526C(UnkStruct_ov104_0223B5C0 *param0, u8 param1) sub_02030140(param0->unk_6F8, 4, v0, 0, v2); } - sub_020306E4(frontier, sub_0205E55C(param0->unk_04), sub_0205E6A8(sub_0205E55C(param0->unk_04)), Pokemon_GetValue(v10, MON_DATA_SPECIES, NULL)); + sub_020306E4(frontier, sub_0205E55C(param0->unk_04), sub_0205E6A8(sub_0205E55C(param0->unk_04)), Pokemon_GetData(v10, MON_DATA_SPECIES, NULL)); return; } diff --git a/src/overlay104/ov104_022358E8.c b/src/overlay104/ov104_022358E8.c index 1cea3dae3e..880fca0fbc 100644 --- a/src/overlay104/ov104_022358E8.c +++ b/src/overlay104/ov104_022358E8.c @@ -315,7 +315,7 @@ BOOL FrontierScrCmd_A0(FrontierScriptContext *param0) for (v8 = 0; v8 < 3; v8++) { v1 = Party_GetPokemonBySlotIndex(v2, v3->unk_24[v8]); - Pokemon_SetValue(v1, MON_DATA_HELD_ITEM, &v3->unk_36A[v8]); + Pokemon_SetData(v1, MON_DATA_HELD_ITEM, &v3->unk_36A[v8]); } break; case 19: diff --git a/src/overlay104/ov104_022361B4.c b/src/overlay104/ov104_022361B4.c index aa6d76095e..bff6fb89f4 100644 --- a/src/overlay104/ov104_022361B4.c +++ b/src/overlay104/ov104_022361B4.c @@ -130,7 +130,7 @@ UnkStruct_ov104_0223BA10 *ov104_022361B4(SaveData *saveData, u16 param1, u8 para for (v7 = 0; v7 < 3; v7++) { v3 = Party_GetPokemonBySlotIndex(SaveData_GetParty(v9->saveData), v9->unk_24[v7]); - v9->unk_36A[v7] = Pokemon_GetValue(v3, MON_DATA_HELD_ITEM, NULL); + v9->unk_36A[v7] = Pokemon_GetData(v3, MON_DATA_HELD_ITEM, NULL); } v2 = SaveData_GetParty(v9->saveData); @@ -142,11 +142,11 @@ UnkStruct_ov104_0223BA10 *ov104_022361B4(SaveData *saveData, u16 param1, u8 para v3 = Party_GetPokemonBySlotIndex(v9->unk_28, v7); v0 = 0; - Pokemon_SetValue(v3, MON_DATA_HELD_ITEM, &v0); + Pokemon_SetData(v3, MON_DATA_HELD_ITEM, &v0); - if (Pokemon_GetValue(v3, MON_DATA_LEVEL, NULL) > 50) { - v1 = Pokemon_GetSpeciesBaseExpAt(Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL), 50); - Pokemon_SetValue(v3, MON_DATA_EXPERIENCE, &v1); + if (Pokemon_GetData(v3, MON_DATA_LEVEL, NULL) > 50) { + v1 = Species_GetExpAtLevel(Pokemon_GetData(v3, MON_DATA_SPECIES, NULL), 50); + Pokemon_SetData(v3, MON_DATA_EXPERIENCE, &v1); Pokemon_CalcLevelAndStats(v3); } } @@ -176,10 +176,10 @@ static void ov104_02236528(UnkStruct_ov104_0223BA10 *param0) for (int i = 0; i < v0; i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(param0->unk_28, i); - param0->unk_394[i][0] = Pokemon_GetValue(mon, MON_DATA_MOVE1_PP, NULL); - param0->unk_394[i][1] = Pokemon_GetValue(mon, MON_DATA_MOVE2_PP, NULL); - param0->unk_394[i][2] = Pokemon_GetValue(mon, MON_DATA_MOVE3_PP, NULL); - param0->unk_394[i][3] = Pokemon_GetValue(mon, MON_DATA_MOVE4_PP, NULL); + param0->unk_394[i][0] = Pokemon_GetData(mon, MON_DATA_MOVE1_PP, NULL); + param0->unk_394[i][1] = Pokemon_GetData(mon, MON_DATA_MOVE2_PP, NULL); + param0->unk_394[i][2] = Pokemon_GetData(mon, MON_DATA_MOVE3_PP, NULL); + param0->unk_394[i][3] = Pokemon_GetData(mon, MON_DATA_MOVE4_PP, NULL); } ov104_0223B760(param0->unk_10, ov104_0223BB60(param0), param0->unk_30, (7 * 2)); @@ -240,25 +240,25 @@ static void ov104_022366A4(UnkStruct_ov104_0223BA10 *param0) v5 = Party_GetPokemonBySlotIndex(param0->unk_28, v4); v2 = (u16)sub_02030398(param0->unk_08, 2, v4, 0, NULL); - Pokemon_SetValue(v5, MON_DATA_HP, &v2); + Pokemon_SetData(v5, MON_DATA_HP, &v2); v3 = (u8)sub_02030398(param0->unk_08, 3, v4, 0, NULL); - Pokemon_SetValue(v5, MON_DATA_MOVE1_PP, &v3); + Pokemon_SetData(v5, MON_DATA_MOVE1_PP, &v3); v3 = (u8)sub_02030398(param0->unk_08, 3, v4, 1, NULL); - Pokemon_SetValue(v5, MON_DATA_MOVE2_PP, &v3); + Pokemon_SetData(v5, MON_DATA_MOVE2_PP, &v3); v3 = (u8)sub_02030398(param0->unk_08, 3, v4, 2, NULL); - Pokemon_SetValue(v5, MON_DATA_MOVE3_PP, &v3); + Pokemon_SetData(v5, MON_DATA_MOVE3_PP, &v3); v3 = (u8)sub_02030398(param0->unk_08, 3, v4, 3, NULL); - Pokemon_SetValue(v5, MON_DATA_MOVE4_PP, &v3); + Pokemon_SetData(v5, MON_DATA_MOVE4_PP, &v3); v1 = (u32)sub_02030398(param0->unk_08, 4, v4, 0, NULL); - Pokemon_SetValue(v5, MON_DATA_STATUS, &v1); + Pokemon_SetData(v5, MON_DATA_STATUS, &v1); v2 = (u16)sub_02030398(param0->unk_08, 5, v4, 0, NULL); - Pokemon_SetValue(v5, MON_DATA_HELD_ITEM, &v2); + Pokemon_SetData(v5, MON_DATA_HELD_ITEM, &v2); } return; @@ -387,25 +387,25 @@ void ov104_02236848(UnkStruct_ov104_0223BA10 *param0, u8 param1) for (v0 = 0; v0 < v8; v0++) { v11 = Party_GetPokemonBySlotIndex(param0->unk_28, v0); - v5[0] = Pokemon_GetValue(v11, MON_DATA_HP, NULL); + v5[0] = Pokemon_GetData(v11, MON_DATA_HP, NULL); sub_02030308(param0->unk_08, 2, v0, 0, v5); - v4[0] = Pokemon_GetValue(v11, MON_DATA_MOVE1_PP, NULL); + v4[0] = Pokemon_GetData(v11, MON_DATA_MOVE1_PP, NULL); sub_02030308(param0->unk_08, 3, v0, 0, v4); - v4[0] = Pokemon_GetValue(v11, MON_DATA_MOVE2_PP, NULL); + v4[0] = Pokemon_GetData(v11, MON_DATA_MOVE2_PP, NULL); sub_02030308(param0->unk_08, 3, v0, 1, v4); - v4[0] = Pokemon_GetValue(v11, MON_DATA_MOVE3_PP, NULL); + v4[0] = Pokemon_GetData(v11, MON_DATA_MOVE3_PP, NULL); sub_02030308(param0->unk_08, 3, v0, 2, v4); - v4[0] = Pokemon_GetValue(v11, MON_DATA_MOVE4_PP, NULL); + v4[0] = Pokemon_GetData(v11, MON_DATA_MOVE4_PP, NULL); sub_02030308(param0->unk_08, 3, v0, 3, v4); - v6[0] = Pokemon_GetValue(v11, MON_DATA_STATUS, NULL); + v6[0] = Pokemon_GetData(v11, MON_DATA_STATUS, NULL); sub_02030308(param0->unk_08, 4, v0, 0, v6); - v5[0] = Pokemon_GetValue(v11, MON_DATA_HELD_ITEM, NULL); + v5[0] = Pokemon_GetData(v11, MON_DATA_HELD_ITEM, NULL); sub_02030308(param0->unk_08, 5, v0, 0, v5); } @@ -510,10 +510,10 @@ void ov104_02236C50(UnkStruct_ov104_0223BA10 *param0) for (v2 = v0; v2 < (v1 + v0); v2++) { v4 = Party_GetPokemonBySlotIndex(param0->unk_28, v2); - param0->unk_394[v2 - v0][0] = Pokemon_GetValue(v4, MON_DATA_MOVE1_PP, NULL); - param0->unk_394[v2 - v0][1] = Pokemon_GetValue(v4, MON_DATA_MOVE2_PP, NULL); - param0->unk_394[v2 - v0][2] = Pokemon_GetValue(v4, MON_DATA_MOVE3_PP, NULL); - param0->unk_394[v2 - v0][3] = Pokemon_GetValue(v4, MON_DATA_MOVE4_PP, NULL); + param0->unk_394[v2 - v0][0] = Pokemon_GetData(v4, MON_DATA_MOVE1_PP, NULL); + param0->unk_394[v2 - v0][1] = Pokemon_GetData(v4, MON_DATA_MOVE2_PP, NULL); + param0->unk_394[v2 - v0][2] = Pokemon_GetData(v4, MON_DATA_MOVE3_PP, NULL); + param0->unk_394[v2 - v0][3] = Pokemon_GetData(v4, MON_DATA_MOVE4_PP, NULL); } ov104_0223BA24(param0->unk_28); @@ -556,12 +556,12 @@ int ov104_02236D10(UnkStruct_ov104_0223BA10 *param0) for (v5 = v2; v5 < (v0 + v2); v5++) { v9 = Party_GetPokemonBySlotIndex(param0->unk_28, v5); - if (Pokemon_GetValue(v9, MON_DATA_SPECIES_EXISTS, NULL) == 0) { + if (Pokemon_GetData(v9, MON_DATA_SPECIES_EXISTS, NULL) == 0) { continue; } - v3 = Pokemon_GetValue(v9, MON_DATA_HP, NULL); - v4 = Pokemon_GetValue(v9, MON_DATA_MAX_HP, NULL); + v3 = Pokemon_GetData(v9, MON_DATA_HP, NULL); + v4 = Pokemon_GetData(v9, MON_DATA_MAX_HP, NULL); if (v3 > 0) { v10[0]++; @@ -576,17 +576,17 @@ int ov104_02236D10(UnkStruct_ov104_0223BA10 *param0) } } - if (Pokemon_GetValue(v9, MON_DATA_STATUS, NULL) == 0) { + if (Pokemon_GetData(v9, MON_DATA_STATUS, NULL) == 0) { v10[4]++; } } else { param0->unk_12 = 1; } - v8 += Pokemon_GetValue(v9, MON_DATA_MOVE1_PP, NULL); - v8 += Pokemon_GetValue(v9, MON_DATA_MOVE2_PP, NULL); - v8 += Pokemon_GetValue(v9, MON_DATA_MOVE3_PP, NULL); - v8 += Pokemon_GetValue(v9, MON_DATA_MOVE4_PP, NULL); + v8 += Pokemon_GetData(v9, MON_DATA_MOVE1_PP, NULL); + v8 += Pokemon_GetData(v9, MON_DATA_MOVE2_PP, NULL); + v8 += Pokemon_GetData(v9, MON_DATA_MOVE3_PP, NULL); + v8 += Pokemon_GetData(v9, MON_DATA_MOVE4_PP, NULL); } for (v5 = 0; v5 < v1; v5++) { diff --git a/src/overlay104/ov104_02237378.c b/src/overlay104/ov104_02237378.c index 1a8416e29b..544c1f1b29 100644 --- a/src/overlay104/ov104_02237378.c +++ b/src/overlay104/ov104_02237378.c @@ -156,11 +156,11 @@ BOOL FrontierScrCmd_BB(FrontierScriptContext *param0) for (v1 = 0; v1 < v0; v1++) { v11 = Party_GetPokemonBySlotIndex(v9->unk_70, v1); - v7 = Pokemon_GetValue(v11, MON_DATA_LEVEL, NULL); + v7 = Pokemon_GetData(v11, MON_DATA_LEVEL, NULL); v7 -= 3; - v6 = Pokemon_GetSpeciesBaseExpAt(Pokemon_GetValue(v11, MON_DATA_SPECIES, NULL), v7); + v6 = Species_GetExpAtLevel(Pokemon_GetData(v11, MON_DATA_SPECIES, NULL), v7); - Pokemon_SetValue(v11, MON_DATA_EXPERIENCE, &v6); + Pokemon_SetData(v11, MON_DATA_EXPERIENCE, &v6); Pokemon_CalcLevelAndStats(v11); } } @@ -171,23 +171,23 @@ BOOL FrontierScrCmd_BB(FrontierScriptContext *param0) v11 = Party_GetPokemonBySlotIndex(v9->unk_70, v1); v5 = v9->unk_94[v1]; - Pokemon_SetValue(v11, MON_DATA_MAX_HP, &v5); - Pokemon_SetValue(v11, MON_DATA_HP, &v5); + Pokemon_SetData(v11, MON_DATA_MAX_HP, &v5); + Pokemon_SetData(v11, MON_DATA_HP, &v5); v5 = v9->unk_A4[v1]; - Pokemon_SetValue(v11, MON_DATA_ATK, &v5); + Pokemon_SetData(v11, MON_DATA_ATK, &v5); v5 = v9->unk_B4[v1]; - Pokemon_SetValue(v11, MON_DATA_DEF, &v5); + Pokemon_SetData(v11, MON_DATA_DEF, &v5); v5 = v9->unk_C4[v1]; - Pokemon_SetValue(v11, MON_DATA_SPEED, &v5); + Pokemon_SetData(v11, MON_DATA_SPEED, &v5); v5 = v9->unk_D4[v1]; - Pokemon_SetValue(v11, MON_DATA_SP_ATK, &v5); + Pokemon_SetData(v11, MON_DATA_SP_ATK, &v5); v5 = v9->unk_E4[v1]; - Pokemon_SetValue(v11, MON_DATA_SP_DEF, &v5); + Pokemon_SetData(v11, MON_DATA_SP_DEF, &v5); } FieldBattleDTO_Free(v10); @@ -236,12 +236,12 @@ static void ov104_02237634(UnkStruct_ov104_02238240 *param0, UnkStruct_ov104_022 for (v0 = 0; v0 < v1; v0++) { v2 = Party_GetPokemonBySlotIndex(param1->unk_70, v0); - param1->unk_94[v0] = Pokemon_GetValue(v2, MON_DATA_MAX_HP, NULL); - param1->unk_A4[v0] = Pokemon_GetValue(v2, MON_DATA_ATK, NULL); - param1->unk_B4[v0] = Pokemon_GetValue(v2, MON_DATA_DEF, NULL); - param1->unk_C4[v0] = Pokemon_GetValue(v2, MON_DATA_SPEED, NULL); - param1->unk_D4[v0] = Pokemon_GetValue(v2, MON_DATA_SP_ATK, NULL); - param1->unk_E4[v0] = Pokemon_GetValue(v2, MON_DATA_SP_DEF, NULL); + param1->unk_94[v0] = Pokemon_GetData(v2, MON_DATA_MAX_HP, NULL); + param1->unk_A4[v0] = Pokemon_GetData(v2, MON_DATA_ATK, NULL); + param1->unk_B4[v0] = Pokemon_GetData(v2, MON_DATA_DEF, NULL); + param1->unk_C4[v0] = Pokemon_GetData(v2, MON_DATA_SPEED, NULL); + param1->unk_D4[v0] = Pokemon_GetData(v2, MON_DATA_SP_ATK, NULL); + param1->unk_E4[v0] = Pokemon_GetData(v2, MON_DATA_SP_DEF, NULL); } return; @@ -334,7 +334,7 @@ BOOL FrontierScrCmd_BF(FrontierScriptContext *param0) v1 = Party_GetPokemonBySlotIndex(v3->unk_74, 0); } - *v20 = Pokemon_GetValue(v1, MON_DATA_HELD_ITEM, NULL); + *v20 = Pokemon_GetData(v1, MON_DATA_HELD_ITEM, NULL); break; case 16: *v20 = v3->unk_13; @@ -344,7 +344,7 @@ BOOL FrontierScrCmd_BF(FrontierScriptContext *param0) for (v11 = 0; v11 < 3; v11++) { v1 = Party_GetPokemonBySlotIndex(v2, v3->unk_2C[v11]); - Pokemon_SetValue(v1, MON_DATA_HELD_ITEM, &v3->unk_412[v11]); + Pokemon_SetData(v1, MON_DATA_HELD_ITEM, &v3->unk_412[v11]); } break; case 19: diff --git a/src/overlay104/ov104_02237DD8.c b/src/overlay104/ov104_02237DD8.c index 3dc5f1c8af..e670c2fb82 100644 --- a/src/overlay104/ov104_02237DD8.c +++ b/src/overlay104/ov104_02237DD8.c @@ -203,7 +203,7 @@ UnkStruct_ov104_0223BFFC *ov104_02237DD8(SaveData *saveData, u16 param1, u8 para for (v7 = 0; v7 < 3; v7++) { v3 = Party_GetPokemonBySlotIndex(SaveData_GetParty(v9->saveData), v9->unk_2C[v7]); - v9->unk_412[v7] = Pokemon_GetValue(v3, MON_DATA_HELD_ITEM, NULL); + v9->unk_412[v7] = Pokemon_GetData(v3, MON_DATA_HELD_ITEM, NULL); } v2 = SaveData_GetParty(v9->saveData); @@ -215,11 +215,11 @@ UnkStruct_ov104_0223BFFC *ov104_02237DD8(SaveData *saveData, u16 param1, u8 para v3 = Party_GetPokemonBySlotIndex(v9->unk_70, v7); v0 = 0; - Pokemon_SetValue(v3, MON_DATA_HELD_ITEM, &v0); + Pokemon_SetData(v3, MON_DATA_HELD_ITEM, &v0); - if (Pokemon_GetValue(v3, MON_DATA_LEVEL, NULL) > 50) { - v1 = Pokemon_GetSpeciesBaseExpAt(Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL), 50); - Pokemon_SetValue(v3, MON_DATA_EXPERIENCE, &v1); + if (Pokemon_GetData(v3, MON_DATA_LEVEL, NULL) > 50) { + v1 = Species_GetExpAtLevel(Pokemon_GetData(v3, MON_DATA_SPECIES, NULL), 50); + Pokemon_SetData(v3, MON_DATA_EXPERIENCE, &v1); Pokemon_CalcLevelAndStats(v3); } } @@ -306,7 +306,7 @@ static void ov104_022381C4(UnkStruct_ov104_0223BFFC *param0) v3 = Party_GetPokemonBySlotIndex(param0->unk_70, v2); v1 = (u16)sub_0203054C(param0->unk_08, 4, v2, 0, NULL); - Pokemon_SetValue(v3, MON_DATA_HELD_ITEM, &v1); + Pokemon_SetData(v3, MON_DATA_HELD_ITEM, &v1); } return; @@ -413,7 +413,7 @@ void ov104_02238278(UnkStruct_ov104_0223BFFC *param0, u8 param1) for (v0 = 0; v0 < v6; v0++) { v7 = Party_GetPokemonBySlotIndex(param0->unk_70, v0); - v3[0] = Pokemon_GetValue(v7, MON_DATA_HELD_ITEM, NULL); + v3[0] = Pokemon_GetData(v7, MON_DATA_HELD_ITEM, NULL); sub_020304CC(param0->unk_08, 4, v0, 0, v3); } @@ -558,17 +558,17 @@ static int ov104_02238584(UnkStruct_ov104_0223BFFC *param0, Party *param1, Party for (v3 = 0; v3 < param3; v3++) { v5 = Party_GetPokemonBySlotIndex(param1, v3); - if (Pokemon_GetValue(v5, MON_DATA_SPECIES_EXISTS, NULL) == 0) { + if (Pokemon_GetData(v5, MON_DATA_SPECIES_EXISTS, NULL) == 0) { continue; } - v0 = Pokemon_GetValue(v5, MON_DATA_HP, NULL); + v0 = Pokemon_GetData(v5, MON_DATA_HP, NULL); if (v0 == 0) { v1++; } - if (Pokemon_GetValue(v5, MON_DATA_STATUS, NULL) != 0) { + if (Pokemon_GetData(v5, MON_DATA_STATUS, NULL) != 0) { v2++; } } @@ -577,17 +577,17 @@ static int ov104_02238584(UnkStruct_ov104_0223BFFC *param0, Party *param1, Party for (v3 = 0; v3 < param3; v3++) { v5 = Party_GetPokemonBySlotIndex(param2, v3); - if (Pokemon_GetValue(v5, MON_DATA_SPECIES_EXISTS, NULL) == 0) { + if (Pokemon_GetData(v5, MON_DATA_SPECIES_EXISTS, NULL) == 0) { continue; } - v0 = Pokemon_GetValue(v5, MON_DATA_HP, NULL); + v0 = Pokemon_GetData(v5, MON_DATA_HP, NULL); if (v0 == 0) { v1++; } - if (Pokemon_GetValue(v5, MON_DATA_STATUS, NULL) != 0) { + if (Pokemon_GetData(v5, MON_DATA_STATUS, NULL) != 0) { v2++; } } @@ -756,7 +756,7 @@ void ov104_022388DC(UnkStruct_ov104_0223BFFC *param0, UnkStruct_ov104_0223C4CC * v3 = Party_GetPokemonBySlotIndex(param0->unk_70, v2); - if (Pokemon_GetValue(v3, MON_DATA_HELD_ITEM, NULL) == 0) { + if (Pokemon_GetData(v3, MON_DATA_HELD_ITEM, NULL) == 0) { Sprite_SetDrawFlag(param0->unk_50[v2]->sprite, FALSE); } } @@ -766,7 +766,7 @@ void ov104_022388DC(UnkStruct_ov104_0223BFFC *param0, UnkStruct_ov104_0223C4CC * v3 = Party_GetPokemonBySlotIndex(param0->unk_74, v2); - if (Pokemon_GetValue(v3, MON_DATA_HELD_ITEM, NULL) == 0) { + if (Pokemon_GetData(v3, MON_DATA_HELD_ITEM, NULL) == 0) { Sprite_SetDrawFlag(param0->unk_60[v2]->sprite, FALSE); } } @@ -811,7 +811,7 @@ void ov104_022389F4(UnkStruct_ov104_0223BFFC *param0, UnkStruct_ov104_0223C4CC * } mon = Party_GetPokemonBySlotIndex(param0->unk_70, slot); - item = Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL); + item = Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL); if (param4 == 1) { if (item == ITEM_NONE) { @@ -828,7 +828,7 @@ void ov104_022389F4(UnkStruct_ov104_0223BFFC *param0, UnkStruct_ov104_0223C4CC * } mon = Party_GetPokemonBySlotIndex(param0->unk_74, slot); - item = Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL); + item = Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL); if (param4 == 1) { if (item == 0) { @@ -1074,12 +1074,12 @@ static void ov104_02238BBC(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p for (v0 = 0; v0 < param2; v0++) { v3 = Party_GetPokemonBySlotIndex(param1, v0); - v1 = Pokemon_GetValue(v3, MON_DATA_MAX_HP, NULL); + v1 = Pokemon_GetData(v3, MON_DATA_MAX_HP, NULL); v2 = (v1 * 1.2); v2 -= v1; v2 = (v1 - v2); - Pokemon_SetValue(v3, MON_DATA_HP, &v2); + Pokemon_SetData(v3, MON_DATA_HP, &v2); } return; @@ -1095,15 +1095,15 @@ static void ov104_02238C18(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p for (v0 = 0; v0 < param2; v0++) { v6 = Party_GetPokemonBySlotIndex(param1, v0); - v3 = Pokemon_GetValue(v6, MON_DATA_TYPE_1, NULL); - v4 = Pokemon_GetValue(v6, MON_DATA_TYPE_2, NULL); - v5 = Pokemon_GetValue(v6, MON_DATA_ABILITY, NULL); + v3 = Pokemon_GetData(v6, MON_DATA_TYPE_1, NULL); + v4 = Pokemon_GetData(v6, MON_DATA_TYPE_2, NULL); + v5 = Pokemon_GetData(v6, MON_DATA_ABILITY, NULL); if ((v3 == TYPE_POISON) || (v4 == TYPE_POISON) || (v3 == TYPE_STEEL) || (v4 == TYPE_STEEL) || (v5 == ABILITY_IMMUNITY)) { v1++; } else { v2 = MON_CONDITION_POISON; - Pokemon_SetValue(v6, MON_DATA_STATUS, &v2); + Pokemon_SetData(v6, MON_DATA_STATUS, &v2); } } @@ -1124,15 +1124,15 @@ static void ov104_02238C9C(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p for (v0 = 0; v0 < param2; v0++) { v6 = Party_GetPokemonBySlotIndex(param1, v0); - v3 = Pokemon_GetValue(v6, MON_DATA_TYPE_1, NULL); - v4 = Pokemon_GetValue(v6, MON_DATA_TYPE_2, NULL); - v5 = Pokemon_GetValue(v6, MON_DATA_ABILITY, NULL); + v3 = Pokemon_GetData(v6, MON_DATA_TYPE_1, NULL); + v4 = Pokemon_GetData(v6, MON_DATA_TYPE_2, NULL); + v5 = Pokemon_GetData(v6, MON_DATA_ABILITY, NULL); if ((v3 == TYPE_GROUND) || (v4 == TYPE_GROUND) || (v5 == ABILITY_LIMBER)) { v1++; } else { v2 = MON_CONDITION_PARALYSIS; - Pokemon_SetValue(v6, MON_DATA_STATUS, &v2); + Pokemon_SetData(v6, MON_DATA_STATUS, &v2); } } @@ -1153,15 +1153,15 @@ static void ov104_02238D14(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p for (v0 = 0; v0 < param2; v0++) { v6 = Party_GetPokemonBySlotIndex(param1, v0); - v3 = Pokemon_GetValue(v6, MON_DATA_TYPE_1, NULL); - v4 = Pokemon_GetValue(v6, MON_DATA_TYPE_2, NULL); - v5 = Pokemon_GetValue(v6, MON_DATA_ABILITY, NULL); + v3 = Pokemon_GetData(v6, MON_DATA_TYPE_1, NULL); + v4 = Pokemon_GetData(v6, MON_DATA_TYPE_2, NULL); + v5 = Pokemon_GetData(v6, MON_DATA_ABILITY, NULL); if ((v3 == TYPE_FIRE) || (v4 == TYPE_FIRE) || (v5 == ABILITY_WATER_VEIL)) { v1++; } else { v2 = MON_CONDITION_BURN; - Pokemon_SetValue(v6, MON_DATA_STATUS, &v2); + Pokemon_SetData(v6, MON_DATA_STATUS, &v2); } } @@ -1184,7 +1184,7 @@ static void ov104_02238D8C(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p for (v1 = 0; v1 < param2; v1++) { v5 = Party_GetPokemonBySlotIndex(param1, v0); - v4 = Pokemon_GetValue(v5, MON_DATA_ABILITY, NULL); + v4 = Pokemon_GetData(v5, MON_DATA_ABILITY, NULL); if ((v4 == ABILITY_INSOMNIA) || (v4 == ABILITY_VITAL_SPIRIT)) { v2++; @@ -1195,7 +1195,7 @@ static void ov104_02238D8C(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p } } else { v3 = (LCRNG_Next() % 4 + 2); - Pokemon_SetValue(v5, MON_DATA_STATUS, &v3); + Pokemon_SetData(v5, MON_DATA_STATUS, &v3); break; } } @@ -1219,9 +1219,9 @@ static void ov104_02238E08(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p for (v1 = 0; v1 < param2; v1++) { v7 = Party_GetPokemonBySlotIndex(param1, v0); - v4 = Pokemon_GetValue(v7, MON_DATA_TYPE_1, NULL); - v5 = Pokemon_GetValue(v7, MON_DATA_TYPE_2, NULL); - v6 = Pokemon_GetValue(v7, MON_DATA_ABILITY, NULL); + v4 = Pokemon_GetData(v7, MON_DATA_TYPE_1, NULL); + v5 = Pokemon_GetData(v7, MON_DATA_TYPE_2, NULL); + v6 = Pokemon_GetData(v7, MON_DATA_ABILITY, NULL); if ((v4 == TYPE_ICE) || (v5 == TYPE_ICE) || (v6 == ABILITY_MAGMA_ARMOR)) { v2++; @@ -1232,7 +1232,7 @@ static void ov104_02238E08(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p } } else { v3 = MON_CONDITION_FREEZE; - Pokemon_SetValue(v7, MON_DATA_STATUS, &v3); + Pokemon_SetData(v7, MON_DATA_STATUS, &v3); break; } @@ -1269,7 +1269,7 @@ static void ov104_02238E9C(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p for (v0 = 0; v0 < param2; v0++) { v5 = Party_GetPokemonBySlotIndex(param1, v0); - Pokemon_SetValue(v5, MON_DATA_HELD_ITEM, &v3); + Pokemon_SetData(v5, MON_DATA_HELD_ITEM, &v3); } return; @@ -1299,7 +1299,7 @@ static void ov104_02238EF8(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p for (v0 = 0; v0 < param2; v0++) { v5 = Party_GetPokemonBySlotIndex(param1, v0); - Pokemon_SetValue(v5, MON_DATA_HELD_ITEM, &v3); + Pokemon_SetData(v5, MON_DATA_HELD_ITEM, &v3); } return; @@ -1313,7 +1313,7 @@ static void ov104_02238F54(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p for (v0 = 0; v0 < param2; v0++) { v3 = Party_GetPokemonBySlotIndex(param1, v0); - v2 = Pokemon_GetValue(v3, MON_DATA_LEVEL, NULL); + v2 = Pokemon_GetData(v3, MON_DATA_LEVEL, NULL); v2 += 3; if (v2 > 100) { @@ -1321,9 +1321,9 @@ static void ov104_02238F54(UnkStruct_ov104_0223BFFC *param0, Party *param1, u8 p v2 = 100; } - v1 = Pokemon_GetSpeciesBaseExpAt(Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL), v2); + v1 = Species_GetExpAtLevel(Pokemon_GetData(v3, MON_DATA_SPECIES, NULL), v2); - Pokemon_SetValue(v3, MON_DATA_EXPERIENCE, &v1); + Pokemon_SetData(v3, MON_DATA_EXPERIENCE, &v1); Pokemon_CalcLevelAndStats(v3); } @@ -1471,10 +1471,10 @@ void ov104_02239054(Party *param0, Party *param1, int param2, int param3) u16 v0; Pokemon *v1; Pokemon *v2 = Party_GetPokemonBySlotIndex(param0, param2); - v0 = Pokemon_GetValue(v2, MON_DATA_HELD_ITEM, NULL); + v0 = Pokemon_GetData(v2, MON_DATA_HELD_ITEM, NULL); v1 = Party_GetPokemonBySlotIndex(param1, param3); - Pokemon_SetValue(v1, MON_DATA_HELD_ITEM, &v0); + Pokemon_SetData(v1, MON_DATA_HELD_ITEM, &v0); return; } diff --git a/src/overlay104/ov104_0223A0C4.c b/src/overlay104/ov104_0223A0C4.c index 9b7562a9d9..123a8ac192 100644 --- a/src/overlay104/ov104_0223A0C4.c +++ b/src/overlay104/ov104_0223A0C4.c @@ -814,9 +814,9 @@ static u32 BattleTower_CopySetToPokemonDataDTO(BattleTower *battleTower, Frontie monDataDTO->item = monData.item; } - u8 friendship = MAX_FRIENDSHIP_VALUE; + u8 friendship = MAX_FRIENDSHIP; - for (v0 = 0; v0 < LEARNED_MOVES_MAX; v0++) { + for (v0 = 0; v0 < MAX_MON_MOVES; v0++) { monDataDTO->moves[v0] = monData.moves[v0]; if (monData.moves[v0] == MOVE_FRUSTRATION) { @@ -829,7 +829,7 @@ static u32 BattleTower_CopySetToPokemonDataDTO(BattleTower *battleTower, Frontie if (givenPersonality == 0) { do { randomPersonality = BattleTower_GetRandom(battleTower) | BattleTower_GetRandom(battleTower) << 16; - } while (monData.nature != Pokemon_GetNatureOf(randomPersonality) || Pokemon_IsPersonalityShiny(otID, randomPersonality) == 1); + } while (monData.nature != Personality_GetNature(randomPersonality) || Personality_IsShiny(otID, randomPersonality) == 1); monDataDTO->personality = randomPersonality; } else { @@ -867,16 +867,16 @@ static u32 BattleTower_CopySetToPokemonDataDTO(BattleTower *battleTower, Frontie monDataDTO->combinedPPUps = 0; monDataDTO->language = gGameLanguage; - v0 = SpeciesData_GetSpeciesValue(monDataDTO->species, SPECIES_DATA_ABILITY_2); + v0 = Species_GetValue(monDataDTO->species, SPECIES_DATA_ABILITY_2); if (v0) { if (monDataDTO->personality & 1) { monDataDTO->ability = v0; } else { - monDataDTO->ability = SpeciesData_GetSpeciesValue(monDataDTO->species, SPECIES_DATA_ABILITY_1); + monDataDTO->ability = Species_GetValue(monDataDTO->species, SPECIES_DATA_ABILITY_1); } } else { - monDataDTO->ability = SpeciesData_GetSpeciesValue(monDataDTO->species, SPECIES_DATA_ABILITY_1); + monDataDTO->ability = Species_GetValue(monDataDTO->species, SPECIES_DATA_ABILITY_1); } monDataDTO->friendship = friendship; @@ -906,10 +906,10 @@ FieldBattleDTO *ov104_0223A580(BattleTower *battleTower, UnkStruct_ov104_02230BE for (v0 = 0; v0 < battleTower->partySize; v0++) { Pokemon_Copy(Party_GetPokemonBySlotIndex(party, battleTower->unk_2A[v0]), mon); - if (Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL) > level) { - u32 v2 = Pokemon_GetSpeciesBaseExpAt(Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL), level); + if (Pokemon_GetData(mon, MON_DATA_LEVEL, NULL) > level) { + u32 v2 = Species_GetExpAtLevel(Pokemon_GetData(mon, MON_DATA_SPECIES, NULL), level); - Pokemon_SetValue(mon, MON_DATA_EXPERIENCE, &v2); + Pokemon_SetData(mon, MON_DATA_EXPERIENCE, &v2); Pokemon_CalcLevelAndStats(mon); } diff --git a/src/overlay104/ov104_0223AF58.c b/src/overlay104/ov104_0223AF58.c index 76d678756d..af3b320532 100644 --- a/src/overlay104/ov104_0223AF58.c +++ b/src/overlay104/ov104_0223AF58.c @@ -1621,7 +1621,7 @@ FieldBattleDTO *ov104_0223B250(UnkStruct_ov104_0223B5C0 *param0, UnkStruct_ov104 ov104_0222DF40(¶m0->unk_290[v6], v9, ov104_0223B57C(param0, v7)); - Pokemon_CalcAbility(v9); + Pokemon_UpdateAbility(v9); FieldBattleDTO_AddPokemonToBattler(v8, v9, 1); } @@ -1649,7 +1649,7 @@ FieldBattleDTO *ov104_0223B250(UnkStruct_ov104_0223B5C0 *param0, UnkStruct_ov104 ov104_0222DF40(¶m0->unk_290[v6], v9, ov104_0223B57C(param0, v7)); - Pokemon_CalcAbility(v9); + Pokemon_UpdateAbility(v9); FieldBattleDTO_AddPokemonToBattler(v8, v9, 3); Heap_Free(v9); break; @@ -1666,7 +1666,7 @@ static BOOL ov104_0223B4A4(UnkStruct_ov104_0223B5C0 *param0, u8 param1) param0->unk_290[param1].personality += ((24 + 1) * 10001); } - return Pokemon_IsPersonalityShiny(param0->unk_290[param1].otID, param0->unk_290[param1].personality); + return Personality_IsShiny(param0->unk_290[param1].otID, param0->unk_290[param1].personality); } static u32 ov104_0223B4D4(u8 param0) @@ -1788,7 +1788,7 @@ u8 ov104_0223B5C0(UnkStruct_ov104_0223B5C0 *param0) int v1; Party *v2 = SaveData_GetParty(param0->saveData); Pokemon *v3 = Party_GetPokemonBySlotIndex(v2, param0->unk_260[0]); - v1 = Pokemon_GetValue(v3, MON_DATA_LEVEL, NULL); + v1 = Pokemon_GetData(v3, MON_DATA_LEVEL, NULL); return v1 / 10; } @@ -1845,11 +1845,11 @@ u16 ov104_0223B64C(UnkStruct_ov104_0223B5C0 *param0) v0 = SaveData_GetParty(param0->saveData); v1 = Party_GetPokemonBySlotIndex(v0, param0->unk_260[0]); - v2 = Pokemon_GetValue(v1, MON_DATA_LEVEL, NULL); + v2 = Pokemon_GetData(v1, MON_DATA_LEVEL, NULL); if (ov104_0223B500(param0->unk_04) == 2) { v1 = Party_GetPokemonBySlotIndex(v0, param0->unk_260[1]); - v3 = Pokemon_GetValue(v1, MON_DATA_LEVEL, NULL); + v3 = Pokemon_GetData(v1, MON_DATA_LEVEL, NULL); if (v2 > v3) { return v2; diff --git a/src/overlay104/ov104_0223B6F4.c b/src/overlay104/ov104_0223B6F4.c index ed828a6b70..acaa982c31 100644 --- a/src/overlay104/ov104_0223B6F4.c +++ b/src/overlay104/ov104_0223B6F4.c @@ -274,17 +274,17 @@ void ov104_0223BA24(Party *param0) for (v0 = 0; v0 < v2; v0++) { mon = Party_GetPokemonBySlotIndex(param0, v0); - if (Pokemon_GetValue(mon, MON_DATA_SPECIES_EXISTS, NULL) == 0) { + if (Pokemon_GetData(mon, MON_DATA_SPECIES_EXISTS, NULL) == 0) { continue; } - if (Pokemon_GetValue(mon, MON_DATA_HP, NULL) == 0) { + if (Pokemon_GetData(mon, MON_DATA_HP, NULL) == 0) { v3 = 1; - Pokemon_SetValue(mon, MON_DATA_HP, &v3); + Pokemon_SetData(mon, MON_DATA_HP, &v3); } v3 = 0; - Pokemon_SetValue(mon, MON_DATA_STATUS, &v3); + Pokemon_SetData(mon, MON_DATA_STATUS, &v3); } return; diff --git a/src/overlay104/ov104_0223BCBC.c b/src/overlay104/ov104_0223BCBC.c index c2a308b007..0ddb6e7441 100644 --- a/src/overlay104/ov104_0223BCBC.c +++ b/src/overlay104/ov104_0223BCBC.c @@ -317,7 +317,7 @@ void ov104_0223C04C(UnkStruct_ov104_0223BFFC *param0) v6 = Party_GetPokemonBySlotIndex(param0->unk_74, v1); v0 = 0; - Pokemon_SetValue(v6, MON_DATA_HELD_ITEM, &v0); + Pokemon_SetData(v6, MON_DATA_HELD_ITEM, &v0); } Heap_Free(v5); diff --git a/src/overlay105/ov105_02241AE0.c b/src/overlay105/ov105_02241AE0.c index d508155f21..1785a30f88 100644 --- a/src/overlay105/ov105_02241AE0.c +++ b/src/overlay105/ov105_02241AE0.c @@ -2079,12 +2079,12 @@ static BOOL ov105_02244424(UnkStruct_ov105_02241FF4 *param0) ov104_0222E5D0(param0->unk_20, 0); v1 = Party_GetPokemonBySlotIndex(param0->unk_31C, 2 + param0->unk_324[0]); - v2 = Pokemon_GetBoxPokemon(v1); + v2 = Pokemon_GetBoxMon(v1); ov105_02244F00(param0, 1, v2); v1 = Party_GetPokemonBySlotIndex(param0->unk_320, param0->unk_324[1]); - v2 = Pokemon_GetBoxPokemon(v1); + v2 = Pokemon_GetBoxMon(v1); ov105_02244F00(param0, 2, v2); ov105_0224628C(¶m0->unk_50[5], Options_Frame(param0->options)); @@ -2673,7 +2673,7 @@ static void ov105_02244FF8(UnkStruct_ov105_02241FF4 *param0, Window *param1, u8 u16 v6[(10 + 1)]; v5 = Party_GetPokemonBySlotIndex(param9, param2); - Pokemon_GetValue(v5, MON_DATA_SPECIES_NAME, v6); + Pokemon_GetData(v5, MON_DATA_SPECIES_NAME, v6); Window_FillTilemap(param1, param7); v4 = String_Init(10 + 1, HEAP_ID_93); @@ -2681,7 +2681,7 @@ static void ov105_02244FF8(UnkStruct_ov105_02241FF4 *param0, Window *param1, u8 Text_AddPrinterWithParamsAndColor(param1, param8, v4, param3, param4, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(param5, param6, param7), NULL); v0 = Window_GetWidth(param1) - 1; - v1 = Pokemon_GetValue(v5, MON_DATA_GENDER, NULL); + v1 = Pokemon_GetData(v5, MON_DATA_GENDER, NULL); v2 = (v1 == 0) ? 25 : 26; v3 = (v1 == 0) ? TEXT_COLOR(7, 8, 0) : TEXT_COLOR(3, 4, 0); @@ -2990,10 +2990,10 @@ static void ov105_022455C4(UnkStruct_ov105_02241FF4 *param0, u8 param1, Pokemon PokemonSprite_SetAttribute(param0->unk_12C[param1], MON_SPRITE_HIDE, 0); - v0 = Pokemon_GetValue(param2, MON_DATA_SPECIES, NULL); - v1 = Pokemon_GetValue(param2, MON_DATA_FORM, NULL); + v0 = Pokemon_GetData(param2, MON_DATA_SPECIES, NULL); + v1 = Pokemon_GetData(param2, MON_DATA_FORM, NULL); - if (SpeciesData_GetFormValue(v0, v1, 28) == 0) { + if (Species_GetFormValue(v0, v1, 28) == 0) { ov105_02245DB8(param0->unk_12C[param1], param5); } @@ -3071,14 +3071,14 @@ void ov105_022456A8(UnkStruct_ov105_02241FF4 *param0, u16 param1, u16 param2) for (v0 = 0; v0 < param0->unk_11; v0++) { v2 = Party_GetPokemonBySlotIndex(param0->unk_31C, param0->unk_324[v0]); - param0->unk_33C[v0 + v1] = Pokemon_GetValue(v2, MON_DATA_SPECIES, NULL); + param0->unk_33C[v0 + v1] = Pokemon_GetData(v2, MON_DATA_SPECIES, NULL); } v1 += param0->unk_11; for (v0 = 0; v0 < param0->unk_11; v0++) { v2 = Party_GetPokemonBySlotIndex(param0->unk_31C, param0->unk_324[v0]); - param0->unk_33C[v0 + v1] = Pokemon_GetValue(v2, MON_DATA_GENDER, NULL); + param0->unk_33C[v0 + v1] = Pokemon_GetData(v2, MON_DATA_GENDER, NULL); } v1 += param0->unk_11; diff --git a/src/overlay106/ov106_02241AE0.c b/src/overlay106/ov106_02241AE0.c index 972b501433..e9d0f57c9c 100644 --- a/src/overlay106/ov106_02241AE0.c +++ b/src/overlay106/ov106_02241AE0.c @@ -1123,7 +1123,7 @@ static void ov106_02242AC4(UnkStruct_ov106_02243118 *param0, Window *param1, u32 u16 v6[(10 + 1)]; v5 = Party_GetPokemonBySlotIndex(param0->unk_290, 0); - Pokemon_GetValue(v5, MON_DATA_SPECIES_NAME, v6); + Pokemon_GetData(v5, MON_DATA_SPECIES_NAME, v6); Window_FillTilemap(param1, param6); v4 = String_Init(10 + 1, HEAP_ID_98); @@ -1534,7 +1534,7 @@ void ov106_0224313C(UnkStruct_ov106_02243118 *param0, u16 param1, u16 param2) param0->unk_2A0[2] = param0->unk_18; v2 = Party_GetPokemonBySlotIndex(param0->unk_290, 0); - param0->unk_2A0[3] = Pokemon_GetValue(v2, MON_DATA_LEVEL, NULL); + param0->unk_2A0[3] = Pokemon_GetData(v2, MON_DATA_LEVEL, NULL); return; } diff --git a/src/overlay107/ov107_02241AE0.c b/src/overlay107/ov107_02241AE0.c index f362fa53e9..18295bb8fd 100644 --- a/src/overlay107/ov107_02241AE0.c +++ b/src/overlay107/ov107_02241AE0.c @@ -849,7 +849,7 @@ static BOOL ov107_02241EC8(UnkStruct_ov107_02241D6C *param0) } if (param0->unk_16 == 0) { - if (Pokemon_GetValue(v7, MON_DATA_HP, NULL) == Pokemon_GetValue(v7, MON_DATA_MAX_HP, NULL)) { + if (Pokemon_GetData(v7, MON_DATA_HP, NULL) == Pokemon_GetData(v7, MON_DATA_MAX_HP, NULL)) { param0->unk_0A = ov107_02243918(param0, 37, FONT_MESSAGE); param0->unk_08 = 7; break; @@ -861,7 +861,7 @@ static BOOL ov107_02241EC8(UnkStruct_ov107_02241D6C *param0) break; } } else { - if ((Pokemon_GetValue(v7, MON_DATA_HP, NULL) == Pokemon_GetValue(v7, MON_DATA_MAX_HP, NULL)) && (ov107_02245210(v7) == 0)) { + if ((Pokemon_GetData(v7, MON_DATA_HP, NULL) == Pokemon_GetData(v7, MON_DATA_MAX_HP, NULL)) && (ov107_02245210(v7) == 0)) { param0->unk_0A = ov107_02243918(param0, 37, FONT_MESSAGE); param0->unk_08 = 7; break; @@ -1054,7 +1054,7 @@ static BOOL ov107_02241EC8(UnkStruct_ov107_02241D6C *param0) break; } - if (Pokemon_GetValue(v7, MON_DATA_HELD_ITEM, NULL) == 0) { + if (Pokemon_GetData(v7, MON_DATA_HELD_ITEM, NULL) == 0) { if (ov104_0223BA14(param0->unk_09) == 0) { ov107_02244120(param0); ov107_02249DBC(¶m0->unk_50[6], Options_Frame(param0->options)); @@ -1070,8 +1070,8 @@ static BOOL ov107_02241EC8(UnkStruct_ov107_02241D6C *param0) return 1; } } else { - ov107_02244A8C(param0, 0, Pokemon_GetBoxPokemon(v7)); - StringTemplate_SetItemNameWithArticle(param0->unk_24, 1, Pokemon_GetValue(v7, MON_DATA_HELD_ITEM, NULL)); + ov107_02244A8C(param0, 0, Pokemon_GetBoxMon(v7)); + StringTemplate_SetItemNameWithArticle(param0->unk_24, 1, Pokemon_GetData(v7, MON_DATA_HELD_ITEM, NULL)); param0->unk_0A = ov107_02243918(param0, 60, FONT_MESSAGE); param0->unk_08 = 16; } @@ -1475,12 +1475,12 @@ static void ov107_02242F5C(UnkStruct_ov107_02241D6C *param0) v19 = Party_GetPokemonBySlotIndex(param0->unk_43C, v15); - if (Pokemon_GetValue(v19, MON_DATA_HELD_ITEM, NULL) == 0) { + if (Pokemon_GetData(v19, MON_DATA_HELD_ITEM, NULL) == 0) { ov107_02249BAC(param0->unk_404[v15], 0); } - v2 = Pokemon_GetValue(v19, MON_DATA_HP, NULL); - v3 = Pokemon_GetValue(v19, MON_DATA_MAX_HP, NULL); + v2 = Pokemon_GetData(v19, MON_DATA_HP, NULL); + v3 = Pokemon_GetData(v19, MON_DATA_MAX_HP, NULL); v4 = ov107_022450E8(param0, HealthBar_Color(v2, v3, 48)); v5 = ov107_02245114(param0, HealthBar_Color(v2, v3, 48)); @@ -1858,7 +1858,7 @@ static void ov107_02243950(UnkStruct_ov107_02241D6C *param0, Window *window, Pok { Window_FillTilemap(window, 0); - StringTemplate_SetItemName(param0->unk_24, 0, Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL)); + StringTemplate_SetItemName(param0->unk_24, 0, Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL)); ov107_02243B5C(param0, window, 70, 0, 8, 0); ov107_02243B5C(param0, window, 71, 64, 8, 0); @@ -1866,27 +1866,27 @@ static void ov107_02243950(UnkStruct_ov107_02241D6C *param0, Window *window, Pok ov107_02243B5C(param0, window, 72, 0, 24, 0); ov107_02243B5C(param0, window, 73, 64, 24, 0); - StringTemplate_SetAbilityName(param0->unk_24, 0, Pokemon_GetValue(mon, MON_DATA_ABILITY, NULL)); + StringTemplate_SetAbilityName(param0->unk_24, 0, Pokemon_GetData(mon, MON_DATA_ABILITY, NULL)); ov107_02243B5C(param0, window, 74, 0, 40, 0); ov107_02243B5C(param0, window, 75, 64, 40, 0); - ov107_02244A74(param0, 0, Pokemon_GetValue(mon, MON_DATA_ATK, NULL), 3, 1); + ov107_02244A74(param0, 0, Pokemon_GetData(mon, MON_DATA_ATK, NULL), 3, 1); ov107_02243B5C(param0, window, 76, 0, 56, 0); ov107_02243B5C(param0, window, 77, 80, 56, 2); - ov107_02244A74(param0, 0, Pokemon_GetValue(mon, MON_DATA_DEF, NULL), 3, 1); + ov107_02244A74(param0, 0, Pokemon_GetData(mon, MON_DATA_DEF, NULL), 3, 1); ov107_02243B5C(param0, window, 78, 96, 56, 0); ov107_02243B5C(param0, window, 79, 176, 56, 2); - ov107_02244A74(param0, 0, Pokemon_GetValue(mon, MON_DATA_SP_ATK, NULL), 3, 1); + ov107_02244A74(param0, 0, Pokemon_GetData(mon, MON_DATA_SP_ATK, NULL), 3, 1); ov107_02243B5C(param0, window, 80, 0, 72, 0); ov107_02243B5C(param0, window, 81, 80, 72, 2); - ov107_02244A74(param0, 0, Pokemon_GetValue(mon, MON_DATA_SP_DEF, NULL), 3, 1); + ov107_02244A74(param0, 0, Pokemon_GetData(mon, MON_DATA_SP_DEF, NULL), 3, 1); ov107_02243B5C(param0, window, 82, 96, 72, 0); ov107_02243B5C(param0, window, 83, 176, 72, 2); - ov107_02244A74(param0, 0, Pokemon_GetValue(mon, MON_DATA_SPEED, NULL), 3, 1); + ov107_02244A74(param0, 0, Pokemon_GetData(mon, MON_DATA_SPEED, NULL), 3, 1); ov107_02243B5C(param0, window, 84, 0, 88, 0); ov107_02243B5C(param0, window, 85, 80, 88, 2); @@ -1920,11 +1920,11 @@ static void ov107_02243C18(UnkStruct_ov107_02241D6C *param0, Window *param1, u8 v2 = 137; v3 = 12 + (param2 * 24); - StringTemplate_SetMoveName(param0->unk_24, param2, Pokemon_GetValue(param5, param6, NULL)); + StringTemplate_SetMoveName(param0->unk_24, param2, Pokemon_GetData(param5, param6, NULL)); param0->unk_0A = ov107_02243860(param0, param1, param3, v0, v1, TEXT_SPEED_NO_TRANSFER, 1, 2, 0, FONT_SYSTEM); - ov107_02244A74(param0, 4, Pokemon_GetValue(param5, param7, NULL), MON_DATA_CHECKSUM_FAILED, 0); - ov107_02244A74(param0, 5, Pokemon_GetValue(param5, param8, NULL), MON_DATA_CHECKSUM_FAILED, 0); + ov107_02244A74(param0, 4, Pokemon_GetData(param5, param7, NULL), MON_DATA_CHECKSUM_FAILED, 0); + ov107_02244A74(param0, 5, Pokemon_GetData(param5, param8, NULL), MON_DATA_CHECKSUM_FAILED, 0); param0->unk_0A = ov107_02243890(param0, param1, param4, v2, v3, TEXT_SPEED_NO_TRANSFER, 1, 2, 0, FONT_SYSTEM, 1); return; @@ -1976,9 +1976,9 @@ static void ov107_02243CFC(UnkStruct_ov107_02241D6C *param0, Window *param1, u8 v4 = 0; } - FontSpecialChars_DrawPartyScreenHPText(param0->unk_1C4, Pokemon_GetValue(v7, MON_DATA_HP, NULL), 3, 1, param1, v1, v2); + FontSpecialChars_DrawPartyScreenHPText(param0->unk_1C4, Pokemon_GetData(v7, MON_DATA_HP, NULL), 3, 1, param1, v1, v2); FontSpecialChars_DrawPartyScreenLevelText(param0->unk_1C4, 0, param1, v5, v6); - FontSpecialChars_DrawPartyScreenHPText(param0->unk_1C4, Pokemon_GetValue(v7, MON_DATA_MAX_HP, NULL), 3, 0, param1, v3, v4); + FontSpecialChars_DrawPartyScreenHPText(param0->unk_1C4, Pokemon_GetData(v7, MON_DATA_MAX_HP, NULL), 3, 0, param1, v3, v4); return; } @@ -2024,8 +2024,8 @@ static void ov107_02243DE4(UnkStruct_ov107_02241D6C *param0, Window *param1, u8 v4 = 0; } - FontSpecialChars_DrawPartyScreenText(param0->unk_1C4, 1, Pokemon_GetValue(v7, MON_DATA_LEVEL, NULL), 3, 0, param1, v1, v2); - v0 = Pokemon_GetValue(v7, MON_DATA_GENDER, NULL); + FontSpecialChars_DrawPartyScreenText(param0->unk_1C4, 1, Pokemon_GetData(v7, MON_DATA_LEVEL, NULL), 3, 0, param1, v1, v2); + v0 = Pokemon_GetData(v7, MON_DATA_GENDER, NULL); ov107_02244B8C(param0, param1, v3, v4, FONT_SYSTEM, v0); return; @@ -2914,8 +2914,8 @@ static BOOL ov107_02244E44(UnkStruct_ov107_02241D6C *param0, u8 param1, u8 param v5 = ov107_02249C98(param0->unk_14, param1); v6 = Party_GetPokemonBySlotIndex(param0->unk_43C, v5); - v0 = Pokemon_GetValue(v6, MON_DATA_HP, NULL); - v1 = Pokemon_GetValue(v6, MON_DATA_MAX_HP, NULL); + v0 = Pokemon_GetData(v6, MON_DATA_HP, NULL); + v1 = Pokemon_GetData(v6, MON_DATA_MAX_HP, NULL); v2 = ov107_022450E8(param0, HealthBar_Color(v0, v1, 48)); v3 = ov107_02245114(param0, HealthBar_Color(v0, v1, 48)); @@ -2948,7 +2948,7 @@ static BOOL ov107_02244E44(UnkStruct_ov107_02241D6C *param0, u8 param1, u8 param } if (param0->unk_414 == NULL) { - ov107_02243F4C(param0, ¶m0->unk_50[3], v5, Pokemon_GetValue(v6, MON_DATA_HP, NULL)); + ov107_02243F4C(param0, ¶m0->unk_50[3], v5, Pokemon_GetData(v6, MON_DATA_HP, NULL)); ov107_02249BEC(param0->unk_420[v5], v3); ov107_02249C1C(param0->unk_3F4[v5], v2); param0->unk_0E_2 = 0; @@ -3130,19 +3130,19 @@ static BOOL ov107_02245210(Pokemon *param0) { u8 v0 = 0; - if (Pokemon_GetValue(param0, MON_DATA_MOVE1_PP, NULL) != Pokemon_GetValue(param0, MON_DATA_MOVE1_MAX_PP, NULL)) { + if (Pokemon_GetData(param0, MON_DATA_MOVE1_PP, NULL) != Pokemon_GetData(param0, MON_DATA_MOVE1_MAX_PP, NULL)) { v0 = 1; } - if (Pokemon_GetValue(param0, MON_DATA_MOVE2_PP, NULL) != Pokemon_GetValue(param0, MON_DATA_MOVE2_MAX_PP, NULL)) { + if (Pokemon_GetData(param0, MON_DATA_MOVE2_PP, NULL) != Pokemon_GetData(param0, MON_DATA_MOVE2_MAX_PP, NULL)) { v0 = 1; } - if (Pokemon_GetValue(param0, MON_DATA_MOVE3_PP, NULL) != Pokemon_GetValue(param0, MON_DATA_MOVE3_MAX_PP, NULL)) { + if (Pokemon_GetData(param0, MON_DATA_MOVE3_PP, NULL) != Pokemon_GetData(param0, MON_DATA_MOVE3_MAX_PP, NULL)) { v0 = 1; } - if (Pokemon_GetValue(param0, MON_DATA_MOVE4_PP, NULL) != Pokemon_GetValue(param0, MON_DATA_MOVE4_MAX_PP, NULL)) { + if (Pokemon_GetData(param0, MON_DATA_MOVE4_PP, NULL) != Pokemon_GetData(param0, MON_DATA_MOVE4_MAX_PP, NULL)) { v0 = 1; } @@ -3380,7 +3380,7 @@ static void ov107_022454F8(UnkStruct_ov107_02241D6C *param0, u8 param1, u8 param v1 = Party_GetPokemonBySlotIndex(param0->unk_43C, ov107_02249C98(param0->unk_14, param1)); v0 = ov107_02249CAC(param0->saveData, param0->unk_09, 0); - ov107_02244A8C(param0, 0, Pokemon_GetBoxPokemon(v1)); + ov107_02244A8C(param0, 0, Pokemon_GetBoxMon(v1)); ov107_02249DBC(¶m0->unk_50[6], Options_Frame(param0->options)); param0->unk_0A = ov107_02243918(param0, Unk_ov107_02249E00[param2 - 1], FONT_MESSAGE); @@ -3412,10 +3412,10 @@ static void ov107_022455A0(UnkStruct_ov107_02241D6C *param0, u8 param1, u16 para v0 = Party_GetPokemonBySlotIndex(param0->unk_43C, ov107_02249C98(param0->unk_14, param1)); - Pokemon_SetValue(v0, MON_DATA_HELD_ITEM, ¶m2); + Pokemon_SetData(v0, MON_DATA_HELD_ITEM, ¶m2); ov107_02249BAC(param0->unk_404[ov107_02249C98(param0->unk_14, param1)], 1); - ov107_02244A8C(param0, 0, Pokemon_GetBoxPokemon(v0)); + ov107_02244A8C(param0, 0, Pokemon_GetBoxMon(v0)); StringTemplate_SetItemName(param0->unk_24, 1, param2); param0->unk_0A = ov107_02243918(param0, 59, FONT_MESSAGE); @@ -3668,7 +3668,7 @@ static void ov107_02245C00(UnkStruct_ov107_02241D6C *param0) for (v0 = 0; v0 < v1; v0++) { v3 = Party_GetPokemonBySlotIndex(param0->unk_43C, v0); - v2 = ov104_0222E240(Pokemon_GetValue(v3, MON_DATA_HP, NULL), Pokemon_GetValue(v3, MON_DATA_MAX_HP, NULL)); + v2 = ov104_0222E240(Pokemon_GetData(v3, MON_DATA_HP, NULL), Pokemon_GetData(v3, MON_DATA_MAX_HP, NULL)); if (param0->unk_3F4[v0] != NULL) { ov107_02249C1C(param0->unk_3F4[v0], v2); diff --git a/src/overlay107/ov107_02245EB0.c b/src/overlay107/ov107_02245EB0.c index 64ecf2b9ac..0d3e052de2 100644 --- a/src/overlay107/ov107_02245EB0.c +++ b/src/overlay107/ov107_02245EB0.c @@ -541,7 +541,7 @@ static BOOL ov107_022462CC(UnkStruct_ov107_02246170 *param0) v8 = Party_GetPokemonBySlotIndex(param0->unk_3DC, ov107_02249C98(param0->unk_14, param0->unk_0D)); ov107_02248BEC(param0); - ov107_02248104(param0, 0, Pokemon_GetBoxPokemon(v8)); + ov107_02248104(param0, 0, Pokemon_GetBoxMon(v8)); param0->unk_0A = ov107_022477CC(param0, 20, FONT_MESSAGE); param0->unk_08 = 15; @@ -554,7 +554,7 @@ static BOOL ov107_022462CC(UnkStruct_ov107_02246170 *param0) v8 = Party_GetPokemonBySlotIndex(param0->unk_3DC, ov107_02249C98(param0->unk_14, param0->unk_0D)); ov107_02248BEC(param0); - ov107_02248104(param0, 0, Pokemon_GetBoxPokemon(v8)); + ov107_02248104(param0, 0, Pokemon_GetBoxMon(v8)); param0->unk_0A = ov107_022477CC(param0, 21, FONT_MESSAGE); ov107_02247DF0(param0); @@ -1518,7 +1518,7 @@ static void ov107_02247804(UnkStruct_ov107_02246170 *param0, Window *window, Pok { Window_FillTilemap(window, 0); - StringTemplate_SetItemName(param0->unk_24, 0, Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL)); + StringTemplate_SetItemName(param0->unk_24, 0, Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL)); ov107_02247A14(param0, window, 48, 8, 8, 0); ov107_02247A14(param0, window, 49, 72, 8, 0); @@ -1526,27 +1526,27 @@ static void ov107_02247804(UnkStruct_ov107_02246170 *param0, Window *window, Pok ov107_02247A14(param0, window, 50, 8, 24, 0); ov107_02247A14(param0, window, 51, 72, 24, 0); - StringTemplate_SetAbilityName(param0->unk_24, 0, Pokemon_GetValue(mon, MON_DATA_ABILITY, NULL)); + StringTemplate_SetAbilityName(param0->unk_24, 0, Pokemon_GetData(mon, MON_DATA_ABILITY, NULL)); ov107_02247A14(param0, window, 52, 8, 40, 0); ov107_02247A14(param0, window, 53, 72, 40, 0); - ov107_022480EC(param0, 0, Pokemon_GetValue(mon, MON_DATA_ATK, NULL), 3, 1); + ov107_022480EC(param0, 0, Pokemon_GetData(mon, MON_DATA_ATK, NULL), 3, 1); ov107_02247A14(param0, window, 54, 8, 56, 0); ov107_02247A14(param0, window, 55, 88, 56, 2); - ov107_022480EC(param0, 0, Pokemon_GetValue(mon, MON_DATA_DEF, NULL), 3, 1); + ov107_022480EC(param0, 0, Pokemon_GetData(mon, MON_DATA_DEF, NULL), 3, 1); ov107_02247A14(param0, window, 56, 104, 56, 0); ov107_02247A14(param0, window, 57, 184, 56, 2); - ov107_022480EC(param0, 0, Pokemon_GetValue(mon, MON_DATA_SP_ATK, NULL), 3, 1); + ov107_022480EC(param0, 0, Pokemon_GetData(mon, MON_DATA_SP_ATK, NULL), 3, 1); ov107_02247A14(param0, window, 58, 8, 72, 0); ov107_02247A14(param0, window, 59, 88, 72, 2); - ov107_022480EC(param0, 0, Pokemon_GetValue(mon, MON_DATA_SP_DEF, NULL), 3, 1); + ov107_022480EC(param0, 0, Pokemon_GetData(mon, MON_DATA_SP_DEF, NULL), 3, 1); ov107_02247A14(param0, window, 60, 104, 72, 0); ov107_02247A14(param0, window, 61, 184, 72, 2); - ov107_022480EC(param0, 0, Pokemon_GetValue(mon, MON_DATA_SPEED, NULL), 3, 1); + ov107_022480EC(param0, 0, Pokemon_GetData(mon, MON_DATA_SPEED, NULL), 3, 1); ov107_02247A14(param0, window, 62, 8, 88, 0); ov107_02247A14(param0, window, 63, 88, 88, 2); @@ -1579,10 +1579,10 @@ static void ov107_02247AD0(UnkStruct_ov107_02246170 *param0, Window *param1, u8 v1 = (2 * 8 - 4) + param2 * 24; v2 = 18 * 8 + 1; v3 = (2 * 8 - 4) + param2 * 24; - StringTemplate_SetMoveName(param0->unk_24, param2, Pokemon_GetValue(param5, param6, NULL)); + StringTemplate_SetMoveName(param0->unk_24, param2, Pokemon_GetData(param5, param6, NULL)); param0->unk_0A = ov107_02247714(param0, param1, param3, v0, v1, 0xFF, 1, 2, 0, 0); - ov107_022480EC(param0, 4, Pokemon_GetValue(param5, param7, NULL), 3, 0); - ov107_022480EC(param0, 5, Pokemon_GetValue(param5, param8, NULL), 3, 0); + ov107_022480EC(param0, 4, Pokemon_GetData(param5, param7, NULL), 3, 0); + ov107_022480EC(param0, 5, Pokemon_GetData(param5, param8, NULL), 3, 0); param0->unk_0A = ov107_02247744(param0, param1, param4, v2, v3, 0xFF, 1, 2, 0, 0, 1); } @@ -1612,9 +1612,9 @@ static void ov107_02247B78(UnkStruct_ov107_02246170 *param0, Window *param1) v3 = Party_GetPokemonBySlotIndex(param0->unk_3DC, v2); - FontSpecialChars_DrawPartyScreenHPText(param0->unk_144, Pokemon_GetValue(v3, MON_DATA_HP, NULL), 3, 1, param1, v0 + (64 * v2), 1); + FontSpecialChars_DrawPartyScreenHPText(param0->unk_144, Pokemon_GetData(v3, MON_DATA_HP, NULL), 3, 1, param1, v0 + (64 * v2), 1); FontSpecialChars_DrawPartyScreenLevelText(param0->unk_144, 0, param1, 24 + v0 + (64 * v2), 1); - FontSpecialChars_DrawPartyScreenHPText(param0->unk_144, Pokemon_GetValue(v3, MON_DATA_MAX_HP, NULL), 3, 0, param1, 32 + v0 + (64 * v2), 1); + FontSpecialChars_DrawPartyScreenHPText(param0->unk_144, Pokemon_GetData(v3, MON_DATA_MAX_HP, NULL), 3, 0, param1, 32 + v0 + (64 * v2), 1); } Window_ScheduleCopyToVRAM(param1); @@ -1643,9 +1643,9 @@ static void ov107_02247C64(UnkStruct_ov107_02246170 *param0, Window *param1) for (v4 = 0; v4 < v3; v4++) { v5 = Party_GetPokemonBySlotIndex(param0->unk_3DC, v4); - FontSpecialChars_DrawPartyScreenText(param0->unk_144, 1, Pokemon_GetValue(v5, MON_DATA_LEVEL, NULL), 3, 0, param1, v1 + (64 * v4), 1); + FontSpecialChars_DrawPartyScreenText(param0->unk_144, 1, Pokemon_GetData(v5, MON_DATA_LEVEL, NULL), 3, 0, param1, v1 + (64 * v4), 1); - v0 = Pokemon_GetValue(v5, MON_DATA_GENDER, NULL); + v0 = Pokemon_GetData(v5, MON_DATA_GENDER, NULL); ov107_022481FC(param0, param1, v2 + (64 * v4), 1, 0, v0); } @@ -2616,7 +2616,7 @@ static void ov107_02248A8C(UnkStruct_ov107_02246170 *param0, u8 param1) ov107_02249DBC(¶m0->unk_50[7], Options_Frame(param0->options)); v0 = Party_GetPokemonBySlotIndex(param0->unk_3DC, ov107_02249C98(param0->unk_14, param1)); - ov107_02248104(param0, 0, Pokemon_GetBoxPokemon(v0)); + ov107_02248104(param0, 0, Pokemon_GetBoxMon(v0)); param0->unk_0A = ov107_022477CC(param0, 47, FONT_MESSAGE); @@ -2656,7 +2656,7 @@ static void ov107_02248B50(UnkStruct_ov107_02246170 *param0, u8 param1) ov107_02249DBC(¶m0->unk_50[7], Options_Frame(param0->options)); v0 = Party_GetPokemonBySlotIndex(param0->unk_3DC, ov107_02249C98(param0->unk_14, param1)); - ov107_02248104(param0, 0, Pokemon_GetBoxPokemon(v0)); + ov107_02248104(param0, 0, Pokemon_GetBoxMon(v0)); param0->unk_0A = ov107_022477CC(param0, 70, FONT_MESSAGE); @@ -2849,7 +2849,7 @@ static void ov107_02249024(UnkStruct_ov107_02246170 *param0, u8 param1) v0 = Party_GetPokemonBySlotIndex(param0->unk_3DC, ov107_02249C98(param0->unk_14, param1)); ov107_02249DBC(¶m0->unk_50[7], Options_Frame(param0->options)); - ov107_02248104(param0, 0, Pokemon_GetBoxPokemon(v0)); + ov107_02248104(param0, 0, Pokemon_GetBoxMon(v0)); param0->unk_0A = ov107_022477CC(param0, 20, FONT_MESSAGE); param0->unk_3CC[ov107_02249C98(param0->unk_14, param1)] = 1; @@ -2873,7 +2873,7 @@ static void ov107_022490E8(UnkStruct_ov107_02246170 *param0, u8 param1, u8 param ov107_02249DBC(¶m0->unk_50[7], Options_Frame(param0->options)); v1 = Party_GetPokemonBySlotIndex(param0->unk_3DC, ov107_02249C98(param0->unk_14, param1)); - ov107_02248104(param0, 0, Pokemon_GetBoxPokemon(v1)); + ov107_02248104(param0, 0, Pokemon_GetBoxMon(v1)); if (param2 == 1) { param0->unk_0A = ov107_022477CC(param0, 31, FONT_MESSAGE); @@ -2890,16 +2890,16 @@ static void ov107_022490E8(UnkStruct_ov107_02246170 *param0, u8 param1, u8 param } if (param0->unk_3D0[ov107_02249C98(param0->unk_14, param1)] == 0) { - v0 = Pokemon_GetSpeciesBaseExpAt(Pokemon_GetValue(v1, MON_DATA_SPECIES, NULL), 50); - Pokemon_SetValue(v1, MON_DATA_EXPERIENCE, &v0); + v0 = Species_GetExpAtLevel(Pokemon_GetData(v1, MON_DATA_SPECIES, NULL), 50); + Pokemon_SetData(v1, MON_DATA_EXPERIENCE, &v0); Pokemon_CalcLevelAndStats(v1); } else if (param0->unk_3D0[ov107_02249C98(param0->unk_14, param1)] == 1) { - v0 = Pokemon_GetSpeciesBaseExpAt(Pokemon_GetValue(v1, MON_DATA_SPECIES, NULL), 55); - Pokemon_SetValue(v1, MON_DATA_EXPERIENCE, &v0); + v0 = Species_GetExpAtLevel(Pokemon_GetData(v1, MON_DATA_SPECIES, NULL), 55); + Pokemon_SetData(v1, MON_DATA_EXPERIENCE, &v0); Pokemon_CalcLevelAndStats(v1); } else { - v0 = Pokemon_GetSpeciesBaseExpAt(Pokemon_GetValue(v1, MON_DATA_SPECIES, NULL), 45); - Pokemon_SetValue(v1, MON_DATA_EXPERIENCE, &v0); + v0 = Species_GetExpAtLevel(Pokemon_GetData(v1, MON_DATA_SPECIES, NULL), 45); + Pokemon_SetData(v1, MON_DATA_EXPERIENCE, &v0); Pokemon_CalcLevelAndStats(v1); } @@ -2947,7 +2947,7 @@ static void ov107_022492A8(UnkStruct_ov107_02246170 *param0) for (v0 = 0; v0 < v1; v0++) { v3 = Party_GetPokemonBySlotIndex(param0->unk_3DC, v0); - v2 = ov104_0222E240(Pokemon_GetValue(v3, MON_DATA_HP, NULL), Pokemon_GetValue(v3, MON_DATA_MAX_HP, NULL)); + v2 = ov104_0222E240(Pokemon_GetData(v3, MON_DATA_HP, NULL), Pokemon_GetData(v3, MON_DATA_MAX_HP, NULL)); if (param0->unk_368[v0] != NULL) { ov107_02249C1C(param0->unk_368[v0], v2); diff --git a/src/overlay108/ov108_02241AE0.c b/src/overlay108/ov108_02241AE0.c index 39b9410d02..d557de7eae 100644 --- a/src/overlay108/ov108_02241AE0.c +++ b/src/overlay108/ov108_02241AE0.c @@ -1563,7 +1563,7 @@ static void ov108_02242F38(UnkStruct_ov108_02241DB0 *param0) for (v2 = 0; v2 < v0; v2++) { v3 = Party_GetPokemonBySlotIndex(param0->unk_3C8, v2); - if (Pokemon_GetValue(v3, MON_DATA_HELD_ITEM, NULL) == 0) { + if (Pokemon_GetData(v3, MON_DATA_HELD_ITEM, NULL) == 0) { ov108_022435A8(param0->unk_39C[v2], 0); } else { ov108_022435A8(param0->unk_39C[v2], 1); @@ -1573,7 +1573,7 @@ static void ov108_02242F38(UnkStruct_ov108_02241DB0 *param0) for (v2 = 0; v2 < v1; v2++) { v3 = Party_GetPokemonBySlotIndex(param0->unk_3CC, v2); - if (Pokemon_GetValue(v3, MON_DATA_HELD_ITEM, NULL) == 0) { + if (Pokemon_GetData(v3, MON_DATA_HELD_ITEM, NULL) == 0) { ov108_022435A8(param0->unk_3AC[v2], 0); } else { ov108_022435A8(param0->unk_3AC[v2], 1); diff --git a/src/overlay109/ov109_021D0D80.c b/src/overlay109/ov109_021D0D80.c index 90679d90f4..8faf1a352d 100644 --- a/src/overlay109/ov109_021D0D80.c +++ b/src/overlay109/ov109_021D0D80.c @@ -3528,8 +3528,8 @@ static BOOL ov109_021D3C94(Party *param0) for (v0 = 0; v0 < v1; v0++) { v2 = Party_GetPokemonBySlotIndex(param0, v0); - if (Pokemon_GetValue(v2, MON_DATA_IS_EGG, NULL)) { - if (Pokemon_GetValue(v2, MON_DATA_CHECKSUM_FAILED, NULL)) { + if (Pokemon_GetData(v2, MON_DATA_IS_EGG, NULL)) { + if (Pokemon_GetData(v2, MON_DATA_CHECKSUM_FAILED, NULL)) { return 1; } } diff --git a/src/overlay113/ov113_0225C700.c b/src/overlay113/ov113_0225C700.c index 04c472d6dc..3be48c36a5 100644 --- a/src/overlay113/ov113_0225C700.c +++ b/src/overlay113/ov113_0225C700.c @@ -1317,10 +1317,10 @@ static void ov113_0225DD4C(int param0, SaveData *saveData, UnkStruct_ov113_02260 for (v3 = 0; v3 < v1; v3++) { v2 = Party_GetPokemonBySlotIndex(v0, v3); - param2[v3].unk_02 = Pokemon_GetValue(v2, MON_DATA_SPECIES_OR_EGG, NULL); - param2[v3].unk_04 = Pokemon_GetValue(v2, MON_DATA_PERSONALITY, NULL); - param2[v3].unk_08 = Pokemon_GetValue(v2, MON_DATA_FORM, NULL); - param2[v3].unk_00 = ov113_0226072C(param0, Pokemon_GetValue(v2, MON_DATA_OT_ID, NULL)); + param2[v3].unk_02 = Pokemon_GetData(v2, MON_DATA_SPECIES_OR_EGG, NULL); + param2[v3].unk_04 = Pokemon_GetData(v2, MON_DATA_PERSONALITY, NULL); + param2[v3].unk_08 = Pokemon_GetData(v2, MON_DATA_FORM, NULL); + param2[v3].unk_00 = ov113_0226072C(param0, Pokemon_GetData(v2, MON_DATA_OT_ID, NULL)); } } diff --git a/src/overlay113/ov113_0225E368.c b/src/overlay113/ov113_0225E368.c index 3e20e196f9..867e4ce9e6 100644 --- a/src/overlay113/ov113_0225E368.c +++ b/src/overlay113/ov113_0225E368.c @@ -1020,7 +1020,7 @@ static BOOL ov113_0225EEBC(UnkStruct_ov113_0225E6B8 *param0, int param1) static u8 ov113_0225EEF8(const UnkStruct_ov113_02260818 *param0) { - u8 v0 = Pokemon_GetNatureOf(param0->unk_04); + u8 v0 = Personality_GetNature(param0->unk_04); return Unk_ov113_02260D30[v0]; } diff --git a/src/overlay118/ov118_021D0D80.c b/src/overlay118/ov118_021D0D80.c index 8436a827f1..73176955b7 100644 --- a/src/overlay118/ov118_021D0D80.c +++ b/src/overlay118/ov118_021D0D80.c @@ -73,16 +73,16 @@ int ov118_021D0DBC(PartyMenuApplication *param0) switch (v0->unk_00) { case 0: { - v0->unk_0C = Pokemon_GetValue(v1, MON_DATA_SPECIES, NULL); + v0->unk_0C = Pokemon_GetData(v1, MON_DATA_SPECIES, NULL); switch (v0->unk_0C) { case SPECIES_GIRATINA: - Pokemon_SetGiratinaFormByHeldItem(v1); + Pokemon_UpdateGiratinaForm(v1); v0->unk_08 = 65; v0->unk_10 = 0; break; case SPECIES_SHAYMIN: - Pokemon_SetShayminForm(v1, SHAYMIN_FORM_SKY); + Pokemon_UpdateShayminForm(v1, SHAYMIN_FORM_SKY); v0->unk_08 = 35; v0->unk_10 = 1; break; @@ -140,7 +140,7 @@ int ov118_021D0DBC(PartyMenuApplication *param0) v2 = MessageLoader_GetNewString(param0->messageLoader, 202); - StringTemplate_SetNickname(param0->template, 0, Pokemon_GetBoxPokemon(v1)); + StringTemplate_SetNickname(param0->template, 0, Pokemon_GetBoxMon(v1)); StringTemplate_Format(param0->template, param0->tmpString, v2); String_Free(v2); PartyMenu_PrintLongMessage(param0, PRINT_MESSAGE_PRELOADED, TRUE); diff --git a/src/overlay119/ov119_021D0D80.c b/src/overlay119/ov119_021D0D80.c index cfda228850..892e502d82 100644 --- a/src/overlay119/ov119_021D0D80.c +++ b/src/overlay119/ov119_021D0D80.c @@ -300,7 +300,7 @@ int ov119_021D1158(Window *param0, int param1, Pokemon *param2, int param3) v3 = StringTemplate_Default(HEAP_ID_71); v1 = MessageLoader_GetNewString(v5, param1); v2 = String_Init(255, HEAP_ID_71); - v4 = Pokemon_GetBoxPokemon(param2); + v4 = Pokemon_GetBoxMon(param2); StringTemplate_SetSpeciesName(v3, 0, v4); StringTemplate_Format(v3, v2, v1); @@ -725,13 +725,13 @@ void ov119_021D1858(UnkStruct_ov119_021D0FD0 *param0) int v4; v2 = param0->unk_00->unk_0C.unk_00; - v3 = Pokemon_GetValue(v2, MON_DATA_SPECIES, NULL); + v3 = Pokemon_GetData(v2, MON_DATA_SPECIES, NULL); v4 = Pokemon_SpriteYOffset(v2, 2); { int v5 = 0; - Pokemon_SetValue(v2, MON_DATA_IS_EGG, &v5); + Pokemon_SetData(v2, MON_DATA_IS_EGG, &v5); } Pokemon_BuildSpriteTemplate(&v0, v2, 2); @@ -745,7 +745,7 @@ void ov119_021D18C0(UnkStruct_ov119_021D0FD0 *param0) int v0; int v1; - v0 = Pokemon_GetValue(param0->unk_00->unk_0C.unk_00, MON_DATA_SPECIES, NULL); + v0 = Pokemon_GetData(param0->unk_00->unk_0C.unk_00, MON_DATA_SPECIES, NULL); v1 = Pokemon_GetNature(param0->unk_00->unk_0C.unk_00); PokemonSprite_InitAnim(param0->unk_70, 1); diff --git a/src/overlay119/ov119_021D191C.c b/src/overlay119/ov119_021D191C.c index d8412a6601..42959ef884 100644 --- a/src/overlay119/ov119_021D191C.c +++ b/src/overlay119/ov119_021D191C.c @@ -124,8 +124,8 @@ static BOOL ov119_021D1930(UnkStruct_ov119_021D0FD0 *param0) if (v6 == 0) { ov119_021D18C0(param0); { - int species = Pokemon_GetValue(param0->unk_00->unk_0C.unk_00, MON_DATA_SPECIES, NULL); - int form = Pokemon_GetValue(param0->unk_00->unk_0C.unk_00, MON_DATA_FORM, NULL); + int species = Pokemon_GetData(param0->unk_00->unk_0C.unk_00, MON_DATA_SPECIES, NULL); + int form = Pokemon_GetData(param0->unk_00->unk_0C.unk_00, MON_DATA_FORM, NULL); Sound_PlayPokemonCry(species, form); param0->unk_04.unk_08 = ov119_021D1158(¶m0->unk_04.unk_14[0], 0, param0->unk_00->unk_0C.unk_00, param0->unk_04.unk_0C); } @@ -267,8 +267,8 @@ static BOOL ov119_021D1BD0(UnkStruct_ov119_021D0FD0 *param0) if (v2 == 0) { ov119_021D18C0(param0); { - int species = Pokemon_GetValue(param0->unk_00->unk_0C.unk_00, MON_DATA_SPECIES, NULL); - int form = Pokemon_GetValue(param0->unk_00->unk_0C.unk_00, MON_DATA_FORM, NULL); + int species = Pokemon_GetData(param0->unk_00->unk_0C.unk_00, MON_DATA_SPECIES, NULL); + int form = Pokemon_GetData(param0->unk_00->unk_0C.unk_00, MON_DATA_FORM, NULL); Sound_PlayPokemonCry(species, form); param0->unk_04.unk_08 = ov119_021D1158(¶m0->unk_04.unk_14[0], 0, param0->unk_00->unk_0C.unk_00, param0->unk_04.unk_0C); } diff --git a/src/party.c b/src/party.c index 6748b5fa3e..2507d93e29 100644 --- a/src/party.c +++ b/src/party.c @@ -97,7 +97,7 @@ void Party_AddPokemonBySlotIndex(Party *party, int slot, Pokemon *pokemon) PARTY_ASSERT_SLOT(party, slot); - int addOrRemoveSlots = Pokemon_GetValue(&(party->pokemon[slot]), MON_DATA_SPECIES_EXISTS, NULL) - Pokemon_GetValue(pokemon, MON_DATA_SPECIES_EXISTS, NULL); + int addOrRemoveSlots = Pokemon_GetData(&(party->pokemon[slot]), MON_DATA_SPECIES_EXISTS, NULL) - Pokemon_GetData(pokemon, MON_DATA_SPECIES_EXISTS, NULL); party->pokemon[slot] = *pokemon; party->currentCount += addOrRemoveSlots; } @@ -130,7 +130,7 @@ BOOL Party_HasSpecies(const Party *party, int species) int i; for (i = 0; i < party->currentCount; i++) { - if (Pokemon_GetValue((Pokemon *)&party->pokemon[i], MON_DATA_SPECIES, NULL) == species) { + if (Pokemon_GetData((Pokemon *)&party->pokemon[i], MON_DATA_SPECIES, NULL) == species) { break; } } diff --git a/src/pc_boxes.c b/src/pc_boxes.c index 035c7bbfeb..7b9c27a91a 100644 --- a/src/pc_boxes.c +++ b/src/pc_boxes.c @@ -88,14 +88,14 @@ BOOL PCBoxes_TryStoreBoxMonInBox(PCBoxes *pcBoxes, u32 boxID, BoxPokemon *boxMon u32 monPosInBox; BoxPokemon_RestorePP(boxMon); - BoxPokemon_SetShayminForm(boxMon, SHAYMIN_FORM_LAND); + BoxPokemon_UpdateShayminForm(boxMon, SHAYMIN_FORM_LAND); if (boxID == USE_CURRENT_BOX) { boxID = pcBoxes->currentBoxID; } for (monPosInBox = 0; monPosInBox < MAX_MONS_PER_BOX; monPosInBox++) { - if (BoxPokemon_GetValue(&pcBoxes->boxMons[boxID][monPosInBox], MON_DATA_SPECIES, NULL) == SPECIES_NONE) { + if (BoxPokemon_GetData(&pcBoxes->boxMons[boxID][monPosInBox], MON_DATA_SPECIES, NULL) == SPECIES_NONE) { pcBoxes->boxMons[boxID][monPosInBox] = *boxMon; SaveData_SetFullSaveRequired(); return TRUE; @@ -108,7 +108,7 @@ BOOL PCBoxes_TryStoreBoxMonInBox(PCBoxes *pcBoxes, u32 boxID, BoxPokemon *boxMon BOOL PCBoxes_TryStoreBoxMonAt(PCBoxes *pcBoxes, u32 boxID, u32 monPosInBox, BoxPokemon *boxMon) { BoxPokemon_RestorePP(boxMon); - BoxPokemon_SetShayminForm(boxMon, SHAYMIN_FORM_LAND); + BoxPokemon_UpdateShayminForm(boxMon, SHAYMIN_FORM_LAND); if (boxID == USE_CURRENT_BOX) { boxID = pcBoxes->currentBoxID; @@ -150,7 +150,7 @@ u32 PCBoxes_FirstEmptyBox(const PCBoxes *pcBoxes) while (TRUE) { for (int monPosInBox = 0; monPosInBox < MAX_MONS_PER_BOX; monPosInBox++) { - if (BoxPokemon_GetValue(&pcBoxes->boxMons[boxID][monPosInBox], MON_DATA_SPECIES_EXISTS, NULL) == 0) { + if (BoxPokemon_GetData(&pcBoxes->boxMons[boxID][monPosInBox], MON_DATA_SPECIES_EXISTS, NULL) == 0) { return boxID; } } @@ -178,7 +178,7 @@ BOOL PCBoxes_TryGetNextAvailableSpace(const PCBoxes *pcBoxes, int *boxIndexDest, while (TRUE) { for (; monPosInBox < MAX_MONS_PER_BOX; monPosInBox++) { - if (BoxPokemon_GetValue(&pcBoxes->boxMons[boxID][monPosInBox], MON_DATA_SPECIES_EXISTS, NULL) == FALSE) { + if (BoxPokemon_GetData(&pcBoxes->boxMons[boxID][monPosInBox], MON_DATA_SPECIES_EXISTS, NULL) == FALSE) { *boxIndexDest = boxID; *monPosInBoxDest = monPosInBox; return TRUE; @@ -206,7 +206,7 @@ u32 PCBoxes_CountAllBoxMons(const PCBoxes *pcBoxes) for (boxID = 0; boxID < MAX_PC_BOXES; boxID++) { for (monPosInBox = 0; monPosInBox < MAX_MONS_PER_BOX; monPosInBox++) { - if (BoxPokemon_GetValue(&pcBoxes->boxMons[boxID][monPosInBox], MON_DATA_SPECIES_EXISTS, NULL)) { + if (BoxPokemon_GetData(&pcBoxes->boxMons[boxID][monPosInBox], MON_DATA_SPECIES_EXISTS, NULL)) { count++; } } @@ -288,7 +288,7 @@ u32 PCBoxes_CountMonsInBox(const PCBoxes *pcBoxes, u32 boxID) u32 count = 0; for (int monPosInBox = 0; monPosInBox < MAX_MONS_PER_BOX; monPosInBox++) { - if (BoxPokemon_GetValue(&pcBoxes->boxMons[boxID][monPosInBox], MON_DATA_SPECIES_EXISTS, NULL)) { + if (BoxPokemon_GetData(&pcBoxes->boxMons[boxID][monPosInBox], MON_DATA_SPECIES_EXISTS, NULL)) { count++; } } @@ -311,8 +311,8 @@ u32 PCBoxes_CountNonEggMonsInBox(const PCBoxes *pcBoxes, u32 boxID) u32 count = 0; for (int monPosInBox = 0; monPosInBox < MAX_MONS_PER_BOX; monPosInBox++) { - if (BoxPokemon_GetValue(&pcBoxes->boxMons[boxID][monPosInBox], MON_DATA_SPECIES_EXISTS, NULL)) { - if (BoxPokemon_GetValue(&pcBoxes->boxMons[boxID][monPosInBox], MON_DATA_IS_EGG, NULL) == FALSE) { + if (BoxPokemon_GetData(&pcBoxes->boxMons[boxID][monPosInBox], MON_DATA_SPECIES_EXISTS, NULL)) { + if (BoxPokemon_GetData(&pcBoxes->boxMons[boxID][monPosInBox], MON_DATA_IS_EGG, NULL) == FALSE) { count++; } } @@ -346,7 +346,7 @@ u32 PCBoxes_GetBoxMonData(const PCBoxes *pcBoxes, u32 boxID, u32 slot, enum Poke boxID = pcBoxes->currentBoxID; } - return BoxPokemon_GetValue((&pcBoxes->boxMons[boxID][slot]), pokemonData, dest); + return BoxPokemon_GetData((&pcBoxes->boxMons[boxID][slot]), pokemonData, dest); } void PCBoxes_SetBoxMonData(PCBoxes *pcBoxes, u32 boxID, u32 slot, enum PokemonDataParam pokemonData, void *value) @@ -358,7 +358,7 @@ void PCBoxes_SetBoxMonData(PCBoxes *pcBoxes, u32 boxID, u32 slot, enum PokemonDa boxID = pcBoxes->currentBoxID; } - BoxPokemon_SetValue((&pcBoxes->boxMons[boxID][slot]), pokemonData, value); + BoxPokemon_SetData((&pcBoxes->boxMons[boxID][slot]), pokemonData, value); SaveData_SetFullSaveRequired(); } diff --git a/src/poffin.c b/src/poffin.c index 3a0c8f8222..66280ebe17 100644 --- a/src/poffin.c +++ b/src/poffin.c @@ -104,7 +104,7 @@ static void Poffin_MakeFoul(Poffin *poffin, u8 param1) int Poffin_MakePoffin(Poffin *poffin, u8 *flavors, u8 smoothness, BOOL isFoul) { int i, flavorCount = 0; - u8 poffinFlavors[FLAVOR_MAX]; + u8 poffinFlavors[FLAVOR_COUNT]; u8 isMild = FALSE, type = 0; type = POFFIN_TYPE_FOUL; @@ -114,7 +114,7 @@ int Poffin_MakePoffin(Poffin *poffin, u8 *flavors, u8 smoothness, BOOL isFoul) return type; } - for (i = 0; i < FLAVOR_MAX; i++) { + for (i = 0; i < FLAVOR_COUNT; i++) { if (flavors[i]) { if (flavors[i] >= 50) { isMild = TRUE; @@ -129,13 +129,13 @@ int Poffin_MakePoffin(Poffin *poffin, u8 *flavors, u8 smoothness, BOOL isFoul) Poffin_MakeFoul(poffin, smoothness); return type; case 1: - type = poffinFlavors[0] * FLAVOR_MAX + poffinFlavors[0]; + type = poffinFlavors[0] * FLAVOR_COUNT + poffinFlavors[0]; break; case 2: if (flavors[poffinFlavors[0]] >= flavors[poffinFlavors[1]]) { - type = poffinFlavors[0] * FLAVOR_MAX + poffinFlavors[1]; + type = poffinFlavors[0] * FLAVOR_COUNT + poffinFlavors[1]; } else { - type = poffinFlavors[1] * FLAVOR_MAX + poffinFlavors[0]; + type = poffinFlavors[1] * FLAVOR_COUNT + poffinFlavors[0]; } break; case 3: @@ -151,7 +151,7 @@ int Poffin_MakePoffin(Poffin *poffin, u8 *flavors, u8 smoothness, BOOL isFoul) type = POFFIN_TYPE_MILD; } - for (i = 0; i < FLAVOR_MAX; i++) { + for (i = 0; i < FLAVOR_COUNT; i++) { poffin->attributes[i + 1] = flavors[i]; } diff --git a/src/pokedex.c b/src/pokedex.c index 35bd956b90..1a5bb9d2cc 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -465,7 +465,7 @@ static BOOL FormSeen_Deoxys(const Pokedex *pokedexData, u32 form) static void UpdateForms_Deoxys(Pokedex *pokedexData, u16 species, Pokemon *pokemon) { - u8 form = Pokemon_GetValue(pokemon, MON_DATA_FORM, NULL); + u8 form = Pokemon_GetData(pokemon, MON_DATA_FORM, NULL); if (species == SPECIES_DEOXYS) { if (FormSeen_Deoxys(pokedexData, form) == FALSE) { @@ -569,34 +569,34 @@ static void UpdateForm(Pokedex *pokedexData, u16 species, Pokemon *pokemon) SetUnownForm(pokedexData, form); break; case SPECIES_BURMY: - form = Pokemon_GetValue(pokemon, MON_DATA_FORM, NULL); + form = Pokemon_GetData(pokemon, MON_DATA_FORM, NULL); UpdateForms_ThreeForms(pokedexData, species, form); break; case SPECIES_WORMADAM: - form = Pokemon_GetValue(pokemon, MON_DATA_FORM, NULL); + form = Pokemon_GetData(pokemon, MON_DATA_FORM, NULL); UpdateForms_ThreeForms(pokedexData, species, form); break; case SPECIES_SHELLOS: - form = Pokemon_GetValue(pokemon, MON_DATA_FORM, NULL); + form = Pokemon_GetData(pokemon, MON_DATA_FORM, NULL); UpdateForms_TwoForms(pokedexData, species, form); break; case SPECIES_GASTRODON: - form = Pokemon_GetValue(pokemon, MON_DATA_FORM, NULL); + form = Pokemon_GetData(pokemon, MON_DATA_FORM, NULL); UpdateForms_TwoForms(pokedexData, species, form); break; case SPECIES_DEOXYS: UpdateForms_Deoxys(pokedexData, species, pokemon); break; case SPECIES_SHAYMIN: - form = Pokemon_GetValue(pokemon, MON_DATA_FORM, NULL); + form = Pokemon_GetData(pokemon, MON_DATA_FORM, NULL); UpdateForms_TwoForms(pokedexData, species, form); break; case SPECIES_GIRATINA: - form = Pokemon_GetValue(pokemon, MON_DATA_FORM, NULL); + form = Pokemon_GetData(pokemon, MON_DATA_FORM, NULL); UpdateForms_TwoForms(pokedexData, species, form); break; case SPECIES_ROTOM: - form = Pokemon_GetValue(pokemon, MON_DATA_FORM, NULL); + form = Pokemon_GetData(pokemon, MON_DATA_FORM, NULL); UpdateForms_Rotom(pokedexData, species, form); break; } @@ -619,7 +619,7 @@ static u32 GetDisplayGender(const Pokedex *pokedexData, u16 species, int display u32 defaultGender, secondaryGender; u32 displayGender; - if (SpeciesData_GetSpeciesValue(species, SPECIES_DATA_GENDER_RATIO) == GENDER_RATIO_NO_GENDER) { + if (Species_GetValue(species, SPECIES_DATA_GENDER_RATIO) == GENDER_RATIO_UNKNOWN) { if (displaySecondary == FALSE) { return GENDER_NONE; } else { @@ -1028,8 +1028,8 @@ u32 Pokedex_NumFormsSeen_Deoxys(const Pokedex *pokedexData) void Pokedex_Encounter(Pokedex *pokedexData, Pokemon *pokemon) { - u16 species = Pokemon_GetValue(pokemon, MON_DATA_SPECIES, NULL); - u32 personality = Pokemon_GetValue(pokemon, MON_DATA_PERSONALITY, NULL); + u16 species = Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL); + u32 personality = Pokemon_GetData(pokemon, MON_DATA_PERSONALITY, NULL); u32 gender = Pokemon_GetGender(pokemon); CheckPokedexIntegrity(pokedexData); @@ -1055,9 +1055,9 @@ void Pokedex_Encounter(Pokedex *pokedexData, Pokemon *pokemon) void Pokedex_Capture(Pokedex *pokedexData, Pokemon *pokemon) { - u16 species = Pokemon_GetValue(pokemon, MON_DATA_SPECIES, NULL); - u32 language = Pokemon_GetValue(pokemon, MON_DATA_LANGUAGE, NULL); - u32 personality = Pokemon_GetValue(pokemon, MON_DATA_PERSONALITY, NULL); + u16 species = Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL); + u32 language = Pokemon_GetData(pokemon, MON_DATA_LANGUAGE, NULL); + u32 personality = Pokemon_GetData(pokemon, MON_DATA_PERSONALITY, NULL); u32 gender = Pokemon_GetGender(pokemon); CheckPokedexIntegrity(pokedexData); diff --git a/src/pokemon.c b/src/pokemon.c index 71cc911cee..9c0fcb24c7 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -59,184 +59,6 @@ #define FATEFUL_ENCOUNTER_LOCATION 3002 -static const s8 sNatureFlavorAffinities[][5] = { - [NATURE_HARDY] = { - [FLAVOR_SPICY] = 0, - [FLAVOR_DRY] = 0, - [FLAVOR_SWEET] = 0, - [FLAVOR_BITTER] = 0, - [FLAVOR_SOUR] = 0, - }, - [NATURE_LONELY] = { - [FLAVOR_SPICY] = 1, - [FLAVOR_DRY] = 0, - [FLAVOR_SWEET] = 0, - [FLAVOR_BITTER] = 0, - [FLAVOR_SOUR] = -1, - }, - [NATURE_BRAVE] = { - [FLAVOR_SPICY] = 1, - [FLAVOR_DRY] = 0, - [FLAVOR_SWEET] = -1, - [FLAVOR_BITTER] = 0, - [FLAVOR_SOUR] = 0, - }, - [NATURE_ADAMANT] = { - [FLAVOR_SPICY] = 1, - [FLAVOR_DRY] = -1, - [FLAVOR_SWEET] = 0, - [FLAVOR_BITTER] = 0, - [FLAVOR_SOUR] = 0, - }, - [NATURE_NAUGHTY] = { - [FLAVOR_SPICY] = 1, - [FLAVOR_DRY] = 0, - [FLAVOR_SWEET] = 0, - [FLAVOR_BITTER] = -1, - [FLAVOR_SOUR] = 0, - }, - [NATURE_BOLD] = { - [FLAVOR_SPICY] = -1, - [FLAVOR_DRY] = 0, - [FLAVOR_SWEET] = 0, - [FLAVOR_BITTER] = 0, - [FLAVOR_SOUR] = 1, - }, - [NATURE_DOCILE] = { - [FLAVOR_SPICY] = 0, - [FLAVOR_DRY] = 0, - [FLAVOR_SWEET] = 0, - [FLAVOR_BITTER] = 0, - [FLAVOR_SOUR] = 0, - }, - [NATURE_RELAXED] = { - [FLAVOR_SPICY] = 0, - [FLAVOR_DRY] = 0, - [FLAVOR_SWEET] = -1, - [FLAVOR_BITTER] = 0, - [FLAVOR_SOUR] = 1, - }, - [NATURE_IMPISH] = { - [FLAVOR_SPICY] = 0, - [FLAVOR_DRY] = -1, - [FLAVOR_SWEET] = 0, - [FLAVOR_BITTER] = 0, - [FLAVOR_SOUR] = 1, - }, - [NATURE_LAX] = { - [FLAVOR_SPICY] = 0, - [FLAVOR_DRY] = 0, - [FLAVOR_SWEET] = 0, - [FLAVOR_BITTER] = -1, - [FLAVOR_SOUR] = 1, - }, - [NATURE_TIMID] = { - [FLAVOR_SPICY] = -1, - [FLAVOR_DRY] = 0, - [FLAVOR_SWEET] = 1, - [FLAVOR_BITTER] = 0, - [FLAVOR_SOUR] = 0, - }, - [NATURE_HASTY] = { - [FLAVOR_SPICY] = 0, - [FLAVOR_DRY] = 0, - [FLAVOR_SWEET] = 1, - [FLAVOR_BITTER] = 0, - [FLAVOR_SOUR] = -1, - }, - [NATURE_SERIOUS] = { - [FLAVOR_SPICY] = 0, - [FLAVOR_DRY] = 0, - [FLAVOR_SWEET] = 0, - [FLAVOR_BITTER] = 0, - [FLAVOR_SOUR] = 0, - }, - [NATURE_JOLLY] = { - [FLAVOR_SPICY] = 0, - [FLAVOR_DRY] = -1, - [FLAVOR_SWEET] = 1, - [FLAVOR_BITTER] = 0, - [FLAVOR_SOUR] = 0, - }, - [NATURE_NAIVE] = { - [FLAVOR_SPICY] = 0, - [FLAVOR_DRY] = 0, - [FLAVOR_SWEET] = 1, - [FLAVOR_BITTER] = -1, - [FLAVOR_SOUR] = 0, - }, - [NATURE_MODEST] = { - [FLAVOR_SPICY] = -1, - [FLAVOR_DRY] = 1, - [FLAVOR_SWEET] = 0, - [FLAVOR_BITTER] = 0, - [FLAVOR_SOUR] = 0, - }, - [NATURE_MILD] = { - [FLAVOR_SPICY] = 0, - [FLAVOR_DRY] = 1, - [FLAVOR_SWEET] = 0, - [FLAVOR_BITTER] = 0, - [FLAVOR_SOUR] = -1, - }, - [NATURE_QUIET] = { - [FLAVOR_SPICY] = 0, - [FLAVOR_DRY] = 1, - [FLAVOR_SWEET] = -1, - [FLAVOR_BITTER] = 0, - [FLAVOR_SOUR] = 0, - }, - [NATURE_BASHFUL] = { - [FLAVOR_SPICY] = 0, - [FLAVOR_DRY] = 0, - [FLAVOR_SWEET] = 0, - [FLAVOR_BITTER] = 0, - [FLAVOR_SOUR] = 0, - }, - [NATURE_RASH] = { - [FLAVOR_SPICY] = 0, - [FLAVOR_DRY] = 1, - [FLAVOR_SWEET] = 0, - [FLAVOR_BITTER] = -1, - [FLAVOR_SOUR] = 0, - }, - [NATURE_CALM] = { - [FLAVOR_SPICY] = -1, - [FLAVOR_DRY] = 0, - [FLAVOR_SWEET] = 0, - [FLAVOR_BITTER] = 1, - [FLAVOR_SOUR] = 0, - }, - [NATURE_GENTLE] = { - [FLAVOR_SPICY] = 0, - [FLAVOR_DRY] = 0, - [FLAVOR_SWEET] = 0, - [FLAVOR_BITTER] = 1, - [FLAVOR_SOUR] = -1, - }, - [NATURE_SASSY] = { - [FLAVOR_SPICY] = 0, - [FLAVOR_DRY] = 0, - [FLAVOR_SWEET] = -1, - [FLAVOR_BITTER] = 1, - [FLAVOR_SOUR] = 0, - }, - [NATURE_CAREFUL] = { - [FLAVOR_SPICY] = 0, - [FLAVOR_DRY] = -1, - [FLAVOR_SWEET] = 0, - [FLAVOR_BITTER] = 1, - [FLAVOR_SOUR] = 0, - }, - [NATURE_QUIRKY] = { - [FLAVOR_SPICY] = 0, - [FLAVOR_DRY] = 0, - [FLAVOR_SWEET] = 0, - [FLAVOR_BITTER] = 0, - [FLAVOR_SOUR] = 0, - }, -}; - enum PokemonDataBlockID { DATA_BLOCK_A = 0, DATA_BLOCK_B, @@ -244,87 +66,123 @@ enum PokemonDataBlockID { DATA_BLOCK_D }; -static void sub_02073E18(BoxPokemon *boxMon, int monSpecies, int monLevel, int monIVs, BOOL useMonPersonalityParam, u32 monPersonality, int monOTIDSource, u32 monOTID); +static void BoxPokemon_InitWithParams(BoxPokemon *boxMon, int species, int level, int ivs, BOOL hasFixedPersonality, u32 personality, int otIDType, u32 otID); static u32 Pokemon_GetDataInternal(Pokemon *mon, enum PokemonDataParam param, void *dest); static u32 BoxPokemon_GetDataInternal(BoxPokemon *boxMon, enum PokemonDataParam param, void *dest); -static void Pokemon_SetDataInternal(Pokemon *mon, enum PokemonDataParam param, const void *value); -static void BoxPokemon_SetDataInternal(BoxPokemon *boxMon, enum PokemonDataParam param, const void *value); +static void Pokemon_SetDataInternal(Pokemon *mon, enum PokemonDataParam param, void *value); +static void BoxPokemon_SetDataInternal(BoxPokemon *boxMon, enum PokemonDataParam param, void *value); static void Pokemon_IncreaseDataInternal(Pokemon *mon, enum PokemonDataParam param, int value); -static void BoxPokemon_IncreaseDataInternal(BoxPokemon *boxMon, enum PokemonDataParam param, int value); -static u32 BoxPokemon_GetExpToNextLevel(BoxPokemon *boxMon); -static void Pokemon_LoadExperienceTableOf(enum ExpRate monExpRate, u32 *monExpTable); -static u32 Pokemon_GetExpRateBaseExpAt(enum ExpRate monExpRate, int monLevel); -static u16 Pokemon_GetNatureStatValue(u8 monNature, u16 monStatValue, u8 statType); +static void BoxPokemon_AddDataInternal(BoxPokemon *boxMon, enum PokemonDataParam param, int value); +static u32 BoxPokemon_CalcExpToNextLevel(BoxPokemon *boxMon); +static void ExpRate_LoadTable(enum ExpRate monExpRate, u32 *monExpTable); +static u32 ExpRate_GetExpAtLevel(enum ExpRate rate, int monLevel); +static u16 Nature_ModifyStatValue(u8 nature, u16 value, u8 stat); static u8 BoxPokemon_IsShiny(BoxPokemon *boxMon); static inline BOOL Pokemon_InlineIsPersonalityShiny(u32 monOTID, u32 monPersonality); -static void BuildPokemonSpriteTemplateDP(PokemonSpriteTemplate *spriteTemplate, u16 monSpecies, u8 monGender, u8 param3, u8 monShininess, u8 monForm, u32 monPersonality); -static u8 LoadPokemonDPSpriteHeight(u16 monSpecies, u8 monGender, u8 param2, u8 monForm, u32 monPersonality); +static void Species_BuildSpriteTemplateDP(PokemonSpriteTemplate *template, u16 species, u8 gender, u8 param3, u8 monShininess, u8 monForm, u32 monPersonality); +static u8 Species_LoadSpriteYOffsetDP(u16 monSpecies, u8 monGender, u8 param2, u8 monForm, u32 monPersonality); static void BoxPokemon_SetDefaultMoves(BoxPokemon *boxMon); -static u16 BoxPokemon_AddMove(BoxPokemon *boxMon, u16 moveID); -static void BoxPokemon_ReplaceMove(BoxPokemon *boxMon, u16 moveID); -static void BoxPokemon_SetMoveSlot(BoxPokemon *boxMon, u16 moveID, u8 moveSlot); -static BOOL Pokemon_HasMove(Pokemon *mon, u16 moveID); +static u16 BoxPokemon_TryAppendMove(BoxPokemon *boxMon, u16 move); +static void BoxPokemon_ForceAppendMove(BoxPokemon *boxMon, u16 moveID); +static void BoxPokemon_SetMoveInSlot(BoxPokemon *boxMon, u16 move, u8 slot); +static BOOL Pokemon_HasMove(Pokemon *mon, u16 move); static s8 BoxPokemon_GetFlavorAffinity(BoxPokemon *boxMon, enum Flavor flavor); -static BOOL IsBoxPokemonInfectedWithPokerus(BoxPokemon *boxMon); -static BOOL BoxPokemonHasCuredPokerus(BoxPokemon *boxMon); +static BOOL BoxPokemon_HasPokerus(BoxPokemon *boxMon); +static BOOL BoxPokemon_IsImmuneToPokerus(BoxPokemon *boxMon); static void InitializeBoxPokemonAfterCapture(BoxPokemon *boxMon, TrainerInfo *trainerInfo, int monPokeball, int metLocation, int metTerrain, enum HeapID heapID); static void PostCaptureBoxPokemonProcessing(BoxPokemon *boxMon, TrainerInfo *param1, int monPokeball, int param3, int param4, int param5); -static BOOL CanBoxPokemonLearnTM(BoxPokemon *boxMon, u8 tmID); -static void BoxPokemon_CalcAbility(BoxPokemon *boxMon); +static BOOL BoxPokemon_CanLearnTMHM(BoxPokemon *boxMon, u8 tmHM); +static void BoxPokemon_UpdateAbility(BoxPokemon *boxMon); static void SpeciesData_LoadSpecies(int monSpecies, SpeciesData *speciesData); static void SpeciesData_LoadForm(int monSpecies, int monForm, SpeciesData *speciesData); -static void LoadSpeciesEvolutions(int monSpecies, SpeciesEvolution speciesEvolution[MAX_EVOLUTIONS]); -static void Pokemon_EncryptData(void *data, u32 bytes, u32 seed); -static void Pokemon_DecryptData(void *data, u32 bytes, u32 seed); -static u16 Pokemon_GetDataChecksum(void *data, u32 bytes); +static void Species_LoadEvolutions(int monSpecies, Evolution speciesEvolution[MAX_MON_EVOLUTIONS]); +static void MonEncryptSegment(void *data, u32 bytes, u32 seed); +static void MonDecryptSegment(void *data, u32 bytes, u32 seed); +static u16 Pokemon_GetDataChecksum(void *data, u32 size); static void *BoxPokemon_GetDataBlock(BoxPokemon *boxMon, u32 personality, enum PokemonDataBlockID dataBlockID); -static int Pokemon_GetFormNarcIndex(int monSpecies, int monForm); +static int Species_GetFormNarcIndex(int monSpecies, int monForm); static inline int Pokemon_Face(int num); +#define ENCRY_ARGS_PARTY(mon) (u16 *)&(mon)->party, sizeof((mon)->party), (mon)->box.personality +#define ENCRY_ARGS_BOX(boxMon) (u16 *)&(boxMon)->dataBlocks, sizeof((boxMon)->dataBlocks), (boxMon)->checksum +#define ENCRYPT_PARTY(mon) MonEncryptSegment(ENCRY_ARGS_PARTY(mon)) +#define ENCRYPT_BOX(boxMon) MonEncryptSegment(ENCRY_ARGS_BOX(boxMon)) +#define DECRYPT_PARTY(mon) MonDecryptSegment(ENCRY_ARGS_PARTY(mon)) +#define DECRYPT_BOX(boxMon) MonDecryptSegment(ENCRY_ARGS_BOX(boxMon)) +#define CHECKSUM(boxMon) Pokemon_GetDataChecksum((u16 *)(boxMon)->dataBlocks, sizeof((boxMon)->dataBlocks)) + +// clang-format off +static const s8 sNatureFlavorAffinities[NATURE_COUNT][FLAVOR_COUNT] = { + // Spicy Dry Sweet Bitter Sour + [NATURE_HARDY] = { 0, 0, 0, 0, 0 }, + [NATURE_LONELY] = { +1, 0, 0, 0, -1 }, + [NATURE_BRAVE] = { +1, 0, -1, 0, 0 }, + [NATURE_ADAMANT] = { +1, -1, 0, 0, 0 }, + [NATURE_NAUGHTY] = { +1, 0, 0, -1, 0 }, + [NATURE_BOLD] = { -1, 0, 0, 0, 1 }, + [NATURE_DOCILE] = { 0, 0, 0, 0, 0 }, + [NATURE_RELAXED] = { 0, 0, -1, 0, 1 }, + [NATURE_IMPISH] = { 0, -1, 0, 0, 1 }, + [NATURE_LAX] = { 0, 0, 0, -1, 1 }, + [NATURE_TIMID] = { -1, 0, +1, 0, 0 }, + [NATURE_HASTY] = { 0, 0, +1, 0, -1 }, + [NATURE_SERIOUS] = { 0, 0, 0, 0, 0 }, + [NATURE_JOLLY] = { 0, -1, +1, 0, 0 }, + [NATURE_NAIVE] = { 0, 0, +1, -1, 0 }, + [NATURE_MODEST] = { -1, +1, 0, 0, 0 }, + [NATURE_MILD] = { 0, +1, 0, 0, -1 }, + [NATURE_QUIET] = { 0, +1, -1, 0, 0 }, + [NATURE_BASHFUL] = { 0, 0, 0, 0, 0 }, + [NATURE_RASH] = { 0, +1, 0, -1, 0 }, + [NATURE_CALM] = { -1, 0, 0, +1, 0 }, + [NATURE_GENTLE] = { 0, 0, 0, +1, -1 }, + [NATURE_SASSY] = { 0, 0, -1, +1, 0 }, + [NATURE_CAREFUL] = { 0, -1, 0, +1, 0 }, + [NATURE_QUIRKY] = { 0, 0, 0, 0, 0 }, +}; +// clang-format on + void Pokemon_Init(Pokemon *mon) { MI_CpuClearFast(mon, sizeof(Pokemon)); - Pokemon_EncryptData(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4, mon->box.checksum); - Pokemon_EncryptData(&mon->party, sizeof(PartyPokemon), mon->box.personality); + ENCRYPT_BOX(&mon->box); + ENCRYPT_PARTY(mon); } void BoxPokemon_Init(BoxPokemon *boxMon) { MI_CpuClearFast(boxMon, sizeof(BoxPokemon)); - Pokemon_EncryptData(boxMon->dataBlocks, sizeof(PokemonDataBlock) * 4, boxMon->checksum); + ENCRYPT_BOX(boxMon); } -int Pokemon_StructSize(void) +int Pokemon_Size(void) { return sizeof(Pokemon); } -Pokemon *Pokemon_New(u32 heapID) +Pokemon *Pokemon_New(enum HeapID heapID) { Pokemon *mon = Heap_Alloc(heapID, sizeof(Pokemon)); Pokemon_Init(mon); return mon; } -BOOL Pokemon_EnterDecryptionContext(Pokemon *mon) +BOOL Pokemon_DecryptData(Pokemon *mon) { BOOL wasDecrypted = FALSE; - if (mon->box.partyDecrypted == FALSE) { + if (!mon->box.partyDecrypted) { wasDecrypted = TRUE; - GF_ASSERT(mon->box.boxDecrypted == FALSE); - + GF_ASSERT(!mon->box.boxDecrypted); mon->box.partyDecrypted = TRUE; mon->box.boxDecrypted = TRUE; - - Pokemon_DecryptData(&mon->party, sizeof(PartyPokemon), mon->box.personality); - Pokemon_DecryptData(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4, mon->box.checksum); + DECRYPT_PARTY(mon); + DECRYPT_BOX(&mon->box); } - return wasDecrypted; } -BOOL Pokemon_ExitDecryptionContext(Pokemon *mon, BOOL encrypt) +BOOL Pokemon_EncryptData(Pokemon *mon, BOOL encrypt) { BOOL wasEncrypted = FALSE; @@ -332,420 +190,358 @@ BOOL Pokemon_ExitDecryptionContext(Pokemon *mon, BOOL encrypt) wasEncrypted = TRUE; mon->box.partyDecrypted = FALSE; mon->box.boxDecrypted = FALSE; - - Pokemon_EncryptData(&mon->party, sizeof(PartyPokemon), mon->box.personality); - mon->box.checksum = Pokemon_GetDataChecksum(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4); - Pokemon_EncryptData(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4, mon->box.checksum); + ENCRYPT_PARTY(mon); + mon->box.checksum = CHECKSUM(&mon->box); + ENCRYPT_BOX(&mon->box); } - return wasEncrypted; } -BOOL BoxPokemon_EnterDecryptionContext(BoxPokemon *boxMon) +BOOL BoxPokemon_DecryptData(BoxPokemon *boxMon) { BOOL wasDecrypted = FALSE; - if (boxMon->boxDecrypted == FALSE) { + if (!boxMon->boxDecrypted) { wasDecrypted = TRUE; boxMon->boxDecrypted = TRUE; - Pokemon_DecryptData(boxMon->dataBlocks, sizeof(PokemonDataBlock) * 4, boxMon->checksum); + DECRYPT_BOX(boxMon); } - return wasDecrypted; } -BOOL BoxPokemon_ExitDecryptionContext(BoxPokemon *boxMon, BOOL encrypt) +BOOL BoxPokemon_EncryptData(BoxPokemon *boxMon, BOOL encrypt) { BOOL wasEncrypted = FALSE; if (boxMon->boxDecrypted == TRUE && encrypt == TRUE) { wasEncrypted = TRUE; - boxMon->boxDecrypted = FALSE; - boxMon->checksum = Pokemon_GetDataChecksum(boxMon->dataBlocks, sizeof(PokemonDataBlock) * 4); - - Pokemon_EncryptData(boxMon->dataBlocks, sizeof(PokemonDataBlock) * 4, boxMon->checksum); + boxMon->checksum = CHECKSUM(boxMon); + ENCRYPT_BOX(boxMon); } - return wasEncrypted; } -void Pokemon_InitWith(Pokemon *mon, int monSpecies, int monLevel, int monIVs, BOOL useMonPersonalityParam, u32 monPersonality, int monOTIDSource, u32 monOTID) +void Pokemon_InitWithParams(Pokemon *mon, int species, int level, int ivs, BOOL hasFixedPersonality, int personality, int otIDType, int otID) { Pokemon_Init(mon); - sub_02073E18(&mon->box, monSpecies, monLevel, monIVs, useMonPersonalityParam, monPersonality, monOTIDSource, monOTID); - Pokemon_EncryptData(&mon->party, sizeof(PartyPokemon), 0); - Pokemon_EncryptData(&mon->party, sizeof(PartyPokemon), mon->box.personality); - Pokemon_SetValue(mon, MON_DATA_LEVEL, &monLevel); + BoxPokemon_InitWithParams(&mon->box, species, level, ivs, hasFixedPersonality, personality, otIDType, otID); + // Not your average encryption call + MonEncryptSegment((u16 *)&mon->party, sizeof(mon->party), 0); + ENCRYPT_PARTY(mon); + Pokemon_SetData(mon, MON_DATA_LEVEL, &level); Mail *mail = Mail_New(HEAP_ID_SYSTEM); - - Pokemon_SetValue(mon, MON_DATA_MAIL, mail); + Pokemon_SetData(mon, MON_DATA_MAIL, mail); Heap_Free(mail); u32 zero = 0; - Pokemon_SetValue(mon, MON_DATA_BALL_CAPSULE_ID, &zero); - - BallCapsule v2; - MI_CpuClearFast(&v2, sizeof(BallCapsule)); + BallCapsule capsule; + Pokemon_SetData(mon, MON_DATA_BALL_CAPSULE_ID, &zero); + MI_CpuClearFast(&capsule, sizeof(capsule)); + Pokemon_SetData(mon, MON_DATA_BALL_CAPSULE, &capsule); - Pokemon_SetValue(mon, MON_DATA_BALL_CAPSULE, &v2); Pokemon_CalcLevelAndStats(mon); } -static void sub_02073E18(BoxPokemon *boxMon, int monSpecies, int monLevel, int monIVs, BOOL useMonPersonalityParam, u32 monPersonality, int monOTIDSource, u32 monOTID) +static void BoxPokemon_InitWithParams(BoxPokemon *boxMon, int species, int level, int ivs, BOOL hasFixedPersonality, u32 personality, int otIDType, u32 otID) { + u32 var1, var2; BoxPokemon_Init(boxMon); - - BOOL reencrypt = BoxPokemon_EnterDecryptionContext(boxMon); - - if (!useMonPersonalityParam) { - monPersonality = (LCRNG_Next() | (LCRNG_Next() << 16)); + BOOL reencrypt = BoxPokemon_DecryptData(boxMon); + if (!hasFixedPersonality) { + personality = (LCRNG_Next() | (LCRNG_Next() << 16)); } + BoxPokemon_SetData(boxMon, MON_DATA_PERSONALITY, &personality); - BoxPokemon_SetValue(boxMon, MON_DATA_PERSONALITY, &monPersonality); - - if (monOTIDSource == OTID_NOT_SHINY) { + if (otIDType == OT_ID_RANDOM_NO_SHINY) { do { - monOTID = (LCRNG_Next() | (LCRNG_Next() << 16)); - } while (Pokemon_InlineIsPersonalityShiny(monOTID, monPersonality)); - } else if (monOTIDSource != OTID_SET) { - monOTID = 0; - } - - BoxPokemon_SetValue(boxMon, MON_DATA_OT_ID, &monOTID); - BoxPokemon_SetValue(boxMon, MON_DATA_LANGUAGE, &gGameLanguage); - BoxPokemon_SetValue(boxMon, MON_DATA_SPECIES, &monSpecies); - BoxPokemon_SetValue(boxMon, MON_DATA_SPECIES_NAME, NULL); - - u32 v1, v2; // TODO rename, these are used/reused as temp vars through the whole function. - - v1 = Pokemon_GetSpeciesBaseExpAt(monSpecies, monLevel); - BoxPokemon_SetValue(boxMon, MON_DATA_EXPERIENCE, &v1); - - v1 = SpeciesData_GetSpeciesValue(monSpecies, SPECIES_DATA_BASE_FRIENDSHIP); - BoxPokemon_SetValue(boxMon, MON_DATA_FRIENDSHIP, &v1); - - BoxPokemon_SetValue(boxMon, MON_DATA_MET_LEVEL, &monLevel); - BoxPokemon_SetValue(boxMon, MON_DATA_MET_GAME, &gGameVersion); - - v1 = ITEM_POKE_BALL; - BoxPokemon_SetValue(boxMon, MON_DATA_POKEBALL, &v1); - - if (monIVs < INIT_IVS_RANDOM) { - BoxPokemon_SetValue(boxMon, MON_DATA_HP_IV, &monIVs); - BoxPokemon_SetValue(boxMon, MON_DATA_ATK_IV, &monIVs); - BoxPokemon_SetValue(boxMon, MON_DATA_DEF_IV, &monIVs); - BoxPokemon_SetValue(boxMon, MON_DATA_SPEED_IV, &monIVs); - BoxPokemon_SetValue(boxMon, MON_DATA_SPATK_IV, &monIVs); - BoxPokemon_SetValue(boxMon, MON_DATA_SPDEF_IV, &monIVs); + otID = (LCRNG_Next() | (LCRNG_Next() << 16)); + } while (Pokemon_InlineIsPersonalityShiny(otID, personality)); + } else if (otIDType != OT_ID_PRESET) { + otID = 0; + } + BoxPokemon_SetData(boxMon, MON_DATA_OT_ID, &otID); + BoxPokemon_SetData(boxMon, MON_DATA_LANGUAGE, &gGameLanguage); + BoxPokemon_SetData(boxMon, MON_DATA_SPECIES, &species); + BoxPokemon_SetData(boxMon, MON_DATA_SPECIES_NAME, NULL); + + var1 = Species_GetExpAtLevel(species, level); + BoxPokemon_SetData(boxMon, MON_DATA_EXPERIENCE, &var1); + + var1 = Species_GetValue(species, SPECIES_DATA_BASE_FRIENDSHIP); + BoxPokemon_SetData(boxMon, MON_DATA_FRIENDSHIP, &var1); + + BoxPokemon_SetData(boxMon, MON_DATA_MET_LEVEL, &level); + BoxPokemon_SetData(boxMon, MON_DATA_MET_GAME, &gGameVersion); + + var1 = ITEM_POKE_BALL; + BoxPokemon_SetData(boxMon, MON_DATA_POKEBALL, &var1); + + if (ivs < INIT_IVS_RANDOM) { + BoxPokemon_SetData(boxMon, MON_DATA_HP_IV, &ivs); + BoxPokemon_SetData(boxMon, MON_DATA_ATK_IV, &ivs); + BoxPokemon_SetData(boxMon, MON_DATA_DEF_IV, &ivs); + BoxPokemon_SetData(boxMon, MON_DATA_SPEED_IV, &ivs); + BoxPokemon_SetData(boxMon, MON_DATA_SPATK_IV, &ivs); + BoxPokemon_SetData(boxMon, MON_DATA_SPDEF_IV, &ivs); } else { - v1 = LCRNG_Next(); - v2 = (v1 & (0x1f << 0)) >> 0; - BoxPokemon_SetValue(boxMon, MON_DATA_HP_IV, &v2); + var1 = LCRNG_Next(); + var2 = (var1 & (0x1f << 0)) >> 0; + BoxPokemon_SetData(boxMon, MON_DATA_HP_IV, &var2); - v2 = (v1 & (0x1f << 5)) >> 5; - BoxPokemon_SetValue(boxMon, MON_DATA_ATK_IV, &v2); + var2 = (var1 & (0x1f << 5)) >> 5; + BoxPokemon_SetData(boxMon, MON_DATA_ATK_IV, &var2); - v2 = (v1 & (0x1f << 10)) >> 10; - BoxPokemon_SetValue(boxMon, MON_DATA_DEF_IV, &v2); + var2 = (var1 & (0x1f << 10)) >> 10; + BoxPokemon_SetData(boxMon, MON_DATA_DEF_IV, &var2); - v1 = LCRNG_Next(); - v2 = (v1 & (0x1f << 0)) >> 0; - BoxPokemon_SetValue(boxMon, MON_DATA_SPEED_IV, &v2); + var1 = LCRNG_Next(); + var2 = (var1 & (0x1f << 0)) >> 0; + BoxPokemon_SetData(boxMon, MON_DATA_SPEED_IV, &var2); - v2 = (v1 & (0x1f << 5)) >> 5; - BoxPokemon_SetValue(boxMon, MON_DATA_SPATK_IV, &v2); + var2 = (var1 & (0x1f << 5)) >> 5; + BoxPokemon_SetData(boxMon, MON_DATA_SPATK_IV, &var2); - v2 = (v1 & (0x1f << 10)) >> 10; - BoxPokemon_SetValue(boxMon, MON_DATA_SPDEF_IV, &v2); + var2 = (var1 & (0x1f << 10)) >> 10; + BoxPokemon_SetData(boxMon, MON_DATA_SPDEF_IV, &var2); } - v1 = SpeciesData_GetSpeciesValue(monSpecies, SPECIES_DATA_ABILITY_1); - v2 = SpeciesData_GetSpeciesValue(monSpecies, SPECIES_DATA_ABILITY_2); - - if (v2 != ABILITY_NONE) { - if (monPersonality & 1) { - BoxPokemon_SetValue(boxMon, MON_DATA_ABILITY, &v2); + var1 = Species_GetValue(species, SPECIES_DATA_ABILITY_1); + var2 = Species_GetValue(species, SPECIES_DATA_ABILITY_2); + if (var2 != ABILITY_NONE) { + if (personality & 1) { + BoxPokemon_SetData(boxMon, MON_DATA_ABILITY, &var2); } else { - BoxPokemon_SetValue(boxMon, MON_DATA_ABILITY, &v1); + BoxPokemon_SetData(boxMon, MON_DATA_ABILITY, &var1); } } else { - BoxPokemon_SetValue(boxMon, MON_DATA_ABILITY, &v1); + BoxPokemon_SetData(boxMon, MON_DATA_ABILITY, &var1); } - v1 = BoxPokemon_GetGender(boxMon); - - BoxPokemon_SetValue(boxMon, MON_DATA_GENDER, &v1); + var1 = BoxPokemon_GetGender(boxMon); + BoxPokemon_SetData(boxMon, MON_DATA_GENDER, &var1); BoxPokemon_SetDefaultMoves(boxMon); - BoxPokemon_ExitDecryptionContext(boxMon, reencrypt); + BoxPokemon_EncryptData(boxMon, reencrypt); } -void sub_02074044(Pokemon *mon, u16 monSpecies, u8 monLevel, u8 monIVs, u8 monNature) +void Pokemon_InitWithNature(Pokemon *mon, u16 species, u8 level, u8 ivs, u8 nature) { - u32 monPersonality; - + u32 personality; do { - monPersonality = (LCRNG_Next() | (LCRNG_Next() << 16)); - } while (monNature != Pokemon_GetNatureOf(monPersonality)); - - Pokemon_InitWith(mon, monSpecies, monLevel, monIVs, TRUE, monPersonality, OTID_NOT_SET, 0); + personality = (LCRNG_Next() | (LCRNG_Next() << 16)); + } while (nature != Personality_GetNature(personality)); + Pokemon_InitWithParams(mon, species, level, ivs, TRUE, personality, OT_ID_PLAYER_ID, 0); } -void sub_02074088(Pokemon *mon, u16 monSpecies, u8 monLevel, u8 monIVs, u8 gender, u8 param5, u8 param6) +void Pokemon_InitWithGenderNatureLetter(Pokemon *mon, u16 species, u8 level, u8 ivs, u8 gender, u8 nature, u8 letter) { - u32 monPersonality; - u16 unownLetter; + u32 personality = 0; + u16 unownLetter = 0; - // TODO enum value - if (param6 && param6 < 29) { + if (letter != 0 && letter < UNOWN_FORM_COUNT + 1) { do { - monPersonality = (LCRNG_Next() | (LCRNG_Next() << 16)); - unownLetter = (((monPersonality & 0x3000000) >> 18) | ((monPersonality & 0x30000) >> 12) | ((monPersonality & 0x300) >> 6) | (monPersonality & 0x3)) % 28; - } while (param5 != Pokemon_GetNatureOf(monPersonality) || gender != Pokemon_GetGenderOf(monSpecies, monPersonality) || unownLetter != param6 - 1); + personality = (LCRNG_Next() | (LCRNG_Next() << 16)); + unownLetter = CALC_UNOWN_LETTER(personality); + } while (nature != Personality_GetNature(personality) || gender != Species_GetGenderFromPersonality(species, personality) || unownLetter != letter - 1); } else { - monPersonality = sub_02074128(monSpecies, gender, param5); + personality = Personality_CreateFromGenderAndNature(species, gender, nature); } - - Pokemon_InitWith(mon, monSpecies, monLevel, monIVs, TRUE, monPersonality, OTID_NOT_SET, 0); + Pokemon_InitWithParams(mon, species, level, ivs, TRUE, personality, OT_ID_PLAYER_ID, 0); } -u32 sub_02074128(u16 monSpecies, u8 param1, u8 param2) +u32 Personality_CreateFromGenderAndNature(u16 species, u8 gender, u8 nature) { - u8 monGenderChance = SpeciesData_GetSpeciesValue(monSpecies, SPECIES_DATA_GENDER_RATIO); - - u32 result; - switch (monGenderChance) { + int pid = nature; + u8 ratio = Species_GetValue(species, SPECIES_DATA_GENDER_RATIO); + switch (ratio) { case GENDER_RATIO_MALE_ONLY: case GENDER_RATIO_FEMALE_ONLY: - case GENDER_RATIO_NO_GENDER: - result = param2; + case GENDER_RATIO_UNKNOWN: break; default: - // TODO gender enum value? - if (param1 == 0) { - result = 25 * ((monGenderChance / 25) + 1); - result += param2; - } else { - result = param2; + if (gender == GENDER_MALE) { + // Smallest increment that forces the low byte to exceed the + // gender ratio, thus making the mon male + pid = 25 * ((ratio / 25) + 1); + pid += nature; } break; } - - return result; + return pid; } -// only used when encountering a roamer -void Pokemon_InitAndCalcStats(Pokemon *mon, u16 monSpecies, u8 monLevel, u32 monCombinedIVs, u32 monPersonality) +void Pokemon_InitAndCalcStats(Pokemon *mon, u16 species, u8 level, u32 combinedIVs, u32 personality) { - Pokemon_InitWith(mon, monSpecies, monLevel, 0, TRUE, monPersonality, OTID_NOT_SET, 0); - Pokemon_SetValue(mon, MON_DATA_COMBINED_IVS, &monCombinedIVs); + Pokemon_InitWithParams(mon, species, level, 0, TRUE, personality, OT_ID_PLAYER_ID, 0); + Pokemon_SetData(mon, MON_DATA_COMBINED_IVS, &combinedIVs); Pokemon_CalcLevelAndStats(mon); } void Pokemon_CalcLevelAndStats(Pokemon *mon) { - BOOL reencrypt = Pokemon_EnterDecryptionContext(mon); - int monLevel = Pokemon_GetLevel(mon); - - Pokemon_SetValue(mon, MON_DATA_LEVEL, &monLevel); + BOOL reencrypt = Pokemon_DecryptData(mon); + int level = Pokemon_CalcLevel(mon); + Pokemon_SetData(mon, MON_DATA_LEVEL, &level); Pokemon_CalcStats(mon); - Pokemon_ExitDecryptionContext(mon, reencrypt); + Pokemon_EncryptData(mon, reencrypt); } void Pokemon_CalcStats(Pokemon *mon) { - int monMaxHp; - int monCurrentHp; - int monHpIV, monAtkIV, monDefIV, monSpeedIV, monSpAtkIV, monSpDefIV; - int monHpEV, monAtkEV, monDefEV, monSpeedEV, monSpAtkEV, monSpDefEV; - - BOOL reencrypt = Pokemon_EnterDecryptionContext(mon); - - int monLevel = Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL); - - monMaxHp = Pokemon_GetValue(mon, MON_DATA_MAX_HP, NULL); - monCurrentHp = Pokemon_GetValue(mon, MON_DATA_HP, NULL); - - monHpIV = Pokemon_GetValue(mon, MON_DATA_HP_IV, NULL); - monHpEV = Pokemon_GetValue(mon, MON_DATA_HP_EV, NULL); - monAtkIV = Pokemon_GetValue(mon, MON_DATA_ATK_IV, NULL); - monAtkEV = Pokemon_GetValue(mon, MON_DATA_ATK_EV, NULL); - monDefIV = Pokemon_GetValue(mon, MON_DATA_DEF_IV, NULL); - monDefEV = Pokemon_GetValue(mon, MON_DATA_DEF_EV, NULL); - monSpeedIV = Pokemon_GetValue(mon, MON_DATA_SPEED_IV, NULL); - monSpeedEV = Pokemon_GetValue(mon, MON_DATA_SPEED_EV, NULL); - monSpAtkIV = Pokemon_GetValue(mon, MON_DATA_SPATK_IV, NULL); - monSpAtkEV = Pokemon_GetValue(mon, MON_DATA_SPATK_EV, NULL); - monSpDefIV = Pokemon_GetValue(mon, MON_DATA_SPDEF_IV, NULL); - monSpDefEV = Pokemon_GetValue(mon, MON_DATA_SPDEF_EV, NULL); - - int monForm = Pokemon_GetValue(mon, MON_DATA_FORM, NULL); - int monSpecies = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - SpeciesData *speciesData = Heap_Alloc(HEAP_ID_SYSTEM, sizeof(SpeciesData)); + int maxHp, hp; + int hpIV, atkIV, defIV, speedIV, spAtkIV, spDefIV; + int hpEV, atkEV, defEV, speedEV, spAtkEV, spDefEV; + int form, species; + int newMaxHp; - SpeciesData_LoadForm(monSpecies, monForm, speciesData); + BOOL reencrypt = Pokemon_DecryptData(mon); + + int level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); + maxHp = Pokemon_GetData(mon, MON_DATA_MAX_HP, NULL); + hp = Pokemon_GetData(mon, MON_DATA_HP, NULL); + hpIV = Pokemon_GetData(mon, MON_DATA_HP_IV, NULL); + hpEV = Pokemon_GetData(mon, MON_DATA_HP_EV, NULL); + atkIV = Pokemon_GetData(mon, MON_DATA_ATK_IV, NULL); + atkEV = Pokemon_GetData(mon, MON_DATA_ATK_EV, NULL); + defIV = Pokemon_GetData(mon, MON_DATA_DEF_IV, NULL); + defEV = Pokemon_GetData(mon, MON_DATA_DEF_EV, NULL); + speedIV = Pokemon_GetData(mon, MON_DATA_SPEED_IV, NULL); + speedEV = Pokemon_GetData(mon, MON_DATA_SPEED_EV, NULL); + spAtkIV = Pokemon_GetData(mon, MON_DATA_SPATK_IV, NULL); + spAtkEV = Pokemon_GetData(mon, MON_DATA_SPATK_EV, NULL); + spDefIV = Pokemon_GetData(mon, MON_DATA_SPDEF_IV, NULL); + spDefEV = Pokemon_GetData(mon, MON_DATA_SPDEF_EV, NULL); + form = Pokemon_GetData(mon, MON_DATA_FORM, NULL); + species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); - int newMaxHp; - if (monSpecies == SPECIES_SHEDINJA) { + SpeciesData *speciesData = Heap_Alloc(HEAP_ID_SYSTEM, sizeof(SpeciesData)); + SpeciesData_LoadForm(species, form, speciesData); + + if (species == SPECIES_SHEDINJA) { newMaxHp = 1; } else { - newMaxHp = ((2 * speciesData->baseStats.hp + monHpIV + monHpEV / 4) * monLevel / 100 + monLevel + 10); + newMaxHp = (speciesData->baseStats.hp * 2 + hpIV + hpEV / 4) * level / 100 + level + 10; } + Pokemon_SetData(mon, MON_DATA_MAX_HP, &newMaxHp); - Pokemon_SetValue(mon, MON_DATA_MAX_HP, &newMaxHp); + int newAtk = (speciesData->baseStats.attack * 2 + atkIV + atkEV / 4) * level / 100 + 5; + newAtk = Nature_ModifyStatValue(Pokemon_GetNature(mon), newAtk, STAT_ATTACK); + Pokemon_SetData(mon, MON_DATA_ATK, &newAtk); - // TODO inline func maybe - int newAtk = ((2 * speciesData->baseStats.attack + monAtkIV + monAtkEV / 4) * monLevel / 100 + 5); - newAtk = Pokemon_GetNatureStatValue(Pokemon_GetNature(mon), newAtk, STAT_ATTACK); + int newDef = (speciesData->baseStats.defense * 2 + defIV + defEV / 4) * level / 100 + 5; + newDef = Nature_ModifyStatValue(Pokemon_GetNature(mon), newDef, STAT_DEFENSE); + Pokemon_SetData(mon, MON_DATA_DEF, &newDef); - Pokemon_SetValue(mon, MON_DATA_ATK, &newAtk); + int newSpeed = (speciesData->baseStats.speed * 2 + speedIV + speedEV / 4) * level / 100 + 5; + newSpeed = Nature_ModifyStatValue(Pokemon_GetNature(mon), newSpeed, STAT_SPEED); + Pokemon_SetData(mon, MON_DATA_SPEED, &newSpeed); - int newDef = ((2 * speciesData->baseStats.defense + monDefIV + monDefEV / 4) * monLevel / 100 + 5); - newDef = Pokemon_GetNatureStatValue(Pokemon_GetNature(mon), newDef, STAT_DEFENSE); + int newSpAtk = (speciesData->baseStats.spAttack * 2 + spAtkIV + spAtkEV / 4) * level / 100 + 5; + newSpAtk = Nature_ModifyStatValue(Pokemon_GetNature(mon), newSpAtk, STAT_SPECIAL_ATTACK); + Pokemon_SetData(mon, MON_DATA_SP_ATK, &newSpAtk); - Pokemon_SetValue(mon, MON_DATA_DEF, &newDef); + int newSpDef = (speciesData->baseStats.spDefense * 2 + spDefIV + spDefEV / 4) * level / 100 + 5; + newSpDef = Nature_ModifyStatValue(Pokemon_GetNature(mon), newSpDef, STAT_SPECIAL_DEFENSE); + Pokemon_SetData(mon, MON_DATA_SP_DEF, &newSpDef); - int newSpeed = ((2 * speciesData->baseStats.speed + monSpeedIV + monSpeedEV / 4) * monLevel / 100 + 5); - newSpeed = Pokemon_GetNatureStatValue(Pokemon_GetNature(mon), newSpeed, STAT_SPEED); - - Pokemon_SetValue(mon, MON_DATA_SPEED, &newSpeed); - - int newSpAtk = ((2 * speciesData->baseStats.spAttack + monSpAtkIV + monSpAtkEV / 4) * monLevel / 100 + 5); - newSpAtk = Pokemon_GetNatureStatValue(Pokemon_GetNature(mon), newSpAtk, STAT_SPECIAL_ATTACK); - - Pokemon_SetValue(mon, MON_DATA_SP_ATK, &newSpAtk); - - int newSpDef = ((2 * speciesData->baseStats.spDefense + monSpDefIV + monSpDefEV / 4) * monLevel / 100 + 5); - newSpDef = Pokemon_GetNatureStatValue(Pokemon_GetNature(mon), newSpDef, STAT_SPECIAL_DEFENSE); - - Pokemon_SetValue(mon, MON_DATA_SP_DEF, &newSpDef); Heap_Free(speciesData); - if (monCurrentHp != 0 || monMaxHp == 0) { - if (monSpecies == SPECIES_SHEDINJA) { - monCurrentHp = 1; - } else if (monCurrentHp == 0) { - monCurrentHp = newMaxHp; + if (hp != 0 || maxHp == 0) { + if (species == SPECIES_SHEDINJA) { + hp = 1; + } else if (hp == 0) { + hp = newMaxHp; + // BUG: Pomeg glitch. + // Fixed in HGSS by adding: + // } else if (newMaxHp - maxHp < 0) { + // if (hp > newMaxHp) { + // hp = newMaxHp; + // } } else { - monCurrentHp += newMaxHp - monMaxHp; + hp += newMaxHp - maxHp; } } - if (monCurrentHp) { - Pokemon_SetValue(mon, MON_DATA_HP, &monCurrentHp); + if (hp != 0) { + Pokemon_SetData(mon, MON_DATA_HP, &hp); } - - Pokemon_ExitDecryptionContext(mon, reencrypt); + Pokemon_EncryptData(mon, reencrypt); } -u32 Pokemon_GetValue(Pokemon *mon, enum PokemonDataParam param, void *dest) +u32 Pokemon_GetData(Pokemon *mon, enum PokemonDataParam param, void *dest) { - if (mon->box.partyDecrypted == FALSE) { - Pokemon_DecryptData(&mon->party, sizeof(PartyPokemon), mon->box.personality); - Pokemon_DecryptData(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4, mon->box.checksum); - - u16 checksum = Pokemon_GetDataChecksum(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4); - + u32 ret; + u32 checksum; + if (!mon->box.partyDecrypted) { + DECRYPT_PARTY(mon); + DECRYPT_BOX(&mon->box); + checksum = CHECKSUM(&mon->box); if (checksum != mon->box.checksum) { GF_ASSERT(checksum == mon->box.checksum); mon->box.checksumFailed = TRUE; } } - - u32 result = Pokemon_GetDataInternal(mon, param, dest); - - if (mon->box.partyDecrypted == FALSE) { - Pokemon_EncryptData(&mon->party, sizeof(PartyPokemon), mon->box.personality); - Pokemon_EncryptData(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4, mon->box.checksum); + ret = Pokemon_GetDataInternal(mon, param, dest); + if (!mon->box.partyDecrypted) { + ENCRYPT_PARTY(mon); + ENCRYPT_BOX(&mon->box); } - - return result; + return ret; } static u32 Pokemon_GetDataInternal(Pokemon *mon, enum PokemonDataParam param, void *dest) { - u32 result = 0; - switch (param) { case MON_DATA_STATUS: - result = mon->party.status; - break; - + return mon->party.status; case MON_DATA_LEVEL: - result = mon->party.level; - break; - + return mon->party.level; case MON_DATA_BALL_CAPSULE_ID: - result = mon->party.ballCapsuleID; - break; - + return mon->party.ballCapsuleID; case MON_DATA_HP: - result = mon->party.hp; - break; - + return mon->party.hp; case MON_DATA_MAX_HP: - result = mon->party.maxHP; - break; - + return mon->party.maxHP; case MON_DATA_ATK: - result = mon->party.attack; - break; - + return mon->party.attack; case MON_DATA_DEF: - result = mon->party.defense; - break; - + return mon->party.defense; case MON_DATA_SPEED: - result = mon->party.speed; - break; - + return mon->party.speed; case MON_DATA_SP_ATK: - result = mon->party.spAtk; - break; - + return mon->party.spAtk; case MON_DATA_SP_DEF: - result = mon->party.spDef; - break; - + return mon->party.spDef; case MON_DATA_MAIL: Mail_Copy(&mon->party.mail, dest); - result = TRUE; - break; - + return TRUE; case MON_DATA_BALL_CAPSULE: BallCapsule_Copy(&mon->party.ballCapsule, dest); - result = TRUE; - break; - + return TRUE; default: - result = BoxPokemon_GetDataInternal(&mon->box, param, dest); - break; + return BoxPokemon_GetDataInternal(&mon->box, param, dest); } - - return result; } -u32 BoxPokemon_GetValue(BoxPokemon *boxMon, enum PokemonDataParam param, void *dest) +u32 BoxPokemon_GetData(BoxPokemon *boxMon, enum PokemonDataParam param, void *dest) { - if (boxMon->boxDecrypted == FALSE) { - Pokemon_DecryptData(boxMon->dataBlocks, sizeof(PokemonDataBlock) * 4, boxMon->checksum); - u16 checksum = Pokemon_GetDataChecksum(boxMon->dataBlocks, sizeof(PokemonDataBlock) * 4); - + u32 ret; + u32 checksum; + if (!boxMon->boxDecrypted) { + DECRYPT_BOX(boxMon); + checksum = CHECKSUM(boxMon); if (checksum != boxMon->checksum) { GF_ASSERT(checksum == boxMon->checksum); boxMon->checksumFailed = TRUE; } } - - u32 result = BoxPokemon_GetDataInternal(boxMon, param, dest); - - if (boxMon->boxDecrypted == FALSE) { - Pokemon_EncryptData(boxMon->dataBlocks, sizeof(PokemonDataBlock) * 4, boxMon->checksum); + ret = BoxPokemon_GetDataInternal(boxMon, param, dest); + if (!boxMon->boxDecrypted) { + ENCRYPT_BOX(boxMon); } - - return result; + return ret; } static inline u32 GetRibbon(u64 mask, enum PokemonDataParam param, enum PokemonDataParam ribbonStart) @@ -756,148 +552,114 @@ static inline u32 GetRibbon(u64 mask, enum PokemonDataParam param, enum PokemonD static u32 BoxPokemon_GetDataInternal(BoxPokemon *boxMon, enum PokemonDataParam param, void *dest) { - u32 result = 0; - - PokemonDataBlockA *monDataBlockA = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_A); - PokemonDataBlockB *monDataBlockB = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_B); - PokemonDataBlockC *monDataBlockC = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_C); - PokemonDataBlockD *monDataBlockD = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_D); + u32 ret = 0; + PokemonDataBlockA *blockA = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_A); + PokemonDataBlockB *blockB = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_B); + PokemonDataBlockC *blockC = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_C); + PokemonDataBlockD *blockD = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_D); switch (param) { default: - result = 0; + ret = 0; break; - case MON_DATA_PERSONALITY: - result = boxMon->personality; + ret = boxMon->personality; break; - case MON_DATA_IS_PARTY_DECRYPTED: - result = boxMon->partyDecrypted; + ret = boxMon->partyDecrypted; break; - case MON_DATA_IS_BOX_DECRYPTED: - result = boxMon->boxDecrypted; + ret = boxMon->boxDecrypted; break; - case MON_DATA_CHECKSUM_FAILED: - result = boxMon->checksumFailed; + ret = boxMon->checksumFailed; break; - case MON_DATA_CHECKSUM: - result = boxMon->checksum; + ret = boxMon->checksum; break; - case MON_DATA_SPECIES_EXISTS: - result = (monDataBlockA->species != SPECIES_NONE); + ret = (blockA->species != SPECIES_NONE); break; - case MON_DATA_SANITY_IS_EGG: if (boxMon->checksumFailed) { - result = boxMon->checksumFailed; + ret = boxMon->checksumFailed; } else { - result = monDataBlockB->isEgg; + ret = blockB->isEgg; } - break; - case MON_DATA_SPECIES_OR_EGG: - result = monDataBlockA->species; - if (result != SPECIES_NONE && (monDataBlockB->isEgg || boxMon->checksumFailed)) { - result = SPECIES_EGG; + ret = blockA->species; + if (ret != SPECIES_NONE && (blockB->isEgg || boxMon->checksumFailed)) { + ret = SPECIES_EGG; } - break; - case MON_DATA_LEVEL: - result = Pokemon_GetSpeciesLevelAt(monDataBlockA->species, monDataBlockA->exp); + ret = Species_CalcLevelByExp(blockA->species, blockA->exp); break; - case MON_DATA_SPECIES: if (boxMon->checksumFailed) { - result = SPECIES_EGG; + ret = SPECIES_EGG; } else { - result = monDataBlockA->species; + ret = blockA->species; } - break; - case MON_DATA_HELD_ITEM: - result = monDataBlockA->heldItem; + ret = blockA->heldItem; break; - case MON_DATA_OT_ID: - result = monDataBlockA->otID; + ret = blockA->otID; break; - case MON_DATA_EXPERIENCE: - result = monDataBlockA->exp; + ret = blockA->exp; break; - case MON_DATA_FRIENDSHIP: - result = monDataBlockA->friendship; + ret = blockA->friendship; break; - case MON_DATA_ABILITY: - result = monDataBlockA->ability; + ret = blockA->ability; break; - case MON_DATA_MARKINGS: - result = monDataBlockA->markings; + ret = blockA->markings; break; - case MON_DATA_LANGUAGE: - result = monDataBlockA->originLanguage; + ret = blockA->originLanguage; break; - case MON_DATA_HP_EV: - result = monDataBlockA->hpEV; + ret = blockA->hpEV; break; - case MON_DATA_ATK_EV: - result = monDataBlockA->atkEV; + ret = blockA->atkEV; break; - case MON_DATA_DEF_EV: - result = monDataBlockA->defEV; + ret = blockA->defEV; break; - case MON_DATA_SPEED_EV: - result = monDataBlockA->speedEV; + ret = blockA->speedEV; break; - case MON_DATA_SPATK_EV: - result = monDataBlockA->spAtkEV; + ret = blockA->spAtkEV; break; - case MON_DATA_SPDEF_EV: - result = monDataBlockA->spDefEV; + ret = blockA->spDefEV; break; - case MON_DATA_COOL: - result = monDataBlockA->cool; + ret = blockA->cool; break; - case MON_DATA_BEAUTY: - result = monDataBlockA->beauty; + ret = blockA->beauty; break; - case MON_DATA_CUTE: - result = monDataBlockA->cute; + ret = blockA->cute; break; - case MON_DATA_SMART: - result = monDataBlockA->smart; + ret = blockA->smart; break; - case MON_DATA_TOUGH: - result = monDataBlockA->tough; + ret = blockA->tough; break; - case MON_DATA_SHEEN: - result = monDataBlockA->sheen; + ret = blockA->sheen; break; - case MON_DATA_SINNOH_CHAMP_RIBBON: case MON_DATA_ABILITY_RIBBON: case MON_DATA_GREAT_ABILITY_RIBBON: @@ -927,73 +689,60 @@ static u32 BoxPokemon_GetDataInternal(BoxPokemon *boxMon, enum PokemonDataParam case MON_DATA_CLASSIC_RIBBON: case MON_DATA_PREMIER_RIBBON: case MON_DATA_UNUSED_RIBBON_53: - result = GetRibbon(monDataBlockA->ribbonsDS1, param, MON_DATA_SINNOH_CHAMP_RIBBON); + ret = GetRibbon(blockA->ribbonsDS1, param, MON_DATA_SINNOH_CHAMP_RIBBON); break; - case MON_DATA_MOVE1: case MON_DATA_MOVE2: case MON_DATA_MOVE3: case MON_DATA_MOVE4: - result = monDataBlockB->moves[param - MON_DATA_MOVE1]; + ret = blockB->moves[param - MON_DATA_MOVE1]; break; - case MON_DATA_MOVE1_PP: case MON_DATA_MOVE2_PP: case MON_DATA_MOVE3_PP: case MON_DATA_MOVE4_PP: - result = monDataBlockB->moveCurrentPPs[param - MON_DATA_MOVE1_PP]; + ret = blockB->moveCurrentPPs[param - MON_DATA_MOVE1_PP]; break; - case MON_DATA_MOVE1_PP_UPS: case MON_DATA_MOVE2_PP_UPS: case MON_DATA_MOVE3_PP_UPS: case MON_DATA_MOVE4_PP_UPS: - result = monDataBlockB->movePPUps[param - MON_DATA_MOVE1_PP_UPS]; + ret = blockB->movePPUps[param - MON_DATA_MOVE1_PP_UPS]; break; - case MON_DATA_MOVE1_MAX_PP: case MON_DATA_MOVE2_MAX_PP: case MON_DATA_MOVE3_MAX_PP: case MON_DATA_MOVE4_MAX_PP: - result = MoveTable_CalcMaxPP(monDataBlockB->moves[param - MON_DATA_MOVE1_MAX_PP], monDataBlockB->movePPUps[param - MON_DATA_MOVE1_MAX_PP]); + ret = MoveTable_CalcMaxPP(blockB->moves[param - MON_DATA_MOVE1_MAX_PP], blockB->movePPUps[param - MON_DATA_MOVE1_MAX_PP]); break; - case MON_DATA_HP_IV: - result = monDataBlockB->hpIV; + ret = blockB->hpIV; break; - case MON_DATA_ATK_IV: - result = monDataBlockB->atkIV; + ret = blockB->atkIV; break; - case MON_DATA_DEF_IV: - result = monDataBlockB->defIV; + ret = blockB->defIV; break; - case MON_DATA_SPEED_IV: - result = monDataBlockB->speedIV; + ret = blockB->speedIV; break; - case MON_DATA_SPATK_IV: - result = monDataBlockB->spAtkIV; + ret = blockB->spAtkIV; break; - case MON_DATA_SPDEF_IV: - result = monDataBlockB->spDefIV; + ret = blockB->spDefIV; break; - case MON_DATA_IS_EGG: if (boxMon->checksumFailed) { - result = boxMon->checksumFailed; + ret = boxMon->checksumFailed; } else { - result = monDataBlockB->isEgg; + ret = blockB->isEgg; } break; - case MON_DATA_HAS_NICKNAME: - result = monDataBlockB->hasNickname; + ret = blockB->hasNickname; break; - case MON_DATA_COOL_RIBBON: case MON_DATA_COOL_RIBBON_SUPER: case MON_DATA_COOL_RIBBON_HYPER: @@ -1026,67 +775,54 @@ static u32 BoxPokemon_GetDataInternal(BoxPokemon *boxMon, enum PokemonDataParam case MON_DATA_NATIONAL_RIBBON: case MON_DATA_EARTH_RIBBON: case MON_DATA_WORLD_RIBBON: - result = GetRibbon(monDataBlockB->ribbonsGBA, param, MON_DATA_COOL_RIBBON); + ret = GetRibbon(blockB->ribbonsGBA, param, MON_DATA_COOL_RIBBON); break; - case MON_DATA_FATEFUL_ENCOUNTER: - result = monDataBlockB->fatefulEncounter; + ret = blockB->fatefulEncounter; break; - case MON_DATA_GENDER: - result = Pokemon_GetGenderOf(monDataBlockA->species, boxMon->personality); - monDataBlockB->gender = result; - boxMon->checksum = Pokemon_GetDataChecksum(&boxMon->dataBlocks, sizeof(PokemonDataBlock) * 4); + ret = Species_GetGenderFromPersonality(blockA->species, boxMon->personality); + blockB->gender = ret; + boxMon->checksum = CHECKSUM(boxMon); break; - case MON_DATA_FORM: - result = monDataBlockB->form; + ret = blockB->form; break; - case MON_DATA_UNUSED_113: - result = monDataBlockB->unused1; + ret = blockB->unused1; break; - case MON_DATA_UNUSED_114: - result = monDataBlockB->unused2; + ret = blockB->unused2; break; - case MON_DATA_NICKNAME: if (boxMon->checksumFailed) { - // TODO confirm this should be SPECIES_BAD_EGG (lines up with checksum failure check but not throughly checked this call tree) MessageLoader_GetSpeciesName(SPECIES_BAD_EGG, 0, dest); } else { - charcode_t *buf = dest; - - for (result = 0; result < MON_NAME_LEN; result++) { - buf[result] = monDataBlockC->nickname[result]; + charcode_t *nickname = dest; + for (ret = 0; ret < MON_NAME_LEN; ret++) { + nickname[ret] = blockC->nickname[ret]; } - - buf[result] = CHAR_EOS; + nickname[ret] = CHAR_EOS; } break; case MON_DATA_NICKNAME_STRING_AND_FLAG: - result = monDataBlockB->hasNickname; - // fall-through + ret = blockB->hasNickname; + // fallthrough case MON_DATA_NICKNAME_STRING: if (boxMon->checksumFailed) { - String *string = MessageUtil_SpeciesName(SPECIES_BAD_EGG, HEAP_ID_SYSTEM); - - String_Copy(dest, string); - String_Free(string); + String *nickname = MessageUtil_SpeciesName(SPECIES_BAD_EGG, HEAP_ID_SYSTEM); + String_Copy(dest, nickname); + String_Free(nickname); } else { - String_CopyChars(dest, monDataBlockC->nickname); + String_CopyChars(dest, blockC->nickname); } break; - case MON_DATA_UNUSED_121: - result = monDataBlockC->unused; + ret = blockC->unused; break; - case MON_DATA_MET_GAME: - result = monDataBlockC->originGame; + ret = blockC->originGame; break; - case MON_DATA_SUPER_COOL_RIBBON: case MON_DATA_SUPER_COOL_RIBBON_GREAT: case MON_DATA_SUPER_COOL_RIBBON_ULTRA: @@ -1108,346 +844,282 @@ static u32 BoxPokemon_GetDataInternal(BoxPokemon *boxMon, enum PokemonDataParam case MON_DATA_SUPER_TOUGH_RIBBON_ULTRA: case MON_DATA_SUPER_TOUGH_RIBBON_MASTER: case MON_DATA_UNUSED_RIBBON_143: - result = GetRibbon(monDataBlockC->ribbonsDS2, param, MON_DATA_SUPER_COOL_RIBBON); + ret = GetRibbon(blockC->ribbonsDS2, param, MON_DATA_SUPER_COOL_RIBBON); break; - case MON_DATA_OT_NAME: u16 *otName = dest; - - for (result = 0; result < TRAINER_NAME_LEN; result++) { - otName[result] = monDataBlockD->otName[result]; + for (ret = 0; ret < TRAINER_NAME_LEN; ret++) { + otName[ret] = blockD->otName[ret]; } - - otName[result] = CHAR_EOS; + otName[ret] = CHAR_EOS; break; - case MON_DATA_OT_NAME_STRING: - String_CopyChars(dest, monDataBlockD->otName); + String_CopyChars(dest, blockD->otName); break; - case MON_DATA_EGG_YEAR: - result = monDataBlockD->eggYear; + ret = blockD->eggYear; break; - case MON_DATA_EGG_MONTH: - result = monDataBlockD->eggMonth; + ret = blockD->eggMonth; break; - case MON_DATA_EGG_DAY: - result = monDataBlockD->eggDay; + ret = blockD->eggDay; break; - case MON_DATA_MET_YEAR: - result = monDataBlockD->metYear; + ret = blockD->metYear; break; - case MON_DATA_MET_MONTH: - result = monDataBlockD->metMonth; + ret = blockD->metMonth; break; - case MON_DATA_MET_DAY: - result = monDataBlockD->metDay; + ret = blockD->metDay; break; - case MON_DATA_EGG_LOCATION: case MON_DATA_EGG_LOCATION_PTHGSS: - if (monDataBlockD->EggLocation_DP == FATEFUL_ENCOUNTER_LOCATION && monDataBlockB->EggLocation_PtHGSS) { - result = monDataBlockB->EggLocation_PtHGSS; + if (blockD->EggLocation_DP == FATEFUL_ENCOUNTER_LOCATION && blockB->EggLocation_PtHGSS) { + ret = blockB->EggLocation_PtHGSS; } else { - result = monDataBlockD->EggLocation_DP; + ret = blockD->EggLocation_DP; } break; - case MON_DATA_MET_LOCATION: case MON_DATA_MET_LOCATION_PTHGSS: - if (monDataBlockD->MetLocation_DP == FATEFUL_ENCOUNTER_LOCATION && monDataBlockB->MetLocation_PtHGSS) { - result = monDataBlockB->MetLocation_PtHGSS; + if (blockD->MetLocation_DP == FATEFUL_ENCOUNTER_LOCATION && blockB->MetLocation_PtHGSS) { + ret = blockB->MetLocation_PtHGSS; } else { - result = monDataBlockD->MetLocation_DP; + ret = blockD->MetLocation_DP; } break; - case MON_DATA_POKERUS: - result = monDataBlockD->pokerus; + ret = blockD->pokerus; break; - case MON_DATA_POKEBALL: - result = monDataBlockD->pokeball; + ret = blockD->pokeball; break; - case MON_DATA_MET_LEVEL: - result = monDataBlockD->metLevel; + ret = blockD->metLevel; break; - case MON_DATA_OT_GENDER: - result = monDataBlockD->otGender; + ret = blockD->otGender; break; - case MON_DATA_MET_TERRAIN: - result = monDataBlockD->metTerrain; + ret = blockD->metTerrain; break; - case MON_DATA_UNUSED_159: - result = monDataBlockD->unused; + ret = blockD->unused; break; - case MON_DATA_COMBINED_IVS: - result = (monDataBlockB->hpIV << 0) - | (monDataBlockB->atkIV << 5) - | (monDataBlockB->defIV << 10) - | (monDataBlockB->speedIV << 15) - | (monDataBlockB->spAtkIV << 20) - | (monDataBlockB->spDefIV << 25); + ret = (blockB->hpIV << 0) + | (blockB->atkIV << 5) + | (blockB->defIV << 10) + | (blockB->speedIV << 15) + | (blockB->spAtkIV << 20) + | (blockB->spDefIV << 25); break; - case MON_DATA_NO_PRINT_GENDER: - if ((monDataBlockA->species == SPECIES_NIDORAN_F || monDataBlockA->species == SPECIES_NIDORAN_M) - && monDataBlockB->hasNickname == FALSE) { - result = FALSE; + if ((blockA->species == SPECIES_NIDORAN_F || blockA->species == SPECIES_NIDORAN_M) && !blockB->hasNickname) { + ret = FALSE; } else { - result = TRUE; + ret = TRUE; } break; - case MON_DATA_TYPE_1: case MON_DATA_TYPE_2: - if (monDataBlockA->species == SPECIES_ARCEUS && monDataBlockA->ability == ABILITY_MULTITYPE) { - result = Pokemon_GetArceusTypeOf(Item_LoadParam(monDataBlockA->heldItem, ITEM_PARAM_HOLD_EFFECT, HEAP_ID_SYSTEM)); + if (blockA->species == SPECIES_ARCEUS && blockA->ability == ABILITY_MULTITYPE) { + ret = HoldEffect_GetArceusType(Item_LoadParam(blockA->heldItem, ITEM_PARAM_HOLD_EFFECT, HEAP_ID_SYSTEM)); } else { - result = SpeciesData_GetFormValue(monDataBlockA->species, monDataBlockB->form, SPECIES_DATA_TYPE_1 + (param - MON_DATA_TYPE_1)); + ret = Species_GetFormValue(blockA->species, blockB->form, SPECIES_DATA_TYPE_1 + (param - MON_DATA_TYPE_1)); } break; - case MON_DATA_SPECIES_NAME: - MessageLoader_GetSpeciesName(monDataBlockA->species, HEAP_ID_SYSTEM, dest); + MessageLoader_GetSpeciesName(blockA->species, HEAP_ID_SYSTEM, dest); break; } - - return result; + return ret; } -void Pokemon_SetValue(Pokemon *mon, enum PokemonDataParam param, const void *value) +void Pokemon_SetData(Pokemon *mon, enum PokemonDataParam param, void *value) { - if (mon->box.partyDecrypted == FALSE) { - Pokemon_DecryptData(&mon->party, sizeof(PartyPokemon), mon->box.personality); - Pokemon_DecryptData(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4, mon->box.checksum); - u16 checksum = Pokemon_GetDataChecksum(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4); - + u32 checksum; + if (!mon->box.partyDecrypted) { + DECRYPT_PARTY(mon); + DECRYPT_BOX(&mon->box); + checksum = CHECKSUM(&mon->box); if (checksum != mon->box.checksum) { GF_ASSERT(checksum == mon->box.checksum); mon->box.checksumFailed = TRUE; - Pokemon_EncryptData(mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4, mon->box.checksum); + ENCRYPT_BOX(&mon->box); return; } } - Pokemon_SetDataInternal(mon, param, value); - - if (mon->box.partyDecrypted == FALSE) { - Pokemon_EncryptData(&mon->party, sizeof(PartyPokemon), mon->box.personality); - mon->box.checksum = Pokemon_GetDataChecksum(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4); - Pokemon_EncryptData(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4, mon->box.checksum); + if (!mon->box.partyDecrypted) { + ENCRYPT_PARTY(mon); + mon->box.checksum = CHECKSUM(&mon->box); + ENCRYPT_BOX(&mon->box); } } -static void Pokemon_SetDataInternal(Pokemon *mon, enum PokemonDataParam param, const void *value) +static void Pokemon_SetDataInternal(Pokemon *mon, enum PokemonDataParam param, void *value) { - u32 *u32Value = value; - u16 *u16Value = value; - u8 *u8Value = value; - +#define VALUE(type) (*(const type *)value) switch (param) { case MON_DATA_STATUS: - mon->party.status = *u32Value; + mon->party.status = VALUE(u32); break; - case MON_DATA_LEVEL: - mon->party.level = *u8Value; + mon->party.level = VALUE(u8); break; - case MON_DATA_BALL_CAPSULE_ID: - mon->party.ballCapsuleID = *u8Value; + mon->party.ballCapsuleID = VALUE(u8); break; - case MON_DATA_HP: - mon->party.hp = *u16Value; + mon->party.hp = VALUE(u16); break; - case MON_DATA_MAX_HP: - mon->party.maxHP = *u16Value; + mon->party.maxHP = VALUE(u16); break; - case MON_DATA_ATK: - mon->party.attack = *u16Value; + mon->party.attack = VALUE(u16); break; - case MON_DATA_DEF: - mon->party.defense = *u16Value; + mon->party.defense = VALUE(u16); break; - case MON_DATA_SPEED: - mon->party.speed = *u16Value; + mon->party.speed = VALUE(u16); break; - case MON_DATA_SP_ATK: - mon->party.spAtk = *u16Value; + mon->party.spAtk = VALUE(u16); break; - case MON_DATA_SP_DEF: - mon->party.spDef = *u16Value; + mon->party.spDef = VALUE(u16); break; - case MON_DATA_MAIL: Mail_Copy(value, &mon->party.mail); break; - case MON_DATA_BALL_CAPSULE: BallCapsule_Copy(value, &mon->party.ballCapsule); break; - default: BoxPokemon_SetDataInternal(&mon->box, param, value); break; } +#undef VALUE } -void BoxPokemon_SetValue(BoxPokemon *boxMon, enum PokemonDataParam param, const void *value) +void BoxPokemon_SetData(BoxPokemon *boxMon, enum PokemonDataParam param, void *value) { - if (boxMon->boxDecrypted == FALSE) { - Pokemon_DecryptData(boxMon->dataBlocks, sizeof(PokemonDataBlock) * 4, boxMon->checksum); - u16 checksum = Pokemon_GetDataChecksum(boxMon->dataBlocks, sizeof(PokemonDataBlock) * 4); - + u32 checksum; + if (!boxMon->boxDecrypted) { + DECRYPT_BOX(boxMon); + checksum = CHECKSUM(boxMon); if (checksum != boxMon->checksum) { GF_ASSERT(checksum == boxMon->checksum); boxMon->checksumFailed = TRUE; - Pokemon_EncryptData(boxMon->dataBlocks, sizeof(PokemonDataBlock) * 4, boxMon->checksum); + ENCRYPT_BOX(boxMon); return; } } - BoxPokemon_SetDataInternal(boxMon, param, value); - - if (boxMon->boxDecrypted == FALSE) { - boxMon->checksum = Pokemon_GetDataChecksum(boxMon->dataBlocks, sizeof(PokemonDataBlock) * 4); - Pokemon_EncryptData(boxMon->dataBlocks, sizeof(PokemonDataBlock) * 4, boxMon->checksum); + if (!boxMon->boxDecrypted) { + boxMon->checksum = CHECKSUM(boxMon); + ENCRYPT_BOX(boxMon); } } -static void BoxPokemon_SetDataInternal(BoxPokemon *boxMon, enum PokemonDataParam param, const void *value) +static void BoxPokemon_SetDataInternal(BoxPokemon *boxMon, enum PokemonDataParam param, void *value) { - // TODO can this be restructured better? - u32 *u32Value = value; - u16 *u16Value = value; - u8 *u8Value = value; +#define VALUE(type) (*(const type *)value) + u64 mask; + u32 i; + u16 namebuf[MON_NAME_LEN + 1]; + u16 namebuf2[MON_NAME_LEN + 1]; + u16 namebuf3[MON_NAME_LEN + 1]; + String *speciesName; - PokemonDataBlockA *monDataBlockA = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_A); - PokemonDataBlockB *monDataBlockB = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_B); - PokemonDataBlockC *monDataBlockC = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_C); - PokemonDataBlockD *monDataBlockD = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_D); + PokemonDataBlockA *blockA = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_A); + PokemonDataBlockB *blockB = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_B); + PokemonDataBlockC *blockC = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_C); + PokemonDataBlockD *blockD = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_D); switch (param) { case MON_DATA_PERSONALITY: - boxMon->personality = *u32Value; + boxMon->personality = VALUE(u32); break; - case MON_DATA_IS_PARTY_DECRYPTED: GF_ASSERT(FALSE); - boxMon->partyDecrypted = *u8Value; + boxMon->partyDecrypted = VALUE(u8); break; - case MON_DATA_IS_BOX_DECRYPTED: GF_ASSERT(FALSE); - boxMon->boxDecrypted = *u8Value; + boxMon->boxDecrypted = VALUE(u8); break; - case MON_DATA_CHECKSUM_FAILED: - boxMon->checksumFailed = *u8Value; + boxMon->checksumFailed = VALUE(u8); break; - case MON_DATA_CHECKSUM: - boxMon->checksum = *u16Value; + boxMon->checksum = VALUE(u16); break; - case MON_DATA_SPECIES: - monDataBlockA->species = *u16Value; + blockA->species = VALUE(u16); break; - case MON_DATA_HELD_ITEM: - monDataBlockA->heldItem = *u16Value; + blockA->heldItem = VALUE(u16); break; - case MON_DATA_OT_ID: - monDataBlockA->otID = *u32Value; + blockA->otID = VALUE(u32); break; - case MON_DATA_EXPERIENCE: - monDataBlockA->exp = *u32Value; + blockA->exp = VALUE(u32); break; - case MON_DATA_FRIENDSHIP: - monDataBlockA->friendship = *u8Value; + blockA->friendship = VALUE(u8); break; - case MON_DATA_ABILITY: - monDataBlockA->ability = *u8Value; + blockA->ability = VALUE(u8); break; - case MON_DATA_MARKINGS: - monDataBlockA->markings = *u8Value; + blockA->markings = VALUE(u8); break; - case MON_DATA_LANGUAGE: - monDataBlockA->originLanguage = *u8Value; + blockA->originLanguage = VALUE(u8); break; - case MON_DATA_HP_EV: - monDataBlockA->hpEV = *u8Value; + blockA->hpEV = VALUE(u8); break; - case MON_DATA_ATK_EV: - monDataBlockA->atkEV = *u8Value; + blockA->atkEV = VALUE(u8); break; - case MON_DATA_DEF_EV: - monDataBlockA->defEV = *u8Value; + blockA->defEV = VALUE(u8); break; - case MON_DATA_SPEED_EV: - monDataBlockA->speedEV = *u8Value; + blockA->speedEV = VALUE(u8); break; - case MON_DATA_SPATK_EV: - monDataBlockA->spAtkEV = *u8Value; + blockA->spAtkEV = VALUE(u8); break; - case MON_DATA_SPDEF_EV: - monDataBlockA->spDefEV = *u8Value; + blockA->spDefEV = VALUE(u8); break; - case MON_DATA_COOL: - monDataBlockA->cool = *u8Value; + blockA->cool = VALUE(u8); break; - case MON_DATA_BEAUTY: - monDataBlockA->beauty = *u8Value; + blockA->beauty = VALUE(u8); break; - case MON_DATA_CUTE: - monDataBlockA->cute = *u8Value; + blockA->cute = VALUE(u8); break; - case MON_DATA_SMART: - monDataBlockA->smart = *u8Value; + blockA->smart = VALUE(u8); break; - case MON_DATA_TOUGH: - monDataBlockA->tough = *u8Value; + blockA->tough = VALUE(u8); break; - case MON_DATA_SHEEN: - monDataBlockA->sheen = *u8Value; + blockA->sheen = VALUE(u8); break; - case MON_DATA_SINNOH_CHAMP_RIBBON: case MON_DATA_ABILITY_RIBBON: case MON_DATA_GREAT_ABILITY_RIBBON: @@ -1476,77 +1148,61 @@ static void BoxPokemon_SetDataInternal(BoxPokemon *boxMon, enum PokemonDataParam case MON_DATA_CARNIVAL_RIBBON: case MON_DATA_CLASSIC_RIBBON: case MON_DATA_PREMIER_RIBBON: - case MON_DATA_UNUSED_RIBBON_53: { - u64 bit = 1 << (param - MON_DATA_SINNOH_CHAMP_RIBBON); - - if (*u8Value) { - monDataBlockA->ribbonsDS1 |= bit; + case MON_DATA_UNUSED_RIBBON_53: + mask = 1 << (param - MON_DATA_SINNOH_CHAMP_RIBBON); + if (VALUE(u8)) { + blockA->ribbonsDS1 |= mask; } else { - monDataBlockA->ribbonsDS1 &= (bit ^ 0xFFFFFFFF); + blockA->ribbonsDS1 &= mask ^ 0xFFFFFFFF; } - break; - } - case MON_DATA_MOVE1: case MON_DATA_MOVE2: case MON_DATA_MOVE3: case MON_DATA_MOVE4: - monDataBlockB->moves[param - MON_DATA_MOVE1] = *u16Value; + blockB->moves[param - MON_DATA_MOVE1] = VALUE(u16); break; - case MON_DATA_MOVE1_PP: case MON_DATA_MOVE2_PP: case MON_DATA_MOVE3_PP: case MON_DATA_MOVE4_PP: - monDataBlockB->moveCurrentPPs[param - MON_DATA_MOVE1_PP] = *u8Value; + blockB->moveCurrentPPs[param - MON_DATA_MOVE1_PP] = VALUE(u8); break; - case MON_DATA_MOVE1_PP_UPS: case MON_DATA_MOVE2_PP_UPS: case MON_DATA_MOVE3_PP_UPS: case MON_DATA_MOVE4_PP_UPS: - monDataBlockB->movePPUps[param - MON_DATA_MOVE1_PP_UPS] = *u8Value; + blockB->movePPUps[param - MON_DATA_MOVE1_PP_UPS] = VALUE(u8); break; - case MON_DATA_MOVE1_MAX_PP: case MON_DATA_MOVE2_MAX_PP: case MON_DATA_MOVE3_MAX_PP: case MON_DATA_MOVE4_MAX_PP: break; - case MON_DATA_HP_IV: - monDataBlockB->hpIV = *u8Value; + blockB->hpIV = VALUE(u8); break; - case MON_DATA_ATK_IV: - monDataBlockB->atkIV = *u8Value; + blockB->atkIV = VALUE(u8); break; - case MON_DATA_DEF_IV: - monDataBlockB->defIV = *u8Value; + blockB->defIV = VALUE(u8); break; - case MON_DATA_SPEED_IV: - monDataBlockB->speedIV = *u8Value; + blockB->speedIV = VALUE(u8); break; - case MON_DATA_SPATK_IV: - monDataBlockB->spAtkIV = *u8Value; + blockB->spAtkIV = VALUE(u8); break; - case MON_DATA_SPDEF_IV: - monDataBlockB->spDefIV = *u8Value; + blockB->spDefIV = VALUE(u8); break; - case MON_DATA_IS_EGG: - monDataBlockB->isEgg = *u8Value; + blockB->isEgg = VALUE(u8); break; - case MON_DATA_HAS_NICKNAME: - monDataBlockB->hasNickname = *u8Value; + blockB->hasNickname = VALUE(u8); break; - case MON_DATA_COOL_RIBBON: case MON_DATA_COOL_RIBBON_SUPER: case MON_DATA_COOL_RIBBON_HYPER: @@ -1578,73 +1234,53 @@ static void BoxPokemon_SetDataInternal(BoxPokemon *boxMon, enum PokemonDataParam case MON_DATA_COUNTRY_RIBBON: case MON_DATA_NATIONAL_RIBBON: case MON_DATA_EARTH_RIBBON: - case MON_DATA_WORLD_RIBBON: { - u64 bit = 1 << (param - MON_DATA_COOL_RIBBON); - - if (*u8Value) { - monDataBlockB->ribbonsGBA |= bit; + case MON_DATA_WORLD_RIBBON: + mask = 1 << (param - MON_DATA_COOL_RIBBON); + if (VALUE(u8)) { + blockB->ribbonsGBA |= mask; } else { - monDataBlockB->ribbonsGBA &= (bit ^ 0xFFFFFFFF); + blockB->ribbonsGBA &= mask ^ 0xFFFFFFFF; } - break; - } - case MON_DATA_FATEFUL_ENCOUNTER: - monDataBlockB->fatefulEncounter = *u8Value; + blockB->fatefulEncounter = VALUE(u8); break; - case MON_DATA_GENDER: - monDataBlockB->gender = Pokemon_GetGenderOf(monDataBlockA->species, boxMon->personality); + blockB->gender = Species_GetGenderFromPersonality(blockA->species, boxMon->personality); break; - case MON_DATA_FORM: - monDataBlockB->form = *u8Value; + blockB->form = VALUE(u8); break; - case MON_DATA_UNUSED_113: - monDataBlockB->unused1 = *u8Value; + blockB->unused1 = VALUE(u8); break; - case MON_DATA_UNUSED_114: - monDataBlockB->unused2 = *u16Value; + blockB->unused2 = VALUE(u16); break; - - case MON_DATA_NICKNAME_AND_FLAG: { - charcode_t baseName[MON_NAME_LEN + 1]; - - MessageLoader_GetSpeciesName(monDataBlockA->species, HEAP_ID_SYSTEM, baseName); - monDataBlockB->hasNickname = CharCode_Compare(baseName, u16Value); - } - // fall-through + case MON_DATA_NICKNAME_AND_FLAG: + MessageLoader_GetSpeciesName(blockA->species, HEAP_ID_SYSTEM, namebuf); + blockB->hasNickname = CharCode_Compare(namebuf, value); + // fallthrough case MON_DATA_NICKNAME: - for (int i = 0; i < NELEMS(monDataBlockC->nickname); i++) { - monDataBlockC->nickname[i] = u16Value[i]; + for (i = 0; i < MON_NAME_LEN + 1; i++) { + blockC->nickname[i] = VALUE(u16); + value = (void *const)((char *)value + 2); } break; - - case MON_DATA_NICKNAME_STRING_AND_FLAG: { - charcode_t baseName[MON_NAME_LEN + 1]; - charcode_t nickname[MON_NAME_LEN + 1]; - - MessageLoader_GetSpeciesName(monDataBlockA->species, HEAP_ID_SYSTEM, baseName); - String_ToChars(value, nickname, NELEMS(nickname)); - - monDataBlockB->hasNickname = CharCode_Compare(baseName, nickname); - } - // fall-through + case MON_DATA_NICKNAME_STRING_AND_FLAG: + MessageLoader_GetSpeciesName(blockA->species, HEAP_ID_SYSTEM, namebuf2); + String_ToChars(value, namebuf3, MON_NAME_LEN + 1); + blockB->hasNickname = CharCode_Compare(namebuf2, namebuf3); + // fallthrough case MON_DATA_NICKNAME_STRING: - String_ToChars(value, monDataBlockC->nickname, NELEMS(monDataBlockC->nickname)); + String_ToChars(value, blockC->nickname, MON_NAME_LEN + 1); break; - case MON_DATA_UNUSED_121: - monDataBlockC->unused = *u8Value; + blockC->unused = VALUE(u8); break; - case MON_DATA_MET_GAME: - monDataBlockC->originGame = *u8Value; + blockC->originGame = VALUE(u8); break; - case MON_DATA_SUPER_COOL_RIBBON: case MON_DATA_SUPER_COOL_RIBBON_GREAT: case MON_DATA_SUPER_COOL_RIBBON_ULTRA: @@ -1665,144 +1301,118 @@ static void BoxPokemon_SetDataInternal(BoxPokemon *boxMon, enum PokemonDataParam case MON_DATA_SUPER_TOUGH_RIBBON_GREAT: case MON_DATA_SUPER_TOUGH_RIBBON_ULTRA: case MON_DATA_SUPER_TOUGH_RIBBON_MASTER: - case MON_DATA_UNUSED_RIBBON_143: { - u64 bit = 1 << (param - MON_DATA_SUPER_COOL_RIBBON); - - if (*u8Value) { - monDataBlockC->ribbonsDS2 |= bit; + case MON_DATA_UNUSED_RIBBON_143: + mask = 1 << (param - MON_DATA_SUPER_COOL_RIBBON); + if (VALUE(u8)) { + blockC->ribbonsDS2 |= mask; } else { - monDataBlockC->ribbonsDS2 &= (bit ^ 0xFFFFFFFFFFFFFFFF); + blockC->ribbonsDS2 &= mask ^ 0xFFFFFFFFFFFFFFFF; } - break; - } - case MON_DATA_OT_NAME: - for (int i = 0; i < NELEMS(monDataBlockD->otName); i++) { - monDataBlockD->otName[i] = u16Value[i]; + for (i = 0; i < TRAINER_NAME_LEN + 1; i++) { + blockD->otName[i] = VALUE(u16); + value = (void *)((char *)value + 2); } break; - case MON_DATA_OT_NAME_STRING: - String_ToChars(value, monDataBlockD->otName, NELEMS(monDataBlockD->otName)); + String_ToChars(value, blockD->otName, TRAINER_NAME_LEN + 1); break; - case MON_DATA_EGG_YEAR: - monDataBlockD->eggYear = *u8Value; + blockD->eggYear = VALUE(u8); break; - case MON_DATA_EGG_MONTH: - monDataBlockD->eggMonth = *u8Value; + blockD->eggMonth = VALUE(u8); break; - case MON_DATA_EGG_DAY: - monDataBlockD->eggDay = *u8Value; + blockD->eggDay = VALUE(u8); break; - case MON_DATA_MET_YEAR: - monDataBlockD->metYear = *u8Value; + blockD->metYear = VALUE(u8); break; - case MON_DATA_MET_MONTH: - monDataBlockD->metMonth = *u8Value; + blockD->metMonth = VALUE(u8); break; - case MON_DATA_MET_DAY: - monDataBlockD->metDay = *u8Value; + blockD->metDay = VALUE(u8); break; - case MON_DATA_EGG_LOCATION: case MON_DATA_EGG_LOCATION_PTHGSS: - if (*u16Value == 0 || sub_0201708C(*u16Value) == TRUE) { - monDataBlockD->EggLocation_DP = *u16Value; - monDataBlockB->EggLocation_PtHGSS = *u16Value; + if (VALUE(u16) == 0 || sub_0201708C(VALUE(u16)) == TRUE) { + blockD->EggLocation_DP = VALUE(u16); + blockB->EggLocation_PtHGSS = VALUE(u16); } else { - monDataBlockD->EggLocation_DP = FATEFUL_ENCOUNTER_LOCATION; - monDataBlockB->EggLocation_PtHGSS = *u16Value; + blockD->EggLocation_DP = FATEFUL_ENCOUNTER_LOCATION; + blockB->EggLocation_PtHGSS = VALUE(u16); } break; - case MON_DATA_MET_LOCATION: case MON_DATA_MET_LOCATION_PTHGSS: - if (*u16Value == 0 || sub_0201708C(*u16Value) == TRUE) { - monDataBlockD->MetLocation_DP = *u16Value; - monDataBlockB->MetLocation_PtHGSS = *u16Value; + if (VALUE(u16) == 0 || sub_0201708C(VALUE(u16)) == TRUE) { + blockD->MetLocation_DP = VALUE(u16); + blockB->MetLocation_PtHGSS = VALUE(u16); } else { - monDataBlockD->MetLocation_DP = FATEFUL_ENCOUNTER_LOCATION; - monDataBlockB->MetLocation_PtHGSS = *u16Value; + blockD->MetLocation_DP = FATEFUL_ENCOUNTER_LOCATION; + blockB->MetLocation_PtHGSS = VALUE(u16); } break; - case MON_DATA_POKERUS: - monDataBlockD->pokerus = *u8Value; + blockD->pokerus = VALUE(u8); break; - case MON_DATA_POKEBALL: - monDataBlockD->pokeball = *u8Value; + blockD->pokeball = VALUE(u8); break; - case MON_DATA_MET_LEVEL: - monDataBlockD->metLevel = *u8Value; + blockD->metLevel = VALUE(u8); break; - case MON_DATA_OT_GENDER: - monDataBlockD->otGender = *u8Value; + blockD->otGender = VALUE(u8); break; - case MON_DATA_MET_TERRAIN: - monDataBlockD->metTerrain = *u8Value; + blockD->metTerrain = VALUE(u8); break; - case MON_DATA_UNUSED_159: - monDataBlockD->unused = *u16Value; + blockD->unused = VALUE(u16); break; - case MON_DATA_COMBINED_IVS: - monDataBlockB->hpIV = (*u32Value >> 0) & 0x1F; - monDataBlockB->atkIV = (*u32Value >> 5) & 0x1F; - monDataBlockB->defIV = (*u32Value >> 10) & 0x1F; - monDataBlockB->speedIV = (*u32Value >> 15) & 0x1F; - monDataBlockB->spAtkIV = (*u32Value >> 20) & 0x1F; - monDataBlockB->spDefIV = (*u32Value >> 25) & 0x1F; + blockB->hpIV = (VALUE(u32) >> 0) & 0x1F; + blockB->atkIV = (VALUE(u32) >> 5) & 0x1F; + blockB->defIV = (VALUE(u32) >> 10) & 0x1F; + blockB->speedIV = (VALUE(u32) >> 15) & 0x1F; + blockB->spAtkIV = (VALUE(u32) >> 20) & 0x1F; + blockB->spDefIV = (VALUE(u32) >> 25) & 0x1F; + break; + case MON_DATA_SPECIES_NAME: + String *speciesName = MessageUtil_SpeciesName(blockA->species, HEAP_ID_SYSTEM); + String_ToChars(speciesName, blockC->nickname, MON_NAME_LEN + 1); + String_Free(speciesName); break; - case MON_DATA_NO_PRINT_GENDER: case MON_DATA_TYPE_1: case MON_DATA_TYPE_2: break; - - case MON_DATA_SPECIES_NAME: { - String *string = MessageUtil_SpeciesName(monDataBlockA->species, HEAP_ID_SYSTEM); - - String_ToChars(string, monDataBlockC->nickname, NELEMS(monDataBlockC->nickname)); - String_Free(string); - - break; - } } +#undef VALUE } -void Pokemon_IncreaseValue(Pokemon *mon, enum PokemonDataParam param, int value) +void Pokemon_IncreaseData(Pokemon *mon, enum PokemonDataParam param, int value) { - if (mon->box.partyDecrypted == FALSE) { - Pokemon_DecryptData(&mon->party, sizeof(PartyPokemon), mon->box.personality); - Pokemon_DecryptData(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4, mon->box.checksum); - - u16 checksum = Pokemon_GetDataChecksum(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4); - + u32 checksum; + if (!mon->box.partyDecrypted) { + DECRYPT_PARTY(mon); + DECRYPT_BOX(&mon->box); + checksum = CHECKSUM(&mon->box); if (checksum != mon->box.checksum) { GF_ASSERT(checksum == mon->box.checksum); - Pokemon_EncryptData(mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4, mon->box.checksum); + ENCRYPT_BOX(&mon->box); return; } } - Pokemon_IncreaseDataInternal(mon, param, value); - - if (mon->box.partyDecrypted == FALSE) { - Pokemon_EncryptData(&mon->party, sizeof(PartyPokemon), mon->box.personality); - mon->box.checksum = Pokemon_GetDataChecksum(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4); - Pokemon_EncryptData(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4, mon->box.checksum); + if (!mon->box.partyDecrypted) { + ENCRYPT_PARTY(mon); + mon->box.checksum = CHECKSUM(&mon->box); + ENCRYPT_BOX(&mon->box); } } @@ -1826,124 +1436,118 @@ static void Pokemon_IncreaseDataInternal(Pokemon *mon, enum PokemonDataParam par case MON_DATA_SP_ATK: case MON_DATA_SP_DEF: case MON_DATA_MAIL: - GF_ASSERT(0); + GF_ASSERT(FALSE); break; default: - BoxPokemon_IncreaseDataInternal(&mon->box, param, value); + BoxPokemon_AddDataInternal(&mon->box, param, value); break; } } -static void BoxPokemon_IncreaseDataInternal(BoxPokemon *boxMon, enum PokemonDataParam param, int value) +static void BoxPokemon_AddDataInternal(BoxPokemon *boxMon, enum PokemonDataParam param, int value) { - PokemonDataBlockA *monDataBlockA = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_A); - PokemonDataBlockB *monDataBlockB = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_B); - PokemonDataBlockC *monDataBlockC = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_C); - PokemonDataBlockD *monDataBlockD = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_D); + PokemonDataBlockA *blockA = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_A); + PokemonDataBlockB *blockB = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_B); + PokemonDataBlockC *blockC = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_C); + PokemonDataBlockD *blockD = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_D); switch (param) { case MON_DATA_EXPERIENCE: - if (monDataBlockA->exp + value > Pokemon_GetSpeciesBaseExpAt(monDataBlockA->species, MAX_POKEMON_LEVEL)) { - monDataBlockA->exp = Pokemon_GetSpeciesBaseExpAt(monDataBlockA->species, MAX_POKEMON_LEVEL); + if (blockA->exp + value > Species_GetExpAtLevel(blockA->species, MAX_MON_LEVEL)) { + blockA->exp = Species_GetExpAtLevel(blockA->species, MAX_MON_LEVEL); } else { - monDataBlockA->exp += value; + blockA->exp += value; } break; case MON_DATA_FRIENDSHIP: - int newValue; - - newValue = monDataBlockA->friendship; - - if (newValue + value > MAX_FRIENDSHIP_VALUE) { - newValue = MAX_FRIENDSHIP_VALUE; + int friendship = blockA->friendship; + if (friendship + value > MAX_FRIENDSHIP) { + friendship = MAX_FRIENDSHIP; } - - if (newValue + value < 0) { - newValue = 0; - } else { - newValue += value; + friendship += value; + if (friendship < 0) { + friendship = 0; } - - monDataBlockA->friendship = newValue; + blockA->friendship = friendship; break; case MON_DATA_HP_EV: - monDataBlockA->hpEV += value; + blockA->hpEV += value; break; case MON_DATA_ATK_EV: - monDataBlockA->atkEV += value; + blockA->atkEV += value; break; case MON_DATA_DEF_EV: - monDataBlockA->defEV += value; + blockA->defEV += value; break; case MON_DATA_SPEED_EV: - monDataBlockA->speedEV += value; + blockA->speedEV += value; break; case MON_DATA_SPATK_EV: - monDataBlockA->spAtkEV += value; + blockA->spAtkEV += value; break; case MON_DATA_SPDEF_EV: - monDataBlockA->spDefEV += value; + blockA->spDefEV += value; break; case MON_DATA_COOL: - if (monDataBlockA->cool + value > MAX_CONTEST_STAT) { - monDataBlockA->cool = MAX_CONTEST_STAT; + if (blockA->cool + value > MAX_CONTEST_STAT) { + blockA->cool = MAX_CONTEST_STAT; } else { - monDataBlockA->cool += value; + blockA->cool += value; } break; case MON_DATA_BEAUTY: - if (monDataBlockA->beauty + value > MAX_CONTEST_STAT) { - monDataBlockA->beauty = MAX_CONTEST_STAT; + if (blockA->beauty + value > MAX_CONTEST_STAT) { + blockA->beauty = MAX_CONTEST_STAT; } else { - monDataBlockA->beauty += value; + blockA->beauty += value; } break; case MON_DATA_CUTE: - if (monDataBlockA->cute + value > MAX_CONTEST_STAT) { - monDataBlockA->cute = MAX_CONTEST_STAT; + if (blockA->cute + value > MAX_CONTEST_STAT) { + blockA->cute = MAX_CONTEST_STAT; } else { - monDataBlockA->cute += value; + blockA->cute += value; } break; case MON_DATA_SMART: - if (monDataBlockA->smart + value > MAX_CONTEST_STAT) { - monDataBlockA->smart = MAX_CONTEST_STAT; + if (blockA->smart + value > MAX_CONTEST_STAT) { + blockA->smart = MAX_CONTEST_STAT; } else { - monDataBlockA->smart += value; + blockA->smart += value; } break; case MON_DATA_TOUGH: - if (monDataBlockA->tough + value > MAX_CONTEST_STAT) { - monDataBlockA->tough = MAX_CONTEST_STAT; + if (blockA->tough + value > MAX_CONTEST_STAT) { + blockA->tough = MAX_CONTEST_STAT; } else { - monDataBlockA->tough += value; + blockA->tough += value; } break; case MON_DATA_SHEEN: - if (monDataBlockA->sheen + value > MAX_POKEMON_SHEEN) { - monDataBlockA->sheen = MAX_POKEMON_SHEEN; + if (blockA->sheen + value > MAX_POKEMON_SHEEN) { + blockA->sheen = MAX_POKEMON_SHEEN; } else { - monDataBlockA->sheen += value; + blockA->sheen += value; } break; case MON_DATA_MOVE1_PP: case MON_DATA_MOVE2_PP: case MON_DATA_MOVE3_PP: case MON_DATA_MOVE4_PP: - if (monDataBlockB->moveCurrentPPs[param - MON_DATA_MOVE1_PP] + value > MoveTable_CalcMaxPP(monDataBlockB->moves[param - MON_DATA_MOVE1_PP], monDataBlockB->movePPUps[param - MON_DATA_MOVE1_PP])) { - monDataBlockB->moveCurrentPPs[param - MON_DATA_MOVE1_PP] = MoveTable_CalcMaxPP(monDataBlockB->moves[param - MON_DATA_MOVE1_PP], monDataBlockB->movePPUps[param - MON_DATA_MOVE1_PP]); + if (blockB->moveCurrentPPs[param - MON_DATA_MOVE1_PP] + value > MoveTable_CalcMaxPP(blockB->moves[param - MON_DATA_MOVE1_PP], blockB->movePPUps[param - MON_DATA_MOVE1_PP])) { + blockB->moveCurrentPPs[param - MON_DATA_MOVE1_PP] = MoveTable_CalcMaxPP(blockB->moves[param - MON_DATA_MOVE1_PP], blockB->movePPUps[param - MON_DATA_MOVE1_PP]); } else { - monDataBlockB->moveCurrentPPs[param - MON_DATA_MOVE1_PP] += value; + blockB->moveCurrentPPs[param - MON_DATA_MOVE1_PP] += value; } break; case MON_DATA_MOVE1_PP_UPS: case MON_DATA_MOVE2_PP_UPS: case MON_DATA_MOVE3_PP_UPS: case MON_DATA_MOVE4_PP_UPS: - if (monDataBlockB->movePPUps[param - MON_DATA_MOVE1_PP_UPS] + value > MAX_PP_UP_BONUSES) { - monDataBlockB->movePPUps[param - MON_DATA_MOVE1_PP_UPS] = MAX_PP_UP_BONUSES; + if (blockB->movePPUps[param - MON_DATA_MOVE1_PP_UPS] + value > MAX_PP_UP_BONUSES) { + blockB->movePPUps[param - MON_DATA_MOVE1_PP_UPS] = MAX_PP_UP_BONUSES; } else { - monDataBlockB->movePPUps[param - MON_DATA_MOVE1_PP_UPS] += value; + blockB->movePPUps[param - MON_DATA_MOVE1_PP_UPS] += value; } break; case MON_DATA_MOVE1_MAX_PP: @@ -1952,50 +1556,51 @@ static void BoxPokemon_IncreaseDataInternal(BoxPokemon *boxMon, enum PokemonData case MON_DATA_MOVE4_MAX_PP: break; case MON_DATA_HP_IV: - if (monDataBlockB->hpIV + value > MAX_IVS_SINGLE_STAT) { - monDataBlockB->hpIV = MAX_IVS_SINGLE_STAT; + if (blockB->hpIV + value > MAX_IVS_SINGLE_STAT) { + blockB->hpIV = MAX_IVS_SINGLE_STAT; } else { - monDataBlockB->hpIV += value; + blockB->hpIV += value; } break; case MON_DATA_ATK_IV: - if (monDataBlockB->atkIV + value > MAX_IVS_SINGLE_STAT) { - monDataBlockB->atkIV = MAX_IVS_SINGLE_STAT; + if (blockB->atkIV + value > MAX_IVS_SINGLE_STAT) { + blockB->atkIV = MAX_IVS_SINGLE_STAT; } else { - monDataBlockB->atkIV += value; + blockB->atkIV += value; } break; case MON_DATA_DEF_IV: - if (monDataBlockB->defIV + value > MAX_IVS_SINGLE_STAT) { - monDataBlockB->defIV = MAX_IVS_SINGLE_STAT; + if (blockB->defIV + value > MAX_IVS_SINGLE_STAT) { + blockB->defIV = MAX_IVS_SINGLE_STAT; } else { - monDataBlockB->defIV += value; + blockB->defIV += value; } break; case MON_DATA_SPEED_IV: - if (monDataBlockB->speedIV + value > MAX_IVS_SINGLE_STAT) { - monDataBlockB->speedIV = MAX_IVS_SINGLE_STAT; + if (blockB->speedIV + value > MAX_IVS_SINGLE_STAT) { + blockB->speedIV = MAX_IVS_SINGLE_STAT; } else { - monDataBlockB->speedIV += value; + blockB->speedIV += value; } break; case MON_DATA_SPATK_IV: - if (monDataBlockB->spAtkIV + value > MAX_IVS_SINGLE_STAT) { - monDataBlockB->spAtkIV = MAX_IVS_SINGLE_STAT; + if (blockB->spAtkIV + value > MAX_IVS_SINGLE_STAT) { + blockB->spAtkIV = MAX_IVS_SINGLE_STAT; } else { - monDataBlockB->spAtkIV += value; + blockB->spAtkIV += value; } break; case MON_DATA_SPDEF_IV: - if (monDataBlockB->spDefIV + value > MAX_IVS_SINGLE_STAT) { - monDataBlockB->spDefIV = MAX_IVS_SINGLE_STAT; + if (blockB->spDefIV + value > MAX_IVS_SINGLE_STAT) { + blockB->spDefIV = MAX_IVS_SINGLE_STAT; } else { - monDataBlockB->spDefIV += value; + blockB->spDefIV += value; } break; case MON_DATA_PERSONALITY: case MON_DATA_IS_PARTY_DECRYPTED: case MON_DATA_IS_BOX_DECRYPTED: + case MON_DATA_CHECKSUM_FAILED: case MON_DATA_CHECKSUM: case MON_DATA_SPECIES: case MON_DATA_HELD_ITEM: @@ -2076,6 +1681,7 @@ static void BoxPokemon_IncreaseDataInternal(BoxPokemon *boxMon, enum PokemonData case MON_DATA_UNUSED_113: case MON_DATA_UNUSED_114: case MON_DATA_NICKNAME: + case MON_DATA_NICKNAME_AND_FLAG: case MON_DATA_NICKNAME_STRING: case MON_DATA_NICKNAME_STRING_AND_FLAG: case MON_DATA_UNUSED_121: @@ -2117,271 +1723,268 @@ static void BoxPokemon_IncreaseDataInternal(BoxPokemon *boxMon, enum PokemonData case MON_DATA_OT_GENDER: case MON_DATA_MET_TERRAIN: case MON_DATA_UNUSED_159: + case MON_DATA_STATUS: + case MON_DATA_LEVEL: + case MON_DATA_BALL_CAPSULE_ID: + case MON_DATA_HP: + case MON_DATA_MAX_HP: + case MON_DATA_ATK: + case MON_DATA_DEF: + case MON_DATA_SPEED: + case MON_DATA_SP_ATK: + case MON_DATA_SP_DEF: + case MON_DATA_MAIL: + case MON_DATA_BALL_CAPSULE: + case MON_DATA_SPECIES_EXISTS: + case MON_DATA_SANITY_IS_EGG: + case MON_DATA_SPECIES_OR_EGG: case MON_DATA_COMBINED_IVS: case MON_DATA_NO_PRINT_GENDER: case MON_DATA_TYPE_1: case MON_DATA_TYPE_2: case MON_DATA_SPECIES_NAME: default: - GF_ASSERT(0); + GF_ASSERT(FALSE); break; } } -SpeciesData *SpeciesData_FromMonForm(int monSpecies, int monForm, int heapID) +SpeciesData *SpeciesData_NewFromForm(int species, int form, enum HeapID heapID) { SpeciesData *speciesData = Heap_Alloc(heapID, sizeof(SpeciesData)); - SpeciesData_LoadForm(monSpecies, monForm, speciesData); - + SpeciesData_LoadForm(species, form, speciesData); return speciesData; } -SpeciesData *SpeciesData_FromMonSpecies(int monSpecies, int heapID) +SpeciesData *SpeciesData_NewFromSpecies(int species, enum HeapID heapID) { SpeciesData *speciesData = Heap_Alloc(heapID, sizeof(SpeciesData)); - SpeciesData_LoadSpecies(monSpecies, speciesData); - + SpeciesData_LoadSpecies(species, speciesData); return speciesData; } -u32 SpeciesData_GetValue(SpeciesData *speciesData, enum SpeciesDataParam param) +int SpeciesData_GetValue(SpeciesData *speciesData, enum SpeciesDataParam param) { - u32 result; - - GF_ASSERT(speciesData); - + u32 ret; + GF_ASSERT(speciesData != NULL); switch (param) { case SPECIES_DATA_BASE_HP: - result = speciesData->baseStats.hp; + ret = speciesData->baseStats.hp; break; case SPECIES_DATA_BASE_ATK: - result = speciesData->baseStats.attack; + ret = speciesData->baseStats.attack; break; case SPECIES_DATA_BASE_DEF: - result = speciesData->baseStats.defense; + ret = speciesData->baseStats.defense; break; case SPECIES_DATA_BASE_SPEED: - result = speciesData->baseStats.speed; + ret = speciesData->baseStats.speed; break; case SPECIES_DATA_BASE_SP_ATK: - result = speciesData->baseStats.spAttack; + ret = speciesData->baseStats.spAttack; break; case SPECIES_DATA_BASE_SP_DEF: - result = speciesData->baseStats.spDefense; + ret = speciesData->baseStats.spDefense; break; case SPECIES_DATA_TYPE_1: - result = speciesData->types[0]; + ret = speciesData->types[0]; break; case SPECIES_DATA_TYPE_2: - result = speciesData->types[1]; + ret = speciesData->types[1]; break; case SPECIES_DATA_CATCH_RATE: - result = speciesData->catchRate; + ret = speciesData->catchRate; break; - case SPECIES_DATA_BASE_EXP_REWARD: - result = speciesData->baseExpReward; + case SPECIES_DATA_EXP_YIELD: + ret = speciesData->baseExpReward; break; case SPECIES_DATA_EV_HP_YIELD: - result = speciesData->evYields.hp; + ret = speciesData->evYields.hp; break; case SPECIES_DATA_EV_ATK_YIELD: - result = speciesData->evYields.attack; + ret = speciesData->evYields.attack; break; case SPECIES_DATA_EV_DEF_YIELD: - result = speciesData->evYields.defense; + ret = speciesData->evYields.defense; break; case SPECIES_DATA_EV_SPEED_YIELD: - result = speciesData->evYields.speed; + ret = speciesData->evYields.speed; break; case SPECIES_DATA_EV_SP_ATK_YIELD: - result = speciesData->evYields.spAttack; + ret = speciesData->evYields.spAttack; break; case SPECIES_DATA_EV_SP_DEF_YIELD: - result = speciesData->evYields.spDefense; + ret = speciesData->evYields.spDefense; break; case SPECIES_DATA_HELD_ITEM_COMMON: - result = speciesData->wildHeldItems.common; + ret = speciesData->wildHeldItems.common; break; case SPECIES_DATA_HELD_ITEM_RARE: - result = speciesData->wildHeldItems.rare; + ret = speciesData->wildHeldItems.rare; break; case SPECIES_DATA_GENDER_RATIO: - result = speciesData->genderRatio; + ret = speciesData->genderRatio; break; - case SPECIES_DATA_HATCH_CYCLES: - result = speciesData->hatchCycles; + case SPECIES_DATA_EGG_CYCLES: + ret = speciesData->hatchCycles; break; case SPECIES_DATA_BASE_FRIENDSHIP: - result = speciesData->baseFriendship; + ret = speciesData->baseFriendship; break; case SPECIES_DATA_EXP_RATE: - result = speciesData->expRate; + ret = speciesData->expRate; break; case SPECIES_DATA_EGG_GROUP_1: - result = speciesData->eggGroups[0]; + ret = speciesData->eggGroups[0]; break; case SPECIES_DATA_EGG_GROUP_2: - result = speciesData->eggGroups[1]; + ret = speciesData->eggGroups[1]; break; case SPECIES_DATA_ABILITY_1: - result = speciesData->abilities[0]; + ret = speciesData->abilities[0]; break; case SPECIES_DATA_ABILITY_2: - result = speciesData->abilities[1]; + ret = speciesData->abilities[1]; break; case SPECIES_DATA_SAFARI_FLEE_RATE: - result = speciesData->safariFleeRate; + ret = speciesData->safariFleeRate; break; case SPECIES_DATA_BODY_COLOR: - result = speciesData->bodyColor; + ret = speciesData->bodyColor; break; case SPECIES_DATA_FLIP_SPRITE: - result = speciesData->flipSprite; + ret = speciesData->flipSprite; break; case SPECIES_DATA_TM_LEARNSET_MASK_1: - result = speciesData->tmLearnsetMasks[0]; + ret = speciesData->tmLearnsetMasks[0]; break; case SPECIES_DATA_TM_LEARNSET_MASK_2: - result = speciesData->tmLearnsetMasks[1]; + ret = speciesData->tmLearnsetMasks[1]; break; case SPECIES_DATA_TM_LEARNSET_MASK_3: - result = speciesData->tmLearnsetMasks[2]; + ret = speciesData->tmLearnsetMasks[2]; break; case SPECIES_DATA_TM_LEARNSET_MASK_4: - result = speciesData->tmLearnsetMasks[3]; + ret = speciesData->tmLearnsetMasks[3]; break; } - - return result; + return ret; } void SpeciesData_Free(SpeciesData *speciesData) { - GF_ASSERT(speciesData); + GF_ASSERT(speciesData != NULL); Heap_Free(speciesData); } -u32 SpeciesData_GetFormValue(int monSpecies, int monForm, enum SpeciesDataParam param) +u32 Species_GetFormValue(int species, int form, enum SpeciesDataParam param) { - monSpecies = Pokemon_GetFormNarcIndex(monSpecies, monForm); - - SpeciesData *speciesData = SpeciesData_FromMonSpecies(monSpecies, HEAP_ID_SYSTEM); + SpeciesData *speciesData = SpeciesData_NewFromSpecies(Species_GetFormNarcIndex(species, form), HEAP_ID_SYSTEM); u32 result = SpeciesData_GetValue(speciesData, param); - SpeciesData_Free(speciesData); - return result; } -u32 SpeciesData_GetSpeciesValue(int monSpecies, enum SpeciesDataParam param) +int Species_GetValue(int species, enum SpeciesDataParam param) { - SpeciesData *speciesData = SpeciesData_FromMonSpecies(monSpecies, HEAP_ID_SYSTEM); - u32 result = SpeciesData_GetValue(speciesData, param); - + SpeciesData *speciesData = SpeciesData_NewFromSpecies(species, HEAP_ID_SYSTEM); + int result = SpeciesData_GetValue(speciesData, param); SpeciesData_Free(speciesData); - return result; } -u8 Pokemon_GetPercentToNextLevel(Pokemon *mon) +u8 Pokemon_CalcPercentToNextLevel(Pokemon *mon) { - BOOL recrypt = Pokemon_EnterDecryptionContext(mon); - u16 monSpecies = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - u8 monLevel = Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL); - u32 monCurrentLevelExp = Pokemon_GetSpeciesBaseExpAt(monSpecies, monLevel); - u32 monNextLevelExp = Pokemon_GetSpeciesBaseExpAt(monSpecies, monLevel + 1); - u32 monExp = Pokemon_GetValue(mon, MON_DATA_EXPERIENCE, NULL); + BOOL recrypt = Pokemon_DecryptData(mon); + u16 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + u8 level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); + u32 curLevelExp = Species_GetExpAtLevel(species, level); + u32 nextLevelExp = Species_GetExpAtLevel(species, level + 1); + u32 curExp = Pokemon_GetData(mon, MON_DATA_EXPERIENCE, NULL); - Pokemon_ExitDecryptionContext(mon, recrypt); - u8 monPercentToNextLevel = ((monExp - monCurrentLevelExp) * 100) / (monNextLevelExp - monCurrentLevelExp); + Pokemon_EncryptData(mon, recrypt); + u8 percent = ((curExp - curLevelExp) * 100) / (nextLevelExp - curLevelExp); - return monPercentToNextLevel; + return percent; } -u32 Pokemon_GetExpToNextLevel(Pokemon *mon) +u32 Pokemon_CalcExpToNextLevel(Pokemon *mon) { - return BoxPokemon_GetExpToNextLevel(&mon->box); + return BoxPokemon_CalcExpToNextLevel(&mon->box); } -static u32 BoxPokemon_GetExpToNextLevel(BoxPokemon *boxMon) +static u32 BoxPokemon_CalcExpToNextLevel(BoxPokemon *boxMon) { - u16 monSpecies = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); - u16 monNextlevel = BoxPokemon_GetLevel(boxMon) + 1; - u32 monExp = BoxPokemon_GetValue(boxMon, MON_DATA_EXPERIENCE, NULL); - - return Pokemon_GetSpeciesBaseExpAt(monSpecies, monNextlevel) - monExp; + u16 species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); + u16 nextLevel = BoxPokemon_CalcLevel(boxMon) + 1; + u32 exp = BoxPokemon_GetData(boxMon, MON_DATA_EXPERIENCE, NULL); + return Species_GetExpAtLevel(species, nextLevel) - exp; } u32 Pokemon_GetCurrentLevelBaseExp(Pokemon *mon) { - return Pokemon_GetSpeciesBaseExpAt(Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL), Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL)); + int species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + int level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); + return Species_GetExpAtLevel(species, level); } -u32 Pokemon_GetSpeciesBaseExpAt(int monSpecies, int monLevel) +u32 Species_GetExpAtLevel(int species, int level) { - return Pokemon_GetExpRateBaseExpAt(SpeciesData_GetSpeciesValue(monSpecies, SPECIES_DATA_EXP_RATE), monLevel); + return ExpRate_GetExpAtLevel(Species_GetValue(species, SPECIES_DATA_EXP_RATE), level); } -static void Pokemon_LoadExperienceTableOf(enum ExpRate monExpRate, u32 *monExpTable) +static void ExpRate_LoadTable(enum ExpRate rate, u32 *dest) { - GF_ASSERT(monExpRate < EXP_RATE_COUNT); - NARC_ReadWholeMemberByIndexPair(monExpTable, NARC_INDEX_POKETOOL__PERSONAL__PL_GROWTBL, monExpRate); + GF_ASSERT(rate < EXP_RATE_COUNT); + NARC_ReadWholeMemberByIndexPair(dest, NARC_INDEX_POKETOOL__PERSONAL__PL_GROWTBL, rate); } -static u32 Pokemon_GetExpRateBaseExpAt(enum ExpRate monExpRate, int monLevel) +static u32 ExpRate_GetExpAtLevel(enum ExpRate rate, int level) { - GF_ASSERT(monExpRate < EXP_RATE_COUNT); - GF_ASSERT(monLevel <= MAX_POKEMON_LEVEL + 1); + GF_ASSERT(rate < EXP_RATE_COUNT); + GF_ASSERT(level <= MAX_MON_LEVEL + 1); - u32 *expTable = Heap_Alloc(HEAP_ID_SYSTEM, (MAX_POKEMON_LEVEL + 1) * 4); - Pokemon_LoadExperienceTableOf(monExpRate, expTable); + u32 *expTable = Heap_Alloc(HEAP_ID_SYSTEM, (MAX_MON_LEVEL + 1) * 4); + ExpRate_LoadTable(rate, expTable); - u32 result = expTable[monLevel]; + u32 ret = expTable[level]; Heap_Free(expTable); - return result; + return ret; } -u32 Pokemon_GetLevel(Pokemon *mon) +int Pokemon_CalcLevel(Pokemon *mon) { - return BoxPokemon_GetLevel(&mon->box); + return BoxPokemon_CalcLevel(&mon->box); } -u32 BoxPokemon_GetLevel(BoxPokemon *boxMon) +int BoxPokemon_CalcLevel(BoxPokemon *boxMon) { - BOOL reencrypt = BoxPokemon_EnterDecryptionContext(boxMon); - int monSpecies = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); - u32 monExp = BoxPokemon_GetValue(boxMon, MON_DATA_EXPERIENCE, NULL); - - BoxPokemon_ExitDecryptionContext(boxMon, reencrypt); - - return Pokemon_GetSpeciesLevelAt(monSpecies, monExp); + BOOL reencrypt = BoxPokemon_DecryptData(boxMon); + int species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); + int exp = BoxPokemon_GetData(boxMon, MON_DATA_EXPERIENCE, NULL); + BoxPokemon_EncryptData(boxMon, reencrypt); + return Species_CalcLevelByExp(species, exp); } -u32 Pokemon_GetSpeciesLevelAt(u16 monSpecies, u32 monExp) +int Species_CalcLevelByExp(u16 species, u32 exp) { - SpeciesData *speciesData = SpeciesData_FromMonSpecies(monSpecies, HEAP_ID_SYSTEM); - - u32 monLevel = SpeciesData_GetLevelAt(speciesData, monSpecies, monExp); + SpeciesData *speciesData = SpeciesData_NewFromSpecies(species, HEAP_ID_SYSTEM); + int level = SpeciesData_CalcLevelByExp(speciesData, species, exp); SpeciesData_Free(speciesData); - - return monLevel; + return level; } -u32 SpeciesData_GetLevelAt(SpeciesData *speciesData, u16 unused_monSpecies, u32 monExp) +int SpeciesData_CalcLevelByExp(SpeciesData *speciesData, u16 unused_species, u32 exp) { - static u32 monExpTable[MAX_POKEMON_LEVEL + 1]; - - enum ExpRate monExpRate = SpeciesData_GetValue(speciesData, SPECIES_DATA_EXP_RATE); - Pokemon_LoadExperienceTableOf(monExpRate, monExpTable); - + static u32 table[MAX_MON_LEVEL + 1]; + ExpRate_LoadTable(SpeciesData_GetValue(speciesData, SPECIES_DATA_EXP_RATE), table); int i; - for (i = 1; i < MAX_POKEMON_LEVEL + 1; i++) { - if (monExpTable[i] > monExp) { + for (i = 1; i < MAX_MON_LEVEL + 1; i++) { + if (table[i] > exp) { break; } } - return i - 1; } @@ -2392,293 +1995,142 @@ u8 Pokemon_GetNature(Pokemon *mon) u8 BoxPokemon_GetNature(BoxPokemon *boxMon) { - BOOL reencrypt = BoxPokemon_EnterDecryptionContext(boxMon); - u32 monPersonality = BoxPokemon_GetValue(boxMon, MON_DATA_PERSONALITY, NULL); - - BoxPokemon_ExitDecryptionContext(boxMon, reencrypt); - - return Pokemon_GetNatureOf(monPersonality); -} - -u8 Pokemon_GetNatureOf(u32 monPersonality) -{ - return (u8)(monPersonality % NATURE_COUNT); -} - -static const s8 sNatureStatAffinities[][5] = { - [NATURE_HARDY] = { - [STAT_ATTACK - 1] = 0, - [STAT_DEFENSE - 1] = 0, - [STAT_SPEED - 1] = 0, - [STAT_SPECIAL_ATTACK - 1] = 0, - [STAT_SPECIAL_DEFENSE - 1] = 0, - }, - [NATURE_LONELY] = { - [STAT_ATTACK - 1] = 1, - [STAT_DEFENSE - 1] = -1, - [STAT_SPEED - 1] = 0, - [STAT_SPECIAL_ATTACK - 1] = 0, - [STAT_SPECIAL_DEFENSE - 1] = 0, - }, - [NATURE_BRAVE] = { - [STAT_ATTACK - 1] = 1, - [STAT_DEFENSE - 1] = 0, - [STAT_SPEED - 1] = -1, - [STAT_SPECIAL_ATTACK - 1] = 0, - [STAT_SPECIAL_DEFENSE - 1] = 0, - }, - [NATURE_ADAMANT] = { - [STAT_ATTACK - 1] = 1, - [STAT_DEFENSE - 1] = 0, - [STAT_SPEED - 1] = 0, - [STAT_SPECIAL_ATTACK - 1] = -1, - [STAT_SPECIAL_DEFENSE - 1] = 0, - }, - [NATURE_NAUGHTY] = { - [STAT_ATTACK - 1] = 1, - [STAT_DEFENSE - 1] = 0, - [STAT_SPEED - 1] = 0, - [STAT_SPECIAL_ATTACK - 1] = 0, - [STAT_SPECIAL_DEFENSE - 1] = -1, - }, - [NATURE_BOLD] = { - [STAT_ATTACK - 1] = -1, - [STAT_DEFENSE - 1] = 1, - [STAT_SPEED - 1] = 0, - [STAT_SPECIAL_ATTACK - 1] = 0, - [STAT_SPECIAL_DEFENSE - 1] = 0, - }, - [NATURE_DOCILE] = { - [STAT_ATTACK - 1] = 0, - [STAT_DEFENSE - 1] = 0, - [STAT_SPEED - 1] = 0, - [STAT_SPECIAL_ATTACK - 1] = 0, - [STAT_SPECIAL_DEFENSE - 1] = 0, - }, - [NATURE_RELAXED] = { - [STAT_ATTACK - 1] = 0, - [STAT_DEFENSE - 1] = 1, - [STAT_SPEED - 1] = -1, - [STAT_SPECIAL_ATTACK - 1] = 0, - [STAT_SPECIAL_DEFENSE - 1] = 0, - }, - [NATURE_IMPISH] = { - [STAT_ATTACK - 1] = 0, - [STAT_DEFENSE - 1] = 1, - [STAT_SPEED - 1] = 0, - [STAT_SPECIAL_ATTACK - 1] = -1, - [STAT_SPECIAL_DEFENSE - 1] = 0, - }, - [NATURE_LAX] = { - [STAT_ATTACK - 1] = 0, - [STAT_DEFENSE - 1] = 1, - [STAT_SPEED - 1] = 0, - [STAT_SPECIAL_ATTACK - 1] = 0, - [STAT_SPECIAL_DEFENSE - 1] = -1, - }, - [NATURE_TIMID] = { - [STAT_ATTACK - 1] = -1, - [STAT_DEFENSE - 1] = 0, - [STAT_SPEED - 1] = 1, - [STAT_SPECIAL_ATTACK - 1] = 0, - [STAT_SPECIAL_DEFENSE - 1] = 0, - }, - [NATURE_HASTY] = { - [STAT_ATTACK - 1] = 0, - [STAT_DEFENSE - 1] = -1, - [STAT_SPEED - 1] = 1, - [STAT_SPECIAL_ATTACK - 1] = 0, - [STAT_SPECIAL_DEFENSE - 1] = 0, - }, - [NATURE_SERIOUS] = { - [STAT_ATTACK - 1] = 0, - [STAT_DEFENSE - 1] = 0, - [STAT_SPEED - 1] = 0, - [STAT_SPECIAL_ATTACK - 1] = 0, - [STAT_SPECIAL_DEFENSE - 1] = 0, - }, - [NATURE_JOLLY] = { - [STAT_ATTACK - 1] = 0, - [STAT_DEFENSE - 1] = 0, - [STAT_SPEED - 1] = 1, - [STAT_SPECIAL_ATTACK - 1] = -1, - [STAT_SPECIAL_DEFENSE - 1] = 0, - }, - [NATURE_NAIVE] = { - [STAT_ATTACK - 1] = 0, - [STAT_DEFENSE - 1] = 0, - [STAT_SPEED - 1] = 1, - [STAT_SPECIAL_ATTACK - 1] = 0, - [STAT_SPECIAL_DEFENSE - 1] = -1, - }, - [NATURE_MODEST] = { - [STAT_ATTACK - 1] = -1, - [STAT_DEFENSE - 1] = 0, - [STAT_SPEED - 1] = 0, - [STAT_SPECIAL_ATTACK - 1] = 1, - [STAT_SPECIAL_DEFENSE - 1] = 0, - }, - [NATURE_MILD] = { - [STAT_ATTACK - 1] = 0, - [STAT_DEFENSE - 1] = -1, - [STAT_SPEED - 1] = 0, - [STAT_SPECIAL_ATTACK - 1] = 1, - [STAT_SPECIAL_DEFENSE - 1] = 0, - }, - [NATURE_QUIET] = { - [STAT_ATTACK - 1] = 0, - [STAT_DEFENSE - 1] = 0, - [STAT_SPEED - 1] = -1, - [STAT_SPECIAL_ATTACK - 1] = 1, - [STAT_SPECIAL_DEFENSE - 1] = 0, - }, - [NATURE_BASHFUL] = { - [STAT_ATTACK - 1] = 0, - [STAT_DEFENSE - 1] = 0, - [STAT_SPEED - 1] = 0, - [STAT_SPECIAL_ATTACK - 1] = 0, - [STAT_SPECIAL_DEFENSE - 1] = 0, - }, - [NATURE_RASH] = { - [STAT_ATTACK - 1] = 0, - [STAT_DEFENSE - 1] = 0, - [STAT_SPEED - 1] = 0, - [STAT_SPECIAL_ATTACK - 1] = 1, - [STAT_SPECIAL_DEFENSE - 1] = -1, - }, - [NATURE_CALM] = { - [STAT_ATTACK - 1] = -1, - [STAT_DEFENSE - 1] = 0, - [STAT_SPEED - 1] = 0, - [STAT_SPECIAL_ATTACK - 1] = 0, - [STAT_SPECIAL_DEFENSE - 1] = 1, - }, - [NATURE_GENTLE] = { - [STAT_ATTACK - 1] = 0, - [STAT_DEFENSE - 1] = -1, - [STAT_SPEED - 1] = 0, - [STAT_SPECIAL_ATTACK - 1] = 0, - [STAT_SPECIAL_DEFENSE - 1] = 1, - }, - [NATURE_SASSY] = { - [STAT_ATTACK - 1] = 0, - [STAT_DEFENSE - 1] = 0, - [STAT_SPEED - 1] = -1, - [STAT_SPECIAL_ATTACK - 1] = 0, - [STAT_SPECIAL_DEFENSE - 1] = 1, - }, - [NATURE_CAREFUL] = { - [STAT_ATTACK - 1] = 0, - [STAT_DEFENSE - 1] = 0, - [STAT_SPEED - 1] = 0, - [STAT_SPECIAL_ATTACK - 1] = -1, - [STAT_SPECIAL_DEFENSE - 1] = 1, - }, - [NATURE_QUIRKY] = { - [STAT_ATTACK - 1] = 0, - [STAT_DEFENSE - 1] = 0, - [STAT_SPEED - 1] = 0, - [STAT_SPECIAL_ATTACK - 1] = 0, - [STAT_SPECIAL_DEFENSE - 1] = 0, - } + BOOL reencrypt = BoxPokemon_DecryptData(boxMon); + u32 personality = BoxPokemon_GetData(boxMon, MON_DATA_PERSONALITY, NULL); + BoxPokemon_EncryptData(boxMon, reencrypt); + return Personality_GetNature(personality); +} + +u8 Personality_GetNature(u32 personality) +{ + return (u8)(personality % NATURE_COUNT); +} + +// clang-format off +static const s8 sNatureStatModifiers[NATURE_COUNT][5] = { + // Attack Defense Speed Sp.Atk Sp.Def + [NATURE_HARDY] = { 0, 0, 0, 0, 0 }, + [NATURE_LONELY] = { +1, -1, 0, 0, 0 }, + [NATURE_BRAVE] = { +1, 0, -1, 0, 0 }, + [NATURE_ADAMANT] = { +1, 0, 0, -1, 0 }, + [NATURE_NAUGHTY] = { +1, 0, 0, 0, -1 }, + [NATURE_BOLD] = { -1, +1, 0, 0, 0 }, + [NATURE_DOCILE] = { 0, 0, 0, 0, 0 }, + [NATURE_RELAXED] = { 0, +1, -1, 0, 0 }, + [NATURE_IMPISH] = { 0, +1, 0, -1, 0 }, + [NATURE_LAX] = { 0, +1, 0, 0, -1 }, + [NATURE_TIMID] = { -1, 0, +1, 0, 0 }, + [NATURE_HASTY] = { 0, -1, +1, 0, 0 }, + [NATURE_SERIOUS] = { 0, 0, 0, 0, 0 }, + [NATURE_JOLLY] = { 0, 0, +1, -1, 0 }, + [NATURE_NAIVE] = { 0, 0, +1, 0, -1 }, + [NATURE_MODEST] = { -1, 0, 0, +1, 0 }, + [NATURE_MILD] = { 0, -1, 0, +1, 0 }, + [NATURE_QUIET] = { 0, 0, -1, +1, 0 }, + [NATURE_BASHFUL] = { 0, 0, 0, 0, 0 }, + [NATURE_RASH] = { 0, 0, 0, +1, -1 }, + [NATURE_CALM] = { -1, 0, 0, 0, +1 }, + [NATURE_GENTLE] = { 0, -1, 0, 0, +1 }, + [NATURE_SASSY] = { 0, 0, -1, 0, +1 }, + [NATURE_CAREFUL] = { 0, 0, 0, -1, +1 }, + [NATURE_QUIRKY] = { 0, 0, 0, 0, 0 }, }; +// clang-format on -static u16 Pokemon_GetNatureStatValue(u8 monNature, u16 monStatValue, u8 statType) +static u16 Nature_ModifyStatValue(u8 nature, u16 value, u8 stat) { - if (statType < STAT_ATTACK || statType > STAT_SPECIAL_DEFENSE) { - return monStatValue; + u16 ret; + // Dont modify HP, Accuracy, or Evasion by nature + if (stat < STAT_ATTACK || stat > STAT_SPECIAL_DEFENSE) { + return value; } - u16 result; - switch (sNatureStatAffinities[monNature][statType - 1]) { + switch (sNatureStatModifiers[nature][stat - 1]) { case 1: - result = monStatValue * 110; - result /= 100; + // NOTE: will overflow for n > 595 because the intermediate value is cast to u16 before the division. + ret = value * 110; + ret /= 100; break; case -1: - result = monStatValue * 90; - result /= 100; + // NOTE: will overflow for n > 728, see above + ret = value * 90; + ret /= 100; break; default: - result = monStatValue; + ret = value; break; } - - return result; + return ret; } -s8 Pokemon_GetStatAffinityOf(u8 monNature, u8 statType) +s8 Nature_GetStatModifier(u8 nature, u8 stat) { - return sNatureStatAffinities[monNature][statType - 1]; + return sNatureStatModifiers[nature][stat - 1]; } -static const s8 sFriendshipChangeTable[FRIENDSHIP_EVENT_MAX][3] = { - [FRIENDSHIP_EVENT_LEVEL_UP] = { 5, 3, 2 }, - [FRIENDSHIP_EVENT_UNK_1] = { 5, 3, 2 }, - [FRIENDSHIP_EVENT_UNK_2] = { 1, 1, 0 }, - [FRIENDSHIP_EVENT_BEAT_GYM_LEADER_E4_OR_CHAMPION] = { 3, 2, 1 }, - [FRIENDSHIP_EVENT_LEARN_TMHM] = { 1, 1, 0 }, - [FRIENDSHIP_EVENT_WALK_CYCLE] = { 1, 1, 1 }, - [FRIENDSHIP_EVENT_BATTLE_FAINT] = { -1, -1, -1 }, - [FRIENDSHIP_EVENT_POISON_SURVIVE] = { -5, -5, -10 }, - [FRIENDSHIP_EVENT_BATTLE_FAINT_HIGH_LVL_DIFF] = { -5, -5, -10 }, - [FRIENDSHIP_EVENT_CONTEST_WIN] = { 3, 2, 1 } +// clang-format off +static const s8 sFriendshipModifiers[FRIENDSHIP_EVENT_COUNT][FRIENDSHIP_TIER_NUM] = { + [FRIENDSHIP_EVENT_LEVEL_UP] = { 5, 3, 2 }, + [FRIENDSHIP_EVENT_UNK_1] = { 5, 3, 2 }, + [FRIENDSHIP_EVENT_UNK_2] = { 1, 1, 0 }, + [FRIENDSHIP_EVENT_BEAT_GYM_LEADER_E4_OR_CHAMPION] = { 3, 2, 1 }, + [FRIENDSHIP_EVENT_LEARN_TMHM] = { 1, 1, 0 }, + [FRIENDSHIP_EVENT_WALK_CYCLE] = { 1, 1, 1 }, + [FRIENDSHIP_EVENT_BATTLE_FAINT] = { -1, -1, -1 }, + [FRIENDSHIP_EVENT_POISON_SURVIVE] = { -5, -5, -10 }, + [FRIENDSHIP_EVENT_BATTLE_FAINT_HIGH_LVL_DIFF] = { -5, -5, -10 }, + [FRIENDSHIP_EVENT_CONTEST_WIN] = { 3, 2, 1 }, }; +// clang-format on void Pokemon_UpdateFriendship(Pokemon *mon, u8 friendshipEvent, u16 mapID) { - if (friendshipEvent == FRIENDSHIP_EVENT_WALK_CYCLE) { - if (LCRNG_Next() & 1) { - return; - } + if (friendshipEvent == FRIENDSHIP_EVENT_WALK_CYCLE && (LCRNG_Next() & 1)) { + return; } - u16 monSpeciesEgg = Pokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL); + u16 species = Pokemon_GetData(mon, MON_DATA_SPECIES_OR_EGG, NULL); - if (monSpeciesEgg == SPECIES_NONE || monSpeciesEgg == SPECIES_EGG) { + if (species == SPECIES_NONE || species == SPECIES_EGG) { return; } - u16 monHeldItem = Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL); - u8 itemHoldEffect = Item_LoadParam(monHeldItem, ITEM_PARAM_HOLD_EFFECT, HEAP_ID_SYSTEM); + u16 item = Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL); + u8 holdEffect = Item_LoadParam(item, ITEM_PARAM_HOLD_EFFECT, HEAP_ID_SYSTEM); u8 friendshipTier = 0; - s16 monFriendship = Pokemon_GetValue(mon, MON_DATA_FRIENDSHIP, NULL); + s16 friendship = Pokemon_GetData(mon, MON_DATA_FRIENDSHIP, NULL); - if (monFriendship >= LOW_FRIENDSHIP_LIMIT) { + if (friendship >= LOW_FRIENDSHIP_LIMIT) { friendshipTier++; } - if (monFriendship >= MED_FRIENDSHIP_LIMIT) { + if (friendship >= MED_FRIENDSHIP_LIMIT) { friendshipTier++; } - s8 friendshipChange = sFriendshipChangeTable[friendshipEvent][friendshipTier]; - - if (friendshipChange > 0 && Pokemon_GetValue(mon, MON_DATA_POKEBALL, NULL) == ITEM_LUXURY_BALL) { - friendshipChange++; + s8 modifier = sFriendshipModifiers[friendshipEvent][friendshipTier]; + if (modifier > 0 && Pokemon_GetData(mon, MON_DATA_POKEBALL, NULL) == ITEM_LUXURY_BALL) { + modifier++; } - if (friendshipChange > 0 && Pokemon_GetValue(mon, MON_DATA_EGG_LOCATION, NULL) == mapID) { - friendshipChange++; + if (modifier > 0 && Pokemon_GetData(mon, MON_DATA_EGG_LOCATION, NULL) == mapID) { + modifier++; } - if (friendshipChange > 0) { - if (itemHoldEffect == HOLD_EFFECT_FRIENDSHIP_UP) { - friendshipChange = friendshipChange * 150 / 100; - } + if (modifier > 0 && holdEffect == HOLD_EFFECT_FRIENDSHIP_UP) { + modifier = modifier * 150 / 100; } - monFriendship += friendshipChange; - - if (monFriendship < 0) { - monFriendship = 0; + friendship += modifier; + if (friendship < 0) { + friendship = 0; } - if (monFriendship > MAX_FRIENDSHIP_VALUE) { - monFriendship = MAX_FRIENDSHIP_VALUE; + if (friendship > MAX_FRIENDSHIP) { + friendship = MAX_FRIENDSHIP; } - Pokemon_SetValue(mon, MON_DATA_FRIENDSHIP, &monFriendship); + Pokemon_SetData(mon, MON_DATA_FRIENDSHIP, &friendship); } u8 Pokemon_GetGender(Pokemon *mon) @@ -2688,58 +2140,52 @@ u8 Pokemon_GetGender(Pokemon *mon) u8 BoxPokemon_GetGender(BoxPokemon *boxMon) { - BOOL reencrypt = BoxPokemon_EnterDecryptionContext(boxMon); - u16 monSpecies = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); - u32 monPersonality = BoxPokemon_GetValue(boxMon, MON_DATA_PERSONALITY, NULL); - - BoxPokemon_ExitDecryptionContext(boxMon, reencrypt); - - return Pokemon_GetGenderOf(monSpecies, monPersonality); + BOOL reencrypt = BoxPokemon_DecryptData(boxMon); + u16 species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); + u32 personality = BoxPokemon_GetData(boxMon, MON_DATA_PERSONALITY, NULL); + BoxPokemon_EncryptData(boxMon, reencrypt); + return Species_GetGenderFromPersonality(species, personality); } -u8 Pokemon_GetGenderOf(u16 monSpecies, u32 monPersonality) +u8 Species_GetGenderFromPersonality(u16 species, u32 personality) { - SpeciesData *speciesData = SpeciesData_FromMonSpecies(monSpecies, HEAP_ID_SYSTEM); - u8 monGender = SpeciesData_GetGenderOf(speciesData, monSpecies, monPersonality); - + SpeciesData *speciesData = SpeciesData_NewFromSpecies(species, HEAP_ID_SYSTEM); + u8 gender = SpeciesData_GetGenderFromPersonality(speciesData, species, personality); SpeciesData_Free(speciesData); - - return monGender; + return gender; } -u8 SpeciesData_GetGenderOf(SpeciesData *speciesData, u16 unused_monSpecies, u32 monPersonality) +u8 SpeciesData_GetGenderFromPersonality(SpeciesData *speciesData, u16 unused_species, u32 personality) { - u8 monGender = SpeciesData_GetValue(speciesData, SPECIES_DATA_GENDER_RATIO); - - switch (monGender) { + u8 ratio = SpeciesData_GetValue(speciesData, SPECIES_DATA_GENDER_RATIO); + switch (ratio) { case GENDER_RATIO_MALE_ONLY: return GENDER_MALE; case GENDER_RATIO_FEMALE_ONLY: return GENDER_FEMALE; - case GENDER_RATIO_NO_GENDER: + case GENDER_RATIO_UNKNOWN: return GENDER_NONE; - } - - if (monGender > (monPersonality & 0xff)) { - return GENDER_FEMALE; - } else { - return GENDER_MALE; + default: + if (ratio > (personality & 0xff)) { + return GENDER_FEMALE; + } else { + return GENDER_MALE; + } } } -// TODO return bool +// TODO: bool8? u8 Pokemon_IsShiny(Pokemon *mon) { return BoxPokemon_IsShiny(&mon->box); } -// TODO return bool +// TODO: bool8? static u8 BoxPokemon_IsShiny(BoxPokemon *boxMon) { - u32 monOTID = BoxPokemon_GetValue(boxMon, MON_DATA_OT_ID, NULL); - u32 monPersonality = BoxPokemon_GetValue(boxMon, MON_DATA_PERSONALITY, NULL); - - return Pokemon_IsPersonalityShiny(monOTID, monPersonality); + u32 otID = BoxPokemon_GetData(boxMon, MON_DATA_OT_ID, NULL); + u32 personality = BoxPokemon_GetData(boxMon, MON_DATA_PERSONALITY, NULL); + return Personality_IsShiny(otID, personality); } static inline BOOL Pokemon_InlineIsPersonalityShiny(u32 monOTID, u32 monPersonality) @@ -2747,29 +2193,29 @@ static inline BOOL Pokemon_InlineIsPersonalityShiny(u32 monOTID, u32 monPersonal return (((monOTID & 0xFFFF0000) >> 16) ^ (monOTID & 0xFFFF) ^ ((monPersonality & 0xFFFF0000) >> 16) ^ (monPersonality & 0xFFFF)) < 8; } -u8 Pokemon_IsPersonalityShiny(u32 monOTID, u32 monPersonality) +u8 Personality_IsShiny(u32 otID, u32 personality) { - return Pokemon_InlineIsPersonalityShiny(monOTID, monPersonality); + return Pokemon_InlineIsPersonalityShiny(otID, personality); } -u32 Pokemon_FindShinyPersonality(u32 monOTID) +u32 Personality_GenerateShiny(u32 otID) { // 1. Pre-compute the XOR of the two halves of the trainer ID. We only // care about the most-significant 13 bits, so truncate the last 3. - monOTID = (((monOTID & 0xFFFF0000) >> 16) ^ (monOTID & 0xFFFF)) >> 3; + otID = (((otID & 0xFFFF0000) >> 16) ^ (otID & 0xFFFF)) >> 3u; int i; // 2. Randomize the least-significant 3-bits of each half of the // generated personality. - u16 rndLow = LCRNG_Next() & 0x7; - u16 rndHigh = LCRNG_Next() & 0x7; + u16 rndLow = LCRNG_Next() & 7; + u16 rndHigh = LCRNG_Next() & 7; // 3. For each of the remaining 13 bits, pick some permutation of them // across both halves to be set to 1 such that the XOR of their bits // will XOR with the monOTID to 0. for (i = 0; i < 13; i++) { - if (monOTID & FlagIndex(i)) { + if (FlagIndex(i) & otID) { // Trainer ID XORs to 1; set one of the two personality bits to 1 if (LCRNG_Next() & 1) { rndLow |= FlagIndex(i + 3); @@ -2782,230 +2228,212 @@ u32 Pokemon_FindShinyPersonality(u32 monOTID) rndHigh |= FlagIndex(i + 3); } } - return rndLow | (rndHigh << 16); } -void Pokemon_BuildSpriteTemplate(PokemonSpriteTemplate *spriteTemplate, Pokemon *mon, u8 face) +void Pokemon_BuildSpriteTemplate(PokemonSpriteTemplate *template, Pokemon *mon, u8 face) { - BoxPokemon_BuildSpriteTemplate(spriteTemplate, &mon->box, face, FALSE); + BoxPokemon_BuildSpriteTemplate(template, &mon->box, face, FALSE); } -void Pokemon_BuildSpriteTemplateDP(PokemonSpriteTemplate *spriteTemplate, Pokemon *mon, u8 face) +void Pokemon_BuildSpriteTemplateDP(PokemonSpriteTemplate *template, Pokemon *mon, u8 face) { - BoxPokemon_BuildSpriteTemplate(spriteTemplate, &mon->box, face, TRUE); + BoxPokemon_BuildSpriteTemplate(template, &mon->box, face, TRUE); } -void BoxPokemon_BuildSpriteTemplate(PokemonSpriteTemplate *spriteTemplate, BoxPokemon *mon, u8 face, BOOL preferDP) +void BoxPokemon_BuildSpriteTemplate(PokemonSpriteTemplate *template, BoxPokemon *boxMon, u8 face, BOOL preferDP) { - BOOL reencrypt = BoxPokemon_EnterDecryptionContext(mon); - - u16 monSpeciesEgg = BoxPokemon_GetValue(mon, MON_DATA_SPECIES_OR_EGG, NULL); - u8 monGender = BoxPokemon_GetGender(mon); - u8 monShininess = BoxPokemon_IsShiny(mon); - u32 monPersonality = BoxPokemon_GetValue(mon, MON_DATA_PERSONALITY, NULL); - - u8 monForm; - if (monSpeciesEgg == SPECIES_EGG) { - if (BoxPokemon_GetValue(mon, MON_DATA_SPECIES, NULL) == SPECIES_MANAPHY) { - monForm = 1; + BOOL reencrypt = BoxPokemon_DecryptData(boxMon); + u16 species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES_OR_EGG, NULL); + u8 gender = BoxPokemon_GetGender(boxMon); + u8 shiny = BoxPokemon_IsShiny(boxMon); + u32 personality = BoxPokemon_GetData(boxMon, MON_DATA_PERSONALITY, NULL); + u8 form; + if (species == SPECIES_EGG) { + if (BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL) == SPECIES_MANAPHY) { + form = EGG_FORM_MANAPHY; } else { - monForm = 0; + form = EGG_FORM_BASE; } } else { - monForm = BoxPokemon_GetValue(mon, MON_DATA_FORM, NULL); + form = BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL); } if (preferDP == TRUE) { - BuildPokemonSpriteTemplateDP(spriteTemplate, monSpeciesEgg, monGender, face, monShininess, monForm, monPersonality); + Species_BuildSpriteTemplateDP(template, species, gender, face, shiny, form, personality); } else { - BuildPokemonSpriteTemplate(spriteTemplate, monSpeciesEgg, monGender, face, monShininess, monForm, monPersonality); + Species_BuildSpriteTemplate(template, species, gender, face, shiny, form, personality); } - - BoxPokemon_ExitDecryptionContext(mon, reencrypt); + BoxPokemon_EncryptData(boxMon, reencrypt); } -void BuildPokemonSpriteTemplate(PokemonSpriteTemplate *spriteTemplate, u16 species, u8 gender, u8 face, u8 shiny, u8 form, u32 personality) +void Species_BuildSpriteTemplate(PokemonSpriteTemplate *template, u16 species, u8 gender, u8 face, u8 shiny, u8 form, u32 personality) { - spriteTemplate->spindaSpots = 0; - spriteTemplate->dummy = 0; - spriteTemplate->personality = 0; - form = Pokemon_SanitizeFormId(species, form); + template->species = SPECIES_NONE; + template->isAnimated = FALSE; + template->personality = 0; + form = Species_SanitizeFormId(species, form); switch (species) { case SPECIES_BURMY: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; - spriteTemplate->character = 72 + (face / 2) + form * 2; - spriteTemplate->palette = 166 + shiny + form * 2; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; + template->character = 72 + (face / 2) + form * 2; + template->palette = 166 + shiny + form * 2; break; - case SPECIES_WORMADAM: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; - spriteTemplate->character = 78 + (face / 2) + form * 2; - spriteTemplate->palette = 172 + shiny + form * 2; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; + template->character = 78 + (face / 2) + form * 2; + template->palette = 172 + shiny + form * 2; break; - case SPECIES_SHELLOS: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; - spriteTemplate->character = 84 + face + form; - spriteTemplate->palette = 178 + shiny + form * 2; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; + template->character = 84 + face + form; + template->palette = 178 + shiny + form * 2; break; - case SPECIES_GASTRODON: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; - spriteTemplate->character = 88 + face + form; - spriteTemplate->palette = 182 + shiny + form * 2; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; + template->character = 88 + face + form; + template->palette = 182 + shiny + form * 2; break; - case SPECIES_CHERRIM: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; - spriteTemplate->character = 92 + face + form; - spriteTemplate->palette = 186 + (shiny * 2) + form; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; + template->character = 92 + face + form; + template->palette = 186 + (shiny * 2) + form; break; - case SPECIES_ARCEUS: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; - spriteTemplate->character = 96 + (face / 2) + form * 2; - spriteTemplate->palette = 190 + shiny + form * 2; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; + template->character = 96 + (face / 2) + form * 2; + template->palette = 190 + shiny + form * 2; break; - case SPECIES_CASTFORM: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; - spriteTemplate->character = 64 + (face * 2) + form; - spriteTemplate->palette = 158 + (shiny * 4) + form; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; + template->character = 64 + (face * 2) + form; + template->palette = 158 + (shiny * 4) + form; break; - case SPECIES_DEOXYS: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; - spriteTemplate->character = 0 + (face / 2) + form * 2; - spriteTemplate->palette = 154 + shiny; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; + template->character = 0 + (face / 2) + form * 2; + template->palette = 154 + shiny; break; - case SPECIES_UNOWN: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; - spriteTemplate->character = 8 + (face / 2) + form * 2; - spriteTemplate->palette = 156 + shiny; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; + template->character = 8 + (face / 2) + form * 2; + template->palette = 156 + shiny; break; - case SPECIES_EGG: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; - spriteTemplate->character = 132 + form; - spriteTemplate->palette = 226 + form; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; + template->character = 132 + form; + template->palette = 226 + form; break; - case SPECIES_BAD_EGG: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; - spriteTemplate->character = 132; - spriteTemplate->palette = 226; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; + template->character = 132; + template->palette = 226; break; - case SPECIES_SHAYMIN: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; - spriteTemplate->character = 134 + (face / 2) + form * 2; - spriteTemplate->palette = 228 + shiny + form * 2; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; + template->character = 134 + (face / 2) + form * 2; + template->palette = 228 + shiny + form * 2; break; - case SPECIES_ROTOM: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; - spriteTemplate->character = 138 + (face / 2) + form * 2; - spriteTemplate->palette = 232 + shiny + form * 2; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; + template->character = 138 + (face / 2) + form * 2; + template->palette = 232 + shiny + form * 2; break; - case SPECIES_GIRATINA: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; - spriteTemplate->character = 150 + (face / 2) + form * 2; - spriteTemplate->palette = 244 + shiny + form * 2; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; + template->character = 150 + (face / 2) + form * 2; + template->palette = 244 + shiny + form * 2; break; - default: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_POKEGRA; - spriteTemplate->character = species * 6 + face + (gender != GENDER_FEMALE ? 1 : 0); // ternary must remain to match - spriteTemplate->palette = species * 6 + 4 + shiny; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_POKEGRA; + template->character = species * 6 + face + (gender != GENDER_FEMALE ? 1 : 0); // ternary must remain to match + template->palette = species * 6 + 4 + shiny; if (species == SPECIES_SPINDA && face == FACE_FRONT) { - spriteTemplate->spindaSpots = SPECIES_SPINDA; - spriteTemplate->dummy = 0; - spriteTemplate->personality = personality; + template->species = SPECIES_SPINDA; + template->isAnimated = FALSE; + template->personality = personality; } } } -u8 Pokemon_SanitizeFormId(u16 monSpecies, u8 monForm) +u8 Species_SanitizeFormId(u16 species, u8 form) { - switch (monSpecies) { + switch (species) { case SPECIES_BURMY: - if (monForm > BURMY_FORM_COUNT - 1) { - monForm = 0; + if (form > BURMY_FORM_COUNT - 1) { + form = 0; } break; case SPECIES_WORMADAM: - if (monForm > WORMADAM_FORM_COUNT - 1) { - monForm = 0; + if (form > WORMADAM_FORM_COUNT - 1) { + form = 0; } break; case SPECIES_SHELLOS: - if (monForm > SHELLOS_FORM_COUNT - 1) { - monForm = 0; + if (form > SHELLOS_FORM_COUNT - 1) { + form = 0; } break; case SPECIES_GASTRODON: - if (monForm > GASTRODON_FORM_COUNT - 1) { - monForm = 0; + if (form > GASTRODON_FORM_COUNT - 1) { + form = 0; } break; case SPECIES_CHERRIM: - if (monForm > CHERRIM_FORM_COUNT - 1) { - monForm = 0; + if (form > CHERRIM_FORM_COUNT - 1) { + form = 0; } break; case SPECIES_ARCEUS: - if (monForm > ARCEUS_FORM_COUNT - 1) { - monForm = 0; + if (form > ARCEUS_FORM_COUNT - 1) { + form = 0; } break; case SPECIES_CASTFORM: - if (monForm > CASTFORM_FORM_COUNT - 1) { - monForm = 0; + if (form > CASTFORM_FORM_COUNT - 1) { + form = 0; } break; case SPECIES_DEOXYS: - if (monForm > DEOXYS_FORM_COUNT - 1) { - monForm = 0; + if (form > DEOXYS_FORM_COUNT - 1) { + form = 0; } break; case SPECIES_UNOWN: - if (monForm >= UNOWN_FORM_COUNT) { - monForm = 0; + if (form >= UNOWN_FORM_COUNT) { + form = 0; } break; case SPECIES_EGG: - if (monForm > EGG_FORM_COUNT - 1) { - monForm = 0; + if (form > EGG_FORM_COUNT - 1) { + form = 0; } break; case SPECIES_SHAYMIN: - if (monForm > SHAYMIN_FORM_COUNT - 1) { - monForm = 0; + if (form > SHAYMIN_FORM_COUNT - 1) { + form = 0; } break; case SPECIES_ROTOM: - if (monForm > ROTOM_FORM_COUNT - 1) { - monForm = 0; + if (form > ROTOM_FORM_COUNT - 1) { + form = 0; } break; case SPECIES_GIRATINA: - if (monForm > GIRATINA_FORM_COUNT - 1) { - monForm = 0; + if (form > GIRATINA_FORM_COUNT - 1) { + form = 0; } break; } - return monForm; + return form; } /** * @brief Build a PokemonSpriteTemplate for a Pokemon sprite, preferring sprites from - * Diamond/Pearl over Platinum. + * Diamond/Pearl over Platinum/HGSS. * * This routine will still use sprites from Platinum for Pokemon variants which * did not exist in Diamond/Pearl, namely: @@ -3013,7 +2441,7 @@ u8 Pokemon_SanitizeFormId(u16 monSpecies, u8 monForm) * - Shaymin-Sky * - Rotom appliances * - * @param spriteTemplate Pointer to the sprite template to be populated + * @param template Pointer to the sprite template to be populated * @param species The Pokemon's species * @param gender The Pokemon's gender * @param face Which face of the Pokemon the player sees @@ -3021,128 +2449,110 @@ u8 Pokemon_SanitizeFormId(u16 monSpecies, u8 monForm) * @param form The Pokemon's form * @param personality The Pokemon's personality value */ -static void BuildPokemonSpriteTemplateDP(PokemonSpriteTemplate *spriteTemplate, u16 species, u8 gender, u8 face, u8 shiny, u8 form, u32 personality) +static void Species_BuildSpriteTemplateDP(PokemonSpriteTemplate *template, u16 species, u8 gender, u8 face, u8 shiny, u8 form, u32 personality) { - spriteTemplate->spindaSpots = 0; - spriteTemplate->dummy = 0; - spriteTemplate->personality = 0; - - form = Pokemon_SanitizeFormId(species, form); - + template->species = SPECIES_NONE; + template->isAnimated = FALSE; + template->personality = 0; + form = Species_SanitizeFormId(species, form); switch (species) { case SPECIES_BURMY: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; - spriteTemplate->character = 72 + (face / 2) + form * 2; - spriteTemplate->palette = 146 + shiny + form * 2; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; + template->character = 72 + (face / 2) + form * 2; + template->palette = 146 + shiny + form * 2; break; - case SPECIES_WORMADAM: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; - spriteTemplate->character = 78 + (face / 2) + form * 2; - spriteTemplate->palette = 152 + shiny + form * 2; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; + template->character = 78 + (face / 2) + form * 2; + template->palette = 152 + shiny + form * 2; break; - case SPECIES_SHELLOS: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; - spriteTemplate->character = 84 + face + form; - spriteTemplate->palette = 158 + shiny + form * 2; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; + template->character = 84 + face + form; + template->palette = 158 + shiny + form * 2; break; - case SPECIES_GASTRODON: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; - spriteTemplate->character = 88 + face + form; - spriteTemplate->palette = 162 + shiny + form * 2; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; + template->character = 88 + face + form; + template->palette = 162 + shiny + form * 2; break; - case SPECIES_CHERRIM: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; - spriteTemplate->character = 92 + face + form; - spriteTemplate->palette = 166 + (shiny * 2) + form; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; + template->character = 92 + face + form; + template->palette = 166 + (shiny * 2) + form; break; - case SPECIES_ARCEUS: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; - spriteTemplate->character = 96 + (face / 2) + form * 2; - spriteTemplate->palette = 170 + shiny + form * 2; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; + template->character = 96 + (face / 2) + form * 2; + template->palette = 170 + shiny + form * 2; break; - case SPECIES_CASTFORM: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; - spriteTemplate->character = 64 + (face * 2) + form; - spriteTemplate->palette = 138 + (shiny * 4) + form; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; + template->character = 64 + (face * 2) + form; + template->palette = 138 + (shiny * 4) + form; break; - case SPECIES_DEOXYS: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; - spriteTemplate->character = 0 + (face / 2) + form * 2; - spriteTemplate->palette = 134 + shiny; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; + template->character = 0 + (face / 2) + form * 2; + template->palette = 134 + shiny; break; - case SPECIES_UNOWN: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; - spriteTemplate->character = 8 + (face / 2) + form * 2; - spriteTemplate->palette = 136 + shiny; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; + template->character = 8 + (face / 2) + form * 2; + template->palette = 136 + shiny; break; - case SPECIES_EGG: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; - spriteTemplate->character = 132 + form; - spriteTemplate->palette = 206 + form; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; + template->character = 132 + form; + template->palette = 206 + form; break; - case SPECIES_BAD_EGG: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; - spriteTemplate->character = 132; - spriteTemplate->palette = 206; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__OTHERPOKE; + template->character = 132; + template->palette = 206; break; - case SPECIES_SHAYMIN: if (form > 0) { - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; - spriteTemplate->character = 134 + (face / 2) + form * 2; - spriteTemplate->palette = 230 + shiny; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; + template->character = 134 + (face / 2) + form * 2; + template->palette = 230 + shiny; } else { - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__POKEGRA; - spriteTemplate->character = species * 6 + face + (gender != GENDER_FEMALE ? 1 : 0); - spriteTemplate->palette = species * 6 + 4 + shiny; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__POKEGRA; + template->character = species * 6 + face + (gender != GENDER_FEMALE ? 1 : 0); + template->palette = species * 6 + 4 + shiny; } break; - case SPECIES_ROTOM: if (form > 0) { - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; - spriteTemplate->character = 138 + (face / 2) + form * 2; - spriteTemplate->palette = 232 + shiny + form * 2; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; + template->character = 138 + (face / 2) + form * 2; + template->palette = 232 + shiny + form * 2; } else { - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__POKEGRA; - spriteTemplate->character = species * 6 + face + (gender != GENDER_FEMALE ? 1 : 0); - spriteTemplate->palette = species * 6 + 4 + shiny; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__POKEGRA; + template->character = species * 6 + face + (gender != GENDER_FEMALE ? 1 : 0); + template->palette = species * 6 + 4 + shiny; } break; - case SPECIES_GIRATINA: if (form > 0) { - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; - spriteTemplate->character = 150 + (face / 2) + form * 2; - spriteTemplate->palette = 244 + shiny + form * 2; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__PL_OTHERPOKE; + template->character = 150 + (face / 2) + form * 2; + template->palette = 244 + shiny + form * 2; } else { - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__POKEGRA; - spriteTemplate->character = species * 6 + face + (gender != GENDER_FEMALE ? 1 : 0); - spriteTemplate->palette = species * 6 + 4 + shiny; + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__POKEGRA; + template->character = species * 6 + face + (gender != GENDER_FEMALE ? 1 : 0); + template->palette = species * 6 + 4 + shiny; } break; - default: - spriteTemplate->narcID = NARC_INDEX_POKETOOL__POKEGRA__POKEGRA; - spriteTemplate->character = species * 6 + face + (gender != GENDER_FEMALE ? 1 : 0); - spriteTemplate->palette = species * 6 + 4 + shiny; - + template->narcID = NARC_INDEX_POKETOOL__POKEGRA__POKEGRA; + template->character = species * 6 + face + (gender != GENDER_FEMALE ? 1 : 0); + template->palette = species * 6 + 4 + shiny; if (species == SPECIES_SPINDA && face == FACE_FRONT) { - spriteTemplate->spindaSpots = SPECIES_SPINDA; - spriteTemplate->dummy = 0; - spriteTemplate->personality = personality; + template->species = SPECIES_SPINDA; + template->isAnimated = FALSE; + template->personality = personality; } - break; } } @@ -3159,228 +2569,197 @@ u8 Pokemon_DPSpriteYOffset(Pokemon *mon, u8 face) u8 BoxPokemon_SpriteYOffset(BoxPokemon *boxMon, u8 face, BOOL preferDP) { - u16 species = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES_OR_EGG, NULL); + u16 species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES_OR_EGG, NULL); u8 gender = BoxPokemon_GetGender(boxMon); - u32 personality = BoxPokemon_GetValue(boxMon, MON_DATA_PERSONALITY, NULL); - + u32 personality = BoxPokemon_GetData(boxMon, MON_DATA_PERSONALITY, NULL); u8 form; if (species == SPECIES_EGG) { - if (BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL) == SPECIES_MANAPHY) { - form = 1; + if (BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL) == SPECIES_MANAPHY) { + form = EGG_FORM_MANAPHY; } else { - form = 0; + form = EGG_FORM_BASE; } } else { - form = BoxPokemon_GetValue(boxMon, MON_DATA_FORM, NULL); + form = BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL); } if (preferDP == TRUE) { - return LoadPokemonDPSpriteHeight(species, gender, face, form, personality); + return Species_LoadSpriteYOffsetDP(species, gender, face, form, personality); } - - return LoadPokemonSpriteYOffset(species, gender, face, form, personality); + return Species_LoadSpriteYOffset(species, gender, face, form, personality); } -u8 LoadPokemonSpriteYOffset(u16 species, u8 gender, u8 face, u8 form, u32 personality) +u8 Species_LoadSpriteYOffset(u16 species, u8 gender, u8 face, u8 form, u32 personality) { - form = Pokemon_SanitizeFormId(species, form); + form = Species_SanitizeFormId(species, form); enum NarcID narcID; - int memberIndex; + int fileID; switch (species) { case SPECIES_BURMY: narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O; - memberIndex = 72 + (face / 2) + form * 2; + fileID = 72 + (face / 2) + form * 2; break; - case SPECIES_WORMADAM: narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O; - memberIndex = 78 + (face / 2) + form * 2; + fileID = 78 + (face / 2) + form * 2; break; - case SPECIES_SHELLOS: narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O; - memberIndex = 84 + face + form; + fileID = 84 + face + form; break; - case SPECIES_GASTRODON: narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O; - memberIndex = 88 + face + form; + fileID = 88 + face + form; break; - case SPECIES_CHERRIM: narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O; - memberIndex = 92 + face + form; + fileID = 92 + face + form; break; - case SPECIES_ARCEUS: narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O; - memberIndex = 96 + (face / 2) + form * 2; + fileID = 96 + (face / 2) + form * 2; break; - case SPECIES_CASTFORM: narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O; - memberIndex = 64 + face * 2 + form; + fileID = 64 + face * 2 + form; break; - case SPECIES_DEOXYS: narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O; - memberIndex = 0 + (face / 2) + form * 2; + fileID = 0 + (face / 2) + form * 2; break; - case SPECIES_UNOWN: narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O; - memberIndex = 8 + (face / 2) + form * 2; + fileID = 8 + (face / 2) + form * 2; break; - case SPECIES_EGG: narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O; - memberIndex = 132 + form; + fileID = 132 + form; break; - case SPECIES_BAD_EGG: narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O; - memberIndex = 132; + fileID = 132; break; - case SPECIES_SHAYMIN: narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O; - memberIndex = 136 + (face / 2) + form * 2; + fileID = 136 + (face / 2) + form * 2; break; - case SPECIES_ROTOM: narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O; - memberIndex = 140 + (face / 2) + form * 2; + fileID = 140 + (face / 2) + form * 2; break; - case SPECIES_GIRATINA: narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O; - memberIndex = 152 + (face / 2) + form * 2; + fileID = 152 + (face / 2) + form * 2; break; - default: narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT; - memberIndex = species * 4 + face + (gender != GENDER_FEMALE ? 1 : 0); + fileID = species * 4 + face + (gender != GENDER_FEMALE ? 1 : 0); break; } - u8 result; - NARC_ReadWholeMemberByIndexPair(&result, narcID, memberIndex); - return result; + u8 ret; + NARC_ReadWholeMemberByIndexPair(&ret, narcID, fileID); + return ret; } -static u8 LoadPokemonDPSpriteHeight(u16 species, u8 gender, u8 face, u8 form, u32 personality) +static u8 Species_LoadSpriteYOffsetDP(u16 species, u8 gender, u8 face, u8 form, u32 personality) { - // TODO enum values? - form = Pokemon_SanitizeFormId(species, form); + form = Species_SanitizeFormId(species, form); enum NarcID narcID; - int memberIndex; + int fileID; switch (species) { case SPECIES_BURMY: narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O; - memberIndex = 72 + (face / 2) + form * 2; + fileID = 72 + (face / 2) + form * 2; break; - case SPECIES_WORMADAM: narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O; - memberIndex = 78 + (face / 2) + form * 2; + fileID = 78 + (face / 2) + form * 2; break; - case SPECIES_SHELLOS: narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O; - memberIndex = 84 + face + form; + fileID = 84 + face + form; break; - case SPECIES_GASTRODON: narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O; - memberIndex = 88 + face + form; + fileID = 88 + face + form; break; - case SPECIES_CHERRIM: narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O; - memberIndex = 92 + face + form; + fileID = 92 + face + form; break; - case SPECIES_ARCEUS: narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O; - memberIndex = 96 + (face / 2) + form * 2; + fileID = 96 + (face / 2) + form * 2; break; - case SPECIES_CASTFORM: narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O; - memberIndex = 64 + face * 2 + form; + fileID = 64 + face * 2 + form; break; - case SPECIES_DEOXYS: narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O; - memberIndex = 0 + (face / 2) + form * 2; + fileID = 0 + (face / 2) + form * 2; break; - case SPECIES_UNOWN: narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O; - memberIndex = 8 + (face / 2) + form * 2; + fileID = 8 + (face / 2) + form * 2; break; - case SPECIES_EGG: narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O; - memberIndex = 132 + form; + fileID = 132 + form; break; - case SPECIES_BAD_EGG: narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT_O; - memberIndex = 132; + fileID = 132; break; - case SPECIES_SHAYMIN: if (form > 0) { narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O; - memberIndex = 136 + (face / 2) + form * 2; + fileID = 136 + (face / 2) + form * 2; } else { narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT; - memberIndex = species * 4 + face + (gender != GENDER_FEMALE ? 1 : 0); + fileID = species * 4 + face + (gender != GENDER_FEMALE ? 1 : 0); } break; - case SPECIES_ROTOM: if (form > 0) { narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O; - memberIndex = 140 + (face / 2) + form * 2; + fileID = 140 + (face / 2) + form * 2; } else { narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT; - memberIndex = species * 4 + face + (gender != GENDER_FEMALE ? 1 : 0); + fileID = species * 4 + face + (gender != GENDER_FEMALE ? 1 : 0); } break; - case SPECIES_GIRATINA: if (form > 0) { narcID = NARC_INDEX_POKETOOL__POKEGRA__HEIGHT_O; - memberIndex = 152 + (face / 2) + form * 2; + fileID = 152 + (face / 2) + form * 2; } else { narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT; - memberIndex = species * 4 + face + (gender != GENDER_FEMALE ? 1 : 0); + fileID = species * 4 + face + (gender != GENDER_FEMALE ? 1 : 0); } break; - default: narcID = NARC_INDEX_POKETOOL__POKEGRA__DP_HEIGHT; - memberIndex = species * 4 + face + (gender != GENDER_FEMALE ? 1 : 0); + fileID = species * 4 + face + (gender != GENDER_FEMALE ? 1 : 0); break; } - u8 result; - NARC_ReadWholeMemberByIndexPair(&result, narcID, memberIndex); - return result; + u8 ret; + NARC_ReadWholeMemberByIndexPair(&ret, narcID, fileID); + return ret; } -void sub_0207697C(PokemonSpriteTemplate *param0, u16 param1) +void sub_0207697C(PokemonSpriteTemplate *template, u16 param1) { - param0->narcID = 60; - param0->character = param1 * 2; - param0->palette = param1 * 2 + 1; - param0->spindaSpots = 0; - param0->dummy = 0; - param0->personality = 0; + template->narcID = 60; + template->character = param1 * 2; + template->palette = param1 * 2 + 1; + template->species = SPECIES_NONE; + template->isAnimated = FALSE; + template->personality = 0; } static const SpriteTemplate Unk_020F05E4 = { @@ -3468,14 +2847,14 @@ void sub_02076AAC(int param0, int param1, UnkStruct_ov5_021DE5D0 *param2) } } -u32 Pokemon_GetStructSize(void) +u32 Pokemon_Size2(void) { - return (u32)sizeof(Pokemon); + return sizeof(Pokemon); } -u32 BoxPokemon_GetStructSize(void) +u32 BoxPokemon_Size(void) { - return (u32)sizeof(BoxPokemon); + return sizeof(BoxPokemon); } u8 Pokemon_GetForm(Pokemon *mon) @@ -3485,295 +2864,256 @@ u8 Pokemon_GetForm(Pokemon *mon) u8 BoxPokemon_GetForm(BoxPokemon *boxMon) { - return BoxPokemon_GetValue(boxMon, MON_DATA_FORM, NULL); + return BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL); } -BoxPokemon *Pokemon_GetBoxPokemon(Pokemon *mon) +BoxPokemon *Pokemon_GetBoxMon(Pokemon *mon) { return &mon->box; } -BOOL Pokemon_ShouldLevelUp(Pokemon *mon) +BOOL Pokemon_TryLevelUp(Pokemon *mon) { - u16 monSpecies = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - u8 monNextLevel = Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL) + 1; - u32 monExp = Pokemon_GetValue(mon, MON_DATA_EXPERIENCE, NULL); - int monExpRate = SpeciesData_GetSpeciesValue(monSpecies, SPECIES_DATA_EXP_RATE); - u32 maxExp = Pokemon_GetExpRateBaseExpAt(monExpRate, MAX_POKEMON_LEVEL); + u16 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + u8 nextLevel = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL) + 1; + u32 exp = Pokemon_GetData(mon, MON_DATA_EXPERIENCE, NULL); + int expRate = Species_GetValue(species, SPECIES_DATA_EXP_RATE); + u32 maxExp = ExpRate_GetExpAtLevel(expRate, MAX_MON_LEVEL); - if (monExp > maxExp) { - monExp = maxExp; - Pokemon_SetValue(mon, MON_DATA_EXPERIENCE, &monExp); + if (exp > maxExp) { + exp = maxExp; + Pokemon_SetData(mon, MON_DATA_EXPERIENCE, &exp); } - - if (monNextLevel > MAX_POKEMON_LEVEL) { + if (nextLevel > MAX_MON_LEVEL) { return FALSE; } - - maxExp = Pokemon_GetExpRateBaseExpAt(monExpRate, monNextLevel); - - if (monExp >= maxExp) { - Pokemon_SetValue(mon, MON_DATA_LEVEL, &monNextLevel); + if (exp >= ExpRate_GetExpAtLevel(expRate, nextLevel)) { + Pokemon_SetData(mon, MON_DATA_LEVEL, &nextLevel); return TRUE; } - return FALSE; } -u16 Pokemon_GetEvolutionTargetSpecies(Party *party, Pokemon *mon, u8 evoClass, u16 evoParam, int *evoTypeResult) +u16 Pokemon_GetEvolutionTarget(Party *party, Pokemon *mon, u8 context, u16 evoParam, int *methodRet) { u16 targetSpecies = SPECIES_NONE; - u16 monSpecies = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - u16 monHeldItem = Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL); - u32 monPersonality = Pokemon_GetValue(mon, MON_DATA_PERSONALITY, NULL); - u8 monBeauty = Pokemon_GetValue(mon, MON_DATA_BEAUTY, NULL); + u16 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + u16 heldItem = Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL); + u32 personality = Pokemon_GetData(mon, MON_DATA_PERSONALITY, NULL); + u8 beauty = Pokemon_GetData(mon, MON_DATA_BEAUTY, NULL); int i; - u16 monFriendship; - - u16 monPersonalityUpper = (monPersonality & 0xFFFF0000) >> 16; - u8 itemHoldEffect = Item_LoadParam(monHeldItem, ITEM_PARAM_HOLD_EFFECT, HEAP_ID_SYSTEM); - - if (monSpecies != SPECIES_KADABRA - && itemHoldEffect == HOLD_EFFECT_NO_EVOLVE - && evoClass != EVO_CLASS_BY_ITEM) { + u16 friendship; + u16 personalityUpper = (personality & 0xFFFF0000) >> 16; + u8 holdEffect = Item_LoadParam(heldItem, ITEM_PARAM_HOLD_EFFECT, HEAP_ID_SYSTEM); + + // Kadabra bypasses Everstone because he's just that broken. + if (species != SPECIES_KADABRA + && holdEffect == HOLD_EFFECT_NO_EVOLVE + && context != EVO_CONTEXT_ITEM_USE) { return SPECIES_NONE; } int stackVar; - if (evoTypeResult == NULL) { - evoTypeResult = &stackVar; - } - - SpeciesEvolution *speciesEvolutions = Heap_Alloc(HEAP_ID_SYSTEM, sizeof(SpeciesEvolution) * MAX_EVOLUTIONS); - LoadSpeciesEvolutions(monSpecies, speciesEvolutions); - - switch (evoClass) { - case EVO_CLASS_BY_LEVEL: { - u8 monLevel = Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL); - monFriendship = Pokemon_GetValue(mon, MON_DATA_FRIENDSHIP, NULL); - - for (i = 0; i < MAX_EVOLUTIONS; i++) { - switch (speciesEvolutions[i].method) { - case EVO_LEVEL_HAPPINESS: - if (EVOLVE_FRIENDSHIP_THRESHOLD <= monFriendship) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_LEVEL_HAPPINESS; + if (methodRet == NULL) { + methodRet = &stackVar; + } + Evolution *evolutions = Heap_Alloc(HEAP_ID_SYSTEM, MAX_MON_EVOLUTIONS * sizeof(Evolution)); + Species_LoadEvolutions(species, evolutions); + switch (context) { + case EVO_CONTEXT_LEVEL_UP: + u8 level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); + friendship = Pokemon_GetData(mon, MON_DATA_FRIENDSHIP, NULL); + for (i = 0; i < MAX_MON_EVOLUTIONS; i++) { + switch (evolutions[i].method) { + case EVO_NONE: + case EVO_TRADE: + case EVO_TRADE_HELD_ITEM: + case EVO_USE_ITEM: + case EVO_USE_ITEM_MALE: + case EVO_USE_ITEM_FEMALE: + break; + case EVO_LEVEL_FRIENDSHIP: + if (friendship >= FRIENDSHIP_EVO_THRESHOLD) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_LEVEL_FRIENDSHIP; } break; - - case EVO_LEVEL_HAPPINESS_DAY: - if (IsNight() == FALSE && EVOLVE_FRIENDSHIP_THRESHOLD <= monFriendship) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_LEVEL_HAPPINESS_DAY; + case EVO_LEVEL_FRIENDSHIP_DAY: + if (IsNight() == FALSE && friendship >= FRIENDSHIP_EVO_THRESHOLD) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_LEVEL_FRIENDSHIP_DAY; } break; - - case EVO_LEVEL_HAPPINESS_NIGHT: - if (IsNight() == TRUE && EVOLVE_FRIENDSHIP_THRESHOLD <= monFriendship) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_LEVEL_HAPPINESS_NIGHT; + case EVO_LEVEL_FRIENDSHIP_NIGHT: + if (IsNight() == TRUE && friendship >= FRIENDSHIP_EVO_THRESHOLD) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_LEVEL_FRIENDSHIP_NIGHT; } break; - case EVO_LEVEL: - if (speciesEvolutions[i].param <= monLevel) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_LEVEL; + if (evolutions[i].param <= level) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_LEVEL; } break; - case EVO_LEVEL_ATK_GT_DEF: - if (speciesEvolutions[i].param <= monLevel) { - if (Pokemon_GetValue(mon, MON_DATA_ATK, NULL) > Pokemon_GetValue(mon, MON_DATA_DEF, NULL)) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_LEVEL_ATK_GT_DEF; - } + if (evolutions[i].param <= level && Pokemon_GetData(mon, MON_DATA_ATK, NULL) > Pokemon_GetData(mon, MON_DATA_DEF, NULL)) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_LEVEL_ATK_GT_DEF; } break; - case EVO_LEVEL_ATK_EQ_DEF: - if (speciesEvolutions[i].param <= monLevel) { - if (Pokemon_GetValue(mon, MON_DATA_ATK, NULL) == Pokemon_GetValue(mon, MON_DATA_DEF, NULL)) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_LEVEL_ATK_EQ_DEF; - } + if (evolutions[i].param <= level && Pokemon_GetData(mon, MON_DATA_ATK, NULL) == Pokemon_GetData(mon, MON_DATA_DEF, NULL)) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_LEVEL_ATK_EQ_DEF; } break; - case EVO_LEVEL_ATK_LT_DEF: - if (speciesEvolutions[i].param <= monLevel) { - if (Pokemon_GetValue(mon, MON_DATA_ATK, NULL) < Pokemon_GetValue(mon, MON_DATA_DEF, NULL)) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_LEVEL_ATK_LT_DEF; - } + if (evolutions[i].param <= level && Pokemon_GetData(mon, MON_DATA_ATK, NULL) < Pokemon_GetData(mon, MON_DATA_DEF, NULL)) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_LEVEL_ATK_LT_DEF; } break; - case EVO_LEVEL_PID_LOW: - if (speciesEvolutions[i].param <= monLevel) { - if (monPersonalityUpper % 10 < 5) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_LEVEL_PID_LOW; - } + if (evolutions[i].param <= level && personalityUpper % 10 < 5) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_LEVEL_PID_LOW; } break; - case EVO_LEVEL_PID_HIGH: - if (speciesEvolutions[i].param <= monLevel) { - if (monPersonalityUpper % 10 >= 5) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_LEVEL_PID_HIGH; - } + if (evolutions[i].param <= level && personalityUpper % 10 >= 5) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_LEVEL_PID_HIGH; } break; - case EVO_LEVEL_NINJASK: - if (speciesEvolutions[i].param <= monLevel) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_LEVEL_NINJASK; + if (evolutions[i].param <= level) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_LEVEL_NINJASK; } break; - case EVO_LEVEL_SHEDINJA: - *evoTypeResult = EVO_LEVEL_SHEDINJA; + *methodRet = EVO_LEVEL_SHEDINJA; break; - case EVO_LEVEL_BEAUTY: - if (speciesEvolutions[i].param <= monBeauty) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_LEVEL_BEAUTY; + if (evolutions[i].param <= beauty) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_LEVEL_BEAUTY; } break; - - case EVO_LEVEL_WITH_HELD_ITEM_DAY: - if (IsNight() == FALSE && speciesEvolutions[i].param == monHeldItem) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_LEVEL_WITH_HELD_ITEM_DAY; + case EVO_LEVEL_HELD_ITEM_DAY: + if (IsNight() == FALSE && evolutions[i].param == heldItem) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_LEVEL_HELD_ITEM_DAY; } break; - - case EVO_LEVEL_WITH_HELD_ITEM_NIGHT: - if (IsNight() == TRUE && speciesEvolutions[i].param == monHeldItem) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_LEVEL_WITH_HELD_ITEM_NIGHT; + case EVO_LEVEL_HELD_ITEM_NIGHT: + if (IsNight() == TRUE && evolutions[i].param == heldItem) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_LEVEL_HELD_ITEM_NIGHT; } break; - case EVO_LEVEL_KNOW_MOVE: - if (Pokemon_HasMove(mon, speciesEvolutions[i].param) == TRUE) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_LEVEL_KNOW_MOVE; + if (Pokemon_HasMove(mon, evolutions[i].param) == TRUE) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_LEVEL_KNOW_MOVE; } break; - case EVO_LEVEL_SPECIES_IN_PARTY: - if (party != NULL) { - if (Party_HasSpecies(party, speciesEvolutions[i].param) == TRUE) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_LEVEL_SPECIES_IN_PARTY; - } + if (party != NULL && Party_HasSpecies(party, evolutions[i].param) == TRUE) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_LEVEL_SPECIES_IN_PARTY; } break; - case EVO_LEVEL_MALE: - if (Pokemon_GetValue(mon, MON_DATA_GENDER, NULL) == GENDER_MALE && speciesEvolutions[i].param <= monLevel) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_LEVEL_MALE; + if (Pokemon_GetData(mon, MON_DATA_GENDER, NULL) == GENDER_MALE && evolutions[i].param <= level) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_LEVEL_MALE; } break; - case EVO_LEVEL_FEMALE: - if (Pokemon_GetValue(mon, MON_DATA_GENDER, NULL) == GENDER_FEMALE && speciesEvolutions[i].param <= monLevel) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_LEVEL_FEMALE; + if (Pokemon_GetData(mon, MON_DATA_GENDER, NULL) == GENDER_FEMALE && evolutions[i].param <= level) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_LEVEL_FEMALE; } break; - case EVO_LEVEL_MAGNETIC_FIELD: - if (speciesEvolutions[i].method == evoParam) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_LEVEL_MAGNETIC_FIELD; + if (evoParam == evolutions[i].method) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_LEVEL_MAGNETIC_FIELD; } break; - case EVO_LEVEL_MOSS_ROCK: - if (speciesEvolutions[i].method == evoParam) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_LEVEL_MOSS_ROCK; + if (evoParam == evolutions[i].method) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_LEVEL_MOSS_ROCK; } break; - case EVO_LEVEL_ICE_ROCK: - if (speciesEvolutions[i].method == evoParam) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_LEVEL_ICE_ROCK; + if (evoParam == evolutions[i].method) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_LEVEL_ICE_ROCK; } break; } - if (targetSpecies) { + if (targetSpecies != SPECIES_NONE) { break; } } - } break; - - case EVO_CLASS_BY_TRADE: - for (i = 0; i < MAX_EVOLUTIONS; i++) { - switch (speciesEvolutions[i].method) { + break; + case EVO_CONTEXT_TRADE: + for (i = 0; i < MAX_MON_EVOLUTIONS; i++) { + switch (evolutions[i].method) { case EVO_TRADE: - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_TRADE; + targetSpecies = evolutions[i].target; + *methodRet = EVO_TRADE; break; - - case EVO_TRADE_WITH_HELD_ITEM: - if (speciesEvolutions[i].param == monHeldItem) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_TRADE_WITH_HELD_ITEM; + case EVO_TRADE_HELD_ITEM: + if (heldItem == evolutions[i].param) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_TRADE_HELD_ITEM; } break; } - if (targetSpecies) { + if (targetSpecies != SPECIES_NONE) { break; } } break; - - case EVO_CLASS_UNUSED_02: - case EVO_CLASS_BY_ITEM: - for (i = 0; i < MAX_EVOLUTIONS; i++) { - if (speciesEvolutions[i].method == EVO_USE_ITEM && speciesEvolutions[i].param == evoParam) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_NONE; + case EVO_CONTEXT_ITEM_CHECK: + case EVO_CONTEXT_ITEM_USE: + for (i = 0; i < MAX_MON_EVOLUTIONS; i++) { + if (evolutions[i].method == EVO_USE_ITEM && evoParam == evolutions[i].param) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_NONE; break; } - - if (speciesEvolutions[i].method == EVO_USE_ITEM_MALE - && Pokemon_GetValue(mon, MON_DATA_GENDER, NULL) == GENDER_MALE - && speciesEvolutions[i].param == evoParam) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_NONE; + if (evolutions[i].method == EVO_USE_ITEM_MALE + && Pokemon_GetData(mon, MON_DATA_GENDER, NULL) == GENDER_MALE + && evoParam == evolutions[i].param) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_NONE; break; } - - if (speciesEvolutions[i].method == EVO_USE_ITEM_FEMALE - && Pokemon_GetValue(mon, MON_DATA_GENDER, NULL) == GENDER_FEMALE - && speciesEvolutions[i].param == evoParam) { - targetSpecies = speciesEvolutions[i].targetSpecies; - *evoTypeResult = EVO_NONE; + if (evolutions[i].method == EVO_USE_ITEM_FEMALE + && Pokemon_GetData(mon, MON_DATA_GENDER, NULL) == GENDER_FEMALE + && evoParam == evolutions[i].param) { + targetSpecies = evolutions[i].target; + *methodRet = EVO_NONE; break; } - if (targetSpecies) { + if (targetSpecies != SPECIES_NONE) { break; } } break; } - - Heap_Free(speciesEvolutions); + Heap_Free(evolutions); return targetSpecies; } @@ -3795,279 +3135,259 @@ u16 Pokemon_GetBaseSpeciesFromPersonalData(const u16 species) u16 Pokemon_GetBaseSpeciesForBattle(const u16 species) { switch (species) { - case SPECIES_WOBBUFFET: - case SPECIES_MARILL: + case SPECIES_CHANSEY: case SPECIES_MR_MIME: - case SPECIES_SUDOWOODO: case SPECIES_SNORLAX: + case SPECIES_MARILL: + case SPECIES_SUDOWOODO: + case SPECIES_WOBBUFFET: case SPECIES_MANTINE: case SPECIES_ROSELIA: - case SPECIES_CHANSEY: case SPECIES_CHIMECHO: return species; - break; + default: + return Pokemon_GetBaseSpeciesFromPersonalData(species); } - - return Pokemon_GetBaseSpeciesFromPersonalData(species); } static void BoxPokemon_SetDefaultMoves(BoxPokemon *boxMon) { BOOL reencrypt; // must pre-declare to match - u16 *monLevelUpMoves = Heap_Alloc(HEAP_ID_SYSTEM, sizeof(SpeciesLearnset)); - reencrypt = BoxPokemon_EnterDecryptionContext(boxMon); + u16 *levelUpLearnset = Heap_Alloc(HEAP_ID_SYSTEM, sizeof(SpeciesLearnset)); + reencrypt = BoxPokemon_DecryptData(boxMon); - u16 monSpecies = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); - int monForm = BoxPokemon_GetValue(boxMon, MON_DATA_FORM, NULL); - u8 monLevel = BoxPokemon_GetLevel(boxMon); + u16 species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); + int form = BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL); + u8 level = BoxPokemon_CalcLevel(boxMon); - Pokemon_LoadLevelUpMovesOf(monSpecies, monForm, monLevelUpMoves); + Species_LoadLevelUpLearnset(species, form, levelUpLearnset); - for (int i = 0; monLevelUpMoves[i] != LEARNSET_SENTINEL_ENTRY; i++) { - if ((monLevelUpMoves[i] & 0xFE00) <= monLevel << 9) { - u16 monLevelUpMoveID = monLevelUpMoves[i] & 0x1FF; - if (BoxPokemon_AddMove(boxMon, monLevelUpMoveID) == LEARNSET_ALL_SLOTS_FILLED) { - BoxPokemon_ReplaceMove(boxMon, monLevelUpMoveID); - } - } else { + for (int i = 0; levelUpLearnset[i] != LEARNSET_SENTINEL_ENTRY; i++) { + if ((levelUpLearnset[i] & 0xFE00) > level << 9) { break; } + u16 move = levelUpLearnset[i] & 0x1FF; + if (BoxPokemon_TryAppendMove(boxMon, move) == LEARNSET_ALL_SLOTS_FILLED) { + BoxPokemon_ForceAppendMove(boxMon, move); + } } - - Heap_Free(monLevelUpMoves); - BoxPokemon_ExitDecryptionContext(boxMon, reencrypt); + Heap_Free(levelUpLearnset); + BoxPokemon_EncryptData(boxMon, reencrypt); } -u16 Pokemon_AddMove(Pokemon *mon, u16 moveID) +u16 Pokemon_TryAppendMove(Pokemon *mon, u16 move) { - BoxPokemon *boxMon = Pokemon_GetBoxPokemon(mon); - return BoxPokemon_AddMove(boxMon, moveID); + return BoxPokemon_TryAppendMove(Pokemon_GetBoxMon(mon), move); } -static u16 BoxPokemon_AddMove(BoxPokemon *boxMon, u16 moveID) +static u16 BoxPokemon_TryAppendMove(BoxPokemon *boxMon, u16 move) { - u16 result = LEARNSET_ALL_SLOTS_FILLED; - BOOL reencrypt = BoxPokemon_EnterDecryptionContext(boxMon); + u16 ret = LEARNSET_ALL_SLOTS_FILLED; + BOOL reencrypt = BoxPokemon_DecryptData(boxMon); - for (int i = 0; i < LEARNED_MOVES_MAX; i++) { - u16 slotMove; - if ((slotMove = BoxPokemon_GetValue(boxMon, MON_DATA_MOVE1 + i, NULL)) == MOVE_NONE) { - BoxPokemon_SetMoveSlot(boxMon, moveID, i); - result = moveID; + for (int i = 0; i < MAX_MON_MOVES; i++) { + u16 slotMove = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1 + i, NULL); + if (slotMove == MOVE_NONE) { + BoxPokemon_SetMoveInSlot(boxMon, move, i); + ret = move; + break; + } + if (slotMove == move) { + ret = LEARNSET_MOVE_ALREADY_KNOWN; break; - } else { - if (slotMove == moveID) { - result = LEARNSET_MOVE_ALREADY_KNOWN; - break; - } } } - - BoxPokemon_ExitDecryptionContext(boxMon, reencrypt); - return result; + BoxPokemon_EncryptData(boxMon, reencrypt); + return ret; } -void Pokemon_ReplaceMove(Pokemon *mon, u16 moveID) +void Pokemon_ForceAppendMove(Pokemon *mon, u16 move) { - BoxPokemon *boxMon = Pokemon_GetBoxPokemon(mon); - BoxPokemon_ReplaceMove(boxMon, moveID); + BoxPokemon_ForceAppendMove(Pokemon_GetBoxMon(mon), move); } -static void BoxPokemon_ReplaceMove(BoxPokemon *boxMon, u16 moveID) +static void BoxPokemon_ForceAppendMove(BoxPokemon *boxMon, u16 move) { - BOOL reencrypt = BoxPokemon_EnterDecryptionContext(boxMon); - - u16 moveIDs[LEARNED_MOVES_MAX]; - u8 movePPs[LEARNED_MOVES_MAX]; - u8 movePPUps[LEARNED_MOVES_MAX]; + BOOL reencrypt = BoxPokemon_DecryptData(boxMon); + u16 moves[MAX_MON_MOVES]; + u8 pp[MAX_MON_MOVES]; + u8 ppUp[MAX_MON_MOVES]; // Bubble move slots 2 through 4 upwards - for (int i = 0; i < LEARNED_MOVES_MAX - 1; i++) { - moveIDs[i] = BoxPokemon_GetValue(boxMon, MON_DATA_MOVE2 + i, NULL); - movePPs[i] = BoxPokemon_GetValue(boxMon, MON_DATA_MOVE2_PP + i, NULL); - movePPUps[i] = BoxPokemon_GetValue(boxMon, MON_DATA_MOVE2_PP_UPS + i, NULL); + for (int i = 0; i < MAX_MON_MOVES - 1; i++) { + moves[i] = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1 + i + 1, NULL); + pp[i] = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP + i + 1, NULL); + ppUp[i] = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP_UPS + i + 1, NULL); } - moveIDs[LEARNED_MOVES_MAX - 1] = moveID; - movePPs[LEARNED_MOVES_MAX - 1] = MoveTable_LoadParam(moveID, MOVEATTRIBUTE_PP); - movePPUps[LEARNED_MOVES_MAX - 1] = 0; + moves[MAX_MON_MOVES - 1] = move; + pp[MAX_MON_MOVES - 1] = MoveTable_LoadParam(move, MOVEATTRIBUTE_PP); + ppUp[MAX_MON_MOVES - 1] = 0; - for (int i = 0; i < LEARNED_MOVES_MAX; i++) { - BoxPokemon_SetValue(boxMon, MON_DATA_MOVE1 + i, &moveIDs[i]); - BoxPokemon_SetValue(boxMon, MON_DATA_MOVE1_PP + i, &movePPs[i]); - BoxPokemon_SetValue(boxMon, MON_DATA_MOVE1_PP_UPS + i, &movePPUps[i]); + for (int i = 0; i < MAX_MON_MOVES; i++) { + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1 + i, &moves[i]); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP + i, &pp[i]); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP_UPS + i, &ppUp[i]); } - BoxPokemon_ExitDecryptionContext(boxMon, reencrypt); + BoxPokemon_EncryptData(boxMon, reencrypt); } -void Pokemon_ResetMoveSlot(Pokemon *mon, u16 moveID, u8 moveSlot) +void Pokemon_SetMoveInSlot_ResetPPUp(Pokemon *mon, u16 move, u8 slot) { - Pokemon_SetMoveSlot(mon, moveID, moveSlot); - - u32 moveMaxPP, movePPUps = 0; - Pokemon_SetValue(mon, MON_DATA_MOVE1_PP_UPS + moveSlot, &movePPUps); - - moveMaxPP = MoveTable_CalcMaxPP(moveID, 0); - Pokemon_SetValue(mon, MON_DATA_MOVE1_PP + moveSlot, &moveMaxPP); + Pokemon_SetMoveInSlot(mon, move, slot); + int pp, ppUp = 0; + Pokemon_SetData(mon, MON_DATA_MOVE1_PP_UPS + slot, &ppUp); + pp = MoveTable_CalcMaxPP(move, 0); + Pokemon_SetData(mon, MON_DATA_MOVE1_PP + slot, &pp); } -void Pokemon_SetMoveSlot(Pokemon *mon, u16 moveID, u8 moveSlot) +void Pokemon_SetMoveInSlot(Pokemon *mon, u16 move, u8 slot) { - BoxPokemon_SetMoveSlot(&mon->box, moveID, moveSlot); + BoxPokemon_SetMoveInSlot(&mon->box, move, slot); } -static void BoxPokemon_SetMoveSlot(BoxPokemon *boxMon, u16 moveID, u8 moveSlot) +static void BoxPokemon_SetMoveInSlot(BoxPokemon *boxMon, u16 move, u8 slot) { - BoxPokemon_SetValue(boxMon, MON_DATA_MOVE1 + moveSlot, &moveID); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1 + slot, &move); - u8 movePPUps = BoxPokemon_GetValue(boxMon, MON_DATA_MOVE1_PP_UPS + moveSlot, NULL); - u8 moveMaxPP = MoveTable_CalcMaxPP(moveID, movePPUps); - - BoxPokemon_SetValue(boxMon, MON_DATA_MOVE1_PP + moveSlot, &moveMaxPP); + u8 ppUps = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP_UPS + slot, NULL); + u8 pp = MoveTable_CalcMaxPP(move, ppUps); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP + slot, &pp); } -u16 Pokemon_LevelUpMove(Pokemon *mon, int *index, u16 *moveID) +u16 Pokemon_TryLevelUpMove(Pokemon *mon, int *index, u16 *move) { - u16 result = MOVE_NONE; - u16 *monLevelUpMoves = Heap_Alloc(HEAP_ID_SYSTEM, sizeof(SpeciesLearnset)); - u16 monSpecies = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - int monForm = Pokemon_GetValue(mon, MON_DATA_FORM, NULL); - u8 monLevel = Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL); + u16 ret = MOVE_NONE; + u16 *levelUpLearnset = Heap_Alloc(HEAP_ID_SYSTEM, sizeof(SpeciesLearnset)); + u16 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + int form = Pokemon_GetData(mon, MON_DATA_FORM, NULL); + u8 level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); + Species_LoadLevelUpLearnset(species, form, levelUpLearnset); - Pokemon_LoadLevelUpMovesOf(monSpecies, monForm, monLevelUpMoves); - - if (monLevelUpMoves[*index] == LEARNSET_SENTINEL_ENTRY) { - Heap_Free(monLevelUpMoves); + if (levelUpLearnset[*index] == LEARNSET_SENTINEL_ENTRY) { + Heap_Free(levelUpLearnset); return MOVE_NONE; } - while ((monLevelUpMoves[*index] & 0xFE00) != monLevel << 9) { + while ((levelUpLearnset[*index] & 0xFE00) != level << 9) { (*index)++; - if (monLevelUpMoves[*index] == LEARNSET_SENTINEL_ENTRY) { - Heap_Free(monLevelUpMoves); + if (levelUpLearnset[*index] == LEARNSET_SENTINEL_ENTRY) { + Heap_Free(levelUpLearnset); return MOVE_NONE; } } - if ((monLevelUpMoves[*index] & 0xFE00) == monLevel << 9) { - *moveID = monLevelUpMoves[*index] & 0x1FF; + if ((levelUpLearnset[*index] & 0xFE00) == level << 9) { + *move = levelUpLearnset[*index] & 0x1FF; (*index)++; - result = Pokemon_AddMove(mon, *moveID); + ret = Pokemon_TryAppendMove(mon, *move); } - - Heap_Free(monLevelUpMoves); - return result; + Heap_Free(levelUpLearnset); + return ret; } -void Pokemon_SwapMoveSlots(Pokemon *mon, int moveSlot1, int moveSlot2) +void Pokemon_SwapMoveSlots(Pokemon *mon, int slot1, int slot2) { - BoxPokemon_SwapMoveSlots(&mon->box, moveSlot1, moveSlot2); + BoxPokemon_SwapMoveSlots(&mon->box, slot1, slot2); } -void BoxPokemon_SwapMoveSlots(BoxPokemon *boxMon, int moveSlot1, int moveSlot2) +void BoxPokemon_SwapMoveSlots(BoxPokemon *boxMon, int slot1, int slot2) { - u16 moveIDs[2]; - u8 movePPs[2]; - u8 movePPUps[2]; + u16 moves[2]; + u8 pp[2]; + u8 ppUp[2]; - moveIDs[0] = BoxPokemon_GetValue(boxMon, MON_DATA_MOVE1 + moveSlot1, NULL); - movePPs[0] = BoxPokemon_GetValue(boxMon, MON_DATA_MOVE1_PP + moveSlot1, NULL); - movePPUps[0] = BoxPokemon_GetValue(boxMon, MON_DATA_MOVE1_PP_UPS + moveSlot1, NULL); - moveIDs[1] = BoxPokemon_GetValue(boxMon, MON_DATA_MOVE1 + moveSlot2, NULL); - movePPs[1] = BoxPokemon_GetValue(boxMon, MON_DATA_MOVE1_PP + moveSlot2, NULL); - movePPUps[1] = BoxPokemon_GetValue(boxMon, MON_DATA_MOVE1_PP_UPS + moveSlot2, NULL); + moves[0] = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1 + slot1, NULL); + pp[0] = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP + slot1, NULL); + ppUp[0] = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP_UPS + slot1, NULL); + moves[1] = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1 + slot2, NULL); + pp[1] = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP + slot2, NULL); + ppUp[1] = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_PP_UPS + slot2, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_MOVE1 + moveSlot1, &moveIDs[1]); - BoxPokemon_SetValue(boxMon, MON_DATA_MOVE1_PP + moveSlot1, &movePPs[1]); - BoxPokemon_SetValue(boxMon, MON_DATA_MOVE1_PP_UPS + moveSlot1, &movePPUps[1]); - BoxPokemon_SetValue(boxMon, MON_DATA_MOVE1 + moveSlot2, &moveIDs[0]); - BoxPokemon_SetValue(boxMon, MON_DATA_MOVE1_PP + moveSlot2, &movePPs[0]); - BoxPokemon_SetValue(boxMon, MON_DATA_MOVE1_PP_UPS + moveSlot2, &movePPUps[0]); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1 + slot1, &moves[1]); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP + slot1, &pp[1]); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP_UPS + slot1, &ppUp[1]); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1 + slot2, &moves[0]); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP + slot2, &pp[0]); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP_UPS + slot2, &ppUp[0]); } -void Pokemon_ClearMoveSlot(Pokemon *mon, u32 moveSlot) +void Pokemon_ClearMoveSlot(Pokemon *mon, u32 slot) { - u16 moveID; - u8 movePP; - u8 movePPUps; + u16 move; + u8 pp; + u8 ppUp; - for (u32 i = moveSlot; i < 3; i++) { - moveID = Pokemon_GetValue(mon, MON_DATA_MOVE1 + i + 1, NULL); - movePP = Pokemon_GetValue(mon, MON_DATA_MOVE1_PP + i + 1, NULL); - movePPUps = Pokemon_GetValue(mon, MON_DATA_MOVE1_PP_UPS + i + 1, NULL); - - Pokemon_SetValue(mon, MON_DATA_MOVE1 + i, &moveID); - Pokemon_SetValue(mon, MON_DATA_MOVE1_PP + i, &movePP); - Pokemon_SetValue(mon, MON_DATA_MOVE1_PP_UPS + i, &movePPUps); + for (u32 i = slot; i < MAX_MON_MOVES - 1; i++) { + move = Pokemon_GetData(mon, MON_DATA_MOVE1 + i + 1, NULL); + pp = Pokemon_GetData(mon, MON_DATA_MOVE1_PP + i + 1, NULL); + ppUp = Pokemon_GetData(mon, MON_DATA_MOVE1_PP_UPS + i + 1, NULL); + Pokemon_SetData(mon, MON_DATA_MOVE1 + i, &move); + Pokemon_SetData(mon, MON_DATA_MOVE1_PP + i, &pp); + Pokemon_SetData(mon, MON_DATA_MOVE1_PP_UPS + i, &ppUp); } - moveID = 0; - movePP = 0; - movePPUps = 0; - - Pokemon_SetValue(mon, MON_DATA_MOVE4, &moveID); - Pokemon_SetValue(mon, MON_DATA_MOVE4_PP, &movePP); - Pokemon_SetValue(mon, MON_DATA_MOVE4_PP_UPS, &movePPUps); + move = MOVE_NONE; + pp = 0; + ppUp = 0; + Pokemon_SetData(mon, MON_DATA_MOVE1 + MAX_MON_MOVES - 1, &move); + Pokemon_SetData(mon, MON_DATA_MOVE1_PP + MAX_MON_MOVES - 1, &pp); + Pokemon_SetData(mon, MON_DATA_MOVE1_PP_UPS + MAX_MON_MOVES - 1, &ppUp); } -static BOOL Pokemon_HasMove(Pokemon *mon, u16 moveID) +static BOOL Pokemon_HasMove(Pokemon *mon, u16 move) { int i; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { - if (Pokemon_GetValue(mon, MON_DATA_MOVE1 + i, NULL) == moveID) { + for (i = 0; i < MAX_MON_MOVES; i++) { + if (Pokemon_GetData(mon, MON_DATA_MOVE1 + i, NULL) == move) { break; } } - - return i != 4; + return i != MAX_MON_MOVES; } -void Pokemon_FromBoxPokemon(BoxPokemon *boxMon, Pokemon *mon) +void BoxPokemon_CopyToPokemon(BoxPokemon *src, Pokemon *dest) { u32 zero = 0; - mon->box = *boxMon; - if (mon->box.boxDecrypted) { - mon->box.partyDecrypted = TRUE; + dest->box = *src; + if (dest->box.boxDecrypted) { + dest->box.partyDecrypted = TRUE; } - - Pokemon_SetValue(mon, MON_DATA_STATUS, &zero); - Pokemon_SetValue(mon, MON_DATA_HP, &zero); - Pokemon_SetValue(mon, MON_DATA_MAX_HP, &zero); + Pokemon_SetData(dest, MON_DATA_STATUS, &zero); + Pokemon_SetData(dest, MON_DATA_HP, &zero); + Pokemon_SetData(dest, MON_DATA_MAX_HP, &zero); Mail *mail = Mail_New(HEAP_ID_SYSTEM); - Pokemon_SetValue(mon, MON_DATA_MAIL, mail); + Pokemon_SetData(dest, MON_DATA_MAIL, mail); Heap_Free(mail); - Pokemon_SetValue(mon, MON_DATA_BALL_CAPSULE_ID, &zero); - - BallCapsule v2; - MI_CpuClearFast(&v2, sizeof(BallCapsule)); - Pokemon_SetValue(mon, MON_DATA_BALL_CAPSULE, &v2); + BallCapsule capsule; + Pokemon_SetData(dest, MON_DATA_BALL_CAPSULE_ID, &zero); + MI_CpuClearFast(&capsule, sizeof(capsule)); + Pokemon_SetData(dest, MON_DATA_BALL_CAPSULE, &capsule); - Pokemon_CalcLevelAndStats(mon); + Pokemon_CalcLevelAndStats(dest); } u8 Party_GetMaxLevel(Party *party) { - int currentPartyCount = Party_GetCurrentCount(party); + int count = Party_GetCurrentCount(party); + u8 ret = 1; - u8 result = 1; - - for (int i = 0; i < currentPartyCount; i++) { + for (int i = 0; i < count; i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(party, i); - if (Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL) && Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) == FALSE) { - u8 monLevel = Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL); - - if (monLevel > result) { - result = monLevel; + if (Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) != SPECIES_NONE + && !Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL)) { + u8 level = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); + if (level > ret) { + ret = level; } } } - - return result; + return ret; } u16 Pokemon_SinnohDexNumber(u16 species) @@ -4093,19 +3413,16 @@ u16 Pokemon_NationalDexNumber(u16 sinnohDexNumber) void Pokemon_Copy(Pokemon *src, Pokemon *dest) { *dest = *src; - return; } void BoxPokemon_Copy(BoxPokemon *src, BoxPokemon *dest) { *dest = *src; - return; } -void BoxPokemon_FromPokemon(Pokemon *src, BoxPokemon *dest) +void Pokemon_CopyToBoxPokemon(Pokemon *src, BoxPokemon *dest) { *dest = src->box; - return; } s8 Pokemon_GetFlavorAffinity(Pokemon *mon, enum Flavor flavor) @@ -4115,20 +3432,19 @@ s8 Pokemon_GetFlavorAffinity(Pokemon *mon, enum Flavor flavor) static s8 BoxPokemon_GetFlavorAffinity(BoxPokemon *boxMon, enum Flavor flavor) { - return Pokemon_GetFlavorAffinityOf(BoxPokemon_GetValue(boxMon, MON_DATA_PERSONALITY, NULL), flavor); + return Personality_GetFlavorAffinity(BoxPokemon_GetData(boxMon, MON_DATA_PERSONALITY, NULL), flavor); } -s8 Pokemon_GetFlavorAffinityOf(u32 monPersonality, enum Flavor flavor) +s8 Personality_GetFlavorAffinity(u32 personality, enum Flavor flavor) { - u8 monNature = Pokemon_GetNatureOf(monPersonality); - return sNatureFlavorAffinities[monNature][flavor]; + return sNatureFlavorAffinities[Personality_GetNature(personality)][flavor]; } int Pokemon_LoadLevelUpMoveIdsOf(int monSpecies, int monForm, u16 *monLevelUpMoveIDs) { u16 *monLevelUpMoves = Heap_Alloc(HEAP_ID_SYSTEM, sizeof(SpeciesLearnset)); - Pokemon_LoadLevelUpMovesOf(monSpecies, monForm, monLevelUpMoves); + Species_LoadLevelUpLearnset(monSpecies, monForm, monLevelUpMoves); int result = 0; @@ -4141,128 +3457,107 @@ int Pokemon_LoadLevelUpMoveIdsOf(int monSpecies, int monForm, u16 *monLevelUpMov return result; } -void Pokemon_ApplyPokerus(Party *party) +void Party_GivePokerusAtRandom(Party *party) { - int currentPartyCount = Party_GetCurrentCount(party); - u16 rand = LCRNG_Next(); - - if (rand == 16384 || rand == 32768 || rand == 49152) { - int partySlot; - Pokemon *mon; + int count = Party_GetCurrentCount(party); + int slot; + Pokemon *mon; + u8 pokerus; + switch (LCRNG_Next()) { + case 0x4000: + case 0x8000: + case 0xC000: do { - partySlot = LCRNG_Next() % currentPartyCount; - mon = Party_GetPokemonBySlotIndex(party, partySlot); - - if (Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL) && Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) == FALSE) { - break; - } else { - partySlot = currentPartyCount; - } - } while (partySlot == currentPartyCount); + slot = LCRNG_Next() % count; + mon = Party_GetPokemonBySlotIndex(party, slot); + } while (Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) == SPECIES_NONE || Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL)); - if (Pokemon_HasPokerus(party, FlagIndex(partySlot)) == 0) { - u8 monPokerus; + if (!Party_MaskHasPokerus(party, FlagIndex(slot))) { do { - monPokerus = LCRNG_Next() & 0xff; - } while ((monPokerus & 0x7) == 0); - - if (monPokerus & 0xf0) { - monPokerus &= 0x7; + pokerus = LCRNG_Next(); + } while (!(pokerus & 0x7)); + if (pokerus & 0xf0) { + pokerus &= 0x7; } - - monPokerus |= (monPokerus << 4); - monPokerus &= 0xf3; - monPokerus++; - - Pokemon_SetValue(mon, MON_DATA_POKERUS, &monPokerus); + pokerus |= pokerus << 4; + pokerus &= 0xf3; + pokerus++; + Pokemon_SetData(mon, MON_DATA_POKERUS, &pokerus); } } } -u8 Pokemon_HasPokerus(Party *party, u8 param1) +u8 Party_MaskHasPokerus(Party *party, u8 partyMask) { - int partySlot = 0; - int v1 = 1; - - u8 result = 0; - if (param1) { + int slot = 0; + u32 flag = 1; + u8 ret = 0; + Pokemon *mon; + if (partyMask != 0) { do { - if (param1 & 1) { - Pokemon *mon = Party_GetPokemonBySlotIndex(party, partySlot); - - if (Pokemon_GetValue(mon, MON_DATA_POKERUS, NULL)) { - result |= v1; + if (partyMask & 1) { + mon = Party_GetPokemonBySlotIndex(party, slot); + if (Pokemon_GetData(mon, MON_DATA_POKERUS, NULL)) { + ret |= flag; } } - - partySlot++; - v1 = v1 << 1; - param1 = param1 >> 1; - } while (param1 != 0); + slot++; + flag <<= 1; + partyMask >>= 1; + } while (partyMask != 0); } else { - Pokemon *mon = Party_GetPokemonBySlotIndex(party, partySlot); - - if (Pokemon_GetValue(mon, MON_DATA_POKERUS, NULL)) { - result++; + mon = Party_GetPokemonBySlotIndex(party, slot); + if (Pokemon_GetData(mon, MON_DATA_POKERUS, NULL)) { + ret++; } } - - return result; + return ret; } -void Party_UpdatePokerusStatus(Party *party, s32 daysPassed) +void Party_UpdatePokerus(Party *party, int daysPassed) { - int currentPartyCount = Party_GetCurrentCount(party); - - for (int i = 0; i < currentPartyCount; i++) { + int count = Party_GetCurrentCount(party); + for (int i = 0; i < count; i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(party, i); - - if (Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL)) { - u8 monPokerus = Pokemon_GetValue(mon, MON_DATA_POKERUS, NULL); - - if (monPokerus & 0xf) { - if (((monPokerus & 0xf) < daysPassed) || (daysPassed > 4)) { - monPokerus &= 0xf0; + if (Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) != SPECIES_NONE) { + u8 pokerus = Pokemon_GetData(mon, MON_DATA_POKERUS, NULL); + if (pokerus & 0xf) { + if ((pokerus & 0xf) < daysPassed || daysPassed > 4) { + pokerus &= 0xf0; } else { - monPokerus -= daysPassed; + pokerus -= daysPassed; } - if (monPokerus == 0) { - monPokerus = 0x10; + if (pokerus == 0) { + pokerus = 0x10; // immune } - - Pokemon_SetValue(mon, MON_DATA_POKERUS, &monPokerus); + Pokemon_SetData(mon, MON_DATA_POKERUS, &pokerus); } } } } -void Pokemon_ValidatePokerus(Party *party) +void Party_SpreadPokerus(Party *party) { - int currentPartyCount = Party_GetCurrentCount(party); - - if (LCRNG_Next() % 3 == 0) { - for (int i = 0; i < currentPartyCount; i++) { + int count = Party_GetCurrentCount(party); + if ((LCRNG_Next() % 3) == 0) { + for (int i = 0; i < count; i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(party, i); - - if (Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL)) { - u8 monPokerus = Pokemon_GetValue(mon, MON_DATA_POKERUS, NULL); - - if (monPokerus & 0xf) { + if (Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) != SPECIES_NONE) { + u8 pokerus = Pokemon_GetData(mon, MON_DATA_POKERUS, NULL); + if (pokerus & 0xf) { if (i != 0) { mon = Party_GetPokemonBySlotIndex(party, i - 1); - - if ((Pokemon_GetValue(mon, MON_DATA_POKERUS, NULL) & 0xf0) == 0) { - Pokemon_SetValue(mon, MON_DATA_POKERUS, &monPokerus); + if (!(Pokemon_GetData(mon, MON_DATA_POKERUS, NULL) & 0xf0)) { + Pokemon_SetData(mon, MON_DATA_POKERUS, &pokerus); } } - if (i < currentPartyCount - 1) { + if (i < count - 1) { mon = Party_GetPokemonBySlotIndex(party, i + 1); - - if ((Pokemon_GetValue(mon, MON_DATA_POKERUS, NULL) & 0xf0) == 0) { - Pokemon_SetValue(mon, MON_DATA_POKERUS, &monPokerus); - i++; + if (!(Pokemon_GetData(mon, MON_DATA_POKERUS, NULL) & 0xf0)) { + Pokemon_SetData(mon, MON_DATA_POKERUS, &pokerus); + i++; // don't infect the rest of the party } } } @@ -4271,318 +3566,276 @@ void Pokemon_ValidatePokerus(Party *party) } } -BOOL Pokemon_InfectedWithPokerus(Pokemon *mon) +BOOL Pokemon_HasPokerus(Pokemon *mon) { - return IsBoxPokemonInfectedWithPokerus(&mon->box); + return BoxPokemon_HasPokerus(&mon->box); } -static BOOL IsBoxPokemonInfectedWithPokerus(BoxPokemon *boxMon) +static BOOL BoxPokemon_HasPokerus(BoxPokemon *boxMon) { - return (BoxPokemon_GetValue(boxMon, MON_DATA_POKERUS, NULL) & 0xf) != 0; + return (BoxPokemon_GetData(boxMon, MON_DATA_POKERUS, NULL) & 0xf) != 0; } -BOOL Pokemon_HasCuredPokerus(Pokemon *mon) +BOOL Pokemon_IsImmuneToPokerus(Pokemon *mon) { - return BoxPokemonHasCuredPokerus(&mon->box); + return BoxPokemon_IsImmuneToPokerus(&mon->box); } -static BOOL BoxPokemonHasCuredPokerus(BoxPokemon *boxMon) +static BOOL BoxPokemon_IsImmuneToPokerus(BoxPokemon *boxMon) { - u8 monPokerus = BoxPokemon_GetValue(boxMon, MON_DATA_POKERUS, NULL); - - if (monPokerus & 0xF) { + u8 pokerus = BoxPokemon_GetData(boxMon, MON_DATA_POKERUS, NULL); + if (pokerus & 0xF) { return FALSE; } - - return (monPokerus & 0xF0) != 0; + if (pokerus & 0xF0) { + return TRUE; + } + return FALSE; } -void Pokemon_SetArceusForm(Pokemon *mon) +void Pokemon_UpdateArceusForm(Pokemon *mon) { - BoxPokemon_SetArceusForm(&mon->box); + BoxPokemon_UpdateArceusForm(&mon->box); } -void BoxPokemon_SetArceusForm(BoxPokemon *boxMon) +void BoxPokemon_UpdateArceusForm(BoxPokemon *boxMon) { - int monSpecies = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); - int monAbility = BoxPokemon_GetValue(boxMon, MON_DATA_ABILITY, NULL); - int monHeldItem = BoxPokemon_GetValue(boxMon, MON_DATA_HELD_ITEM, NULL); - - if (monSpecies == SPECIES_ARCEUS && monAbility == ABILITY_MULTITYPE) { - int monForm = Pokemon_GetArceusTypeOf(Item_LoadParam(monHeldItem, ITEM_PARAM_HOLD_EFFECT, HEAP_ID_SYSTEM)); - BoxPokemon_SetValue(boxMon, MON_DATA_FORM, &monForm); + u32 species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); + u32 ability = BoxPokemon_GetData(boxMon, MON_DATA_ABILITY, NULL); + u32 heldItem = BoxPokemon_GetData(boxMon, MON_DATA_HELD_ITEM, NULL); + if (species == SPECIES_ARCEUS && ability == ABILITY_MULTITYPE) { + u32 form = HoldEffect_GetArceusType(Item_LoadParam(heldItem, ITEM_PARAM_HOLD_EFFECT, HEAP_ID_SYSTEM)); + BoxPokemon_SetData(boxMon, MON_DATA_FORM, &form); } } -u8 Pokemon_GetArceusTypeOf(u16 itemHoldEffect) +u8 HoldEffect_GetArceusType(u16 holdEffect) { - u8 type; - - switch (itemHoldEffect) { + switch (holdEffect) { case HOLD_EFFECT_ARCEUS_FIRE: - type = TYPE_FIRE; - break; + return TYPE_FIRE; case HOLD_EFFECT_ARCEUS_WATER: - type = TYPE_WATER; - break; + return TYPE_WATER; case HOLD_EFFECT_ARCEUS_ELECTRIC: - type = TYPE_ELECTRIC; - break; + return TYPE_ELECTRIC; case HOLD_EFFECT_ARCEUS_GRASS: - type = TYPE_GRASS; - break; + return TYPE_GRASS; case HOLD_EFFECT_ARCEUS_ICE: - type = TYPE_ICE; - break; + return TYPE_ICE; case HOLD_EFFECT_ARCEUS_FIGHTING: - type = TYPE_FIGHTING; - break; + return TYPE_FIGHTING; case HOLD_EFFECT_ARCEUS_POISON: - type = TYPE_POISON; - break; + return TYPE_POISON; case HOLD_EFFECT_ARCEUS_GROUND: - type = TYPE_GROUND; - break; + return TYPE_GROUND; case HOLD_EFFECT_ARCEUS_FLYING: - type = TYPE_FLYING; - break; + return TYPE_FLYING; case HOLD_EFFECT_ARCEUS_PSYCHIC: - type = TYPE_PSYCHIC; - break; + return TYPE_PSYCHIC; case HOLD_EFFECT_ARCEUS_BUG: - type = TYPE_BUG; - break; + return TYPE_BUG; case HOLD_EFFECT_ARCEUS_ROCK: - type = TYPE_ROCK; - break; + return TYPE_ROCK; case HOLD_EFFECT_ARCEUS_GHOST: - type = TYPE_GHOST; - break; + return TYPE_GHOST; case HOLD_EFFECT_ARCEUS_DRAGON: - type = TYPE_DRAGON; - break; + return TYPE_DRAGON; case HOLD_EFFECT_ARCEUS_DARK: - type = TYPE_DARK; - break; + return TYPE_DARK; case HOLD_EFFECT_ARCEUS_STEEL: - type = TYPE_STEEL; - break; + return TYPE_STEEL; default: - type = TYPE_NORMAL; - break; + return TYPE_NORMAL; } - - return type; } -int Pokemon_SetGiratinaFormByHeldItem(Pokemon *mon) +s32 Pokemon_UpdateGiratinaForm(Pokemon *mon) { - int result = BoxPokemon_SetGiratinaForm(&mon->box); - - if (result != -1) { + s32 ret = BoxPokemon_UpdateGiratinaForm(&mon->box); + if (ret != -1) { Pokemon_CalcLevelAndStats(mon); } - - return result; + return ret; } -int BoxPokemon_SetGiratinaForm(BoxPokemon *boxMon) +s32 BoxPokemon_UpdateGiratinaForm(BoxPokemon *boxMon) { - int species = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); - int item = BoxPokemon_GetValue(boxMon, MON_DATA_HELD_ITEM, NULL); - + int species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); + int item = BoxPokemon_GetData(boxMon, MON_DATA_HELD_ITEM, NULL); if (species == SPECIES_GIRATINA) { - int form = (item == ITEM_GRISEOUS_ORB) ? GIRATINA_FORM_ORIGIN : GIRATINA_FORM_ALTERED; - - BoxPokemon_SetValue(boxMon, MON_DATA_FORM, &form); - BoxPokemon_CalcAbility(boxMon); - + int form; + if (item == ITEM_GRISEOUS_ORB) { + form = GIRATINA_FORM_ORIGIN; + } else { + form = GIRATINA_FORM_ALTERED; + } + BoxPokemon_SetData(boxMon, MON_DATA_FORM, &form); + BoxPokemon_UpdateAbility(boxMon); return form; } - return -1; } -void Pokemon_SetGiratinaOriginForm(Pokemon *mon) +void Pokemon_ForceSetGiratinaOriginForm(Pokemon *mon) { - int form = GIRATINA_FORM_ORIGIN; - - if (Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL) == SPECIES_GIRATINA) { - BoxPokemon_SetValue(&mon->box, MON_DATA_FORM, &form); - BoxPokemon_CalcAbility(&mon->box); + s32 form = GIRATINA_FORM_ORIGIN; + if (Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) == SPECIES_GIRATINA) { + BoxPokemon_SetData(&mon->box, MON_DATA_FORM, &form); + BoxPokemon_UpdateAbility(&mon->box); Pokemon_CalcLevelAndStats(mon); } } -void Party_SetGiratinaForm(Party *party, int form) +void Party_UpdateGiratinaForms(Party *party, BOOL forceOrigin) { - int currentPartyCount = Party_GetCurrentCount(party); - - for (int i = 0; i < currentPartyCount; i++) { + int count = Party_GetCurrentCount(party); + for (int i = 0; i < count; i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(party, i); - - if (form) { - Pokemon_SetGiratinaOriginForm(mon); + if (forceOrigin) { + Pokemon_ForceSetGiratinaOriginForm(mon); } else { - Pokemon_SetGiratinaFormByHeldItem(mon); + Pokemon_UpdateGiratinaForm(mon); } } } -void Pokemon_SetShayminForm(Pokemon *mon, int form) +void Pokemon_UpdateShayminForm(Pokemon *mon, int form) { - BoxPokemon_SetShayminForm(&mon->box, form); + BoxPokemon_UpdateShayminForm(&mon->box, form); Pokemon_CalcLevelAndStats(mon); } -void BoxPokemon_SetShayminForm(BoxPokemon *boxMon, int form) +void BoxPokemon_UpdateShayminForm(BoxPokemon *boxMon, int form) { - int species = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); - - if (species == SPECIES_SHAYMIN) { + if (BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL) == SPECIES_SHAYMIN) { GF_ASSERT(form <= SHAYMIN_FORM_COUNT - 1); - - BoxPokemon_SetValue(boxMon, MON_DATA_FORM, &form); - BoxPokemon_CalcAbility(boxMon); + BoxPokemon_SetData(boxMon, MON_DATA_FORM, &form); + BoxPokemon_UpdateAbility(boxMon); } } BOOL Pokemon_CanShayminSkyForm(Pokemon *mon) { - u32 species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - u32 monForm = Pokemon_GetValue(mon, MON_DATA_FORM, NULL); - u32 condition = Pokemon_GetValue(mon, MON_DATA_STATUS, NULL); - u32 currentHP = Pokemon_GetValue(mon, MON_DATA_HP, NULL); - u32 fatefulEncounter = Pokemon_GetValue(mon, MON_DATA_FATEFUL_ENCOUNTER, NULL); + u32 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + u32 form = Pokemon_GetData(mon, MON_DATA_FORM, NULL); + u32 status = Pokemon_GetData(mon, MON_DATA_STATUS, NULL); + u32 hp = Pokemon_GetData(mon, MON_DATA_HP, NULL); + BOOL fatefulEncounter = Pokemon_GetData(mon, MON_DATA_FATEFUL_ENCOUNTER, NULL); - RTCTime rtcTime; - RTC_GetCurrentTime(&rtcTime); + RTCTime time; + RTC_GetCurrentTime(&time); - return species == SPECIES_SHAYMIN - && monForm == SHAYMIN_FORM_LAND - && currentHP > 0 + if (species == SPECIES_SHAYMIN + && form == SHAYMIN_FORM_LAND + && hp > 0 && fatefulEncounter == TRUE - && (condition & MON_CONDITION_FREEZE) == FALSE - && rtcTime.hour >= 4 - && rtcTime.hour < 20; + && !(status & MON_CONDITION_FREEZE) + && time.hour >= 4 + && time.hour < 20) { + return TRUE; + } else { + return FALSE; + } } -void Party_SetShayminLandForm(Party *party) +void Party_SetShayminLandForms(Party *party) { - int currentPartyCount = Party_GetCurrentCount(party); - - for (int i = 0; i < currentPartyCount; i++) { + int count = Party_GetCurrentCount(party); + for (int i = 0; i < count; i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(party, i); - int species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - int form = Pokemon_GetValue(mon, MON_DATA_FORM, NULL); - + int species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + int form = Pokemon_GetData(mon, MON_DATA_FORM, NULL); if (species == SPECIES_SHAYMIN && form == SHAYMIN_FORM_SKY) { - int newForm = SHAYMIN_FORM_LAND; - Pokemon_SetShayminForm(mon, newForm); + Pokemon_UpdateShayminForm(mon, SHAYMIN_FORM_LAND); } } } -BOOL Party_SetShayminForm(Party *party, int param1, const RTCTime *rtcTime) +BOOL Party_UpdateShayminForms(Party *party, int minutesDiff, const RTCTime *time) { - if (rtcTime->hour >= 20 || rtcTime->hour < 4) { - s32 hours = rtcTime->hour; - - if (hours < 4) { - hours += 24; + s32 hour, minutes; + if (time->hour >= 20 || time->hour < 4) { + hour = time->hour; + if (hour < 4) { + hour += 24; } - - hours -= 20; - s32 minutes = rtcTime->minute + hours * 60; - - param1++; - - if (minutes < param1) { - Party_SetShayminLandForm(party); + minutes = time->minute + 60 * (hour - 20); + if (minutes < minutesDiff + 1) { + Party_SetShayminLandForms(party); return TRUE; } - return FALSE; } else { - s32 minutes = rtcTime->minute + (rtcTime->hour - 4) * 60; - - if (minutes < param1) { - Party_SetShayminLandForm(party); + minutes = time->minute + (time->hour - 4) * 60; + if (minutes < minutesDiff) { + Party_SetShayminLandForms(party); return TRUE; } - return FALSE; } } -BOOL Pokemon_SetRotomForm(Pokemon *mon, int form, int moveSlot) +BOOL Pokemon_UpdateRotomForm(Pokemon *mon, int form, int moveSlot) { - int monSpecies = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); + static const u16 rotomFormMoves[ROTOM_FORM_COUNT] = { + [ROTOM_FORM_BASE] = MOVE_NONE, + [ROTOM_FORM_HEAT] = MOVE_OVERHEAT, + [ROTOM_FORM_WASH] = MOVE_HYDRO_PUMP, + [ROTOM_FORM_FROST] = MOVE_BLIZZARD, + [ROTOM_FORM_FAN] = MOVE_AIR_SLASH, + [ROTOM_FORM_MOW] = MOVE_LEAF_STORM, + }; - if (monSpecies != SPECIES_ROTOM) { + if (Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) != SPECIES_ROTOM) { return FALSE; } - int currentMonForm = Pokemon_GetValue(mon, MON_DATA_FORM, NULL); - - static const u16 rotomFormMoves[] = { - MOVE_NONE, - MOVE_OVERHEAT, - MOVE_HYDRO_PUMP, - MOVE_BLIZZARD, - MOVE_AIR_SLASH, - MOVE_LEAF_STORM - }; - - int newFormMoveID = rotomFormMoves[form]; + // Unused call + Pokemon_GetData(mon, MON_DATA_FORM, NULL); - int i; - for (i = 0; i < LEARNED_MOVES_MAX; i++) { - int j; - int moveID = Pokemon_GetValue(mon, MON_DATA_MOVE1 + i, NULL); - - for (j = 1; j < NELEMS(rotomFormMoves); j++) { - if (moveID != MOVE_NONE && moveID == rotomFormMoves[j]) { - if (newFormMoveID != MOVE_NONE) { - Pokemon_ResetMoveSlot(mon, newFormMoveID, i); - newFormMoveID = MOVE_NONE; - break; + int newMove = rotomFormMoves[form]; + int i, j; + for (i = 0; i < MAX_MON_MOVES; i++) { + int curMove = Pokemon_GetData(mon, MON_DATA_MOVE1 + i, NULL); + for (j = ROTOM_FORM_HEAT; j < NELEMS(rotomFormMoves); j++) { + if (curMove != MOVE_NONE && curMove == rotomFormMoves[j]) { + if (newMove != MOVE_NONE) { + Pokemon_SetMoveInSlot_ResetPPUp(mon, newMove, i); + newMove = MOVE_NONE; } else { Pokemon_ClearMoveSlot(mon, i); i--; - break; } + break; } } } - if (newFormMoveID != MOVE_NONE) { - for (i = 0; i < LEARNED_MOVES_MAX; i++) { - if (Pokemon_GetValue(mon, MON_DATA_MOVE1 + i, NULL) == MOVE_NONE) { - Pokemon_ResetMoveSlot(mon, newFormMoveID, i); + if (newMove != MOVE_NONE) { + for (i = 0; i < MAX_MON_MOVES; i++) { + if (Pokemon_GetData(mon, MON_DATA_MOVE1 + i, NULL) == MOVE_NONE) { + Pokemon_SetMoveInSlot_ResetPPUp(mon, newMove, i); break; } } - if (i == 4) { - Pokemon_ResetMoveSlot(mon, newFormMoveID, moveSlot); + if (i == MAX_MON_MOVES) { + Pokemon_SetMoveInSlot_ResetPPUp(mon, newMove, moveSlot); } } - if (Pokemon_GetValue(mon, MON_DATA_MOVE1, NULL) == MOVE_NONE) { - Pokemon_ResetMoveSlot(mon, MOVE_THUNDER_SHOCK, 0); + if (Pokemon_GetData(mon, MON_DATA_MOVE1, NULL) == MOVE_NONE) { + Pokemon_SetMoveInSlot_ResetPPUp(mon, MOVE_THUNDER_SHOCK, 0); } - - Pokemon_SetValue(mon, MON_DATA_FORM, &form); - Pokemon_CalcAbility(mon); + Pokemon_SetData(mon, MON_DATA_FORM, &form); + Pokemon_UpdateAbility(mon); Pokemon_CalcLevelAndStats(mon); - return TRUE; } -void Pokemon_LoadLevelUpMovesOf(int monSpecies, int monForm, u16 *monLevelUpMoves) +void Species_LoadLevelUpLearnset(int monSpecies, int monForm, u16 *monLevelUpMoves) { - monSpecies = Pokemon_GetFormNarcIndex(monSpecies, monForm); + monSpecies = Species_GetFormNarcIndex(monSpecies, monForm); NARC_ReadWholeMemberByIndexPair(monLevelUpMoves, NARC_INDEX_POKETOOL__PERSONAL__WOTBL, monSpecies); } @@ -4628,8 +3881,8 @@ void Species_PlayDelayedCry(ChatotCry *chatotCry, enum PokemonCryMod cryMod, u16 BOOL Pokemon_PlayCry(Pokemon *mon) { - int species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - int form = Pokemon_GetValue(mon, MON_DATA_FORM, NULL); + int species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + int form = Pokemon_GetData(mon, MON_DATA_FORM, NULL); return Sound_PlayPokemonCry(species, form); } @@ -4639,20 +3892,20 @@ void Pokemon_SetCatchData(Pokemon *mon, TrainerInfo *trainerInfo, int monPokebal InitializeBoxPokemonAfterCapture(&mon->box, trainerInfo, monPokeball, metLocation, metTerrain, heapID); if (monPokeball == ITEM_HEAL_BALL) { - int monMaxHP = Pokemon_GetValue(mon, MON_DATA_MAX_HP, NULL); - Pokemon_SetValue(mon, MON_DATA_HP, &monMaxHP); + int monMaxHP = Pokemon_GetData(mon, MON_DATA_MAX_HP, NULL); + Pokemon_SetData(mon, MON_DATA_HP, &monMaxHP); monMaxHP = 0; - Pokemon_SetValue(mon, MON_DATA_STATUS, &monMaxHP); + Pokemon_SetData(mon, MON_DATA_STATUS, &monMaxHP); } } static void InitializeBoxPokemonAfterCapture(BoxPokemon *boxMon, TrainerInfo *trainer, int monPokeball, int metLocation, int metTerrain, enum HeapID heapID) { UpdateBoxMonStatusAndTrainerInfo(boxMon, trainer, 0, metLocation, heapID); - BoxPokemon_SetValue(boxMon, MON_DATA_MET_GAME, &gGameVersion); - BoxPokemon_SetValue(boxMon, MON_DATA_POKEBALL, &monPokeball); - BoxPokemon_SetValue(boxMon, MON_DATA_MET_TERRAIN, &metTerrain); + BoxPokemon_SetData(boxMon, MON_DATA_MET_GAME, &gGameVersion); + BoxPokemon_SetData(boxMon, MON_DATA_POKEBALL, &monPokeball); + BoxPokemon_SetData(boxMon, MON_DATA_MET_TERRAIN, &metTerrain); } void Pokemon_UpdateAfterCatch(Pokemon *mon, TrainerInfo *param1, int monPokeball, int param3, int param4, int param5) @@ -4665,178 +3918,169 @@ static void PostCaptureBoxPokemonProcessing(BoxPokemon *boxMon, TrainerInfo *par InitializeBoxPokemonAfterCapture(boxMon, param1, monPokeball, param3, param4, param5); } -static const u16 sHeldItemChance[][2] = { - { 45, 95 }, - { 20, 80 } +static const u16 sHeldItemOdds[][2] = { + { 45, 95 }, // Without CompoundEyes (itemRates == 0) 45% no item, 50% common item, 5% rare item + { 20, 80 }, // With CompoundEyes (itemRates == 1) 20% no item, 60% common item, 20% rare item }; -void Pokemon_GiveHeldItem(Pokemon *mon, u32 battleType, int itemRates) +void Pokemon_GiveWildHeldItem(Pokemon *mon, u32 battleType, int itemRates) { if (battleType & (BATTLE_TYPE_TRAINER | BATTLE_TYPE_FRONTIER)) { return; } u32 rand = LCRNG_Next() % 100; - u16 monSpecies = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - u16 monForm = Pokemon_GetValue(mon, MON_DATA_FORM, NULL); - u16 monItem1 = SpeciesData_GetFormValue(monSpecies, monForm, SPECIES_DATA_HELD_ITEM_COMMON); - u16 monItem2 = SpeciesData_GetFormValue(monSpecies, monForm, SPECIES_DATA_HELD_ITEM_RARE); + u16 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + u16 form = Pokemon_GetData(mon, MON_DATA_FORM, NULL); + u16 item1 = Species_GetFormValue(species, form, SPECIES_DATA_HELD_ITEM_COMMON); + u16 item2 = Species_GetFormValue(species, form, SPECIES_DATA_HELD_ITEM_RARE); - if (monItem1 == monItem2 && monItem1 != ITEM_NONE) { - Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, &monItem1); + if (item1 == item2 && item1 != ITEM_NONE) { + Pokemon_SetData(mon, MON_DATA_HELD_ITEM, &item1); return; } - // Without CompoundEyes (itemRates == 0) 45% no item, 50% common item, 5% rare item - // With CompoundEyes (itemRates == 1) 20% no item, 60% common item, 20% rare item - if (rand < sHeldItemChance[itemRates][0]) { + if (rand < sHeldItemOdds[itemRates][0]) { return; - } else if (rand < sHeldItemChance[itemRates][1]) { - Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, &monItem1); + } else if (rand < sHeldItemOdds[itemRates][1]) { + Pokemon_SetData(mon, MON_DATA_HELD_ITEM, &item1); } else { - Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, &monItem2); + Pokemon_SetData(mon, MON_DATA_HELD_ITEM, &item2); } } -BOOL Pokemon_CanLearnTM(Pokemon *mon, u8 tmID) +BOOL Pokemon_CanLearnTMHM(Pokemon *mon, u8 tmHM) { - return CanBoxPokemonLearnTM(&mon->box, tmID); + return BoxPokemon_CanLearnTMHM(&mon->box, tmHM); } -static BOOL CanBoxPokemonLearnTM(BoxPokemon *boxMon, u8 tmID) +static BOOL BoxPokemon_CanLearnTMHM(BoxPokemon *boxMon, u8 tmHM) { - u16 monSpeciesEgg = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES_OR_EGG, NULL); - int monForm = BoxPokemon_GetValue(boxMon, MON_DATA_FORM, NULL); + u16 species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES_OR_EGG, NULL); + int form = BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL); - return CanPokemonFormLearnTM(monSpeciesEgg, monForm, tmID); + return Species_CanLearnTMHM(species, form, tmHM); } -BOOL CanPokemonFormLearnTM(u16 monSpecies, int monForm, u8 tmID) +BOOL Species_CanLearnTMHM(u16 species, int form, u8 tmHM) { - if (monSpecies == SPECIES_EGG) { + if (species == SPECIES_EGG) { return FALSE; } - u32 tmFlag; - u8 speciesDataAttribute; - if (tmID < 32) { - tmFlag = (1 << tmID); - speciesDataAttribute = SPECIES_DATA_TM_LEARNSET_MASK_1; - } else if (tmID < 64) { - tmFlag = (1 << (tmID - 32)); - speciesDataAttribute = SPECIES_DATA_TM_LEARNSET_MASK_2; - } else if (tmID < 96) { - tmFlag = (1 << (tmID - 64)); - speciesDataAttribute = SPECIES_DATA_TM_LEARNSET_MASK_3; + u32 mask; + int param; + if (tmHM < 32) { + mask = (1 << tmHM); + param = SPECIES_DATA_TM_LEARNSET_MASK_1; + } else if (tmHM < 64) { + mask = (1 << (tmHM - 32)); + param = SPECIES_DATA_TM_LEARNSET_MASK_2; + } else if (tmHM < 96) { + mask = (1 << (tmHM - 64)); + param = SPECIES_DATA_TM_LEARNSET_MASK_3; } else { - tmFlag = (1 << (tmID - 96)); - speciesDataAttribute = SPECIES_DATA_TM_LEARNSET_MASK_4; + mask = (1 << (tmHM - 96)); + param = SPECIES_DATA_TM_LEARNSET_MASK_4; } - return (SpeciesData_GetFormValue(monSpecies, monForm, speciesDataAttribute) & tmFlag) != 0; + return (Species_GetFormValue(species, form, param) & mask) != 0; } -void Pokemon_CalcAbility(Pokemon *mon) +void Pokemon_UpdateAbility(Pokemon *mon) { - BoxPokemon_CalcAbility(&mon->box); + BoxPokemon_UpdateAbility(&mon->box); } -static void BoxPokemon_CalcAbility(BoxPokemon *boxMon) +static void BoxPokemon_UpdateAbility(BoxPokemon *boxMon) { - BOOL reencrypt = BoxPokemon_EnterDecryptionContext(boxMon); - int monSpecies = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); - u32 monPersonality = BoxPokemon_GetValue(boxMon, MON_DATA_PERSONALITY, NULL); - int monForm = BoxPokemon_GetValue(boxMon, MON_DATA_FORM, NULL); - int monAbility1 = SpeciesData_GetFormValue(monSpecies, monForm, SPECIES_DATA_ABILITY_1); - int monAbility2 = SpeciesData_GetFormValue(monSpecies, monForm, SPECIES_DATA_ABILITY_2); + BOOL reencrypt = BoxPokemon_DecryptData(boxMon); + int species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); + int personality = BoxPokemon_GetData(boxMon, MON_DATA_PERSONALITY, NULL); + int form = BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL); + int ability1 = Species_GetFormValue(species, form, SPECIES_DATA_ABILITY_1); + int ability2 = Species_GetFormValue(species, form, SPECIES_DATA_ABILITY_2); - if (monAbility2 != ABILITY_NONE) { - if (monPersonality & 1) { - BoxPokemon_SetValue(boxMon, MON_DATA_ABILITY, &monAbility2); + if (ability2 != ABILITY_NONE) { + if (personality & 1) { + BoxPokemon_SetData(boxMon, MON_DATA_ABILITY, &ability2); } else { - BoxPokemon_SetValue(boxMon, MON_DATA_ABILITY, &monAbility1); + BoxPokemon_SetData(boxMon, MON_DATA_ABILITY, &ability1); } } else { - BoxPokemon_SetValue(boxMon, MON_DATA_ABILITY, &monAbility1); + BoxPokemon_SetData(boxMon, MON_DATA_ABILITY, &ability1); } - - BoxPokemon_ExitDecryptionContext(boxMon, reencrypt); + BoxPokemon_EncryptData(boxMon, reencrypt); } -void sub_020780C4(Pokemon *mon, u32 monPersonality) +void Pokemon_SetPersonality(Pokemon *mon, u32 personality) { - Pokemon *newMon = Pokemon_New(HEAP_ID_SYSTEM); + Pokemon *tmpMon = Pokemon_New(HEAP_ID_SYSTEM); + Pokemon_Copy(mon, tmpMon); - Pokemon_Copy(mon, newMon); + PokemonDataBlockA *tmpBlockA = BoxPokemon_GetDataBlock(&tmpMon->box, mon->box.personality, DATA_BLOCK_A); + PokemonDataBlockB *tmpBlockB = BoxPokemon_GetDataBlock(&tmpMon->box, mon->box.personality, DATA_BLOCK_B); + PokemonDataBlockC *tmpBlockC = BoxPokemon_GetDataBlock(&tmpMon->box, mon->box.personality, DATA_BLOCK_C); + PokemonDataBlockD *tmpBlockD = BoxPokemon_GetDataBlock(&tmpMon->box, mon->box.personality, DATA_BLOCK_D); + PokemonDataBlockA *blockA = BoxPokemon_GetDataBlock(&mon->box, personality, DATA_BLOCK_A); + PokemonDataBlockB *blockB = BoxPokemon_GetDataBlock(&mon->box, personality, DATA_BLOCK_B); + PokemonDataBlockC *blockC = BoxPokemon_GetDataBlock(&mon->box, personality, DATA_BLOCK_C); + PokemonDataBlockD *blockD = BoxPokemon_GetDataBlock(&mon->box, personality, DATA_BLOCK_D); - PokemonDataBlockA *newMonBlockA = BoxPokemon_GetDataBlock(&newMon->box, mon->box.personality, DATA_BLOCK_A); - PokemonDataBlockB *newMonBlockB = BoxPokemon_GetDataBlock(&newMon->box, mon->box.personality, DATA_BLOCK_B); - PokemonDataBlockC *newMonBlockC = BoxPokemon_GetDataBlock(&newMon->box, mon->box.personality, DATA_BLOCK_C); - PokemonDataBlockD *newMonBlockD = BoxPokemon_GetDataBlock(&newMon->box, mon->box.personality, DATA_BLOCK_D); - PokemonDataBlockA *monBlockA = BoxPokemon_GetDataBlock(&mon->box, monPersonality, DATA_BLOCK_A); - PokemonDataBlockB *monBlockB = BoxPokemon_GetDataBlock(&mon->box, monPersonality, DATA_BLOCK_B); - PokemonDataBlockC *monBlockC = BoxPokemon_GetDataBlock(&mon->box, monPersonality, DATA_BLOCK_C); - PokemonDataBlockD *monBlockD = BoxPokemon_GetDataBlock(&mon->box, monPersonality, DATA_BLOCK_D); + DECRYPT_BOX(&tmpMon->box); + DECRYPT_PARTY(mon); + DECRYPT_BOX(&mon->box); - Pokemon_DecryptData(&newMon->box.dataBlocks, sizeof(PokemonDataBlock) * 4, newMon->box.checksum); - Pokemon_DecryptData(&mon->party, sizeof(PartyPokemon), mon->box.personality); - Pokemon_DecryptData(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4, mon->box.checksum); + mon->box.personality = personality; - mon->box.personality = monPersonality; + *blockA = *tmpBlockA; + *blockB = *tmpBlockB; + *blockC = *tmpBlockC; + *blockD = *tmpBlockD; - *monBlockA = *newMonBlockA; - *monBlockB = *newMonBlockB; - *monBlockC = *newMonBlockC; - *monBlockD = *newMonBlockD; - - mon->box.checksum = Pokemon_GetDataChecksum(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4); - - Pokemon_EncryptData(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4, mon->box.checksum); - Pokemon_EncryptData(&mon->party, sizeof(PartyPokemon), mon->box.personality); - Heap_Free(newMon); + mon->box.checksum = CHECKSUM(&mon->box); + ENCRYPT_BOX(&mon->box); + ENCRYPT_PARTY(mon); + Heap_Free(tmpMon); } -static void SpeciesData_LoadSpecies(int monSpecies, SpeciesData *speciesData) +static void SpeciesData_LoadSpecies(int species, SpeciesData *speciesData) { - NARC_ReadWholeMemberByIndexPair(speciesData, NARC_INDEX_POKETOOL__PERSONAL__PL_PERSONAL, monSpecies); + NARC_ReadWholeMemberByIndexPair(speciesData, NARC_INDEX_POKETOOL__PERSONAL__PL_PERSONAL, species); } -static void SpeciesData_LoadForm(int monSpecies, int monForm, SpeciesData *speciesData) +static void SpeciesData_LoadForm(int species, int form, SpeciesData *speciesData) { - monSpecies = Pokemon_GetFormNarcIndex(monSpecies, monForm); - NARC_ReadWholeMemberByIndexPair(speciesData, NARC_INDEX_POKETOOL__PERSONAL__PL_PERSONAL, monSpecies); + NARC_ReadWholeMemberByIndexPair(speciesData, NARC_INDEX_POKETOOL__PERSONAL__PL_PERSONAL, Species_GetFormNarcIndex(species, form)); } -static void LoadSpeciesEvolutions(int monSpecies, SpeciesEvolution speciesEvolutions[MAX_EVOLUTIONS]) +static void Species_LoadEvolutions(int monSpecies, Evolution speciesEvolutions[MAX_MON_EVOLUTIONS]) { NARC_ReadWholeMemberByIndexPair(speciesEvolutions, NARC_INDEX_POKETOOL__PERSONAL__EVO, monSpecies); } -static void Pokemon_EncryptData(void *data, u32 bytes, u32 seed) +static void MonEncryptSegment(void *data, u32 bytes, u32 seed) { EncodeData(data, bytes, seed); } -static void Pokemon_DecryptData(void *data, u32 bytes, u32 seed) +static void MonDecryptSegment(void *data, u32 bytes, u32 seed) { DecodeData(data, bytes, seed); } -static u16 Pokemon_GetDataChecksum(void *data, u32 bytes) +static u16 Pokemon_GetDataChecksum(void *data, u32 size) { int i; - u16 checksum = 0; - u16 *dataWords = data; - - for (i = 0; i < bytes / 2; i++) { - checksum += dataWords[i]; + u16 ret = 0; + for (i = 0; i < size / 2; i++) { + ret += dataWords[i]; } - - return checksum; + return ret; } -#define DATA_BLOCK_SHUFFLE_CASE(v1, v2, v3, v4) \ +#define SUBSTRUCT_CASE(v1, v2, v3, v4) \ { \ PokemonDataBlock *dataBlocks = boxMon->dataBlocks; \ switch (dataBlockID) { \ @@ -4860,71 +4104,69 @@ static void *BoxPokemon_GetDataBlock(BoxPokemon *boxMon, u32 personality, enum P { personality = (personality & 0x3e000) >> 13; GF_ASSERT(personality <= 31); - void *result; switch (personality) { case 0: case 24: - DATA_BLOCK_SHUFFLE_CASE(0, 1, 2, 3) + SUBSTRUCT_CASE(0, 1, 2, 3) case 1: case 25: - DATA_BLOCK_SHUFFLE_CASE(0, 1, 3, 2) + SUBSTRUCT_CASE(0, 1, 3, 2) case 2: case 26: - DATA_BLOCK_SHUFFLE_CASE(0, 2, 1, 3) + SUBSTRUCT_CASE(0, 2, 1, 3) case 3: case 27: - DATA_BLOCK_SHUFFLE_CASE(0, 3, 1, 2) + SUBSTRUCT_CASE(0, 3, 1, 2) case 4: case 28: - DATA_BLOCK_SHUFFLE_CASE(0, 2, 3, 1) + SUBSTRUCT_CASE(0, 2, 3, 1) case 5: case 29: - DATA_BLOCK_SHUFFLE_CASE(0, 3, 2, 1) + SUBSTRUCT_CASE(0, 3, 2, 1) case 6: case 30: - DATA_BLOCK_SHUFFLE_CASE(1, 0, 2, 3) + SUBSTRUCT_CASE(1, 0, 2, 3) case 7: case 31: - DATA_BLOCK_SHUFFLE_CASE(1, 0, 3, 2) + SUBSTRUCT_CASE(1, 0, 3, 2) case 8: - DATA_BLOCK_SHUFFLE_CASE(2, 0, 1, 3) + SUBSTRUCT_CASE(2, 0, 1, 3) case 9: - DATA_BLOCK_SHUFFLE_CASE(3, 0, 1, 2) + SUBSTRUCT_CASE(3, 0, 1, 2) case 10: - DATA_BLOCK_SHUFFLE_CASE(2, 0, 3, 1) + SUBSTRUCT_CASE(2, 0, 3, 1) case 11: - DATA_BLOCK_SHUFFLE_CASE(3, 0, 2, 1) + SUBSTRUCT_CASE(3, 0, 2, 1) case 12: - DATA_BLOCK_SHUFFLE_CASE(1, 2, 0, 3) + SUBSTRUCT_CASE(1, 2, 0, 3) case 13: - DATA_BLOCK_SHUFFLE_CASE(1, 3, 0, 2) + SUBSTRUCT_CASE(1, 3, 0, 2) case 14: - DATA_BLOCK_SHUFFLE_CASE(2, 1, 0, 3) + SUBSTRUCT_CASE(2, 1, 0, 3) case 15: - DATA_BLOCK_SHUFFLE_CASE(3, 1, 0, 2) + SUBSTRUCT_CASE(3, 1, 0, 2) case 16: - DATA_BLOCK_SHUFFLE_CASE(2, 3, 0, 1) + SUBSTRUCT_CASE(2, 3, 0, 1) case 17: - DATA_BLOCK_SHUFFLE_CASE(3, 2, 0, 1) + SUBSTRUCT_CASE(3, 2, 0, 1) case 18: - DATA_BLOCK_SHUFFLE_CASE(1, 2, 3, 0) + SUBSTRUCT_CASE(1, 2, 3, 0) case 19: - DATA_BLOCK_SHUFFLE_CASE(1, 3, 2, 0) + SUBSTRUCT_CASE(1, 3, 2, 0) case 20: - DATA_BLOCK_SHUFFLE_CASE(2, 1, 3, 0) + SUBSTRUCT_CASE(2, 1, 3, 0) case 21: - DATA_BLOCK_SHUFFLE_CASE(3, 1, 2, 0) + SUBSTRUCT_CASE(3, 1, 2, 0) case 22: - DATA_BLOCK_SHUFFLE_CASE(2, 3, 1, 0) + SUBSTRUCT_CASE(2, 3, 1, 0) case 23: - DATA_BLOCK_SHUFFLE_CASE(3, 2, 1, 0) + SUBSTRUCT_CASE(3, 2, 1, 0) } - return result; } -static int Pokemon_GetFormNarcIndex(int monSpecies, int monForm) +static int Species_GetFormNarcIndex(int monSpecies, int monForm) { // TODO enum values? switch (monSpecies) { @@ -5008,56 +4250,49 @@ static const u16 sBattleFrontierBanlist[BATTLE_FRONTIER_BANLIST_SIZE] = { SPECIES_MANAPHY, SPECIES_DARKRAI, SPECIES_SHAYMIN, - SPECIES_ARCEUS + SPECIES_ARCEUS, }; -BOOL Pokemon_IsOnBattleFrontierBanlist(u16 species) +BOOL Species_IsBattleFrontierBanned(u16 species) { for (u32 i = 0; i < BATTLE_FRONTIER_BANLIST_SIZE; i++) { if (species == sBattleFrontierBanlist[i]) { return TRUE; } } - return FALSE; } -u16 Pokemon_GetBattleFrontierBanlistEntry(u8 index) +u16 BattleFrontier_GetBanlistEntry(u8 index) { if (index >= BATTLE_FRONTIER_BANLIST_SIZE) { index = 0; } - return sBattleFrontierBanlist[index]; } -BOOL Pokemon_IsBannedFromBattleFrontier(Pokemon *pokemon) +BOOL Pokemon_IsBattleFrontierBanned(Pokemon *mon) { - u16 species = (u16)Pokemon_GetValue(pokemon, MON_DATA_SPECIES, NULL); - return Pokemon_IsOnBattleFrontierBanlist(species); + u16 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + return Species_IsBattleFrontierBanned(species); } -BOOL sub_0207884C(BoxPokemon *boxMon, TrainerInfo *param1, int heapID) +BOOL BoxPokemon_BelongsToPlayer(BoxPokemon *boxMon, TrainerInfo *player, enum HeapID heapID) { - u32 v0 = TrainerInfo_ID(param1); - u32 monOTID = BoxPokemon_GetValue(boxMon, MON_DATA_OT_ID, NULL); - u32 v2 = TrainerInfo_Gender(param1); - u32 monOtGender = BoxPokemon_GetValue(boxMon, MON_DATA_OT_GENDER, NULL); - String *v4 = TrainerInfo_NameNewString(param1, heapID); - // TODO enum/const value? - String *v5 = String_Init(8, heapID); - BOOL v6 = FALSE; - - BoxPokemon_GetValue(boxMon, MON_DATA_OT_NAME_STRING, v5); - - if (v0 == monOTID && v2 == monOtGender && String_Compare(v4, v5) == 0) { - v6 = TRUE; + u32 playerID = TrainerInfo_ID(player); + u32 otID = BoxPokemon_GetData(boxMon, MON_DATA_OT_ID, NULL); + u32 playerGender = TrainerInfo_Gender(player); + u32 otGender = BoxPokemon_GetData(boxMon, MON_DATA_OT_GENDER, NULL); + String *playerName = TrainerInfo_NameNewString(player, heapID); + String *otName = String_Init(TRAINER_NAME_LEN + 1, heapID); + BOOL ret = FALSE; + BoxPokemon_GetData(boxMon, MON_DATA_OT_NAME_STRING, otName); + if (playerID == otID && playerGender == otGender && String_Compare(playerName, otName) == 0) { + ret = TRUE; } - - String_Free(v5); - String_Free(v4); - - return v6; + String_Free(otName); + String_Free(playerName); + return ret; } int sub_020788D0(int param0) @@ -5100,23 +4335,20 @@ void Pokemon_ClearBallCapsuleData(Pokemon *mon) BallCapsule v1; MI_CpuClearFast(&v1, sizeof(BallCapsule)); - Pokemon_SetValue(mon, MON_DATA_BALL_CAPSULE_ID, &zero); - Pokemon_SetValue(mon, MON_DATA_BALL_CAPSULE, &v1); + Pokemon_SetData(mon, MON_DATA_BALL_CAPSULE_ID, &zero); + Pokemon_SetData(mon, MON_DATA_BALL_CAPSULE, &v1); } void BoxPokemon_RestorePP(BoxPokemon *boxMon) { - BOOL reencrypt = BoxPokemon_EnterDecryptionContext(boxMon); - - for (int i = 0; i < LEARNED_MOVES_MAX; i++) { - if (BoxPokemon_GetValue(boxMon, MON_DATA_MOVE1 + i, NULL)) { - u8 moveMaxPP = BoxPokemon_GetValue(boxMon, MON_DATA_MOVE1_MAX_PP + i, NULL); - - BoxPokemon_SetValue(boxMon, MON_DATA_MOVE1_PP + i, &moveMaxPP); + BOOL reencrypt = BoxPokemon_DecryptData(boxMon); + for (int i = 0; i < MAX_MON_MOVES; i++) { + if (BoxPokemon_GetData(boxMon, MON_DATA_MOVE1 + i, NULL) != MOVE_NONE) { + u8 pp = BoxPokemon_GetData(boxMon, MON_DATA_MOVE1_MAX_PP + i, NULL); + BoxPokemon_SetData(boxMon, MON_DATA_MOVE1_PP + i, &pp); } } - - BoxPokemon_ExitDecryptionContext(boxMon, reencrypt); + BoxPokemon_EncryptData(boxMon, reencrypt); } static inline int Pokemon_Face(int clientType) @@ -5196,8 +4428,8 @@ BOOL Pokemon_SetBallSeal(int param0, Pokemon *mon, int heapID) BallCapsule v2; NARC_ReadFromMember(narc, 0, v0 * sizeof(BallCapsule), sizeof(BallCapsule), &v2); - Pokemon_SetValue(mon, MON_DATA_BALL_CAPSULE_ID, &one); - Pokemon_SetValue(mon, MON_DATA_BALL_CAPSULE, &v2); + Pokemon_SetData(mon, MON_DATA_BALL_CAPSULE_ID, &one); + Pokemon_SetData(mon, MON_DATA_BALL_CAPSULE, &v2); NARC_dtor(narc); return TRUE; @@ -5206,63 +4438,63 @@ BOOL Pokemon_SetBallSeal(int param0, Pokemon *mon, int heapID) void sub_02078B40(Pokemon *mon, UnkStruct_02078B40 *param1) { if (mon->box.partyDecrypted == FALSE) { - Pokemon_DecryptData(&mon->party, sizeof(PartyPokemon), mon->box.personality); - Pokemon_DecryptData(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4, mon->box.checksum); + MonDecryptSegment(&mon->party, sizeof(PartyPokemon), mon->box.personality); + MonDecryptSegment(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4, mon->box.checksum); } - BoxPokemon *boxMon = Pokemon_GetBoxPokemon(mon); + BoxPokemon *boxMon = Pokemon_GetBoxMon(mon); - PokemonDataBlockA *monDataBlockA = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_A); - PokemonDataBlockB *monDataBlockB = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_B); - PokemonDataBlockC *monDataBlockC = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_C); - PokemonDataBlockD *monDataBlockD = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_D); + PokemonDataBlockA *blockA = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_A); + PokemonDataBlockB *blockB = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_B); + PokemonDataBlockC *blockC = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_C); + PokemonDataBlockD *blockD = BoxPokemon_GetDataBlock(boxMon, boxMon->personality, DATA_BLOCK_D); param1->personality = boxMon->personality; param1->partyDecrypted = FALSE; param1->boxDecrypted = FALSE; param1->checksumFailed = boxMon->checksumFailed; - param1->species = monDataBlockA->species; - param1->heldItem = monDataBlockA->heldItem; - param1->otID = monDataBlockA->otID; - param1->exp = monDataBlockA->exp; - param1->friendship = monDataBlockA->friendship; - param1->ability = monDataBlockA->ability; - param1->hpEV = monDataBlockA->hpEV; - param1->atkEV = monDataBlockA->atkEV; - param1->defEV = monDataBlockA->defEV; - param1->speedEV = monDataBlockA->speedEV; - param1->spAtkEV = monDataBlockA->spAtkEV; - param1->spDefEV = monDataBlockA->spDefEV; - param1->originLanguage = monDataBlockA->originLanguage; + param1->species = blockA->species; + param1->heldItem = blockA->heldItem; + param1->otID = blockA->otID; + param1->exp = blockA->exp; + param1->friendship = blockA->friendship; + param1->ability = blockA->ability; + param1->hpEV = blockA->hpEV; + param1->atkEV = blockA->atkEV; + param1->defEV = blockA->defEV; + param1->speedEV = blockA->speedEV; + param1->spAtkEV = blockA->spAtkEV; + param1->spDefEV = blockA->spDefEV; + param1->originLanguage = blockA->originLanguage; int i; for (i = 0; i < 4; i++) { - param1->unk_1C[i] = monDataBlockB->moves[i]; - param1->unk_24[i] = monDataBlockB->moveCurrentPPs[i]; - param1->unk_28[i] = monDataBlockB->movePPUps[i]; - } - - param1->hpIV = monDataBlockB->hpIV; - param1->atkIV = monDataBlockB->atkIV; - param1->defIV = monDataBlockB->defIV; - param1->speedIV = monDataBlockB->speedIV; - param1->spAtkIV = monDataBlockB->spAtkIV; - param1->spDefIV = monDataBlockB->spDefIV; - param1->isEgg = monDataBlockB->isEgg; - param1->unk_2C_31 = monDataBlockB->hasNickname; - param1->fatefulEncounter = monDataBlockB->fatefulEncounter; - param1->gender = monDataBlockB->gender; - param1->form = monDataBlockB->form; + param1->unk_1C[i] = blockB->moves[i]; + param1->unk_24[i] = blockB->moveCurrentPPs[i]; + param1->unk_28[i] = blockB->movePPUps[i]; + } + + param1->hpIV = blockB->hpIV; + param1->atkIV = blockB->atkIV; + param1->defIV = blockB->defIV; + param1->speedIV = blockB->speedIV; + param1->spAtkIV = blockB->spAtkIV; + param1->spDefIV = blockB->spDefIV; + param1->isEgg = blockB->isEgg; + param1->unk_2C_31 = blockB->hasNickname; + param1->fatefulEncounter = blockB->fatefulEncounter; + param1->gender = blockB->gender; + param1->form = blockB->form; for (i = 0; i < 10 + 1; i++) { - param1->unk_32[i] = monDataBlockC->nickname[i]; + param1->unk_32[i] = blockC->nickname[i]; } for (i = 0; i < 7 + 1; i++) { - param1->unk_48[i] = monDataBlockD->otName[i]; + param1->unk_48[i] = blockD->otName[i]; } - param1->pokeball = monDataBlockD->pokeball; + param1->pokeball = blockD->pokeball; param1->unk_5C = mon->party.status; param1->level = mon->party.level; @@ -5276,8 +4508,8 @@ void sub_02078B40(Pokemon *mon, UnkStruct_02078B40 *param1) param1->unk_6E = mon->party.spDef; if (mon->box.partyDecrypted == FALSE) { - Pokemon_EncryptData(&mon->party, sizeof(PartyPokemon), mon->box.personality); - Pokemon_EncryptData(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4, mon->box.checksum); + ENCRYPT_PARTY(mon); + ENCRYPT_BOX(&mon->box); } } @@ -5285,60 +4517,60 @@ void sub_02078E0C(UnkStruct_02078B40 *param0, Pokemon *mon) { MI_CpuClearFast(mon, sizeof(Pokemon)); - BoxPokemon *boxMon = Pokemon_GetBoxPokemon(mon); + BoxPokemon *boxMon = Pokemon_GetBoxMon(mon); - PokemonDataBlockA *monDataBlockA = BoxPokemon_GetDataBlock(boxMon, param0->personality, DATA_BLOCK_A); - PokemonDataBlockB *monDataBlockB = BoxPokemon_GetDataBlock(boxMon, param0->personality, DATA_BLOCK_B); - PokemonDataBlockC *monDataBlockC = BoxPokemon_GetDataBlock(boxMon, param0->personality, DATA_BLOCK_C); - PokemonDataBlockD *monDataBlockD = BoxPokemon_GetDataBlock(boxMon, param0->personality, DATA_BLOCK_D); + PokemonDataBlockA *blockA = BoxPokemon_GetDataBlock(boxMon, param0->personality, DATA_BLOCK_A); + PokemonDataBlockB *blockB = BoxPokemon_GetDataBlock(boxMon, param0->personality, DATA_BLOCK_B); + PokemonDataBlockC *blockC = BoxPokemon_GetDataBlock(boxMon, param0->personality, DATA_BLOCK_C); + PokemonDataBlockD *blockD = BoxPokemon_GetDataBlock(boxMon, param0->personality, DATA_BLOCK_D); boxMon->personality = param0->personality; boxMon->partyDecrypted = FALSE; boxMon->boxDecrypted = FALSE; boxMon->checksumFailed = param0->checksumFailed; - monDataBlockA->species = param0->species; - monDataBlockA->heldItem = param0->heldItem; - monDataBlockA->otID = param0->otID; - monDataBlockA->exp = param0->exp; - monDataBlockA->friendship = param0->friendship; - monDataBlockA->ability = param0->ability; - monDataBlockA->hpEV = param0->hpEV; - monDataBlockA->atkEV = param0->atkEV; - monDataBlockA->defEV = param0->defEV; - monDataBlockA->speedEV = param0->speedEV; - monDataBlockA->spAtkEV = param0->spAtkEV; - monDataBlockA->spDefEV = param0->spDefEV; - monDataBlockA->originLanguage = param0->originLanguage; + blockA->species = param0->species; + blockA->heldItem = param0->heldItem; + blockA->otID = param0->otID; + blockA->exp = param0->exp; + blockA->friendship = param0->friendship; + blockA->ability = param0->ability; + blockA->hpEV = param0->hpEV; + blockA->atkEV = param0->atkEV; + blockA->defEV = param0->defEV; + blockA->speedEV = param0->speedEV; + blockA->spAtkEV = param0->spAtkEV; + blockA->spDefEV = param0->spDefEV; + blockA->originLanguage = param0->originLanguage; int i; for (i = 0; i < 4; i++) { - monDataBlockB->moves[i] = param0->unk_1C[i]; - monDataBlockB->moveCurrentPPs[i] = param0->unk_24[i]; - monDataBlockB->movePPUps[i] = param0->unk_28[i]; - } - - monDataBlockB->hpIV = param0->hpIV; - monDataBlockB->atkIV = param0->atkIV; - monDataBlockB->defIV = param0->defIV; - monDataBlockB->speedIV = param0->speedIV; - monDataBlockB->spAtkIV = param0->spAtkIV; - monDataBlockB->spDefIV = param0->spDefIV; - monDataBlockB->isEgg = param0->isEgg; - monDataBlockB->hasNickname = param0->unk_2C_31; - monDataBlockB->fatefulEncounter = param0->fatefulEncounter; - monDataBlockB->gender = param0->gender; - monDataBlockB->form = param0->form; + blockB->moves[i] = param0->unk_1C[i]; + blockB->moveCurrentPPs[i] = param0->unk_24[i]; + blockB->movePPUps[i] = param0->unk_28[i]; + } + + blockB->hpIV = param0->hpIV; + blockB->atkIV = param0->atkIV; + blockB->defIV = param0->defIV; + blockB->speedIV = param0->speedIV; + blockB->spAtkIV = param0->spAtkIV; + blockB->spDefIV = param0->spDefIV; + blockB->isEgg = param0->isEgg; + blockB->hasNickname = param0->unk_2C_31; + blockB->fatefulEncounter = param0->fatefulEncounter; + blockB->gender = param0->gender; + blockB->form = param0->form; for (i = 0; i < 10 + 1; i++) { - monDataBlockC->nickname[i] = param0->unk_32[i]; + blockC->nickname[i] = param0->unk_32[i]; } for (i = 0; i < 7 + 1; i++) { - monDataBlockD->otName[i] = param0->unk_48[i]; + blockD->otName[i] = param0->unk_48[i]; } - monDataBlockD->pokeball = param0->pokeball; + blockD->pokeball = param0->pokeball; mon->party.status = param0->unk_5C; mon->party.level = param0->level; @@ -5351,7 +4583,7 @@ void sub_02078E0C(UnkStruct_02078B40 *param0, Pokemon *mon) mon->party.spAtk = param0->unk_6C; mon->party.spDef = param0->unk_6E; - Pokemon_EncryptData(&mon->party, sizeof(PartyPokemon), mon->box.personality); - mon->box.checksum = Pokemon_GetDataChecksum(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4); - Pokemon_EncryptData(&mon->box.dataBlocks, sizeof(PokemonDataBlock) * 4, mon->box.checksum); + ENCRYPT_PARTY(mon); + mon->box.checksum = CHECKSUM(&mon->box); + ENCRYPT_BOX(&mon->box); } diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index 9c73e05076..3d263cd54a 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -18,20 +18,20 @@ static inline u32 IconTilesIndex(u32 icon) u32 BoxPokemon_IconSpriteIndex(const BoxPokemon *boxMon) { - BOOL reencrypt = BoxPokemon_EnterDecryptionContext((BoxPokemon *)boxMon); + BOOL reencrypt = BoxPokemon_DecryptData((BoxPokemon *)boxMon); - u32 species = BoxPokemon_GetValue((BoxPokemon *)boxMon, MON_DATA_SPECIES, NULL); - BOOL isEgg = BoxPokemon_GetValue((BoxPokemon *)boxMon, MON_DATA_IS_EGG, NULL); + u32 species = BoxPokemon_GetData((BoxPokemon *)boxMon, MON_DATA_SPECIES, NULL); + BOOL isEgg = BoxPokemon_GetData((BoxPokemon *)boxMon, MON_DATA_IS_EGG, NULL); u32 form = BoxPokemon_IconFormOffset((BoxPokemon *)boxMon); u32 index = PokeIconSpriteIndex(species, isEgg, form); - BoxPokemon_ExitDecryptionContext((BoxPokemon *)boxMon, reencrypt); + BoxPokemon_EncryptData((BoxPokemon *)boxMon, reencrypt); return index; } u32 Pokemon_IconSpriteIndex(Pokemon *mon) { - return BoxPokemon_IconSpriteIndex((const BoxPokemon *)Pokemon_GetBoxPokemon(mon)); + return BoxPokemon_IconSpriteIndex(Pokemon_GetBoxMon(mon)); } u32 PokeIconSpriteIndex(u32 species, u32 isEgg, u32 form) @@ -44,7 +44,7 @@ u32 PokeIconSpriteIndex(u32 species, u32 isEgg, u32 form) return IconTilesIndex(ICON_EGG); } - form = Pokemon_SanitizeFormId(species, form); + form = Species_SanitizeFormId(species, form); if (form != 0) { if (species == SPECIES_DEOXYS) { @@ -93,7 +93,7 @@ u32 PokeIconSpriteIndex(u32 species, u32 isEgg, u32 form) u16 BoxPokemon_IconFormOffset(const BoxPokemon *boxMon) { - u32 speciesOrEgg = BoxPokemon_GetValue((BoxPokemon *)boxMon, MON_DATA_SPECIES_OR_EGG, NULL); + u32 speciesOrEgg = BoxPokemon_GetData((BoxPokemon *)boxMon, MON_DATA_SPECIES_OR_EGG, NULL); switch (speciesOrEgg) { case SPECIES_UNOWN: @@ -106,7 +106,7 @@ u16 BoxPokemon_IconFormOffset(const BoxPokemon *boxMon) case SPECIES_GIRATINA: case SPECIES_SHAYMIN: case SPECIES_ROTOM: - return BoxPokemon_GetValue((BoxPokemon *)boxMon, MON_DATA_FORM, NULL); + return BoxPokemon_GetData((BoxPokemon *)boxMon, MON_DATA_FORM, NULL); } return 0; @@ -149,20 +149,20 @@ const u8 PokeIconPaletteIndex(u32 species, u32 form, u32 isEgg) const u8 BoxPokemon_IconPaletteIndex(const BoxPokemon *boxMon) { - BOOL reencrypt = BoxPokemon_EnterDecryptionContext((BoxPokemon *)boxMon); + BOOL reencrypt = BoxPokemon_DecryptData((BoxPokemon *)boxMon); u32 form = BoxPokemon_IconFormOffset(boxMon); - u32 species = BoxPokemon_GetValue((BoxPokemon *)boxMon, MON_DATA_SPECIES, NULL); - u32 isEgg = BoxPokemon_GetValue((BoxPokemon *)boxMon, MON_DATA_IS_EGG, NULL); + u32 species = BoxPokemon_GetData((BoxPokemon *)boxMon, MON_DATA_SPECIES, NULL); + u32 isEgg = BoxPokemon_GetData((BoxPokemon *)boxMon, MON_DATA_IS_EGG, NULL); - BoxPokemon_ExitDecryptionContext((BoxPokemon *)boxMon, reencrypt); + BoxPokemon_EncryptData((BoxPokemon *)boxMon, reencrypt); return PokeIconPaletteIndex(species, form, isEgg); } const u8 Pokemon_IconPaletteIndex(Pokemon *mon) { - return BoxPokemon_IconPaletteIndex((const BoxPokemon *)Pokemon_GetBoxPokemon(mon)); + return BoxPokemon_IconPaletteIndex(Pokemon_GetBoxMon(mon)); } u32 PokeIconPalettesFileIndex(void) diff --git a/src/pokemon_sprite.c b/src/pokemon_sprite.c index 9cb72a43fe..b333408b6b 100644 --- a/src/pokemon_sprite.c +++ b/src/pokemon_sprite.c @@ -1,6 +1,7 @@ #include "pokemon_sprite.h" #include "constants/graphics.h" +#include "constants/species.h" #include "generated/shadow_sizes.h" #include "struct_defs/sprite_animation_frame.h" @@ -1509,7 +1510,7 @@ static u8 SwapNybbles(u8 value) static void TryDrawSpindaSpots(PokemonSprite *monSprite, u8 *rawCharData) { - if (monSprite->template.spindaSpots != 0) { + if (monSprite->template.species != SPECIES_NONE) { PokemonSprite_DrawSpindaSpots(rawCharData, monSprite->template.personality, TRUE); } } diff --git a/src/poketch.c b/src/poketch.c index d096f65a0f..2ae34abc0b 100644 --- a/src/poketch.c +++ b/src/poketch.c @@ -269,9 +269,9 @@ void Poketch_PokemonHistoryEnqueue(Poketch *poketch, const BoxPokemon *boxPokemo } // Add new entry to end of the list - poketch->pokemonHistoryQueue[index].species = BoxPokemon_GetValue((BoxPokemon *)boxPokemon, MON_DATA_SPECIES, NULL); + poketch->pokemonHistoryQueue[index].species = BoxPokemon_GetData((BoxPokemon *)boxPokemon, MON_DATA_SPECIES, NULL); poketch->pokemonHistoryQueue[index].icon = BoxPokemon_IconFormOffset(boxPokemon); - poketch->pokemonHistoryQueue[index].form = BoxPokemon_GetValue((BoxPokemon *)boxPokemon, MON_DATA_FORM, NULL); + poketch->pokemonHistoryQueue[index].form = BoxPokemon_GetData((BoxPokemon *)boxPokemon, MON_DATA_FORM, NULL); } int Poketch_PokemonHistorySize(const Poketch *poketch) diff --git a/src/render_window.c b/src/render_window.c index 980eb5b4ea..af350eb0e6 100644 --- a/src/render_window.c +++ b/src/render_window.c @@ -852,7 +852,7 @@ static void LoadAndDrawPokemonPreviewSprite(SpriteResourceManager *param0, u16 s void *buf = PokemonSpriteManager_New(param0->heapID); PokemonSpriteTemplate sprite; - BuildPokemonSpriteTemplate(&sprite, species, gender, FACE_FRONT, FALSE, NULL, NULL); + Species_BuildSpriteTemplate(&sprite, species, gender, FACE_FRONT, FALSE, NULL, NULL); DrawPokemonPreviewSprite(param0, &sprite); PokemonSpriteManager_Free(buf); } diff --git a/src/roaming_pokemon.c b/src/roaming_pokemon.c index cab91287c1..5c82c151d1 100644 --- a/src/roaming_pokemon.c +++ b/src/roaming_pokemon.c @@ -288,12 +288,12 @@ void RoamingPokemon_ActivateSlot(SaveData *saveData, const u8 slot) roamerMonData = Pokemon_New(HEAP_ID_FIELD1); Pokemon_Init(roamerMonData); - Pokemon_InitWith(roamerMonData, species, level, INIT_IVS_RANDOM, FALSE, 0, OTID_SET, TrainerInfo_ID_LowHalf(trainer)); + Pokemon_InitWithParams(roamerMonData, species, level, INIT_IVS_RANDOM, FALSE, 0, OT_ID_PRESET, TrainerInfo_ID_LowHalf(trainer)); Roamer_SetData(newRoamer, ROAMER_DATA_STATUS, 0); Roamer_SetData(newRoamer, ROAMER_DATA_ACTIVE, 1); - Roamer_SetData(newRoamer, ROAMER_DATA_IVS, Pokemon_GetValue(roamerMonData, MON_DATA_COMBINED_IVS, NULL)); - Roamer_SetData(newRoamer, ROAMER_DATA_PERSONALITY, Pokemon_GetValue(roamerMonData, MON_DATA_PERSONALITY, NULL)); - Roamer_SetData(newRoamer, ROAMER_DATA_CURRENT_HP, Pokemon_GetValue(roamerMonData, MON_DATA_MAX_HP, NULL)); + Roamer_SetData(newRoamer, ROAMER_DATA_IVS, Pokemon_GetData(roamerMonData, MON_DATA_COMBINED_IVS, NULL)); + Roamer_SetData(newRoamer, ROAMER_DATA_PERSONALITY, Pokemon_GetData(roamerMonData, MON_DATA_PERSONALITY, NULL)); + Roamer_SetData(newRoamer, ROAMER_DATA_CURRENT_HP, Pokemon_GetData(roamerMonData, MON_DATA_MAX_HP, NULL)); Heap_Free(roamerMonData); previouslyVisitedMap = SpecialEncounter_GetPlayerPreviousMap(speEnc); diff --git a/src/scrcmd.c b/src/scrcmd.c index b3f86446cb..2d321ca8f4 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -741,7 +741,7 @@ static BOOL ScrCmd_320(ScriptContext *ctx); static BOOL ScrCmd_321(ScriptContext *ctx); static BOOL ScrCmd_322(ScriptContext *ctx); static BOOL ScrCmd_323(ScriptContext *ctx); -static BOOL ScrCmd_SetPartyGiratinaForm(ScriptContext *ctx); +static BOOL ScrCmd_UpdatePartyGiratinaForm(ScriptContext *ctx); static BOOL ScrCmd_CheckPartyHasFatefulEncounterRegigigas(ScriptContext *ctx); static BOOL ScriptContext_WaitForMovement(ScriptContext *ctx); static void sub_02040F28(FieldSystem *fieldSystem, SysTask *param1, MapObjectAnimCmd *param2); @@ -1577,7 +1577,7 @@ const ScrCmdFunc Unk_020EAC58[] = { ScrCmd_325, ScrCmd_326, ScrCmd_ShowListMenuSetWidth, - ScrCmd_SetPartyGiratinaForm, + ScrCmd_UpdatePartyGiratinaForm, ScrCmd_329, ScrCmd_32A, ScrCmd_CheckPartyHasFatefulEncounterRegigigas, @@ -3867,7 +3867,7 @@ static BOOL ScrCmd_DrawPokemonPreviewFromPartySlot(ScriptContext *ctx) LoadStandardWindowGraphics(ctx->fieldSystem->bgConfig, BG_LAYER_MAIN_3, 1024 - (18 + 12) - 9, 11, 0, HEAP_ID_FIELD1); *v1 = DrawPokemonPreviewFromStruct(ctx->fieldSystem->bgConfig, BG_LAYER_MAIN_3, 10, 5, 11, 1024 - (18 + 12) - 9, pokemon, HEAP_ID_FIELD1); - FieldSystem_WriteSpeciesSeen(ctx->fieldSystem, Pokemon_GetValue(pokemon, MON_DATA_SPECIES, NULL)); + FieldSystem_WriteSpeciesSeen(ctx->fieldSystem, Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL)); return FALSE; } @@ -4315,8 +4315,8 @@ static BOOL ScrCmd_0BB(ScriptContext *ctx) Pokemon *v1 = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), v3); - Pokemon_GetValue(v1, MON_DATA_NICKNAME, v0); - sub_0203DFE8(ctx->task, NAMING_SCREEN_TYPE_POKEMON, Pokemon_GetValue(v1, MON_DATA_SPECIES, NULL), MON_NAME_LEN, v3, v0, ScriptContext_GetVarPointer(ctx)); + Pokemon_GetData(v1, MON_DATA_NICKNAME, v0); + sub_0203DFE8(ctx->task, NAMING_SCREEN_TYPE_POKEMON, Pokemon_GetData(v1, MON_DATA_SPECIES, NULL), MON_NAME_LEN, v3, v0, ScriptContext_GetVarPointer(ctx)); return TRUE; } @@ -6340,12 +6340,12 @@ static BOOL ScrCmd_GetPartyMonEVTotal(ScriptContext *ctx) Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(ctx->fieldSystem->saveData), slot); - evs[STAT_HP] = Pokemon_GetValue(mon, MON_DATA_HP_EV, NULL); - evs[STAT_ATTACK] = Pokemon_GetValue(mon, MON_DATA_ATK_EV, NULL); - evs[STAT_DEFENSE] = Pokemon_GetValue(mon, MON_DATA_DEF_EV, NULL); - evs[STAT_SPEED] = Pokemon_GetValue(mon, MON_DATA_SPEED_EV, NULL); - evs[STAT_SPECIAL_ATTACK] = Pokemon_GetValue(mon, MON_DATA_SPATK_EV, NULL); - evs[STAT_SPECIAL_DEFENSE] = Pokemon_GetValue(mon, MON_DATA_SPDEF_EV, NULL); + evs[STAT_HP] = Pokemon_GetData(mon, MON_DATA_HP_EV, NULL); + evs[STAT_ATTACK] = Pokemon_GetData(mon, MON_DATA_ATK_EV, NULL); + evs[STAT_DEFENSE] = Pokemon_GetData(mon, MON_DATA_DEF_EV, NULL); + evs[STAT_SPEED] = Pokemon_GetData(mon, MON_DATA_SPEED_EV, NULL); + evs[STAT_SPECIAL_ATTACK] = Pokemon_GetData(mon, MON_DATA_SPATK_EV, NULL); + evs[STAT_SPECIAL_DEFENSE] = Pokemon_GetData(mon, MON_DATA_SPDEF_EV, NULL); *destVar = evs[STAT_HP] + evs[STAT_ATTACK] + evs[STAT_DEFENSE] + evs[STAT_SPEED] + evs[STAT_SPECIAL_ATTACK] + evs[STAT_SPECIAL_DEFENSE]; return FALSE; @@ -6377,8 +6377,8 @@ static BOOL ScrCmd_GetSpeciesFootprintType(ScriptContext *ctx) u16 slot = ScriptContext_GetVar(ctx); Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(ctx->fieldSystem->saveData), slot); - u16 species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - u16 form = Pokemon_GetValue(mon, MON_DATA_FORM, NULL); + u16 species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + u16 form = Pokemon_GetData(mon, MON_DATA_FORM, NULL); *hasPrintVar = FootprintType_SpeciesHasPrint(species, form); *typeVar = FootprintType_GetTypeFromSpecies(species); @@ -6496,7 +6496,7 @@ static void FieldSystem_WriteSpeciesSeen(FieldSystem *fieldSystem, u16 species) Pokemon *pokemon = Pokemon_New(HEAP_ID_FIELD3); Pokemon_Init(pokemon); - Pokemon_InitWith(pokemon, species, 50, INIT_IVS_RANDOM, FALSE, 0, OTID_NOT_SET, 0); + Pokemon_InitWithParams(pokemon, species, 50, INIT_IVS_RANDOM, FALSE, 0, OT_ID_PLAYER_ID, 0); Pokedex_Encounter(pokedex, pokemon); Heap_Free(pokemon); @@ -6611,8 +6611,8 @@ static BOOL ScrCmd_ChangeDeoxysForm(ScriptContext *ctx) for (int i = 0; i < partyCount; i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(party, i); - if (Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL) == SPECIES_DEOXYS) { - Pokemon_SetValue(mon, MON_DATA_FORM, &form); + if (Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) == SPECIES_DEOXYS) { + Pokemon_SetData(mon, MON_DATA_FORM, &form); Pokemon_CalcLevelAndStats(mon); Pokedex_Capture(pokedex, mon); } @@ -6633,9 +6633,9 @@ static BOOL ScrCmd_CheckPartyCombeeGenderCount(ScriptContext *ctx) for (i = 0; i < partyCount; i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(party, i); - int species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - int gender = Pokemon_GetValue(mon, MON_DATA_GENDER, NULL); - int isEgg = Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL); + int species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + int gender = Pokemon_GetData(mon, MON_DATA_GENDER, NULL); + int isEgg = Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL); if (species == SPECIES_COMBEE && !isEgg) { if (gender == GENDER_MALE) { @@ -7052,10 +7052,10 @@ static BOOL ScrCmd_GetUndergroundTrapsSet(ScriptContext *ctx) static BOOL ScrCmd_GivePoffin(ScriptContext *ctx) { - u8 flavors[FLAVOR_MAX]; + u8 flavors[FLAVOR_COUNT]; u16 *destVar = ScriptContext_GetVarPointer(ctx); - for (int i = 0; i < FLAVOR_MAX; i++) { + for (int i = 0; i < FLAVOR_COUNT; i++) { flavors[i] = ScriptContext_GetVar(ctx); } @@ -7805,9 +7805,9 @@ static u32 SaveData_GetRotomFormsInSave(SaveData *saveData) for (i = 0; i < partyCount; i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(party, i); - if ((Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL) == SPECIES_ROTOM) - && (!Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL))) { - rotomForms |= 1 << Pokemon_GetValue(mon, MON_DATA_FORM, NULL); + if ((Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) == SPECIES_ROTOM) + && (!Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL))) { + rotomForms |= 1 << Pokemon_GetData(mon, MON_DATA_FORM, NULL); } } @@ -7817,9 +7817,9 @@ static u32 SaveData_GetRotomFormsInSave(SaveData *saveData) DaycareMon *daycareMon = Daycare_GetDaycareMon(daycare, i); boxMon = DaycareMon_GetBoxMon(daycareMon); - if ((BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL) == SPECIES_ROTOM) - && (!BoxPokemon_GetValue(boxMon, MON_DATA_IS_EGG, NULL))) { - rotomForms |= 1 << BoxPokemon_GetValue(boxMon, MON_DATA_FORM, NULL); + if ((BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL) == SPECIES_ROTOM) + && (!BoxPokemon_GetData(boxMon, MON_DATA_IS_EGG, NULL))) { + rotomForms |= 1 << BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL); } } @@ -7829,9 +7829,9 @@ static u32 SaveData_GetRotomFormsInSave(SaveData *saveData) for (i = 0; i < MAX_MONS_PER_BOX; i++) { boxMon = PCBoxes_GetBoxMonAt(pcBoxes, boxID, i); - if ((BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL) == SPECIES_ROTOM) - && (!BoxPokemon_GetValue(boxMon, MON_DATA_IS_EGG, NULL))) { - rotomForms |= 1 << BoxPokemon_GetValue(boxMon, MON_DATA_FORM, NULL); + if ((BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL) == SPECIES_ROTOM) + && (!BoxPokemon_GetData(boxMon, MON_DATA_IS_EGG, NULL))) { + rotomForms |= 1 << BoxPokemon_GetData(boxMon, MON_DATA_FORM, NULL); } } } @@ -7944,21 +7944,21 @@ static BOOL ScrCmd_323(ScriptContext *ctx) return FALSE; } -static BOOL ScrCmd_SetPartyGiratinaForm(ScriptContext *ctx) +static BOOL ScrCmd_UpdatePartyGiratinaForm(ScriptContext *ctx) { FieldSystem *fieldSystem = ctx->fieldSystem; - u16 form = ScriptContext_GetVar(ctx); + u16 forceOrigin = ScriptContext_GetVar(ctx); Party *party = SaveData_GetParty(ctx->fieldSystem->saveData); - Party_SetGiratinaForm(party, form); + Party_UpdateGiratinaForms(party, forceOrigin); int partyCount = Party_GetCurrentCount(party); for (int i = 0; i < partyCount; i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(party, i); - if (Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) == FALSE - && Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL) == SPECIES_GIRATINA) { + if (Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL) == FALSE + && Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) == SPECIES_GIRATINA) { Pokedex_Capture(SaveData_GetPokedex(fieldSystem->saveData), mon); } } @@ -7975,9 +7975,9 @@ static BOOL ScrCmd_CheckPartyHasFatefulEncounterRegigigas(ScriptContext *ctx) for (int i = 0; i < partyCount; i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(ctx->fieldSystem->saveData), i); - if (!Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL)) { - if (Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL) == SPECIES_REGIGIGAS) { - if (Pokemon_GetValue(mon, MON_DATA_FATEFUL_ENCOUNTER, NULL) == TRUE) { + if (!Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL)) { + if (Pokemon_GetData(mon, MON_DATA_SPECIES, NULL) == SPECIES_REGIGIGAS) { + if (Pokemon_GetData(mon, MON_DATA_FATEFUL_ENCOUNTER, NULL) == TRUE) { *destVar = TRUE; return FALSE; } diff --git a/src/scrcmd_catching_show.c b/src/scrcmd_catching_show.c index ed072f8a70..295d168d4c 100644 --- a/src/scrcmd_catching_show.c +++ b/src/scrcmd_catching_show.c @@ -72,7 +72,7 @@ BOOL ScrCmd_MoveCatchingShowMonsToPCBoxes(ScriptContext *ctx) for (int i = 0; i < CATCHING_SHOW_MONS; i++) { MigratedPokemon_ConvertToPokemon(transferData, i, mon); UpdateMonStatusAndTrainerInfo(mon, trainerInfo, 2, 0, HEAP_ID_FIELD3); - success = PCBoxes_TryStoreBoxMon(pcBoxes, Pokemon_GetBoxPokemon(mon)); + success = PCBoxes_TryStoreBoxMon(pcBoxes, Pokemon_GetBoxMon(mon)); GF_ASSERT(success); SaveData_UpdateCatchRecords(ctx->fieldSystem->saveData, mon); } diff --git a/src/scrcmd_jubilife_lottery.c b/src/scrcmd_jubilife_lottery.c index 811896c7a4..f42a7885a8 100644 --- a/src/scrcmd_jubilife_lottery.c +++ b/src/scrcmd_jubilife_lottery.c @@ -48,8 +48,8 @@ BOOL ScrCmd_CheckForJubilifeLotteryWinner(ScriptContext *context) for (u16 i = 0; i < currentPartyCount; i++) { partyPokemon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), i); - if (Pokemon_GetValue(partyPokemon, MON_DATA_IS_EGG, NULL) == 0) { - pokemonOtId = Pokemon_GetValue(partyPokemon, MON_DATA_OT_ID, NULL) & 0xffff; + if (Pokemon_GetData(partyPokemon, MON_DATA_IS_EGG, NULL) == 0) { + pokemonOtId = Pokemon_GetData(partyPokemon, MON_DATA_OT_ID, NULL) & 0xffff; matchedTrainerIdDigits = CheckTrainerIdForMatch(winningLotteryId, pokemonOtId); if (matchedTrainerIdDigits > 0 && highestPartyMatchedDigits < matchedTrainerIdDigits) { @@ -65,10 +65,10 @@ BOOL ScrCmd_CheckForJubilifeLotteryWinner(ScriptContext *context) for (boxIndex = 0; boxIndex < MAX_PC_BOXES; boxIndex++) { for (monPosInBox = 0; monPosInBox < MAX_MONS_PER_BOX; monPosInBox++) { boxPokemon = PCBoxes_GetBoxMonAt(pcBoxes, boxIndex, monPosInBox); - boxPokemonSpeciesId = BoxPokemon_GetValue(boxPokemon, MON_DATA_SPECIES, NULL); + boxPokemonSpeciesId = BoxPokemon_GetData(boxPokemon, MON_DATA_SPECIES, NULL); - if (boxPokemonSpeciesId && BoxPokemon_GetValue(boxPokemon, MON_DATA_IS_EGG, NULL) == 0) { - pokemonOtId = BoxPokemon_GetValue(boxPokemon, MON_DATA_OT_ID, NULL) & 0xffff; + if (boxPokemonSpeciesId && BoxPokemon_GetData(boxPokemon, MON_DATA_IS_EGG, NULL) == 0) { + pokemonOtId = BoxPokemon_GetData(boxPokemon, MON_DATA_OT_ID, NULL) & 0xffff; matchedTrainerIdDigits = CheckTrainerIdForMatch(winningLotteryId, pokemonOtId); if (matchedTrainerIdDigits > 0 && highestBoxMatchedDigits < matchedTrainerIdDigits) { diff --git a/src/scrcmd_mystery_gift.c b/src/scrcmd_mystery_gift.c index 0f22636072..c45427bbe6 100644 --- a/src/scrcmd_mystery_gift.c +++ b/src/scrcmd_mystery_gift.c @@ -182,91 +182,91 @@ static void GivePokemon(FieldSystem *fieldSystem, GiftData *dummy) Pokemon *pokemon = &giftData->pokemonGiftData.pokemon; u8 *giftSpecialRibbons = giftData->pokemonGiftData.specialRibbonsDescIDs; - int metLocation = Pokemon_GetValue(pokemon, MON_DATA_EGG_LOCATION, NULL); - u32 giftPersonality = Pokemon_GetValue(pokemon, MON_DATA_PERSONALITY, NULL); - u32 giftOtID = Pokemon_GetValue(pokemon, MON_DATA_OT_ID, NULL); + int metLocation = Pokemon_GetData(pokemon, MON_DATA_EGG_LOCATION, NULL); + u32 giftPersonality = Pokemon_GetData(pokemon, MON_DATA_PERSONALITY, NULL); + u32 giftOtID = Pokemon_GetData(pokemon, MON_DATA_OT_ID, NULL); u32 personality = ARNG_Next(OS_GetTick()); if (giftPersonality == RANDOMIZE_PERSONALITY) { (void)0; } else if (giftPersonality == RANDOMIZE_PERSONALITY_NO_SHINY) { - while (Pokemon_IsPersonalityShiny(giftOtID, personality)) { + while (Personality_IsShiny(giftOtID, personality)) { personality = ARNG_Next(personality); } } else { personality = giftPersonality; } - sub_020780C4(pokemon, personality); + Pokemon_SetPersonality(pokemon, personality); u32 tmp = Pokemon_GetGender(pokemon); - Pokemon_SetValue(pokemon, MON_DATA_GENDER, &tmp); + Pokemon_SetData(pokemon, MON_DATA_GENDER, &tmp); // couldn't get a match without reusing the variable - tmp = Pokemon_GetValue(pokemon, MON_DATA_HP_IV, NULL) + Pokemon_GetValue(pokemon, MON_DATA_ATK_IV, NULL) + Pokemon_GetValue(pokemon, MON_DATA_DEF_IV, NULL) + Pokemon_GetValue(pokemon, MON_DATA_SPEED_IV, NULL) + Pokemon_GetValue(pokemon, MON_DATA_SPATK_IV, NULL) + Pokemon_GetValue(pokemon, MON_DATA_SPDEF_IV, NULL); + tmp = Pokemon_GetData(pokemon, MON_DATA_HP_IV, NULL) + Pokemon_GetData(pokemon, MON_DATA_ATK_IV, NULL) + Pokemon_GetData(pokemon, MON_DATA_DEF_IV, NULL) + Pokemon_GetData(pokemon, MON_DATA_SPEED_IV, NULL) + Pokemon_GetData(pokemon, MON_DATA_SPATK_IV, NULL) + Pokemon_GetData(pokemon, MON_DATA_SPDEF_IV, NULL); if (tmp == RANDOMIZE_IVS) { u32 rand = LCRNG_Next(); personality = (rand & (0x1F << 0)) >> 0; // couldn't get a match without reusing the variable - Pokemon_SetValue(pokemon, MON_DATA_HP_IV, &personality); + Pokemon_SetData(pokemon, MON_DATA_HP_IV, &personality); personality = (rand & (0x1F << 5)) >> 5; - Pokemon_SetValue(pokemon, MON_DATA_ATK_IV, &personality); + Pokemon_SetData(pokemon, MON_DATA_ATK_IV, &personality); personality = (rand & (0x1F << 10)) >> 10; - Pokemon_SetValue(pokemon, MON_DATA_DEF_IV, &personality); + Pokemon_SetData(pokemon, MON_DATA_DEF_IV, &personality); rand = LCRNG_Next(); personality = (rand & (0x1F << 0)) >> 0; - Pokemon_SetValue(pokemon, MON_DATA_SPEED_IV, &personality); + Pokemon_SetData(pokemon, MON_DATA_SPEED_IV, &personality); personality = (rand & (0x1F << 5)) >> 5; - Pokemon_SetValue(pokemon, MON_DATA_SPATK_IV, &personality); + Pokemon_SetData(pokemon, MON_DATA_SPATK_IV, &personality); personality = (rand & (0x1F << 10)) >> 10; - Pokemon_SetValue(pokemon, MON_DATA_SPDEF_IV, &personality); + Pokemon_SetData(pokemon, MON_DATA_SPDEF_IV, &personality); } u8 *specialRibbons = sub_0202D79C(fieldSystem->saveData); - if (Pokemon_GetValue(pokemon, MON_DATA_RED_RIBBON, NULL)) { + if (Pokemon_GetData(pokemon, MON_DATA_RED_RIBBON, NULL)) { specialRibbons[Ribbon_TryGetSpecialDescriptionID(RIBBON_RED)] = giftSpecialRibbons[0]; } - if (Pokemon_GetValue(pokemon, MON_DATA_GREEN_RIBBON, NULL)) { + if (Pokemon_GetData(pokemon, MON_DATA_GREEN_RIBBON, NULL)) { specialRibbons[Ribbon_TryGetSpecialDescriptionID(RIBBON_GREEN)] = giftSpecialRibbons[1]; } - if (Pokemon_GetValue(pokemon, MON_DATA_BLUE_RIBBON, NULL)) { + if (Pokemon_GetData(pokemon, MON_DATA_BLUE_RIBBON, NULL)) { specialRibbons[Ribbon_TryGetSpecialDescriptionID(RIBBON_BLUE)] = giftSpecialRibbons[2]; } - if (Pokemon_GetValue(pokemon, MON_DATA_FESTIVAL_RIBBON, NULL)) { + if (Pokemon_GetData(pokemon, MON_DATA_FESTIVAL_RIBBON, NULL)) { specialRibbons[Ribbon_TryGetSpecialDescriptionID(RIBBON_FESTIVAL)] = giftSpecialRibbons[3]; } - if (Pokemon_GetValue(pokemon, MON_DATA_CARNIVAL_RIBBON, NULL)) { + if (Pokemon_GetData(pokemon, MON_DATA_CARNIVAL_RIBBON, NULL)) { specialRibbons[Ribbon_TryGetSpecialDescriptionID(RIBBON_CARNIVAL)] = giftSpecialRibbons[4]; } - if (Pokemon_GetValue(pokemon, MON_DATA_CLASSIC_RIBBON, NULL)) { + if (Pokemon_GetData(pokemon, MON_DATA_CLASSIC_RIBBON, NULL)) { specialRibbons[Ribbon_TryGetSpecialDescriptionID(RIBBON_CLASSIC)] = giftSpecialRibbons[5]; } - if (Pokemon_GetValue(pokemon, MON_DATA_PREMIER_RIBBON, NULL)) { + if (Pokemon_GetData(pokemon, MON_DATA_PREMIER_RIBBON, NULL)) { specialRibbons[Ribbon_TryGetSpecialDescriptionID(RIBBON_PREMIER)] = giftSpecialRibbons[6]; } - if (Pokemon_GetValue(pokemon, MON_DATA_MARINE_RIBBON, NULL)) { + if (Pokemon_GetData(pokemon, MON_DATA_MARINE_RIBBON, NULL)) { specialRibbons[Ribbon_TryGetSpecialDescriptionID(RIBBON_HOENN_MARINE)] = giftSpecialRibbons[7]; } - if (Pokemon_GetValue(pokemon, MON_DATA_LAND_RIBBON, NULL)) { + if (Pokemon_GetData(pokemon, MON_DATA_LAND_RIBBON, NULL)) { specialRibbons[Ribbon_TryGetSpecialDescriptionID(RIBBON_HOENN_LAND)] = giftSpecialRibbons[8]; } - if (Pokemon_GetValue(pokemon, MON_DATA_SKY_RIBBON, NULL)) { + if (Pokemon_GetData(pokemon, MON_DATA_SKY_RIBBON, NULL)) { specialRibbons[Ribbon_TryGetSpecialDescriptionID(RIBBON_HOENN_SKY)] = giftSpecialRibbons[9]; } @@ -278,9 +278,9 @@ static void GivePokemon(FieldSystem *fieldSystem, GiftData *dummy) tmpPoke = Pokemon_New(HEAP_ID_FIELD3); Pokemon_Copy(pokemon, tmpPoke); - Pokemon_SetValue(tmpPoke, MON_DATA_OT_NAME_STRING, playerName); - Pokemon_SetValue(tmpPoke, MON_DATA_OT_ID, &playerID); - Pokemon_SetValue(tmpPoke, MON_DATA_OT_GENDER, &playerGender); + Pokemon_SetData(tmpPoke, MON_DATA_OT_NAME_STRING, playerName); + Pokemon_SetData(tmpPoke, MON_DATA_OT_ID, &playerID); + Pokemon_SetData(tmpPoke, MON_DATA_OT_GENDER, &playerGender); pokemon = tmpPoke; String_Free(playerName); @@ -288,8 +288,8 @@ static void GivePokemon(FieldSystem *fieldSystem, GiftData *dummy) UpdateMonStatusAndTrainerInfo(pokemon, trainerInfo, 4, SpecialMetLoc_GetId(2, metLocation), HEAP_ID_FIELD3); - if (Pokemon_GetValue(pokemon, MON_DATA_SPECIES, NULL) == SPECIES_ARCEUS) { - if (Pokemon_GetValue(pokemon, MON_DATA_FATEFUL_ENCOUNTER, NULL) == TRUE) { + if (Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL) == SPECIES_ARCEUS) { + if (Pokemon_GetData(pokemon, MON_DATA_FATEFUL_ENCOUNTER, NULL) == TRUE) { if (SystemVars_GetArceusEventState(varsFlags) == FALSE) { SystemVars_SetArceusEventState(varsFlags, TRUE); } @@ -320,7 +320,7 @@ static void PrepReceivedPokemonMsg(MystGiftGiveMsgFormatter *formatter, u16 *out Pokemon *pokemon = &giftData->pokemonGiftData.pokemon; StringTemplate_SetPlayerName(formatter->stringTemplate, 0, SaveData_GetTrainerInfo(formatter->fieldSystem->saveData)); - StringTemplate_SetSpeciesNameWithArticle(formatter->stringTemplate, 1, Pokemon_GetBoxPokemon(pokemon)); + StringTemplate_SetSpeciesNameWithArticle(formatter->stringTemplate, 1, Pokemon_GetBoxMon(pokemon)); } static void PrepCannotReceivePokemonMsg(MystGiftGiveMsgFormatter *formatter, u16 *outTextBank, u16 *outStringID) @@ -344,7 +344,7 @@ static void PrepReceivedEggMsg(MystGiftGiveMsgFormatter *formatter, u16 *outText Pokemon *pokemon = &giftData->pokemonGiftData.pokemon; StringTemplate_SetPlayerName(formatter->stringTemplate, 0, SaveData_GetTrainerInfo(formatter->fieldSystem->saveData)); - StringTemplate_SetSpeciesName(formatter->stringTemplate, 1, Pokemon_GetBoxPokemon(pokemon)); + StringTemplate_SetSpeciesName(formatter->stringTemplate, 1, Pokemon_GetBoxMon(pokemon)); } static BOOL CanReceiveItem(FieldSystem *fieldSystem, GiftData *dummy) diff --git a/src/scrcmd_party.c b/src/scrcmd_party.c index 610151f6d3..106476b03a 100644 --- a/src/scrcmd_party.c +++ b/src/scrcmd_party.c @@ -53,8 +53,8 @@ BOOL ScrCmd_GetPartyMonSpecies(ScriptContext *ctx) Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), *partySlot); - if (!Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL)) { - *destVar = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); + if (!Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL)) { + *destVar = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); } else { *destVar = SPECIES_NONE; } @@ -70,7 +70,7 @@ BOOL ScrCmd_CheckIsPartyMonOutsider(ScriptContext *ctx) u16 *destVar = ScriptContext_GetVarPointer(ctx); Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), *slot); - u16 monOTID = Pokemon_GetValue(mon, MON_DATA_OT_ID, NULL); + u16 monOTID = Pokemon_GetData(mon, MON_DATA_OT_ID, NULL); u16 trainerID = TrainerInfo_ID(info); if (monOTID == trainerID) { @@ -126,14 +126,14 @@ BOOL ScrCmd_CheckPartyMonHasMove(ScriptContext *ctx) Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), partySlot); *destVar = FALSE; - if (Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) != FALSE) { + if (Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL) != FALSE) { return FALSE; } - if ((Pokemon_GetValue(mon, MON_DATA_MOVE1, NULL) == move) - || (Pokemon_GetValue(mon, MON_DATA_MOVE2, NULL) == move) - || (Pokemon_GetValue(mon, MON_DATA_MOVE3, NULL) == move) - || (Pokemon_GetValue(mon, MON_DATA_MOVE4, NULL) == move)) { + if ((Pokemon_GetData(mon, MON_DATA_MOVE1, NULL) == move) + || (Pokemon_GetData(mon, MON_DATA_MOVE2, NULL) == move) + || (Pokemon_GetData(mon, MON_DATA_MOVE3, NULL) == move) + || (Pokemon_GetData(mon, MON_DATA_MOVE4, NULL) == move)) { *destVar = TRUE; } @@ -152,14 +152,14 @@ BOOL ScrCmd_FindPartySlotWithMove(ScriptContext *ctx) for (slot = 0, *destVar = MAX_PARTY_SIZE; slot < partyCount; slot++) { Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), slot); - if (Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) != FALSE) { + if (Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL) != FALSE) { continue; } - if ((Pokemon_GetValue(mon, MON_DATA_MOVE1, NULL) == move) - || (Pokemon_GetValue(mon, MON_DATA_MOVE2, NULL) == move) - || (Pokemon_GetValue(mon, MON_DATA_MOVE3, NULL) == move) - || (Pokemon_GetValue(mon, MON_DATA_MOVE4, NULL) == move)) { + if ((Pokemon_GetData(mon, MON_DATA_MOVE1, NULL) == move) + || (Pokemon_GetData(mon, MON_DATA_MOVE2, NULL) == move) + || (Pokemon_GetData(mon, MON_DATA_MOVE3, NULL) == move) + || (Pokemon_GetData(mon, MON_DATA_MOVE4, NULL) == move)) { *destVar = slot; break; } @@ -191,8 +191,8 @@ BOOL ScrCmd_CountPartyMonsBelowLevelThreshold(ScriptContext *ctx) for (slot = 0, count = 0; slot < partyCount; slot++) { Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), slot); - if (!Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL)) { - if (Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL) <= threshold) { + if (!Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL)) { + if (Pokemon_GetData(mon, MON_DATA_LEVEL, NULL) <= threshold) { count++; } } @@ -212,8 +212,8 @@ BOOL ScrCmd_GetPartyMonLevel(ScriptContext *ctx) Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), slot); *destVar = 0; - if (!Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL)) { - *destVar = Pokemon_GetValue(mon, MON_DATA_LEVEL, NULL); + if (!Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL)) { + *destVar = Pokemon_GetData(mon, MON_DATA_LEVEL, NULL); } return FALSE; @@ -233,7 +233,7 @@ BOOL ScrCmd_GetPartyMonNature(ScriptContext *ctx) Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), slot); - if (Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) != FALSE) { + if (Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL) != FALSE) { *destVar = NATURE_HARDY; return FALSE; } @@ -255,7 +255,7 @@ BOOL ScrCmd_FindPartySlotWithNature(ScriptContext *ctx) for (u8 slot = 0; slot < partyCount; slot++) { Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), slot); - if (!Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL)) { + if (!Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL)) { if (Pokemon_GetNature(mon) == nature) { *destVar = slot; break; @@ -273,7 +273,7 @@ BOOL ScrCmd_GetFriendshipByPartySlot(ScriptContext *ctx) u16 slot = ScriptContext_GetVar(ctx); Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), slot); - *destVar = Pokemon_GetValue(mon, MON_DATA_FRIENDSHIP, NULL); + *destVar = Pokemon_GetData(mon, MON_DATA_FRIENDSHIP, NULL); return FALSE; } @@ -286,29 +286,29 @@ BOOL ScrCmd_IncreasePartyMonFriendship(ScriptContext *ctx) u32 location = MapHeader_GetMapLabelTextID(ctx->fieldSystem->location->mapId); Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), slot); - u16 friendship = Pokemon_GetValue(mon, MON_DATA_FRIENDSHIP, NULL); + u16 friendship = Pokemon_GetData(mon, MON_DATA_FRIENDSHIP, NULL); if (value > 0) { - if (Item_LoadParam(Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL), ITEM_PARAM_HOLD_EFFECT, HEAP_ID_FIELD2) == HOLD_EFFECT_FRIENDSHIP_UP) { + if (Item_LoadParam(Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL), ITEM_PARAM_HOLD_EFFECT, HEAP_ID_FIELD2) == HOLD_EFFECT_FRIENDSHIP_UP) { value = value * 150 / 100; } - if (Pokemon_GetValue(mon, MON_DATA_POKEBALL, NULL) == ITEM_LUXURY_BALL) { + if (Pokemon_GetData(mon, MON_DATA_POKEBALL, NULL) == ITEM_LUXURY_BALL) { value++; } - if (Pokemon_GetValue(mon, MON_DATA_EGG_LOCATION, NULL) == location) { + if (Pokemon_GetData(mon, MON_DATA_EGG_LOCATION, NULL) == location) { value++; } } friendship += value; - if (friendship > MAX_FRIENDSHIP_VALUE) { - friendship = MAX_FRIENDSHIP_VALUE; + if (friendship > MAX_FRIENDSHIP) { + friendship = MAX_FRIENDSHIP; } - Pokemon_SetValue(mon, MON_DATA_FRIENDSHIP, &friendship); + Pokemon_SetData(mon, MON_DATA_FRIENDSHIP, &friendship); return FALSE; } @@ -319,7 +319,7 @@ BOOL ScrCmd_DecreasePartyMonFriendship_Unused(ScriptContext *ctx) u16 slot = ScriptContext_GetVar(ctx); Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), slot); - u16 friendship = Pokemon_GetValue(mon, MON_DATA_FRIENDSHIP, NULL); + u16 friendship = Pokemon_GetData(mon, MON_DATA_FRIENDSHIP, NULL); if (value > friendship) { friendship = 0; @@ -327,7 +327,7 @@ BOOL ScrCmd_DecreasePartyMonFriendship_Unused(ScriptContext *ctx) friendship -= value; } - Pokemon_SetValue(mon, MON_DATA_FRIENDSHIP, &friendship); + Pokemon_SetData(mon, MON_DATA_FRIENDSHIP, &friendship); return FALSE; } @@ -338,7 +338,7 @@ BOOL ScrCmd_GetPartyMonContestStat(ScriptContext *ctx) u16 *destVar = ScriptContext_GetVarPointer(ctx); Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(ctx->fieldSystem->saveData), slot); - *destVar = Pokemon_GetValue(mon, MON_DATA_COOL + contestType, NULL); + *destVar = Pokemon_GetData(mon, MON_DATA_COOL + contestType, NULL); return FALSE; } @@ -359,8 +359,8 @@ BOOL ScrCmd_GetPartyMonType(ScriptContext *ctx) u16 slot = ScriptContext_GetVar(ctx); Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), slot); - *type1DestVar = Pokemon_GetValue(mon, MON_DATA_TYPE_1, NULL); - *type2DestVar = Pokemon_GetValue(mon, MON_DATA_TYPE_2, NULL); + *type1DestVar = Pokemon_GetData(mon, MON_DATA_TYPE_1, NULL); + *type2DestVar = Pokemon_GetData(mon, MON_DATA_TYPE_2, NULL); return FALSE; } @@ -384,7 +384,7 @@ BOOL ScrCmd_CountPartyNonEggs(ScriptContext *ctx) for (i = 0, count = 0; i < partyCount; i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), i); - if (!Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL)) { + if (!Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL)) { count++; } } @@ -408,8 +408,8 @@ BOOL ScrCmd_CountAliveMonsExcept(ScriptContext *ctx) Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), slot); - if (!Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) - && Pokemon_GetValue(mon, MON_DATA_HP, NULL) != 0) { + if (!Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL) + && Pokemon_GetData(mon, MON_DATA_HP, NULL) != 0) { aliveCount++; } } @@ -430,8 +430,8 @@ BOOL ScrCmd_CountAliveMonsAndBoxMons(ScriptContext *ctx) for (slot = 0, count = 0; slot < partyCount; slot++) { Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), slot); - if (!Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) - && Pokemon_GetValue(mon, MON_DATA_HP, NULL) != 0) { + if (!Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL) + && Pokemon_GetData(mon, MON_DATA_HP, NULL) != 0) { count++; } } @@ -453,7 +453,7 @@ BOOL ScrCmd_CountPartyEggs(ScriptContext *ctx) for (slot = 0, count = 0; slot < partyCount; slot++) { Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), slot); - if (Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL)) { + if (Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL)) { count++; } } @@ -474,7 +474,7 @@ BOOL ScrCmd_CheckPartyPokerus(ScriptContext *ctx) for (slot = 0; slot < partyCount; slot++) { Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), slot); - if (Pokemon_GetValue(mon, MON_DATA_POKERUS, NULL) != FALSE) { + if (Pokemon_GetData(mon, MON_DATA_POKERUS, NULL) != FALSE) { *destVar = TRUE; break; } @@ -489,7 +489,7 @@ BOOL ScrCmd_GetPartyMonGender_Unused(ScriptContext *ctx) u16 *destVar = ScriptContext_GetVarPointer(ctx); Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(ctx->fieldSystem->saveData), slot); - *destVar = Pokemon_GetValue(mon, MON_DATA_GENDER, NULL); + *destVar = Pokemon_GetData(mon, MON_DATA_GENDER, NULL); return FALSE; } @@ -502,26 +502,26 @@ BOOL ScrCmd_GetPartyMonMoveCount(ScriptContext *ctx) Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), partySlot); - if (Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) != FALSE) { + if (Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL) != FALSE) { *destVar = 0; return FALSE; } u8 count = 0; - if (Pokemon_GetValue(mon, MON_DATA_MOVE1, NULL) != MOVE_NONE) { + if (Pokemon_GetData(mon, MON_DATA_MOVE1, NULL) != MOVE_NONE) { count++; } - if (Pokemon_GetValue(mon, MON_DATA_MOVE2, NULL) != MOVE_NONE) { + if (Pokemon_GetData(mon, MON_DATA_MOVE2, NULL) != MOVE_NONE) { count++; } - if (Pokemon_GetValue(mon, MON_DATA_MOVE3, NULL) != MOVE_NONE) { + if (Pokemon_GetData(mon, MON_DATA_MOVE3, NULL) != MOVE_NONE) { count++; } - if (Pokemon_GetValue(mon, MON_DATA_MOVE4, NULL) != MOVE_NONE) { + if (Pokemon_GetData(mon, MON_DATA_MOVE4, NULL) != MOVE_NONE) { count++; } @@ -549,7 +549,7 @@ BOOL ScrCmd_GetPartyMonMove(ScriptContext *ctx) u16 moveSlot = ScriptContext_GetVar(ctx); Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), partySlot); - *destVar = Pokemon_GetValue(mon, MON_DATA_MOVE1 + moveSlot, NULL); + *destVar = Pokemon_GetData(mon, MON_DATA_MOVE1 + moveSlot, NULL); return FALSE; } @@ -561,7 +561,7 @@ BOOL ScrCmd_GetPartyMonHeldItem_Unused(ScriptContext *ctx) u16 slot = ScriptContext_GetVar(ctx); Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), slot); - *destVar = Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL); + *destVar = Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL); return FALSE; } @@ -574,7 +574,7 @@ BOOL ScrCmd_DeletePartyMonHeldItem_Unused(ScriptContext *ctx) Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), slot); u16 value = ITEM_NONE; - Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, &value); + Pokemon_SetData(mon, MON_DATA_HELD_ITEM, &value); return FALSE; } @@ -592,8 +592,8 @@ BOOL ScrCmd_CheckPartyHasSpecies(ScriptContext *ctx) for (u8 slot = 0; slot < partyCount; slot++) { Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), slot); - if (!Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL)) { - u16 partySpecies = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); + if (!Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL)) { + u16 partySpecies = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); if (species == partySpecies) { *destVar = TRUE; @@ -626,8 +626,8 @@ BOOL ScrCmd_CountRepeatedSpeciesInParty(ScriptContext *ctx) for (i = 0; i < partyCount; i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), i); - if (!Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL)) { - u16 partySpecies = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); + if (!Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL)) { + u16 partySpecies = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); if (species == SPECIES_NONE) { partySpeciesArray[i] = partySpecies; @@ -662,8 +662,8 @@ BOOL ScrCmd_FindPartySlotWithSpecies(ScriptContext *ctx) for (u8 slot = 0; slot < partyCount; slot++) { Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), slot); - if (!Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL)) { - u16 partySpecies = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); + if (!Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL)) { + u16 partySpecies = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); if (species == partySpecies) { *destVar = slot; @@ -684,7 +684,7 @@ BOOL ScrCmd_CountPartyMonRibbons_Unused(ScriptContext *ctx) Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(ctx->fieldSystem->saveData), slot); for (ribbonID = 0, count = 0; ribbonID < RIBBON_MAX; ribbonID++) { - if (Pokemon_GetValue(mon, Ribbon_GetData(ribbonID, RIBBON_DATA_MON_DATA_PARAM), NULL) != FALSE) { + if (Pokemon_GetData(mon, Ribbon_GetData(ribbonID, RIBBON_DATA_MON_DATA_PARAM), NULL) != FALSE) { count++; } } @@ -706,8 +706,8 @@ BOOL ScrCmd_CountPartyRibbons(ScriptContext *ctx) for (u16 slot = 0; slot < partyCount; slot++) { Pokemon *mon = Party_GetPokemonBySlotIndex(party, slot); - if (!Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) - && Pokemon_GetValue(mon, Ribbon_GetData(ribbonID, RIBBON_DATA_MON_DATA_PARAM), NULL) != FALSE) { + if (!Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL) + && Pokemon_GetData(mon, Ribbon_GetData(ribbonID, RIBBON_DATA_MON_DATA_PARAM), NULL) != FALSE) { count++; break; } @@ -727,7 +727,7 @@ BOOL ScrCmd_GetPartyMonRibbon(ScriptContext *ctx) u8 unused = TRUE; Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(ctx->fieldSystem->saveData), slot); - *hasRibbonVar = Pokemon_GetValue(mon, Ribbon_GetData(ribbonID, RIBBON_DATA_MON_DATA_PARAM), NULL); + *hasRibbonVar = Pokemon_GetData(mon, Ribbon_GetData(ribbonID, RIBBON_DATA_MON_DATA_PARAM), NULL); return FALSE; } @@ -740,7 +740,7 @@ BOOL ScrCmd_SetPartyMonRibbon(ScriptContext *ctx) Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(ctx->fieldSystem->saveData), slot); - Pokemon_SetValue(mon, Ribbon_GetData(ribbonID, RIBBON_DATA_MON_DATA_PARAM), &value); + Pokemon_SetData(mon, Ribbon_GetData(ribbonID, RIBBON_DATA_MON_DATA_PARAM), &value); sub_0206DDB8(ctx->fieldSystem->saveData, mon, Ribbon_GetData(ribbonID, RIBBON_DATA_MON_DATA_PARAM)); return FALSE; @@ -758,8 +758,8 @@ BOOL ScrCmd_CheckPartyHasBadEgg(ScriptContext *ctx) for (u16 slot = 0; slot < partyCount; slot++) { Pokemon *mon = Party_GetPokemonBySlotIndex(party, slot); - if (Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL)) { - if (Pokemon_GetValue(mon, MON_DATA_CHECKSUM_FAILED, NULL)) { + if (Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL)) { + if (Pokemon_GetData(mon, MON_DATA_CHECKSUM_FAILED, NULL)) { *destVar = TRUE; return FALSE; } @@ -791,11 +791,11 @@ BOOL ScrCmd_FindPartySlotWithFatefulEncounterSpecies(ScriptContext *ctx) for (u8 slot = 0; slot < partyCount; slot++) { Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), slot); - if (!Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL)) { - u16 partySpecies = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); + if (!Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL)) { + u16 partySpecies = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); if (species == partySpecies) { - if (Pokemon_GetValue(mon, MON_DATA_FATEFUL_ENCOUNTER, NULL) == TRUE) { + if (Pokemon_GetData(mon, MON_DATA_FATEFUL_ENCOUNTER, NULL) == TRUE) { *destVar = slot; break; } @@ -820,7 +820,7 @@ BOOL ScrCmd_CheckPartyHasHeldItem(ScriptContext *ctx) for (slot = 0; slot < partyCount; slot++) { Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), slot); - if (Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL) == item) { + if (Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL) == item) { *destVar = TRUE; break; } diff --git a/src/scrcmd_party_mon_moves.c b/src/scrcmd_party_mon_moves.c index dcd3249b86..42e8773501 100644 --- a/src/scrcmd_party_mon_moves.c +++ b/src/scrcmd_party_mon_moves.c @@ -36,7 +36,7 @@ BOOL ScrCmd_GetSelectedPartyMonMove(ScriptContext *ctx) GF_ASSERT(*partyData != NULL); *destVar = PokemonSummary_GetSelectedMoveSlot(*partyData); - if (*destVar == LEARNED_MOVES_MAX) { + if (*destVar == MAX_MON_MOVES) { *destVar = MOVE_NOT_SELECTED; } diff --git a/src/scrcmd_strings.c b/src/scrcmd_strings.c index 1eb5e20a86..1a94b78c37 100644 --- a/src/scrcmd_strings.c +++ b/src/scrcmd_strings.c @@ -423,7 +423,7 @@ BOOL ScrCmd_BufferPartyMoveName(ScriptContext *ctx) u16 partySlot = ScriptContext_GetVar(ctx); u16 moveSlot = ScriptContext_GetVar(ctx); Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), partySlot); - u16 move = Pokemon_GetValue(mon, MON_DATA_MOVE1 + moveSlot, NULL); + u16 move = Pokemon_GetData(mon, MON_DATA_MOVE1 + moveSlot, NULL); StringTemplate_SetMoveName(*strTemplate, templateArg, move); return FALSE; diff --git a/src/scrcmd_tv_broadcast.c b/src/scrcmd_tv_broadcast.c index 2b20a06a83..f38e409969 100644 --- a/src/scrcmd_tv_broadcast.c +++ b/src/scrcmd_tv_broadcast.c @@ -265,7 +265,7 @@ static void sub_02049268(FieldSystem *fieldSystem, StringTemplate *param1) Party *v0 = SaveData_GetParty(fieldSystem->saveData); Pokemon *v1 = Party_FindFirstHatchedMon(v0); - StringTemplate_SetSpeciesName(param1, 0, Pokemon_GetBoxPokemon(v1)); + StringTemplate_SetSpeciesName(param1, 0, Pokemon_GetBoxMon(v1)); } static void sub_02049288(FieldSystem *fieldSystem, StringTemplate *param1) diff --git a/src/start_menu.c b/src/start_menu.c index a9631735a6..27106bf028 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -1285,7 +1285,7 @@ static BOOL sub_0203BC5C(FieldTask *taskMan) Heap_Free(menu->unk_260); - if ((Item_IsMail(item) == TRUE) && (Pokemon_GetValue(v8, MON_DATA_HELD_ITEM, NULL) == 0)) { + if ((Item_IsMail(item) == TRUE) && (Pokemon_GetData(v8, MON_DATA_HELD_ITEM, NULL) == 0)) { UnkStruct_02097728 *v11; UnkStruct_0203C540 *v12; diff --git a/src/string_template.c b/src/string_template.c index 81f61f1559..a66a3f238c 100644 --- a/src/string_template.c +++ b/src/string_template.c @@ -171,7 +171,7 @@ void StringTemplate_SetCounterpartName(StringTemplate *template, u32 idx, const void StringTemplate_SetSpeciesName(StringTemplate *template, u32 idx, BoxPokemon *boxMon) { MessageLoader *loader = InitMessageLoader(TEXT_BANK_SPECIES_NAME, template->heapID); - u32 species = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); + u32 species = BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL); MessageLoader_GetString(loader, species, template->templateBuf); SetStringTemplateArg(template, idx, template->templateBuf, NULL); @@ -180,7 +180,7 @@ void StringTemplate_SetSpeciesName(StringTemplate *template, u32 idx, BoxPokemon void StringTemplate_SetSpeciesNameWithArticle(StringTemplate *template, u32 idx, BoxPokemon *boxMon) { - StringTemplate_SetSpeciesNameWithArticleByID(template, idx, BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL)); + StringTemplate_SetSpeciesNameWithArticleByID(template, idx, BoxPokemon_GetData(boxMon, MON_DATA_SPECIES, NULL)); } void StringTemplate_SetSpeciesNameWithArticleByID(StringTemplate *template, u32 idx, u32 species) @@ -194,13 +194,13 @@ void StringTemplate_SetSpeciesNameWithArticleByID(StringTemplate *template, u32 void StringTemplate_SetNickname(StringTemplate *template, u32 idx, BoxPokemon *boxMon) { - BoxPokemon_GetValue(boxMon, MON_DATA_NICKNAME_STRING, template->templateBuf); + BoxPokemon_GetData(boxMon, MON_DATA_NICKNAME_STRING, template->templateBuf); SetStringTemplateArg(template, idx, template->templateBuf, NULL); } void StringTemplate_SetOTName(StringTemplate *template, u32 idx, BoxPokemon *boxMon) { - BoxPokemon_GetValue(boxMon, MON_DATA_OT_NAME_STRING, template->templateBuf); + BoxPokemon_GetData(boxMon, MON_DATA_OT_NAME_STRING, template->templateBuf); SetStringTemplateArg(template, idx, template->templateBuf, NULL); } diff --git a/src/trainer_data.c b/src/trainer_data.c index a2422be3df..413eb16cbd 100644 --- a/src/trainer_data.c +++ b/src/trainer_data.c @@ -213,9 +213,9 @@ static void TrainerData_BuildParty(FieldBattleDTO *dto, int battler, int heapID) rnd = (rnd << 8) + genderMod; ivs = trmon[i].dv * MAX_IVS_SINGLE_STAT / MAX_DV; - Pokemon_InitWith(mon, species, trmon[i].level, ivs, TRUE, rnd, OTID_NOT_SHINY, 0); + Pokemon_InitWithParams(mon, species, trmon[i].level, ivs, TRUE, rnd, OT_ID_RANDOM_NO_SHINY, 0); Pokemon_SetBallSeal(trmon[i].cbSeal, mon, heapID); - Pokemon_SetValue(mon, MON_DATA_FORM, &form); + Pokemon_SetData(mon, MON_DATA_FORM, &form); Party_AddPokemon(dto->parties[battler], mon); } @@ -238,14 +238,14 @@ static void TrainerData_BuildParty(FieldBattleDTO *dto, int battler, int heapID) rnd = (rnd << 8) + genderMod; ivs = trmon[i].dv * MAX_IVS_SINGLE_STAT / MAX_DV; - Pokemon_InitWith(mon, species, trmon[i].level, ivs, TRUE, rnd, OTID_NOT_SHINY, 0); + Pokemon_InitWithParams(mon, species, trmon[i].level, ivs, TRUE, rnd, OT_ID_RANDOM_NO_SHINY, 0); for (j = 0; j < 4; j++) { - Pokemon_SetMoveSlot(mon, trmon[i].moves[j], j); + Pokemon_SetMoveInSlot(mon, trmon[i].moves[j], j); } Pokemon_SetBallSeal(trmon[i].cbSeal, mon, heapID); - Pokemon_SetValue(mon, MON_DATA_FORM, &form); + Pokemon_SetData(mon, MON_DATA_FORM, &form); Party_AddPokemon(dto->parties[battler], mon); } @@ -268,10 +268,10 @@ static void TrainerData_BuildParty(FieldBattleDTO *dto, int battler, int heapID) rnd = (rnd << 8) + genderMod; ivs = trmon[i].dv * MAX_IVS_SINGLE_STAT / MAX_DV; - Pokemon_InitWith(mon, species, trmon[i].level, ivs, TRUE, rnd, OTID_NOT_SHINY, 0); - Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, &trmon[i].item); + Pokemon_InitWithParams(mon, species, trmon[i].level, ivs, TRUE, rnd, OT_ID_RANDOM_NO_SHINY, 0); + Pokemon_SetData(mon, MON_DATA_HELD_ITEM, &trmon[i].item); Pokemon_SetBallSeal(trmon[i].cbSeal, mon, heapID); - Pokemon_SetValue(mon, MON_DATA_FORM, &form); + Pokemon_SetData(mon, MON_DATA_FORM, &form); Party_AddPokemon(dto->parties[battler], mon); } @@ -294,15 +294,15 @@ static void TrainerData_BuildParty(FieldBattleDTO *dto, int battler, int heapID) rnd = (rnd << 8) + genderMod; ivs = trmon[i].dv * MAX_IVS_SINGLE_STAT / MAX_DV; - Pokemon_InitWith(mon, species, trmon[i].level, ivs, TRUE, rnd, OTID_NOT_SHINY, 0); - Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, &trmon[i].item); + Pokemon_InitWithParams(mon, species, trmon[i].level, ivs, TRUE, rnd, OT_ID_RANDOM_NO_SHINY, 0); + Pokemon_SetData(mon, MON_DATA_HELD_ITEM, &trmon[i].item); for (j = 0; j < 4; j++) { - Pokemon_SetMoveSlot(mon, trmon[i].moves[j], j); + Pokemon_SetMoveInSlot(mon, trmon[i].moves[j], j); } Pokemon_SetBallSeal(trmon[i].cbSeal, mon, heapID); - Pokemon_SetValue(mon, MON_DATA_FORM, &form); + Pokemon_SetData(mon, MON_DATA_FORM, &form); Party_AddPokemon(dto->parties[battler], mon); } diff --git a/src/tv_episode_segment.c b/src/tv_episode_segment.c index 06e539cb53..32e02cc64f 100644 --- a/src/tv_episode_segment.c +++ b/src/tv_episode_segment.c @@ -495,17 +495,17 @@ static void sub_0206CE08(int heapID, u16 *param1, Pokemon *mon) { String *string = String_Init(64, heapID); - Pokemon_GetValue(mon, MON_DATA_NICKNAME_STRING, string); + Pokemon_GetData(mon, MON_DATA_NICKNAME_STRING, string); String_ToChars(string, param1, TEMPLATE_NAME_SIZE); String_Free(string); } static void TVEpisodeSegment_CopyPokemonValues(Pokemon *mon, u16 *species, u8 *gender, u8 *language, u8 *metGame) { - *species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - *gender = Pokemon_GetValue(mon, MON_DATA_GENDER, NULL); - *language = Pokemon_GetValue(mon, MON_DATA_LANGUAGE, NULL); - *metGame = Pokemon_GetValue(mon, MON_DATA_MET_GAME, NULL); + *species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + *gender = Pokemon_GetData(mon, MON_DATA_GENDER, NULL); + *language = Pokemon_GetData(mon, MON_DATA_LANGUAGE, NULL); + *metGame = Pokemon_GetData(mon, MON_DATA_MET_GAME, NULL); } static void TVEpisodeSegment_SetTemplatePokemonSpecies(StringTemplate *template, int idx, u16 species, u8 unused3, u8 unused4, u8 unused5) @@ -526,12 +526,12 @@ static void TVEpisodeSegment_SetTemplateOwnPokemonSpecies(StringTemplate *templa static void sub_0206CED0(int heapID, Pokemon *mon, u8 *param2, u16 *param3) { - *param2 = Pokemon_GetValue(mon, MON_DATA_HAS_NICKNAME, NULL); + *param2 = Pokemon_GetData(mon, MON_DATA_HAS_NICKNAME, NULL); if (*param2) { String *string = String_Init(64, heapID); - Pokemon_GetValue(mon, MON_DATA_NICKNAME_STRING, string); + Pokemon_GetData(mon, MON_DATA_NICKNAME_STRING, string); String_ToChars(string, param3, TEMPLATE_NAME_SIZE); String_Free(string); } @@ -559,7 +559,7 @@ void sub_0206CF48(TVBroadcast *broadcast, Pokemon *param1, int heapID) v0->unk_1E = Pokemon_GetNature(param1); TVEpisodeSegment_CopyPokemonValues(param1, &v0->unk_02, &v0->unk_04, &v0->unk_05, &v0->unk_06); - v0->unk_07 = Pokemon_GetValue(param1, MON_DATA_HAS_NICKNAME, NULL); + v0->unk_07 = Pokemon_GetData(param1, MON_DATA_HAS_NICKNAME, NULL); sub_0206CED0(heapID, param1, &v0->unk_07, v0->unk_08); SaveData_SetChecksum(SAVE_TABLE_ENTRY_TV_BROADCAST); @@ -634,7 +634,7 @@ void sub_0206D048(TVBroadcast *broadcast, Pokemon *mon) v0->unk_00 = 1; TVEpisodeSegment_CopyPokemonValues(mon, &v0->unk_02, &v0->unk_04, &v0->unk_05, &v0->unk_06); - v0->unk_07 = Pokemon_GetValue(mon, MON_DATA_HAS_NICKNAME, NULL); + v0->unk_07 = Pokemon_GetData(mon, MON_DATA_HAS_NICKNAME, NULL); sub_0206CED0(HEAP_ID_FIELD2, mon, &v0->unk_07, v0->unk_08); SaveData_SetChecksum(SAVE_TABLE_ENTRY_TV_BROADCAST); @@ -722,7 +722,7 @@ void CaptureAttempt_Init(CaptureAttempt *captureAttempt, Pokemon *mon, int resul TVEpisodeSegment_CopyPokemonValues(mon, &captureAttempt->species, &captureAttempt->gender, &captureAttempt->language, &captureAttempt->metGame); - captureAttempt->pokeballItemID = Pokemon_GetValue(mon, MON_DATA_POKEBALL, NULL); + captureAttempt->pokeballItemID = Pokemon_GetData(mon, MON_DATA_POKEBALL, NULL); GF_ASSERT(captureAttempt->pokeballItemID); sub_0206CED0(heapID, mon, &captureAttempt->hasNickname, captureAttempt->nickname); @@ -1070,8 +1070,8 @@ void FieldSystem_SaveTVEpisodeSegment_PokemonStorageSpecialNewsBulletin(FieldSys for (partyIndex = 0; partyIndex < partyCount; partyIndex++) { pokemon = Party_GetPokemonBySlotIndex(party, partyIndex); - if (Pokemon_GetValue(pokemon, MON_DATA_IS_EGG, NULL) == FALSE) { - gender = Pokemon_GetValue(pokemon, MON_DATA_GENDER, NULL); + if (Pokemon_GetData(pokemon, MON_DATA_IS_EGG, NULL) == FALSE) { + gender = Pokemon_GetData(pokemon, MON_DATA_GENDER, NULL); if (gender == GENDER_MALE) { hasMale = TRUE; @@ -1474,7 +1474,7 @@ static u8 sub_0206DE4C(Pokemon *param0) u8 v0 = 0, v1; for (v1 = 0; v1 < (NELEMS(Unk_020EFDDC)); v1++) { - if (Pokemon_GetValue(param0, Unk_020EFDDC[v1], NULL) == 1) { + if (Pokemon_GetData(param0, Unk_020EFDDC[v1], NULL) == 1) { v0++; } } @@ -2503,7 +2503,7 @@ static int TVEpisodeSegment_LoadMessage_RichBoyNatureCorner(FieldSystem *fieldSy u8 nature; int flavor = 0xff, stat = 0xff; personality = (LCRNG_Next() % 0xffff); - nature = Pokemon_GetNatureOf(personality); + nature = Personality_GetNature(personality); StringTemplate_SetNatureName(template, 0, nature); @@ -2516,8 +2516,8 @@ static int TVEpisodeSegment_LoadMessage_RichBoyNatureCorner(FieldSystem *fieldSy } if ((personality % 2) == 0) { - for (i = 0; i < FLAVOR_MAX; i++) { - if (Pokemon_GetFlavorAffinityOf(personality, i) == 1) { + for (i = 0; i < FLAVOR_COUNT; i++) { + if (Personality_GetFlavorAffinity(personality, i) == 1) { flavor = i; break; } @@ -2528,7 +2528,7 @@ static int TVEpisodeSegment_LoadMessage_RichBoyNatureCorner(FieldSystem *fieldSy } for (i = 0; i < STAT_MAX - 1; i++) { - if (Pokemon_GetStatAffinityOf(nature, 1 + i) > 0) { + if (Nature_GetStatModifier(nature, 1 + i) > 0) { stat = i; break; } @@ -2561,7 +2561,7 @@ static int TVEpisodeSegment_LoadMessage_RoamerNewsFlash(FieldSystem *fieldSystem species = Roamer_GetData(roamer, ROAMER_DATA_SPECIES); personality = Roamer_GetData(roamer, ROAMER_DATA_PERSONALITY); - TVEpisodeSegment_SetTemplatePokemonSpecies(template, 1, species, Pokemon_GetGenderOf(species, personality), TrainerInfo_RegionCode(trainerInfo), TrainerInfo_GameCode(trainerInfo)); + TVEpisodeSegment_SetTemplatePokemonSpecies(template, 1, species, Species_GetGenderFromPersonality(species, personality), TrainerInfo_RegionCode(trainerInfo), TrainerInfo_GameCode(trainerInfo)); break; } } @@ -2765,7 +2765,7 @@ static int sub_0206F160(FieldSystem *fieldSystem, StringTemplate *param1, UnkStr party = SaveData_GetParty(fieldSystem->saveData); pokemon = Party_GetPokemonBySlotIndex(party, SaveData_GetFirstNonEggInParty(fieldSystem->saveData)); - TVEpisodeSegment_SetTemplatePokemonSpecies(param1, 0, Pokemon_GetValue(pokemon, MON_DATA_SPECIES, NULL), Pokemon_GetValue(pokemon, MON_DATA_GENDER, NULL), TrainerInfo_RegionCode(trainerInfo), TrainerInfo_GameCode(trainerInfo)); + TVEpisodeSegment_SetTemplatePokemonSpecies(param1, 0, Pokemon_GetData(pokemon, MON_DATA_SPECIES, NULL), Pokemon_GetData(pokemon, MON_DATA_GENDER, NULL), TrainerInfo_RegionCode(trainerInfo), TrainerInfo_GameCode(trainerInfo)); StringTemplate_SetContestAccessoryName(param1, 1, LCRNG_Next() % 100); v1 = (LCRNG_Next() % (NATIONAL_DEX_COUNT - 2) + 1); diff --git a/src/unk_020298BC.c b/src/unk_020298BC.c index 787bd25a8c..441f8a8ccc 100644 --- a/src/unk_020298BC.c +++ b/src/unk_020298BC.c @@ -121,12 +121,12 @@ static void sub_020298D8(UnkStruct_020298D8 *param0, u8 *param1, u8 *param2, s8 static void sub_0202992C(UnkStruct_0202A138 *param0, Pokemon *param1, u8 param2, u8 param3, s8 param4) { - param0->unk_08 = Pokemon_GetValue(param1, MON_DATA_SPECIES, NULL); - Pokemon_GetValue(param1, MON_DATA_NICKNAME, param0->unk_0A); + param0->unk_08 = Pokemon_GetData(param1, MON_DATA_SPECIES, NULL); + Pokemon_GetData(param1, MON_DATA_NICKNAME, param0->unk_0A); - param0->unk_00 = Pokemon_GetValue(param1, MON_DATA_PERSONALITY, NULL); - param0->unk_04 = Pokemon_GetValue(param1, MON_DATA_OT_ID, NULL); - param0->unk_33 = Pokemon_GetValue(param1, MON_DATA_FORM, NULL); + param0->unk_00 = Pokemon_GetData(param1, MON_DATA_PERSONALITY, NULL); + param0->unk_04 = Pokemon_GetData(param1, MON_DATA_OT_ID, NULL); + param0->unk_33 = Pokemon_GetData(param1, MON_DATA_FORM, NULL); param0->unk_31 = param2; param0->unk_32 = param3; @@ -150,9 +150,9 @@ static void sub_020299C0(UnkStruct_0202A138 *param0, const String *param1, int p static void sub_020299D8(const UnkStruct_0202A138 *param0, Pokemon *param1) { - Pokemon_InitWith(param1, param0->unk_08, 0, 0, TRUE, param0->unk_00, OTID_SET, param0->unk_04); - Pokemon_SetValue(param1, MON_DATA_NICKNAME, param0->unk_0A); - Pokemon_SetValue(param1, MON_DATA_FORM, ¶m0->unk_33); + Pokemon_InitWithParams(param1, param0->unk_08, 0, 0, TRUE, param0->unk_00, OT_ID_PRESET, param0->unk_04); + Pokemon_SetData(param1, MON_DATA_NICKNAME, param0->unk_0A); + Pokemon_SetData(param1, MON_DATA_FORM, ¶m0->unk_33); } static void sub_02029A18(UnkStruct_0202A150 *param0, u8 param1, u8 param2, u8 param3, u8 param4) diff --git a/src/unk_0202EEC0.c b/src/unk_0202EEC0.c index 0c278f6699..9528555807 100644 --- a/src/unk_0202EEC0.c +++ b/src/unk_0202EEC0.c @@ -27,7 +27,7 @@ void PalParkTransfer_Init(MigratedPokemon *transferData) for (i = 0; i < CATCHING_SHOW_MONS; i++) { Pokemon_Init(&transferData->mons[i]); - GF_ASSERT(Pokemon_GetValue(&transferData->mons[i], MON_DATA_SPECIES_EXISTS, NULL) == FALSE); + GF_ASSERT(Pokemon_GetData(&transferData->mons[i], MON_DATA_SPECIES_EXISTS, NULL) == FALSE); } } @@ -39,7 +39,7 @@ void ClearPalParkTransferPokemonData(MigratedPokemon *transferData) for (i = 0; i < CATCHING_SHOW_MONS; i++) { Pokemon_Init(&transferData->mons[i]); - GF_ASSERT(Pokemon_GetValue(&transferData->mons[i], MON_DATA_SPECIES_EXISTS, NULL) == FALSE); + GF_ASSERT(Pokemon_GetData(&transferData->mons[i], MON_DATA_SPECIES_EXISTS, NULL) == FALSE); } } @@ -75,7 +75,7 @@ static int GetTransferSlotByTrainerID(MigratedPokemon *transferData, u32 param1) void BoxMonToTransferData(MigratedPokemon *transfer, BoxPokemon *boxMon, int slot) { - Pokemon_FromBoxPokemon(boxMon, &transfer->mons[slot]); + BoxPokemon_CopyToPokemon(boxMon, &transfer->mons[slot]); } void PalParkTransfer_SaveTransferHistory(MigratedPokemon *transferData, u32 gbaTrainerId) @@ -100,7 +100,7 @@ int GetPalParkTransferMonCount(const MigratedPokemon *transferData) int i, count; for (count = 0, i = 0; i < CATCHING_SHOW_MONS; i++) { - if (Pokemon_GetValue((Pokemon *)&transferData->mons[i], MON_DATA_SPECIES_EXISTS, NULL)) { + if (Pokemon_GetData((Pokemon *)&transferData->mons[i], MON_DATA_SPECIES_EXISTS, NULL)) { count++; } } diff --git a/src/unk_0202F180.c b/src/unk_0202F180.c index e7263262fa..3eb52ddc71 100644 --- a/src/unk_0202F180.c +++ b/src/unk_0202F180.c @@ -13,10 +13,10 @@ void SaveData_UpdateCatchRecords(SaveData *saveData, const Pokemon *mon) { - if (Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) == FALSE) { + if (Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL) == FALSE) { Pokedex *pokedex = SaveData_GetPokedex(saveData); - GameRecords_IncrementTrainerScoreOnCatch(SaveData_GetGameRecords(saveData), pokedex, Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL)); + GameRecords_IncrementTrainerScoreOnCatch(SaveData_GetGameRecords(saveData), pokedex, Pokemon_GetData(mon, MON_DATA_SPECIES, NULL)); Pokedex_Capture(pokedex, mon); Poketch_PokemonHistoryEnqueue(SaveData_GetPoketch(saveData), (const BoxPokemon *)mon); } diff --git a/src/unk_0202F1D4.c b/src/unk_0202F1D4.c index c6fe429c52..276563797b 100644 --- a/src/unk_0202F1D4.c +++ b/src/unk_0202F1D4.c @@ -608,7 +608,7 @@ static void sub_0202FD30(UnkStruct_0202FD30 *param0, Party *party) for (v0 = 0; v0 < param0->unk_02; v0++) { sub_02078E0C(¶m0->unk_04[v0], v1); - Pokemon_SetValue(v1, MON_DATA_BALL_CAPSULE_ID, &v2); + Pokemon_SetData(v1, MON_DATA_BALL_CAPSULE_ID, &v2); Party_AddPokemon(party, v1); } diff --git a/src/unk_02030A80.c b/src/unk_02030A80.c index ecf3ae903d..b38fb796e1 100644 --- a/src/unk_02030A80.c +++ b/src/unk_02030A80.c @@ -105,7 +105,7 @@ int sub_02030BCC(const UnkStruct_02030A80 *param0) return 0; } - return Pokemon_SanitizeFormId(param0->unk_1C, param0->unk_1B_1); + return Species_SanitizeFormId(param0->unk_1C, param0->unk_1B_1); } int sub_02030BEC(const UnkStruct_02030A80 *param0) diff --git a/src/unk_0203D1B8.c b/src/unk_0203D1B8.c index 9415464e03..5b616f222d 100644 --- a/src/unk_0203D1B8.c +++ b/src/unk_0203D1B8.c @@ -946,8 +946,8 @@ static void sub_0203DB38(UnkStruct_ov88_0223C370 *param0, FieldSystem *fieldSyst param0->unk_1C = fieldSystem->journalEntry; param0->records = SaveData_GetGameRecords(fieldSystem->saveData); param0->unk_38 = Heap_Alloc(HEAP_ID_FIELD3, TrainerInfo_Size()); - param0->unk_3C = Heap_Alloc(HEAP_ID_FIELD3, Pokemon_GetStructSize()); - param0->unk_40 = Heap_Alloc(HEAP_ID_FIELD3, Pokemon_GetStructSize()); + param0->unk_3C = Heap_Alloc(HEAP_ID_FIELD3, Pokemon_Size2()); + param0->unk_40 = Heap_Alloc(HEAP_ID_FIELD3, Pokemon_Size2()); param0->fieldSystem = fieldSystem; param0->unk_34 = 0; } @@ -1002,8 +1002,8 @@ BOOL sub_0203DBF0(FieldTask *param0) break; case 4: v2->unk_48.otherTrainer = v2->unk_04.unk_38; - v2->unk_48.sendingPokemon = Pokemon_GetBoxPokemon(v2->unk_04.unk_3C); - v2->unk_48.receivingPokemon = Pokemon_GetBoxPokemon(v2->unk_04.unk_40); + v2->unk_48.sendingPokemon = Pokemon_GetBoxMon(v2->unk_04.unk_3C); + v2->unk_48.receivingPokemon = Pokemon_GetBoxMon(v2->unk_04.unk_40); v2->unk_48.options = SaveData_GetOptions(fieldSystem->saveData); v2->unk_48.tradeType = TRADE_TYPE_NORMAL; @@ -1030,11 +1030,11 @@ BOOL sub_0203DBF0(FieldTask *param0) v2->unk_00 = 5; break; case 5: { - int v3 = Pokemon_GetValue(v2->unk_04.unk_40, MON_DATA_HELD_ITEM, NULL); + int v3 = Pokemon_GetData(v2->unk_04.unk_40, MON_DATA_HELD_ITEM, NULL); int v4; int v5; - if ((v4 = Pokemon_GetEvolutionTargetSpecies(NULL, v2->unk_04.unk_40, EVO_CLASS_BY_TRADE, v3, &v5)) != 0) { + if ((v4 = Pokemon_GetEvolutionTarget(NULL, v2->unk_04.unk_40, EVO_CONTEXT_TRADE, v3, &v5)) != 0) { Heap_Create(HEAP_ID_APPLICATION, HEAP_ID_26, 0x30000); v2->unk_60 = Evolution_Begin(NULL, v2->unk_04.unk_40, v4, SaveData_GetOptions(fieldSystem->saveData), PokemonSummaryScreen_ShowContestData(fieldSystem->saveData), SaveData_GetPokedex(fieldSystem->saveData), SaveData_GetBag(fieldSystem->saveData), SaveData_GetGameRecords(fieldSystem->saveData), SaveData_GetPoketch(fieldSystem->saveData), v5, 0x4, HEAP_ID_26); v2->unk_00 = 6; @@ -1201,7 +1201,7 @@ static void sub_0203DF68(FieldTask *param0) int v4; v3 = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), v1->unk_04); - Pokemon_SetValue(v3, MON_DATA_NICKNAME_AND_FLAG, (u8 *)&v1->unk_0C->nameInputRaw); + Pokemon_SetData(v3, MON_DATA_NICKNAME_AND_FLAG, (u8 *)&v1->unk_0C->nameInputRaw); } break; case NAMING_SCREEN_TYPE_GROUP: { RecordMixedRNG *v5 = SaveData_GetRecordMixedRNG(fieldSystem->saveData); @@ -1238,8 +1238,8 @@ void sub_0203DFE8( switch (type) { case NAMING_SCREEN_TYPE_POKEMON: v0 = Party_GetPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), v2->unk_04); - v2->unk_0C->monGender = Pokemon_GetValue(v0, MON_DATA_GENDER, NULL); - v2->unk_0C->monForm = Pokemon_GetValue(v0, MON_DATA_FORM, NULL); + v2->unk_0C->monGender = Pokemon_GetData(v0, MON_DATA_GENDER, NULL); + v2->unk_0C->monForm = Pokemon_GetData(v0, MON_DATA_FORM, NULL); if (param5 != NULL) { String_CopyChars(v2->unk_10, param5); diff --git a/src/unk_02049D08.c b/src/unk_02049D08.c index 7eac2cc4a8..d67780db5a 100644 --- a/src/unk_02049D08.c +++ b/src/unk_02049D08.c @@ -177,18 +177,18 @@ BOOL sub_02049EC4(u16 param0, SaveData *saveData, u8 param2) for (v0 = 0, v2 = 0; v0 < v3; v0++) { v7 = Party_GetPokemonBySlotIndex(v6, v0); - v4 = Pokemon_GetValue(v7, MON_DATA_SPECIES, NULL); - v5 = Pokemon_GetValue(v7, MON_DATA_HELD_ITEM, NULL); + v4 = Pokemon_GetData(v7, MON_DATA_SPECIES, NULL); + v5 = Pokemon_GetData(v7, MON_DATA_HELD_ITEM, NULL); if (param2 == 0) { v5 = 0; } - if (Pokemon_GetValue(v7, MON_DATA_IS_EGG, NULL) != 0) { + if (Pokemon_GetData(v7, MON_DATA_IS_EGG, NULL) != 0) { continue; } - if (Pokemon_IsOnBattleFrontierBanlist(v4) == 1) { + if (Species_IsBattleFrontierBanned(v4) == 1) { continue; } @@ -440,8 +440,8 @@ BOOL sub_0204A378(BattleTower *battleTower, void **param1, SaveData *saveData) for (v0 = 0; v0 < battleTower->partySize; v0++) { battleTower->unk_2A[v0] = partyMenu->selectionOrder[v0] - 1; v3 = Party_GetPokemonBySlotIndex(v2, battleTower->unk_2A[v0]); - battleTower->unk_2E[v0] = Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL); - battleTower->unk_36[v0] = Pokemon_GetValue(v3, MON_DATA_HELD_ITEM, NULL); + battleTower->unk_2E[v0] = Pokemon_GetData(v3, MON_DATA_SPECIES, NULL); + battleTower->unk_36[v0] = Pokemon_GetData(v3, MON_DATA_HELD_ITEM, NULL); } Heap_Free(*param1); @@ -457,8 +457,8 @@ int BattleTower_CheckDuplicateSpeciesAndHeldItems(BattleTower *battleTower, Save for (i = 0; i < battleTower->partySize; i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(party, battleTower->unk_2A[i]); - species[i] = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - heldItems[i] = Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL); + species[i] = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + heldItems[i] = Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL); if (i == 0) { continue; @@ -955,11 +955,11 @@ static u16 sub_0204AC54(SaveData *saveData, enum PokemonDataParam param, BattleT for (v2 = 0; v2 < battleTower->partySize; v2++) { v4 = Party_GetPokemonBySlotIndex(v3, battleTower->unk_2A[v2]); - if (Pokemon_GetValue(v4, param, NULL)) { + if (Pokemon_GetData(v4, param, NULL)) { continue; } - Pokemon_SetValue(v4, param, &v0); + Pokemon_SetData(v4, param, &v0); sub_0206DDB8(saveData, v4, param); ++v1; } @@ -993,28 +993,28 @@ static void sub_0204ACFC(FrontierPokemonDataDTO *param0, Pokemon *mon) { int v0; - param0->species = Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL); - param0->form = Pokemon_GetValue(mon, MON_DATA_FORM, NULL); - param0->item = Pokemon_GetValue(mon, MON_DATA_HELD_ITEM, NULL); + param0->species = Pokemon_GetData(mon, MON_DATA_SPECIES, NULL); + param0->form = Pokemon_GetData(mon, MON_DATA_FORM, NULL); + param0->item = Pokemon_GetData(mon, MON_DATA_HELD_ITEM, NULL); - for (v0 = 0; v0 < LEARNED_MOVES_MAX; v0++) { - param0->moves[v0] = Pokemon_GetValue(mon, MON_DATA_MOVE1 + v0, NULL); - param0->combinedPPUps |= ((Pokemon_GetValue(mon, MON_DATA_MOVE1_PP_UPS + v0, NULL)) << (v0 * 2)); + for (v0 = 0; v0 < MAX_MON_MOVES; v0++) { + param0->moves[v0] = Pokemon_GetData(mon, MON_DATA_MOVE1 + v0, NULL); + param0->combinedPPUps |= ((Pokemon_GetData(mon, MON_DATA_MOVE1_PP_UPS + v0, NULL)) << (v0 * 2)); } - param0->language = Pokemon_GetValue(mon, MON_DATA_LANGUAGE, NULL); - param0->otID = Pokemon_GetValue(mon, MON_DATA_OT_ID, NULL); - param0->personality = Pokemon_GetValue(mon, MON_DATA_PERSONALITY, NULL); - param0->combinedIVs = Pokemon_GetValue(mon, MON_DATA_COMBINED_IVS, NULL); + param0->language = Pokemon_GetData(mon, MON_DATA_LANGUAGE, NULL); + param0->otID = Pokemon_GetData(mon, MON_DATA_OT_ID, NULL); + param0->personality = Pokemon_GetData(mon, MON_DATA_PERSONALITY, NULL); + param0->combinedIVs = Pokemon_GetData(mon, MON_DATA_COMBINED_IVS, NULL); for (v0 = 0; v0 < 6; v0++) { - param0->evList[v0] = Pokemon_GetValue(mon, MON_DATA_HP_EV + v0, NULL); + param0->evList[v0] = Pokemon_GetData(mon, MON_DATA_HP_EV + v0, NULL); } - param0->ability = Pokemon_GetValue(mon, MON_DATA_ABILITY, NULL); - param0->friendship = Pokemon_GetValue(mon, MON_DATA_FRIENDSHIP, NULL); + param0->ability = Pokemon_GetData(mon, MON_DATA_ABILITY, NULL); + param0->friendship = Pokemon_GetData(mon, MON_DATA_FRIENDSHIP, NULL); - Pokemon_GetValue(mon, MON_DATA_NICKNAME, param0->nickname); + Pokemon_GetData(mon, MON_DATA_NICKNAME, param0->nickname); } static void sub_0204AE20(BattleTower *battleTower, SaveData *saveData, int param2) diff --git a/src/unk_0204AEE8.c b/src/unk_0204AEE8.c index ec20a00fa3..a56d0e5f76 100644 --- a/src/unk_0204AEE8.c +++ b/src/unk_0204AEE8.c @@ -125,7 +125,7 @@ StringTemplate *BattleFrontier_MakeSeenBanlistSpeciesMsg(SaveData *saveData, u16 StringTemplate_SetNumber(bannedSpeciesList, 0, numPokemonRequired, 1, PADDING_MODE_NONE, CHARSET_MODE_EN); for (i = 0; i < BATTLE_FRONTIER_BANLIST_SIZE; i++) { - bannedSpecies = Pokemon_GetBattleFrontierBanlistEntry(i); + bannedSpecies = BattleFrontier_GetBanlistEntry(i); if (Pokedex_HasSeenSpecies(pokedex, bannedSpecies)) { MessageLoader_GetString(speciesNameLoader, bannedSpecies, speciesName); @@ -210,7 +210,7 @@ void sub_0204B060(BattleTower *battleTower, SaveData *saveData) v1 = SaveData_GetParty(saveData); for (v0 = 0; v0 < 2; v0++) { - battleTower->unk_83E[1 + v0] = Pokemon_GetValue(Party_GetPokemonBySlotIndex(v1, battleTower->unk_2A[v0]), MON_DATA_SPECIES, NULL); + battleTower->unk_83E[1 + v0] = Pokemon_GetData(Party_GetPokemonBySlotIndex(v1, battleTower->unk_2A[v0]), MON_DATA_SPECIES, NULL); } battleTower->unk_83E[3] = sub_0202D3B4(battleTower->unk_74, 3, 0); @@ -326,9 +326,9 @@ static u32 sub_0204B1E8(BattleTower *battleTower, FrontierPokemonDataDTO *param1 param1->item = v4.item; } - u8 friendship = MAX_FRIENDSHIP_VALUE; + u8 friendship = MAX_FRIENDSHIP; - for (v0 = 0; v0 < LEARNED_MOVES_MAX; v0++) { + for (v0 = 0; v0 < MAX_MON_MOVES; v0++) { param1->moves[v0] = v4.moves[v0]; if (v4.moves[v0] == MOVE_FRUSTRATION) { @@ -341,7 +341,7 @@ static u32 sub_0204B1E8(BattleTower *battleTower, FrontierPokemonDataDTO *param1 if (param4 == 0) { do { v2 = (BattleTower_GetRandom(battleTower) | BattleTower_GetRandom(battleTower) << 16); - } while ((v4.nature != Pokemon_GetNatureOf(v2)) || (Pokemon_IsPersonalityShiny(param3, v2) == 1)); + } while ((v4.nature != Personality_GetNature(v2)) || (Personality_IsShiny(param3, v2) == 1)); param1->personality = v2; } else { @@ -379,16 +379,16 @@ static u32 sub_0204B1E8(BattleTower *battleTower, FrontierPokemonDataDTO *param1 param1->combinedPPUps = 0; param1->language = gGameLanguage; - v0 = SpeciesData_GetSpeciesValue(param1->species, SPECIES_DATA_ABILITY_2); + v0 = Species_GetValue(param1->species, SPECIES_DATA_ABILITY_2); if (v0) { if (param1->personality & 1) { param1->ability = v0; } else { - param1->ability = SpeciesData_GetSpeciesValue(param1->species, SPECIES_DATA_ABILITY_1); + param1->ability = Species_GetValue(param1->species, SPECIES_DATA_ABILITY_1); } } else { - param1->ability = SpeciesData_GetSpeciesValue(param1->species, SPECIES_DATA_ABILITY_1); + param1->ability = Species_GetValue(param1->species, SPECIES_DATA_ABILITY_1); } param1->friendship = friendship; diff --git a/src/unk_0204F13C.c b/src/unk_0204F13C.c index 1b89915fc8..d307cfac67 100644 --- a/src/unk_0204F13C.c +++ b/src/unk_0204F13C.c @@ -168,10 +168,10 @@ static BOOL sub_0204F268(u16 param0, SaveData *saveData) for (v0 = 0, v2 = 0; v0 < v3; v0++) { v7 = Party_GetPokemonBySlotIndex(v6, v0); - v4 = Pokemon_GetValue(v7, MON_DATA_SPECIES, NULL); - v5 = Pokemon_GetValue(v7, MON_DATA_LEVEL, NULL); + v4 = Pokemon_GetData(v7, MON_DATA_SPECIES, NULL); + v5 = Pokemon_GetData(v7, MON_DATA_LEVEL, NULL); - if (Pokemon_GetValue(v7, MON_DATA_IS_EGG, NULL) != 0) { + if (Pokemon_GetData(v7, MON_DATA_IS_EGG, NULL) != 0) { continue; } @@ -179,7 +179,7 @@ static BOOL sub_0204F268(u16 param0, SaveData *saveData) continue; } - if (Pokemon_IsOnBattleFrontierBanlist(v4) == 1) { + if (Species_IsBattleFrontierBanned(v4) == 1) { continue; } diff --git a/src/unk_020528D0.c b/src/unk_020528D0.c index 34c3af8402..abee7492a9 100644 --- a/src/unk_020528D0.c +++ b/src/unk_020528D0.c @@ -206,7 +206,7 @@ BOOL FieldTask_BlackOutFromBattle(FieldTask *task) switch (*state) { case 0: { if ((fieldSystem != NULL) && (fieldSystem->saveData != NULL)) { - Party_SetGiratinaForm(SaveData_GetParty(fieldSystem->saveData), GIRATINA_FORM_ALTERED); + Party_UpdateGiratinaForms(SaveData_GetParty(fieldSystem->saveData), FALSE); } Location location; diff --git a/src/unk_02054884.c b/src/unk_02054884.c index 0f1312ffc7..17b6e65eac 100644 --- a/src/unk_02054884.c +++ b/src/unk_02054884.c @@ -22,11 +22,11 @@ BOOL Pokemon_CanBattle(Pokemon *mon) { // this can be simplified further, but it won't match - if (Pokemon_GetValue(mon, MON_DATA_HP, NULL) == 0) { + if (Pokemon_GetData(mon, MON_DATA_HP, NULL) == 0) { return FALSE; } - return !Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL); + return !Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL); } BOOL Pokemon_GiveMonFromScript(enum HeapID heapID, SaveData *saveData, u16 species, u8 level, u16 heldItem, int metLocation, int metTerrain) @@ -41,11 +41,11 @@ BOOL Pokemon_GiveMonFromScript(enum HeapID heapID, SaveData *saveData, u16 speci mon = Pokemon_New(heapID); Pokemon_Init(mon); - Pokemon_InitWith(mon, species, level, INIT_IVS_RANDOM, FALSE, 0, OTID_NOT_SET, 0); + Pokemon_InitWithParams(mon, species, level, INIT_IVS_RANDOM, FALSE, 0, OT_ID_PLAYER_ID, 0); Pokemon_SetCatchData(mon, trainerInfo, ITEM_POKE_BALL, metLocation, metTerrain, heapID); item = heldItem; - Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, &item); + Pokemon_SetData(mon, MON_DATA_HELD_ITEM, &item); result = Party_AddPokemon(party, mon); if (result) { @@ -78,7 +78,7 @@ BOOL sub_02054930(int unused, SaveData *saveData, u16 param2, u8 param3, int par void Party_ResetMonMoveSlot(Party *party, int partySlot, int moveSlot, u16 moveID) { - Pokemon_ResetMoveSlot(Party_GetPokemonBySlotIndex(party, partySlot), moveID, moveSlot); + Pokemon_SetMoveInSlot_ResetPPUp(Party_GetPokemonBySlotIndex(party, partySlot), moveID, moveSlot); } // In many of the functions below, C99-style iterator declaration doesn't match @@ -91,14 +91,14 @@ int Party_HasMonWithMove(Party *party, u16 moveID) for (i = 0; i < partyCount; i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(party, i); - if (Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) != FALSE) { + if (Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL) != FALSE) { continue; } - if (Pokemon_GetValue(mon, MON_DATA_MOVE1, NULL) == moveID - || Pokemon_GetValue(mon, MON_DATA_MOVE2, NULL) == moveID - || Pokemon_GetValue(mon, MON_DATA_MOVE3, NULL) == moveID - || Pokemon_GetValue(mon, MON_DATA_MOVE4, NULL) == moveID) { + if (Pokemon_GetData(mon, MON_DATA_MOVE1, NULL) == moveID + || Pokemon_GetData(mon, MON_DATA_MOVE2, NULL) == moveID + || Pokemon_GetData(mon, MON_DATA_MOVE3, NULL) == moveID + || Pokemon_GetData(mon, MON_DATA_MOVE4, NULL) == moveID) { return i; } } @@ -146,7 +146,7 @@ Pokemon *Party_FindFirstHatchedMon(const Party *party) for (i = 0; i < partyCount; i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(party, i); - if (Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) == FALSE) { + if (Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL) == FALSE) { return mon; } } @@ -168,8 +168,8 @@ void Party_GiveChampionRibbons(Party *party) for (i = 0; i < partyCount; i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(party, i); - if (Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) == FALSE) { - Pokemon_SetValue(mon, MON_DATA_SINNOH_CHAMP_RIBBON, &championRibbon); + if (Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL) == FALSE) { + Pokemon_SetData(mon, MON_DATA_SINNOH_CHAMP_RIBBON, &championRibbon); } } } @@ -185,14 +185,14 @@ int Pokemon_DoPoisonDamage(Party *party, u16 mapLabelTextID) mon = Party_GetPokemonBySlotIndex(party, i); if (Pokemon_CanBattle(mon) - && (Pokemon_GetValue(mon, MON_DATA_STATUS, NULL) & (MON_CONDITION_TOXIC | MON_CONDITION_POISON))) { - u32 hp = Pokemon_GetValue(mon, MON_DATA_HP, NULL); + && (Pokemon_GetData(mon, MON_DATA_STATUS, NULL) & (MON_CONDITION_TOXIC | MON_CONDITION_POISON))) { + u32 hp = Pokemon_GetData(mon, MON_DATA_HP, NULL); if (hp > 1) { hp--; } - Pokemon_SetValue(mon, MON_DATA_HP, &hp); + Pokemon_SetData(mon, MON_DATA_HP, &hp); if (hp == 1) { numFainted++; @@ -214,11 +214,11 @@ int Pokemon_DoPoisonDamage(Party *party, u16 mapLabelTextID) BOOL Pokemon_TrySurvivePoison(Pokemon *mon) { - if (Pokemon_GetValue(mon, MON_DATA_STATUS, NULL) & (MON_CONDITION_TOXIC | MON_CONDITION_POISON) - && Pokemon_GetValue(mon, MON_DATA_HP, NULL) == 1) { + if (Pokemon_GetData(mon, MON_DATA_STATUS, NULL) & (MON_CONDITION_TOXIC | MON_CONDITION_POISON) + && Pokemon_GetData(mon, MON_DATA_HP, NULL) == 1) { u32 condition = MON_CONDITION_NONE; - Pokemon_SetValue(mon, MON_DATA_STATUS, &condition); + Pokemon_SetData(mon, MON_DATA_STATUS, &condition); return TRUE; } diff --git a/src/unk_020559DC.c b/src/unk_020559DC.c index 9d0751c53a..919280828e 100644 --- a/src/unk_020559DC.c +++ b/src/unk_020559DC.c @@ -96,7 +96,7 @@ static void sub_02055AC0(FieldSystem *fieldSystem, s32 daysPassed) Party *v0; v0 = SaveData_GetParty(fieldSystem->saveData); - Party_UpdatePokerusStatus(v0, daysPassed); + Party_UpdatePokerus(v0, daysPassed); } { @@ -137,7 +137,7 @@ static void sub_02055B64(FieldSystem *fieldSystem, s32 param1, const RTCTime *rt TVBroadcast_UpdateProgramTimeSlot(broadcast, param1, rtcTime->minute); Party *party = SaveData_GetParty(fieldSystem->saveData); - Party_SetShayminForm(party, param1, rtcTime); + Party_UpdateShayminForms(party, param1, rtcTime); } enum TimeOfDay FieldSystem_GetTimeOfDay(const FieldSystem *fieldSystem) diff --git a/src/unk_0205A0D8.c b/src/unk_0205A0D8.c index 71086c5142..187305627a 100644 --- a/src/unk_0205A0D8.c +++ b/src/unk_0205A0D8.c @@ -510,7 +510,7 @@ static BOOL sub_0205A324(FieldTask *param0) } break; case 36: - StringTemplate_SetSpeciesName(v0->unk_28, 1, Pokemon_GetBoxPokemon(Party_GetPokemonBySlotIndex(v0->unk_50, v0->unk_84))); + StringTemplate_SetSpeciesName(v0->unk_28, 1, Pokemon_GetBoxMon(Party_GetPokemonBySlotIndex(v0->unk_50, v0->unk_84))); MessageLoader_GetString(v0->unk_2C, 18, v0->unk_0C); StringTemplate_Format(v0->unk_28, v0->unk_10, v0->unk_0C); v0->unk_30 = sub_0205AA50(v0, v0->unk_10); @@ -746,7 +746,7 @@ static void sub_0205AC80(UnkStruct_0205A0D8 *param0, BOOL param1) v0 = SaveData_GetParty(param0->fieldSystem->saveData); v2 = param0->unk_4C; - v4 = Pokemon_GetStructSize(); + v4 = Pokemon_Size2(); v1 = (UnkStruct_0205AD20 *)(v2 + v4 * 3); v1->unk_00 = param1; @@ -795,7 +795,7 @@ static BOOL sub_0205AD10(UnkStruct_0205A0D8 *param0) static BOOL sub_0205AD20(UnkStruct_0205A0D8 *param0) { - UnkStruct_0205AD20 *v0 = (UnkStruct_0205AD20 *)((u8 *)(param0->unk_48) + (Pokemon_GetStructSize() * 3)); + UnkStruct_0205AD20 *v0 = (UnkStruct_0205AD20 *)((u8 *)(param0->unk_48) + (Pokemon_Size2() * 3)); return v0->unk_00; } @@ -830,7 +830,7 @@ static void sub_0205AD80(UnkStruct_0205A0D8 *param0) u32 v0; int v1; - v0 = Pokemon_GetStructSize(); + v0 = Pokemon_Size2(); Party_InitWithCapacity(param0->unk_50, 3); for (v1 = 0; v1 < 3; v1++) { @@ -844,7 +844,7 @@ static void sub_0205ADAC(UnkStruct_0205A0D8 *param0) u8 *v1, *v2; int v3; - v0 = Pokemon_GetStructSize(); + v0 = Pokemon_Size2(); v1 = ¶m0->unk_4C[param0->unk_85 * v0]; v2 = ¶m0->unk_48[param0->unk_84 * v0]; @@ -866,14 +866,14 @@ static void sub_0205ADF8(UnkStruct_0205A0D8 *param0, int param1) MessageLoader *v4; v4 = MessageLoader_Init(MSG_LOADER_LOAD_ON_DEMAND, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_SPECIES_NAME, HEAP_ID_FIELD1); - v3 = Pokemon_GetStructSize(); + v3 = Pokemon_Size2(); Window_Add(param0->fieldSystem->bgConfig, v0, 3, 21, 9, 10, 8, 13, 10); LoadStandardWindowGraphics(param0->fieldSystem->bgConfig, 3, 1, 11, 0, HEAP_ID_FIELD1); Window_FillTilemap(v0, 15); for (v1 = 0; v1 < 3; v1++) { - v2 = Pokemon_GetValue((Pokemon *)(¶m0->unk_48[v1 * v3]), MON_DATA_SPECIES, NULL); + v2 = Pokemon_GetData((Pokemon *)(¶m0->unk_48[v1 * v3]), MON_DATA_SPECIES, NULL); MessageLoader_GetString(v4, v2, param0->unk_0C); Text_AddPrinterWithParams(v0, FONT_SYSTEM, param0->unk_0C, 16, v1 * 16, TEXT_SPEED_NO_TRANSFER, NULL); @@ -974,7 +974,7 @@ void sub_0205B0C0(int param0, int param1, void *param2, void *param3) int sub_0205B0E4(void) { - return Pokemon_GetStructSize() * 3 + sizeof(UnkStruct_0205AD20); + return Pokemon_Size2() * 3 + sizeof(UnkStruct_0205AD20); } u8 *sub_0205B0F4(int param0, void *param1, int param2) diff --git a/src/unk_0205DFC4.c b/src/unk_0205DFC4.c index b6702bbd20..b150b04482 100644 --- a/src/unk_0205DFC4.c +++ b/src/unk_0205DFC4.c @@ -245,7 +245,7 @@ u16 SaveData_GetFirstNonEggInParty(SaveData *saveData) for (i = 0; i < partyCount; i++) { Pokemon *mon = Party_GetPokemonBySlotIndex(SaveData_GetParty(saveData), i); - if (Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) == FALSE) { + if (Pokemon_GetData(mon, MON_DATA_IS_EGG, NULL) == FALSE) { return i; } } @@ -263,7 +263,7 @@ BOOL HasAllLegendaryTitansInParty(SaveData *saveData) int partyCount = Party_GetCurrentCount(party); for (i = 0; i < partyCount; i++) { - partySpecies[i] = Pokemon_GetValue(Party_GetPokemonBySlotIndex(party, i), MON_DATA_SPECIES, NULL); + partySpecies[i] = Pokemon_GetData(Party_GetPokemonBySlotIndex(party, i), MON_DATA_SPECIES, NULL); } for (i = 0; i < 3; i++) { diff --git a/src/unk_02092494.c b/src/unk_02092494.c index 9e485c21a7..1b64a4b4a9 100644 --- a/src/unk_02092494.c +++ b/src/unk_02092494.c @@ -333,15 +333,15 @@ static void InitializePokemonMetInfoString(PokemonInfoDisplayStruct *param0, int param0->unk_1C.unk_04 = String_Init((((2 * 18) * 2) * 8), param0->heapID); MessageLoader_GetString(param0->unk_04, param1, v0); - StringTemplate_SetNumber(param0->unk_08, 0, Pokemon_GetValue(param0->unk_0C, MON_DATA_MET_YEAR, NULL), 2, 2, 1); - StringTemplate_SetMonthName(param0->unk_08, 1, Pokemon_GetValue(param0->unk_0C, MON_DATA_MET_MONTH, NULL)); - StringTemplate_SetNumber(param0->unk_08, 2, Pokemon_GetValue(param0->unk_0C, MON_DATA_MET_DAY, NULL), 2, 0, 1); - StringTemplate_SetNumber(param0->unk_08, 3, Pokemon_GetValue(param0->unk_0C, MON_DATA_MET_LEVEL, NULL), 3, 0, 1); - StringTemplate_SetMetLocationName(param0->unk_08, 4, Pokemon_GetValue(param0->unk_0C, MON_DATA_MET_LOCATION, NULL)); - StringTemplate_SetNumber(param0->unk_08, 5, Pokemon_GetValue(param0->unk_0C, MON_DATA_EGG_YEAR, NULL), 2, 2, 1); - StringTemplate_SetMonthName(param0->unk_08, 6, Pokemon_GetValue(param0->unk_0C, MON_DATA_EGG_MONTH, NULL)); - StringTemplate_SetNumber(param0->unk_08, 7, Pokemon_GetValue(param0->unk_0C, MON_DATA_EGG_DAY, NULL), 2, 0, 1); - StringTemplate_SetMetLocationName(param0->unk_08, 8, Pokemon_GetValue(param0->unk_0C, MON_DATA_EGG_LOCATION, NULL)); + StringTemplate_SetNumber(param0->unk_08, 0, Pokemon_GetData(param0->unk_0C, MON_DATA_MET_YEAR, NULL), 2, 2, 1); + StringTemplate_SetMonthName(param0->unk_08, 1, Pokemon_GetData(param0->unk_0C, MON_DATA_MET_MONTH, NULL)); + StringTemplate_SetNumber(param0->unk_08, 2, Pokemon_GetData(param0->unk_0C, MON_DATA_MET_DAY, NULL), 2, 0, 1); + StringTemplate_SetNumber(param0->unk_08, 3, Pokemon_GetData(param0->unk_0C, MON_DATA_MET_LEVEL, NULL), 3, 0, 1); + StringTemplate_SetMetLocationName(param0->unk_08, 4, Pokemon_GetData(param0->unk_0C, MON_DATA_MET_LOCATION, NULL)); + StringTemplate_SetNumber(param0->unk_08, 5, Pokemon_GetData(param0->unk_0C, MON_DATA_EGG_YEAR, NULL), 2, 2, 1); + StringTemplate_SetMonthName(param0->unk_08, 6, Pokemon_GetData(param0->unk_0C, MON_DATA_EGG_MONTH, NULL)); + StringTemplate_SetNumber(param0->unk_08, 7, Pokemon_GetData(param0->unk_0C, MON_DATA_EGG_DAY, NULL), 2, 0, 1); + StringTemplate_SetMetLocationName(param0->unk_08, 8, Pokemon_GetData(param0->unk_0C, MON_DATA_EGG_LOCATION, NULL)); StringTemplate_Format(param0->unk_08, param0->unk_1C.unk_04, v0); String_Free(v0); } @@ -353,12 +353,12 @@ static void InitializeAlternateMetInfoString(PokemonInfoDisplayStruct *param0, i param0->unk_1C.unk_04 = String_Init((((2 * 18) * 2) * 4), param0->heapID); MessageLoader_GetString(param0->unk_04, param1, v0); - StringTemplate_SetNumber(param0->unk_08, 0, Pokemon_GetValue(param0->unk_0C, MON_DATA_MET_YEAR, NULL), 2, 2, 1); - StringTemplate_SetMonthName(param0->unk_08, 1, Pokemon_GetValue(param0->unk_0C, MON_DATA_MET_MONTH, NULL)); - StringTemplate_SetNumber(param0->unk_08, 2, Pokemon_GetValue(param0->unk_0C, MON_DATA_MET_DAY, NULL), 2, 0, 1); - StringTemplate_SetNumber(param0->unk_08, 3, Pokemon_GetValue(param0->unk_0C, MON_DATA_MET_LEVEL, NULL), 3, 0, 1); + StringTemplate_SetNumber(param0->unk_08, 0, Pokemon_GetData(param0->unk_0C, MON_DATA_MET_YEAR, NULL), 2, 2, 1); + StringTemplate_SetMonthName(param0->unk_08, 1, Pokemon_GetData(param0->unk_0C, MON_DATA_MET_MONTH, NULL)); + StringTemplate_SetNumber(param0->unk_08, 2, Pokemon_GetData(param0->unk_0C, MON_DATA_MET_DAY, NULL), 2, 0, 1); + StringTemplate_SetNumber(param0->unk_08, 3, Pokemon_GetData(param0->unk_0C, MON_DATA_MET_LEVEL, NULL), 3, 0, 1); - switch (Pokemon_GetValue(param0->unk_0C, MON_DATA_MET_GAME, NULL)) { + switch (Pokemon_GetData(param0->unk_0C, MON_DATA_MET_GAME, NULL)) { default: StringTemplate_SetMetLocationName(param0->unk_08, 4, (SpecialMetLoc_GetId(1, 7))); break; @@ -398,15 +398,15 @@ static void InitializeSpecialMetInfoString(PokemonInfoDisplayStruct *param0, int MessageLoader_GetString(param0->unk_04, param1, v0); if (param2 == 0) { - StringTemplate_SetNumber(param0->unk_08, 5, Pokemon_GetValue(param0->unk_0C, MON_DATA_EGG_YEAR, NULL), 2, 2, 1); - StringTemplate_SetMonthName(param0->unk_08, 6, Pokemon_GetValue(param0->unk_0C, MON_DATA_EGG_MONTH, NULL)); - StringTemplate_SetNumber(param0->unk_08, 7, Pokemon_GetValue(param0->unk_0C, MON_DATA_EGG_DAY, NULL), 2, 0, 1); - StringTemplate_SetMetLocationName(param0->unk_08, 8, Pokemon_GetValue(param0->unk_0C, MON_DATA_EGG_LOCATION, NULL)); + StringTemplate_SetNumber(param0->unk_08, 5, Pokemon_GetData(param0->unk_0C, MON_DATA_EGG_YEAR, NULL), 2, 2, 1); + StringTemplate_SetMonthName(param0->unk_08, 6, Pokemon_GetData(param0->unk_0C, MON_DATA_EGG_MONTH, NULL)); + StringTemplate_SetNumber(param0->unk_08, 7, Pokemon_GetData(param0->unk_0C, MON_DATA_EGG_DAY, NULL), 2, 0, 1); + StringTemplate_SetMetLocationName(param0->unk_08, 8, Pokemon_GetData(param0->unk_0C, MON_DATA_EGG_LOCATION, NULL)); } else { - StringTemplate_SetNumber(param0->unk_08, 5, Pokemon_GetValue(param0->unk_0C, MON_DATA_MET_YEAR, NULL), 2, 2, 1); - StringTemplate_SetMonthName(param0->unk_08, 6, Pokemon_GetValue(param0->unk_0C, MON_DATA_MET_MONTH, NULL)); - StringTemplate_SetNumber(param0->unk_08, 7, Pokemon_GetValue(param0->unk_0C, MON_DATA_MET_DAY, NULL), 2, 0, 1); - StringTemplate_SetMetLocationName(param0->unk_08, 8, Pokemon_GetValue(param0->unk_0C, MON_DATA_MET_LOCATION, NULL)); + StringTemplate_SetNumber(param0->unk_08, 5, Pokemon_GetData(param0->unk_0C, MON_DATA_MET_YEAR, NULL), 2, 2, 1); + StringTemplate_SetMonthName(param0->unk_08, 6, Pokemon_GetData(param0->unk_0C, MON_DATA_MET_MONTH, NULL)); + StringTemplate_SetNumber(param0->unk_08, 7, Pokemon_GetData(param0->unk_0C, MON_DATA_MET_DAY, NULL), 2, 0, 1); + StringTemplate_SetMetLocationName(param0->unk_08, 8, Pokemon_GetData(param0->unk_0C, MON_DATA_MET_LOCATION, NULL)); } StringTemplate_Format(param0->unk_08, param0->unk_1C.unk_04, v0); @@ -429,14 +429,14 @@ static void InitializeIVsString(PokemonInfoDisplayStruct *param0) param0->unk_24.unk_04 = String_Init(((2 * 18) * 2), param0->heapID); - v0[0] = (Pokemon_GetValue(param0->unk_0C, MON_DATA_HP_IV, NULL)); - v0[1] = (Pokemon_GetValue(param0->unk_0C, MON_DATA_ATK_IV, NULL)); - v0[2] = (Pokemon_GetValue(param0->unk_0C, MON_DATA_DEF_IV, NULL)); - v0[3] = (Pokemon_GetValue(param0->unk_0C, MON_DATA_SPEED_IV, NULL)); - v0[4] = (Pokemon_GetValue(param0->unk_0C, MON_DATA_SPATK_IV, NULL)); - v0[5] = (Pokemon_GetValue(param0->unk_0C, MON_DATA_SPDEF_IV, NULL)); + v0[0] = (Pokemon_GetData(param0->unk_0C, MON_DATA_HP_IV, NULL)); + v0[1] = (Pokemon_GetData(param0->unk_0C, MON_DATA_ATK_IV, NULL)); + v0[2] = (Pokemon_GetData(param0->unk_0C, MON_DATA_DEF_IV, NULL)); + v0[3] = (Pokemon_GetData(param0->unk_0C, MON_DATA_SPEED_IV, NULL)); + v0[4] = (Pokemon_GetData(param0->unk_0C, MON_DATA_SPATK_IV, NULL)); + v0[5] = (Pokemon_GetData(param0->unk_0C, MON_DATA_SPDEF_IV, NULL)); - switch (Pokemon_GetValue(param0->unk_0C, MON_DATA_PERSONALITY, NULL) % 6) { + switch (Pokemon_GetData(param0->unk_0C, MON_DATA_PERSONALITY, NULL) % 6) { default: case 0: v1 = 0; @@ -646,7 +646,7 @@ static void InitializeFlavorAffinityString(PokemonInfoDisplayStruct *param0) static void InitializeFriendshipLevelString(PokemonInfoDisplayStruct *param0) { - int v0 = Pokemon_GetValue(param0->unk_0C, MON_DATA_FRIENDSHIP, NULL); + int v0 = Pokemon_GetData(param0->unk_0C, MON_DATA_FRIENDSHIP, NULL); int v1; param0->unk_34.unk_04 = String_Init((((2 * 18) * 2) * 4), param0->heapID); @@ -668,17 +668,17 @@ static int DeterminePokemonStatus(Pokemon *param0, BOOL param1, int param2) { int v0 = 0; - if (Pokemon_GetValue(param0, MON_DATA_IS_EGG, NULL) == 0) { - if (Pokemon_GetValue(param0, MON_DATA_EGG_LOCATION, NULL) == 0) { - if (Pokemon_GetValue(param0, MON_DATA_MET_LOCATION, NULL) == (SpecialMetLoc_GetId(0, 55))) { + if (Pokemon_GetData(param0, MON_DATA_IS_EGG, NULL) == 0) { + if (Pokemon_GetData(param0, MON_DATA_EGG_LOCATION, NULL) == 0) { + if (Pokemon_GetData(param0, MON_DATA_MET_LOCATION, NULL) == (SpecialMetLoc_GetId(0, 55))) { v0 = 15; - } else if (Pokemon_GetValue(param0, MON_DATA_FATEFUL_ENCOUNTER, NULL) == 1) { + } else if (Pokemon_GetData(param0, MON_DATA_FATEFUL_ENCOUNTER, NULL) == 1) { if (param1 == 1) { v0 = 7; } else { v0 = 8; } - } else if (Pokemon_GetValue(param0, MON_DATA_MET_LOCATION, NULL) == (SpecialMetLoc_GetId(1, 1))) { + } else if (Pokemon_GetData(param0, MON_DATA_MET_LOCATION, NULL) == (SpecialMetLoc_GetId(1, 1))) { v0 = 2; } else { if (param1 == 1) { @@ -688,14 +688,14 @@ static int DeterminePokemonStatus(Pokemon *param0, BOOL param1, int param2) } } } else { - if (Pokemon_GetValue(param0, MON_DATA_FATEFUL_ENCOUNTER, NULL) == 1) { - if (Pokemon_GetValue(param0, MON_DATA_EGG_LOCATION, NULL) == SpecialMetLoc_GetId(1, 2)) { + if (Pokemon_GetData(param0, MON_DATA_FATEFUL_ENCOUNTER, NULL) == 1) { + if (Pokemon_GetData(param0, MON_DATA_EGG_LOCATION, NULL) == SpecialMetLoc_GetId(1, 2)) { if (param1 == 1) { v0 = 13; } else { v0 = 14; } - } else if (Pokemon_GetValue(param0, MON_DATA_EGG_LOCATION, NULL) == SpecialMetLoc_GetId(2, 1)) { + } else if (Pokemon_GetData(param0, MON_DATA_EGG_LOCATION, NULL) == SpecialMetLoc_GetId(2, 1)) { if (param1 == 1) { v0 = 11; } else { @@ -709,7 +709,7 @@ static int DeterminePokemonStatus(Pokemon *param0, BOOL param1, int param2) } } } else { - if ((Pokemon_GetValue(param0, MON_DATA_EGG_LOCATION, NULL) == SpecialMetLoc_GetId(1, 1)) || (Pokemon_GetValue(param0, MON_DATA_EGG_LOCATION, NULL) == SpecialMetLoc_GetId(1, 0)) || (Pokemon_GetValue(param0, MON_DATA_EGG_LOCATION, NULL) == SpecialMetLoc_GetId(1, 9)) || (Pokemon_GetValue(param0, MON_DATA_EGG_LOCATION, NULL) == SpecialMetLoc_GetId(1, 10)) || (Pokemon_GetValue(param0, MON_DATA_EGG_LOCATION, NULL) == SpecialMetLoc_GetId(1, 11))) { + if ((Pokemon_GetData(param0, MON_DATA_EGG_LOCATION, NULL) == SpecialMetLoc_GetId(1, 1)) || (Pokemon_GetData(param0, MON_DATA_EGG_LOCATION, NULL) == SpecialMetLoc_GetId(1, 0)) || (Pokemon_GetData(param0, MON_DATA_EGG_LOCATION, NULL) == SpecialMetLoc_GetId(1, 9)) || (Pokemon_GetData(param0, MON_DATA_EGG_LOCATION, NULL) == SpecialMetLoc_GetId(1, 10)) || (Pokemon_GetData(param0, MON_DATA_EGG_LOCATION, NULL) == SpecialMetLoc_GetId(1, 11))) { if (param1 == 1) { v0 = 5; } else { @@ -726,8 +726,8 @@ static int DeterminePokemonStatus(Pokemon *param0, BOOL param1, int param2) } } else { if (param1 == 1) { - if (Pokemon_GetValue(param0, MON_DATA_FATEFUL_ENCOUNTER, NULL) == 1) { - if (Pokemon_GetValue(param0, MON_DATA_EGG_LOCATION, NULL) == (SpecialMetLoc_GetId(2, 1))) { + if (Pokemon_GetData(param0, MON_DATA_FATEFUL_ENCOUNTER, NULL) == 1) { + if (Pokemon_GetData(param0, MON_DATA_EGG_LOCATION, NULL) == (SpecialMetLoc_GetId(2, 1))) { v0 = 20; } else { v0 = 18; @@ -736,7 +736,7 @@ static int DeterminePokemonStatus(Pokemon *param0, BOOL param1, int param2) v0 = 16; } } else { - if (Pokemon_GetValue(param0, MON_DATA_FATEFUL_ENCOUNTER, NULL) == 1) { + if (Pokemon_GetData(param0, MON_DATA_FATEFUL_ENCOUNTER, NULL) == 1) { v0 = 19; } else { v0 = 17; @@ -760,7 +760,7 @@ void UpdateBoxMonStatusAndTrainerInfo(BoxPokemon *boxMon, TrainerInfo *trainerIn metLocation = (SpecialMetLoc_GetId(2, 2)); } - if (BoxPokemon_GetValue(boxMon, MON_DATA_IS_EGG, NULL) == FALSE) { + if (BoxPokemon_GetData(boxMon, MON_DATA_IS_EGG, NULL) == FALSE) { BoxPokemon_ResetMetLocationAndDate(boxMon, FALSE); BoxPokemon_SetMetLocationAndDate(boxMon, metLocation, TRUE); BoxPokemon_SetMetLevelToCurrentLevel(boxMon); @@ -772,7 +772,7 @@ void UpdateBoxMonStatusAndTrainerInfo(BoxPokemon *boxMon, TrainerInfo *trainerIn AssignTrainerInfoToBoxPokemon(boxMon, trainerInfo, heapID); break; case 1: - if (BoxPokemon_GetValue(boxMon, MON_DATA_IS_EGG, NULL) == FALSE) { + if (BoxPokemon_GetData(boxMon, MON_DATA_IS_EGG, NULL) == FALSE) { BoxPokemon_ResetMetLocationAndDate(boxMon, FALSE); BoxPokemon_SetMetLocationAndDate(boxMon, (SpecialMetLoc_GetId(1, 1)), TRUE); BoxPokemon_SetMetLevelToCurrentLevel(boxMon); @@ -792,8 +792,8 @@ void UpdateBoxMonStatusAndTrainerInfo(BoxPokemon *boxMon, TrainerInfo *trainerIn AssignTrainerInfoToBoxPokemon(boxMon, trainerInfo, heapID); break; case 4: - if (sub_0207884C(boxMon, trainerInfo, heapID) == 1) { - if (BoxPokemon_GetValue(boxMon, MON_DATA_IS_EGG, NULL) == FALSE) { + if (BoxPokemon_BelongsToPlayer(boxMon, trainerInfo, heapID) == 1) { + if (BoxPokemon_GetData(boxMon, MON_DATA_IS_EGG, NULL) == FALSE) { BoxPokemon_ResetMetLocationAndDate(boxMon, FALSE); BoxPokemon_SetMetLocationAndDate(boxMon, metLocation, TRUE); BoxPokemon_SetMetLevelToCurrentLevel(boxMon); @@ -802,7 +802,7 @@ void UpdateBoxMonStatusAndTrainerInfo(BoxPokemon *boxMon, TrainerInfo *trainerIn BoxPokemon_ResetMetLocationAndDate(boxMon, TRUE); } } else { - if (BoxPokemon_GetValue(boxMon, MON_DATA_IS_EGG, NULL) == FALSE) { + if (BoxPokemon_GetData(boxMon, MON_DATA_IS_EGG, NULL) == FALSE) { BoxPokemon_ResetMetLocationAndDate(boxMon, FALSE); BoxPokemon_SetMetLocationAndDate(boxMon, metLocation, TRUE); BoxPokemon_SetMetLevelToCurrentLevel(boxMon); @@ -815,7 +815,7 @@ void UpdateBoxMonStatusAndTrainerInfo(BoxPokemon *boxMon, TrainerInfo *trainerIn BoxPokemon_SetFatefulEncounterFlag(boxMon); break; case 5: - if (BoxPokemon_GetValue(boxMon, MON_DATA_IS_EGG, NULL) == 0) { + if (BoxPokemon_GetData(boxMon, MON_DATA_IS_EGG, NULL) == 0) { (void)0; } else { BoxPokemon_SetMetLocationAndDate(boxMon, (SpecialMetLoc_GetId(1, 2)), TRUE); @@ -826,21 +826,21 @@ void UpdateBoxMonStatusAndTrainerInfo(BoxPokemon *boxMon, TrainerInfo *trainerIn metLocation = (SpecialMetLoc_GetId(2, 2)); } - if (sub_0207884C(boxMon, trainerInfo, heapID) == 0) { + if (BoxPokemon_BelongsToPlayer(boxMon, trainerInfo, heapID) == 0) { { int v0; - v0 = BoxPokemon_GetValue(boxMon, MON_DATA_MET_LOCATION, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_EGG_LOCATION, &v0); + v0 = BoxPokemon_GetData(boxMon, MON_DATA_MET_LOCATION, NULL); + BoxPokemon_SetData(boxMon, MON_DATA_EGG_LOCATION, &v0); - v0 = BoxPokemon_GetValue(boxMon, MON_DATA_MET_YEAR, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_EGG_YEAR, &v0); + v0 = BoxPokemon_GetData(boxMon, MON_DATA_MET_YEAR, NULL); + BoxPokemon_SetData(boxMon, MON_DATA_EGG_YEAR, &v0); - v0 = BoxPokemon_GetValue(boxMon, MON_DATA_MET_MONTH, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_EGG_MONTH, &v0); + v0 = BoxPokemon_GetData(boxMon, MON_DATA_MET_MONTH, NULL); + BoxPokemon_SetData(boxMon, MON_DATA_EGG_MONTH, &v0); - v0 = BoxPokemon_GetValue(boxMon, MON_DATA_MET_DAY, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_EGG_DAY, &v0); + v0 = BoxPokemon_GetData(boxMon, MON_DATA_MET_DAY, NULL); + BoxPokemon_SetData(boxMon, MON_DATA_EGG_DAY, &v0); } } @@ -856,9 +856,9 @@ static void AssignTrainerInfoToBoxPokemon(BoxPokemon *boxMon, TrainerInfo *train int v1 = TrainerInfo_Gender(trainerInfo); String *v2 = TrainerInfo_NameNewString(trainerInfo, heapID); - BoxPokemon_SetValue(boxMon, MON_DATA_OT_ID, &v0); - BoxPokemon_SetValue(boxMon, MON_DATA_OT_GENDER, &v1); - BoxPokemon_SetValue(boxMon, MON_DATA_OT_NAME_STRING, v2); + BoxPokemon_SetData(boxMon, MON_DATA_OT_ID, &v0); + BoxPokemon_SetData(boxMon, MON_DATA_OT_GENDER, &v1); + BoxPokemon_SetData(boxMon, MON_DATA_OT_NAME_STRING, v2); String_Free(v2); } @@ -869,15 +869,15 @@ static void BoxPokemon_SetMetLocationAndDate(BoxPokemon *boxMon, int metLocation GetCurrentDate(&date); if (isHatch == FALSE) { - BoxPokemon_SetValue(boxMon, MON_DATA_EGG_LOCATION, &metLocation); - BoxPokemon_SetValue(boxMon, MON_DATA_EGG_YEAR, &date.year); - BoxPokemon_SetValue(boxMon, MON_DATA_EGG_MONTH, &date.month); - BoxPokemon_SetValue(boxMon, MON_DATA_EGG_DAY, &date.day); + BoxPokemon_SetData(boxMon, MON_DATA_EGG_LOCATION, &metLocation); + BoxPokemon_SetData(boxMon, MON_DATA_EGG_YEAR, &date.year); + BoxPokemon_SetData(boxMon, MON_DATA_EGG_MONTH, &date.month); + BoxPokemon_SetData(boxMon, MON_DATA_EGG_DAY, &date.day); } else { - BoxPokemon_SetValue(boxMon, MON_DATA_MET_LOCATION, &metLocation); - BoxPokemon_SetValue(boxMon, MON_DATA_MET_YEAR, &date.year); - BoxPokemon_SetValue(boxMon, MON_DATA_MET_MONTH, &date.month); - BoxPokemon_SetValue(boxMon, MON_DATA_MET_DAY, &date.day); + BoxPokemon_SetData(boxMon, MON_DATA_MET_LOCATION, &metLocation); + BoxPokemon_SetData(boxMon, MON_DATA_MET_YEAR, &date.year); + BoxPokemon_SetData(boxMon, MON_DATA_MET_MONTH, &date.month); + BoxPokemon_SetData(boxMon, MON_DATA_MET_DAY, &date.day); } } @@ -886,26 +886,26 @@ static void BoxPokemon_ResetMetLocationAndDate(BoxPokemon *boxMon, int isHatch) int value = 0; if (isHatch == FALSE) { - BoxPokemon_SetValue(boxMon, MON_DATA_EGG_LOCATION, &value); - BoxPokemon_SetValue(boxMon, MON_DATA_EGG_YEAR, &value); - BoxPokemon_SetValue(boxMon, MON_DATA_EGG_MONTH, &value); - BoxPokemon_SetValue(boxMon, MON_DATA_EGG_DAY, &value); + BoxPokemon_SetData(boxMon, MON_DATA_EGG_LOCATION, &value); + BoxPokemon_SetData(boxMon, MON_DATA_EGG_YEAR, &value); + BoxPokemon_SetData(boxMon, MON_DATA_EGG_MONTH, &value); + BoxPokemon_SetData(boxMon, MON_DATA_EGG_DAY, &value); } else { - BoxPokemon_SetValue(boxMon, MON_DATA_MET_LOCATION, &value); - BoxPokemon_SetValue(boxMon, MON_DATA_MET_YEAR, &value); - BoxPokemon_SetValue(boxMon, MON_DATA_MET_MONTH, &value); - BoxPokemon_SetValue(boxMon, MON_DATA_MET_DAY, &value); + BoxPokemon_SetData(boxMon, MON_DATA_MET_LOCATION, &value); + BoxPokemon_SetData(boxMon, MON_DATA_MET_YEAR, &value); + BoxPokemon_SetData(boxMon, MON_DATA_MET_MONTH, &value); + BoxPokemon_SetData(boxMon, MON_DATA_MET_DAY, &value); } } static void BoxPokemon_SetMetLevelToCurrentLevel(BoxPokemon *boxMon) { - int level = BoxPokemon_GetValue(boxMon, MON_DATA_LEVEL, NULL); - BoxPokemon_SetValue(boxMon, MON_DATA_MET_LEVEL, &level); + int level = BoxPokemon_GetData(boxMon, MON_DATA_LEVEL, NULL); + BoxPokemon_SetData(boxMon, MON_DATA_MET_LEVEL, &level); } static void BoxPokemon_SetFatefulEncounterFlag(BoxPokemon *boxMon) { int fatefulEncounter = TRUE; - BoxPokemon_SetValue(boxMon, MON_DATA_FATEFUL_ENCOUNTER, &fatefulEncounter); + BoxPokemon_SetData(boxMon, MON_DATA_FATEFUL_ENCOUNTER, &fatefulEncounter); } diff --git a/src/unk_020933F8.c b/src/unk_020933F8.c index a822bcbae3..717ec53259 100644 --- a/src/unk_020933F8.c +++ b/src/unk_020933F8.c @@ -499,7 +499,7 @@ static void sub_020939E0(UnkStruct_02095C48 *param0, int param1, int param2) param0->unk_00.unk_D8[v1] = String_Init(8, HEAP_ID_20); } - Pokemon_GetValue(param0->unk_00.unk_00[v1], MON_DATA_OT_NAME_STRING, param0->unk_00.unk_D8[v1]); + Pokemon_GetData(param0->unk_00.unk_00[v1], MON_DATA_OT_NAME_STRING, param0->unk_00.unk_D8[v1]); } for (v1 = 1; v1 < 4; v1++) { @@ -548,19 +548,19 @@ static int sub_02093B2C(Pokemon *param0, int param1) for (v1 = 0; v1 <= 3; v1++) { switch (param1) { case 0: - v2 = Pokemon_GetValue(param0, MON_DATA_SUPER_COOL_RIBBON + v1, NULL); + v2 = Pokemon_GetData(param0, MON_DATA_SUPER_COOL_RIBBON + v1, NULL); break; case 1: - v2 = Pokemon_GetValue(param0, MON_DATA_SUPER_BEAUTY_RIBBON + v1, NULL); + v2 = Pokemon_GetData(param0, MON_DATA_SUPER_BEAUTY_RIBBON + v1, NULL); break; case 2: - v2 = Pokemon_GetValue(param0, MON_DATA_SUPER_CUTE_RIBBON + v1, NULL); + v2 = Pokemon_GetData(param0, MON_DATA_SUPER_CUTE_RIBBON + v1, NULL); break; case 3: - v2 = Pokemon_GetValue(param0, MON_DATA_SUPER_SMART_RIBBON + v1, NULL); + v2 = Pokemon_GetData(param0, MON_DATA_SUPER_SMART_RIBBON + v1, NULL); break; case 4: - v2 = Pokemon_GetValue(param0, MON_DATA_SUPER_TOUGH_RIBBON + v1, NULL); + v2 = Pokemon_GetData(param0, MON_DATA_SUPER_TOUGH_RIBBON + v1, NULL); break; default: GF_ASSERT(0); @@ -1137,7 +1137,7 @@ void sub_02094680(UnkStruct_02095C48 *param0, int param1, StringTemplate *param2 { BoxPokemon *v0; int v1 = sub_02095904(param1); - v0 = Pokemon_GetBoxPokemon(param0->unk_00.unk_00[v1]); + v0 = Pokemon_GetBoxMon(param0->unk_00.unk_00[v1]); StringTemplate_SetNickname(param2, param3, v0); } @@ -1299,7 +1299,7 @@ BOOL sub_02094868(UnkStruct_02095C48 *param0) { u32 v0 = CalcMonDataRibbon(param0->unk_00.unk_110, param0->unk_00.unk_10F); - if (Pokemon_GetValue(param0->unk_1974, v0, NULL) == 0) { + if (Pokemon_GetData(param0->unk_1974, v0, NULL) == 0) { return 0; } @@ -1589,11 +1589,11 @@ void sub_02094C44(UnkStruct_02095C48 *param0, SaveData *saveData, u32 param2, Jo u8 v3 = 1; int v2 = CalcMonDataRibbon(param0->unk_00.unk_110, param0->unk_00.unk_10F); - if (Pokemon_GetValue(param0->unk_1974, v2, NULL) == 0) { + if (Pokemon_GetData(param0->unk_1974, v2, NULL) == 0) { v0 = 1; } - Pokemon_SetValue(param0->unk_1974, v2, &v3); + Pokemon_SetData(param0->unk_1974, v2, &v3); sub_0206DDB8(param0->saveData, param0->unk_1974, v2); } diff --git a/src/unk_02094EDC.c b/src/unk_02094EDC.c index 31e9bdbeb2..57804e1643 100644 --- a/src/unk_02094EDC.c +++ b/src/unk_02094EDC.c @@ -4,6 +4,7 @@ #include #include "constants/contests.h" +#include "constants/moves.h" #include "generated/contest_effects.h" #include "generated/pokemon_contest_ranks.h" #include "generated/pokemon_contest_types.h" @@ -628,12 +629,12 @@ void sub_02095380(const UnkStruct_ov6_02248BE8 *param0, Pokemon *param1, int hea { int i; u16 v1; - u32 v2 = sub_02074128(param0->unk_14, param0->unk_20_12, 0); - Pokemon_InitWith(param1, param0->unk_14, 10, INIT_IVS_RANDOM, TRUE, v2, OTID_NOT_SHINY, 0xf0f0f0f); + u32 v2 = Personality_CreateFromGenderAndNature(param0->unk_14, param0->unk_20_12, 0); + Pokemon_InitWithParams(param1, param0->unk_14, 10, INIT_IVS_RANDOM, TRUE, v2, OT_ID_RANDOM_NO_SHINY, 0xf0f0f0f); - for (i = 0; i < LEARNED_MOVES_MAX; i++) { + for (i = 0; i < MAX_MON_MOVES; i++) { v1 = param0->unk_0C[i]; - Pokemon_SetValue(param1, MON_DATA_MOVE1 + i, &v1); + Pokemon_SetData(param1, MON_DATA_MOVE1 + i, &v1); } { @@ -644,8 +645,8 @@ void sub_02095380(const UnkStruct_ov6_02248BE8 *param0, Pokemon *param1, int hea v3 = MessageLoader_GetNewString(contestOpponentNames, param0->unk_16); v4 = MessageLoader_GetNewString(contestOpponentNames, param0->unk_18); - Pokemon_SetValue(param1, MON_DATA_NICKNAME_STRING, v3); - Pokemon_SetValue(param1, MON_DATA_OT_NAME_STRING, v4); + Pokemon_SetData(param1, MON_DATA_NICKNAME_STRING, v3); + Pokemon_SetData(param1, MON_DATA_OT_NAME_STRING, v4); String_Free(v3); String_Free(v4); @@ -662,12 +663,12 @@ void sub_02095380(const UnkStruct_ov6_02248BE8 *param0, Pokemon *param1, int hea tough = param0->unk_1E; sheen = param0->unk_1F; - Pokemon_SetValue(param1, MON_DATA_COOL, &cool); - Pokemon_SetValue(param1, MON_DATA_BEAUTY, &beauty); - Pokemon_SetValue(param1, MON_DATA_CUTE, &cute); - Pokemon_SetValue(param1, MON_DATA_SMART, &smart); - Pokemon_SetValue(param1, MON_DATA_TOUGH, &tough); - Pokemon_SetValue(param1, MON_DATA_SHEEN, &sheen); + Pokemon_SetData(param1, MON_DATA_COOL, &cool); + Pokemon_SetData(param1, MON_DATA_BEAUTY, &beauty); + Pokemon_SetData(param1, MON_DATA_CUTE, &cute); + Pokemon_SetData(param1, MON_DATA_SMART, &smart); + Pokemon_SetData(param1, MON_DATA_TOUGH, &tough); + Pokemon_SetData(param1, MON_DATA_SHEEN, &sheen); } } diff --git a/src/unk_02097624.c b/src/unk_02097624.c index 71e42310c3..2641fc5d26 100644 --- a/src/unk_02097624.c +++ b/src/unk_02097624.c @@ -106,7 +106,7 @@ UnkStruct_02097728 *sub_020976BC(SaveData *saveData, Pokemon *param1, int heapID v0->saveData = saveData; v0->unk_14 = Mail_New(heapID); - Pokemon_GetValue(param1, MON_DATA_MAIL, v0->unk_14); + Pokemon_GetData(param1, MON_DATA_MAIL, v0->unk_14); return v0; } @@ -144,7 +144,7 @@ int sub_02097750(UnkStruct_02097728 *param0, Pokemon *param1) return 0; } - Pokemon_SetValue(param1, MON_DATA_MAIL, param0->unk_14); + Pokemon_SetData(param1, MON_DATA_MAIL, param0->unk_14); return 1; } @@ -168,11 +168,11 @@ int sub_02097788(Mailbox *mailbox, Pokemon *mon, int heapID) Mail *mail = Mail_New(heapID); - Pokemon_GetValue(mon, MON_DATA_MAIL, mail); + Pokemon_GetData(mon, MON_DATA_MAIL, mail); Mailbox_CopyMailToSlot(mailbox, 0, slot, mail); Mail_Init(mail); - Pokemon_SetValue(mon, MON_DATA_MAIL, mail); - Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, &item); + Pokemon_SetData(mon, MON_DATA_MAIL, mail); + Pokemon_SetData(mon, MON_DATA_HELD_ITEM, &item); Heap_Free(mail); return slot; @@ -189,8 +189,8 @@ int sub_020977E4(Mailbox *mailbox, u16 param1, Pokemon *mon, int heapID) item = Item_ForMailNumber(Mail_GetMailType(mail)); - Pokemon_SetValue(mon, MON_DATA_MAIL, mail); - Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, &item); + Pokemon_SetData(mon, MON_DATA_MAIL, mail); + Pokemon_SetData(mon, MON_DATA_HELD_ITEM, &item); sub_02028470(mailbox, 0, param1); Heap_Free(mail); diff --git a/src/unk_02097B18.c b/src/unk_02097B18.c index 410afb7ffe..2ff412822d 100644 --- a/src/unk_02097B18.c +++ b/src/unk_02097B18.c @@ -132,7 +132,7 @@ static int sub_02097B18(ApplicationManager *appMan, int *param1) continue; } - capsuleId = Pokemon_GetValue(v0->unk_00->unk_04[i], MON_DATA_BALL_CAPSULE_ID, 0); + capsuleId = Pokemon_GetData(v0->unk_00->unk_04[i], MON_DATA_BALL_CAPSULE_ID, 0); if (capsuleId != 0) { v0->unk_04[capsuleId - 1].unk_00 = i; @@ -379,8 +379,8 @@ static BOOL sub_02097F38(FieldTask *param0) if (partyMenu->selectedMonSlot != 7) { v8 = sub_02097F00(v0->unk_08, partyMenu->selectedMonSlot); - Pokemon_SetValue(v8, MON_DATA_BALL_CAPSULE_ID, (u8 *)&v13); - Pokemon_SetValue(v8, MON_DATA_BALL_CAPSULE, SealCase_GetCapsuleById(v1->unk_20, v13 - 1)); + Pokemon_SetData(v8, MON_DATA_BALL_CAPSULE_ID, (u8 *)&v13); + Pokemon_SetData(v8, MON_DATA_BALL_CAPSULE, SealCase_GetCapsuleById(v1->unk_20, v13 - 1)); v9 = SealCase_GetCapsuleById(v1->unk_20, v13 - 1); v10 = BallCapsule_GetBallSeals(v9, 0); diff --git a/src/unk_02098218.c b/src/unk_02098218.c index 64990ac64f..19a9ffb044 100644 --- a/src/unk_02098218.c +++ b/src/unk_02098218.c @@ -115,7 +115,7 @@ static int sub_02098304(ApplicationManager *appMan, int *param1) { int v1; - v1 = Pokemon_GetValue(v0->unk_00->unk_0C.unk_00, MON_DATA_SPECIES, NULL); + v1 = Pokemon_GetData(v0->unk_00->unk_0C.unk_00, MON_DATA_SPECIES, NULL); PokemonSprite_LoadCryDelay(v0->unk_04.unk_3C, &v0->unk_6C, v1, 1); @@ -214,9 +214,9 @@ static BOOL sub_0209843C(FieldTask *param0) int heapID = HEAP_ID_FIELD2; int isEgg = FALSE; - Pokemon_SetValue(mon, MON_DATA_IS_EGG, &isEgg); + Pokemon_SetData(mon, MON_DATA_IS_EGG, &isEgg); UpdateMonStatusAndTrainerInfo(mon, trainerInfo, v4, location, heapID); - Pokemon_SetValue(mon, MON_DATA_SPECIES_NAME, NULL); + Pokemon_SetData(mon, MON_DATA_SPECIES_NAME, NULL); } { @@ -233,17 +233,17 @@ static BOOL sub_0209843C(FieldTask *param0) FieldSystem *fieldSystem = FieldTask_GetFieldSystem(param0); int v9; - v9 = Pokemon_GetValue(v0->unk_0C.unk_00, MON_DATA_SPECIES, 0); + v9 = Pokemon_GetData(v0->unk_0C.unk_00, MON_DATA_SPECIES, 0); v0->unk_08 = NamingScreenArgs_Init(HEAP_ID_FIELD2, NAMING_SCREEN_TYPE_POKEMON, v9, MON_NAME_LEN, SaveData_GetOptions(FieldSystem_GetSaveData(fieldSystem))); - v0->unk_08->monGender = Pokemon_GetValue(v0->unk_0C.unk_00, MON_DATA_GENDER, NULL); - v0->unk_08->monForm = Pokemon_GetValue(v0->unk_0C.unk_00, MON_DATA_FORM, NULL); + v0->unk_08->monGender = Pokemon_GetData(v0->unk_0C.unk_00, MON_DATA_GENDER, NULL); + v0->unk_08->monForm = Pokemon_GetData(v0->unk_0C.unk_00, MON_DATA_FORM, NULL); FieldTask_RunApplication(param0, &gNamingScreenAppTemplate, v0->unk_08); v0->unk_00++; } break; case 4: if (v0->unk_08->returnCode == NAMING_SCREEN_CODE_OK) { - Pokemon_SetValue(v0->unk_0C.unk_00, MON_DATA_NICKNAME_STRING_AND_FLAG, v0->unk_08->textInputStr); + Pokemon_SetData(v0->unk_0C.unk_00, MON_DATA_NICKNAME_STRING_AND_FLAG, v0->unk_08->textInputStr); { FieldSystem *fieldSystem = FieldTask_GetFieldSystem(param0); diff --git a/src/unk_0209BA80.c b/src/unk_0209BA80.c index 7759a2004f..aeddff2da4 100644 --- a/src/unk_0209BA80.c +++ b/src/unk_0209BA80.c @@ -281,13 +281,13 @@ BOOL sub_0209BC64(UnkStruct_0209BBA4 *param0, u16 param1, u16 param2) } else { v2 = Party_GetPokemonBySlotIndex(v3, param1); - param0->unk_76[0] = Pokemon_GetValue(v2, MON_DATA_SPECIES, NULL); - param0->unk_7E[0] = Pokemon_GetValue(v2, MON_DATA_HELD_ITEM, NULL); + param0->unk_76[0] = Pokemon_GetData(v2, MON_DATA_SPECIES, NULL); + param0->unk_7E[0] = Pokemon_GetData(v2, MON_DATA_HELD_ITEM, NULL); v2 = Party_GetPokemonBySlotIndex(v3, param2); - param0->unk_76[1] = Pokemon_GetValue(v2, MON_DATA_SPECIES, NULL); - param0->unk_7E[1] = Pokemon_GetValue(v2, MON_DATA_HELD_ITEM, NULL); + param0->unk_76[1] = Pokemon_GetData(v2, MON_DATA_SPECIES, NULL); + param0->unk_7E[1] = Pokemon_GetData(v2, MON_DATA_HELD_ITEM, NULL); } param0->unk_08[0] = param0->unk_76[0]; diff --git a/tools/datagen/datagen_frontier.cpp b/tools/datagen/datagen_frontier.cpp index 17b398970c..6f6fdbd97e 100644 --- a/tools/datagen/datagen_frontier.cpp +++ b/tools/datagen/datagen_frontier.cpp @@ -63,7 +63,7 @@ static void PackFrontierTrainer(const rapidjson::Document &doc, vfs_pack_ctx *pl static void ParseMoves(const rapidjson::Value &moves, BattleFrontierPokemonData &data) { - for (int i = 0; i < LEARNED_MOVES_MAX; i++) { + for (int i = 0; i < MAX_MON_MOVES; i++) { data.moves[i] = LookupConst(moves.GetArray()[i].GetString(), Move); } } diff --git a/tools/datagen/datagen_species.cpp b/tools/datagen/datagen_species.cpp index c47dd16118..f0771869c4 100644 --- a/tools/datagen/datagen_species.cpp +++ b/tools/datagen/datagen_species.cpp @@ -72,7 +72,7 @@ // manual alignment, the NARC packing routine would instead pad the virtual files // with `FF FF`, which obviously breaks matching. struct SpeciesEvolutionList { - ALIGN_4 SpeciesEvolution entries[MAX_EVOLUTIONS]; + ALIGN_4 Evolution entries[MAX_MON_EVOLUTIONS]; }; // Entries in `wotbl.narc` are dynamically-sized with a terminating sentinel value @@ -178,9 +178,9 @@ static SpeciesEvolutionList ParseEvolutions(rapidjson::Document &root) int speciesIdx = 2; switch (method) { case EVO_NONE: - case EVO_LEVEL_HAPPINESS: - case EVO_LEVEL_HAPPINESS_DAY: - case EVO_LEVEL_HAPPINESS_NIGHT: + case EVO_LEVEL_FRIENDSHIP: + case EVO_LEVEL_FRIENDSHIP_DAY: + case EVO_LEVEL_FRIENDSHIP_NIGHT: case EVO_TRADE: case EVO_LEVEL_MAGNETIC_FIELD: case EVO_LEVEL_MOSS_ROCK: @@ -203,12 +203,12 @@ static SpeciesEvolutionList ParseEvolutions(rapidjson::Document &root) param = evoEntry[1].GetUint(); break; - case EVO_TRADE_WITH_HELD_ITEM: + case EVO_TRADE_HELD_ITEM: case EVO_USE_ITEM: case EVO_USE_ITEM_MALE: case EVO_USE_ITEM_FEMALE: - case EVO_LEVEL_WITH_HELD_ITEM_DAY: - case EVO_LEVEL_WITH_HELD_ITEM_NIGHT: + case EVO_LEVEL_HELD_ITEM_DAY: + case EVO_LEVEL_HELD_ITEM_NIGHT: param = LookupConst(evoEntry[1].GetString(), Item); break; @@ -222,10 +222,10 @@ static SpeciesEvolutionList ParseEvolutions(rapidjson::Document &root) } u16 target = LookupConst(evoEntry[speciesIdx].GetString(), Species); - evos.entries[i++] = SpeciesEvolution { + evos.entries[i++] = Evolution { .method = static_cast(method), .param = param, - .targetSpecies = target, + .target = target, }; } @@ -471,7 +471,7 @@ static void PackHeights(vfs_pack_ctx *vfs, rapidjson::Document &root, u8 genderR *frontMale = frontOffsets["male"].GetUint(); } - if (genderRatio == GENDER_RATIO_MALE_ONLY || genderRatio == GENDER_RATIO_NO_GENDER) { + if (genderRatio == GENDER_RATIO_MALE_ONLY || genderRatio == GENDER_RATIO_UNKNOWN) { backFemale = static_cast(malloc(0)); frontFemale = static_cast(malloc(0)); femaleSize = 0;