Skip to content

Conversation

@AsparagusEduardo
Copy link
Contributor

@AsparagusEduardo AsparagusEduardo commented Dec 24, 2025

Matching PRs:

Notes:

  • Name changes compared to the left or right sides are signaled using an * for easier visibility.
  • In the right column, for names that are different in pokediamond compared to pokeheartgold, a "/" has been added to show the difference.
  • In the middle column, functions that have a "(DP)" don't have the suffix in pokediamond. Eg. FunctionDP in pokeplatinum and pokeheartgold is just called Function in pokediamond.

Lists of changes:

BoxPokemon functions
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
 BoxPokemon_Init                        | BoxPokemon_Init                       | *ZeroBoxMonData
*sub_02073E18                           | BoxPokemon_InitWithParams             | *CreateBoxMon
*BoxPokemon_EnterDecryptionContext      | BoxPokemon_DecryptData                | *AcquireBoxMonLock
*BoxPokemon_ExitDecryptionContext       | BoxPokemon_EncryptData                | *ReleaseBoxMonLock
*BoxPokemon_SetValue                    | BoxPokemon_SetData                    | *SetBoxMonData
 BoxPokemon_SetDataInternal             | BoxPokemon_SetDataInternal            | *SetBoxMonDataInternal
*BoxPokemon_GetValue                    | BoxPokemon_GetData                    | *GetBoxMonData
 BoxPokemon_GetDataInternal             | BoxPokemon_GetDataInternal            | *GetBoxMonDataInternal
*BoxPokemon_IncreaseDataInternal        | BoxPokemon_AddDataInternal            | *AddBoxMonDataInternal
 BoxPokemon_GetGender                   | BoxPokemon_GetGender                  | *GetBoxMonGender
 BoxPokemon_GetNature                   | BoxPokemon_GetNature                  | *GetBoxMonNature
*BoxPokemon_GetLevel                    | BoxPokemon_CalcLevel                  | *CalcBoxMonLevel
*BoxPokemon_GetExpToNextLevel           | BoxPokemon_CalcExpToNextLevel         | *CalcBoxMonExpToNextLevel
 BoxPokemon_IsShiny                     | BoxPokemon_IsShiny                    | *BoxMonIsShiny
 N/A                                    | BoxPokemon_IsHoldingMail              | *BoxMonIsHoldingMail
 BoxPokemon_GetForm                     | BoxPokemon_GetForm                    | *GetBoxMonUnownLetter
*BoxPokemon_GetStructSize               | BoxPokemon_Size                       | *sub_02070D94 / sub_020690C8
*BoxPokemon_SetMoveSlot                 | BoxPokemon_SetMoveInSlot              | *BoxMonSetMoveInSlot
 BoxPokemon_SetDefaultMoves             | BoxPokemon_SetDefaultMoves            | *InitBoxMonMoveset
*BoxPokemon_AddMove                     | BoxPokemon_TryAppendMove              | *TryAppendBoxMonMove / sub_020696A8
*BoxPokemon_ReplaceMove                 | BoxPokemon_ForceAppendMove            | *DeleteBoxMonFirstMoveAndAppend / sub_02069718
 BoxPokemon_SwapMoveSlots               | BoxPokemon_SwapMoveSlots              | *BoxMonSwapMoves / sub_020698E8
*Pokemon_FromBoxPokemon                 | BoxPokemon_CopyToPokemon              | *CopyBoxPokemonToPokemon
 BoxPokemon_Copy                        | BoxPokemon_Copy                       | *CopyBoxPokemonToBoxPokemon
*CanBoxPokemonLearnTM                   | BoxPokemon_CanLearnTMHM               | *GetBoxMonTMHMCompat
*BoxPokemon_CalcAbility                 | BoxPokemon_UpdateAbility              | *UpdateBoxMonAbility / sub_0206A1CC
*sub_0207884C                           | BoxPokemon_BelongsToPlayer            | *BoxmonBelongsToPlayer / sub_0206A9AC
 BoxPokemon_GetDataBlock                | BoxPokemon_GetDataBlock               | *GetSubstruct
 BoxPokemon_RestorePP                   | BoxPokemon_RestorePP                  | *RestoreBoxMonPP
Pokemon functions
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
 Pokemon_New                            | Pokemon_New                           | *AllocMonZeroed
 Pokemon_Init                           | Pokemon_Init                          | *ZeroMonData
 Pokemon_InitWith                       | Pokemon_InitWithParams                | *CreateMon
*sub_02074044                           | Pokemon_InitWithNature                | *CreateMonWithNature
*sub_02074088                           | Pokemon_InitWithGenderNatureLetter    | *CreateMonWithGenderNatureLetter
 Pokemon_InitAndCalcStats               | Pokemon_InitAndCalcStats              | *CreateMonWithFixedIVs
*Pokemon_EnterDecryptionContext         | Pokemon_DecryptData                   | *AcquireMonLock
*Pokemon_ExitDecryptionContext          | Pokemon_EncryptData                   | *ReleaseMonLock
*Pokemon_SetValue                       | Pokemon_SetData                       | *SetMonData
 Pokemon_SetDataInternal                | Pokemon_SetDataInternal               | *SetMonDataInternal
*Pokemon_IncreaseValue                  | Pokemon_IncreaseData                  | *AddMonData
 Pokemon_IncreaseDataInternal           | Pokemon_IncreaseDataInternal          | *AddMonDataInternal
*Pokemon_GetValue                       | Pokemon_GetData                       | *GetMonData
 Pokemon_GetDataInternal                | Pokemon_GetDataInternal               | *GetMonDataInternal
 Pokemon_GetGender                      | Pokemon_GetGender                     | *GetMonGender
 Pokemon_GetNature                      | Pokemon_GetNature                     | *GetMonNature
*Pokemon_GetLevel                       | Pokemon_CalcLevel                     | *CalcMonLevel
 Pokemon_CalcStats                      | Pokemon_CalcStats                     | *CalcMonStats
 Pokemon_CalcLevelAndStats              | Pokemon_CalcLevelAndStats             | *CalcMonLevelAndStats
*Pokemon_GetPercentToNextLevel          | Pokemon_CalcPercentToNextLevel        | *GetPercentProgressTowardsNextLevel
 Pokemon_GetExpToNextLevel              | Pokemon_CalcExpToNextLevel            | *CalcMonExpToNextLevel
 Pokemon_GetCurrentLevelBaseExp         | Pokemon_GetCurrentLevelBaseExp        | *GetMonBaseExperienceAtCurrentLevel
 Pokemon_IsShiny                        | Pokemon_IsShiny                       | *MonIsShiny
*Pokemon_GetBoxPokemon                  | Pokemon_GetBoxMon                     | *Mon_GetBoxMon / sub_020690E4
 Pokemon_GetForm                        | Pokemon_GetForm                       | *GetMonUnownLetter
*Pokemon_StructSize                     | Pokemon_Size                          | *SizeOfStructPokemon
*Pokemon_GetStructSize                  | Pokemon_Size2                         | *sub_02070D90 / sub_020690C4
 Pokemon_UpdateFriendship               | Pokemon_UpdateFriendship              | *MonApplyFriendshipMod
*Pokemon_ShouldLevelUp                  | Pokemon_TryLevelUp                    |  Pokemon_TryLevelUp / *sub_020690E8
*Pokemon_SetMoveSlot                    | Pokemon_SetMoveInSlot                 | *MonSetMoveInSlot
*Pokemon_ResetMoveSlot                  | Pokemon_SetMoveInSlot_ResetPPUp       | *MonSetMoveInSlot_ResetPpUp
*Pokemon_AddMove                        | Pokemon_TryAppendMove                 | *TryAppendMonMove / sub_02069698
*Pokemon_ReplaceMove                    | Pokemon_ForceAppendMove               | *DeleteMonFirstMoveAndAppend / sub_02069708
*Pokemon_LevelUpMove                    | Pokemon_TryLevelUpMove                | *MonTryLearnMoveOnLevelUp / sub_02069818
 Pokemon_SwapMoveSlots                  | Pokemon_SwapMoveSlots                 | *MonSwapMoves / sub_020698E0
 Pokemon_ClearMoveSlot                  | Pokemon_ClearMoveSlot                 | *MonDeleteMoveSlot / sub_020699A4
 Pokemon_HasMove                        | Pokemon_HasMove                       | *MonHasMove
 Pokemon_Copy                           | Pokemon_Copy                          | *CopyPokemonToPokemon
*BoxPokemon_FromPokemon                 | Pokemon_CopyToBoxPokemon              | *CopyPokemonToBoxPokemon
*Pokemon_CanLearnTM                     | Pokemon_CanLearnTMHM                  | *GetMonTMHMCompat / sub_0206A13C
*Pokemon_CalcAbility                    | Pokemon_UpdateAbility                 | *UpdateMonAbility / sub_0206A1C4
*Pokemon_GiveHeldItem                   | Pokemon_GiveWildHeldItem              | *WildMonSetRandomHeldItem / sub_0206A094
*sub_020780C4                           | Pokemon_SetPersonality                | *SetMonPersonality / sub_0206A23C
SpeciesData functions
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
 struct SpeciesData                     | struct SpeciesData                    | *struct BASE_STATS
*SpeciesData_FromMonSpecies             | SpeciesData_NewFromSpecies            | *AllocAndLoadMonPersonal
*SpeciesData_FromMonForm                | SpeciesData_NewFromForm               | *AllocAndLoadMonPersonal_HandleAlternateForm
 SpeciesData_LoadSpecies                | SpeciesData_LoadSpecies               | *LoadMonPersonal
 SpeciesData_Free                       | SpeciesData_Free                      | *FreeMonPersonal
 SpeciesData_GetValue                   | SpeciesData_GetValue                  | *GetPersonalAttr
*SpeciesData_GetGenderOf                | SpeciesData_GetGenderFromPersonality  | *GetGenderBySpeciesAndPersonality_PreloadedPersonal
*SpeciesData_GetLevelAt                 | SpeciesData_CalcLevelByExp            | *CalcLevelBySpeciesAndExp_PreloadedPersonal
Species Data Params
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
 SPECIES_DATA_BASE_HP                   | SPECIES_DATA_BASE_HP                  | *BASE_HP
 SPECIES_DATA_BASE_ATK                  | SPECIES_DATA_BASE_ATK                 | *BASE_ATK
 SPECIES_DATA_BASE_DEF                  | SPECIES_DATA_BASE_DEF                 | *BASE_DEF
 SPECIES_DATA_BASE_SPEED                | SPECIES_DATA_BASE_SPEED               | *BASE_SPEED
 SPECIES_DATA_BASE_SP_ATK               | SPECIES_DATA_BASE_SP_ATK              | *BASE_SPATK
 SPECIES_DATA_BASE_SP_DEF               | SPECIES_DATA_BASE_SP_DEF              | *BASE_SPDEF
 SPECIES_DATA_TYPE_1                    | SPECIES_DATA_TYPE_1                   | *BASE_TYPE1
 SPECIES_DATA_TYPE_2                    | SPECIES_DATA_TYPE_2                   | *BASE_TYPE2
 SPECIES_DATA_CATCH_RATE                | SPECIES_DATA_CATCH_RATE               | *BASE_CATCH_RATE
*SPECIES_DATA_BASE_EXP_REWARD           | SPECIES_DATA_EXP_YIELD                | *BASE_EXP_YIELD
 SPECIES_DATA_EV_HP_YIELD               | SPECIES_DATA_EV_HP_YIELD              | *BASE_HP_YIELD
 SPECIES_DATA_EV_ATK_YIELD              | SPECIES_DATA_EV_ATK_YIELD             | *BASE_ATK_YIELD
 SPECIES_DATA_EV_DEF_YIELD              | SPECIES_DATA_EV_DEF_YIELD             | *BASE_DEF_YIELD
 SPECIES_DATA_EV_SPEED_YIELD            | SPECIES_DATA_EV_SPEED_YIELD           | *BASE_SPEED_YIELD
 SPECIES_DATA_EV_SP_ATK_YIELD           | SPECIES_DATA_EV_SP_ATK_YIELD          | *BASE_SPATK_YIELD
 SPECIES_DATA_EV_SP_DEF_YIELD           | SPECIES_DATA_EV_SP_DEF_YIELD          | *BASE_SPDEF_YIELD
 SPECIES_DATA_HELD_ITEM_COMMON          | SPECIES_DATA_HELD_ITEM_COMMON         | *BASE_ITEM_1
 SPECIES_DATA_HELD_ITEM_RARE            | SPECIES_DATA_HELD_ITEM_RARE           | *BASE_ITEM_2
 SPECIES_DATA_GENDER_RATIO              | SPECIES_DATA_GENDER_RATIO             | *BASE_GENDER_RATIO
*SPECIES_DATA_HATCH_CYCLES              | SPECIES_DATA_EGG_CYCLES               | *BASE_EGG_CYCLES
 SPECIES_DATA_BASE_FRIENDSHIP           | SPECIES_DATA_BASE_FRIENDSHIP          | *BASE_FRIENDSHIP
 SPECIES_DATA_EXP_RATE                  | SPECIES_DATA_EXP_RATE                 | *BASE_GROWTH_RATE
 SPECIES_DATA_EGG_GROUP_1               | SPECIES_DATA_EGG_GROUP_1              | *BASE_EGG_GROUP_1
 SPECIES_DATA_EGG_GROUP_2               | SPECIES_DATA_EGG_GROUP_2              | *BASE_EGG_GROUP_2
 SPECIES_DATA_ABILITY_1                 | SPECIES_DATA_ABILITY_1                | *BASE_ABILITY_1
 SPECIES_DATA_ABILITY_2                 | SPECIES_DATA_ABILITY_2                | *BASE_ABILITY_2
 SPECIES_DATA_SAFARI_FLEE_RATE          | SPECIES_DATA_SAFARI_FLEE_RATE         | *BASE_GREAT_MARSH_RATE
 SPECIES_DATA_BODY_COLOR                | SPECIES_DATA_BODY_COLOR               | *BASE_COLOR
 SPECIES_DATA_FLIP_SPRITE               | SPECIES_DATA_FLIP_SPRITE              | *BASE_FLIP
 SPECIES_DATA_TM_LEARNSET_MASK_1        | SPECIES_DATA_TM_LEARNSET_MASK_1       | *BASE_TMHM_1
 SPECIES_DATA_TM_LEARNSET_MASK_2        | SPECIES_DATA_TM_LEARNSET_MASK_2       | *BASE_TMHM_2
 SPECIES_DATA_TM_LEARNSET_MASK_3        | SPECIES_DATA_TM_LEARNSET_MASK_3       | *BASE_TMHM_3
 SPECIES_DATA_TM_LEARNSET_MASK_4        | SPECIES_DATA_TM_LEARNSET_MASK_4       | *BASE_TMHM_4
Species functions
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
*SpeciesData_GetSpeciesValue            | Species_GetValue                      | *GetMonBaseStat
*SpeciesData_GetFormValue               | Species_GetFormValue                  | *GetMonBaseStat_HandleAlternateForm
*Pokemon_SanitizeFormId                 | Species_SanitizeFormId                | *sub_02070438 / (n/a)
*Pokemon_GetSpeciesBaseExpAt            | Species_GetExpAtLevel                 | *GetMonExpBySpeciesAndLevel
*Pokemon_GetGenderOf                    | Species_GetGenderFromPersonality      | *GetGenderBySpeciesAndPersonality
*Pokemon_GetSpeciesLevelAt              | Species_CalcLevelByExp                | *CalcLevelBySpeciesAndExp
*Pokemon_LoadLevelUpMovesOf             | Species_LoadLevelUpLearnset           | *LoadLevelUpLearnset_HandleAlternateForm
*CanPokemonFormLearnTM                  | Species_CanLearnTMHM                  | *GetTMHMCompatBySpeciesAndForm
*Pokemon_GetFormNarcIndex               | Species_GetFormNarcIndex              | *ResolveMonForm
ExpRate functions
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
*Pokemon_GetExpRateBaseExpAt            | ExpRate_GetExpAtLevel                 | *GetExpByGrowthRateAndLevel
*Pokemon_LoadExperienceTableOf          | ExpRate_LoadTable                     | *LoadGrowthTable
Personality functions
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
*Pokemon_IsPersonalityShiny             | Personality_IsShiny                   | *CalcShininessByOtIdAndPersonality
*Pokemon_GetNatureOf                    | Personality_GetNature                 | *GetNatureFromPersonality
*sub_02074128                           | Personality_CreateFromGenderAndNature | *GenPersonalityByGenderAndNature
*Pokemon_FindShinyPersonality           | Personality_GenerateShiny             | *GenerateShinyPersonality
 (n/a)                                  | Personality_ChangeNatureGenderAbility | *ChangePersonalityToNatureGenderAndAbility
Nature/Flavor labels
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
*sNatureStatAffinities                  | s/gNatureStatModifiers                | *gNatureStatMods
*Pokemon_GetNatureStatValue             | Nature_ModifyStatValue                | *ModifyStatByNature
*Pokemon_GetStatAffinityOf              | Nature_GetStatModifier                |  N/A
 sNatureFlavorAffinities                | sNatureFlavorAffinities               | *sFlavorPreferencesByNature
 NATURE_COUNT                           | NATURE_COUNT                          |  NATURE_NUM / (new)
*FLAVOR_MAX                             | FLAVOR_COUNT                          | *FLAVOR_MAX / (new)
 Pokemon_GetFlavorAffinity              | Pokemon_GetFlavorAffinity             | *MonGetFlavorPreference
 BoxPokemon_GetFlavorAffinity           | BoxPokemon_GetFlavorAffinity          | *BoxMonGetFlavorPreference
*Pokemon_GetFlavorAffinityOf            | Personality_GetFlavorAffinity         | *GetFlavorPreferenceFromPID
Pokemon Sprite Template labels
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
 struct PokemonSpriteTemplate           | struct PokemonSpriteTemplate          | *struct PokepicTemplate / SomeDrawPokemonStruct
 PokemonSpriteTemplate->narcID          | PokemonSpriteTemplate->narcID         | PokepicTemplate->narcID / SomeDrawPokemonStruct->unk0
 PokemonSpriteTemplate->spindaSpots     | PokemonSpriteTemplate->species        | PokepicTemplate->species / SomeDrawPokemonStruct->unk6
 PokemonSpriteTemplate->spindaSpots     | PokemonSpriteTemplate->personality    | PokepicTemplate->personality / SomeDrawPokemonStruct->unkC
Pokemon Sprite Template functions
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
 Pokemon_BuildSpriteTemplate            | Pokemon_BuildSpriteTemplate           | *GetPokemonSpriteCharAndPlttNarcIds / sub_02068B68
 BoxPokemon_BuildSpriteTemplate         | BoxPokemon_BuildSpriteTemplate        | *GetBoxmonSpriteCharAndPlttNarcIds / sub_02068B70
 Pokemon_BuildSpriteTemplateDP          | Pokemon_BuildSpriteTemplateDP         | N/A
 N/A                                    | BoxPokemon_BuildSpriteTemplateDP      | *sub_02070130 / (n/a)
*BuildPokemonSpriteTemplate             | Species_BuildSpriteTemplate           | *GetMonSpriteCharAndPlttNarcIdsEx / (n/a)
*BuildPokemonSpriteTemplateDP           | Species_BuildSpriteTemplate(DP)       | *DP_GetMonSpriteCharAndPlttNarcIdsEx / sub_02068C00
Y Offset functions
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
 Pokemon_SpriteYOffset                  | Pokemon_SpriteYOffset                 | *N/A / sub_02068E14
 BoxPokemon_SpriteYOffset               | BoxPokemon_SpriteYOffset              | *sub_02070854 / sub_02068E1C
*LoadPokemonSpriteYOffset               | Species_LoadSpriteYOffset             | *GetMonPicHeightBySpeciesGenderForm / (n/a)
*LoadPokemonDPSpriteHeight              | Species_LoadSpriteYOffset(DP)         | *GetMonPicHeightBySpeciesGenderForm_PBR / sub_02068E88
Pokérus functions
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
*Pokemon_ApplyPokerus                   | Party_GivePokerusAtRandom             |  Party_GivePokerusAtRandom
*Pokemon_HasPokerus                     | Party_MaskHasPokerus                  | *Party_MaskMonsWithPokerus
*Party_UpdatePokerusStatus              | Party_UpdatePokerus                   |  Party_UpdatePokerus
*Pokemon_ValidatePokerus                | Party_SpreadPokerus                   |  Party_SpreadPokerus
*Pokemon_InfectedWithPokerus            | Pokemon_HasPokerus                    |  Pokemon_HasPokerus
*IsBoxPokemonInfectedWithPokerus        | BoxPokemon_HasPokerus                 | *BoxMon_HasPokerus
*Pokemon_HasCuredPokerus                | Pokemon_IsImmuneToPokerus             |  Pokemon_IsImmuneToPokerus
*BoxPokemonHasCuredPokerus              | BoxPokemon_IsImmuneToPokerus          | *BoxMon_IsImmuneToPokerus
Form change functions
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
*Pokemon_GetArceusTypeOf                | HoldEffect_GetArceusType              | *GetArceusTypeByHeldItemEffect
*Pokemon_SetArceusForm                  | Pokemon_UpdateArceusForm              |  Pokemon_UpdateArceusForm
*BoxPokemon_SetArceusForm               | BoxPokemon_UpdateArceusForm           | *BoxMon_UpdateArceusForm / (n/a)
*Pokemon_SetGiratinaFormByHeldItem      | Pokemon_UpdateGiratinaForm            | *Mon_UpdateGiratinaForm / (n/a)
*BoxPokemon_SetGiratinaForm             | BoxPokemon_UpdateGiratinaForm         | *BoxMon_UpdateGiratinaForm / (n/a)
*Pokemon_SetGiratinaOriginForm          | Pokemon_ForceSetGiratinaOriginForm    | *Mon_ForceSetGiratinaOriginForm / (n/a)
*Party_SetGiratinaForm                  | Party_UpdateGiratinaForms             | *Party_UpdateAllGiratina_DistortionWorld / (n/a)
*Pokemon_SetShayminForm                 | Pokemon_UpdateShayminForm             | *Mon_UpdateShayminForm / (n/a)
*BoxPokemon_SetShayminForm              | BoxPokemon_UpdateShayminForm          | *BoxMon_UpdateShayminForm / (n/a)
 Pokemon_CanShayminSkyForm              | Pokemon_CanShayminSkyForm             | *Mon_CanUseGracidea / (n/a)
*Party_SetShayminLandForm               | Party_SetShayminLandForms             | *Party_ResetAllShayminToLandForm / (n/a)
*Party_SetShayminForm                   | Party_UpdateShayminForms              | *Party_TryResetShaymin / 
*Pokemon_SetRotomForm                   | Pokemon_UpdateRotomForm               | *Mon_UpdateRotomForm
Battle Frontier/Tower(DP) labels
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
 sBattleFrontierBanlist                 | sBattle(Facility/Tower)Banlist        |  sBattleFrontierBanlist / *sLegendaryMonsList
*Pokemon_IsOnBattleFrontierBanlist      | Species_IsBattle(Facility/Tower)Banned| *IsPokemonBannedFromBattleFrontier / *IsPokemonLegendaryOrMythical
*Pokemon_IsBannedFromBattleFrontier     | Pokemon_IsBattle(Facility/Tower)Banned| *MonCheckFrontierIneligibility / *sub_0206A998
*Pokemon_GetBattleFrontierBanlistEntry  | Battle(Facility/Tower)_GetBanlistEntry| *GetBannedBattleFrontierPokemon / *GetLegendaryMon
*BATTLE_FRONTIER_BANLIST_SIZE           | BATTLE_(FACILITY/TOWER)_BANLIST_SIZE  | *NUM_BANNED_BATTLE_FRONTIER / (new)
Evolution labels
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
*Pokemon_GetEvolutionTargetSpecies      | Pokemon_GetEvolutionTarget            | *GetMonEvolution
*LoadSpeciesEvolutions                  | Species_LoadEvolutions                | *LoadMonEvolutionTable
*MAX_EVOLUTIONS                         | MAX_MON_EVOLUTIONS                    | *MAX_EVOS_PER_POKE / (new)
*EVO_TRADE_WITH_HELD_ITEM               | EVO_TRADE_HELD_ITEM                   | *EVO_TRADE_ITEM
 EVO_USE_ITEM                           | EVO_USE_ITEM                          | *EVO_STONE
 EVO_USE_ITEM_MALE                      | EVO_USE_ITEM_MALE                     | *EVO_STONE_MALE
 EVO_USE_ITEM_FEMALE                    | EVO_USE_ITEM_FEMALE                   | *EVO_STONE_FEMALE
*EVO_LEVEL_HAPPINESS                    | EVO_LEVEL_FRIENDSHIP                  | *EVO_FRIENDSHIP
*EVO_LEVEL_HAPPINESS_DAY                | EVO_LEVEL_FRIENDSHIP_DAY              | *EVO_FRIENDSHIP_DAY
*EVO_LEVEL_HAPPINESS_NIGHT              | EVO_LEVEL_FRIENDSHIP_NIGHT            | *EVO_FRIENDSHIP_NIGHT
 EVO_LEVEL_BEAUTY                       | EVO_LEVEL_BEAUTY                      | *EVO_BEAUTY
 EVO_LEVEL_PID_LOW                      | EVO_LEVEL_PID_LOW                     | *EVO_LEVEL_PID_LO
 EVO_LEVEL_PID_HIGH                     | EVO_LEVEL_PID_HIGH                    | *EVO_LEVEL_PID_HI
*EVO_LEVEL_WITH_HELD_ITEM_DAY           | EVO_LEVEL_HELD_ITEM_DAY               | *EVO_ITEM_DAY
*EVO_LEVEL_WITH_HELD_ITEM_NIGHT         | EVO_LEVEL_HELD_ITEM_NIGHT             | *EVO_ITEM_NIGHT
 EVO_LEVEL_KNOW_MOVE                    | EVO_LEVEL_KNOW_MOVE                   | *EVO_HAS_MOVE
 EVO_LEVEL_SPECIES_IN_PARTY             | EVO_LEVEL_SPECIES_IN_PARTY            | *EVO_OTHER_PARTY_MON
 EVO_LEVEL_MAGNETIC_FIELD               | EVO_LEVEL_MAGNETIC_FIELD              | *EVO_CORONET
 EVO_LEVEL_MOSS_ROCK                    | EVO_LEVEL_MOSS_ROCK                   | *EVO_ETERNA
 EVO_LEVEL_ICE_ROCK                     | EVO_LEVEL_ICE_ROCK                    | *EVO_ROUTE217
                                        |                                       |
*EVO_CLASS_BY_LEVEL                     | EVO_CONTEXT_LEVEL_UP                  | *EVOCTX_LEVELUP / (new)
*EVO_CLASS_BY_TRADE                     | EVO_CONTEXT_TRADE                     | *EVOCTX_TRADE / (new)
*EVO_CLASS_UNUSED_02                    | EVO_CONTEXT_ITEM_CHECK                | *EVOCTX_ITEM_CHECK / (new)
*EVO_CLASS_BY_ITEM                      | EVO_CONTEXT_ITEM_USE                  | *EVOCTX_ITEM_USE / (new)
General define/enum renames
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
 SPECIES_BAD_EGG                        | SPECIES_BAD_EGG                       | *SPECIES_MANAPHY_EGG
                                        |                                       |
*MAX_FRIENDSHIP_VALUE                   | MAX_FRIENDSHIP                        | *FRIENDSHIP_MAX / (new)
*MAX_POKEMON_LEVEL                      | MAX_MON_LEVEL                         | *MAX_LEVEL
*LEARNED_MOVES_MAX                      | MAX_MON_MOVES                         |  MAX_MON_MOVES
*EVOLVE_FRIENDSHIP_THRESHOLD            | FRIENDSHIP_EVO_THRESHOLD              |  (new)
                                        |                                       |
 HOLD_EFFECT_ARCEUS_FIGHTING            | HOLD_EFFECT_ARCEUS_FIGHTING           |  HOLD_EFFECT_ARCEUS_FIGHTING / *HOLD_EFFECT_ARCEUS_FIGHT
                                        |                                       |
 MON_DATA_NICKNAME_AND_FLAG             | MON_DATA_NICKNAME_AND_FLAG            | *MON_DATA_NICKNAME_FLAT_COMPARE
                                        |                                       |
 GENDER_RATIO_MALE_ONLY                 | GENDER_RATIO_MALE_ONLY                | *MON_RATIO_MALE
 GENDER_RATIO_FEMALE_12_5               | GENDER_RATIO_FEMALE_12_5              | *MON_RATIO_EIGHTH
 GENDER_RATIO_FEMALE_25                 | GENDER_RATIO_FEMALE_25                | *MON_RATIO_QUARTER
 GENDER_RATIO_FEMALE_50                 | GENDER_RATIO_FEMALE_50                | *MON_RATIO_HALF
 GENDER_RATIO_FEMALE_75                 | GENDER_RATIO_FEMALE_75                | *MON_RATIO_THREEQUARTER
 GENDER_RATIO_FEMALE_87_5               | GENDER_RATIO_FEMALE_87_5              |  (new)
 GENDER_RATIO_FEMALE_ONLY               | GENDER_RATIO_FEMALE_ONLY              | *MON_RATIO_FEMALE
*GENDER_RATIO_NO_GENDER                 | GENDER_RATIO_UNKNOWN                  | *MON_RATIO_UNKNOWN
                                        |                                       |
 GENDER_MALE                            | GENDER_MALE                           | *MON_MALE
 GENDER_FEMALE                          | GENDER_FEMALE                         | *MON_FEMALE
 GENDER_NONE                            | GENDER_NONE                           | *MON_GENDERLESS

*OTID_NOT_SET                           | OT_ID_PLAYER_ID                       | OT_ID_PLAYER_ID
*OTID_SET                               | OT_ID_PRESET                          | OT_ID_PRESET
*OTID_NOT_SHINY                         | OT_ID_RANDOM_NO_SHINY                 | OT_ID_RANDOM_NO_SHINY
Species Form defines/enums
pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
 ARCEUS_FORM_NORMAL                     | ARCEUS_FORM_NORMAL                    | *ARCEUS_NORMAL
 ARCEUS_FORM_FIST                       | ARCEUS_FORM_FIST                      | *ARCEUS_FIST
 ARCEUS_FORM_SKY                        | ARCEUS_FORM_SKY                       | *ARCEUS_SKY
 ARCEUS_FORM_TOXIC                      | ARCEUS_FORM_TOXIC                     | *ARCEUS_TOXIC
 ARCEUS_FORM_EARTH                      | ARCEUS_FORM_EARTH                     | *ARCEUS_EARTH
 ARCEUS_FORM_STONE                      | ARCEUS_FORM_STONE                     | *ARCEUS_STONE
 ARCEUS_FORM_INSECT                     | ARCEUS_FORM_INSECT                    | *ARCEUS_INSECT
 ARCEUS_FORM_SPOOKY                     | ARCEUS_FORM_SPOOKY                    | *ARCEUS_SPOOKY
 ARCEUS_FORM_IRON                       | ARCEUS_FORM_IRON                      | *ARCEUS_IRON
 ARCEUS_FORM_MYSTERY                    | ARCEUS_FORM_MYSTERY                   | *ARCEUS_MYSTERY
 ARCEUS_FORM_FLAME                      | ARCEUS_FORM_FLAME                     | *ARCEUS_FLAME
 ARCEUS_FORM_SPLASH                     | ARCEUS_FORM_SPLASH                    | *ARCEUS_SPLASH
 ARCEUS_FORM_MEADOW                     | ARCEUS_FORM_MEADOW                    | *ARCEUS_MEADOW
 ARCEUS_FORM_ZAP                        | ARCEUS_FORM_ZAP                       | *ARCEUS_ZAP
 ARCEUS_FORM_MIND                       | ARCEUS_FORM_MIND                      | *ARCEUS_MIND
 ARCEUS_FORM_ICICLE                     | ARCEUS_FORM_ICICLE                    | *ARCEUS_ICICLE
 ARCEUS_FORM_DRACO                      | ARCEUS_FORM_DRACO                     | *ARCEUS_DRACO
 ARCEUS_FORM_DREAD                      | ARCEUS_FORM_DREAD                     | *ARCEUS_DREAD
 ARCEUS_FORM_COUNT                      | ARCEUS_FORM_COUNT                     | *ARCEUS_FORM_MAX
 BURMY_FORM_PLANT                       | BURMY_FORM_PLANT                      | *BURMY_PLANT
 BURMY_FORM_SANDY                       | BURMY_FORM_SANDY                      | *BURMY_SANDY
 BURMY_FORM_TRASH                       | BURMY_FORM_TRASH                      | *BURMY_TRASH
 BURMY_FORM_COUNT                       | BURMY_FORM_COUNT                      | *BURMY_FORM_MAX
 WORMADAM_FORM_PLANT                    | WORMADAM_FORM_PLANT                   | *WORMADAM_PLANT
 WORMADAM_FORM_SANDY                    | WORMADAM_FORM_SANDY                   | *WORMADAM_SANDY
 WORMADAM_FORM_TRASH                    | WORMADAM_FORM_TRASH                   | *WORMADAM_TRASH
 WORMADAM_FORM_COUNT                    | WORMADAM_FORM_COUNT                   | *WORMADAM_FORM_MAX
 DEOXYS_FORM_NORMAL                     | DEOXYS_FORM_NORMAL                    | *DEOXYS_NORMAL
 DEOXYS_FORM_ATTACK                     | DEOXYS_FORM_ATTACK                    | *DEOXYS_ATTACK
 DEOXYS_FORM_DEFENSE                    | DEOXYS_FORM_DEFENSE                   | *DEOXYS_DEFENSE
 DEOXYS_FORM_SPEED                      | DEOXYS_FORM_SPEED                     | *DEOXYS_SPEED
 DEOXYS_FORM_COUNT                      | DEOXYS_FORM_COUNT                     | *DEOXYS_FORM_MAX
 GIRATINA_FORM_ALTERED                  | GIRATINA_FORM_ALTERED                 | *GIRATINA_ALTERED
 GIRATINA_FORM_ORIGIN                   | GIRATINA_FORM_ORIGIN                  | *GIRATINA_ORIGIN
 GIRATINA_FORM_COUNT                    | GIRATINA_FORM_COUNT                   | *GIRATINA_FORM_MAX
 ROTOM_FORM_BASE                        | ROTOM_FORM_BASE                       | *ROTOM_NORMAL
 ROTOM_FORM_HEAT                        | ROTOM_FORM_HEAT                       | *ROTOM_HEAT
 ROTOM_FORM_WASH                        | ROTOM_FORM_WASH                       | *ROTOM_WASH
 ROTOM_FORM_FROST                       | ROTOM_FORM_FROST                      | *ROTOM_FROST
 ROTOM_FORM_FAN                         | ROTOM_FORM_FAN                        | *ROTOM_FAN
 ROTOM_FORM_MOW                         | ROTOM_FORM_MOW                        | *ROTOM_MOW
 ROTOM_FORM_COUNT                       | ROTOM_FORM_COUNT                      | *ROTOM_FORM_MAX
 SHAYMIN_FORM_LAND                      | SHAYMIN_FORM_LAND                     | *SHAYMIN_LAND
 SHAYMIN_FORM_SKY                       | SHAYMIN_FORM_SKY                      | *SHAYMIN_SKY
 SHAYMIN_FORM_COUNT                     | SHAYMIN_FORM_COUNT                    | *SHAYMIN_FORM_MAX
 SHELLOS_FORM_WEST                      | SHELLOS_FORM_WEST                     | *SHELLOS_WEST
 SHELLOS_FORM_EAST                      | SHELLOS_FORM_EAST                     | *SHELLOS_EAST
 SHELLOS_FORM_COUNT                     | SHELLOS_FORM_COUNT                    | *SHELLOS_FORM_MAX
 GASTRODON_FORM_WEST                    | GASTRODON_FORM_WEST                   | *GASTRODON_WEST
 GASTRODON_FORM_EAST                    | GASTRODON_FORM_EAST                   | *GASTRODON_EAST
 GASTRODON_FORM_COUNT                   | GASTRODON_FORM_COUNT                  | *GASTRODON_FORM_MAX
 CASTFORM_FORM_NORMAL                   | CASTFORM_FORM_NORMAL                  | *CASTFORM_NORMAL
 CASTFORM_FORM_SUNNY                    | CASTFORM_FORM_SUNNY                   | *CASTFORM_SUNNY
 CASTFORM_FORM_RAINY                    | CASTFORM_FORM_RAINY                   | *CASTFORM_RAINY
 CASTFORM_FORM_SNOWY                    | CASTFORM_FORM_SNOWY                   | *CASTFORM_SNOWY
 CASTFORM_FORM_COUNT                    | CASTFORM_FORM_COUNT                   | *CASTFORM_FORM_MAX
 CHERRIM_FORM_OVERCAST                  | CHERRIM_FORM_OVERCAST                 | *CHERRIM_CLOUDY
 CHERRIM_FORM_SUNSHINE                  | CHERRIM_FORM_SUNSHINE                 | *CHERRIM_SUNNY
 CHERRIM_FORM_COUNT                     | CHERRIM_FORM_COUNT                    | *CHERRIM_FORM_MAX
 UNOWN_FORM_A                           | UNOWN_FORM_A                          | *UNOWN_A
 UNOWN_FORM_B                           | UNOWN_FORM_B                          | *UNOWN_B
 UNOWN_FORM_C                           | UNOWN_FORM_C                          | *UNOWN_C
 UNOWN_FORM_D                           | UNOWN_FORM_D                          | *UNOWN_D
 UNOWN_FORM_E                           | UNOWN_FORM_E                          | *UNOWN_E
 UNOWN_FORM_F                           | UNOWN_FORM_F                          | *UNOWN_F
 UNOWN_FORM_G                           | UNOWN_FORM_G                          | *UNOWN_G
 UNOWN_FORM_H                           | UNOWN_FORM_H                          | *UNOWN_H
 UNOWN_FORM_I                           | UNOWN_FORM_I                          | *UNOWN_I
 UNOWN_FORM_J                           | UNOWN_FORM_J                          | *UNOWN_J
 UNOWN_FORM_K                           | UNOWN_FORM_K                          | *UNOWN_K
 UNOWN_FORM_L                           | UNOWN_FORM_L                          | *UNOWN_L
 UNOWN_FORM_M                           | UNOWN_FORM_M                          | *UNOWN_M
 UNOWN_FORM_N                           | UNOWN_FORM_N                          | *UNOWN_N
 UNOWN_FORM_O                           | UNOWN_FORM_O                          | *UNOWN_O
 UNOWN_FORM_P                           | UNOWN_FORM_P                          | *UNOWN_P
 UNOWN_FORM_Q                           | UNOWN_FORM_Q                          | *UNOWN_Q
 UNOWN_FORM_R                           | UNOWN_FORM_R                          | *UNOWN_R
 UNOWN_FORM_S                           | UNOWN_FORM_S                          | *UNOWN_S
 UNOWN_FORM_T                           | UNOWN_FORM_T                          | *UNOWN_T
 UNOWN_FORM_U                           | UNOWN_FORM_U                          | *UNOWN_U
 UNOWN_FORM_V                           | UNOWN_FORM_V                          | *UNOWN_V
 UNOWN_FORM_W                           | UNOWN_FORM_W                          | *UNOWN_W
 UNOWN_FORM_X                           | UNOWN_FORM_X                          | *UNOWN_X
 UNOWN_FORM_Y                           | UNOWN_FORM_Y                          | *UNOWN_Y
 UNOWN_FORM_Z                           | UNOWN_FORM_Z                          | *UNOWN_Z
 UNOWN_FORM_EXCLAMATION_MARK            | UNOWN_FORM_EXCLAMATION_MARK           | *UNOWN_EXCLAMATION_MARK
 UNOWN_FORM_QUESTION_MARK               | UNOWN_FORM_QUESTION_MARK              | *UNOWN_QUESTION_MARK
 UNOWN_FORM_COUNT                       | UNOWN_FORM_COUNT                      | *UNOWN_FORM_MAX
 (n/a)                                  | PICHU_FORM_NORMAL                     | *PICHU_NORMAL
 (n/a)                                  | PICHU_FORM_SPIKY_EAR                  | *PICHU_SPIKY_EAR
 (n/a)                                  | PICHU_FORM_COUNT                      | *PICHU_FORM_MAX
 EGG_FORM_BASE                          | EGG_FORM_BASE                         | *EGG_STANDARD
 EGG_FORM_MANAPHY                       | EGG_FORM_MANAPHY                      | *EGG_MANAPHY
 EGG_FORM_COUNT                         | EGG_FORM_COUNT                        | *EGG_FORM_MAX
Friendship event constants
pokeplatinum                                    | PR                                                | pokeheartgold / pokediamond
                                                |                                                   |
FRIENDSHIP_EVENT_LEVEL_UP                       | FRIENDSHIP_EVENT_LEVEL_UP                         | *FRIENDSHIP_EVENT_GROW_LEVEL
FRIENDSHIP_EVENT_VITAMIN                        | FRIENDSHIP_EVENT_VITAMIN                          | *FRIENDSHIP_EVENT_VITAMIN
FRIENDSHIP_EVENT_BATTLE_ITEM                    | FRIENDSHIP_EVENT_BATTLE_ITEM                      | *FRIENDSHIP_EVENT_BATTLE_ITEM
FRIENDSHIP_EVENT_BEAT_GYM_LEADER_E4_OR_CHAMPION | FRIENDSHIP_EVENT_BEAT_GYM_LEADER_E4_OR_CHAMPION   | *FRIENDSHIP_EVENT_LEAGUE_BATTLE
FRIENDSHIP_EVENT_LEARN_TMHM                     | FRIENDSHIP_EVENT_LEARN_TMHM                       | *FRIENDSHIP_EVENT_LEARN_TMHM
FRIENDSHIP_EVENT_WALK_CYCLE                     | FRIENDSHIP_EVENT_WALK_CYCLE                       | *FRIENDSHIP_EVENT_WALKING
FRIENDSHIP_EVENT_BATTLE_FAINT                   | FRIENDSHIP_EVENT_BATTLE_FAINT                     | *FRIENDSHIP_EVENT_FAINT_SMALL
FRIENDSHIP_EVENT_POISON_SURVIVE                 | FRIENDSHIP_EVENT_POISON_SURVIVE                   | *FRIENDSHIP_EVENT_HEAL_FIELD_PSN
FRIENDSHIP_EVENT_BATTLE_FAINT_HIGH_LVL_DIFF     | FRIENDSHIP_EVENT_BATTLE_FAINT_HIGH_LVL_DIFF       | *FRIENDSHIP_EVENT_FAINT_LARGE
FRIENDSHIP_EVENT_CONTEST_WIN                    | FRIENDSHIP_EVENT_CONTEST_WIN                      | *FRIENDHSIP_EVENT_CONTEST_WIN
FRIENDSHIP_EVENT_COUNT                          | FRIENDSHIP_EVENT_COUNT                            | *FRIENDSHIP_EVENT_NUM

@AsparagusEduardo
Copy link
Contributor Author

AsparagusEduardo commented Dec 26, 2025

New changes below. The description has been updated with everything.
Notes:

  • In the right column, for names that are different in pokediamond compared to pokeheartgold, a "/" has been added to show the difference.
  • In the middle column, functions that have a "(DP)" don't have the suffix in pokediamond. Eg. FunctionDP in pokeplatinum and pokeheartgold is just called Function in pokediamond.
CHANGES
pokeplatinum                        | PR                                    | pokeheartgold / pokediamond
                                    |                                       |
*BoxPokemon_EnterDecryptionContext  | BoxPokemon_UnlockEncryption           | *AcquireBoxMonLock
*BoxPokemon_ExitDecryptionContext   | BoxPokemon_LockEncryption             | *ReleaseBoxMonLock
 Pokemon_InitAndCalcStats           | Pokemon_InitAndCalcStats              | *CreateMonWithFixedIVs
*Pokemon_EnterDecryptionContext     | Pokemon_UnlockEncryption              | *AcquireMonLock
*Pokemon_ExitDecryptionContext      | Pokemon_LockEncryption                | *ReleaseMonLock
*Pokemon_IncreaseValue              | Pokemon_IncreaseData                  | *AddMonData
 Pokemon_IncreaseDataInternal       | Pokemon_IncreaseDataInternal          | *AddMonDataInternal
                                    |                                       |
 SPECIES_BAD_EGG                    | SPECIES_BAD_EGG                       | *SPECIES_MANAPHY_EGG
                                    |                                       |
 struct PokemonSpriteTemplate       | struct PokemonSpriteTemplate          | *struct PokepicTemplate / SomeDrawPokemonStruct
 PokemonSpriteTemplate->narcID      | PokemonSpriteTemplate->narcID         | PokepicTemplate->narcID / SomeDrawPokemonStruct->unk0
 PokemonSpriteTemplate->spindaSpots | PokemonSpriteTemplate->species        | PokepicTemplate->species / SomeDrawPokemonStruct->unk6
 PokemonSpriteTemplate->spindaSpots | PokemonSpriteTemplate->personality    | PokepicTemplate->personality / SomeDrawPokemonStruct->unkC
                                    |                                       |
 Pokemon_BuildSpriteTemplate        | Pokemon_BuildSpriteTemplate           | *GetPokemonSpriteCharAndPlttNarcIds / sub_02068B68
 BoxPokemon_BuildSpriteTemplate     | BoxPokemon_BuildSpriteTemplate        | *GetBoxmonSpriteCharAndPlttNarcIds / sub_02068B70
 Pokemon_BuildSpriteTemplateDP      | Pokemon_BuildSpriteTemplateDP         | N/A
 N/A                                | BoxPokemon_BuildSpriteTemplateDP      | *sub_02070130 / N/A
*BuildPokemonSpriteTemplate         | Species_BuildSpriteTemplate           | *GetMonSpriteCharAndPlttNarcIdsEx / N/A
*BuildPokemonSpriteTemplateDP       | Species_BuildSpriteTemplate(DP)       | *DP_GetMonSpriteCharAndPlttNarcIdsEx / sub_02068C00
                                    |                                       |
 Pokemon_SpriteYOffset              | Pokemon_SpriteYOffset                 | *N/A / sub_02068E14
 BoxPokemon_SpriteYOffset           | BoxPokemon_SpriteYOffset              | *sub_02070854 / sub_02068E1C
*LoadPokemonSpriteYOffset           | Species_LoadSpriteYOffset             | *GetMonPicHeightBySpeciesGenderForm / N/A
*LoadPokemonDPSpriteHeight          | Species_LoadSpriteYOffset(DP)         | *GetMonPicHeightBySpeciesGenderForm_PBR / sub_02068E88
                                    |                                       |
*MAX_FRIENDSHIP_VALUE               | MAX_FRIENDSHIP                        | *FRIENDSHIP_MAX / (new)
*MAX_POKEMON_LEVEL                  | MAX_MON_LEVEL                         | *MAX_LEVEL
                                    |                                       |
 HOLD_EFFECT_ARCEUS_FIGHTING        | HOLD_EFFECT_ARCEUS_FIGHTING           |  HOLD_EFFECT_ARCEUS_FIGHTING / *HOLD_EFFECT_ARCEUS_FIGHT
                                    |                                       |
 MON_DATA_NICKNAME_AND_FLAG         | MON_DATA_NICKNAME_AND_FLAG            | *MON_DATA_NICKNAME_FLAT_COMPARE
                                    |                                       |
 GENDER_RATIO_MALE_ONLY             | GENDER_RATIO_MALE_ONLY                | *MON_RATIO_MALE
 GENDER_RATIO_FEMALE_12_5           | GENDER_RATIO_FEMALE_12_5              | *MON_RATIO_EIGHTH
 GENDER_RATIO_FEMALE_25             | GENDER_RATIO_FEMALE_25                | *MON_RATIO_QUARTER
 GENDER_RATIO_FEMALE_50             | GENDER_RATIO_FEMALE_50                | *MON_RATIO_HALF
 GENDER_RATIO_FEMALE_75             | GENDER_RATIO_FEMALE_75                | *MON_RATIO_THREEQUARTER
 GENDER_RATIO_FEMALE_87_5           | GENDER_RATIO_FEMALE_87_5              | n/a
 GENDER_RATIO_FEMALE_ONLY           | GENDER_RATIO_FEMALE_ONLY              | *MON_RATIO_FEMALE
*GENDER_RATIO_NO_GENDER             | GENDER_RATIO_UNKNOWN                  | *MON_RATIO_UNKNOWN
                                    |                                       |
 ARCEUS_FORM_NORMAL                 | ARCEUS_FORM_NORMAL                    | *ARCEUS_NORMAL
 ARCEUS_FORM_FIST                   | ARCEUS_FORM_FIST                      | *ARCEUS_FIST
 ARCEUS_FORM_SKY                    | ARCEUS_FORM_SKY                       | *ARCEUS_SKY
 ARCEUS_FORM_TOXIC                  | ARCEUS_FORM_TOXIC                     | *ARCEUS_TOXIC
 ARCEUS_FORM_EARTH                  | ARCEUS_FORM_EARTH                     | *ARCEUS_EARTH
 ARCEUS_FORM_STONE                  | ARCEUS_FORM_STONE                     | *ARCEUS_STONE
 ARCEUS_FORM_INSECT                 | ARCEUS_FORM_INSECT                    | *ARCEUS_INSECT
 ARCEUS_FORM_SPOOKY                 | ARCEUS_FORM_SPOOKY                    | *ARCEUS_SPOOKY
 ARCEUS_FORM_IRON                   | ARCEUS_FORM_IRON                      | *ARCEUS_IRON
 ARCEUS_FORM_MYSTERY                | ARCEUS_FORM_MYSTERY                   | *ARCEUS_MYSTERY
 ARCEUS_FORM_FLAME                  | ARCEUS_FORM_FLAME                     | *ARCEUS_FLAME
 ARCEUS_FORM_SPLASH                 | ARCEUS_FORM_SPLASH                    | *ARCEUS_SPLASH
 ARCEUS_FORM_MEADOW                 | ARCEUS_FORM_MEADOW                    | *ARCEUS_MEADOW
 ARCEUS_FORM_ZAP                    | ARCEUS_FORM_ZAP                       | *ARCEUS_ZAP
 ARCEUS_FORM_MIND                   | ARCEUS_FORM_MIND                      | *ARCEUS_MIND
 ARCEUS_FORM_ICICLE                 | ARCEUS_FORM_ICICLE                    | *ARCEUS_ICICLE
 ARCEUS_FORM_DRACO                  | ARCEUS_FORM_DRACO                     | *ARCEUS_DRACO
 ARCEUS_FORM_DREAD                  | ARCEUS_FORM_DREAD                     | *ARCEUS_DREAD
 ARCEUS_FORM_COUNT                  | ARCEUS_FORM_COUNT                     | *ARCEUS_FORM_MAX
 BURMY_FORM_PLANT                   | BURMY_FORM_PLANT                      | *BURMY_PLANT
 BURMY_FORM_SANDY                   | BURMY_FORM_SANDY                      | *BURMY_SANDY
 BURMY_FORM_TRASH                   | BURMY_FORM_TRASH                      | *BURMY_TRASH
 BURMY_FORM_COUNT                   | BURMY_FORM_COUNT                      | *BURMY_FORM_MAX
 WORMADAM_FORM_PLANT                | WORMADAM_FORM_PLANT                   | *WORMADAM_PLANT
 WORMADAM_FORM_SANDY                | WORMADAM_FORM_SANDY                   | *WORMADAM_SANDY
 WORMADAM_FORM_TRASH                | WORMADAM_FORM_TRASH                   | *WORMADAM_TRASH
 WORMADAM_FORM_COUNT                | WORMADAM_FORM_COUNT                   | *WORMADAM_FORM_MAX
 DEOXYS_FORM_NORMAL                 | DEOXYS_FORM_NORMAL                    | *DEOXYS_NORMAL
 DEOXYS_FORM_ATTACK                 | DEOXYS_FORM_ATTACK                    | *DEOXYS_ATTACK
 DEOXYS_FORM_DEFENSE                | DEOXYS_FORM_DEFENSE                   | *DEOXYS_DEFENSE
 DEOXYS_FORM_SPEED                  | DEOXYS_FORM_SPEED                     | *DEOXYS_SPEED
 DEOXYS_FORM_COUNT                  | DEOXYS_FORM_COUNT                     | *DEOXYS_FORM_MAX
 GIRATINA_FORM_ALTERED              | GIRATINA_FORM_ALTERED                 | *GIRATINA_ALTERED
 GIRATINA_FORM_ORIGIN               | GIRATINA_FORM_ORIGIN                  | *GIRATINA_ORIGIN
 GIRATINA_FORM_COUNT                | GIRATINA_FORM_COUNT                   | *GIRATINA_FORM_MAX
 ROTOM_FORM_NORMAL                  | ROTOM_FORM_NORMAL                     | *ROTOM_NORMAL
 ROTOM_FORM_HEAT                    | ROTOM_FORM_HEAT                       | *ROTOM_HEAT
 ROTOM_FORM_WASH                    | ROTOM_FORM_WASH                       | *ROTOM_WASH
 ROTOM_FORM_FROST                   | ROTOM_FORM_FROST                      | *ROTOM_FROST
 ROTOM_FORM_FAN                     | ROTOM_FORM_FAN                        | *ROTOM_FAN
 ROTOM_FORM_MOW                     | ROTOM_FORM_MOW                        | *ROTOM_MOW
 ROTOM_FORM_COUNT                   | ROTOM_FORM_COUNT                      | *ROTOM_FORM_MAX
 SHAYMIN_FORM_LAND                  | SHAYMIN_FORM_LAND                     | *SHAYMIN_LAND
 SHAYMIN_FORM_SKY                   | SHAYMIN_FORM_SKY                      | *SHAYMIN_SKY
 SHAYMIN_FORM_COUNT                 | SHAYMIN_FORM_COUNT                    | *SHAYMIN_FORM_MAX
 SHELLOS_FORM_WEST                  | SHELLOS_FORM_WEST                     | *SHELLOS_WEST
 SHELLOS_FORM_EAST                  | SHELLOS_FORM_EAST                     | *SHELLOS_EAST
 SHELLOS_FORM_COUNT                 | SHELLOS_FORM_COUNT                    | *SHELLOS_FORM_MAX
 GASTRODON_FORM_WEST                | GASTRODON_FORM_WEST                   | *GASTRODON_WEST
 GASTRODON_FORM_EAST                | GASTRODON_FORM_EAST                   | *GASTRODON_EAST
 GASTRODON_FORM_COUNT               | GASTRODON_FORM_COUNT                  | *GASTRODON_FORM_MAX
 CASTFORM_FORM_NORMAL               | CASTFORM_FORM_NORMAL                  | *CASTFORM_NORMAL
 CASTFORM_FORM_SUNNY                | CASTFORM_FORM_SUNNY                   | *CASTFORM_SUNNY
 CASTFORM_FORM_RAINY                | CASTFORM_FORM_RAINY                   | *CASTFORM_RAINY
 CASTFORM_FORM_SNOWY                | CASTFORM_FORM_SNOWY                   | *CASTFORM_SNOWY
 CASTFORM_FORM_COUNT                | CASTFORM_FORM_COUNT                   | *CASTFORM_FORM_MAX
 CHERRIM_FORM_OVERCAST              | CHERRIM_FORM_OVERCAST                 | *CHERRIM_CLOUDY
 CHERRIM_FORM_SUNSHINE              | CHERRIM_FORM_SUNSHINE                 | *CHERRIM_SUNNY
 CHERRIM_FORM_COUNT                 | CHERRIM_FORM_COUNT                    | *CHERRIM_FORM_MAX
 UNOWN_FORM_A                       | UNOWN_FORM_A                          | *UNOWN_A
 UNOWN_FORM_B                       | UNOWN_FORM_B                          | *UNOWN_B
 UNOWN_FORM_C                       | UNOWN_FORM_C                          | *UNOWN_C
 UNOWN_FORM_D                       | UNOWN_FORM_D                          | *UNOWN_D
 UNOWN_FORM_E                       | UNOWN_FORM_E                          | *UNOWN_E
 UNOWN_FORM_F                       | UNOWN_FORM_F                          | *UNOWN_F
 UNOWN_FORM_G                       | UNOWN_FORM_G                          | *UNOWN_G
 UNOWN_FORM_H                       | UNOWN_FORM_H                          | *UNOWN_H
 UNOWN_FORM_I                       | UNOWN_FORM_I                          | *UNOWN_I
 UNOWN_FORM_J                       | UNOWN_FORM_J                          | *UNOWN_J
 UNOWN_FORM_K                       | UNOWN_FORM_K                          | *UNOWN_K
 UNOWN_FORM_L                       | UNOWN_FORM_L                          | *UNOWN_L
 UNOWN_FORM_M                       | UNOWN_FORM_M                          | *UNOWN_M
 UNOWN_FORM_N                       | UNOWN_FORM_N                          | *UNOWN_N
 UNOWN_FORM_O                       | UNOWN_FORM_O                          | *UNOWN_O
 UNOWN_FORM_P                       | UNOWN_FORM_P                          | *UNOWN_P
 UNOWN_FORM_Q                       | UNOWN_FORM_Q                          | *UNOWN_Q
 UNOWN_FORM_R                       | UNOWN_FORM_R                          | *UNOWN_R
 UNOWN_FORM_S                       | UNOWN_FORM_S                          | *UNOWN_S
 UNOWN_FORM_T                       | UNOWN_FORM_T                          | *UNOWN_T
 UNOWN_FORM_U                       | UNOWN_FORM_U                          | *UNOWN_U
 UNOWN_FORM_V                       | UNOWN_FORM_V                          | *UNOWN_V
 UNOWN_FORM_W                       | UNOWN_FORM_W                          | *UNOWN_W
 UNOWN_FORM_X                       | UNOWN_FORM_X                          | *UNOWN_X
 UNOWN_FORM_Y                       | UNOWN_FORM_Y                          | *UNOWN_Y
 UNOWN_FORM_Z                       | UNOWN_FORM_Z                          | *UNOWN_Z
 UNOWN_FORM_EXCLAMATION_MARK        | UNOWN_FORM_EXCLAMATION_MARK           | *UNOWN_EXCLAMATION_MARK
 UNOWN_FORM_QUESTION_MARK           | UNOWN_FORM_QUESTION_MARK              | *UNOWN_QUESTION_MARK
 UNOWN_FORM_COUNT                   | UNOWN_FORM_COUNT                      | *UNOWN_FORM_MAX
 PICHU_FORM_NORMAL                  | PICHU_FORM_NORMAL                     | *PICHU_NORMAL
 PICHU_FORM_SPIKY_EAR               | PICHU_FORM_SPIKY_EAR                  | *PICHU_SPIKY_EAR
 PICHU_FORM_COUNT                   | PICHU_FORM_COUNT                      | *PICHU_FORM_MAX
*EGG_FORM_BASE                      | EGG_FORM_NORMAL                       | *EGG_STANDARD
 EGG_FORM_MANAPHY                   | EGG_FORM_MANAPHY                      | *EGG_MANAPHY
 EGG_FORM_COUNT                     | EGG_FORM_COUNT                        | *EGG_FORM_MAX

@AsparagusEduardo
Copy link
Contributor Author

AsparagusEduardo commented Dec 27, 2025

New set of changes. As always, the description was updated as well:

CHANGES
*BoxPokemon_CalcAbility                 | BoxPokemon_UpdateAbility              | *UpdateBoxMonAbility / sub_0206A1CC
*sub_0207884C                           | BoxPokemon_BelongsToPlayer            | *BoxmonBelongsToPlayer / sub_0206A9AC
 BoxPokemon_GetDataBlock                | BoxPokemon_GetDataBlock               | *GetSubstruct
*Pokemon_StructSize                     | Pokemon_Size                          | *SizeOfStructPokemon
*Pokemon_GetStructSize                  | Pokemon_Size2                         | *sub_02070D90 / sub_020690C4
*Pokemon_CalcAbility                    | Pokemon_UpdateAbility                 | *UpdateMonAbility / sub_0206A1C4
*Pokemon_GiveHeldItem                   | Pokemon_GiveWildHeldItem              | *WildMonSetRandomHeldItem / sub_0206A094
*sub_020780C4                           | Pokemon_SetPersonality                | *SetMonPersonality / sub_0206A23C
*Pokemon_GetFormNarcIndex               | Species_GetFormNarcIndex              | *ResolveMonForm
 (n/a)                                  | Personality_ChangeNatureGenderAbility | *ChangePersonalityToNatureGenderAndAbility
 sNatureFlavorAffinities                | sNatureFlavorAffinities               | *sFlavorPreferencesByNature
 NATURE_COUNT                           | NATURE_COUNT                          |  NATURE_NUM / (new)
*FLAVOR_MAX                             | FLAVOR_COUNT                          | *FLAVOR_MAX / (new)
 Pokemon_GetFlavorAffinity              | Pokemon_GetFlavorAffinity             | *MonGetFlavorPreference
 BoxPokemon_GetFlavorAffinity           | BoxPokemon_GetFlavorAffinity          | *BoxMonGetFlavorPreference
*Pokemon_GetFlavorAffinityOf            | Personality_GetFlavorAffinity         | *GetFlavorPreferenceFromPID
*Pokemon_ApplyPokerus                   | Party_GivePokerusAtRandom             |  Party_GivePokerusAtRandom
*Pokemon_HasPokerus                     | Party_MaskHasPokerus                  | *Party_MaskMonsWithPokerus
*Party_UpdatePokerusStatus              | Party_UpdatePokerus                   |  Party_UpdatePokerus
*Pokemon_ValidatePokerus                | Party_SpreadPokerus                   |  Party_SpreadPokerus
*Pokemon_InfectedWithPokerus            | Pokemon_HasPokerus                    |  Pokemon_HasPokerus
*IsBoxPokemonInfectedWithPokerus        | BoxPokemon_HasPokerus                 | *BoxMon_HasPokerus
*Pokemon_HasCuredPokerus                | Pokemon_IsImmuneToPokerus             |  Pokemon_IsImmuneToPokerus
*BoxPokemonHasCuredPokerus              | BoxPokemon_IsImmuneToPokerus          | *BoxMon_IsImmuneToPokerus
                                        |                                       |
*Pokemon_GetArceusTypeOf                | HoldEffect_GetArceusType              | *GetArceusTypeByHeldItemEffect
*Pokemon_SetArceusForm                  | Pokemon_UpdateArceusForm              |  Pokemon_UpdateArceusForm
*BoxPokemon_SetArceusForm               | BoxPokemon_UpdateArceusForm           | *BoxMon_UpdateArceusForm / (n/a)
*Pokemon_SetGiratinaFormByHeldItem      | Pokemon_UpdateGiratinaForm            | *Mon_UpdateGiratinaForm / (n/a)
*BoxPokemon_SetGiratinaForm             | BoxPokemon_UpdateGiratinaForm         | *BoxMon_UpdateGiratinaForm / (n/a)
*Pokemon_SetGiratinaOriginForm          | Pokemon_ForceSetGiratinaOriginForm    | *Mon_ForceSetGiratinaOriginForm / (n/a)
*Party_SetGiratinaForm                  | Party_UpdateGiratinaForms             | *Party_UpdateAllGiratina_DistortionWorld / (n/a)
*Pokemon_SetShayminForm                 | Pokemon_UpdateShayminForm             | *Mon_UpdateShayminForm / (n/a)
*BoxPokemon_SetShayminForm              | BoxPokemon_UpdateShayminForm          | *BoxMon_UpdateShayminForm / (n/a)
 Pokemon_CanShayminSkyForm              | Pokemon_CanShayminSkyForm             | *Mon_CanUseGracidea / (n/a)
*Party_SetShayminLandForm               | Party_SetShayminLandForms             | *Party_ResetAllShayminToLandForm / (n/a)
*Party_SetShayminForm                   | Party_UpdateShayminForms              | *Party_TryResetShaymin / 
*Pokemon_SetRotomForm                   | Pokemon_UpdateRotomForm               | *Mon_UpdateRotomForm
                                        |                                       |
*sBattleFrontierBanlist                 | sBattleFacilityBanlist                | *sBattleFrontierBanlist / sLegendaryMonsList
*Pokemon_IsOnBattleFrontierBanlist      | Species_IsBattleFacilityBanned        | *IsPokemonBannedFromBattleFrontier / IsPokemonLegendaryOrMythical
*Pokemon_IsBannedFromBattleFrontier     | Pokemon_IsBattleFacilityBanned        | *MonCheckFrontierIneligibility / sub_0206A998
*Pokemon_GetBattleFrontierBanlistEntry  | BattleFacility_GetBanlistEntry        | GetBannedBattleFrontierPokemon / GetLegendaryMon
*BATTLE_FRONTIER_BANLIST_SIZE           | BATTLE_FACILITY_BANLIST_SIZE          | *NUM_BANNED_BATTLE_FRONTIER / (new)
                                        |                                       |
*Pokemon_GetEvolutionTargetSpecies      | Pokemon_GetEvolutionTarget            | *GetMonEvolution
*LoadSpeciesEvolutions                  | Species_LoadEvolutions                | *LoadMonEvolutionTable
*MAX_EVOLUTIONS                         | MAX_MON_EVOLUTIONS                    | *MAX_EVOS_PER_POKE / (new)
*EVO_TRADE_WITH_HELD_ITEM               | EVO_TRADE_HELD_ITEM                   | *EVO_TRADE_ITEM
 EVO_USE_ITEM                           | EVO_USE_ITEM                          | *EVO_STONE
 EVO_USE_ITEM_MALE                      | EVO_USE_ITEM_MALE                     | *EVO_STONE_MALE
 EVO_USE_ITEM_FEMALE                    | EVO_USE_ITEM_FEMALE                   | *EVO_STONE_FEMALE
*EVO_LEVEL_HAPPINESS                    | EVO_LEVEL_FRIENDSHIP                  | *EVO_FRIENDSHIP
*EVO_LEVEL_HAPPINESS_DAY                | EVO_LEVEL_FRIENDSHIP_DAY              | *EVO_FRIENDSHIP_DAY
*EVO_LEVEL_HAPPINESS_NIGHT              | EVO_LEVEL_FRIENDSHIP_NIGHT            | *EVO_FRIENDSHIP_NIGHT
 EVO_LEVEL_BEAUTY                       | EVO_LEVEL_BEAUTY                      | *EVO_BEAUTY
 EVO_LEVEL_PID_LOW                      | EVO_LEVEL_PID_LOW                     | *EVO_LEVEL_PID_LO
 EVO_LEVEL_PID_HIGH                     | EVO_LEVEL_PID_HIGH                    | *EVO_LEVEL_PID_HI
*EVO_LEVEL_WITH_HELD_ITEM_DAY           | EVO_LEVEL_HELD_ITEM_DAY               | *EVO_ITEM_DAY
*EVO_LEVEL_WITH_HELD_ITEM_NIGHT         | EVO_LEVEL_HELD_ITEM_NIGHT             | *EVO_ITEM_NIGHT
 EVO_LEVEL_KNOW_MOVE                    | EVO_LEVEL_KNOW_MOVE                   | *EVO_HAS_MOVE
 EVO_LEVEL_SPECIES_IN_PARTY             | EVO_LEVEL_SPECIES_IN_PARTY            | *EVO_OTHER_PARTY_MON
 EVO_LEVEL_MAGNETIC_FIELD               | EVO_LEVEL_MAGNETIC_FIELD              | *EVO_CORONET
 EVO_LEVEL_MOSS_ROCK                    | EVO_LEVEL_MOSS_ROCK                   | *EVO_ETERNA
 EVO_LEVEL_ICE_ROCK                     | EVO_LEVEL_ICE_ROCK                    | *EVO_ROUTE217
                                        |                                       |
*EVO_CLASS_BY_LEVEL                     | EVO_CONTEXT_LEVEL_UP                  | *EVOCTX_LEVELUP / (new)
*EVO_CLASS_BY_TRADE                     | EVO_CONTEXT_TRADE                     | *EVOCTX_TRADE / (new)
*EVO_CLASS_UNUSED_02                    | EVO_CONTEXT_ITEM_CHECK                | *EVOCTX_ITEM_CHECK / (new)
*EVO_CLASS_BY_ITEM                      | EVO_CONTEXT_ITEM_USE                  | *EVOCTX_ITEM_USE / (new)
                                        |                                       |
*LEARNED_MOVES_MAX                      | MAX_MON_MOVES                         |  MAX_MON_MOVES
*EVOLVE_FRIENDSHIP_THRESHOLD            | FRIENDSHIP_EVO_THRESHOLD              |  (new)
 EGG_FORM_COUNT                         | EGG_FORM_COUNT                        | *EGG_FORM_MAX
                                        |                                       |
 GENDER_MALE                            | GENDER_MALE                           | *MON_MALE
 GENDER_FEMALE                          | GENDER_FEMALE                         | *MON_FEMALE
 GENDER_NONE                            | GENDER_NONE                           | *MON_GENDERLESS

@AsparagusEduardo AsparagusEduardo changed the title WIP: Sync pokemon.c with pokeplatinum and pokeheartgold Sync pokemon.c with pokeplatinum and pokeheartgold Dec 28, 2025
@AsparagusEduardo AsparagusEduardo marked this pull request as ready for review December 28, 2025 03:50
@AsparagusEduardo
Copy link
Contributor Author

While there's still some work to do, I believe I've reached the point to stop and leave this ready for discussion and review.
I recommend to post any suggestions in the #gen-4-alignment, so mantainers of the other Gen 4 repos can also chip in.
I've split the changes in groups, for ease of reading.

@AsparagusEduardo
Copy link
Contributor Author

Updated PR and description with latest suggestions on the Discord thread.

Note: In the middle column, functions that have "BattleFrontier" in pokeplatinum and pokeheartgold are refered as "BattleTower" in pokediamond.

pokeplatinum                            | PR                                    | pokeheartgold / pokediamond
                                        |                                       |
*BoxPokemon_EnterDecryptionContext      | BoxPokemon_DecryptData                | *AcquireBoxMonLock
*BoxPokemon_ExitDecryptionContext       | BoxPokemon_EncryptData                | *ReleaseBoxMonLock
                                        |                                       |
*Pokemon_EnterDecryptionContext         | Pokemon_DecryptData                   | *AcquireMonLock
*Pokemon_ExitDecryptionContext          | Pokemon_EncryptData                   | *ReleaseMonLock
                                        |                                       |
 sBattleFrontierBanlist                 | sBattle(Facility/Tower)Banlist        |  sBattleFrontierBanlist / *sLegendaryMonsList
*Pokemon_IsOnBattleFrontierBanlist      | Species_IsBattle(Facility/Tower)Banned| *IsPokemonBannedFromBattleFrontier / *IsPokemonLegendaryOrMythical
*Pokemon_IsBannedFromBattleFrontier     | Pokemon_IsBattle(Facility/Tower)Banned| *MonCheckFrontierIneligibility / *sub_0206A998
*Pokemon_GetBattleFrontierBanlistEntry  | Battle(Facility/Tower)_GetBanlistEntry| *GetBannedBattleFrontierPokemon / *GetLegendaryMon
*BATTLE_FRONTIER_BANLIST_SIZE           | BATTLE_(FACILITY/TOWER)_BANLIST_SIZE  | *NUM_BANNED_BATTLE_FRONTIER / (new)

@AsparagusEduardo
Copy link
Contributor Author

Added incoming pokeplatinum name changes (description updated)

CHANGES
pokeplatinum                                    | PR                                                | pokeheartgold / pokediamond
                                                |                                                   |
FRIENDSHIP_EVENT_LEVEL_UP                       | FRIENDSHIP_EVENT_LEVEL_UP                         | *FRIENDSHIP_EVENT_GROW_LEVEL
FRIENDSHIP_EVENT_VITAMIN                        | FRIENDSHIP_EVENT_VITAMIN                          | *FRIENDSHIP_EVENT_VITAMIN
FRIENDSHIP_EVENT_BATTLE_ITEM                    | FRIENDSHIP_EVENT_BATTLE_ITEM                      | *FRIENDSHIP_EVENT_BATTLE_ITEM
FRIENDSHIP_EVENT_BEAT_GYM_LEADER_E4_OR_CHAMPION | FRIENDSHIP_EVENT_BEAT_GYM_LEADER_E4_OR_CHAMPION   | *FRIENDSHIP_EVENT_LEAGUE_BATTLE
FRIENDSHIP_EVENT_LEARN_TMHM                     | FRIENDSHIP_EVENT_LEARN_TMHM                       | *FRIENDSHIP_EVENT_LEARN_TMHM
FRIENDSHIP_EVENT_WALK_CYCLE                     | FRIENDSHIP_EVENT_WALK_CYCLE                       | *FRIENDSHIP_EVENT_WALKING
FRIENDSHIP_EVENT_BATTLE_FAINT                   | FRIENDSHIP_EVENT_BATTLE_FAINT                     | *FRIENDSHIP_EVENT_FAINT_SMALL
FRIENDSHIP_EVENT_POISON_SURVIVE                 | FRIENDSHIP_EVENT_POISON_SURVIVE                   | *FRIENDSHIP_EVENT_HEAL_FIELD_PSN
FRIENDSHIP_EVENT_BATTLE_FAINT_HIGH_LVL_DIFF     | FRIENDSHIP_EVENT_BATTLE_FAINT_HIGH_LVL_DIFF       | *FRIENDSHIP_EVENT_FAINT_LARGE
FRIENDSHIP_EVENT_CONTEST_WIN                    | FRIENDSHIP_EVENT_CONTEST_WIN                      | *FRIENDHSIP_EVENT_CONTEST_WIN
FRIENDSHIP_EVENT_COUNT                          | FRIENDSHIP_EVENT_COUNT                            | *FRIENDSHIP_EVENT_NUM

@AsparagusEduardo
Copy link
Contributor Author

Closing until pokeheartgold is beyond 70% decomped.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant