summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/battle_2.c34
-rw-r--r--src/battle_script_commands.c7
-rw-r--r--src/battle_setup.c34
-rw-r--r--src/pokemon_3.c85
4 files changed, 81 insertions, 79 deletions
diff --git a/src/battle_2.c b/src/battle_2.c
index 67e49bb34..80945ba8b 100644
--- a/src/battle_2.c
+++ b/src/battle_2.c
@@ -17,6 +17,7 @@
#include "item.h"
#include "constants/items.h"
#include "constants/hold_effects.h"
+#include "constants/trainers.h"
#include "link.h"
#include "bg.h"
#include "dma3.h"
@@ -38,7 +39,6 @@
#include "pokedex.h"
#include "constants/abilities.h"
#include "constants/moves.h"
-#include "trainer_classes.h"
#include "evolution_scene.h"
#include "roamer.h"
#include "tv.h"
@@ -1718,7 +1718,7 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 fir
{
const struct TrainerMonNoItemDefaultMoves *partyData = gTrainers[trainerNum].party.NoItemDefaultMoves;
- for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++)
+ for (j = 0; gSpeciesNames[partyData[i].species][j] != EOS; j++)
nameHash += gSpeciesNames[partyData[i].species][j];
personalityValue += nameHash << 8;
@@ -1726,11 +1726,11 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 fir
CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, OT_ID_RANDOM_NO_SHINY, 0);
break;
}
- case PARTY_FLAG_CUSTOM_MOVES:
+ case F_TRAINER_PARTY_CUSTOM_MOVESET:
{
const struct TrainerMonNoItemCustomMoves *partyData = gTrainers[trainerNum].party.NoItemCustomMoves;
- for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++)
+ for (j = 0; gSpeciesNames[partyData[i].species][j] != EOS; j++)
nameHash += gSpeciesNames[partyData[i].species][j];
personalityValue += nameHash << 8;
@@ -1744,11 +1744,11 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 fir
}
break;
}
- case PARTY_FLAG_HAS_ITEM:
+ case F_TRAINER_PARTY_HELD_ITEM:
{
const struct TrainerMonItemDefaultMoves *partyData = gTrainers[trainerNum].party.ItemDefaultMoves;
- for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++)
+ for (j = 0; gSpeciesNames[partyData[i].species][j] != EOS; j++)
nameHash += gSpeciesNames[partyData[i].species][j];
personalityValue += nameHash << 8;
@@ -1758,11 +1758,11 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 fir
SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem);
break;
}
- case PARTY_FLAG_CUSTOM_MOVES | PARTY_FLAG_HAS_ITEM:
+ case F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM:
{
const struct TrainerMonItemCustomMoves *partyData = gTrainers[trainerNum].party.ItemCustomMoves;
- for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++)
+ for (j = 0; gSpeciesNames[partyData[i].species][j] != EOS; j++)
nameHash += gSpeciesNames[partyData[i].species][j];
personalityValue += nameHash << 8;
@@ -4749,19 +4749,19 @@ static void HandleEndTurn_BattleWon(void)
switch (gTrainers[gTrainerBattleOpponent_A].trainerClass)
{
- case CLASS_ELITE_FOUR:
- case CLASS_CHAMPION:
+ case TRAINER_CLASS_ELITE_FOUR:
+ case TRAINER_CLASS_CHAMPION:
PlayBGM(BGM_KACHI5);
break;
- case CLASS_TEAM_AQUA:
- case CLASS_TEAM_MAGMA:
- case CLASS_AQUA_ADMIN:
- case CLASS_AQUA_LEADER:
- case CLASS_MAGMA_ADMIN:
- case CLASS_MAGMA_LEADER:
+ case TRAINER_CLASS_TEAM_AQUA:
+ case TRAINER_CLASS_TEAM_MAGMA:
+ case TRAINER_CLASS_AQUA_ADMIN:
+ case TRAINER_CLASS_AQUA_LEADER:
+ case TRAINER_CLASS_MAGMA_ADMIN:
+ case TRAINER_CLASS_MAGMA_LEADER:
PlayBGM(BGM_KACHI4);
break;
- case CLASS_LEADER:
+ case TRAINER_CLASS_LEADER:
PlayBGM(BGM_KACHI3);
break;
default:
diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c
index ecdbb4d90..656f9f43a 100644
--- a/src/battle_script_commands.c
+++ b/src/battle_script_commands.c
@@ -17,6 +17,7 @@
#include "battle_interface.h"
#include "constants/species.h"
#include "constants/songs.h"
+#include "constants/trainers.h"
#include "text.h"
#include "sound.h"
#include "pokedex.h"
@@ -6236,19 +6237,19 @@ static u32 GetTrainerMoneyToGive(u16 trainerId)
lastMonLevel = party[gTrainers[trainerId].partySize - 1].lvl;
}
break;
- case PARTY_FLAG_CUSTOM_MOVES:
+ case F_TRAINER_PARTY_CUSTOM_MOVESET:
{
const struct TrainerMonNoItemCustomMoves *party = gTrainers[trainerId].party.NoItemCustomMoves;
lastMonLevel = party[gTrainers[trainerId].partySize - 1].lvl;
}
break;
- case PARTY_FLAG_HAS_ITEM:
+ case F_TRAINER_PARTY_HELD_ITEM:
{
const struct TrainerMonItemDefaultMoves *party = gTrainers[trainerId].party.ItemDefaultMoves;
lastMonLevel = party[gTrainers[trainerId].partySize - 1].lvl;
}
break;
- case PARTY_FLAG_CUSTOM_MOVES | PARTY_FLAG_HAS_ITEM:
+ case F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM:
{
const struct TrainerMonItemCustomMoves *party = gTrainers[trainerId].party.ItemCustomMoves;
lastMonLevel = party[gTrainers[trainerId].partySize - 1].lvl;
diff --git a/src/battle_setup.c b/src/battle_setup.c
index dbb20b148..3d4f5afcc 100644
--- a/src/battle_setup.c
+++ b/src/battle_setup.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "constants/trainers.h"
#include "battle.h"
#include "battle_setup.h"
#include "battle_transition.h"
@@ -15,8 +16,6 @@
#include "constants/maps.h"
#include "field_player_avatar.h"
#include "fieldmap.h"
-#include "trainer_classes.h"
-#include "trainer_ids.h"
#include "random.h"
#include "starter_choose.h"
#include "script_pokemon_80F8.h"
@@ -27,7 +26,6 @@
#include "event_scripts.h"
#include "trainer_see.h"
#include "field_message_box.h"
-#include "trainer.h"
#include "sound.h"
#include "strings.h"
#include "secret_base.h"
@@ -759,7 +757,7 @@ static u8 GetSumOfEnemyPartyLevel(u16 opponentId, u8 numMons)
sum += party[i].lvl;
}
break;
- case PARTY_FLAG_CUSTOM_MOVES:
+ case F_TRAINER_PARTY_CUSTOM_MOVESET:
{
const struct TrainerMonNoItemCustomMoves *party;
party = gTrainers[opponentId].party.NoItemCustomMoves;
@@ -767,7 +765,7 @@ static u8 GetSumOfEnemyPartyLevel(u16 opponentId, u8 numMons)
sum += party[i].lvl;
}
break;
- case PARTY_FLAG_HAS_ITEM:
+ case F_TRAINER_PARTY_HELD_ITEM:
{
const struct TrainerMonItemDefaultMoves *party;
party = gTrainers[opponentId].party.ItemDefaultMoves;
@@ -775,7 +773,7 @@ static u8 GetSumOfEnemyPartyLevel(u16 opponentId, u8 numMons)
sum += party[i].lvl;
}
break;
- case PARTY_FLAG_CUSTOM_MOVES | PARTY_FLAG_HAS_ITEM:
+ case F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM:
{
const struct TrainerMonItemCustomMoves *party;
party = gTrainers[opponentId].party.ItemCustomMoves;
@@ -820,30 +818,30 @@ static u8 GetTrainerBattleTransition(void)
if (gTrainerBattleOpponent_A == SECRET_BASE_OPPONENT)
return B_TRANSITION_CHAMPION;
- if (gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_ELITE_FOUR)
+ if (gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_ELITE_FOUR)
{
- if (gTrainerBattleOpponent_A == TRAINER_ID_SIDNEY)
+ if (gTrainerBattleOpponent_A == TRAINER_SIDNEY)
return B_TRANSITION_SYDNEY;
- if (gTrainerBattleOpponent_A == TRAINER_ID_PHOEBE)
+ if (gTrainerBattleOpponent_A == TRAINER_PHOEBE)
return B_TRANSITION_PHOEBE;
- if (gTrainerBattleOpponent_A == TRAINER_ID_GLACIA)
+ if (gTrainerBattleOpponent_A == TRAINER_GLACIA)
return B_TRANSITION_GLACIA;
- if (gTrainerBattleOpponent_A == TRAINER_ID_DRAKE)
+ if (gTrainerBattleOpponent_A == TRAINER_DRAKE)
return B_TRANSITION_DRAKE;
return B_TRANSITION_CHAMPION;
}
- if (gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_CHAMPION)
+ if (gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_CHAMPION)
return B_TRANSITION_CHAMPION;
- if (gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_TEAM_MAGMA
- || gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_MAGMA_LEADER
- || gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_MAGMA_ADMIN)
+ if (gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_TEAM_MAGMA
+ || gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_MAGMA_LEADER
+ || gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_MAGMA_ADMIN)
return B_TRANSITION_MAGMA;
- if (gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_TEAM_AQUA
- || gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_AQUA_LEADER
- || gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_AQUA_ADMIN)
+ if (gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_TEAM_AQUA
+ || gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_AQUA_LEADER
+ || gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_AQUA_ADMIN)
return B_TRANSITION_AQUA;
if (gTrainers[gTrainerBattleOpponent_A].doubleBattle == TRUE)
diff --git a/src/pokemon_3.c b/src/pokemon_3.c
index 6a1698152..d58b024a8 100644
--- a/src/pokemon_3.c
+++ b/src/pokemon_3.c
@@ -11,8 +11,7 @@
#include "link.h"
#include "constants/hold_effects.h"
#include "random.h"
-#include "trainer_classes.h"
-#include "trainer_ids.h"
+#include "constants/trainers.h"
#include "constants/songs.h"
#include "sound.h"
#include "m4a.h"
@@ -692,9 +691,9 @@ void AdjustFriendship(struct Pokemon *mon, u8 event)
if ((event != 5 || !(Random() & 1))
&& (event != 3
|| ((gBattleTypeFlags & BATTLE_TYPE_TRAINER)
- && (gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_ELITE_FOUR
- || gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_LEADER
- || gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_CHAMPION))))
+ && (gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_ELITE_FOUR
+ || gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_LEADER
+ || gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_CHAMPION))))
{
s8 mod = gUnknown_08329ECE[event][friendshipLevel];
if (mod > 0 && holdEffect == HOLD_EFFECT_HAPPINESS_UP)
@@ -1146,55 +1145,57 @@ void ClearBattleMonForms(void)
u16 GetBattleBGM(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON)
- return 0x1E0;
+ return BGM_BATTLE34;
if (gBattleTypeFlags & BATTLE_TYPE_REGI)
- return 0x1DF;
+ return BGM_BATTLE36;
if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
- return 0x1DC;
+ return BGM_BATTLE20;
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
{
u8 trainerClass;
+
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
trainerClass = GetFrontierOpponentClass(gTrainerBattleOpponent_A);
else if (gBattleTypeFlags & BATTLE_TYPE_x4000000)
- trainerClass = CLASS_EXPERT;
+ trainerClass = TRAINER_CLASS_EXPERT;
else
trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass;
+
switch (trainerClass)
{
- case CLASS_AQUA_LEADER:
- case CLASS_MAGMA_LEADER:
- return 0x1E3;
- case CLASS_TEAM_AQUA:
- case CLASS_TEAM_MAGMA:
- case CLASS_AQUA_ADMIN:
- case CLASS_MAGMA_ADMIN:
- return 0x1DB;
- case CLASS_LEADER:
- return 0x1DD;
- case CLASS_CHAMPION:
- return 0x1DE;
- case CLASS_PKMN_TRAINER_RIVAL:
+ case TRAINER_CLASS_AQUA_LEADER:
+ case TRAINER_CLASS_MAGMA_LEADER:
+ return BGM_BATTLE30;
+ case TRAINER_CLASS_TEAM_AQUA:
+ case TRAINER_CLASS_TEAM_MAGMA:
+ case TRAINER_CLASS_AQUA_ADMIN:
+ case TRAINER_CLASS_MAGMA_ADMIN:
+ return BGM_BATTLE31;
+ case TRAINER_CLASS_LEADER:
+ return BGM_BATTLE32;
+ case TRAINER_CLASS_CHAMPION:
+ return BGM_BATTLE33;
+ case TRAINER_CLASS_PKMN_TRAINER_3:
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
- return 0x1E1;
+ return BGM_BATTLE35;
if (!StringCompare(gTrainers[gTrainerBattleOpponent_A].trainerName, gText_BattleWallyName))
- return 0x1DC;
- return 0x1E1;
- case CLASS_ELITE_FOUR:
- return 0x1E2;
- case CLASS_SALON_MAIDEN:
- case CLASS_DOME_ACE:
- case CLASS_PALACE_MAVEN:
- case CLASS_ARENA_TYCOON:
- case CLASS_FACTORY_HEAD:
- case CLASS_PIKE_QUEEN:
- case CLASS_PYRAMID_KING:
- return 0x1D7;
+ return BGM_BATTLE20;
+ return BGM_BATTLE35;
+ case TRAINER_CLASS_ELITE_FOUR:
+ return BGM_BATTLE38;
+ case TRAINER_CLASS_SALON_MAIDEN:
+ case TRAINER_CLASS_DOME_ACE:
+ case TRAINER_CLASS_PALACE_MAVEN:
+ case TRAINER_CLASS_ARENA_TYCOON:
+ case TRAINER_CLASS_FACTORY_HEAD:
+ case TRAINER_CLASS_PIKE_QUEEN:
+ case TRAINER_CLASS_PYRAMID_KING:
+ return BGM_BATTLE_FRONTIER_BRAIN;
default:
- return 0x1DC;
+ return BGM_BATTLE20;
}
}
- return 0x1DA;
+ return BGM_BATTLE27;
}
void PlayBattleBGM(void)
@@ -1462,12 +1463,14 @@ bool8 IsShinyOtIdPersonality(u32 otId, u32 personality)
return retVal;
}
-const u8* GetTrainerPartnerName(void)
+const u8 *GetTrainerPartnerName(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER)
{
if (gPartnerTrainerId == STEVEN_PARTNER_ID)
- return gTrainers[TRAINER_ID_STEVEN].trainerName;
+ {
+ return gTrainers[TRAINER_STEVEN].trainerName;
+ }
else
{
GetFrontierTrainerName(gStringVar1, gPartnerTrainerId);
@@ -1682,14 +1685,14 @@ void HandleSetPokedexFlag(u16 nationalNum, u8 caseId, u32 personality)
}
}
-const u8* GetTrainerClassNameFromId(u16 trainerId)
+const u8 *GetTrainerClassNameFromId(u16 trainerId)
{
if (trainerId > NO_OF_TRAINERS)
trainerId = 0;
return gTrainerClassNames[gTrainers[trainerId].trainerClass];
}
-const u8* GetTrainerNameFromId(u16 trainerId)
+const u8 *GetTrainerNameFromId(u16 trainerId)
{
if (trainerId > NO_OF_TRAINERS)
trainerId = 0;