add constants trainers file
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user