Merge branch 'master' of https://github.com/pret/pokeemerald into pretmergenewyears

This commit is contained in:
Bassoonian 2023-12-30 20:49:05 +01:00
commit 9e051aa058
63 changed files with 215 additions and 215 deletions

View file

@ -681,7 +681,7 @@ struct BattleStruct
u16 arenaStartHp[2]; u16 arenaStartHp[2];
u8 arenaLostPlayerMons; // Bits for party member, lost as in referee's decision, not by fainting. u8 arenaLostPlayerMons; // Bits for party member, lost as in referee's decision, not by fainting.
u8 arenaLostOpponentMons; u8 arenaLostOpponentMons;
u8 alreadyStatusedMoveAttempt; // As bits for battlers; For example when using Thunder Wave on an already paralyzed pokemon. u8 alreadyStatusedMoveAttempt; // As bits for battlers; For example when using Thunder Wave on an already paralyzed Pokémon.
u8 debugBattler; u8 debugBattler;
u8 magnitudeBasePower; u8 magnitudeBasePower;
u8 presentBasePower; u8 presentBasePower;
@ -955,7 +955,7 @@ struct BattleSpriteData
struct MonSpritesGfx struct MonSpritesGfx
{ {
void *firstDecompressed; // ptr to the decompressed sprite of the first pokemon void *firstDecompressed; // ptr to the decompressed sprite of the first Pokémon
union { union {
void *ptr[MAX_BATTLERS_COUNT]; void *ptr[MAX_BATTLERS_COUNT];
u8 *byte[MAX_BATTLERS_COUNT]; u8 *byte[MAX_BATTLERS_COUNT];

View file

@ -16,12 +16,12 @@
#define PALACE_DATA_WIN_STREAK 1 #define PALACE_DATA_WIN_STREAK 1
#define PALACE_DATA_WIN_STREAK_ACTIVE 2 #define PALACE_DATA_WIN_STREAK_ACTIVE 2
// Pokemon in Battle Palace have a move "group" type preference depending on nature // Pokémon in Battle Palace have a move "group" type preference depending on nature
#define PALACE_MOVE_GROUP_ATTACK 0 #define PALACE_MOVE_GROUP_ATTACK 0
#define PALACE_MOVE_GROUP_DEFENSE 1 #define PALACE_MOVE_GROUP_DEFENSE 1
#define PALACE_MOVE_GROUP_SUPPORT 2 #define PALACE_MOVE_GROUP_SUPPORT 2
// In palace doubles battles pokemon have a target preference depending on nature // In palace doubles battles Pokémon have a target preference depending on nature
#define PALACE_TARGET_STRONGER 0 #define PALACE_TARGET_STRONGER 0
#define PALACE_TARGET_WEAKER 1 #define PALACE_TARGET_WEAKER 1
#define PALACE_TARGET_RANDOM 2 #define PALACE_TARGET_RANDOM 2

View file

@ -62,7 +62,7 @@
#define DEPT_STORE_FLOORNUM_11F 14 #define DEPT_STORE_FLOORNUM_11F 14
#define DEPT_STORE_FLOORNUM_ROOFTOP 15 #define DEPT_STORE_FLOORNUM_ROOFTOP 15
// Lilycove Pokemon Trainer Fan Club // Lilycove Pokémon Trainer Fan Club
#define NUM_TRAINER_FAN_CLUB_MEMBERS 8 #define NUM_TRAINER_FAN_CLUB_MEMBERS 8
#define FANCLUB_GOT_FIRST_FANS 7 #define FANCLUB_GOT_FIRST_FANS 7

View file

@ -9,9 +9,9 @@
// Invalid Versions show as "----------" in Gen 4 and Gen 5's summary screen. // Invalid Versions show as "----------" in Gen 4 and Gen 5's summary screen.
// In Gens 6 and 7, invalid versions instead show "a distant land" in the summary screen. // In Gens 6 and 7, invalid versions instead show "a distant land" in the summary screen.
// In Gen 4 only, migrated Pokemon with Diamond, Pearl, or Platinum's ID show as "----------". // In Gen 4 only, migrated Pokémon with Diamond, Pearl, or Platinum's ID show as "----------".
// Gen 5 and up read Diamond, Pearl, or Platinum's ID as "Sinnoh". // Gen 5 and up read Diamond, Pearl, or Platinum's ID as "Sinnoh".
// In Gen 4 and up, migrated Pokemon with HeartGold or SoulSilver's ID show the otherwise unused "Johto" string. // In Gen 4 and up, migrated Pokémon with HeartGold or SoulSilver's ID show the otherwise unused "Johto" string.
#define VERSION_SAPPHIRE 1 #define VERSION_SAPPHIRE 1
#define VERSION_RUBY 2 #define VERSION_RUBY 2
#define VERSION_EMERALD 3 #define VERSION_EMERALD 3

View file

@ -1,7 +1,7 @@
#ifndef GUARD_CONSTANTS_POKEDEX_H #ifndef GUARD_CONSTANTS_POKEDEX_H
#define GUARD_CONSTANTS_POKEDEX_H #define GUARD_CONSTANTS_POKEDEX_H
// National Pokedex order. // National Pokédex order
// These constants are NOT disabled by P_GEN_X_POKEMON to keep pokedex_orders.h clean. // These constants are NOT disabled by P_GEN_X_POKEMON to keep pokedex_orders.h clean.
enum { enum {
NATIONAL_DEX_NONE, NATIONAL_DEX_NONE,
@ -1062,7 +1062,7 @@ enum {
#define POKEMON_SLOTS_NUMBER (NATIONAL_DEX_COUNT + 1) #define POKEMON_SLOTS_NUMBER (NATIONAL_DEX_COUNT + 1)
// Hoenn Pokedex order // Hoenn Pokédex order
enum { enum {
HOENN_DEX_NONE, HOENN_DEX_NONE,
HOENN_DEX_TREECKO, HOENN_DEX_TREECKO,

View file

@ -1,7 +1,7 @@
#ifndef GUARD_CONSTANTS_POKEMON_H #ifndef GUARD_CONSTANTS_POKEMON_H
#define GUARD_CONSTANTS_POKEMON_H #define GUARD_CONSTANTS_POKEMON_H
// Pokemon types // Pokémon types
#define TYPE_NONE 255 #define TYPE_NONE 255
#define TYPE_NORMAL 0 #define TYPE_NORMAL 0
#define TYPE_FIGHTING 1 #define TYPE_FIGHTING 1
@ -24,7 +24,7 @@
#define TYPE_FAIRY 18 #define TYPE_FAIRY 18
#define NUMBER_OF_MON_TYPES 19 #define NUMBER_OF_MON_TYPES 19
// Pokemon egg groups // Pokémon egg groups
#define EGG_GROUP_NONE 0 #define EGG_GROUP_NONE 0
#define EGG_GROUP_MONSTER 1 #define EGG_GROUP_MONSTER 1
#define EGG_GROUP_WATER_1 2 #define EGG_GROUP_WATER_1 2
@ -44,7 +44,7 @@
#define EGG_GROUPS_PER_MON 2 #define EGG_GROUPS_PER_MON 2
// Pokemon natures // Pokémon natures
#define NATURE_HARDY 0 #define NATURE_HARDY 0
#define NATURE_LONELY 1 #define NATURE_LONELY 1
#define NATURE_BRAVE 2 #define NATURE_BRAVE 2
@ -72,7 +72,7 @@
#define NATURE_QUIRKY 24 #define NATURE_QUIRKY 24
#define NUM_NATURES 25 #define NUM_NATURES 25
// Pokemon Stats // Pokémon Stats
#define STAT_HP 0 #define STAT_HP 0
#define STAT_ATK 1 #define STAT_ATK 1
#define STAT_DEF 2 #define STAT_DEF 2
@ -240,7 +240,7 @@
#define GROWTH_FAST 4 #define GROWTH_FAST 4
#define GROWTH_SLOW 5 #define GROWTH_SLOW 5
// Body colors for pokedex search // Body colors for Pokédex search
#define BODY_COLOR_RED 0 #define BODY_COLOR_RED 0
#define BODY_COLOR_BLUE 1 #define BODY_COLOR_BLUE 1
#define BODY_COLOR_YELLOW 2 #define BODY_COLOR_YELLOW 2
@ -316,7 +316,7 @@
#define MON_PIC_HEIGHT 64 #define MON_PIC_HEIGHT 64
#define MON_PIC_SIZE (MON_PIC_WIDTH * MON_PIC_HEIGHT / 2) #define MON_PIC_SIZE (MON_PIC_WIDTH * MON_PIC_HEIGHT / 2)
// Most pokemon have 2 frames (a default and an alternate for their animation). // Most Pokémon have 2 frames (a default and an alternate for their animation).
// There are 4 exceptions: // There are 4 exceptions:
// - Deoxys has 2 frames, 1 for each form // - Deoxys has 2 frames, 1 for each form
// - Spinda has 1 frame, presumably to avoid the work of animating its spots // - Spinda has 1 frame, presumably to avoid the work of animating its spots

View file

@ -170,7 +170,7 @@
#define NUM_SECRET_BASE_FLAGS 32 // by definition, bitfield of 2 u16s #define NUM_SECRET_BASE_FLAGS 32 // by definition, bitfield of 2 u16s
// TV Show states for Pokemon Contest Live Updates // TV Show states for Pokémon Contest Live Updates
#define CONTESTLIVE_STATE_INTRO 0 #define CONTESTLIVE_STATE_INTRO 0
#define CONTESTLIVE_STATE_WON_BOTH_ROUNDS 1 #define CONTESTLIVE_STATE_WON_BOTH_ROUNDS 1
#define CONTESTLIVE_STATE_BETTER_ROUND2 2 #define CONTESTLIVE_STATE_BETTER_ROUND2 2

View file

@ -214,7 +214,7 @@ struct ContestantStatus
u8 comboAppealBonus; u8 comboAppealBonus;
u8 repeatJam; u8 repeatJam;
u8 nextTurnOrder; // turn position u8 nextTurnOrder; // turn position
u8 attentionLevel; // How much the Pokemon "stood out" u8 attentionLevel; // How much the Pokémon "stood out"
u8 contestantAnimTarget; u8 contestantAnimTarget;
}; };

View file

@ -509,7 +509,7 @@ struct SaveBlock2
/*0x90*/ u8 filler_90[0x8]; /*0x90*/ u8 filler_90[0x8];
/*0x98*/ struct Time localTimeOffset; /*0x98*/ struct Time localTimeOffset;
/*0xA0*/ struct Time lastBerryTreeUpdate; /*0xA0*/ struct Time lastBerryTreeUpdate;
/*0xA8*/ u32 gcnLinkFlags; // Read by Pokemon Colosseum/XD /*0xA8*/ u32 gcnLinkFlags; // Read by Pokémon Colosseum/XD
/*0xAC*/ u32 encryptionKey; /*0xAC*/ u32 encryptionKey;
/*0xB0*/ struct PlayersApprentice playerApprentice; /*0xB0*/ struct PlayersApprentice playerApprentice;
/*0xDC*/ struct Apprentice apprentices[APPRENTICE_COUNT]; /*0xDC*/ struct Apprentice apprentices[APPRENTICE_COUNT];

View file

@ -62,7 +62,7 @@ extern const u32 gBallGfx_Cherish[];
extern const u32 gBallPal_Cherish[]; extern const u32 gBallPal_Cherish[];
extern const u32 gOpenPokeballGfx[]; extern const u32 gOpenPokeballGfx[];
// pokemon gfx // Pokémon gfx
extern const u16 gMonIconPalettes[][16]; extern const u16 gMonIconPalettes[][16];
// pokeblock // pokeblock
@ -278,7 +278,7 @@ extern const u32 gBattleTerrainPalette_StadiumGlacia[];
extern const u32 gBattleTerrainPalette_StadiumDrake[]; extern const u32 gBattleTerrainPalette_StadiumDrake[];
extern const u32 gBattleTerrainPalette_StadiumWallace[]; extern const u32 gBattleTerrainPalette_StadiumWallace[];
// pokedex // Pokédex
extern const u32 gPokedexInterface_Gfx[]; extern const u32 gPokedexInterface_Gfx[];
extern const u16 gPokedexBgHoenn_Pal[]; extern const u16 gPokedexBgHoenn_Pal[];
extern const u32 gPokedexMenu_Gfx[]; extern const u32 gPokedexMenu_Gfx[];
@ -1911,7 +1911,7 @@ extern const u32 gBerryPalette_Rowap[];
extern const u32 gBerryPalette_Kee[]; extern const u32 gBerryPalette_Kee[];
extern const u32 gBerryPalette_Maranga[]; extern const u32 gBerryPalette_Maranga[];
//pokenav //PokéNav
extern const u16 gPokenavCondition_Pal[]; extern const u16 gPokenavCondition_Pal[];
extern const u32 gPokenavCondition_Gfx[]; extern const u32 gPokenavCondition_Gfx[];
extern const u32 gPokenavCondition_Tilemap[]; extern const u32 gPokenavCondition_Tilemap[];
@ -3133,11 +3133,11 @@ extern const u32 gBattleAnimBgImage_Rainbow[];
extern const u32 gBattleAnimBGPalette_Rainbow[]; extern const u32 gBattleAnimBGPalette_Rainbow[];
extern const u32 gBattleAnimBgTilemap_Rainbow[]; extern const u32 gBattleAnimBgTilemap_Rainbow[];
// Pokedex Area Screen // Pokédex Area Screen
extern const u32 gPokedexAreaScreenAreaUnknown_Gfx[]; extern const u32 gPokedexAreaScreenAreaUnknown_Gfx[];
extern const u16 gPokedexAreaScreenAreaUnknown_Pal[]; extern const u16 gPokedexAreaScreenAreaUnknown_Pal[];
// Pokemon Storage System // Pokémon Storage System
extern const u32 gStorageSystemMenu_Gfx[]; extern const u32 gStorageSystemMenu_Gfx[];
extern const u16 gStorageSystemPartyMenu_Pal[]; extern const u16 gStorageSystemPartyMenu_Pal[];
extern const u32 gStorageSystemPartyMenu_Tilemap[]; extern const u32 gStorageSystemPartyMenu_Tilemap[];
@ -3265,7 +3265,7 @@ extern const u32 gBerryCrush_Crusher_Gfx[];
extern const u16 gBerryCrush_Crusher_Pal[]; extern const u16 gBerryCrush_Crusher_Pal[];
extern const u32 gBerryCrush_TextWindows_Tilemap[]; extern const u32 gBerryCrush_TextWindows_Tilemap[];
// Pokenav // PokéNav
extern const u32 gPokenavMessageBox_Gfx[]; extern const u32 gPokenavMessageBox_Gfx[];
extern const u32 gPokenavMessageBox_Tilemap[]; extern const u32 gPokenavMessageBox_Tilemap[];
extern const u16 gPokenavMessageBox_Pal[]; extern const u16 gPokenavMessageBox_Pal[];

View file

@ -17,7 +17,7 @@ void ShowPokemonSummaryScreenHandleDeoxys(u8 mode, struct BoxPokemon *mons, u8 m
u8 GetMoveSlotToReplace(void); u8 GetMoveSlotToReplace(void);
void SummaryScreen_SetAnimDelayTaskId(u8 taskId); void SummaryScreen_SetAnimDelayTaskId(u8 taskId);
// The Pokemon Summary Screen can operate in different modes. Certain features, // The Pokémon Summary Screen can operate in different modes. Certain features,
// such as move re-ordering, are available in the different modes. // such as move re-ordering, are available in the different modes.
enum PokemonSummaryScreenMode enum PokemonSummaryScreenMode
{ {

View file

@ -65,8 +65,8 @@ struct PokenavMonList
enum enum
{ {
POKENAV_MODE_NORMAL, // Chosen from Start menu. POKENAV_MODE_NORMAL, // Chosen from Start menu.
POKENAV_MODE_FORCE_CALL_READY, // Pokenav tutorial before calling Mr. Stone POKENAV_MODE_FORCE_CALL_READY, // PokéNav tutorial before calling Mr. Stone
POKENAV_MODE_FORCE_CALL_EXIT, // Pokenav tutorial after calling Mr. Stone POKENAV_MODE_FORCE_CALL_EXIT, // PokéNav tutorial after calling Mr. Stone
}; };
enum enum
@ -232,8 +232,8 @@ enum
[CHECK_PAGE_INTRO_2] = gText_MatchCall##name##_Intro2} [CHECK_PAGE_INTRO_2] = gText_MatchCall##name##_Intro2}
// Pokenav Function IDs // PokéNav Function IDs
// Indices into the LoopedTask tables for each of the main Pokenav features // Indices into the LoopedTask tables for each of the main PokéNav features
enum RegionMapFuncIds enum RegionMapFuncIds
{ {

View file

@ -524,7 +524,7 @@ extern const u8 gText_Speed[];
extern const u8 gText_Dash[]; extern const u8 gText_Dash[];
extern const u8 gText_Plus[]; extern const u8 gText_Plus[];
//pokedex text //Pokédex text
extern const u8 gText_CryOf[]; extern const u8 gText_CryOf[];
extern const u8 gText_SizeComparedTo[]; extern const u8 gText_SizeComparedTo[];
extern const u8 gText_PokedexRegistration[]; extern const u8 gText_PokedexRegistration[];
@ -1130,7 +1130,7 @@ extern const u8 gTrickHouse_Mechadoll_Six2[];
extern const u8 gTrickHouse_Mechadoll_Seven2[]; extern const u8 gTrickHouse_Mechadoll_Seven2[];
extern const u8 gTrickHouse_Mechadoll_Eight2[]; extern const u8 gTrickHouse_Mechadoll_Eight2[];
// Pokedex strings // Pokédex strings
extern const u8 gText_SearchForPkmnBasedOnParameters[]; extern const u8 gText_SearchForPkmnBasedOnParameters[];
extern const u8 gText_SwitchPokedexListings[]; extern const u8 gText_SwitchPokedexListings[];
extern const u8 gText_ReturnToPokedex[]; extern const u8 gText_ReturnToPokedex[];
@ -2897,7 +2897,7 @@ extern const u8 gText_WantToPlayAgain[];
extern const u8 gText_CommunicationStandby3[]; extern const u8 gText_CommunicationStandby3[];
extern const u8 gText_SomeoneDroppedOut[]; extern const u8 gText_SomeoneDroppedOut[];
// Pokemon jump // Pokémon jump
extern const u8 gText_WantToPlayAgain2[]; extern const u8 gText_WantToPlayAgain2[];
extern const u8 gText_SomeoneDroppedOut2[]; extern const u8 gText_SomeoneDroppedOut2[];
extern const u8 gText_CommunicationStandby4[]; extern const u8 gText_CommunicationStandby4[];
@ -2972,7 +2972,7 @@ extern const u8 gText_CutenessContest[];
extern const u8 gText_SmartnessContest[]; extern const u8 gText_SmartnessContest[];
extern const u8 gText_ToughnessContest[]; extern const u8 gText_ToughnessContest[];
// Pokenav Match Call // PokéNav Match Call
extern const u8 gText_CallCantBeMadeHere[]; extern const u8 gText_CallCantBeMadeHere[];
extern const u8 gText_NumberRegistered[]; extern const u8 gText_NumberRegistered[];
extern const u8 gText_NumberOfBattles[]; extern const u8 gText_NumberOfBattles[];
@ -2982,7 +2982,7 @@ extern const u8 gText_Call[];
extern const u8 gText_Check[]; extern const u8 gText_Check[];
extern const u8 gText_Cancel6[]; extern const u8 gText_Cancel6[];
// Pokenav Menu Handler // PokéNav Menu Handler
extern const u8 gText_CheckMapOfHoenn[]; extern const u8 gText_CheckMapOfHoenn[];
extern const u8 gText_CheckPokemonInDetail[]; extern const u8 gText_CheckPokemonInDetail[];
extern const u8 gText_CallRegisteredTrainer[]; extern const u8 gText_CallRegisteredTrainer[];
@ -2999,7 +2999,7 @@ extern const u8 gText_FindToughPokemon[];
extern const u8 gText_ReturnToConditionMenu[]; extern const u8 gText_ReturnToConditionMenu[];
extern const u8 gText_NoRibbonWinners[]; extern const u8 gText_NoRibbonWinners[];
// Pokenav // PokéNav
extern const u8 gText_NumberIndex[]; extern const u8 gText_NumberIndex[];
extern const u8 gText_RibbonsF700[]; extern const u8 gText_RibbonsF700[];

View file

@ -249,7 +249,7 @@ static bool32 ShouldSwitchIfWonderGuard(u32 battler, bool32 emitResult)
if (GetBattlerAbility(GetBattlerAtPosition(opposingPosition)) != ABILITY_WONDER_GUARD) if (GetBattlerAbility(GetBattlerAtPosition(opposingPosition)) != ABILITY_WONDER_GUARD)
return FALSE; return FALSE;
// Check if Pokemon has a super effective move. // Check if Pokémon has a super effective move.
for (opposingBattler = GetBattlerAtPosition(opposingPosition), i = 0; i < MAX_MON_MOVES; i++) for (opposingBattler = GetBattlerAtPosition(opposingPosition), i = 0; i < MAX_MON_MOVES; i++)
{ {
move = gBattleMons[battler].moves[i]; move = gBattleMons[battler].moves[i];
@ -268,7 +268,7 @@ static bool32 ShouldSwitchIfWonderGuard(u32 battler, bool32 emitResult)
else else
party = gEnemyParty; party = gEnemyParty;
// Find a Pokemon in the party that has a super effective move. // Find a Pokémon in the party that has a super effective move.
for (i = firstId; i < lastId; i++) for (i = firstId; i < lastId; i++)
{ {
if (!IsValidForBattle(&party[i])) if (!IsValidForBattle(&party[i]))
@ -295,7 +295,7 @@ static bool32 ShouldSwitchIfWonderGuard(u32 battler, bool32 emitResult)
} }
} }
return FALSE; // There is not a single Pokemon in the party that has a super effective move against a mon with Wonder Guard. return FALSE; // There is not a single Pokémon in the party that has a super effective move against a mon with Wonder Guard.
} }
static bool32 FindMonThatAbsorbsOpponentsMove(u32 battler, bool32 emitResult) static bool32 FindMonThatAbsorbsOpponentsMove(u32 battler, bool32 emitResult)

View file

@ -543,7 +543,7 @@ static void SlideMonToOriginalPos_Step(struct Sprite *sprite)
} }
// Linearly translates a mon to a target offset. The horizontal offset // Linearly translates a mon to a target offset. The horizontal offset
// is mirrored for the opponent's pokemon, and the vertical offset // is mirrored for the opponent's Pokémon, and the vertical offset
// is only mirrored if arg 3 is set to 1. // is only mirrored if arg 3 is set to 1.
// arg 0: 0 = attacker, 1 = target // arg 0: 0 = attacker, 1 = target
// arg 1: target x pixel offset // arg 1: target x pixel offset

View file

@ -52,7 +52,7 @@ const struct UCoords8 sBattlerCoords[][MAX_BATTLERS_COUNT] =
}, },
}; };
// Placeholders for pokemon sprites to be created for a move animation effect (e.g. Role Play / Snatch) // Placeholders for Pokémon sprites to be created for a move animation effect (e.g. Role Play / Snatch)
#define TAG_MOVE_EFFECT_MON_1 55125 #define TAG_MOVE_EFFECT_MON_1 55125
#define TAG_MOVE_EFFECT_MON_2 55126 #define TAG_MOVE_EFFECT_MON_2 55126
@ -2052,7 +2052,7 @@ u8 GetBattlerSpriteBGPriorityRank(u8 battlerId)
return 1; return 1;
} }
// Create pokemon sprite to be used for a move animation effect (e.g. Role Play / Snatch) // Create Pokémon sprite to be used for a move animation effect (e.g. Role Play / Snatch)
u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 x, s16 y, u8 subpriority, u32 personality, bool8 isShiny, u32 battlerId) u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 x, s16 y, u8 subpriority, u32 personality, bool8 isShiny, u32 battlerId)
{ {
u8 spriteId; u8 spriteId;

View file

@ -1279,12 +1279,12 @@ static void Intro_TryShinyAnimShowHealthbox(u32 battler)
bool32 bgmRestored = FALSE; bool32 bgmRestored = FALSE;
bool32 battlerAnimsDone = FALSE; bool32 battlerAnimsDone = FALSE;
// Start shiny animation if applicable for 1st pokemon // Start shiny animation if applicable for 1st Pokémon
if (!gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim if (!gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim
&& !gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive) && !gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive)
TryShinyAnimation(battler, &gPlayerParty[gBattlerPartyIndexes[battler]]); TryShinyAnimation(battler, &gPlayerParty[gBattlerPartyIndexes[battler]]);
// Start shiny animation if applicable for 2nd pokemon // Start shiny animation if applicable for 2nd Pokémon
if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].triedShinyMonAnim if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].triedShinyMonAnim
&& !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].ballAnimActive) && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].ballAnimActive)
TryShinyAnimation(BATTLE_PARTNER(battler), &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]]); TryShinyAnimation(BATTLE_PARTNER(battler), &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]]);

View file

@ -2224,7 +2224,7 @@ static void CreateDomeOpponentMon(u8 monPartyId, u16 tournamentTrainerId, u8 tou
#ifdef BUGFIX #ifdef BUGFIX
u8 fixedIv = GetDomeTrainerMonIvs(DOME_TRAINERS[tournamentTrainerId].trainerId); u8 fixedIv = GetDomeTrainerMonIvs(DOME_TRAINERS[tournamentTrainerId].trainerId);
#else #else
u8 fixedIv = GetDomeTrainerMonIvs(tournamentTrainerId); // BUG: Using the wrong ID. As a result, all Pokemon have ivs of 3. u8 fixedIv = GetDomeTrainerMonIvs(tournamentTrainerId); // BUG: Using the wrong ID. As a result, all Pokémon have ivs of 3.
#endif #endif
u8 level = SetFacilityPtrsGetLevel(); u8 level = SetFacilityPtrsGetLevel();
CreateMonWithEVSpreadNatureOTID(&gEnemyParty[monPartyId], CreateMonWithEVSpreadNatureOTID(&gEnemyParty[monPartyId],
@ -2286,13 +2286,13 @@ static void CreateDomeOpponentMons(u16 tournamentTrainerId)
} }
} }
// Returns a bitmask representing which 2 of the trainer's 3 pokemon to select. // Returns a bitmask representing which 2 of the trainer's 3 Pokémon to select.
// The choice is calculated solely depending on the type effectiveness of their // The choice is calculated solely depending on the type effectiveness of their
// movesets against the player's pokemon. // movesets against the player's Pokémon.
// There is a 50% chance of either a "good" or "bad" selection mode being used. // There is a 50% chance of either a "good" or "bad" selection mode being used.
// In the good mode movesets are preferred which are more effective against the // In the good mode movesets are preferred which are more effective against the
// player, and in the bad mode the opposite is true. If all 3 pokemon tie, the // player, and in the bad mode the opposite is true. If all 3 Pokémon tie, the
// other mode will be tried. If they tie again, the pokemon selection is random. // other mode will be tried. If they tie again, the Pokémon selection is random.
int GetDomeTrainerSelectedMons(u16 tournamentTrainerId) int GetDomeTrainerSelectedMons(u16 tournamentTrainerId)
{ {
int selectedMonBits; int selectedMonBits;
@ -4747,7 +4747,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
if (lost[1]) if (lost[1])
gSprites[sInfoCard->spriteIds[1 + arrId]].oam.paletteNum = 3; gSprites[sInfoCard->spriteIds[1 + arrId]].oam.paletteNum = 3;
// Draw left trainer's pokemon icons. // Draw left trainer's Pokémon icons.
for (i = 0; i < FRONTIER_PARTY_SIZE; i++) for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{ {
if (trainerIds[0] == TRAINER_PLAYER) if (trainerIds[0] == TRAINER_PLAYER)
@ -4787,7 +4787,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
} }
} }
// Draw right trainer's pokemon icons. // Draw right trainer's Pokémon icons.
for (i = 0; i < FRONTIER_PARTY_SIZE; i++) for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{ {
if (trainerIds[1] == TRAINER_PLAYER) if (trainerIds[1] == TRAINER_PLAYER)
@ -5138,7 +5138,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun
int movePower = 0; int movePower = 0;
SetFacilityPtrsGetLevel(); SetFacilityPtrsGetLevel();
// Calc move points of all 4 moves for all 3 pokemon hitting all 3 target mons. // Calc move points of all 4 moves for all 3 Pokémon hitting all 3 target mons.
for (i = 0; i < FRONTIER_PARTY_SIZE; i++) for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{ {
for (j = 0; j < MAX_MON_MOVES; j++) for (j = 0; j < MAX_MON_MOVES; j++)

View file

@ -337,7 +337,7 @@ static void GenerateOpponentMons(void)
if (gFacilityTrainerMons[monId].species == SPECIES_UNOWN) if (gFacilityTrainerMons[monId].species == SPECIES_UNOWN)
continue; continue;
// Ensure none of the opponent's pokemon are the same as the potential rental pokemon for the player // Ensure none of the opponent's Pokémon are the same as the potential rental Pokémon for the player
for (j = 0; j < (int)ARRAY_COUNT(gSaveBlock2Ptr->frontier.rentalMons); j++) for (j = 0; j < (int)ARRAY_COUNT(gSaveBlock2Ptr->frontier.rentalMons); j++)
{ {
if (gFacilityTrainerMons[monId].species == gFacilityTrainerMons[gSaveBlock2Ptr->frontier.rentalMons[j].monId].species) if (gFacilityTrainerMons[monId].species == gFacilityTrainerMons[gSaveBlock2Ptr->frontier.rentalMons[j].monId].species)
@ -346,7 +346,7 @@ static void GenerateOpponentMons(void)
if (j != (int)ARRAY_COUNT(gSaveBlock2Ptr->frontier.rentalMons)) if (j != (int)ARRAY_COUNT(gSaveBlock2Ptr->frontier.rentalMons))
continue; continue;
// "High tier" pokemon are only allowed on open level mode // "High tier" Pokémon are only allowed on open level mode
if (lvlMode == FRONTIER_LVL_50 && monId > FRONTIER_MONS_HIGH_TIER) if (lvlMode == FRONTIER_LVL_50 && monId > FRONTIER_MONS_HIGH_TIER)
continue; continue;
@ -554,7 +554,7 @@ static void GenerateInitialRentalMons(void)
i = 0; i = 0;
while (i != PARTY_SIZE) while (i != PARTY_SIZE)
{ {
if (i < rentalRank) // The more times the player has rented, the more initial rentals are generated from a better set of pokemon if (i < rentalRank) // The more times the player has rented, the more initial rentals are generated from a better set of Pokémon
monId = GetFactoryMonId(factoryLvlMode, challengeNum, TRUE); monId = GetFactoryMonId(factoryLvlMode, challengeNum, TRUE);
else else
monId = GetFactoryMonId(factoryLvlMode, challengeNum, FALSE); monId = GetFactoryMonId(factoryLvlMode, challengeNum, FALSE);
@ -562,7 +562,7 @@ static void GenerateInitialRentalMons(void)
if (gFacilityTrainerMons[monId].species == SPECIES_UNOWN) if (gFacilityTrainerMons[monId].species == SPECIES_UNOWN)
continue; continue;
// Cannot have two pokemon of the same species. // Cannot have two Pokémon of the same species.
for (j = firstMonId; j < firstMonId + i; j++) for (j = firstMonId; j < firstMonId + i; j++)
{ {
u16 existingMonId = monIds[j]; u16 existingMonId = monIds[j];

View file

@ -32,15 +32,15 @@
#include "constants/songs.h" #include "constants/songs.h"
#include "constants/rgb.h" #include "constants/rgb.h"
// Select_ refers to the first Pokemon selection screen where you choose your initial 3 rental Pokemon. // Select_ refers to the first Pokémon selection screen where you choose your initial 3 rental Pokémon.
// Swap_ refers to the subsequent selection screens where you can swap a Pokemon with one from the beaten trainer // Swap_ refers to the subsequent selection screens where you can swap a Pokémon with one from the beaten trainer
// Note that, generally, "Action" will refer to the immediate actions that can be taken on each screen, // Note that, generally, "Action" will refer to the immediate actions that can be taken on each screen,
// i.e. selecting a pokemon or selecting the Cancel button // i.e. selecting a Pokémon or selecting the Cancel button
// The "Options menu" will refer to the popup menu that shows when some actions have been selected // The "Options menu" will refer to the popup menu that shows when some actions have been selected
#define SWAP_PLAYER_SCREEN 0 // The screen where the player selects which of their pokemon to swap away #define SWAP_PLAYER_SCREEN 0 // The screen where the player selects which of their Pokémon to swap away
#define SWAP_ENEMY_SCREEN 1 // The screen where the player selects which new pokemon from the defeated party to swap for #define SWAP_ENEMY_SCREEN 1 // The screen where the player selects which new Pokémon from the defeated party to swap for
#define SELECTABLE_MONS_COUNT 6 #define SELECTABLE_MONS_COUNT 6
@ -89,7 +89,7 @@ struct FactorySelectableMon
{ {
u16 monId; u16 monId;
u16 ballSpriteId; u16 ballSpriteId;
u8 selectedId; // 0 - not selected, 1 - first pokemon, 2 - second pokemon, 3 - third pokemon u8 selectedId; // 0 - not selected, 1 - first Pokémon, 2 - second Pokémon, 3 - third Pokémon
struct Pokemon monData; struct Pokemon monData;
}; };
@ -1060,7 +1060,7 @@ static void SpriteCB_Pokeball(struct Sprite *sprite)
{ {
if (sprite->oam.paletteNum == IndexOfSpritePaletteTag(PALTAG_BALL_SELECTED)) if (sprite->oam.paletteNum == IndexOfSpritePaletteTag(PALTAG_BALL_SELECTED))
{ {
// Pokeball selected, do rocking animation // Poké Ball selected, do rocking animation
if (sprite->animEnded) if (sprite->animEnded)
{ {
if (sprite->data[0] != 0) if (sprite->data[0] != 0)
@ -1084,7 +1084,7 @@ static void SpriteCB_Pokeball(struct Sprite *sprite)
} }
else else
{ {
// Pokeball not selected, remain still // Poké Ball not selected, remain still
StartSpriteAnimIfDifferent(sprite, 0); StartSpriteAnimIfDifferent(sprite, 0);
} }
} }
@ -1521,7 +1521,7 @@ static void Select_Task_Exit(u8 taskId)
} }
} }
// Handles the Yes/No prompt when confirming the 3 selected rental pokemon // Handles the Yes/No prompt when confirming the 3 selected rental Pokémon
static void Select_Task_HandleYesNo(u8 taskId) static void Select_Task_HandleYesNo(u8 taskId)
{ {
if (sFactorySelectScreen->monPicAnimating == TRUE) if (sFactorySelectScreen->monPicAnimating == TRUE)
@ -1543,14 +1543,14 @@ static void Select_Task_HandleYesNo(u8 taskId)
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
if (sFactorySelectScreen->yesNoCursorPos == 0) if (sFactorySelectScreen->yesNoCursorPos == 0)
{ {
// Selected Yes, confirmed selected pokemon // Selected Yes, confirmed selected Pokémon
Select_HideChosenMons(); Select_HideChosenMons();
gTasks[taskId].tState = 0; gTasks[taskId].tState = 0;
gTasks[taskId].func = Select_Task_Exit; gTasks[taskId].func = Select_Task_Exit;
} }
else else
{ {
// Selected No, continue choosing pokemon // Selected No, continue choosing Pokémon
Select_ErasePopupMenu(SELECT_WIN_YES_NO); Select_ErasePopupMenu(SELECT_WIN_YES_NO);
Select_DeclineChosenMons(); Select_DeclineChosenMons();
sFactorySelectScreen->fadeSpeciesNameActive = TRUE; sFactorySelectScreen->fadeSpeciesNameActive = TRUE;
@ -1560,7 +1560,7 @@ static void Select_Task_HandleYesNo(u8 taskId)
} }
else if (JOY_NEW(B_BUTTON)) else if (JOY_NEW(B_BUTTON))
{ {
// Pressed B, Continue choosing pokemon // Pressed B, Continue choosing Pokémon
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
Select_ErasePopupMenu(SELECT_WIN_YES_NO); Select_ErasePopupMenu(SELECT_WIN_YES_NO);
Select_DeclineChosenMons(); Select_DeclineChosenMons();
@ -1582,7 +1582,7 @@ static void Select_Task_HandleYesNo(u8 taskId)
} }
} }
// Handles the popup menu that shows when a pokemon is selected // Handles the popup menu that shows when a Pokémon is selected
static void Select_Task_HandleMenu(u8 taskId) static void Select_Task_HandleMenu(u8 taskId)
{ {
switch (gTasks[taskId].tState) switch (gTasks[taskId].tState)
@ -2416,7 +2416,7 @@ static void Swap_Task_Exit(u8 taskId)
{ {
case 0: case 0:
// Set return value for script // Set return value for script
// TRUE if player kept their current pokemon // TRUE if player kept their current Pokémon
if (sFactorySwapScreen->monSwapped == TRUE) if (sFactorySwapScreen->monSwapped == TRUE)
{ {
gTasks[taskId].tState++; gTasks[taskId].tState++;
@ -2631,7 +2631,7 @@ static void Swap_Task_HandleMenu(u8 taskId)
} }
} }
// Handles input on the two main swap screens (choosing a current pokeon to get rid of, and choosing a new pokemon to receive) // Handles input on the two main swap screens (choosing a current pokeon to get rid of, and choosing a new Pokémon to receive)
static void Swap_Task_HandleChooseMons(u8 taskId) static void Swap_Task_HandleChooseMons(u8 taskId)
{ {
switch (gTasks[taskId].tState) switch (gTasks[taskId].tState)
@ -2646,7 +2646,7 @@ static void Swap_Task_HandleChooseMons(u8 taskId)
case STATE_CHOOSE_MONS_HANDLE_INPUT: case STATE_CHOOSE_MONS_HANDLE_INPUT:
if (JOY_NEW(A_BUTTON)) if (JOY_NEW(A_BUTTON))
{ {
// Run whatever action is currently selected (a pokeball, the Cancel button, etc.) // Run whatever action is currently selected (a Poké Ball, the Cancel button, etc.)
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
sFactorySwapScreen->fadeSpeciesNameActive = FALSE; sFactorySwapScreen->fadeSpeciesNameActive = FALSE;
Swap_PrintMonSpeciesAtFade(); Swap_PrintMonSpeciesAtFade();
@ -3554,7 +3554,7 @@ static void Swap_HandleActionCursorChange(u8 cursorId)
{ {
if (cursorId < FRONTIER_PARTY_SIZE) if (cursorId < FRONTIER_PARTY_SIZE)
{ {
// Cursor is on one of the pokemon // Cursor is on one of the Pokémon
gSprites[sFactorySwapScreen->cursorSpriteId].invisible = FALSE; gSprites[sFactorySwapScreen->cursorSpriteId].invisible = FALSE;
Swap_HideActionButtonHighlights(); Swap_HideActionButtonHighlights();
gSprites[sFactorySwapScreen->cursorSpriteId].x = gSprites[sFactorySwapScreen->ballSpriteIds[cursorId]].x; gSprites[sFactorySwapScreen->cursorSpriteId].x = gSprites[sFactorySwapScreen->ballSpriteIds[cursorId]].x;

View file

@ -103,7 +103,7 @@ void FreeBattleSpritesData(void)
FREE_AND_SET_NULL(gBattleSpritesDataPtr); FREE_AND_SET_NULL(gBattleSpritesDataPtr);
} }
// Pokemon chooses move to use in Battle Palace rather than player // Pokémon chooses move to use in Battle Palace rather than player
u16 ChooseMoveAndTargetInBattlePalace(u32 battler) u16 ChooseMoveAndTargetInBattlePalace(u32 battler)
{ {
s32 i, var1, var2; s32 i, var1, var2;
@ -163,7 +163,7 @@ u16 ChooseMoveAndTargetInBattlePalace(u32 battler)
chosenMoveId = BattleAI_ChooseMoveOrAction(); chosenMoveId = BattleAI_ChooseMoveOrAction();
} }
// If no moves matched the selected group, pick a new move from groups the pokemon has // If no moves matched the selected group, pick a new move from groups the Pokémon has
// In this case the AI is not checked again, so the choice may be worse // In this case the AI is not checked again, so the choice may be worse
// If a move is chosen this way, there's a 50% chance that it will be unable to use it anyway // If a move is chosen this way, there's a 50% chance that it will be unable to use it anyway
if (chosenMoveId == -1 || chosenMoveId >= MAX_MON_MOVES) if (chosenMoveId == -1 || chosenMoveId >= MAX_MON_MOVES)
@ -356,7 +356,7 @@ static u16 GetBattlePalaceTarget(u32 battler)
return BATTLE_OPPOSITE(battler) << 8; return BATTLE_OPPOSITE(battler) << 8;
} }
// Wait for the pokemon to finish appearing out from the pokeball on send out // Wait for the Pokémon to finish appearing out from the Poké Ball on send out
void SpriteCB_WaitForBattlerBallReleaseAnim(struct Sprite *sprite) void SpriteCB_WaitForBattlerBallReleaseAnim(struct Sprite *sprite)
{ {
u8 spriteId = sprite->data[1]; u8 spriteId = sprite->data[1];

View file

@ -2924,7 +2924,7 @@ void BufferStringBattle(u16 stringID, u32 battler)
} }
} }
break; break;
case STRINGID_USEDMOVE: // pokemon used a move msg case STRINGID_USEDMOVE: // Pokémon used a move msg
if (gBattleStruct->zmove.active && gBattleStruct->zmove.activeCategory != BATTLE_CATEGORY_STATUS) if (gBattleStruct->zmove.active && gBattleStruct->zmove.activeCategory != BATTLE_CATEGORY_STATUS)
StringCopy(gBattleTextBuff3, GetZMoveName(gBattleMsgDataPtr->currentMove)); StringCopy(gBattleTextBuff3, GetZMoveName(gBattleMsgDataPtr->currentMove));
else if (IsMaxMove(gBattleMsgDataPtr->currentMove)) else if (IsMaxMove(gBattleMsgDataPtr->currentMove))
@ -3239,7 +3239,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
{ {
u32 dstID = 0; // if they used dstID, why not use srcID as well? u32 dstID = 0; // if they used dstID, why not use srcID as well?
const u8 *toCpy = NULL; const u8 *toCpy = NULL;
// This buffer may hold either the name of a trainer, pokemon, or item. // This buffer may hold either the name of a trainer, Pokémon, or item.
u8 text[max(max(max(32, TRAINER_NAME_LENGTH + 1), POKEMON_NAME_LENGTH + 1), ITEM_NAME_LENGTH)]; u8 text[max(max(max(32, TRAINER_NAME_LENGTH + 1), POKEMON_NAME_LENGTH + 1), ITEM_NAME_LENGTH)];
u8 multiplayerId; u8 multiplayerId;

View file

@ -1268,7 +1268,7 @@ static void TryHealMons(u8 healCount)
for (i = 0; i < FRONTIER_PARTY_SIZE; i++) for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
indices[i] = i; indices[i] = i;
// Only 'healCount' number of pokemon will be healed. // Only 'healCount' number of Pokémon will be healed.
// The order in which they're (attempted to be) healed is random, // The order in which they're (attempted to be) healed is random,
Shuffle(indices, FRONTIER_PARTY_SIZE, sizeof(indices[0])); Shuffle(indices, FRONTIER_PARTY_SIZE, sizeof(indices[0]));

View file

@ -4246,7 +4246,7 @@ static void Cmd_getexp(void)
if (IsTradedMon(&gPlayerParty[*expMonId])) if (IsTradedMon(&gPlayerParty[*expMonId]))
{ {
// check if the pokemon doesn't belong to the player // check if the Pokémon doesn't belong to the player
if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && *expMonId >= 3) if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && *expMonId >= 3)
i = STRINGID_EMPTYSTRING4; i = STRINGID_EMPTYSTRING4;
else else
@ -5759,7 +5759,7 @@ static void Cmd_moveend(void)
} }
gBattleScripting.moveendState++; gBattleScripting.moveendState++;
break; break;
case MOVEEND_NEXT_TARGET: // For moves hitting two opposing Pokemon. case MOVEEND_NEXT_TARGET: // For moves hitting two opposing Pokémon.
{ {
u16 moveTarget = GetBattlerMoveTargetType(gBattlerAttacker, gCurrentMove); u16 moveTarget = GetBattlerMoveTargetType(gBattlerAttacker, gCurrentMove);
// Set a flag if move hits either target (for throat spray that can't check damage) // Set a flag if move hits either target (for throat spray that can't check damage)
@ -11820,7 +11820,7 @@ static void Cmd_forcerandomswitch(void)
{ {
firstMonId = 0; firstMonId = 0;
lastMonId = PARTY_SIZE; lastMonId = PARTY_SIZE;
battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; // there is only one pokemon out in single battles battler2PartyId = gBattlerPartyIndexes[gBattlerTarget]; // there is only one Pokémon out in single battles
battler1PartyId = gBattlerPartyIndexes[gBattlerTarget]; battler1PartyId = gBattlerPartyIndexes[gBattlerTarget];
} }
@ -12370,7 +12370,7 @@ static void Cmd_setsubstitute(void)
} }
else else
{ {
gBattleMoveDamage = GetNonDynamaxMaxHP(gBattlerAttacker) / 4; // one bit value will only work for pokemon which max hp can go to 1020(which is more than possible in games) gBattleMoveDamage = GetNonDynamaxMaxHP(gBattlerAttacker) / 4; // one bit value will only work for Pokémon which max hp can go to 1020(which is more than possible in games)
if (gBattleMoveDamage == 0) if (gBattleMoveDamage == 0)
gBattleMoveDamage = 1; gBattleMoveDamage = 1;
@ -13866,7 +13866,7 @@ static void Cmd_tryswapitems(void)
{ {
gBattlescriptCurrInstr = cmd->failInstr; gBattlescriptCurrInstr = cmd->failInstr;
} }
// can't swap if two pokemon don't have an item // can't swap if two Pokémon don't have an item
// or if either of them is an enigma berry or a mail // or if either of them is an enigma berry or a mail
else if ((gBattleMons[gBattlerAttacker].item == ITEM_NONE && gBattleMons[gBattlerTarget].item == ITEM_NONE) else if ((gBattleMons[gBattlerAttacker].item == ITEM_NONE && gBattleMons[gBattlerTarget].item == ITEM_NONE)
|| !CanBattlerGetOrLoseItem(gBattlerAttacker, gBattleMons[gBattlerAttacker].item) || !CanBattlerGetOrLoseItem(gBattlerAttacker, gBattleMons[gBattlerAttacker].item)

View file

@ -111,7 +111,7 @@ EWRAM_DATA static u8 *sTrainerBBattleScriptRetAddr = NULL;
EWRAM_DATA static bool8 sShouldCheckTrainerBScript = FALSE; EWRAM_DATA static bool8 sShouldCheckTrainerBScript = FALSE;
EWRAM_DATA static u8 sNoOfPossibleTrainerRetScripts = 0; EWRAM_DATA static u8 sNoOfPossibleTrainerRetScripts = 0;
// The first transition is used if the enemy pokemon are lower level than our pokemon. // The first transition is used if the enemy Pokémon are lower level than our Pokémon.
// Otherwise, the second transition is used. // Otherwise, the second transition is used.
static const u8 sBattleTransitionTable_Wild[][2] = static const u8 sBattleTransitionTable_Wild[][2] =
{ {
@ -908,7 +908,7 @@ u8 GetTrainerBattleTransition(void)
return B_TRANSITION_AQUA; return B_TRANSITION_AQUA;
if (gTrainers[gTrainerBattleOpponent_A].doubleBattle == TRUE) if (gTrainers[gTrainerBattleOpponent_A].doubleBattle == TRUE)
minPartyCount = 2; // double battles always at least have 2 pokemon. minPartyCount = 2; // double battles always at least have 2 Pokémon.
else else
minPartyCount = 1; minPartyCount = 1;

View file

@ -309,7 +309,7 @@ static void GenerateInitialRentalMons(void)
i = 0; i = 0;
while (i != PARTY_SIZE) while (i != PARTY_SIZE)
{ {
// Cannot have two pokemon of the same species. // Cannot have two Pokémon of the same species.
monSetId = Random() % NUM_SLATEPORT_TENT_MONS; monSetId = Random() % NUM_SLATEPORT_TENT_MONS;
for (j = firstMonId; j < firstMonId + i; j++) for (j = firstMonId; j < firstMonId + i; j++)
{ {
@ -390,7 +390,7 @@ static void GenerateOpponentMons(void)
{ {
sRandMonId = monSet[Random() % numMons]; sRandMonId = monSet[Random() % numMons];
// Ensure none of the opponent's pokemon are the same as the potential rental pokemon for the player // Ensure none of the opponent's Pokémon are the same as the potential rental Pokémon for the player
for (j = 0; j < (int)ARRAY_COUNT(gSaveBlock2Ptr->frontier.rentalMons); j++) for (j = 0; j < (int)ARRAY_COUNT(gSaveBlock2Ptr->frontier.rentalMons); j++)
{ {
if (gFacilityTrainerMons[sRandMonId].species == gFacilityTrainerMons[gSaveBlock2Ptr->frontier.rentalMons[j].monId].species) if (gFacilityTrainerMons[sRandMonId].species == gFacilityTrainerMons[gSaveBlock2Ptr->frontier.rentalMons[j].monId].species)

View file

@ -1646,8 +1646,8 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
} }
// Regular battle frontier trainer. // Regular battle frontier trainer.
// Attempt to fill the trainer's party with random Pokemon until 3 have been // Attempt to fill the trainer's party with random Pokémon until 3 have been
// successfully chosen. The trainer's party may not have duplicate pokemon species // successfully chosen. The trainer's party may not have duplicate Pokémon species
// or duplicate held items. // or duplicate held items.
for (bfMonCount = 0; monSet[bfMonCount] != 0xFFFF; bfMonCount++) for (bfMonCount = 0; monSet[bfMonCount] != 0xFFFF; bfMonCount++)
; ;
@ -1657,12 +1657,12 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
{ {
u16 monId = monSet[Random() % bfMonCount]; u16 monId = monSet[Random() % bfMonCount];
// "High tier" pokemon are only allowed on open level mode // "High tier" Pokémon are only allowed on open level mode
// 20 is not a possible value for level here // 20 is not a possible value for level here
if ((level == FRONTIER_MAX_LEVEL_50 || level == 20) && monId > FRONTIER_MONS_HIGH_TIER) if ((level == FRONTIER_MAX_LEVEL_50 || level == 20) && monId > FRONTIER_MONS_HIGH_TIER)
continue; continue;
// Ensure this pokemon species isn't a duplicate. // Ensure this Pokémon species isn't a duplicate.
for (j = 0; j < i + firstMonId; j++) for (j = 0; j < i + firstMonId; j++)
{ {
if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monId].species) if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monId].species)
@ -1681,7 +1681,7 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
if (j != i + firstMonId) if (j != i + firstMonId)
continue; continue;
// Ensure this exact pokemon index isn't a duplicate. This check doesn't seem necessary // Ensure this exact Pokémon index isn't a duplicate. This check doesn't seem necessary
// because the species and held items were already checked directly above. // because the species and held items were already checked directly above.
for (j = 0; j < i; j++) for (j = 0; j < i; j++)
{ {
@ -1693,7 +1693,7 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
chosenMonIndices[i] = monId; chosenMonIndices[i] = monId;
// Place the chosen pokemon into the trainer's party. // Place the chosen Pokémon into the trainer's party.
CreateMonWithEVSpreadNatureOTID(&gEnemyParty[i + firstMonId], CreateMonWithEVSpreadNatureOTID(&gEnemyParty[i + firstMonId],
gFacilityTrainerMons[monId].species, gFacilityTrainerMons[monId].species,
level, level,
@ -1703,7 +1703,7 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
otID); otID);
friendship = MAX_FRIENDSHIP; friendship = MAX_FRIENDSHIP;
// Give the chosen pokemon its specified moves. // Give the chosen Pokémon its specified moves.
for (j = 0; j < MAX_MON_MOVES; j++) for (j = 0; j < MAX_MON_MOVES; j++)
{ {
SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monId].moves[j], j); SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monId].moves[j], j);
@ -1714,7 +1714,7 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_FRIENDSHIP, &friendship); SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_FRIENDSHIP, &friendship);
SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]); SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]);
// The pokemon was successfully added to the trainer's party, so it's safe to move on to // The Pokémon was successfully added to the trainer's party, so it's safe to move on to
// the next party slot. // the next party slot.
i++; i++;
} }
@ -1770,7 +1770,7 @@ u16 GetRandomFrontierMonFromSet(u16 trainerId)
do do
{ {
// "High tier" pokemon are only allowed on open level mode // "High tier" Pokémon are only allowed on open level mode
// 20 is not a possible value for level here // 20 is not a possible value for level here
monId = monSet[Random() % numMons]; monId = monSet[Random() % numMons];
} while((level == FRONTIER_MAX_LEVEL_50 || level == 20) && monId > FRONTIER_MONS_HIGH_TIER); } while((level == FRONTIER_MAX_LEVEL_50 || level == 20) && monId > FRONTIER_MONS_HIGH_TIER);
@ -2443,8 +2443,8 @@ static void GetPotentialPartnerMoveAndSpecies(u16 trainerId, u16 monId)
// These partners can be an NPC or a former/record-mixed Apprentice // These partners can be an NPC or a former/record-mixed Apprentice
// When talked to, their response consists of: // When talked to, their response consists of:
// PARTNER_MSGID_INTRO - A greeting // PARTNER_MSGID_INTRO - A greeting
// PARTNER_MSGID_MON1 - Naming one pokemon on their team, and a move it has // PARTNER_MSGID_MON1 - Naming one Pokémon on their team, and a move it has
// PARTNER_MSGID_MON2_ASK - Naming a second pokemon on their team, a move it has, and asking if they'd like to be their partner // PARTNER_MSGID_MON2_ASK - Naming a second Pokémon on their team, a move it has, and asking if they'd like to be their partner
// PARTNER_MSGID_ACCEPT - If the player agrees to be their partner // PARTNER_MSGID_ACCEPT - If the player agrees to be their partner
// PARTNER_MSGID_REJECT - If the player declines to be their partner // PARTNER_MSGID_REJECT - If the player declines to be their partner
static void ShowPartnerCandidateMessage(void) static void ShowPartnerCandidateMessage(void)
@ -2762,7 +2762,7 @@ static void AwardBattleTowerRibbons(void)
#ifdef BUGFIX #ifdef BUGFIX
struct RibbonCounter ribbons[MAX_FRONTIER_PARTY_SIZE]; struct RibbonCounter ribbons[MAX_FRONTIER_PARTY_SIZE];
#else #else
struct RibbonCounter ribbons[3]; // BUG: 4 Pokemon can receive ribbons in a double battle mode. struct RibbonCounter ribbons[3]; // BUG: 4 Pokémon can receive ribbons in a double battle mode.
#endif #endif
u8 ribbonType = 0; u8 ribbonType = 0;
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
@ -3458,7 +3458,7 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount)
{ {
u16 monId = monSet[Random() % bfMonCount]; u16 monId = monSet[Random() % bfMonCount];
// Ensure this pokemon species isn't a duplicate. // Ensure this Pokémon species isn't a duplicate.
for (j = 0; j < i + firstMonId; j++) for (j = 0; j < i + firstMonId; j++)
{ {
if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monId].species) if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monId].species)
@ -3477,7 +3477,7 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount)
if (j != i + firstMonId) if (j != i + firstMonId)
continue; continue;
// Ensure this exact pokemon index isn't a duplicate. This check doesn't seem necessary // Ensure this exact Pokémon index isn't a duplicate. This check doesn't seem necessary
// because the species and held items were already checked directly above. // because the species and held items were already checked directly above.
for (j = 0; j < i; j++) for (j = 0; j < i; j++)
{ {
@ -3489,7 +3489,7 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount)
chosenMonIndices[i] = monId; chosenMonIndices[i] = monId;
// Place the chosen pokemon into the trainer's party. // Place the chosen Pokémon into the trainer's party.
CreateMonWithEVSpreadNatureOTID(&gEnemyParty[i + firstMonId], CreateMonWithEVSpreadNatureOTID(&gEnemyParty[i + firstMonId],
gFacilityTrainerMons[monId].species, gFacilityTrainerMons[monId].species,
level, level,
@ -3499,7 +3499,7 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount)
otID); otID);
friendship = MAX_FRIENDSHIP; friendship = MAX_FRIENDSHIP;
// Give the chosen pokemon its specified moves. // Give the chosen Pokémon its specified moves.
for (j = 0; j < MAX_MON_MOVES; j++) for (j = 0; j < MAX_MON_MOVES; j++)
{ {
SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monId].moves[j], j); SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monId].moves[j], j);
@ -3510,7 +3510,7 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount)
SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_FRIENDSHIP, &friendship); SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_FRIENDSHIP, &friendship);
SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]); SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]);
// The pokemon was successfully added to the trainer's party, so it's safe to move on to // The Pokémon was successfully added to the trainer's party, so it's safe to move on to
// the next party slot. // the next party slot.
i++; i++;
} }

View file

@ -699,7 +699,7 @@ static const u16 *const sPointsArray[] =
}; };
// Points will always be calculated for these messages // Points will always be calculated for these messages
// even if current pokemon does not have corresponding move // even if current Pokémon does not have corresponding move
static const u16 sSpecialBattleStrings[] = static const u16 sSpecialBattleStrings[] =
{ {
STRINGID_PKMNPERISHCOUNTFELL, STRINGID_PKMNWISHCAMETRUE, STRINGID_PKMNLOSTPPGRUDGE, STRINGID_PKMNPERISHCOUNTFELL, STRINGID_PKMNWISHCAMETRUE, STRINGID_PKMNLOSTPPGRUDGE,

View file

@ -2870,7 +2870,7 @@ u8 DoBattlerEndTurnEffects(void)
{ {
MAGIC_GUARD_CHECK; MAGIC_GUARD_CHECK;
// R/S does not perform this sleep check, which causes the nightmare effect to // R/S does not perform this sleep check, which causes the nightmare effect to
// persist even after the affected Pokemon has been awakened by Shed Skin. // persist even after the affected Pokémon has been awakened by Shed Skin.
if (gBattleMons[battler].status1 & STATUS1_SLEEP) if (gBattleMons[battler].status1 & STATUS1_SLEEP)
{ {
gBattleMoveDamage = GetNonDynamaxMaxHP(battler) / 4; gBattleMoveDamage = GetNonDynamaxMaxHP(battler) / 4;
@ -2959,7 +2959,7 @@ u8 DoBattlerEndTurnEffects(void)
} }
if (gBattlerAttacker != gBattlersCount) if (gBattlerAttacker != gBattlersCount)
{ {
effect = 2; // a pokemon was awaken effect = 2; // a Pokémon was awaken
break; break;
} }
else else
@ -3023,7 +3023,7 @@ u8 DoBattlerEndTurnEffects(void)
if (gDisableStructs[battler].disabledMove == gBattleMons[battler].moves[i]) if (gDisableStructs[battler].disabledMove == gBattleMons[battler].moves[i])
break; break;
} }
if (i == MAX_MON_MOVES) // pokemon does not have the disabled move anymore if (i == MAX_MON_MOVES) // Pokémon does not have the disabled move anymore
{ {
gDisableStructs[battler].disabledMove = 0; gDisableStructs[battler].disabledMove = 0;
gDisableStructs[battler].disableTimer = 0; gDisableStructs[battler].disableTimer = 0;
@ -3040,7 +3040,7 @@ u8 DoBattlerEndTurnEffects(void)
case ENDTURN_ENCORE: // encore case ENDTURN_ENCORE: // encore
if (gDisableStructs[battler].encoreTimer != 0) if (gDisableStructs[battler].encoreTimer != 0)
{ {
if (gBattleMons[battler].moves[gDisableStructs[battler].encoredMovePos] != gDisableStructs[battler].encoredMove) // pokemon does not have the encored move anymore if (gBattleMons[battler].moves[gDisableStructs[battler].encoredMovePos] != gDisableStructs[battler].encoredMove) // Pokémon does not have the encored move anymore
{ {
gDisableStructs[battler].encoredMove = 0; gDisableStructs[battler].encoredMove = 0;
gDisableStructs[battler].encoreTimer = 0; gDisableStructs[battler].encoreTimer = 0;
@ -6146,7 +6146,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32
if (gBattleMons[i].ability == ABILITY_TRACE && (gBattleResources->flags->flags[i] & RESOURCE_FLAG_TRACED)) if (gBattleMons[i].ability == ABILITY_TRACE && (gBattleResources->flags->flags[i] & RESOURCE_FLAG_TRACED))
{ {
u32 chosenTarget; u32 chosenTarget;
u32 side = (BATTLE_OPPOSITE(GetBattlerPosition(i))) & BIT_SIDE; // side of the opposing pokemon u32 side = (BATTLE_OPPOSITE(GetBattlerPosition(i))) & BIT_SIDE; // side of the opposing Pokémon
u32 target1 = GetBattlerAtPosition(side); u32 target1 = GetBattlerAtPosition(side);
u32 target2 = GetBattlerAtPosition(side + BIT_FLANK); u32 target2 = GetBattlerAtPosition(side + BIT_FLANK);

View file

@ -20,7 +20,7 @@ bool16 ScriptGetPokedexInfo(void)
return IsNationalPokedexEnabled(); return IsNationalPokedexEnabled();
} }
// This shows your Hoenn Pokedex rating and not your National Dex. // This shows your Hoenn Pokédex rating and not your National Dex.
const u8 *GetPokedexRatingText(u16 count) const u8 *GetPokedexRatingText(u16 count)
{ {
if (count < 10) if (count < 10)

View file

@ -194,7 +194,7 @@ static void SwapMoveDescAndContestTilemaps(void);
#define CONTESTANT_TEXT_COLOR_START 10 #define CONTESTANT_TEXT_COLOR_START 10
enum { enum {
// The "{Pokemon Name} / {Trainer Name}" windows. // The "{Pokémon Name} / {Trainer Name}" windows.
WIN_CONTESTANT0_NAME, WIN_CONTESTANT0_NAME,
WIN_CONTESTANT1_NAME, WIN_CONTESTANT1_NAME,
WIN_CONTESTANT2_NAME, WIN_CONTESTANT2_NAME,
@ -3429,11 +3429,11 @@ static void RankContestants(void)
// For each contestant, find the best rank with their point total. // For each contestant, find the best rank with their point total.
// Normally, each point total is different, and this will output the // Normally, each point total is different, and this will output the
// rankings as expected. However, if two pokemon are tied, then they // rankings as expected. However, if two Pokémon are tied, then they
// both get the best rank for that point total. // both get the best rank for that point total.
// //
// For example if the point totals are [100, 80, 80, 50], the ranks will // For example if the point totals are [100, 80, 80, 50], the ranks will
// be [1, 2, 2, 4]. The pokemon with a point total of 80 stop looking // be [1, 2, 2, 4]. The Pokémon with a point total of 80 stop looking
// when they see the first 80 in the array, so they both share the '2' // when they see the first 80 in the array, so they both share the '2'
// rank. // rank.
for (i = 0; i < CONTESTANT_COUNT; i++) for (i = 0; i < CONTESTANT_COUNT; i++)
@ -4585,10 +4585,10 @@ void MakeContestantNervous(u8 p)
// ContestantStatus::nextTurnOrder field of each contestant. The remaining // ContestantStatus::nextTurnOrder field of each contestant. The remaining
// turns are assigned such that the turn order will reverse. // turns are assigned such that the turn order will reverse.
// //
// For example, if no pokemon have a defined nextTurnOrder, then the 4th // For example, if no Pokémon have a defined nextTurnOrder, then the 4th
// will become 1st, the 3rd will become 2nd, etc. // will become 1st, the 3rd will become 2nd, etc.
// //
// Note: This function assumes that multiple pokemon cannot have the same // Note: This function assumes that multiple Pokémon cannot have the same
// nextTurnOrder value. // nextTurnOrder value.
static void ApplyNextTurnOrder(void) static void ApplyNextTurnOrder(void)
{ {

View file

@ -64,12 +64,12 @@ enum {
struct CreditsData struct CreditsData
{ {
u16 monToShow[NUM_MON_SLIDES]; // List of Pokemon species ids that will show during the credits u16 monToShow[NUM_MON_SLIDES]; // List of Pokémon species ids that will show during the credits
u16 imgCounter; //how many mon images have been shown u16 imgCounter; //how many mon images have been shown
u16 nextImgPos; //if the next image spawns left/center/right u16 nextImgPos; //if the next image spawns left/center/right
u16 currShownMon; //index into monToShow u16 currShownMon; //index into monToShow
u16 numMonToShow; //number of pokemon to show, always NUM_MON_SLIDES after determine function u16 numMonToShow; //number of Pokémon to show, always NUM_MON_SLIDES after determine function
u16 caughtMonIds[NATIONAL_DEX_COUNT]; //temporary location to hold a condensed array of all caught pokemon u16 caughtMonIds[NATIONAL_DEX_COUNT]; //temporary location to hold a condensed array of all caught Pokémon
u16 numCaughtMon; //count of filled spaces in caughtMonIds u16 numCaughtMon; //count of filled spaces in caughtMonIds
u16 unused[7]; u16 unused[7];
}; };
@ -1556,8 +1556,8 @@ static void DeterminePokemonToShow(void)
u16 dexNum; u16 dexNum;
u16 j; u16 j;
// Go through the Pokedex, and anything that has gotten caught we put into our massive array. // Go through the Pokédex, and anything that has gotten caught we put into our massive array.
// This basically packs all of the caught pokemon into the front of the array // This basically packs all of the caught Pokémon into the front of the array
for (dexNum = 1, j = 0; dexNum < NATIONAL_DEX_COUNT; dexNum++) for (dexNum = 1, j = 0; dexNum < NATIONAL_DEX_COUNT; dexNum++)
{ {
if (GetSetPokedexFlag(dexNum, FLAG_GET_CAUGHT)) if (GetSetPokedexFlag(dexNum, FLAG_GET_CAUGHT))
@ -1571,14 +1571,14 @@ static void DeterminePokemonToShow(void)
for (dexNum = j; dexNum < NATIONAL_DEX_COUNT; dexNum++) for (dexNum = j; dexNum < NATIONAL_DEX_COUNT; dexNum++)
sCreditsData->caughtMonIds[dexNum] = NATIONAL_DEX_NONE; sCreditsData->caughtMonIds[dexNum] = NATIONAL_DEX_NONE;
// Cap the number of pokemon we care about to NUM_MON_SLIDES, the max we show in the credits scene (-1 for the starter) // Cap the number of Pokémon we care about to NUM_MON_SLIDES, the max we show in the credits scene (-1 for the starter)
sCreditsData->numCaughtMon = j; sCreditsData->numCaughtMon = j;
if (sCreditsData->numCaughtMon < NUM_MON_SLIDES) if (sCreditsData->numCaughtMon < NUM_MON_SLIDES)
sCreditsData->numMonToShow = j; sCreditsData->numMonToShow = j;
else else
sCreditsData->numMonToShow = NUM_MON_SLIDES; sCreditsData->numMonToShow = NUM_MON_SLIDES;
// Loop through our list of caught pokemon and select randomly from it to fill the images to show // Loop through our list of caught Pokémon and select randomly from it to fill the images to show
j = 0; j = 0;
do do
{ {
@ -1599,7 +1599,7 @@ static void DeterminePokemonToShow(void)
} }
while (sCreditsData->numCaughtMon != 0 && j < NUM_MON_SLIDES); while (sCreditsData->numCaughtMon != 0 && j < NUM_MON_SLIDES);
// If we don't have enough pokemon in the dex to fill everything, copy the selected mon into the end of the array, so it loops // If we don't have enough Pokémon in the dex to fill everything, copy the selected mon into the end of the array, so it loops
if (sCreditsData->numMonToShow < NUM_MON_SLIDES) if (sCreditsData->numMonToShow < NUM_MON_SLIDES)
{ {
for (j = sCreditsData->numMonToShow, page = 0; j < NUM_MON_SLIDES; j++) for (j = sCreditsData->numMonToShow, page = 0; j < NUM_MON_SLIDES; j++)
@ -1610,7 +1610,7 @@ static void DeterminePokemonToShow(void)
if (page == sCreditsData->numMonToShow) if (page == sCreditsData->numMonToShow)
page = 0; page = 0;
} }
// Ensure the last pokemon is our starter // Ensure the last Pokémon is our starter
sCreditsData->monToShow[NUM_MON_SLIDES - 1] = starter; sCreditsData->monToShow[NUM_MON_SLIDES - 1] = starter;
} }
else else
@ -1618,7 +1618,7 @@ static void DeterminePokemonToShow(void)
// Check to see if our starter has already appeared in this list, break if it has // Check to see if our starter has already appeared in this list, break if it has
for (dexNum = 0; sCreditsData->monToShow[dexNum] != starter && dexNum < NUM_MON_SLIDES; dexNum++); for (dexNum = 0; sCreditsData->monToShow[dexNum] != starter && dexNum < NUM_MON_SLIDES; dexNum++);
// If it has, swap it with the last pokemon, to ensure our starter is the last image // If it has, swap it with the last Pokémon, to ensure our starter is the last image
if (dexNum < sCreditsData->numMonToShow - 1) if (dexNum < sCreditsData->numMonToShow - 1)
{ {
sCreditsData->monToShow[dexNum] = sCreditsData->monToShow[NUM_MON_SLIDES-1]; sCreditsData->monToShow[dexNum] = sCreditsData->monToShow[NUM_MON_SLIDES-1];
@ -1626,7 +1626,7 @@ static void DeterminePokemonToShow(void)
} }
else else
{ {
// Ensure the last pokemon is our starter // Ensure the last Pokémon is our starter
sCreditsData->monToShow[NUM_MON_SLIDES - 1] = starter; sCreditsData->monToShow[NUM_MON_SLIDES - 1] = starter;
} }
} }

View file

@ -4172,7 +4172,7 @@
FRONTIER_MON_##lastmon##_10,\ FRONTIER_MON_##lastmon##_10,\
-1 -1
// The strong Psychic M/F trainers all use the below pokemon // The strong Psychic M/F trainers all use the below Pokémon
// Additionally they use 1 of 3 legendary trios, and Latios or Latias depending on gender // Additionally they use 1 of 3 legendary trios, and Latios or Latias depending on gender
#define FRONTIER_MONS_PSYCHIC_2(lati, legend1, legend2, legend3) \ #define FRONTIER_MONS_PSYCHIC_2(lati, legend1, legend2, legend3) \
FRONTIER_MON_WOBBUFFET_1, \ FRONTIER_MON_WOBBUFFET_1, \

View file

@ -64,7 +64,7 @@ static const struct PartyMenuBoxInfoRects sPartyBoxInfoRects[] =
// Each layout array has an array for each of the 6 party slots // Each layout array has an array for each of the 6 party slots
// The array for each slot has the sprite coords of its various sprites in the following order // The array for each slot has the sprite coords of its various sprites in the following order
// Pokemon icon (x, y), held item (x, y), status condition (x, y), menu pokeball (x, y) // Pokémon icon (x, y), held item (x, y), status condition (x, y), menu Poké Ball (x, y)
static const u8 sPartyMenuSpriteCoords[PARTY_LAYOUT_COUNT][PARTY_SIZE][4 * 2] = static const u8 sPartyMenuSpriteCoords[PARTY_LAYOUT_COUNT][PARTY_SIZE][4 * 2] =
{ {
[PARTY_LAYOUT_SINGLE] = [PARTY_LAYOUT_SINGLE] =
@ -953,7 +953,7 @@ static const struct CompressedSpritePalette sSpritePalette_MenuPokeball =
gPartyMenuPokeball_Pal, TAG_POKEBALL gPartyMenuPokeball_Pal, TAG_POKEBALL
}; };
// Used for the pokeball sprite on each party slot / Cancel button // Used for the Poké Ball sprite on each party slot / Cancel button
static const struct SpriteTemplate sSpriteTemplate_MenuPokeball = static const struct SpriteTemplate sSpriteTemplate_MenuPokeball =
{ {
.tileTag = TAG_POKEBALL, .tileTag = TAG_POKEBALL,

View file

@ -1,5 +1,5 @@
#define SQUARE(n)(n * n) #define SQUARE(n)((n) * (n))
#define CUBE(n)(n * n * n) #define CUBE(n)((n) * (n) * (n))
#define EXP_SLOW(n)((5 * CUBE(n)) / 4) // (5 * (n)^3) / 4 #define EXP_SLOW(n)((5 * CUBE(n)) / 4) // (5 * (n)^3) / 4
#define EXP_FAST(n)((4 * CUBE(n)) / 5) // (4 * (n)^3) / 5 #define EXP_FAST(n)((4 * CUBE(n)) / 5) // (4 * (n)^3) / 5

View file

@ -250,10 +250,10 @@ void StoreSelectedPokemonInDaycare(void)
StorePokemonInEmptyDaycareSlot(&gPlayerParty[monId], &gSaveBlock1Ptr->daycare); StorePokemonInEmptyDaycareSlot(&gPlayerParty[monId], &gSaveBlock1Ptr->daycare);
} }
// Shifts the second daycare pokemon slot into the first slot. // Shifts the second daycare Pokémon slot into the first slot.
static void ShiftDaycareSlots(struct DayCare *daycare) static void ShiftDaycareSlots(struct DayCare *daycare)
{ {
// This condition is only satisfied when the player takes out the first pokemon from the daycare. // This condition is only satisfied when the player takes out the first Pokémon from the daycare.
if (GetBoxMonData(&daycare->mons[1].mon, MON_DATA_SPECIES) != SPECIES_NONE if (GetBoxMonData(&daycare->mons[1].mon, MON_DATA_SPECIES) != SPECIES_NONE
&& GetBoxMonData(&daycare->mons[0].mon, MON_DATA_SPECIES) == SPECIES_NONE) && GetBoxMonData(&daycare->mons[0].mon, MON_DATA_SPECIES) == SPECIES_NONE)
{ {
@ -738,7 +738,7 @@ static void InheritAbility(struct Pokemon *egg, struct BoxPokemon *father, struc
} }
} }
// Counts the number of egg moves a pokemon learns and stores the moves in // Counts the number of egg moves a Pokémon learns and stores the moves in
// the given array. // the given array.
static u8 GetEggMoves(struct Pokemon *pokemon, u16 *eggMoves) static u8 GetEggMoves(struct Pokemon *pokemon, u16 *eggMoves)
{ {

View file

@ -259,7 +259,7 @@ static const u32 sHofMonitorBig_Gfx[] = INCBIN_U32("graphics/field_effects/pics/
static const u8 sHofMonitorSmall_Gfx[] = INCBIN_U8("graphics/field_effects/pics/hof_monitor_small.4bpp"); static const u8 sHofMonitorSmall_Gfx[] = INCBIN_U8("graphics/field_effects/pics/hof_monitor_small.4bpp");
static const u16 sHofMonitor_Pal[16] = INCBIN_U16("graphics/field_effects/palettes/hof_monitor.gbapal"); static const u16 sHofMonitor_Pal[16] = INCBIN_U16("graphics/field_effects/palettes/hof_monitor.gbapal");
// Graphics for the lights streaking past your Pokemon when it uses a field move. // Graphics for the lights streaking past your Pokémon when it uses a field move.
static const u32 sFieldMoveStreaksOutdoors_Gfx[] = INCBIN_U32("graphics/field_effects/pics/field_move_streaks.4bpp"); static const u32 sFieldMoveStreaksOutdoors_Gfx[] = INCBIN_U32("graphics/field_effects/pics/field_move_streaks.4bpp");
static const u16 sFieldMoveStreaksOutdoors_Pal[16] = INCBIN_U16("graphics/field_effects/pics/field_move_streaks.gbapal"); static const u16 sFieldMoveStreaksOutdoors_Pal[16] = INCBIN_U16("graphics/field_effects/pics/field_move_streaks.gbapal");
static const u16 sFieldMoveStreaksOutdoors_Tilemap[320] = INCBIN_U16("graphics/field_effects/pics/field_move_streaks.bin"); static const u16 sFieldMoveStreaksOutdoors_Tilemap[320] = INCBIN_U16("graphics/field_effects/pics/field_move_streaks.bin");

View file

@ -84,7 +84,7 @@ bool8 ShowPokenavFieldMessage(const u8 *str)
StringExpandPlaceholders(gStringVar4, str); StringExpandPlaceholders(gStringVar4, str);
CreateTask(Task_HidePokenavMessageWhenDone, 0); CreateTask(Task_HidePokenavMessageWhenDone, 0);
StartMatchCallFromScript(str); StartMatchCallFromScript(str);
sFieldMessageBoxMode = 2; sFieldMessageBoxMode = FIELD_MESSAGE_BOX_NORMAL;
return TRUE; return TRUE;
} }

View file

@ -308,7 +308,7 @@ static const struct SpriteTemplate sSpriteTemplate_RecordMixLights =
.callback = SpriteCallbackDummy, .callback = SpriteCallbackDummy,
}; };
// For accessing pokemon storage PC or the Hall of Fame PC // For accessing Pokémon storage PC or the Hall of Fame PC
void ComputerScreenOpenEffect(u16 increment, u16 unused, u8 priority) void ComputerScreenOpenEffect(u16 increment, u16 unused, u8 priority)
{ {
CreateComputerScreenEffectTask(Task_ComputerScreenOpenEffect, increment, unused, priority); CreateComputerScreenEffectTask(Task_ComputerScreenOpenEffect, increment, unused, priority);

View file

@ -326,7 +326,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][FRONTIER_PARTY_SIZ
}, },
[FRONTIER_FACILITY_FACTORY] = [FRONTIER_FACILITY_FACTORY] =
{ {
// Because Factory's pokemon are random, this facility's Brain also uses random pokemon. // Because Factory's Pokémon are random, this facility's Brain also uses random Pokémon.
// What is interesting, this team is actually the one Steven uses in the multi tag battle alongside the player. // What is interesting, this team is actually the one Steven uses in the multi tag battle alongside the player.
{ {
{ {
@ -1947,7 +1947,7 @@ static void AppendIfValid(u16 species, u16 heldItem, u16 hp, u8 lvlMode, u8 monL
// gSpecialVar_Result is the level mode before and after calls to this function // gSpecialVar_Result is the level mode before and after calls to this function
// gSpecialVar_0x8004 is used to store the return value instead (TRUE if there are insufficient eligible mons) // gSpecialVar_0x8004 is used to store the return value instead (TRUE if there are insufficient eligible mons)
// The names of ineligible pokemon that have been caught are also buffered to print // The names of ineligible Pokémon that have been caught are also buffered to print
static void CheckPartyIneligibility(void) static void CheckPartyIneligibility(void)
{ {
u16 speciesArray[PARTY_SIZE]; u16 speciesArray[PARTY_SIZE];

View file

@ -689,7 +689,7 @@ const u8 gHealthboxElementsGfxTable[] = INCBIN_U8("graphics/battle_interface/hpb
"graphics/battle_interface/misc_frameend.4bpp", "graphics/battle_interface/misc_frameend.4bpp",
"graphics/battle_interface/ball_display.4bpp", "graphics/battle_interface/ball_display.4bpp",
"graphics/battle_interface/ball_caught_indicator.4bpp", "graphics/battle_interface/ball_caught_indicator.4bpp",
"graphics/battle_interface/status2.4bpp", // these three duplicate sets of graphics are for the opponent/partner pokemon "graphics/battle_interface/status2.4bpp", // these three duplicate sets of graphics are for the opponent/partner Pokémon
"graphics/battle_interface/status3.4bpp", "graphics/battle_interface/status3.4bpp",
"graphics/battle_interface/status4.4bpp", "graphics/battle_interface/status4.4bpp",
"graphics/battle_interface/healthbox_doubles_frameend.4bpp", "graphics/battle_interface/healthbox_doubles_frameend.4bpp",
@ -1279,7 +1279,7 @@ const u32 gDomeTourneyLineUp_Tilemap[] = INCBIN_U32("graphics/battle_frontier/to
const u32 gDomeTourneyInfoCard_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_info_card.4bpp.lz"); const u32 gDomeTourneyInfoCard_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_info_card.4bpp.lz");
const u32 gDomeTourneyInfoCard_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_info_card_tilemap.bin.lz"); const u32 gDomeTourneyInfoCard_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_info_card_tilemap.bin.lz");
const u32 gDomeTourneyInfoCardBg_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_info_card_bg.bin.lz"); const u32 gDomeTourneyInfoCardBg_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_info_card_bg.bin.lz");
const u32 gDomeTourneyTreeButtons_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_buttons.4bpp.lz"); // exit/cancel and pokeball buttons const u32 gDomeTourneyTreeButtons_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_buttons.4bpp.lz"); // exit/cancel and Poké Ball buttons
const u32 gDomeTourneyTree_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney_tree.gbapal.lz"); const u32 gDomeTourneyTree_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney_tree.gbapal.lz");
const u32 gDomeTourneyTreeButtons_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney_buttons.gbapal.lz"); const u32 gDomeTourneyTreeButtons_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney_buttons.gbapal.lz");
const u32 gDomeTourneyMatchCardBg_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney_match_card_bg.gbapal.lz"); const u32 gDomeTourneyMatchCardBg_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney_match_card_bg.gbapal.lz");
@ -1731,7 +1731,7 @@ const u16 gFrontierPassMapCursor_Pal[] = INCBIN_U16("graphics/frontier_pass/map_
const u16 gFrontierPassMedalsSilver_Pal[] = INCBIN_U16("graphics/frontier_pass/silver.gbapal"); const u16 gFrontierPassMedalsSilver_Pal[] = INCBIN_U16("graphics/frontier_pass/silver.gbapal");
const u16 gFrontierPassMedalsGold_Pal[] = INCBIN_U16("graphics/frontier_pass/gold.gbapal"); const u16 gFrontierPassMedalsGold_Pal[] = INCBIN_U16("graphics/frontier_pass/gold.gbapal");
// Pokedex // Pokédex
const u16 gPokedexBgHoenn_Pal[] = INCBIN_U16("graphics/pokedex/bg_hoenn.gbapal"); const u16 gPokedexBgHoenn_Pal[] = INCBIN_U16("graphics/pokedex/bg_hoenn.gbapal");
const u16 gPokedexCaughtScreen_Pal[] = INCBIN_U16("graphics/pokedex/caught_screen.gbapal"); const u16 gPokedexCaughtScreen_Pal[] = INCBIN_U16("graphics/pokedex/caught_screen.gbapal");
const u16 gPokedexSearchResults_Pal[] = INCBIN_U16("graphics/pokedex/search_results_bg.gbapal"); const u16 gPokedexSearchResults_Pal[] = INCBIN_U16("graphics/pokedex/search_results_bg.gbapal");
@ -1785,7 +1785,7 @@ const u16 gContestResultsTitle_Smart_Tilemap[] = INCBIN_U16("graphics/contest/r
const u16 gContestResultsTitle_Tough_Tilemap[] = INCBIN_U16("graphics/contest/results_screen/title_tough.bin"); const u16 gContestResultsTitle_Tough_Tilemap[] = INCBIN_U16("graphics/contest/results_screen/title_tough.bin");
const u16 gContestResultsTitle_Tilemap[] = INCBIN_U16("graphics/contest/results_screen/title.bin"); const u16 gContestResultsTitle_Tilemap[] = INCBIN_U16("graphics/contest/results_screen/title.bin");
// pokenav // PokéNav
const u16 gPokenavCondition_Pal[] = INCBIN_U16("graphics/pokenav/condition/graph.gbapal"); const u16 gPokenavCondition_Pal[] = INCBIN_U16("graphics/pokenav/condition/graph.gbapal");
const u32 gPokenavCondition_Gfx[] = INCBIN_U32("graphics/pokenav/condition/graph.4bpp.lz"); const u32 gPokenavCondition_Gfx[] = INCBIN_U32("graphics/pokenav/condition/graph.4bpp.lz");
@ -1886,7 +1886,7 @@ const u32 gKantoTrainerCardFront_Tilemap[] = INCBIN_U32("graphics/trainer_card/f
const u32 gKantoTrainerCardBack_Tilemap[] = INCBIN_U32("graphics/trainer_card/frlg/back.bin.lz"); const u32 gKantoTrainerCardBack_Tilemap[] = INCBIN_U32("graphics/trainer_card/frlg/back.bin.lz");
const u32 gKantoTrainerCardFrontLink_Tilemap[] = INCBIN_U32("graphics/trainer_card/frlg/front_link.bin.lz"); const u32 gKantoTrainerCardFrontLink_Tilemap[] = INCBIN_U32("graphics/trainer_card/frlg/front_link.bin.lz");
// pokemon storage system // Pokémon storage system
const u32 gStorageSystemMenu_Gfx[] = INCBIN_U32("graphics/pokemon_storage/menu.4bpp.lz"); const u32 gStorageSystemMenu_Gfx[] = INCBIN_U32("graphics/pokemon_storage/menu.4bpp.lz");
const u16 gStorageSystemPartyMenu_Pal[] = INCBIN_U16("graphics/pokemon_storage/party_menu.gbapal"); const u16 gStorageSystemPartyMenu_Pal[] = INCBIN_U16("graphics/pokemon_storage/party_menu.gbapal");

View file

@ -625,7 +625,7 @@ static void Task_Hof_TryDisplayAnotherMon(u8 taskId)
else else
{ {
sHofFadePalettes |= (0x10000 << gSprites[gTasks[taskId].tMonSpriteId(currPokeID)].oam.paletteNum); sHofFadePalettes |= (0x10000 << gSprites[gTasks[taskId].tMonSpriteId(currPokeID)].oam.paletteNum);
if (gTasks[taskId].tDisplayedMonId < PARTY_SIZE - 1 && currMon[1].species != SPECIES_NONE) // there is another pokemon to display if (gTasks[taskId].tDisplayedMonId < PARTY_SIZE - 1 && currMon[1].species != SPECIES_NONE) // there is another Pokémon to display
{ {
gTasks[taskId].tDisplayedMonId++; gTasks[taskId].tDisplayedMonId++;
BeginNormalPaletteFade(sHofFadePalettes, 0, 12, 12, RGB(16, 29, 24)); BeginNormalPaletteFade(sHofFadePalettes, 0, 12, 12, RGB(16, 29, 24));

View file

@ -73,7 +73,7 @@ void PickLotteryCornerTicket(void)
} }
} }
} }
else // pokemon are always arranged from populated spots first to unpopulated, so the moment a NONE species is found, that's the end of the list. else // Pokémon are always arranged from populated spots first to unpopulated, so the moment a NONE species is found, that's the end of the list.
break; break;
} }

View file

@ -369,7 +369,7 @@ static void VBlankCB_MoveRelearner(void)
TransferPlttBuffer(); TransferPlttBuffer();
} }
// Script arguments: The pokemon to teach is in VAR_0x8004 // Script arguments: The Pokémon to teach is in VAR_0x8004
void TeachMoveRelearnerMove(void) void TeachMoveRelearnerMove(void)
{ {
LockPlayerFieldControls(); LockPlayerFieldControls();

View file

@ -1327,7 +1327,7 @@ void UpdateAmbientCry(s16 *state, u16 *delayCounter)
} }
} }
// Ambient cries after the first one take between 1200-2399 frames (~20-40 seconds) // Ambient cries after the first one take between 1200-2399 frames (~20-40 seconds)
// If the player has a pokemon with the ability Swarm in their party, the time is halved to 600-1199 frames (~10-20 seconds) // If the player has a Pokémon with the ability Swarm in their party, the time is halved to 600-1199 frames (~10-20 seconds)
*delayCounter = ((Random() % 1200) + 1200) / divBy; *delayCounter = ((Random() % 1200) + 1200) / divBy;
*state = AMB_CRY_WAIT; *state = AMB_CRY_WAIT;
break; break;
@ -1339,7 +1339,7 @@ void UpdateAmbientCry(s16 *state, u16 *delayCounter)
} }
break; break;
case AMB_CRY_IDLE: case AMB_CRY_IDLE:
// No land/water pokemon on this map // No land/water Pokémon on this map
break; break;
} }
} }
@ -1350,7 +1350,7 @@ static void ChooseAmbientCrySpecies(void)
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE130)) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE130))
&& !IsMirageIslandPresent()) && !IsMirageIslandPresent())
{ {
// Only play water pokemon cries on this route // Only play water Pokémon cries on this route
// when Mirage Island is not present // when Mirage Island is not present
sIsAmbientCryWaterMon = TRUE; sIsAmbientCryWaterMon = TRUE;
sAmbientCrySpecies = GetLocalWaterMon(); sAmbientCrySpecies = GetLocalWaterMon();

View file

@ -180,7 +180,7 @@ enum {
}; };
enum { enum {
// Window ids 0-5 are implicitly assigned to each party pokemon in InitPartyMenuBoxes // Window ids 0-5 are implicitly assigned to each party Pokémon in InitPartyMenuBoxes
WIN_MSG = PARTY_SIZE, WIN_MSG = PARTY_SIZE,
}; };
@ -7108,7 +7108,7 @@ static bool8 TrySwitchInPokemon(void)
u8 newSlot; u8 newSlot;
u8 i; u8 i;
// In a multi battle, slots 1, 4, and 5 are the partner's pokemon // In a multi battle, slots 1, 4, and 5 are the partner's Pokémon
if (IsMultiBattle() == TRUE && (slot == 1 || slot == 4 || slot == 5)) if (IsMultiBattle() == TRUE && (slot == 1 || slot == 4 || slot == 5))
{ {
StringCopy(gStringVar1, GetTrainerPartnerName()); StringCopy(gStringVar1, GetTrainerPartnerName());

View file

@ -1204,10 +1204,10 @@ static u8 LaunchBallFadeMonTaskForPokeball(bool8 unFadeLater, u8 spritePalNum, u
return LaunchBallFadeMonTask(unFadeLater, spritePalNum, selectedPalettes, BALL_POKE); return LaunchBallFadeMonTask(unFadeLater, spritePalNum, selectedPalettes, BALL_POKE);
} }
// Sprite data for the pokemon // Sprite data for the Pokémon
#define sSpecies data[7] #define sSpecies data[7]
// Sprite data for the pokeball // Sprite data for the Poké Ball
#define sMonSpriteId data[0] #define sMonSpriteId data[0]
#define sDelay data[1] #define sDelay data[1]
#define sMonPalNum data[2] #define sMonPalNum data[2]
@ -1217,7 +1217,7 @@ static u8 LaunchBallFadeMonTaskForPokeball(bool8 unFadeLater, u8 spritePalNum, u
#define sFinalMonY data[6] #define sFinalMonY data[6]
#define sTrigIdx data[7] #define sTrigIdx data[7]
// Pokeball in Birch intro, and when receiving via trade // Poké Ball in Birch intro, and when receiving via trade
void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 monPalNum, u8 x, u8 y, u8 oamPriority, u8 subpriority, u8 delay, u32 fadePalettes, u16 species) void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 monPalNum, u8 x, u8 y, u8 oamPriority, u8 subpriority, u8 delay, u32 fadePalettes, u16 species)
{ {
u8 spriteId; u8 spriteId;

View file

@ -1765,7 +1765,7 @@ static void Task_HandlePokedexStartMenuInput(u8 taskId)
CreateMonSpritesAtPos(sPokedexView->selectedPokemon, 0xE); CreateMonSpritesAtPos(sPokedexView->selectedPokemon, 0xE);
gMain.newKeys |= START_BUTTON; //Exit menu gMain.newKeys |= START_BUTTON; //Exit menu
break; break;
case 3: //CLOSE POKEDEX case 3: //CLOSE POKéDEX
BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK); BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].func = Task_ClosePokedex; gTasks[taskId].func = Task_ClosePokedex;
PlaySE(SE_PC_OFF); PlaySE(SE_PC_OFF);
@ -1965,12 +1965,12 @@ static void Task_HandleSearchResultsStartMenuInput(u8 taskId)
CreateMonSpritesAtPos(sPokedexView->selectedPokemon, 0xE); CreateMonSpritesAtPos(sPokedexView->selectedPokemon, 0xE);
gMain.newKeys |= START_BUTTON; gMain.newKeys |= START_BUTTON;
break; break;
case 3: //BACK TO POKEDEX case 3: //BACK TO POKéDEX
BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK); BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].func = Task_ReturnToPokedexFromSearchResults; gTasks[taskId].func = Task_ReturnToPokedexFromSearchResults;
PlaySE(SE_TRUCK_DOOR); PlaySE(SE_TRUCK_DOOR);
break; break;
case 4: //CLOSE POKEDEX case 4: //CLOSE POKéDEX
BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK); BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].func = Task_ClosePokedexFromSearchResultsStartMenu; gTasks[taskId].func = Task_ClosePokedexFromSearchResultsStartMenu;
PlaySE(SE_PC_OFF); PlaySE(SE_PC_OFF);
@ -2056,7 +2056,7 @@ static void Task_ClosePokedexFromSearchResultsStartMenu(u8 taskId)
#undef tLoadScreenTaskId #undef tLoadScreenTaskId
// For loading main pokedex page or pokedex search results // For loading main pokedex page or Pokédex search results
static bool8 LoadPokedexListPage(u8 page) static bool8 LoadPokedexListPage(u8 page)
{ {
switch (gMain.state) switch (gMain.state)

View file

@ -201,7 +201,7 @@ enum {
CURSOR_AREA_IN_BOX, CURSOR_AREA_IN_BOX,
CURSOR_AREA_IN_PARTY, CURSOR_AREA_IN_PARTY,
CURSOR_AREA_BOX_TITLE, CURSOR_AREA_BOX_TITLE,
CURSOR_AREA_BUTTONS, // Party Pokemon and Close Box CURSOR_AREA_BUTTONS, // Party Pokémon and Close Box
}; };
#define CURSOR_AREA_IN_HAND CURSOR_AREA_BOX_TITLE // Alt name for cursor area used by Move Items #define CURSOR_AREA_IN_HAND CURSOR_AREA_BOX_TITLE // Alt name for cursor area used by Move Items

View file

@ -91,13 +91,13 @@ enum {
#define PSS_LABEL_WINDOW_PORTRAIT_SPECIES 19 // The lower name #define PSS_LABEL_WINDOW_PORTRAIT_SPECIES 19 // The lower name
#define PSS_LABEL_WINDOW_END 20 #define PSS_LABEL_WINDOW_END 20
// Dynamic fields for the Pokemon Info page // Dynamic fields for the Pokémon Info page
#define PSS_DATA_WINDOW_INFO_ORIGINAL_TRAINER 0 #define PSS_DATA_WINDOW_INFO_ORIGINAL_TRAINER 0
#define PSS_DATA_WINDOW_INFO_ID 1 #define PSS_DATA_WINDOW_INFO_ID 1
#define PSS_DATA_WINDOW_INFO_ABILITY 2 #define PSS_DATA_WINDOW_INFO_ABILITY 2
#define PSS_DATA_WINDOW_INFO_MEMO 3 #define PSS_DATA_WINDOW_INFO_MEMO 3
// Dynamic fields for the Pokemon Skills page // Dynamic fields for the Pokémon Skills page
#define PSS_DATA_WINDOW_SKILLS_HELD_ITEM 0 #define PSS_DATA_WINDOW_SKILLS_HELD_ITEM 0
#define PSS_DATA_WINDOW_SKILLS_RIBBON_COUNT 1 #define PSS_DATA_WINDOW_SKILLS_RIBBON_COUNT 1
#define PSS_DATA_WINDOW_SKILLS_STATS_LEFT 2 // HP, Attack, Defense #define PSS_DATA_WINDOW_SKILLS_STATS_LEFT 2 // HP, Attack, Defense
@ -180,7 +180,7 @@ static EWRAM_DATA struct PokemonSummaryScreenData
u8 currPageIndex; u8 currPageIndex;
u8 minPageIndex; u8 minPageIndex;
u8 maxPageIndex; u8 maxPageIndex;
bool8 lockMonFlag; // This is used to prevent the player from changing pokemon in the move deleter select, etc, but it is not needed because the input is handled differently there bool8 lockMonFlag; // This is used to prevent the player from changing Pokémon in the move deleter select, etc, but it is not needed because the input is handled differently there
u16 newMove; u16 newMove;
u8 firstMoveIndex; u8 firstMoveIndex;
u8 secondMoveIndex; u8 secondMoveIndex;
@ -190,7 +190,7 @@ static EWRAM_DATA struct PokemonSummaryScreenData
u8 windowIds[8]; u8 windowIds[8];
u8 spriteIds[SPRITE_ARR_ID_COUNT]; u8 spriteIds[SPRITE_ARR_ID_COUNT];
bool8 handleDeoxys; bool8 handleDeoxys;
s16 switchCounter; // Used for various switch statement cases that decompress/load graphics or pokemon data s16 switchCounter; // Used for various switch statement cases that decompress/load graphics or Pokémon data
u8 unk_filler4[6]; u8 unk_filler4[6];
u8 categoryIconSpriteId; u8 categoryIconSpriteId;
} *sMonSummaryScreen = NULL; } *sMonSummaryScreen = NULL;
@ -2795,7 +2795,7 @@ static void DrawContestMoveHearts(u16 move)
} }
} }
static void LimitEggSummaryPageDisplay(void) // If the pokemon is an egg, limit the number of pages displayed to 1 static void LimitEggSummaryPageDisplay(void) // If the Pokémon is an egg, limit the number of pages displayed to 1
{ {
if (sMonSummaryScreen->summary.isEgg) if (sMonSummaryScreen->summary.isEgg)
ChangeBgX(3, 0x10000, BG_COORD_SET); ChangeBgX(3, 0x10000, BG_COORD_SET);
@ -4122,7 +4122,7 @@ static bool32 UNUSED IsMonAnimationFinished(void)
return TRUE; return TRUE;
} }
static void StopPokemonAnimations(void) // A subtle effect, this function stops pokemon animations when leaving the PSS static void StopPokemonAnimations(void) // A subtle effect, this function stops Pokémon animations when leaving the PSS
{ {
u16 i; u16 i;
u16 paletteIndex; u16 paletteIndex;

View file

@ -257,7 +257,7 @@ static u32 HandleMainMenuInput(struct Pokenav_Menu *menu)
return POKENAV_MENU_FUNC_NONE; return POKENAV_MENU_FUNC_NONE;
} }
// Force the player to select Match Call during the call Mr. Stone pokenav tutorial // Force the player to select Match Call during the call Mr. Stone PokéNav tutorial
static u32 HandleMainMenuInputTutorial(struct Pokenav_Menu *menu) static u32 HandleMainMenuInputTutorial(struct Pokenav_Menu *menu)
{ {
if (UpdateMenuCursorPos(menu)) if (UpdateMenuCursorPos(menu))
@ -287,7 +287,7 @@ static u32 HandleMainMenuInputTutorial(struct Pokenav_Menu *menu)
return POKENAV_MENU_FUNC_NONE; return POKENAV_MENU_FUNC_NONE;
} }
// After calling Mr. Stone during the pokenav tutorial, force player to exit or use Match Call again // After calling Mr. Stone during the PokéNav tutorial, force player to exit or use Match Call again
static u32 HandleMainMenuInputEndTutorial(struct Pokenav_Menu *menu) static u32 HandleMainMenuInputEndTutorial(struct Pokenav_Menu *menu)
{ {
if (UpdateMenuCursorPos(menu)) if (UpdateMenuCursorPos(menu))

View file

@ -8,7 +8,7 @@
// The purpose of this struct is for outside applications to be // The purpose of this struct is for outside applications to be
// able to access parts of the ROM or its save file, like a public API. // able to access parts of the ROM or its save file, like a public API.
// In vanilla, it was used by Colosseum and XD to access pokemon graphics. // In vanilla, it was used by Colosseum and XD to access Pokémon graphics.
// //
// If this struct is rearranged in any way, it defeats the purpose of // If this struct is rearranged in any way, it defeats the purpose of
// having it at all. Applications like PKHex or streaming HUDs may find // having it at all. Applications like PKHex or streaming HUDs may find

View file

@ -990,8 +990,8 @@ static const struct RouletteFlashSettings sFlashData_Colors[NUM_ROULETTE_SLOTS +
}, },
}; };
// Data to flash any pokemon icon (F_FLASH_ICON) on the roulette wheel. One entry for each color row // Data to flash any Pokémon icon (F_FLASH_ICON) on the roulette wheel. One entry for each color row
// Each poke icon flashes with the tint of the row color it belongs to, so the pokemon itself is irrelevant // Each poke icon flashes with the tint of the row color it belongs to, so the Pokémon itself is irrelevant
static const struct RouletteFlashSettings sFlashData_PokeIcons[NUM_BOARD_COLORS] = static const struct RouletteFlashSettings sFlashData_PokeIcons[NUM_BOARD_COLORS] =
{ {
[GET_ROW_IDX(ROW_ORANGE)] = { [GET_ROW_IDX(ROW_ORANGE)] = {
@ -2702,7 +2702,7 @@ static const struct SpriteTemplate sSpriteTemplates_GridIcons[NUM_BOARD_POKES] =
} }
}; };
// Wheel icons are listed clockwise starting from 1 oclock on the roulette wheel (with pokeball upside right) // Wheel icons are listed clockwise starting from 1 oclock on the roulette wheel (with Poké Ball upside right)
// They go Wynaut -> Azurill -> Skitty -> Makuhita, and Orange -> Green -> Purple // They go Wynaut -> Azurill -> Skitty -> Makuhita, and Orange -> Green -> Purple
static const struct SpriteTemplate sSpriteTemplates_WheelIcons[NUM_ROULETTE_SLOTS] = static const struct SpriteTemplate sSpriteTemplates_WheelIcons[NUM_ROULETTE_SLOTS] =
{ {
@ -4481,7 +4481,7 @@ static void SetBallStuck(struct Sprite *sprite)
// The below slot ids are relative to the slot the ball got stuck on // The below slot ids are relative to the slot the ball got stuck on
if ((sRoulette->useTaillow + 1) & sRoulette->partySpeciesFlags) if ((sRoulette->useTaillow + 1) & sRoulette->partySpeciesFlags)
{ {
// If the player has the corresponding pokemon in their party (HAS_SHROOMISH or HAS_TAILLOW), // If the player has the corresponding Pokémon in their party (HAS_SHROOMISH or HAS_TAILLOW),
// there's a 75% chance that the ball will be moved to a spot they bet on // there's a 75% chance that the ball will be moved to a spot they bet on
// assuming it was one of the slots identified as a candidate // assuming it was one of the slots identified as a candidate
if (betSlotId && (rand % 256) < 192) if (betSlotId && (rand % 256) < 192)

View file

@ -119,9 +119,9 @@ void TrySetMapSaveWarpStatus(void)
TrySetUnknownWarpStatus(); TrySetUnknownWarpStatus();
} }
// In FRLG, only bits 0, 4, and 5 are set when the pokedex is received. // In FRLG, only bits 0, 4, and 5 are set when the Pokédex is received.
// Bits 1, 2, 3, and 15 are instead set by SetPostgameFlags. // Bits 1, 2, 3, and 15 are instead set by SetPostgameFlags.
// These flags are read by Pokemon Colosseum/XD for linking. XD Additionally requires FLAG_SYS_GAME_CLEAR // These flags are read by Pokémon Colosseum/XD for linking. XD Additionally requires FLAG_SYS_GAME_CLEAR
void SetUnlockedPokedexFlags(void) void SetUnlockedPokedexFlags(void)
{ {
gSaveBlock2Ptr->gcnLinkFlags |= (1 << 15); gSaveBlock2Ptr->gcnLinkFlags |= (1 << 15);

View file

@ -256,7 +256,7 @@ void ReducePlayerPartyToSelectedMons(void)
CpuFill32(0, party, sizeof party); CpuFill32(0, party, sizeof party);
// copy the selected pokemon according to the order. // copy the selected Pokémon according to the order.
for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++) for (i = 0; i < MAX_FRONTIER_PARTY_SIZE; i++)
if (gSelectedOrderFromParty[i]) // as long as the order keeps going (did the player select 1 mon? 2? 3?), do not stop if (gSelectedOrderFromParty[i]) // as long as the order keeps going (did the player select 1 mon? 2? 3?), do not stop
party[i] = gPlayerParty[gSelectedOrderFromParty[i] - 1]; // index is 0 based, not literal party[i] = gPlayerParty[gSelectedOrderFromParty[i] - 1]; // index is 0 based, not literal

View file

@ -716,7 +716,7 @@ static bool8 StartMenuPokeNavCallback(void)
PlayRainStoppingSoundEffect(); PlayRainStoppingSoundEffect();
RemoveExtraStartMenuWindows(); RemoveExtraStartMenuWindows();
CleanupOverworldWindowsAndTilemaps(); CleanupOverworldWindowsAndTilemaps();
SetMainCallback2(CB2_InitPokeNav); // Display PokeNav SetMainCallback2(CB2_InitPokeNav); // Display PokéNav
return TRUE; return TRUE;
} }
@ -1421,7 +1421,7 @@ static void ShowSaveInfoWindow(void)
if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE) if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE)
{ {
// Print pokedex count // Print Pokédex count
yOffset += 16; yOffset += 16;
AddTextPrinterParameterized(sSaveInfoWindowId, FONT_NORMAL, gText_SavingPokedex, 0, yOffset, TEXT_SKIP_DRAW, NULL); AddTextPrinterParameterized(sSaveInfoWindowId, FONT_NORMAL, gText_SavingPokedex, 0, yOffset, TEXT_SKIP_DRAW, NULL);
BufferSaveMenuText(SAVE_MENU_CAUGHT, gStringVar4, color); BufferSaveMenuText(SAVE_MENU_CAUGHT, gStringVar4, color);

View file

@ -26,7 +26,7 @@
#define STARTER_MON_COUNT 3 #define STARTER_MON_COUNT 3
// Position of the sprite of the selected starter Pokemon // Position of the sprite of the selected starter Pokémon
#define STARTER_PKMN_POS_X (DISPLAY_WIDTH / 2) #define STARTER_PKMN_POS_X (DISPLAY_WIDTH / 2)
#define STARTER_PKMN_POS_Y 64 #define STARTER_PKMN_POS_Y 64
@ -446,7 +446,7 @@ void CB2_ChooseStarter(void)
spriteId = CreateSprite(&sSpriteTemplate_Hand, 120, 56, 2); spriteId = CreateSprite(&sSpriteTemplate_Hand, 120, 56, 2);
gSprites[spriteId].data[0] = taskId; gSprites[spriteId].data[0] = taskId;
// Create three Pokeball sprites // Create three Poké Ball sprites
spriteId = CreateSprite(&sSpriteTemplate_Pokeball, sPokeballCoords[0][0], sPokeballCoords[0][1], 2); spriteId = CreateSprite(&sSpriteTemplate_Pokeball, sPokeballCoords[0][0], sPokeballCoords[0][1], 2);
gSprites[spriteId].sTaskId = taskId; gSprites[spriteId].sTaskId = taskId;
gSprites[spriteId].sBallId = 0; gSprites[spriteId].sBallId = 0;
@ -495,7 +495,7 @@ static void Task_HandleStarterChooseInput(u8 taskId)
spriteId = CreateSprite(&sSpriteTemplate_StarterCircle, sPokeballCoords[selection][0], sPokeballCoords[selection][1], 1); spriteId = CreateSprite(&sSpriteTemplate_StarterCircle, sPokeballCoords[selection][0], sPokeballCoords[selection][1], 1);
gTasks[taskId].tCircleSpriteId = spriteId; gTasks[taskId].tCircleSpriteId = spriteId;
// Create Pokemon sprite // Create Pokémon sprite
spriteId = CreatePokemonFrontSprite(GetStarterPokemon(gTasks[taskId].tStarterSelection), sPokeballCoords[selection][0], sPokeballCoords[selection][1]); spriteId = CreatePokemonFrontSprite(GetStarterPokemon(gTasks[taskId].tStarterSelection), sPokeballCoords[selection][0], sPokeballCoords[selection][1]);
gSprites[spriteId].affineAnims = &sAffineAnims_StarterPokemon; gSprites[spriteId].affineAnims = &sAffineAnims_StarterPokemon;
gSprites[spriteId].callback = SpriteCB_StarterPokemon; gSprites[spriteId].callback = SpriteCB_StarterPokemon;
@ -637,7 +637,7 @@ static u8 CreatePokemonFrontSprite(u16 species, u8 x, u8 y)
static void SpriteCB_SelectionHand(struct Sprite *sprite) static void SpriteCB_SelectionHand(struct Sprite *sprite)
{ {
// Float up and down above selected pokeball // Float up and down above selected Poké Ball
sprite->x = sCursorCoords[gTasks[sprite->data[0]].tStarterSelection][0]; sprite->x = sCursorCoords[gTasks[sprite->data[0]].tStarterSelection][0];
sprite->y = sCursorCoords[gTasks[sprite->data[0]].tStarterSelection][1]; sprite->y = sCursorCoords[gTasks[sprite->data[0]].tStarterSelection][1];
sprite->y2 = Sin(sprite->data[1], 8); sprite->y2 = Sin(sprite->data[1], 8);
@ -646,7 +646,7 @@ static void SpriteCB_SelectionHand(struct Sprite *sprite)
static void SpriteCB_Pokeball(struct Sprite *sprite) static void SpriteCB_Pokeball(struct Sprite *sprite)
{ {
// Animate pokeball if currently selected // Animate Poké Ball if currently selected
if (gTasks[sprite->sTaskId].tStarterSelection == sprite->sBallId) if (gTasks[sprite->sTaskId].tStarterSelection == sprite->sBallId)
StartSpriteAnimIfDifferent(sprite, 1); StartSpriteAnimIfDifferent(sprite, 1);
else else

View file

@ -680,7 +680,7 @@ static void MainCB2(void)
UpdatePaletteFade(); UpdatePaletteFade();
} }
// Shine the Pokemon logo two more times, and fade in the version banner // Shine the Pokémon logo two more times, and fade in the version banner
static void Task_TitleScreenPhase1(u8 taskId) static void Task_TitleScreenPhase1(u8 taskId)
{ {
// Skip to next phase when A, B, Start, or Select is pressed // Skip to next phase when A, B, Start, or Select is pressed
@ -728,7 +728,7 @@ static void Task_TitleScreenPhase1(u8 taskId)
#undef sParentTaskId #undef sParentTaskId
#undef sAlphaBlendIdx #undef sAlphaBlendIdx
// Create "Press Start" and copyright banners, and slide Pokemon logo up // Create "Press Start" and copyright banners, and slide Pokémon logo up
static void Task_TitleScreenPhase2(u8 taskId) static void Task_TitleScreenPhase2(u8 taskId)
{ {
u32 yPos; u32 yPos;
@ -767,7 +767,7 @@ static void Task_TitleScreenPhase2(u8 taskId)
if (!(gTasks[taskId].tCounter & 1) && gTasks[taskId].tBg2Y != 0) if (!(gTasks[taskId].tCounter & 1) && gTasks[taskId].tBg2Y != 0)
gTasks[taskId].tBg2Y++; gTasks[taskId].tBg2Y++;
// Slide Pokemon logo up // Slide Pokémon logo up
yPos = gTasks[taskId].tBg2Y * 256; yPos = gTasks[taskId].tBg2Y * 256;
SetGpuReg(REG_OFFSET_BG2Y_L, yPos); SetGpuReg(REG_OFFSET_BG2Y_L, yPos);
SetGpuReg(REG_OFFSET_BG2Y_H, yPos / 0x10000); SetGpuReg(REG_OFFSET_BG2Y_H, yPos / 0x10000);

View file

@ -168,7 +168,7 @@ static EWRAM_DATA u8 *sMenuTextTileBuffer = NULL;
// Bytes 0-2 are used for the player's name text // Bytes 0-2 are used for the player's name text
// Bytes 3-5 are used for the partner's name text // Bytes 3-5 are used for the partner's name text
// Bytes 6-7 are used for the Cancel text // Bytes 6-7 are used for the Cancel text
// Bytes 8-13 are used for the Choose a Pokemon text // Bytes 8-13 are used for the Choose a Pokémon text
// See the corresponding GFXTAGs in src/data/trade.h // See the corresponding GFXTAGs in src/data/trade.h
static EWRAM_DATA u8 *sMenuTextTileBuffers[NUM_MENU_TEXT_SPRITES] = {NULL}; static EWRAM_DATA u8 *sMenuTextTileBuffers[NUM_MENU_TEXT_SPRITES] = {NULL};
@ -1006,25 +1006,25 @@ static void SetActiveMenuOptions(void)
{ {
if (i < sTradeMenu->partyCounts[TRADE_PLAYER]) if (i < sTradeMenu->partyCounts[TRADE_PLAYER])
{ {
// Present player pokemon // Present player Pokémon
gSprites[sTradeMenu->partySpriteIds[TRADE_PLAYER][i]].invisible = FALSE; gSprites[sTradeMenu->partySpriteIds[TRADE_PLAYER][i]].invisible = FALSE;
sTradeMenu->optionsActive[i] = TRUE; sTradeMenu->optionsActive[i] = TRUE;
} }
else else
{ {
// Absent player pokemon // Absent player Pokémon
sTradeMenu->optionsActive[i] = FALSE; sTradeMenu->optionsActive[i] = FALSE;
} }
if (i < sTradeMenu->partyCounts[TRADE_PARTNER]) if (i < sTradeMenu->partyCounts[TRADE_PARTNER])
{ {
// Present partner pokemon // Present partner Pokémon
gSprites[sTradeMenu->partySpriteIds[TRADE_PARTNER][i]].invisible = FALSE; gSprites[sTradeMenu->partySpriteIds[TRADE_PARTNER][i]].invisible = FALSE;
sTradeMenu->optionsActive[i + PARTY_SIZE] = TRUE; sTradeMenu->optionsActive[i + PARTY_SIZE] = TRUE;
} }
else else
{ {
// Absent partner pokemon // Absent partner Pokémon
sTradeMenu->optionsActive[i + PARTY_SIZE] = FALSE; sTradeMenu->optionsActive[i + PARTY_SIZE] = FALSE;
} }
} }
@ -1281,7 +1281,7 @@ static void Leader_HandleCommunication(void)
if (sTradeMenu->playerSelectStatus == STATUS_READY if (sTradeMenu->playerSelectStatus == STATUS_READY
&& sTradeMenu->partnerSelectStatus == STATUS_READY) && sTradeMenu->partnerSelectStatus == STATUS_READY)
{ {
// Both players have selected a pokemon to trade // Both players have selected a Pokémon to trade
sTradeMenu->callbackId = CB_SET_SELECTED_MONS; sTradeMenu->callbackId = CB_SET_SELECTED_MONS;
sTradeMenu->linkData[0] = LINKCMD_SET_MONS_TO_TRADE; sTradeMenu->linkData[0] = LINKCMD_SET_MONS_TO_TRADE;
sTradeMenu->linkData[1] = sTradeMenu->cursorPosition; sTradeMenu->linkData[1] = sTradeMenu->cursorPosition;
@ -1291,7 +1291,7 @@ static void Leader_HandleCommunication(void)
else if (sTradeMenu->playerSelectStatus == STATUS_READY else if (sTradeMenu->playerSelectStatus == STATUS_READY
&& sTradeMenu->partnerSelectStatus == STATUS_CANCEL) && sTradeMenu->partnerSelectStatus == STATUS_CANCEL)
{ {
// The player has selected a pokemon to trade, // The player has selected a Pokémon to trade,
// but the partner has selected Cancel // but the partner has selected Cancel
PrintTradeMessage(MSG_CANCELED); PrintTradeMessage(MSG_CANCELED);
sTradeMenu->linkData[0] = LINKCMD_PARTNER_CANCEL_TRADE; sTradeMenu->linkData[0] = LINKCMD_PARTNER_CANCEL_TRADE;
@ -1304,7 +1304,7 @@ static void Leader_HandleCommunication(void)
else if (sTradeMenu->playerSelectStatus == STATUS_CANCEL else if (sTradeMenu->playerSelectStatus == STATUS_CANCEL
&& sTradeMenu->partnerSelectStatus == STATUS_READY) && sTradeMenu->partnerSelectStatus == STATUS_READY)
{ {
// The partner has selected a pokemon to trade, // The partner has selected a Pokémon to trade,
// but the player has selected cancel // but the player has selected cancel
PrintTradeMessage(MSG_FRIEND_WANTS_TO_TRADE); PrintTradeMessage(MSG_FRIEND_WANTS_TO_TRADE);
sTradeMenu->linkData[0] = LINKCMD_PLAYER_CANCEL_TRADE; sTradeMenu->linkData[0] = LINKCMD_PLAYER_CANCEL_TRADE;
@ -1461,7 +1461,7 @@ static void CB_ProcessMenuInput(void)
if (sTradeMenu->cursorPosition < PARTY_SIZE) if (sTradeMenu->cursorPosition < PARTY_SIZE)
{ {
// Selected pokemon in player's party // Selected Pokémon in player's party
DrawTextBorderOuter(1, 1, 14); DrawTextBorderOuter(1, 1, 14);
FillWindowPixelBuffer(1, PIXEL_FILL(1)); FillWindowPixelBuffer(1, PIXEL_FILL(1));
PrintMenuTable(1, ARRAY_COUNT(sSelectTradeMonActions), sSelectTradeMonActions); PrintMenuTable(1, ARRAY_COUNT(sSelectTradeMonActions), sSelectTradeMonActions);
@ -1472,7 +1472,7 @@ static void CB_ProcessMenuInput(void)
} }
else if (sTradeMenu->cursorPosition < PARTY_SIZE * 2) else if (sTradeMenu->cursorPosition < PARTY_SIZE * 2)
{ {
// Selected pokemon in partner's party // Selected Pokémon in partner's party
BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK); BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK);
sTradeMenu->callbackId = CB_SHOW_MON_SUMMARY; sTradeMenu->callbackId = CB_SHOW_MON_SUMMARY;
} }
@ -1848,7 +1848,7 @@ static void SetSelectedMon(u8 cursorPosition)
if (sTradeMenu->drawSelectedMonState[whichParty] == 0) if (sTradeMenu->drawSelectedMonState[whichParty] == 0)
{ {
// Start the animation to display just the selected // Start the animation to display just the selected
// pokemon in the middle of the screen // Pokémon in the middle of the screen
sTradeMenu->drawSelectedMonState[whichParty] = 1; sTradeMenu->drawSelectedMonState[whichParty] = 1;
sTradeMenu->selectedMonIdx[whichParty] = cursorPosition; sTradeMenu->selectedMonIdx[whichParty] = cursorPosition;
} }
@ -1882,10 +1882,10 @@ static void DrawSelectedMonScreen(u8 whichParty)
for (i = 0; i < PARTY_SIZE; i++) for (i = 0; i < PARTY_SIZE; i++)
ClearWindowTilemap(i + (whichParty * PARTY_SIZE + 2)); ClearWindowTilemap(i + (whichParty * PARTY_SIZE + 2));
// Re-display the selected pokemon // Re-display the selected Pokémon
gSprites[sTradeMenu->partySpriteIds[selectedMonParty][partyIdx]].invisible = FALSE; gSprites[sTradeMenu->partySpriteIds[selectedMonParty][partyIdx]].invisible = FALSE;
// Move the selected pokemon to the center // Move the selected Pokémon to the center
gSprites[sTradeMenu->partySpriteIds[selectedMonParty][partyIdx]].data[0] = 20; gSprites[sTradeMenu->partySpriteIds[selectedMonParty][partyIdx]].data[0] = 20;
gSprites[sTradeMenu->partySpriteIds[selectedMonParty][partyIdx]].data[2] = (sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE][0] gSprites[sTradeMenu->partySpriteIds[selectedMonParty][partyIdx]].data[2] = (sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE][0]
+ sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14; + sTradeMonSpriteCoords[selectedMonParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14;
@ -3088,13 +3088,13 @@ static void TradeMons(u8 playerPartyIdx, u8 partnerPartyIdx)
struct Pokemon *partnerMon = &gEnemyParty[partnerPartyIdx]; struct Pokemon *partnerMon = &gEnemyParty[partnerPartyIdx];
u16 partnerMail = GetMonData(partnerMon, MON_DATA_MAIL); u16 partnerMail = GetMonData(partnerMon, MON_DATA_MAIL);
// The mail attached to the sent Pokemon no longer exists in your file. // The mail attached to the sent Pokémon no longer exists in your file.
if (playerMail != MAIL_NONE) if (playerMail != MAIL_NONE)
ClearMail(&gSaveBlock1Ptr->mail[playerMail]); ClearMail(&gSaveBlock1Ptr->mail[playerMail]);
SWAP(*playerMon, *partnerMon, sTradeAnim->tempMon); SWAP(*playerMon, *partnerMon, sTradeAnim->tempMon);
// By default, a Pokemon received from a trade will have 70 Friendship. // By default, a Pokémon received from a trade will have 70 Friendship.
// Eggs use Friendship to track egg cycles, so don't set this on Eggs. // Eggs use Friendship to track egg cycles, so don't set this on Eggs.
friendship = 70; friendship = 70;
if (!GetMonData(playerMon, MON_DATA_IS_EGG)) if (!GetMonData(playerMon, MON_DATA_IS_EGG))

View file

@ -11,7 +11,7 @@
#define PICS_COUNT 8 #define PICS_COUNT 8
// Needs to be large enough to store either a decompressed pokemon pic or trainer pic // Needs to be large enough to store either a decompressed Pokémon pic or trainer pic
#define PIC_SPRITE_SIZE max(MON_PIC_SIZE, TRAINER_PIC_SIZE) #define PIC_SPRITE_SIZE max(MON_PIC_SIZE, TRAINER_PIC_SIZE)
#define MAX_PIC_FRAMES max(MAX_MON_PIC_FRAMES, MAX_TRAINER_PIC_FRAMES) #define MAX_PIC_FRAMES max(MAX_MON_PIC_FRAMES, MAX_TRAINER_PIC_FRAMES)

View file

@ -6206,7 +6206,7 @@ static void DoTVShowSpotTheCuties(void)
TVShowConvertInternationalString(gStringVar1, show->cuties.playerName, show->cuties.language); TVShowConvertInternationalString(gStringVar1, show->cuties.playerName, show->cuties.language);
TVShowConvertInternationalString(gStringVar2, show->cuties.nickname, show->cuties.pokemonNameLanguage); TVShowConvertInternationalString(gStringVar2, show->cuties.nickname, show->cuties.pokemonNameLanguage);
// Comments following the intro depend on how many ribbons the pokemon has // Comments following the intro depend on how many ribbons the Pokémon has
if (show->cuties.nRibbons < 10) if (show->cuties.nRibbons < 10)
sTVShowState = SPOTCUTIES_STATE_RIBBONS_LOW; sTVShowState = SPOTCUTIES_STATE_RIBBONS_LOW;
else if (show->cuties.nRibbons < 20) else if (show->cuties.nRibbons < 20)

View file

@ -73,10 +73,10 @@ struct UsePokeblockSession
u8 natureText[34]; u8 natureText[34];
}; };
// This struct is identical to PokenavMonListItem, the struct used for managing lists of pokemon in the pokenav // This struct is identical to PokenavMonListItem, the struct used for managing lists of Pokémon in the PokéNav
// Given that this screen is essentially duplicated in the poknav, this struct was probably the same one with // Given that this screen is essentially duplicated in the poknav, this struct was probably the same one with
// a more general name/purpose // a more general name/purpose
// TODO: Once the pokenav conditions screens are documented, resolve the above // TODO: Once the PokéNav conditions screens are documented, resolve the above
struct UsePokeblockMenuPokemon struct UsePokeblockMenuPokemon
{ {
u8 boxId; // Because this screen is never used for the PC this is always set to TOTAL_BOXES_COUNT to refer to party u8 boxId; // Because this screen is never used for the PC this is always set to TOTAL_BOXES_COUNT to refer to party
@ -1259,7 +1259,7 @@ static void LoadAndCreateSelectionIcons(void)
LoadSpriteSheets(spriteSheets); LoadSpriteSheets(spriteSheets);
LoadSpritePalettes(spritePals); LoadSpritePalettes(spritePals);
// Fill pokeball selection icons up to number in party // Fill Poké Ball selection icons up to number in party
for (i = 0; i < sMenu->info.numSelections - 1; i++) for (i = 0; i < sMenu->info.numSelections - 1; i++)
{ {
spriteId = CreateSprite(&spriteTemplate, 226, (i * 20) + 8, 0); spriteId = CreateSprite(&spriteTemplate, 226, (i * 20) + 8, 0);
@ -1489,7 +1489,7 @@ static bool8 LoadNewSelection_CancelToMon(void)
case 2: case 2:
if (!ConditionMenu_UpdateMonEnter(&sMenu->graph, &sMenu->curMonXOffset)) if (!ConditionMenu_UpdateMonEnter(&sMenu->graph, &sMenu->curMonXOffset))
{ {
// Load the new adjacent pokemon (not the one being shown) // Load the new adjacent Pokémon (not the one being shown)
LoadMonInfo(sMenu->toLoadSelection, sMenu->toLoadId); LoadMonInfo(sMenu->toLoadSelection, sMenu->toLoadId);
sMenu->info.helperState++; sMenu->info.helperState++;
} }
@ -1552,7 +1552,7 @@ static bool8 LoadNewSelection_MonToMon(void)
case 2: case 2:
if (!ConditionMenu_UpdateMonEnter(&sMenu->graph, &sMenu->curMonXOffset)) if (!ConditionMenu_UpdateMonEnter(&sMenu->graph, &sMenu->curMonXOffset))
{ {
// Load the new adjacent pokemon (not the one being shown) // Load the new adjacent Pokémon (not the one being shown)
LoadMonInfo(sMenu->toLoadSelection, sMenu->toLoadId); LoadMonInfo(sMenu->toLoadSelection, sMenu->toLoadId);
sMenu->info.helperState++; sMenu->info.helperState++;
} }
@ -1593,8 +1593,8 @@ static void SpriteCB_SelectionIconCancel(struct Sprite *sprite)
sprite->oam.paletteNum = IndexOfSpritePaletteTag(TAG_CONDITION_CANCEL); sprite->oam.paletteNum = IndexOfSpritePaletteTag(TAG_CONDITION_CANCEL);
} }
// Calculate the max id for sparkles/stars that appear around the pokemon on the condition screen // Calculate the max id for sparkles/stars that appear around the Pokémon on the condition screen
// All pokemon start with 1 sparkle (added by CreateConditionSparkleSprites), so the number here +1 // All Pokémon start with 1 sparkle (added by CreateConditionSparkleSprites), so the number here +1
// is the total number of sparkles that appear // is the total number of sparkles that appear
static void CalculateNumAdditionalSparkles(u8 monIndex) static void CalculateNumAdditionalSparkles(u8 monIndex)
{ {

View file

@ -403,7 +403,7 @@ u8 PickWildMonNature(void)
} }
} }
} }
// check synchronize for a pokemon with the same ability // check synchronize for a Pokémon with the same ability
if (OW_SYNCHRONIZE_NATURE < GEN_9 if (OW_SYNCHRONIZE_NATURE < GEN_9
&& !GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG) && !GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG)
&& GetMonAbility(&gPlayerParty[0]) == ABILITY_SYNCHRONIZE && GetMonAbility(&gPlayerParty[0]) == ABILITY_SYNCHRONIZE
@ -902,16 +902,16 @@ u16 GetLocalWildMon(bool8 *isWaterMon)
// Neither // Neither
if (landMonsInfo == NULL && waterMonsInfo == NULL) if (landMonsInfo == NULL && waterMonsInfo == NULL)
return SPECIES_NONE; return SPECIES_NONE;
// Land Pokemon // Land Pokémon
else if (landMonsInfo != NULL && waterMonsInfo == NULL) else if (landMonsInfo != NULL && waterMonsInfo == NULL)
return landMonsInfo->wildPokemon[ChooseWildMonIndex_Land()].species; return landMonsInfo->wildPokemon[ChooseWildMonIndex_Land()].species;
// Water Pokemon // Water Pokémon
else if (landMonsInfo == NULL && waterMonsInfo != NULL) else if (landMonsInfo == NULL && waterMonsInfo != NULL)
{ {
*isWaterMon = TRUE; *isWaterMon = TRUE;
return waterMonsInfo->wildPokemon[ChooseWildMonIndex_WaterRock()].species; return waterMonsInfo->wildPokemon[ChooseWildMonIndex_WaterRock()].species;
} }
// Either land or water Pokemon // Either land or water Pokémon
if ((Random() % 100) < 80) if ((Random() % 100) < 80)
{ {
return landMonsInfo->wildPokemon[ChooseWildMonIndex_Land()].species; return landMonsInfo->wildPokemon[ChooseWildMonIndex_Land()].species;