Removed FRONTIER_BRAIN_SPRITES and updated TRAINER_SPRITE, TRAINER_BACK_SPRITE, and TRAINER_CLASS (#5166)
* Removed FRONTIER_BRAIN_SPRITES * Updated TRAINER_SPRITE and TRAINER_BACK_SPRITE * Updated TRAINER_CLASS macro * Removed FRONTIER_BRAIN_TEXTS * Turned Frontier Brain text to COMPOUND_STRINGs * Removed frontier_brain.inc from event_scripts.s * Addressed front sprite comment * Addressed backsprite comments
This commit is contained in:
parent
d1bb7770d3
commit
1ba0875654
@ -1148,6 +1148,5 @@ EventScript_VsSeekerChargingDone::
|
||||
.include "data/scripts/trainer_hill.inc"
|
||||
.include "data/scripts/test_signpost.inc"
|
||||
.include "data/scripts/follower.inc"
|
||||
.include "data/text/frontier_brain.inc"
|
||||
.include "data/text/save.inc"
|
||||
.include "data/text/birch_speech.inc"
|
||||
|
||||
@ -1,108 +0,0 @@
|
||||
@ Battle Tower
|
||||
gText_AnabelWonSilver::
|
||||
.string "It's very disappointing…$"
|
||||
|
||||
gText_AnabelDefeatSilver::
|
||||
.string "Okay, I understand…$"
|
||||
|
||||
gText_AnabelWonGold::
|
||||
.string "I'm terribly sorry…$"
|
||||
|
||||
gText_AnabelDefeatGold::
|
||||
.string "Thank you…$"
|
||||
|
||||
@ Battle Dome
|
||||
gText_TuckerWonSilver::
|
||||
.string "Ahahaha! Aren't you embarrassed?\n"
|
||||
.string "Everyone's watching!$"
|
||||
|
||||
gText_TuckerDefeatSilver::
|
||||
.string "Grr…\n"
|
||||
.string "What the…$"
|
||||
|
||||
gText_TuckerWonGold::
|
||||
.string "My DOME ACE title isn't just for show!$"
|
||||
|
||||
gText_TuckerDefeatGold::
|
||||
.string "Ahahaha!\n"
|
||||
.string "You're inspiring!$"
|
||||
|
||||
@ Battle Factory
|
||||
gText_NolandWonSilver::
|
||||
.string "Way to work!\n"
|
||||
.string "That was a good lesson, eh?$"
|
||||
|
||||
gText_NolandDefeatSilver::
|
||||
.string "Good job!\n"
|
||||
.string "You know what you're doing!$"
|
||||
|
||||
gText_NolandWonGold::
|
||||
.string "Hey, hey, hey!\n"
|
||||
.string "You're finished already?$"
|
||||
|
||||
gText_NolandDefeatGold::
|
||||
.string "What happened here?$"
|
||||
|
||||
@ Battle Pike
|
||||
gText_LucyWonSilver::
|
||||
.string "Humph…$"
|
||||
|
||||
gText_LucyDefeatSilver::
|
||||
.string "Urk…$"
|
||||
|
||||
gText_LucyWonGold::
|
||||
.string "Hah!$"
|
||||
|
||||
gText_LucyDefeatGold::
|
||||
.string "Darn!$"
|
||||
|
||||
@ Battle Arena
|
||||
gText_GretaWonSilver::
|
||||
.string "Oh, come on!\n"
|
||||
.string "You have to try harder than that!$"
|
||||
|
||||
gText_GretaDefeatSilver::
|
||||
.string "No way!\n"
|
||||
.string "Good job!$"
|
||||
|
||||
gText_GretaWonGold::
|
||||
.string "Heheh!\n"
|
||||
.string "What did you expect?$"
|
||||
|
||||
gText_GretaDefeatGold::
|
||||
.string "Huh?\n"
|
||||
.string "Are you serious?!$"
|
||||
|
||||
@ Battle Palace
|
||||
gText_SpenserWonSilver::
|
||||
.string "Your POKéMON are wimpy because\n"
|
||||
.string "you're wimpy as a TRAINER!$"
|
||||
|
||||
gText_SpenserDefeatSilver::
|
||||
.string "Ah…\n"
|
||||
.string "Now this is something else…$"
|
||||
|
||||
gText_SpenserWonGold::
|
||||
.string "Gwahahaha!\n"
|
||||
.string "My brethren, we have nothing to fear!$"
|
||||
|
||||
gText_SpenserDefeatGold::
|
||||
.string "Gwah!\n"
|
||||
.string "Hahahaha!$"
|
||||
|
||||
@ Battle Pyramid
|
||||
gText_BrandonWonSilver::
|
||||
.string "Hey! What's wrong with you!\n"
|
||||
.string "Let's see some effort! Get up!$"
|
||||
|
||||
gText_BrandonDefeatSilver::
|
||||
.string "That's it! You've done great!\n"
|
||||
.string "You've worked hard for this!$"
|
||||
|
||||
gText_BrandonWonGold::
|
||||
.string "Hey! Don't you give up now!\n"
|
||||
.string "Get up! Don't lose faith in yourself!$"
|
||||
|
||||
gText_BrandonDefeatGold::
|
||||
.string "That's it! You've done it!\n"
|
||||
.string "You kept working for this!$"
|
||||
@ -1219,36 +1219,6 @@ extern const u8 gText_FrontierFacilityRoomsCleared[];
|
||||
extern const u8 gText_FrontierFacilityKOsStreak[];
|
||||
extern const u8 gText_FrontierFacilityFloorsCleared[];
|
||||
|
||||
// Frontier Brain
|
||||
extern const u8 gText_AnabelWonSilver[];
|
||||
extern const u8 gText_TuckerWonSilver[];
|
||||
extern const u8 gText_SpenserWonSilver[];
|
||||
extern const u8 gText_GretaWonSilver[];
|
||||
extern const u8 gText_NolandWonSilver[];
|
||||
extern const u8 gText_LucyWonSilver[];
|
||||
extern const u8 gText_BrandonWonSilver[];
|
||||
extern const u8 gText_AnabelDefeatSilver[];
|
||||
extern const u8 gText_TuckerDefeatSilver[];
|
||||
extern const u8 gText_SpenserDefeatSilver[];
|
||||
extern const u8 gText_GretaDefeatSilver[];
|
||||
extern const u8 gText_NolandDefeatSilver[];
|
||||
extern const u8 gText_LucyDefeatSilver[];
|
||||
extern const u8 gText_BrandonDefeatSilver[];
|
||||
extern const u8 gText_AnabelWonGold[];
|
||||
extern const u8 gText_TuckerWonGold[];
|
||||
extern const u8 gText_SpenserWonGold[];
|
||||
extern const u8 gText_GretaWonGold[];
|
||||
extern const u8 gText_NolandWonGold[];
|
||||
extern const u8 gText_LucyWonGold[];
|
||||
extern const u8 gText_BrandonWonGold[];
|
||||
extern const u8 gText_AnabelDefeatGold[];
|
||||
extern const u8 gText_TuckerDefeatGold[];
|
||||
extern const u8 gText_SpenserDefeatGold[];
|
||||
extern const u8 gText_GretaDefeatGold[];
|
||||
extern const u8 gText_NolandDefeatGold[];
|
||||
extern const u8 gText_LucyDefeatGold[];
|
||||
extern const u8 gText_BrandonDefeatGold[];
|
||||
|
||||
// Battle Tower.
|
||||
extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Intro[];
|
||||
extern const u8 BattleFrontier_BattleTowerMultiPartnerRoom_Text_Apprentice1Mon1[];
|
||||
|
||||
@ -304,7 +304,7 @@ static const s8 sCenterToCornerVecXs[8] ={-32, -16, -16, -32, -32};
|
||||
|
||||
// extra args are money and ball
|
||||
#define TRAINER_CLASS(trainerClass, trainerName, ...) \
|
||||
[TRAINER_CLASS_##trainerClass] = \
|
||||
[trainerClass] = \
|
||||
{ \
|
||||
.name = _(trainerName), \
|
||||
.money = DEFAULT(5, __VA_ARGS__), \
|
||||
@ -313,72 +313,72 @@ static const s8 sCenterToCornerVecXs[8] ={-32, -16, -16, -32, -32};
|
||||
|
||||
const struct TrainerClass gTrainerClasses[TRAINER_CLASS_COUNT] =
|
||||
{
|
||||
TRAINER_CLASS(PKMN_TRAINER_1, "{PKMN} TRAINER"),
|
||||
TRAINER_CLASS(PKMN_TRAINER_2, "{PKMN} TRAINER"),
|
||||
TRAINER_CLASS(HIKER, "HIKER", 10),
|
||||
TRAINER_CLASS(TEAM_AQUA, "TEAM AQUA"),
|
||||
TRAINER_CLASS(PKMN_BREEDER, "{PKMN} BREEDER", 10, B_TRAINER_CLASS_POKE_BALLS >= GEN_8 ? ITEM_HEAL_BALL : ITEM_FRIEND_BALL),
|
||||
TRAINER_CLASS(COOLTRAINER, "COOLTRAINER", 12, ITEM_ULTRA_BALL),
|
||||
TRAINER_CLASS(BIRD_KEEPER, "BIRD KEEPER", 8),
|
||||
TRAINER_CLASS(COLLECTOR, "COLLECTOR", 15, ITEM_PREMIER_BALL),
|
||||
TRAINER_CLASS(SWIMMER_M, "SWIMMER♂", 2, ITEM_DIVE_BALL),
|
||||
TRAINER_CLASS(TEAM_MAGMA, "TEAM MAGMA"),
|
||||
TRAINER_CLASS(EXPERT, "EXPERT", 10),
|
||||
TRAINER_CLASS(AQUA_ADMIN, "AQUA ADMIN", 10),
|
||||
TRAINER_CLASS(BLACK_BELT, "BLACK BELT", 8, ITEM_ULTRA_BALL),
|
||||
TRAINER_CLASS(AQUA_LEADER, "AQUA LEADER", 20, ITEM_MASTER_BALL),
|
||||
TRAINER_CLASS(HEX_MANIAC, "HEX MANIAC", 6),
|
||||
TRAINER_CLASS(AROMA_LADY, "AROMA LADY", 10),
|
||||
TRAINER_CLASS(RUIN_MANIAC, "RUIN MANIAC", 15),
|
||||
TRAINER_CLASS(INTERVIEWER, "INTERVIEWER", 12),
|
||||
TRAINER_CLASS(TUBER_F, "TUBER", 1),
|
||||
TRAINER_CLASS(TUBER_M, "TUBER", 1),
|
||||
TRAINER_CLASS(LADY, "LADY", 50),
|
||||
TRAINER_CLASS(BEAUTY, "BEAUTY", 20),
|
||||
TRAINER_CLASS(RICH_BOY, "RICH BOY", 50),
|
||||
TRAINER_CLASS(POKEMANIAC, "POKéMANIAC", 15),
|
||||
TRAINER_CLASS(GUITARIST, "GUITARIST", 8),
|
||||
TRAINER_CLASS(KINDLER, "KINDLER", 8),
|
||||
TRAINER_CLASS(CAMPER, "CAMPER", 4),
|
||||
TRAINER_CLASS(PICNICKER, "PICNICKER", 4),
|
||||
TRAINER_CLASS(BUG_MANIAC, "BUG MANIAC", 15),
|
||||
TRAINER_CLASS(PSYCHIC, "PSYCHIC", 6),
|
||||
TRAINER_CLASS(GENTLEMAN, "GENTLEMAN", 20, ITEM_LUXURY_BALL),
|
||||
TRAINER_CLASS(ELITE_FOUR, "ELITE FOUR", 25, ITEM_ULTRA_BALL),
|
||||
TRAINER_CLASS(LEADER, "LEADER", 25),
|
||||
TRAINER_CLASS(SCHOOL_KID, "SCHOOL KID"),
|
||||
TRAINER_CLASS(SR_AND_JR, "SR. AND JR.", 4),
|
||||
TRAINER_CLASS(WINSTRATE, "WINSTRATE", 10),
|
||||
TRAINER_CLASS(POKEFAN, "POKéFAN", 20),
|
||||
TRAINER_CLASS(YOUNGSTER, "YOUNGSTER", 4),
|
||||
TRAINER_CLASS(CHAMPION, "CHAMPION", 50),
|
||||
TRAINER_CLASS(FISHERMAN, "FISHERMAN", 10, B_TRAINER_CLASS_POKE_BALLS >= GEN_8 ? ITEM_DIVE_BALL : ITEM_LURE_BALL),
|
||||
TRAINER_CLASS(TRIATHLETE, "TRIATHLETE", 10),
|
||||
TRAINER_CLASS(DRAGON_TAMER, "DRAGON TAMER", 12),
|
||||
TRAINER_CLASS(NINJA_BOY, "NINJA BOY", 3),
|
||||
TRAINER_CLASS(BATTLE_GIRL, "BATTLE GIRL", 6),
|
||||
TRAINER_CLASS(PARASOL_LADY, "PARASOL LADY", 10),
|
||||
TRAINER_CLASS(SWIMMER_F, "SWIMMER♀", 2, ITEM_DIVE_BALL),
|
||||
TRAINER_CLASS(TWINS, "TWINS", 3),
|
||||
TRAINER_CLASS(SAILOR, "SAILOR", 8),
|
||||
TRAINER_CLASS(COOLTRAINER_2, "COOLTRAINER", 5, ITEM_ULTRA_BALL),
|
||||
TRAINER_CLASS(MAGMA_ADMIN, "MAGMA ADMIN", 10),
|
||||
TRAINER_CLASS(RIVAL, "{PKMN} TRAINER", 15),
|
||||
TRAINER_CLASS(BUG_CATCHER, "BUG CATCHER", 4),
|
||||
TRAINER_CLASS(PKMN_RANGER, "{PKMN} RANGER", 12),
|
||||
TRAINER_CLASS(MAGMA_LEADER, "MAGMA LEADER", 20, ITEM_MASTER_BALL),
|
||||
TRAINER_CLASS(LASS, "LASS", 4),
|
||||
TRAINER_CLASS(YOUNG_COUPLE, "YOUNG COUPLE", 8),
|
||||
TRAINER_CLASS(OLD_COUPLE, "OLD COUPLE", 10),
|
||||
TRAINER_CLASS(SIS_AND_BRO, "SIS AND BRO", 3),
|
||||
TRAINER_CLASS(SALON_MAIDEN, "SALON MAIDEN"),
|
||||
TRAINER_CLASS(DOME_ACE, "DOME ACE"),
|
||||
TRAINER_CLASS(PALACE_MAVEN, "PALACE MAVEN"),
|
||||
TRAINER_CLASS(ARENA_TYCOON, "ARENA TYCOON"),
|
||||
TRAINER_CLASS(FACTORY_HEAD, "FACTORY HEAD"),
|
||||
TRAINER_CLASS(PIKE_QUEEN, "PIKE QUEEN"),
|
||||
TRAINER_CLASS(PYRAMID_KING, "PYRAMID KING"),
|
||||
TRAINER_CLASS(RS_PROTAG, "{PKMN} TRAINER"),
|
||||
TRAINER_CLASS(TRAINER_CLASS_PKMN_TRAINER_1, "{PKMN} TRAINER"),
|
||||
TRAINER_CLASS(TRAINER_CLASS_PKMN_TRAINER_2, "{PKMN} TRAINER"),
|
||||
TRAINER_CLASS(TRAINER_CLASS_HIKER, "HIKER", 10),
|
||||
TRAINER_CLASS(TRAINER_CLASS_TEAM_AQUA, "TEAM AQUA"),
|
||||
TRAINER_CLASS(TRAINER_CLASS_PKMN_BREEDER, "{PKMN} BREEDER", 10, B_TRAINER_CLASS_POKE_BALLS >= GEN_8 ? ITEM_HEAL_BALL : ITEM_FRIEND_BALL),
|
||||
TRAINER_CLASS(TRAINER_CLASS_COOLTRAINER, "COOLTRAINER", 12, ITEM_ULTRA_BALL),
|
||||
TRAINER_CLASS(TRAINER_CLASS_BIRD_KEEPER, "BIRD KEEPER", 8),
|
||||
TRAINER_CLASS(TRAINER_CLASS_COLLECTOR, "COLLECTOR", 15, ITEM_PREMIER_BALL),
|
||||
TRAINER_CLASS(TRAINER_CLASS_SWIMMER_M, "SWIMMER♂", 2, ITEM_DIVE_BALL),
|
||||
TRAINER_CLASS(TRAINER_CLASS_TEAM_MAGMA, "TEAM MAGMA"),
|
||||
TRAINER_CLASS(TRAINER_CLASS_EXPERT, "EXPERT", 10),
|
||||
TRAINER_CLASS(TRAINER_CLASS_AQUA_ADMIN, "AQUA ADMIN", 10),
|
||||
TRAINER_CLASS(TRAINER_CLASS_BLACK_BELT, "BLACK BELT", 8, ITEM_ULTRA_BALL),
|
||||
TRAINER_CLASS(TRAINER_CLASS_AQUA_LEADER, "AQUA LEADER", 20, ITEM_MASTER_BALL),
|
||||
TRAINER_CLASS(TRAINER_CLASS_HEX_MANIAC, "HEX MANIAC", 6),
|
||||
TRAINER_CLASS(TRAINER_CLASS_AROMA_LADY, "AROMA LADY", 10),
|
||||
TRAINER_CLASS(TRAINER_CLASS_RUIN_MANIAC, "RUIN MANIAC", 15),
|
||||
TRAINER_CLASS(TRAINER_CLASS_INTERVIEWER, "INTERVIEWER", 12),
|
||||
TRAINER_CLASS(TRAINER_CLASS_TUBER_F, "TUBER", 1),
|
||||
TRAINER_CLASS(TRAINER_CLASS_TUBER_M, "TUBER", 1),
|
||||
TRAINER_CLASS(TRAINER_CLASS_LADY, "LADY", 50),
|
||||
TRAINER_CLASS(TRAINER_CLASS_BEAUTY, "BEAUTY", 20),
|
||||
TRAINER_CLASS(TRAINER_CLASS_RICH_BOY, "RICH BOY", 50),
|
||||
TRAINER_CLASS(TRAINER_CLASS_POKEMANIAC, "POKéMANIAC", 15),
|
||||
TRAINER_CLASS(TRAINER_CLASS_GUITARIST, "GUITARIST", 8),
|
||||
TRAINER_CLASS(TRAINER_CLASS_KINDLER, "KINDLER", 8),
|
||||
TRAINER_CLASS(TRAINER_CLASS_CAMPER, "CAMPER", 4),
|
||||
TRAINER_CLASS(TRAINER_CLASS_PICNICKER, "PICNICKER", 4),
|
||||
TRAINER_CLASS(TRAINER_CLASS_BUG_MANIAC, "BUG MANIAC", 15),
|
||||
TRAINER_CLASS(TRAINER_CLASS_PSYCHIC, "PSYCHIC", 6),
|
||||
TRAINER_CLASS(TRAINER_CLASS_GENTLEMAN, "GENTLEMAN", 20, ITEM_LUXURY_BALL),
|
||||
TRAINER_CLASS(TRAINER_CLASS_ELITE_FOUR, "ELITE FOUR", 25, ITEM_ULTRA_BALL),
|
||||
TRAINER_CLASS(TRAINER_CLASS_LEADER, "LEADER", 25),
|
||||
TRAINER_CLASS(TRAINER_CLASS_SCHOOL_KID, "SCHOOL KID"),
|
||||
TRAINER_CLASS(TRAINER_CLASS_SR_AND_JR, "SR. AND JR.", 4),
|
||||
TRAINER_CLASS(TRAINER_CLASS_WINSTRATE, "WINSTRATE", 10),
|
||||
TRAINER_CLASS(TRAINER_CLASS_POKEFAN, "POKéFAN", 20),
|
||||
TRAINER_CLASS(TRAINER_CLASS_YOUNGSTER, "YOUNGSTER", 4),
|
||||
TRAINER_CLASS(TRAINER_CLASS_CHAMPION, "CHAMPION", 50),
|
||||
TRAINER_CLASS(TRAINER_CLASS_FISHERMAN, "FISHERMAN", 10, B_TRAINER_CLASS_POKE_BALLS >= GEN_8 ? ITEM_DIVE_BALL : ITEM_LURE_BALL),
|
||||
TRAINER_CLASS(TRAINER_CLASS_TRIATHLETE, "TRIATHLETE", 10),
|
||||
TRAINER_CLASS(TRAINER_CLASS_DRAGON_TAMER, "DRAGON TAMER", 12),
|
||||
TRAINER_CLASS(TRAINER_CLASS_NINJA_BOY, "NINJA BOY", 3),
|
||||
TRAINER_CLASS(TRAINER_CLASS_BATTLE_GIRL, "BATTLE GIRL", 6),
|
||||
TRAINER_CLASS(TRAINER_CLASS_PARASOL_LADY, "PARASOL LADY", 10),
|
||||
TRAINER_CLASS(TRAINER_CLASS_SWIMMER_F, "SWIMMER♀", 2, ITEM_DIVE_BALL),
|
||||
TRAINER_CLASS(TRAINER_CLASS_TWINS, "TWINS", 3),
|
||||
TRAINER_CLASS(TRAINER_CLASS_SAILOR, "SAILOR", 8),
|
||||
TRAINER_CLASS(TRAINER_CLASS_COOLTRAINER_2, "COOLTRAINER", 5, ITEM_ULTRA_BALL),
|
||||
TRAINER_CLASS(TRAINER_CLASS_MAGMA_ADMIN, "MAGMA ADMIN", 10),
|
||||
TRAINER_CLASS(TRAINER_CLASS_RIVAL, "{PKMN} TRAINER", 15),
|
||||
TRAINER_CLASS(TRAINER_CLASS_BUG_CATCHER, "BUG CATCHER", 4),
|
||||
TRAINER_CLASS(TRAINER_CLASS_PKMN_RANGER, "{PKMN} RANGER", 12),
|
||||
TRAINER_CLASS(TRAINER_CLASS_MAGMA_LEADER, "MAGMA LEADER", 20, ITEM_MASTER_BALL),
|
||||
TRAINER_CLASS(TRAINER_CLASS_LASS, "LASS", 4),
|
||||
TRAINER_CLASS(TRAINER_CLASS_YOUNG_COUPLE, "YOUNG COUPLE", 8),
|
||||
TRAINER_CLASS(TRAINER_CLASS_OLD_COUPLE, "OLD COUPLE", 10),
|
||||
TRAINER_CLASS(TRAINER_CLASS_SIS_AND_BRO, "SIS AND BRO", 3),
|
||||
TRAINER_CLASS(TRAINER_CLASS_SALON_MAIDEN, "SALON MAIDEN"),
|
||||
TRAINER_CLASS(TRAINER_CLASS_DOME_ACE, "DOME ACE"),
|
||||
TRAINER_CLASS(TRAINER_CLASS_PALACE_MAVEN, "PALACE MAVEN"),
|
||||
TRAINER_CLASS(TRAINER_CLASS_ARENA_TYCOON, "ARENA TYCOON"),
|
||||
TRAINER_CLASS(TRAINER_CLASS_FACTORY_HEAD, "FACTORY HEAD"),
|
||||
TRAINER_CLASS(TRAINER_CLASS_PIKE_QUEEN, "PIKE QUEEN"),
|
||||
TRAINER_CLASS(TRAINER_CLASS_PYRAMID_KING, "PYRAMID KING"),
|
||||
TRAINER_CLASS(TRAINER_CLASS_RS_PROTAG, "{PKMN} TRAINER"),
|
||||
};
|
||||
|
||||
static void (* const sTurnActionsFuncsTable[])(void) =
|
||||
|
||||
@ -297,110 +297,110 @@ const u32 gTrainerBackPicPalette_Leaf[] = INCBIN_U32("graphics/trainers/back_pic
|
||||
// gTrainerFrontPic/gTrainerPalette pointers, (e.g "gTrainerFrontPic_Hiker" and "gTrainerPalette_Hiker").
|
||||
// The last three parameters control the X and Y coordinates and rotation of the mugshot on the screen.
|
||||
// They default to 0, 0, and 0x200 which are default values used by the majority of the game's trainer sprites.
|
||||
#define TRAINER_SPRITE(trainerPic, file, ...) \
|
||||
[TRAINER_PIC_##trainerPic] = \
|
||||
{ \
|
||||
.frontPic = {gTrainerFrontPic_##file, TRAINER_PIC_SIZE, TRAINER_PIC_##trainerPic},\
|
||||
.palette = {gTrainerPalette_##file, TRAINER_PIC_##trainerPic}, \
|
||||
.mugshotCoords = {DEFAULT(0, __VA_ARGS__), DEFAULT_2(0, __VA_ARGS__)}, \
|
||||
.mugshotRotation = DEFAULT_3(0x200, __VA_ARGS__), \
|
||||
#define TRAINER_SPRITE(trainerPic, picFile, paletteFile, ...) \
|
||||
[trainerPic] = \
|
||||
{ \
|
||||
.frontPic = {picFile, TRAINER_PIC_SIZE, trainerPic}, \
|
||||
.palette = {paletteFile, trainerPic}, \
|
||||
.mugshotCoords = {DEFAULT(0, __VA_ARGS__), DEFAULT_2(0, __VA_ARGS__)}, \
|
||||
.mugshotRotation = DEFAULT_3(0x200, __VA_ARGS__), \
|
||||
}
|
||||
|
||||
const struct TrainerSprite gTrainerSprites[] =
|
||||
{
|
||||
TRAINER_SPRITE(HIKER, Hiker),
|
||||
TRAINER_SPRITE(AQUA_GRUNT_M, AquaGruntM),
|
||||
TRAINER_SPRITE(POKEMON_BREEDER_F, PokemonBreederF),
|
||||
TRAINER_SPRITE(COOLTRAINER_M, CoolTrainerM),
|
||||
TRAINER_SPRITE(BIRD_KEEPER, BirdKeeper),
|
||||
TRAINER_SPRITE(COLLECTOR, Collector),
|
||||
TRAINER_SPRITE(AQUA_GRUNT_F, AquaGruntF),
|
||||
TRAINER_SPRITE(SWIMMER_M, SwimmerM),
|
||||
TRAINER_SPRITE(MAGMA_GRUNT_M, MagmaGruntM),
|
||||
TRAINER_SPRITE(EXPERT_M, ExpertM),
|
||||
TRAINER_SPRITE(AQUA_ADMIN_M, AquaAdminM),
|
||||
TRAINER_SPRITE(BLACK_BELT, BlackBelt),
|
||||
TRAINER_SPRITE(AQUA_ADMIN_F, AquaAdminF),
|
||||
TRAINER_SPRITE(AQUA_LEADER_ARCHIE, AquaLeaderArchie),
|
||||
TRAINER_SPRITE(HEX_MANIAC, HexManiac),
|
||||
TRAINER_SPRITE(AROMA_LADY, AromaLady),
|
||||
TRAINER_SPRITE(RUIN_MANIAC, RuinManiac),
|
||||
TRAINER_SPRITE(INTERVIEWER, Interviewer),
|
||||
TRAINER_SPRITE(TUBER_F, TuberF),
|
||||
TRAINER_SPRITE(TUBER_M, TuberM),
|
||||
TRAINER_SPRITE(COOLTRAINER_F, CoolTrainerF),
|
||||
TRAINER_SPRITE(LADY, Lady),
|
||||
TRAINER_SPRITE(BEAUTY, Beauty),
|
||||
TRAINER_SPRITE(RICH_BOY, RichBoy),
|
||||
TRAINER_SPRITE(EXPERT_F, ExpertF),
|
||||
TRAINER_SPRITE(POKEMANIAC, Pokemaniac),
|
||||
TRAINER_SPRITE(MAGMA_GRUNT_F, MagmaGruntF),
|
||||
TRAINER_SPRITE(GUITARIST, Guitarist),
|
||||
TRAINER_SPRITE(KINDLER, Kindler),
|
||||
TRAINER_SPRITE(CAMPER, Camper),
|
||||
TRAINER_SPRITE(PICNICKER, Picnicker),
|
||||
TRAINER_SPRITE(BUG_MANIAC, BugManiac),
|
||||
TRAINER_SPRITE(POKEMON_BREEDER_M, PokemonBreederM),
|
||||
TRAINER_SPRITE(PSYCHIC_M, PsychicM),
|
||||
TRAINER_SPRITE(PSYCHIC_F, PsychicF),
|
||||
TRAINER_SPRITE(GENTLEMAN, Gentleman),
|
||||
TRAINER_SPRITE(ELITE_FOUR_SIDNEY, EliteFourSidney),
|
||||
TRAINER_SPRITE(ELITE_FOUR_PHOEBE, EliteFourPhoebe),
|
||||
TRAINER_SPRITE(ELITE_FOUR_GLACIA, EliteFourGlacia, -4, 4, 0x1B0),
|
||||
TRAINER_SPRITE(ELITE_FOUR_DRAKE, EliteFourDrake, 0, 5, 0x1A0),
|
||||
TRAINER_SPRITE(LEADER_ROXANNE, LeaderRoxanne),
|
||||
TRAINER_SPRITE(LEADER_BRAWLY, LeaderBrawly),
|
||||
TRAINER_SPRITE(LEADER_WATTSON, LeaderWattson),
|
||||
TRAINER_SPRITE(LEADER_FLANNERY, LeaderFlannery),
|
||||
TRAINER_SPRITE(LEADER_NORMAN, LeaderNorman),
|
||||
TRAINER_SPRITE(LEADER_WINONA, LeaderWinona),
|
||||
TRAINER_SPRITE(LEADER_TATE_AND_LIZA, LeaderTateAndLiza),
|
||||
TRAINER_SPRITE(LEADER_JUAN, LeaderJuan),
|
||||
TRAINER_SPRITE(SCHOOL_KID_M, SchoolKidM),
|
||||
TRAINER_SPRITE(SCHOOL_KID_F, SchoolKidF),
|
||||
TRAINER_SPRITE(SR_AND_JR, SrAndJr),
|
||||
TRAINER_SPRITE(POKEFAN_M, PokefanM),
|
||||
TRAINER_SPRITE(POKEFAN_F, PokefanF),
|
||||
TRAINER_SPRITE(YOUNGSTER, Youngster),
|
||||
TRAINER_SPRITE(CHAMPION_WALLACE, ChampionWallace, -8, 7, 0x188),
|
||||
TRAINER_SPRITE(FISHERMAN, Fisherman),
|
||||
TRAINER_SPRITE(CYCLING_TRIATHLETE_M, CyclingTriathleteM),
|
||||
TRAINER_SPRITE(CYCLING_TRIATHLETE_F, CyclingTriathleteF),
|
||||
TRAINER_SPRITE(RUNNING_TRIATHLETE_M, RunningTriathleteM),
|
||||
TRAINER_SPRITE(RUNNING_TRIATHLETE_F, RunningTriathleteF),
|
||||
TRAINER_SPRITE(SWIMMING_TRIATHLETE_M, SwimmingTriathleteM),
|
||||
TRAINER_SPRITE(SWIMMING_TRIATHLETE_F, SwimmingTriathleteF),
|
||||
TRAINER_SPRITE(DRAGON_TAMER, DragonTamer),
|
||||
TRAINER_SPRITE(NINJA_BOY, NinjaBoy),
|
||||
TRAINER_SPRITE(BATTLE_GIRL, BattleGirl),
|
||||
TRAINER_SPRITE(PARASOL_LADY, ParasolLady),
|
||||
TRAINER_SPRITE(SWIMMER_F, SwimmerF),
|
||||
TRAINER_SPRITE(TWINS, Twins),
|
||||
TRAINER_SPRITE(SAILOR, Sailor),
|
||||
TRAINER_SPRITE(MAGMA_ADMIN, MagmaAdmin),
|
||||
TRAINER_SPRITE(WALLY, Wally),
|
||||
TRAINER_SPRITE(BRENDAN, Brendan),
|
||||
TRAINER_SPRITE(MAY, May),
|
||||
TRAINER_SPRITE(BUG_CATCHER, BugCatcher),
|
||||
TRAINER_SPRITE(POKEMON_RANGER_M, PokemonRangerM),
|
||||
TRAINER_SPRITE(POKEMON_RANGER_F, PokemonRangerF),
|
||||
TRAINER_SPRITE(MAGMA_LEADER_MAXIE, MagmaLeaderMaxie),
|
||||
TRAINER_SPRITE(LASS, Lass),
|
||||
TRAINER_SPRITE(YOUNG_COUPLE, YoungCouple),
|
||||
TRAINER_SPRITE(OLD_COUPLE, OldCouple),
|
||||
TRAINER_SPRITE(SIS_AND_BRO, SisAndBro),
|
||||
TRAINER_SPRITE(STEVEN, Steven, 0, 7, 0x188),
|
||||
TRAINER_SPRITE(SALON_MAIDEN_ANABEL, SalonMaidenAnabel),
|
||||
TRAINER_SPRITE(DOME_ACE_TUCKER, DomeAceTucker),
|
||||
TRAINER_SPRITE(PALACE_MAVEN_SPENSER, PalaceMavenSpenser),
|
||||
TRAINER_SPRITE(ARENA_TYCOON_GRETA, ArenaTycoonGreta),
|
||||
TRAINER_SPRITE(FACTORY_HEAD_NOLAND, FactoryHeadNoland),
|
||||
TRAINER_SPRITE(PIKE_QUEEN_LUCY, PikeQueenLucy),
|
||||
TRAINER_SPRITE(PYRAMID_KING_BRANDON, PyramidKingBrandon),
|
||||
TRAINER_SPRITE(RED, Red),
|
||||
TRAINER_SPRITE(LEAF, Leaf),
|
||||
TRAINER_SPRITE(RS_BRENDAN, RubySapphireBrendan),
|
||||
TRAINER_SPRITE(RS_MAY, RubySapphireMay),
|
||||
TRAINER_SPRITE(TRAINER_PIC_HIKER, gTrainerFrontPic_Hiker, gTrainerPalette_Hiker),
|
||||
TRAINER_SPRITE(TRAINER_PIC_AQUA_GRUNT_M, gTrainerFrontPic_AquaGruntM, gTrainerPalette_AquaGruntM),
|
||||
TRAINER_SPRITE(TRAINER_PIC_POKEMON_BREEDER_F, gTrainerFrontPic_PokemonBreederF, gTrainerPalette_PokemonBreederF),
|
||||
TRAINER_SPRITE(TRAINER_PIC_COOLTRAINER_M, gTrainerFrontPic_CoolTrainerM, gTrainerPalette_CoolTrainerM),
|
||||
TRAINER_SPRITE(TRAINER_PIC_BIRD_KEEPER, gTrainerFrontPic_BirdKeeper, gTrainerPalette_BirdKeeper),
|
||||
TRAINER_SPRITE(TRAINER_PIC_COLLECTOR, gTrainerFrontPic_Collector, gTrainerPalette_Collector),
|
||||
TRAINER_SPRITE(TRAINER_PIC_AQUA_GRUNT_F, gTrainerFrontPic_AquaGruntF, gTrainerPalette_AquaGruntF),
|
||||
TRAINER_SPRITE(TRAINER_PIC_SWIMMER_M, gTrainerFrontPic_SwimmerM, gTrainerPalette_SwimmerM),
|
||||
TRAINER_SPRITE(TRAINER_PIC_MAGMA_GRUNT_M, gTrainerFrontPic_MagmaGruntM, gTrainerPalette_MagmaGruntM),
|
||||
TRAINER_SPRITE(TRAINER_PIC_EXPERT_M, gTrainerFrontPic_ExpertM, gTrainerPalette_ExpertM),
|
||||
TRAINER_SPRITE(TRAINER_PIC_AQUA_ADMIN_M, gTrainerFrontPic_AquaAdminM, gTrainerPalette_AquaAdminM),
|
||||
TRAINER_SPRITE(TRAINER_PIC_BLACK_BELT, gTrainerFrontPic_BlackBelt, gTrainerPalette_BlackBelt),
|
||||
TRAINER_SPRITE(TRAINER_PIC_AQUA_ADMIN_F, gTrainerFrontPic_AquaAdminF, gTrainerPalette_AquaAdminF),
|
||||
TRAINER_SPRITE(TRAINER_PIC_AQUA_LEADER_ARCHIE, gTrainerFrontPic_AquaLeaderArchie, gTrainerPalette_AquaLeaderArchie),
|
||||
TRAINER_SPRITE(TRAINER_PIC_HEX_MANIAC, gTrainerFrontPic_HexManiac, gTrainerPalette_HexManiac),
|
||||
TRAINER_SPRITE(TRAINER_PIC_AROMA_LADY, gTrainerFrontPic_AromaLady, gTrainerPalette_AromaLady),
|
||||
TRAINER_SPRITE(TRAINER_PIC_RUIN_MANIAC, gTrainerFrontPic_RuinManiac, gTrainerPalette_RuinManiac),
|
||||
TRAINER_SPRITE(TRAINER_PIC_INTERVIEWER, gTrainerFrontPic_Interviewer, gTrainerPalette_Interviewer),
|
||||
TRAINER_SPRITE(TRAINER_PIC_TUBER_F, gTrainerFrontPic_TuberF, gTrainerPalette_TuberF),
|
||||
TRAINER_SPRITE(TRAINER_PIC_TUBER_M, gTrainerFrontPic_TuberM, gTrainerPalette_TuberM),
|
||||
TRAINER_SPRITE(TRAINER_PIC_COOLTRAINER_F, gTrainerFrontPic_CoolTrainerF, gTrainerPalette_CoolTrainerF),
|
||||
TRAINER_SPRITE(TRAINER_PIC_LADY, gTrainerFrontPic_Lady, gTrainerPalette_Lady),
|
||||
TRAINER_SPRITE(TRAINER_PIC_BEAUTY, gTrainerFrontPic_Beauty, gTrainerPalette_Beauty),
|
||||
TRAINER_SPRITE(TRAINER_PIC_RICH_BOY, gTrainerFrontPic_RichBoy, gTrainerPalette_RichBoy),
|
||||
TRAINER_SPRITE(TRAINER_PIC_EXPERT_F, gTrainerFrontPic_ExpertF, gTrainerPalette_ExpertF),
|
||||
TRAINER_SPRITE(TRAINER_PIC_POKEMANIAC, gTrainerFrontPic_Pokemaniac, gTrainerPalette_Pokemaniac),
|
||||
TRAINER_SPRITE(TRAINER_PIC_MAGMA_GRUNT_F, gTrainerFrontPic_MagmaGruntF, gTrainerPalette_MagmaGruntF),
|
||||
TRAINER_SPRITE(TRAINER_PIC_GUITARIST, gTrainerFrontPic_Guitarist, gTrainerPalette_Guitarist),
|
||||
TRAINER_SPRITE(TRAINER_PIC_KINDLER, gTrainerFrontPic_Kindler, gTrainerPalette_Kindler),
|
||||
TRAINER_SPRITE(TRAINER_PIC_CAMPER, gTrainerFrontPic_Camper, gTrainerPalette_Camper),
|
||||
TRAINER_SPRITE(TRAINER_PIC_PICNICKER, gTrainerFrontPic_Picnicker, gTrainerPalette_Picnicker),
|
||||
TRAINER_SPRITE(TRAINER_PIC_BUG_MANIAC, gTrainerFrontPic_BugManiac, gTrainerPalette_BugManiac),
|
||||
TRAINER_SPRITE(TRAINER_PIC_POKEMON_BREEDER_M, gTrainerFrontPic_PokemonBreederM, gTrainerPalette_PokemonBreederM),
|
||||
TRAINER_SPRITE(TRAINER_PIC_PSYCHIC_M, gTrainerFrontPic_PsychicM, gTrainerPalette_PsychicM),
|
||||
TRAINER_SPRITE(TRAINER_PIC_PSYCHIC_F, gTrainerFrontPic_PsychicF, gTrainerPalette_PsychicF),
|
||||
TRAINER_SPRITE(TRAINER_PIC_GENTLEMAN, gTrainerFrontPic_Gentleman, gTrainerPalette_Gentleman),
|
||||
TRAINER_SPRITE(TRAINER_PIC_ELITE_FOUR_SIDNEY, gTrainerFrontPic_EliteFourSidney, gTrainerPalette_EliteFourSidney),
|
||||
TRAINER_SPRITE(TRAINER_PIC_ELITE_FOUR_PHOEBE, gTrainerFrontPic_EliteFourPhoebe, gTrainerPalette_EliteFourPhoebe),
|
||||
TRAINER_SPRITE(TRAINER_PIC_ELITE_FOUR_GLACIA, gTrainerFrontPic_EliteFourGlacia, gTrainerPalette_EliteFourGlacia, -4, 4, 0x1B0),
|
||||
TRAINER_SPRITE(TRAINER_PIC_ELITE_FOUR_DRAKE, gTrainerFrontPic_EliteFourDrake, gTrainerPalette_EliteFourDrake, 0, 5, 0x1A0),
|
||||
TRAINER_SPRITE(TRAINER_PIC_LEADER_ROXANNE, gTrainerFrontPic_LeaderRoxanne, gTrainerPalette_LeaderRoxanne),
|
||||
TRAINER_SPRITE(TRAINER_PIC_LEADER_BRAWLY, gTrainerFrontPic_LeaderBrawly, gTrainerPalette_LeaderBrawly),
|
||||
TRAINER_SPRITE(TRAINER_PIC_LEADER_WATTSON, gTrainerFrontPic_LeaderWattson, gTrainerPalette_LeaderWattson),
|
||||
TRAINER_SPRITE(TRAINER_PIC_LEADER_FLANNERY, gTrainerFrontPic_LeaderFlannery, gTrainerPalette_LeaderFlannery),
|
||||
TRAINER_SPRITE(TRAINER_PIC_LEADER_NORMAN, gTrainerFrontPic_LeaderNorman, gTrainerPalette_LeaderNorman),
|
||||
TRAINER_SPRITE(TRAINER_PIC_LEADER_WINONA, gTrainerFrontPic_LeaderWinona, gTrainerPalette_LeaderWinona),
|
||||
TRAINER_SPRITE(TRAINER_PIC_LEADER_TATE_AND_LIZA, gTrainerFrontPic_LeaderTateAndLiza, gTrainerPalette_LeaderTateAndLiza),
|
||||
TRAINER_SPRITE(TRAINER_PIC_LEADER_JUAN, gTrainerFrontPic_LeaderJuan, gTrainerPalette_LeaderJuan),
|
||||
TRAINER_SPRITE(TRAINER_PIC_SCHOOL_KID_M, gTrainerFrontPic_SchoolKidM, gTrainerPalette_SchoolKidM),
|
||||
TRAINER_SPRITE(TRAINER_PIC_SCHOOL_KID_F, gTrainerFrontPic_SchoolKidF, gTrainerPalette_SchoolKidF),
|
||||
TRAINER_SPRITE(TRAINER_PIC_SR_AND_JR, gTrainerFrontPic_SrAndJr, gTrainerPalette_SrAndJr),
|
||||
TRAINER_SPRITE(TRAINER_PIC_POKEFAN_M, gTrainerFrontPic_PokefanM, gTrainerPalette_PokefanM),
|
||||
TRAINER_SPRITE(TRAINER_PIC_POKEFAN_F, gTrainerFrontPic_PokefanF, gTrainerPalette_PokefanF),
|
||||
TRAINER_SPRITE(TRAINER_PIC_YOUNGSTER, gTrainerFrontPic_Youngster, gTrainerPalette_Youngster),
|
||||
TRAINER_SPRITE(TRAINER_PIC_CHAMPION_WALLACE, gTrainerFrontPic_ChampionWallace, gTrainerPalette_ChampionWallace, -8, 7, 0x188),
|
||||
TRAINER_SPRITE(TRAINER_PIC_FISHERMAN, gTrainerFrontPic_Fisherman, gTrainerPalette_Fisherman),
|
||||
TRAINER_SPRITE(TRAINER_PIC_CYCLING_TRIATHLETE_M, gTrainerFrontPic_CyclingTriathleteM, gTrainerPalette_CyclingTriathleteM),
|
||||
TRAINER_SPRITE(TRAINER_PIC_CYCLING_TRIATHLETE_F, gTrainerFrontPic_CyclingTriathleteF, gTrainerPalette_CyclingTriathleteF),
|
||||
TRAINER_SPRITE(TRAINER_PIC_RUNNING_TRIATHLETE_M, gTrainerFrontPic_RunningTriathleteM, gTrainerPalette_RunningTriathleteM),
|
||||
TRAINER_SPRITE(TRAINER_PIC_RUNNING_TRIATHLETE_F, gTrainerFrontPic_RunningTriathleteF, gTrainerPalette_RunningTriathleteF),
|
||||
TRAINER_SPRITE(TRAINER_PIC_SWIMMING_TRIATHLETE_M, gTrainerFrontPic_SwimmingTriathleteM, gTrainerPalette_SwimmingTriathleteM),
|
||||
TRAINER_SPRITE(TRAINER_PIC_SWIMMING_TRIATHLETE_F, gTrainerFrontPic_SwimmingTriathleteF, gTrainerPalette_SwimmingTriathleteF),
|
||||
TRAINER_SPRITE(TRAINER_PIC_DRAGON_TAMER, gTrainerFrontPic_DragonTamer, gTrainerPalette_DragonTamer),
|
||||
TRAINER_SPRITE(TRAINER_PIC_NINJA_BOY, gTrainerFrontPic_NinjaBoy, gTrainerPalette_NinjaBoy),
|
||||
TRAINER_SPRITE(TRAINER_PIC_BATTLE_GIRL, gTrainerFrontPic_BattleGirl, gTrainerPalette_BattleGirl),
|
||||
TRAINER_SPRITE(TRAINER_PIC_PARASOL_LADY, gTrainerFrontPic_ParasolLady, gTrainerPalette_ParasolLady),
|
||||
TRAINER_SPRITE(TRAINER_PIC_SWIMMER_F, gTrainerFrontPic_SwimmerF, gTrainerPalette_SwimmerF),
|
||||
TRAINER_SPRITE(TRAINER_PIC_TWINS, gTrainerFrontPic_Twins, gTrainerPalette_Twins),
|
||||
TRAINER_SPRITE(TRAINER_PIC_SAILOR, gTrainerFrontPic_Sailor, gTrainerPalette_Sailor),
|
||||
TRAINER_SPRITE(TRAINER_PIC_MAGMA_ADMIN, gTrainerFrontPic_MagmaAdmin, gTrainerPalette_MagmaAdmin),
|
||||
TRAINER_SPRITE(TRAINER_PIC_WALLY, gTrainerFrontPic_Wally, gTrainerPalette_Wally),
|
||||
TRAINER_SPRITE(TRAINER_PIC_BRENDAN, gTrainerFrontPic_Brendan, gTrainerPalette_Brendan),
|
||||
TRAINER_SPRITE(TRAINER_PIC_MAY, gTrainerFrontPic_May, gTrainerPalette_May),
|
||||
TRAINER_SPRITE(TRAINER_PIC_BUG_CATCHER, gTrainerFrontPic_BugCatcher, gTrainerPalette_BugCatcher),
|
||||
TRAINER_SPRITE(TRAINER_PIC_POKEMON_RANGER_M, gTrainerFrontPic_PokemonRangerM, gTrainerPalette_PokemonRangerM),
|
||||
TRAINER_SPRITE(TRAINER_PIC_POKEMON_RANGER_F, gTrainerFrontPic_PokemonRangerF, gTrainerPalette_PokemonRangerF),
|
||||
TRAINER_SPRITE(TRAINER_PIC_MAGMA_LEADER_MAXIE, gTrainerFrontPic_MagmaLeaderMaxie, gTrainerPalette_MagmaLeaderMaxie),
|
||||
TRAINER_SPRITE(TRAINER_PIC_LASS, gTrainerFrontPic_Lass, gTrainerPalette_Lass),
|
||||
TRAINER_SPRITE(TRAINER_PIC_YOUNG_COUPLE, gTrainerFrontPic_YoungCouple, gTrainerPalette_YoungCouple),
|
||||
TRAINER_SPRITE(TRAINER_PIC_OLD_COUPLE, gTrainerFrontPic_OldCouple, gTrainerPalette_OldCouple),
|
||||
TRAINER_SPRITE(TRAINER_PIC_SIS_AND_BRO, gTrainerFrontPic_SisAndBro, gTrainerPalette_SisAndBro),
|
||||
TRAINER_SPRITE(TRAINER_PIC_STEVEN, gTrainerFrontPic_Steven, gTrainerPalette_Steven, 0, 7, 0x188),
|
||||
TRAINER_SPRITE(TRAINER_PIC_SALON_MAIDEN_ANABEL, gTrainerFrontPic_SalonMaidenAnabel, gTrainerPalette_SalonMaidenAnabel),
|
||||
TRAINER_SPRITE(TRAINER_PIC_DOME_ACE_TUCKER, gTrainerFrontPic_DomeAceTucker, gTrainerPalette_DomeAceTucker),
|
||||
TRAINER_SPRITE(TRAINER_PIC_PALACE_MAVEN_SPENSER, gTrainerFrontPic_PalaceMavenSpenser, gTrainerPalette_PalaceMavenSpenser),
|
||||
TRAINER_SPRITE(TRAINER_PIC_ARENA_TYCOON_GRETA, gTrainerFrontPic_ArenaTycoonGreta, gTrainerPalette_ArenaTycoonGreta),
|
||||
TRAINER_SPRITE(TRAINER_PIC_FACTORY_HEAD_NOLAND, gTrainerFrontPic_FactoryHeadNoland, gTrainerPalette_FactoryHeadNoland),
|
||||
TRAINER_SPRITE(TRAINER_PIC_PIKE_QUEEN_LUCY, gTrainerFrontPic_PikeQueenLucy, gTrainerPalette_PikeQueenLucy),
|
||||
TRAINER_SPRITE(TRAINER_PIC_PYRAMID_KING_BRANDON, gTrainerFrontPic_PyramidKingBrandon, gTrainerPalette_PyramidKingBrandon),
|
||||
TRAINER_SPRITE(TRAINER_PIC_RED, gTrainerFrontPic_Red, gTrainerPalette_Red),
|
||||
TRAINER_SPRITE(TRAINER_PIC_LEAF, gTrainerFrontPic_Leaf, gTrainerPalette_Leaf),
|
||||
TRAINER_SPRITE(TRAINER_PIC_RS_BRENDAN, gTrainerFrontPic_RubySapphireBrendan, gTrainerPalette_RubySapphireBrendan),
|
||||
TRAINER_SPRITE(TRAINER_PIC_RS_MAY, gTrainerFrontPic_RubySapphireMay, gTrainerPalette_RubySapphireMay),
|
||||
};
|
||||
|
||||
static const union AnimCmd sAnimCmd_Hoenn[] =
|
||||
@ -526,23 +526,23 @@ const struct SpriteFrameImage gTrainerBackPicTable_Steven[] =
|
||||
// .backPic goes functionally unused, since none of these pics are compressed
|
||||
// and the place they would get extracted to gets overwritten later anyway
|
||||
// the casts are so they'll play nice with the strict struct definition
|
||||
#define TRAINER_BACK_SPRITE(trainerPic, yOffset, sprite, pal, anim) \
|
||||
[TRAINER_BACK_PIC_##trainerPic] = \
|
||||
{ \
|
||||
.coordinates = {.size = 8, .y_offset = yOffset}, \
|
||||
.backPic = {(const u32 *)gTrainerBackPic_##sprite, TRAINER_PIC_SIZE * ARRAY_COUNT(gTrainerBackPicTable_##sprite), TRAINER_BACK_PIC_##trainerPic}, \
|
||||
.palette = {gTrainer##pal, TRAINER_BACK_PIC_##trainerPic}, \
|
||||
.animation = sBackAnims_##anim, \
|
||||
#define TRAINER_BACK_SPRITE(trainerPic, yOffset, sprite, table, pal, anim) \
|
||||
[trainerPic] = \
|
||||
{ \
|
||||
.coordinates = {.size = 8, .y_offset = yOffset}, \
|
||||
.backPic = {(const u32 *)sprite, TRAINER_PIC_SIZE * ARRAY_COUNT(table), trainerPic}, \
|
||||
.palette = {pal, trainerPic}, \
|
||||
.animation = anim, \
|
||||
}
|
||||
|
||||
const struct TrainerBacksprite gTrainerBacksprites[] =
|
||||
{
|
||||
TRAINER_BACK_SPRITE(BRENDAN, 4, Brendan, Palette_Brendan, Hoenn),
|
||||
TRAINER_BACK_SPRITE(MAY, 4, May, Palette_May, Hoenn),
|
||||
TRAINER_BACK_SPRITE(RED, 5, Red, BackPicPalette_Red, Kanto),
|
||||
TRAINER_BACK_SPRITE(LEAF, 5, Leaf, BackPicPalette_Leaf, Kanto),
|
||||
TRAINER_BACK_SPRITE(RUBY_SAPPHIRE_BRENDAN, 4, RubySapphireBrendan, Palette_RubySapphireBrendan, Hoenn),
|
||||
TRAINER_BACK_SPRITE(RUBY_SAPPHIRE_MAY, 4, RubySapphireMay, Palette_RubySapphireMay, Hoenn),
|
||||
TRAINER_BACK_SPRITE(WALLY, 4, Wally, Palette_Wally, Hoenn),
|
||||
TRAINER_BACK_SPRITE(STEVEN, 4, Steven, Palette_Steven, Hoenn),
|
||||
TRAINER_BACK_SPRITE(TRAINER_BACK_PIC_BRENDAN, 4, gTrainerBackPic_Brendan, gTrainerBackPicTable_Brendan, gTrainerPalette_Brendan, sBackAnims_Hoenn),
|
||||
TRAINER_BACK_SPRITE(TRAINER_BACK_PIC_MAY, 4, gTrainerBackPic_May, gTrainerBackPicTable_May, gTrainerPalette_May, sBackAnims_Hoenn),
|
||||
TRAINER_BACK_SPRITE(TRAINER_BACK_PIC_RED, 5, gTrainerBackPic_Red, gTrainerBackPicTable_Red, gTrainerBackPicPalette_Red, sBackAnims_Kanto),
|
||||
TRAINER_BACK_SPRITE(TRAINER_BACK_PIC_LEAF, 5, gTrainerBackPic_Leaf, gTrainerBackPicTable_Leaf, gTrainerBackPicPalette_Leaf, sBackAnims_Kanto),
|
||||
TRAINER_BACK_SPRITE(TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN, 4, gTrainerBackPic_RubySapphireBrendan, gTrainerBackPicTable_RubySapphireBrendan, gTrainerPalette_RubySapphireBrendan, sBackAnims_Hoenn),
|
||||
TRAINER_BACK_SPRITE(TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY, 4, gTrainerBackPic_RubySapphireMay, gTrainerBackPicTable_RubySapphireMay, gTrainerPalette_RubySapphireMay, sBackAnims_Hoenn),
|
||||
TRAINER_BACK_SPRITE(TRAINER_BACK_PIC_WALLY, 4, gTrainerBackPic_Wally, gTrainerBackPicTable_Wally, gTrainerPalette_Wally, sBackAnims_Hoenn),
|
||||
TRAINER_BACK_SPRITE(TRAINER_BACK_PIC_STEVEN, 4, gTrainerBackPic_Steven, gTrainerBackPicTable_Steven, gTrainerPalette_Steven, sBackAnims_Hoenn),
|
||||
};
|
||||
|
||||
@ -94,71 +94,155 @@ static void ShowPyramidResultsWindow(void);
|
||||
static void ShowLinkContestResultsWindow(void);
|
||||
static void CopyFrontierBrainText(bool8 playerWonText);
|
||||
|
||||
#define FRONTIER_BRAIN_SPRITES(Brain) \
|
||||
.trainerId = TRAINER_##Brain, \
|
||||
.objEventGfx = OBJ_EVENT_GFX_##Brain
|
||||
|
||||
#define FRONTIER_BRAIN_TEXTS(Brain) \
|
||||
.lostTexts = {gText_##Brain##DefeatSilver, gText_##Brain##DefeatGold}, \
|
||||
.wonTexts = {gText_##Brain##WonSilver, gText_##Brain##WonGold}
|
||||
|
||||
// battledBit: Flags to change the conversation when the Frontier Brain is encountered for a battle
|
||||
// First bit is has battled them before and not won yet, second bit is has battled them and won (obtained a Symbol)
|
||||
const struct FrontierBrain gFrontierBrainInfo[NUM_FRONTIER_FACILITIES] =
|
||||
{
|
||||
[FRONTIER_FACILITY_TOWER] =
|
||||
{
|
||||
FRONTIER_BRAIN_SPRITES(ANABEL),
|
||||
.trainerId = TRAINER_ANABEL,
|
||||
.objEventGfx = OBJ_EVENT_GFX_ANABEL,
|
||||
.isFemale = TRUE,
|
||||
FRONTIER_BRAIN_TEXTS(Anabel),
|
||||
.lostTexts = {
|
||||
COMPOUND_STRING("Okay, I understand…"), //Silver
|
||||
COMPOUND_STRING("Thank you…") //Gold
|
||||
},
|
||||
.wonTexts = {
|
||||
COMPOUND_STRING("It's very disappointing…"), //Silver
|
||||
COMPOUND_STRING("I'm terribly sorry…") //Gold
|
||||
},
|
||||
.battledBit = {1 << 0, 1 << 1},
|
||||
.streakAppearances = {35, 70, 35, 1},
|
||||
},
|
||||
[FRONTIER_FACILITY_DOME] =
|
||||
{
|
||||
FRONTIER_BRAIN_SPRITES(TUCKER),
|
||||
.trainerId = TRAINER_TUCKER,
|
||||
.objEventGfx = OBJ_EVENT_GFX_TUCKER,
|
||||
.isFemale = FALSE,
|
||||
FRONTIER_BRAIN_TEXTS(Tucker),
|
||||
.lostTexts = {
|
||||
COMPOUND_STRING(
|
||||
"Grr…\n"
|
||||
"What the…"), //Silver
|
||||
COMPOUND_STRING(
|
||||
"Ahahaha!\n"
|
||||
"You're inspiring!") //Gold
|
||||
},
|
||||
.wonTexts = {
|
||||
COMPOUND_STRING(
|
||||
"Ahahaha! Aren't you embarrassed?\n"
|
||||
"Everyone's watching!"), //Silver
|
||||
COMPOUND_STRING("My DOME ACE title isn't just for show!") //Gold
|
||||
},
|
||||
.battledBit = {1 << 2, 1 << 3},
|
||||
.streakAppearances = {1, 2, 5, 0},
|
||||
},
|
||||
[FRONTIER_FACILITY_PALACE] =
|
||||
{
|
||||
FRONTIER_BRAIN_SPRITES(SPENSER),
|
||||
.trainerId = TRAINER_SPENSER,
|
||||
.objEventGfx = OBJ_EVENT_GFX_SPENSER,
|
||||
.isFemale = FALSE,
|
||||
FRONTIER_BRAIN_TEXTS(Spenser),
|
||||
.lostTexts = {
|
||||
COMPOUND_STRING(
|
||||
"Ah…\n"
|
||||
"Now this is something else…"), //Silver
|
||||
COMPOUND_STRING(
|
||||
"Gwah!\n"
|
||||
"Hahahaha!") //Gold
|
||||
},
|
||||
.wonTexts = {
|
||||
COMPOUND_STRING(
|
||||
"Your POKéMON are wimpy because\n"
|
||||
"you're wimpy as a TRAINER!"), //Silver
|
||||
COMPOUND_STRING(
|
||||
"Gwahahaha!\n"
|
||||
"My brethren, we have nothing to fear!") //Gold
|
||||
},
|
||||
.battledBit = {1 << 4, 1 << 5},
|
||||
.streakAppearances = {21, 42, 21, 1},
|
||||
},
|
||||
[FRONTIER_FACILITY_ARENA] =
|
||||
{
|
||||
FRONTIER_BRAIN_SPRITES(GRETA),
|
||||
.trainerId = TRAINER_GRETA,
|
||||
.objEventGfx = OBJ_EVENT_GFX_GRETA,
|
||||
.isFemale = TRUE,
|
||||
FRONTIER_BRAIN_TEXTS(Greta),
|
||||
.lostTexts = {
|
||||
COMPOUND_STRING(
|
||||
"No way!\n"
|
||||
"Good job!"), //Silver
|
||||
COMPOUND_STRING(
|
||||
"Huh?\n"
|
||||
"Are you serious?!") //Gold
|
||||
},
|
||||
.wonTexts = {
|
||||
COMPOUND_STRING(
|
||||
"Oh, come on!\n"
|
||||
"You have to try harder than that!"), //Silver
|
||||
COMPOUND_STRING(
|
||||
"Heheh!\n"
|
||||
"What did you expect?") //Gold
|
||||
},
|
||||
.battledBit = {1 << 6, 1 << 7},
|
||||
.streakAppearances = {28, 56, 28, 1},
|
||||
},
|
||||
[FRONTIER_FACILITY_FACTORY] =
|
||||
{
|
||||
FRONTIER_BRAIN_SPRITES(NOLAND),
|
||||
.trainerId = TRAINER_NOLAND,
|
||||
.objEventGfx = OBJ_EVENT_GFX_NOLAND,
|
||||
.isFemale = FALSE,
|
||||
FRONTIER_BRAIN_TEXTS(Noland),
|
||||
.lostTexts = {
|
||||
COMPOUND_STRING(
|
||||
"Good job!\n"
|
||||
"You know what you're doing!"), //Silver
|
||||
COMPOUND_STRING("What happened here?") //Gold
|
||||
},
|
||||
.wonTexts = {
|
||||
COMPOUND_STRING(
|
||||
"Way to work!\n"
|
||||
"That was a good lesson, eh?"), //Silver
|
||||
COMPOUND_STRING(
|
||||
"Hey, hey, hey!\n"
|
||||
"You're finished already?") //Gold
|
||||
},
|
||||
.battledBit = {1 << 8, 1 << 9},
|
||||
.streakAppearances = {21, 42, 21, 1},
|
||||
},
|
||||
[FRONTIER_FACILITY_PIKE] =
|
||||
{
|
||||
FRONTIER_BRAIN_SPRITES(LUCY),
|
||||
.trainerId = TRAINER_LUCY,
|
||||
.objEventGfx = OBJ_EVENT_GFX_LUCY,
|
||||
.isFemale = TRUE,
|
||||
FRONTIER_BRAIN_TEXTS(Lucy),
|
||||
.lostTexts = {
|
||||
COMPOUND_STRING("Urk…"), //Silver
|
||||
COMPOUND_STRING("Darn!") //Gold
|
||||
},
|
||||
.wonTexts = {
|
||||
COMPOUND_STRING("Humph…"), //Silver
|
||||
COMPOUND_STRING("Hah!") //Gold
|
||||
},
|
||||
.battledBit = {1 << 10, 1 << 11},
|
||||
.streakAppearances = {28, 140, 56, 1},
|
||||
},
|
||||
[FRONTIER_FACILITY_PYRAMID] =
|
||||
{
|
||||
FRONTIER_BRAIN_SPRITES(BRANDON),
|
||||
.trainerId = TRAINER_BRANDON,
|
||||
.objEventGfx = OBJ_EVENT_GFX_BRANDON,
|
||||
.isFemale = FALSE,
|
||||
FRONTIER_BRAIN_TEXTS(Brandon),
|
||||
.lostTexts = {
|
||||
COMPOUND_STRING(
|
||||
"That's it! You've done great!\n"
|
||||
"You've worked hard for this!"), //Silver
|
||||
COMPOUND_STRING(
|
||||
"That's it! You've done it!\n"
|
||||
"You kept working for this!") //Gold
|
||||
},
|
||||
.wonTexts = {
|
||||
COMPOUND_STRING(
|
||||
"Hey! What's wrong with you!\n"
|
||||
"Let's see some effort! Get up!"), //Silver
|
||||
COMPOUND_STRING(
|
||||
"Hey! Don't you give up now!\n"
|
||||
"Get up! Don't lose faith in yourself!") //Gold
|
||||
},
|
||||
.battledBit = {1 << 12, 1 << 13},
|
||||
.streakAppearances = {21, 70, 35, 0},
|
||||
},
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user