pokeemerald-expansion/include/constants/trainers.h
2026-01-28 17:41:12 +01:00

558 lines
23 KiB
C

#ifndef GUARD_TRAINERS_H
#define GUARD_TRAINERS_H
#include "constants/opponents.h"
#include "constants/battle_frontier_trainers.h"
// Special Trainer Ids.
// 0-299 are frontier trainers
#define TRAINER_RECORD_MIXING_FRIEND FRONTIER_TRAINERS_COUNT
#define TRAINER_RECORD_MIXING_APPRENTICE 400
#define TRAINER_EREADER 500
#define TRAINER_FRONTIER_BRAIN 1022
#define TRAINER_PLAYER 1023
#define TRAINER_SECRET_BASE 1024
#define TRAINER_LINK_OPPONENT 2048
#define TRAINER_UNION_ROOM 3072
enum __attribute__((packed)) TrainerPicID
{
TRAINER_PIC_FRONT_HIKER,
TRAINER_PIC_FRONT_AQUA_GRUNT_M,
TRAINER_PIC_FRONT_POKEMON_BREEDER_F,
TRAINER_PIC_FRONT_COOLTRAINER_M,
TRAINER_PIC_FRONT_BIRD_KEEPER,
TRAINER_PIC_FRONT_COLLECTOR,
TRAINER_PIC_FRONT_AQUA_GRUNT_F,
TRAINER_PIC_FRONT_SWIMMER_M,
TRAINER_PIC_FRONT_MAGMA_GRUNT_M,
TRAINER_PIC_FRONT_EXPERT_M,
TRAINER_PIC_FRONT_AQUA_ADMIN_M,
TRAINER_PIC_FRONT_BLACK_BELT,
TRAINER_PIC_FRONT_AQUA_ADMIN_F,
TRAINER_PIC_FRONT_AQUA_LEADER_ARCHIE,
TRAINER_PIC_FRONT_HEX_MANIAC,
TRAINER_PIC_FRONT_AROMA_LADY,
TRAINER_PIC_FRONT_RUIN_MANIAC,
TRAINER_PIC_FRONT_INTERVIEWER,
TRAINER_PIC_FRONT_TUBER_F,
TRAINER_PIC_FRONT_TUBER_M,
TRAINER_PIC_FRONT_COOLTRAINER_F,
TRAINER_PIC_FRONT_LADY,
TRAINER_PIC_FRONT_BEAUTY,
TRAINER_PIC_FRONT_RICH_BOY,
TRAINER_PIC_FRONT_EXPERT_F,
TRAINER_PIC_FRONT_POKEMANIAC,
TRAINER_PIC_FRONT_MAGMA_GRUNT_F,
TRAINER_PIC_FRONT_GUITARIST,
TRAINER_PIC_FRONT_KINDLER,
TRAINER_PIC_FRONT_CAMPER,
TRAINER_PIC_FRONT_PICNICKER,
TRAINER_PIC_FRONT_BUG_MANIAC,
TRAINER_PIC_FRONT_POKEMON_BREEDER_M,
TRAINER_PIC_FRONT_PSYCHIC_M,
TRAINER_PIC_FRONT_PSYCHIC_F,
TRAINER_PIC_FRONT_GENTLEMAN,
TRAINER_PIC_FRONT_ELITE_FOUR_SIDNEY,
TRAINER_PIC_FRONT_ELITE_FOUR_PHOEBE,
TRAINER_PIC_FRONT_ELITE_FOUR_GLACIA,
TRAINER_PIC_FRONT_ELITE_FOUR_DRAKE,
TRAINER_PIC_FRONT_LEADER_ROXANNE,
TRAINER_PIC_FRONT_LEADER_BRAWLY,
TRAINER_PIC_FRONT_LEADER_WATTSON,
TRAINER_PIC_FRONT_LEADER_FLANNERY,
TRAINER_PIC_FRONT_LEADER_NORMAN,
TRAINER_PIC_FRONT_LEADER_WINONA,
TRAINER_PIC_FRONT_LEADER_TATE_AND_LIZA,
TRAINER_PIC_FRONT_LEADER_JUAN,
TRAINER_PIC_FRONT_SCHOOL_KID_M,
TRAINER_PIC_FRONT_SCHOOL_KID_F,
TRAINER_PIC_FRONT_SR_AND_JR,
TRAINER_PIC_FRONT_POKEFAN_M,
TRAINER_PIC_FRONT_POKEFAN_F,
TRAINER_PIC_FRONT_YOUNGSTER,
TRAINER_PIC_FRONT_CHAMPION_WALLACE,
TRAINER_PIC_FRONT_FISHERMAN,
TRAINER_PIC_FRONT_CYCLING_TRIATHLETE_M,
TRAINER_PIC_FRONT_CYCLING_TRIATHLETE_F,
TRAINER_PIC_FRONT_RUNNING_TRIATHLETE_M,
TRAINER_PIC_FRONT_RUNNING_TRIATHLETE_F,
TRAINER_PIC_FRONT_SWIMMING_TRIATHLETE_M,
TRAINER_PIC_FRONT_SWIMMING_TRIATHLETE_F,
TRAINER_PIC_FRONT_DRAGON_TAMER,
TRAINER_PIC_FRONT_NINJA_BOY,
TRAINER_PIC_FRONT_BATTLE_GIRL,
TRAINER_PIC_FRONT_PARASOL_LADY,
TRAINER_PIC_FRONT_SWIMMER_F,
TRAINER_PIC_FRONT_TWINS,
TRAINER_PIC_FRONT_SAILOR,
TRAINER_PIC_FRONT_MAGMA_ADMIN,
TRAINER_PIC_FRONT_WALLY,
TRAINER_PIC_FRONT_BRENDAN,
TRAINER_PIC_FRONT_MAY,
TRAINER_PIC_FRONT_BUG_CATCHER,
TRAINER_PIC_FRONT_POKEMON_RANGER_M,
TRAINER_PIC_FRONT_POKEMON_RANGER_F,
TRAINER_PIC_FRONT_MAGMA_LEADER_MAXIE,
TRAINER_PIC_FRONT_LASS,
TRAINER_PIC_FRONT_YOUNG_COUPLE,
TRAINER_PIC_FRONT_OLD_COUPLE,
TRAINER_PIC_FRONT_SIS_AND_BRO,
TRAINER_PIC_FRONT_STEVEN,
TRAINER_PIC_FRONT_SALON_MAIDEN_ANABEL,
TRAINER_PIC_FRONT_DOME_ACE_TUCKER,
TRAINER_PIC_FRONT_PALACE_MAVEN_SPENSER,
TRAINER_PIC_FRONT_ARENA_TYCOON_GRETA,
TRAINER_PIC_FRONT_FACTORY_HEAD_NOLAND,
TRAINER_PIC_FRONT_PIKE_QUEEN_LUCY,
TRAINER_PIC_FRONT_PYRAMID_KING_BRANDON,
TRAINER_PIC_FRONT_RED,
TRAINER_PIC_FRONT_LEAF,
TRAINER_PIC_FRONT_RS_BRENDAN,
TRAINER_PIC_FRONT_RS_MAY,
TRAINER_PIC_FRONT_POKEMON_RANGER_M_FRLG,
TRAINER_PIC_FRONT_AROMA_LADY_FRLG,
TRAINER_PIC_FRONT_YOUNGSTER_FRLG,
TRAINER_PIC_FRONT_BUG_CATCHER_FRLG,
TRAINER_PIC_FRONT_LASS_FRLG,
TRAINER_PIC_FRONT_SAILOR_FRLG,
TRAINER_PIC_FRONT_CAMPER_FRLG,
TRAINER_PIC_FRONT_PICNICKER_FRLG,
TRAINER_PIC_FRONT_POKEMANIAC_FRLG,
TRAINER_PIC_FRONT_HIKER_FRLG,
TRAINER_PIC_FRONT_FISHERMAN_FRLG,
TRAINER_PIC_FRONT_SWIMMER_M_FRLG,
TRAINER_PIC_FRONT_BEAUTY_FRLG,
TRAINER_PIC_FRONT_SWIMMER_F_FRLG,
TRAINER_PIC_FRONT_PSYCHIC_M_FRLG,
TRAINER_PIC_FRONT_BIRD_KEEPER_FRLG,
TRAINER_PIC_FRONT_BLACK_BELT_FRLG,
TRAINER_PIC_FRONT_COOLTRAINER_M_FRLG,
TRAINER_PIC_FRONT_COOLTRAINER_F_FRLG,
TRAINER_PIC_FRONT_GENTLEMAN_FRLG,
TRAINER_PIC_FRONT_TWINS_FRLG,
TRAINER_PIC_FRONT_YOUNG_COUPLE_FRLG,
TRAINER_PIC_FRONT_SIS_AND_BRO_FRLG,
TRAINER_PIC_FRONT_PSYCHIC_F_FRLG,
TRAINER_PIC_FRONT_TUBER_F_FRLG,
TRAINER_PIC_FRONT_POKEMON_RANGER_F_FRLG,
TRAINER_PIC_FRONT_RUIN_MANIAC_FRLG,
TRAINER_PIC_FRONT_LADY_FRLG,
TRAINER_PIC_FRONT_SUPER_NERD_FRLG,
TRAINER_PIC_FRONT_BIKER_FRLG,
TRAINER_PIC_FRONT_BURGLAR_FRLG,
TRAINER_PIC_FRONT_ENGINEER_FRLG,
TRAINER_PIC_FRONT_CUE_BALL_FRLG,
TRAINER_PIC_FRONT_GAMER_FRLG,
TRAINER_PIC_FRONT_ROCKER_FRLG,
TRAINER_PIC_FRONT_JUGGLER_FRLG,
TRAINER_PIC_FRONT_TAMER_FRLG,
TRAINER_PIC_FRONT_RIVAL_EARLY_FRLG,
TRAINER_PIC_FRONT_SCIENTIST_FRLG,
TRAINER_PIC_FRONT_LEADER_GIOVANNI_FRLG,
TRAINER_PIC_FRONT_ROCKET_GRUNT_M_FRLG,
TRAINER_PIC_FRONT_ELITE_FOUR_LORELEI_FRLG,
TRAINER_PIC_FRONT_ELITE_FOUR_BRUNO_FRLG,
TRAINER_PIC_FRONT_ELITE_FOUR_AGATHA_FRLG,
TRAINER_PIC_FRONT_ELITE_FOUR_LANCE_FRLG,
TRAINER_PIC_FRONT_LEADER_BROCK_FRLG,
TRAINER_PIC_FRONT_LEADER_MISTY_FRLG,
TRAINER_PIC_FRONT_LEADER_LT_SURGE_FRLG,
TRAINER_PIC_FRONT_LEADER_ERIKA_FRLG,
TRAINER_PIC_FRONT_LEADER_KOGA_FRLG,
TRAINER_PIC_FRONT_LEADER_BLAINE_FRLG,
TRAINER_PIC_FRONT_LEADER_SABRINA_FRLG,
TRAINER_PIC_FRONT_RIVAL_LATE_FRLG,
TRAINER_PIC_FRONT_CHAMPION_RIVAL_FRLG,
TRAINER_PIC_FRONT_CHANNELER_FRLG,
TRAINER_PIC_FRONT_COOL_COUPLE_FRLG,
TRAINER_PIC_FRONT_CRUSH_KIN_FRLG,
TRAINER_PIC_FRONT_PROFESSOR_OAK_FRLG,
TRAINER_PIC_FRONT_ROCKET_GRUNT_F_FRLG,
TRAINER_PIC_FRONT_CRUSH_GIRL_FRLG,
TRAINER_PIC_FRONT_POKEMON_BREEDER_FRLG,
TRAINER_PIC_FRONT_PAINTER_FRLG,
TRAINER_PIC_FRONT_COUNT,
TRAINER_PIC_BACK_BRENDAN = TRAINER_PIC_FRONT_COUNT, // The player back pics are assumed to alternate according to the gender values (MALE/FEMALE)
TRAINER_PIC_BACK_MAY,
TRAINER_PIC_BACK_RED,
TRAINER_PIC_BACK_LEAF,
TRAINER_PIC_BACK_RUBY_SAPPHIRE_BRENDAN,
TRAINER_PIC_BACK_RUBY_SAPPHIRE_MAY,
TRAINER_PIC_BACK_WALLY,
TRAINER_PIC_BACK_STEVEN,
TRAINER_PIC_BACK_POKEDUDE,
TRAINER_PIC_BACK_OLD_MAN,
TRAINER_PIC_COUNT,
TRAINER_PIC_BACK_COUNT = (TRAINER_PIC_COUNT - TRAINER_PIC_FRONT_COUNT),
};
#define TRAINER_BACK_PIC_PLAYER_MALE (IS_FRLG ? TRAINER_PIC_BACK_RED : TRAINER_PIC_BACK_BRENDAN)
#define TRAINER_BACK_PIC_PLAYER_FEMALE (IS_FRLG ? TRAINER_PIC_BACK_LEAF : TRAINER_PIC_BACK_MAY)
#define FACILITY_CLASS_HIKER 0x0
#define FACILITY_CLASS_AQUA_GRUNT_M 0x1
#define FACILITY_CLASS_PKMN_BREEDER_F 0x2
#define FACILITY_CLASS_COOLTRAINER_M 0x3
#define FACILITY_CLASS_BIRD_KEEPER 0x4
#define FACILITY_CLASS_COLLECTOR 0x5
#define FACILITY_CLASS_AQUA_GRUNT_F 0x6
#define FACILITY_CLASS_SWIMMER_M 0x7
#define FACILITY_CLASS_MAGMA_GRUNT_M 0x8
#define FACILITY_CLASS_EXPERT_M 0x9
#define FACILITY_CLASS_BLACK_BELT 0xa
#define FACILITY_CLASS_AQUA_LEADER_ARCHIE 0xb
#define FACILITY_CLASS_HEX_MANIAC 0xc
#define FACILITY_CLASS_AROMA_LADY 0xd
#define FACILITY_CLASS_RUIN_MANIAC 0xe
#define FACILITY_CLASS_INTERVIEWER 0xf
#define FACILITY_CLASS_TUBER_F 0x10
#define FACILITY_CLASS_TUBER_M 0x11
#define FACILITY_CLASS_COOLTRAINER_F 0x12
#define FACILITY_CLASS_LADY 0x13
#define FACILITY_CLASS_BEAUTY 0x14
#define FACILITY_CLASS_RICH_BOY 0x15
#define FACILITY_CLASS_EXPERT_F 0x16
#define FACILITY_CLASS_POKEMANIAC 0x17
#define FACILITY_CLASS_MAGMA_GRUNT_F 0x18
#define FACILITY_CLASS_GUITARIST 0x19
#define FACILITY_CLASS_KINDLER 0x1a
#define FACILITY_CLASS_CAMPER 0x1b
#define FACILITY_CLASS_PICNICKER 0x1c
#define FACILITY_CLASS_BUG_MANIAC 0x1d
#define FACILITY_CLASS_PSYCHIC_M 0x1e
#define FACILITY_CLASS_PSYCHIC_F 0x1f
#define FACILITY_CLASS_GENTLEMAN 0x20
#define FACILITY_CLASS_ELITE_FOUR_SIDNEY 0x21
#define FACILITY_CLASS_ELITE_FOUR_PHOEBE 0x22
#define FACILITY_CLASS_LEADER_ROXANNE 0x23
#define FACILITY_CLASS_LEADER_BRAWLY 0x24
#define FACILITY_CLASS_LEADER_TATE_AND_LIZA 0x25
#define FACILITY_CLASS_SCHOOL_KID_M 0x26
#define FACILITY_CLASS_SCHOOL_KID_F 0x27
#define FACILITY_CLASS_SR_AND_JR 0x28
#define FACILITY_CLASS_POKEFAN_M 0x29
#define FACILITY_CLASS_POKEFAN_F 0x2a
#define FACILITY_CLASS_YOUNGSTER 0x2b
#define FACILITY_CLASS_CHAMPION_WALLACE 0x2c
#define FACILITY_CLASS_FISHERMAN 0x2d
#define FACILITY_CLASS_CYCLING_TRIATHLETE_M 0x2e
#define FACILITY_CLASS_CYCLING_TRIATHLETE_F 0x2f
#define FACILITY_CLASS_RUNNING_TRIATHLETE_M 0x30
#define FACILITY_CLASS_RUNNING_TRIATHLETE_F 0x31
#define FACILITY_CLASS_SWIMMING_TRIATHLETE_M 0x32
#define FACILITY_CLASS_SWIMMING_TRIATHLETE_F 0x33
#define FACILITY_CLASS_DRAGON_TAMER 0x34
#define FACILITY_CLASS_NINJA_BOY 0x35
#define FACILITY_CLASS_BATTLE_GIRL 0x36
#define FACILITY_CLASS_PARASOL_LADY 0x37
#define FACILITY_CLASS_SWIMMER_F 0x38
#define FACILITY_CLASS_TWINS 0x39
#define FACILITY_CLASS_SAILOR 0x3a
#define FACILITY_CLASS_WALLY 0x3b
#define FACILITY_CLASS_BRENDAN 0x3c
#define FACILITY_CLASS_BRENDAN_2 0x3d
#define FACILITY_CLASS_BRENDAN_3 0x3e
#define FACILITY_CLASS_MAY 0x3f
#define FACILITY_CLASS_MAY_2 0x40
#define FACILITY_CLASS_MAY_3 0x41
#define FACILITY_CLASS_PKMN_BREEDER_M 0x42
#define FACILITY_CLASS_BUG_CATCHER 0x43
#define FACILITY_CLASS_PKMN_RANGER_M 0x44
#define FACILITY_CLASS_PKMN_RANGER_F 0x45
#define FACILITY_CLASS_MAGMA_LEADER_MAXIE 0x46
#define FACILITY_CLASS_LASS 0x47
#define FACILITY_CLASS_YOUNG_COUPLE 0x48
#define FACILITY_CLASS_OLD_COUPLE 0x49
#define FACILITY_CLASS_SIS_AND_BRO 0x4a
#define FACILITY_CLASS_STEVEN 0x4b
#define FACILITY_CLASS_SALON_MAIDEN_ANABEL 0x4c
#define FACILITY_CLASS_DOME_ACE_TUCKER 0x4d
#define FACILITY_CLASS_RED 0x4e
#define FACILITY_CLASS_LEAF 0x4f
#define FACILITY_CLASS_RS_BRENDAN 0x50
#define FACILITY_CLASS_RS_MAY 0x51
#define FACILITY_CLASS_YOUNGSTER_FRLG 0x52
#define FACILITY_CLASS_BURGLAR_FRLG 0x53
#define FACILITY_CLASS_PSYCHIC_F_FRLG 0x54
#define FACILITY_CLASS_COOL_COUPLE_FRLG 0x55
#define FACILITY_CLASS_YOUNG_COUPLE_FRLG 0x56
#define FACILITY_CLASS_CRUSH_KIN_FRLG 0x57
#define FACILITY_CLASS_BIKER_FRLG 0x58
#define FACILITY_CLASS_CUE_BALL_FRLG 0x59
#define FACILITY_CLASS_HIKER_FRLG 0x5A
#define FACILITY_CLASS_CRUSH_GIRL_FRLG 0x5B
#define FACILITY_CLASS_BLACK_BELT_FRLG 0x5C
#define FACILITY_CLASS_CAMPER_FRLG 0x5D
#define FACILITY_CLASS_PKMN_BREEDER_FRLG 0x5E
#define FACILITY_CLASS_BUG_CATCHER_FRLG 0x5F
#define FACILITY_CLASS_TWINS_FRLG 0x60
#define FACILITY_CLASS_PKMN_RANGER_F_FRLG 0x61
#define FACILITY_CLASS_PKMN_RANGER_M_FRLG 0x62
#define FACILITY_CLASS_COOLTRAINER_M_FRLG 0x63
#define FACILITY_CLASS_PICNICKER_FRLG 0x64
#define FACILITY_CLASS_AROMA_LADY_FRLG 0x65
#define FACILITY_CLASS_COOLTRAINER_F_FRLG 0x66
#define FACILITY_CLASS_SWIMMER_M_FRLG 0x67
#define FACILITY_CLASS_SAILOR_FRLG 0x68
#define FACILITY_CLASS_SIS_AND_BRO_FRLG 0x69
#define FACILITY_CLASS_TUBER_FRLG 0x6A
#define FACILITY_CLASS_LADY_FRLG 0x6B
#define FACILITY_CLASS_SWIMMER_F_FRLG 0x6C
#define FACILITY_CLASS_FISHERMAN_FRLG 0x6D
#define FACILITY_CLASS_GENTLEMAN_FRLG 0x6E
#define FACILITY_CLASS_JUGGLER_FRLG 0x6F
#define FACILITY_CLASS_SUPER_NERD_FRLG 0x70
#define FACILITY_CLASS_PSYCHIC_M_FRLG 0x71
#define FACILITY_CLASS_ROCKER_FRLG 0x72
#define FACILITY_CLASS_ENGINEER_FRLG 0x73
#define FACILITY_CLASS_SCIENTIST_FRLG 0x74
#define FACILITY_CLASS_BEAUTY_FRLG 0x75
#define FACILITY_CLASS_LASS_FRLG 0x76
#define FACILITY_CLASSES_COUNT 0x77
#define FACILITY_CLASS_SUPER_NERD FACILITY_CLASS_HIKER
#define FACILITY_CLASS_BIKER FACILITY_CLASS_HIKER
#define FACILITY_CLASS_BURGLAR FACILITY_CLASS_HIKER
#define FACILITY_CLASS_ENGINEER FACILITY_CLASS_HIKER
#define FACILITY_CLASS_CUE_BALL FACILITY_CLASS_HIKER
#define FACILITY_CLASS_ROCKER FACILITY_CLASS_HIKER
#define FACILITY_CLASS_JUGGLER FACILITY_CLASS_HIKER
#define FACILITY_CLASS_SCIENTIST FACILITY_CLASS_HIKER
#define FACILITY_CLASS_CRUSH_GIRL FACILITY_CLASS_HIKER
#define FACILITY_CLASS_TUBER FACILITY_CLASS_HIKER
#define FACILITY_CLASS_PKMN_BREEDER FACILITY_CLASS_HIKER
#define FACILITY_CLASS_COOL_COUPLE FACILITY_CLASS_HIKER
#define FACILITY_CLASS_CRUSH_KIN FACILITY_CLASS_HIKER
#define RS_FACILITY_CLASS_AQUA_LEADER_ARCHIE 0x0
#define RS_FACILITY_CLASS_AQUA_GRUNT_M 0x1
#define RS_FACILITY_CLASS_AQUA_GRUNT_F 0x2
#define RS_FACILITY_CLASS_AROMA_LADY 0x3
#define RS_FACILITY_CLASS_RUIN_MANIAC 0x4
#define RS_FACILITY_CLASS_INTERVIEWER 0x5
#define RS_FACILITY_CLASS_TUBER_F 0x6
#define RS_FACILITY_CLASS_TUBER_M 0x7
#define RS_FACILITY_CLASS_COOLTRAINER_M 0x8
#define RS_FACILITY_CLASS_COOLTRAINER_F 0x9
#define RS_FACILITY_CLASS_HEX_MANIAC 0xA
#define RS_FACILITY_CLASS_LADY 0xB
#define RS_FACILITY_CLASS_BEAUTY 0xC
#define RS_FACILITY_CLASS_RICH_BOY 0xD
#define RS_FACILITY_CLASS_POKEMANIAC 0xE
#define RS_FACILITY_CLASS_SWIMMER_M 0xF
#define RS_FACILITY_CLASS_BLACK_BELT 0x10
#define RS_FACILITY_CLASS_GUITARIST 0x11
#define RS_FACILITY_CLASS_KINDLER 0x12
#define RS_FACILITY_CLASS_CAMPER 0x13
#define RS_FACILITY_CLASS_BUG_MANIAC 0x14
#define RS_FACILITY_CLASS_PSYCHIC_M 0x15
#define RS_FACILITY_CLASS_PSYCHIC_F 0x16
#define RS_FACILITY_CLASS_GENTLEMAN 0x17
#define RS_FACILITY_CLASS_ELITE_FOUR_M 0x18
#define RS_FACILITY_CLASS_ELITE_FOUR_F 0x19
#define RS_FACILITY_CLASS_LEADER_F 0x1A
#define RS_FACILITY_CLASS_LEADER_M 0x1B
#define RS_FACILITY_CLASS_LEADER_MF 0x1C
#define RS_FACILITY_CLASS_SCHOOL_KID_M 0x1D
#define RS_FACILITY_CLASS_SCHOOL_KID_F 0x1E
#define RS_FACILITY_CLASS_SR_AND_JR 0x1F
#define RS_FACILITY_CLASS_POKEFAN_M 0x20
#define RS_FACILITY_CLASS_POKEFAN_F 0x21
#define RS_FACILITY_CLASS_EXPERT_M 0x22
#define RS_FACILITY_CLASS_EXPERT_F 0x23
#define RS_FACILITY_CLASS_YOUNGSTER 0x24
#define RS_FACILITY_CLASS_CHAMPION 0x25
#define RS_FACILITY_CLASS_FISHERMAN 0x26
#define RS_FACILITY_CLASS_CYCLING_TRIATHLETE_M 0x27
#define RS_FACILITY_CLASS_CYCLING_TRIATHLETE_F 0x28
#define RS_FACILITY_CLASS_RUNNING_TRIATHLETE_M 0x29
#define RS_FACILITY_CLASS_RUNNING_TRIATHLETE_F 0x2A
#define RS_FACILITY_CLASS_SWIMMING_TRIATHLETE_M 0x2B
#define RS_FACILITY_CLASS_SWIMMING_TRIATHLETE_F 0x2C
#define RS_FACILITY_CLASS_DRAGON_TAMER 0x2D
#define RS_FACILITY_CLASS_BIRD_KEEPER 0x2E
#define RS_FACILITY_CLASS_NINJA_BOY 0x2F
#define RS_FACILITY_CLASS_BATTLE_GIRL 0x30
#define RS_FACILITY_CLASS_PARASOL_LADY 0x31
#define RS_FACILITY_CLASS_SWIMMER_F 0x32
#define RS_FACILITY_CLASS_PICNICKER 0x33
#define RS_FACILITY_CLASS_TWINS 0x34
#define RS_FACILITY_CLASS_SAILOR 0x35
#define RS_FACILITY_CLASS_BOARDER_1 0x36
#define RS_FACILITY_CLASS_BOARDER_2 0x37
#define RS_FACILITY_CLASS_COLLECTOR 0x38
#define RS_FACILITY_CLASS_WALLY 0x39
#define RS_FACILITY_CLASS_BRENDAN_1 0x3A
#define RS_FACILITY_CLASS_BRENDAN_2 0x3B
#define RS_FACILITY_CLASS_BRENDAN_3 0x3C
#define RS_FACILITY_CLASS_MAY_1 0x3D
#define RS_FACILITY_CLASS_MAY_2 0x3E
#define RS_FACILITY_CLASS_MAY_3 0x3F
#define RS_FACILITY_CLASS_PKMN_BREEDER_M 0x40
#define RS_FACILITY_CLASS_PKMN_BREEDER_F 0x41
#define RS_FACILITY_CLASS_PKMN_RANGER_M 0x42
#define RS_FACILITY_CLASS_PKMN_RANGER_F 0x43
#define RS_FACILITY_CLASS_MAGMA_LEADER 0x44
#define RS_FACILITY_CLASS_MAGMA_GRUNT_M 0x45
#define RS_FACILITY_CLASS_MAGMA_GRUNT_F 0x46
#define RS_FACILITY_CLASS_LASS 0x47
#define RS_FACILITY_CLASS_BUG_CATCHER 0x48
#define RS_FACILITY_CLASS_HIKER 0x49
#define RS_FACILITY_CLASS_YOUNG_COUPLE 0x4A
#define RS_FACILITY_CLASS_OLD_COUPLE 0x4B
#define RS_FACILITY_CLASS_SIS_AND_BRO 0x4C
#define RS_FACILITY_CLASSES_COUNT 0x4D
enum TrainerClassID
{
TRAINER_CLASS_PKMN_TRAINER_1, // Unused
TRAINER_CLASS_PKMN_TRAINER_2, // Unused
TRAINER_CLASS_HIKER,
TRAINER_CLASS_TEAM_AQUA,
TRAINER_CLASS_PKMN_BREEDER,
TRAINER_CLASS_COOLTRAINER,
TRAINER_CLASS_BIRD_KEEPER,
TRAINER_CLASS_COLLECTOR,
TRAINER_CLASS_SWIMMER_M,
TRAINER_CLASS_TEAM_MAGMA,
TRAINER_CLASS_EXPERT,
TRAINER_CLASS_AQUA_ADMIN,
TRAINER_CLASS_BLACK_BELT,
TRAINER_CLASS_AQUA_LEADER,
TRAINER_CLASS_HEX_MANIAC,
TRAINER_CLASS_AROMA_LADY,
TRAINER_CLASS_RUIN_MANIAC,
TRAINER_CLASS_INTERVIEWER,
TRAINER_CLASS_TUBER_F,
TRAINER_CLASS_TUBER_M,
TRAINER_CLASS_LADY,
TRAINER_CLASS_BEAUTY,
TRAINER_CLASS_RICH_BOY,
TRAINER_CLASS_POKEMANIAC,
TRAINER_CLASS_GUITARIST,
TRAINER_CLASS_KINDLER,
TRAINER_CLASS_CAMPER,
TRAINER_CLASS_PICNICKER,
TRAINER_CLASS_BUG_MANIAC,
TRAINER_CLASS_PSYCHIC,
TRAINER_CLASS_GENTLEMAN,
TRAINER_CLASS_ELITE_FOUR,
TRAINER_CLASS_LEADER,
TRAINER_CLASS_SCHOOL_KID,
TRAINER_CLASS_SR_AND_JR,
TRAINER_CLASS_WINSTRATE,
TRAINER_CLASS_POKEFAN,
TRAINER_CLASS_YOUNGSTER,
TRAINER_CLASS_CHAMPION,
TRAINER_CLASS_FISHERMAN,
TRAINER_CLASS_TRIATHLETE,
TRAINER_CLASS_DRAGON_TAMER,
TRAINER_CLASS_NINJA_BOY,
TRAINER_CLASS_BATTLE_GIRL,
TRAINER_CLASS_PARASOL_LADY,
TRAINER_CLASS_SWIMMER_F,
TRAINER_CLASS_TWINS,
TRAINER_CLASS_SAILOR,
TRAINER_CLASS_COOLTRAINER_2, // Used for only one trainer.
TRAINER_CLASS_MAGMA_ADMIN,
TRAINER_CLASS_RIVAL,
TRAINER_CLASS_BUG_CATCHER,
TRAINER_CLASS_PKMN_RANGER,
TRAINER_CLASS_MAGMA_LEADER,
TRAINER_CLASS_LASS,
TRAINER_CLASS_YOUNG_COUPLE,
TRAINER_CLASS_OLD_COUPLE,
TRAINER_CLASS_SIS_AND_BRO,
TRAINER_CLASS_SALON_MAIDEN,
TRAINER_CLASS_DOME_ACE,
TRAINER_CLASS_PALACE_MAVEN,
TRAINER_CLASS_ARENA_TYCOON,
TRAINER_CLASS_FACTORY_HEAD,
TRAINER_CLASS_PIKE_QUEEN,
TRAINER_CLASS_PYRAMID_KING,
TRAINER_CLASS_RS_PROTAG,
TRAINER_CLASS_YOUNGSTER_FRLG,
TRAINER_CLASS_BUG_CATCHER_FRLG,
TRAINER_CLASS_LASS_FRLG,
TRAINER_CLASS_SAILOR_FRLG,
TRAINER_CLASS_CAMPER_FRLG,
TRAINER_CLASS_PICNICKER_FRLG,
TRAINER_CLASS_POKEMANIAC_FRLG,
TRAINER_CLASS_SUPER_NERD_FRLG,
TRAINER_CLASS_HIKER_FRLG,
TRAINER_CLASS_BIKER_FRLG,
TRAINER_CLASS_BURGLAR_FRLG,
TRAINER_CLASS_ENGINEER_FRLG,
TRAINER_CLASS_FISHERMAN_FRLG,
TRAINER_CLASS_SWIMMER_M_FRLG,
TRAINER_CLASS_CUE_BALL_FRLG,
TRAINER_CLASS_GAMER_FRLG,
TRAINER_CLASS_BEAUTY_FRLG,
TRAINER_CLASS_SWIMMER_F_FRLG,
TRAINER_CLASS_PSYCHIC_FRLG,
TRAINER_CLASS_ROCKER_FRLG,
TRAINER_CLASS_JUGGLER_FRLG,
TRAINER_CLASS_TAMER_FRLG,
TRAINER_CLASS_BIRD_KEEPER_FRLG,
TRAINER_CLASS_BLACK_BELT_FRLG,
TRAINER_CLASS_RIVAL_EARLY_FRLG,
TRAINER_CLASS_SCIENTIST_FRLG,
TRAINER_CLASS_BOSS_FRLG,
TRAINER_CLASS_LEADER_FRLG,
TRAINER_CLASS_TEAM_ROCKET_FRLG,
TRAINER_CLASS_COOLTRAINER_FRLG,
TRAINER_CLASS_ELITE_FOUR_FRLG,
TRAINER_CLASS_GENTLEMAN_FRLG,
TRAINER_CLASS_RIVAL_LATE_FRLG,
TRAINER_CLASS_CHAMPION_FRLG,
TRAINER_CLASS_CHANNELER_FRLG,
TRAINER_CLASS_TWINS_FRLG,
TRAINER_CLASS_COOL_COUPLE_FRLG,
TRAINER_CLASS_YOUNG_COUPLE_FRLG,
TRAINER_CLASS_CRUSH_KIN_FRLG,
TRAINER_CLASS_SIS_AND_BRO_FRLG,
TRAINER_CLASS_PKMN_PROF_FRLG,
TRAINER_CLASS_PLAYER_FRLG,
TRAINER_CLASS_CRUSH_GIRL_FRLG,
TRAINER_CLASS_TUBER_FRLG,
TRAINER_CLASS_PKMN_BREEDER_FRLG,
TRAINER_CLASS_PKMN_RANGER_FRLG,
TRAINER_CLASS_AROMA_LADY_FRLG,
TRAINER_CLASS_RUIN_MANIAC_FRLG,
TRAINER_CLASS_LADY_FRLG,
TRAINER_CLASS_PAINTER_FRLG,
TRAINER_CLASS_COUNT,
};
#define TRAINER_ENCOUNTER_MUSIC_MALE 0 // Used for Youngsters, Bug Catchers, male School Kids, Sailors, male running and cycling Triathletes, male Pokémon Breeders, and Campers
#define TRAINER_ENCOUNTER_MUSIC_FEMALE 1 // Used for Lasses, Ladies, Beauties, Aroma Ladies, female running and cycling Triathletes, female Pokémon Breeders, and Parasol Ladies
#define TRAINER_ENCOUNTER_MUSIC_GIRL 2 // Used for Tubers, Picnickers, female School Kids, and Young Couples
#define TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS 3 // Used for Ninja Boys, Collectors, Hex Maniacs, Poké Maniacs, and Bug Maniacs
#define TRAINER_ENCOUNTER_MUSIC_INTENSE 4 // Used for Guitarists, Psychics, Black Belts, Battle Girls, Dragon Tamers, Experts, and Old Couples
#define TRAINER_ENCOUNTER_MUSIC_COOL 5 // Used for Cool Trainers, Pokémon Rangers, and Bird Keepers
#define TRAINER_ENCOUNTER_MUSIC_AQUA 6
#define TRAINER_ENCOUNTER_MUSIC_MAGMA 7
#define TRAINER_ENCOUNTER_MUSIC_SWIMMER 8 // Used for Swimmers, swimming Triathletes, and Sis and Bros
#define TRAINER_ENCOUNTER_MUSIC_TWINS 9 // Used for Twins, Poké Fans, and Sr. and Jr.s
#define TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR 10
#define TRAINER_ENCOUNTER_MUSIC_HIKER 11 // Used for Hikers, Ruin Maniacs, Kindlers, and Fishermen
#define TRAINER_ENCOUNTER_MUSIC_INTERVIEWER 12
#define TRAINER_ENCOUNTER_MUSIC_RICH 13 // Used for Rich Boys and Gentlemen
#define TRAINER_GENDER_MALE 0
#define TRAINER_GENDER_FEMALE 1
// Trainer party defines
#define TRAINER_MON_MALE 1
#define TRAINER_MON_FEMALE 2
#define TRAINER_MON_RANDOM_GENDER 3
#endif // GUARD_TRAINERS_H