add constants trainers file

This commit is contained in:
DizzyEggg
2017-12-17 21:19:08 +01:00
parent 54dccc8512
commit 720bd555bc
10 changed files with 1210 additions and 289 deletions

View File

@@ -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;