mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-29 13:50:42 +01:00
296 lines
13 KiB
C
296 lines
13 KiB
C
#ifndef GUARD_TRAINERS_H
|
|
#define GUARD_TRAINERS_H
|
|
|
|
#include "constants/opponents.h"
|
|
|
|
// Special Trainer Ids.
|
|
#define TRAINER_RECORD_MIXING_FRIEND 300
|
|
#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_OPPONENT_C00 3072
|
|
#define TRAINER_STEVEN_PARTNER 3075
|
|
|
|
#define TRAINER_PIC_HIKER 0
|
|
#define TRAINER_PIC_AQUA_GRUNT_M 1
|
|
#define TRAINER_PIC_POKEMON_BREEDER_F 2
|
|
#define TRAINER_PIC_COOLTRAINER_M 3
|
|
#define TRAINER_PIC_BIRD_KEEPER 4
|
|
#define TRAINER_PIC_COLLECTOR 5
|
|
#define TRAINER_PIC_AQUA_GRUNT_F 6
|
|
#define TRAINER_PIC_SWIMMER_M 7
|
|
#define TRAINER_PIC_MAGMA_GRUNT_M 8
|
|
#define TRAINER_PIC_EXPERT_M 9
|
|
#define TRAINER_PIC_AQUA_ADMIN_M 10
|
|
#define TRAINER_PIC_BLACK_BELT 11
|
|
#define TRAINER_PIC_AQUA_ADMIN_F 12
|
|
#define TRAINER_PIC_AQUA_LEADER_ARCHIE 13
|
|
#define TRAINER_PIC_HEX_MANIAC 14
|
|
#define TRAINER_PIC_AROMA_LADY 15
|
|
#define TRAINER_PIC_RUIN_MANIAC 16
|
|
#define TRAINER_PIC_INTERVIEWER 17
|
|
#define TRAINER_PIC_TUBER_F 18
|
|
#define TRAINER_PIC_TUBER_M 19
|
|
#define TRAINER_PIC_COOLTRAINER_F 20
|
|
#define TRAINER_PIC_LADY 21
|
|
#define TRAINER_PIC_BEAUTY 22
|
|
#define TRAINER_PIC_RICH_BOY 23
|
|
#define TRAINER_PIC_EXPERT_F 24
|
|
#define TRAINER_PIC_POKEMANIAC 25
|
|
#define TRAINER_PIC_MAGMA_GRUNT_F 26
|
|
#define TRAINER_PIC_GUITARIST 27
|
|
#define TRAINER_PIC_KINDLER 28
|
|
#define TRAINER_PIC_CAMPER 29
|
|
#define TRAINER_PIC_PICNICKER 30
|
|
#define TRAINER_PIC_BUG_MANIAC 31
|
|
#define TRAINER_PIC_POKEMON_BREEDER_M 32
|
|
#define TRAINER_PIC_PSYCHIC_M 33
|
|
#define TRAINER_PIC_PSYCHIC_F 34
|
|
#define TRAINER_PIC_GENTLEMAN 35
|
|
#define TRAINER_PIC_ELITE_FOUR_SIDNEY 36
|
|
#define TRAINER_PIC_ELITE_FOUR_PHOEBE 37
|
|
#define TRAINER_PIC_ELITE_FOUR_GLACIA 38
|
|
#define TRAINER_PIC_ELITE_FOUR_DRAKE 39
|
|
#define TRAINER_PIC_LEADER_ROXANNE 40
|
|
#define TRAINER_PIC_LEADER_BRAWLY 41
|
|
#define TRAINER_PIC_LEADER_WATTSON 42
|
|
#define TRAINER_PIC_LEADER_FLANNERY 43
|
|
#define TRAINER_PIC_LEADER_NORMAN 44
|
|
#define TRAINER_PIC_LEADER_WINONA 45
|
|
#define TRAINER_PIC_LEADER_TATE_AND_LIZA 46
|
|
#define TRAINER_PIC_LEADER_JUAN 47
|
|
#define TRAINER_PIC_SCHOOL_KID_M 48
|
|
#define TRAINER_PIC_SCHOOL_KID_F 49
|
|
#define TRAINER_PIC_SR_AND_JR 50
|
|
#define TRAINER_PIC_POKEFAN_M 51
|
|
#define TRAINER_PIC_POKEFAN_F 52
|
|
#define TRAINER_PIC_YOUNGSTER 53
|
|
#define TRAINER_PIC_CHAMPION_WALLACE 54
|
|
#define TRAINER_PIC_FISHERMAN 55
|
|
#define TRAINER_PIC_CYCLING_TRIATHLETE_M 56
|
|
#define TRAINER_PIC_CYCLING_TRIATHLETE_F 57
|
|
#define TRAINER_PIC_RUNNING_TRIATHLETE_M 58
|
|
#define TRAINER_PIC_RUNNING_TRIATHLETE_F 59
|
|
#define TRAINER_PIC_SWIMMING_TRIATHLETE_M 60
|
|
#define TRAINER_PIC_SWIMMING_TRIATHLETE_F 61
|
|
#define TRAINER_PIC_DRAGON_TAMER 62
|
|
#define TRAINER_PIC_NINJA_BOY 63
|
|
#define TRAINER_PIC_BATTLE_GIRL 64
|
|
#define TRAINER_PIC_PARASOL_LADY 65
|
|
#define TRAINER_PIC_SWIMMER_F 66
|
|
#define TRAINER_PIC_TWINS 67
|
|
#define TRAINER_PIC_SAILOR 68
|
|
#define TRAINER_PIC_MAGMA_ADMIN 69
|
|
#define TRAINER_PIC_WALLY 70
|
|
#define TRAINER_PIC_BRENDAN 71
|
|
#define TRAINER_PIC_MAY 72
|
|
#define TRAINER_PIC_BUG_CATCHER 73
|
|
#define TRAINER_PIC_POKEMON_RANGER_M 74
|
|
#define TRAINER_PIC_POKEMON_RANGER_F 75
|
|
#define TRAINER_PIC_MAGMA_LEADER_MAXIE 76
|
|
#define TRAINER_PIC_LASS 77
|
|
#define TRAINER_PIC_YOUNG_COUPLE 78
|
|
#define TRAINER_PIC_OLD_COUPLE 79
|
|
#define TRAINER_PIC_SIS_AND_BRO 80
|
|
#define TRAINER_PIC_STEVEN 81
|
|
#define TRAINER_PIC_SALON_MAIDEN_ANABEL 82
|
|
#define TRAINER_PIC_DOME_ACE_TUCKER 83
|
|
#define TRAINER_PIC_PALACE_MAVEN_SPENSER 84
|
|
#define TRAINER_PIC_ARENA_TYCOON_GRETA 85
|
|
#define TRAINER_PIC_FACTORY_HEAD_NOLAND 86
|
|
#define TRAINER_PIC_PIKE_QUEEN_LUCY 87
|
|
#define TRAINER_PIC_PYRAMID_KING_BRANDON 88
|
|
#define TRAINER_PIC_RED 89
|
|
#define TRAINER_PIC_LEAF 90
|
|
#define TRAINER_PIC_RS_BRENDAN 91
|
|
#define TRAINER_PIC_RS_MAY 92
|
|
|
|
#define TRAINER_BACK_PIC_BRENDAN 0
|
|
#define TRAINER_BACK_PIC_MAY 1
|
|
#define TRAINER_BACK_PIC_RED 2
|
|
#define TRAINER_BACK_PIC_LEAF 3
|
|
#define TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN 4
|
|
#define TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY 5
|
|
#define TRAINER_BACK_PIC_WALLY 6
|
|
#define TRAINER_BACK_PIC_STEVEN 7
|
|
|
|
#define FACILITY_CLASS_HIKER 0x0
|
|
#define FACILITY_CLASS_AQUA_GRUNT_M 0x1
|
|
#define FACILITY_CLASS_POKEMON_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_CLASSES_COUNT 0x52
|
|
|
|
#define TRAINER_CLASS_PKMN_TRAINER_1 0x0 // Unused
|
|
#define TRAINER_CLASS_PKMN_TRAINER_2 0x1 // Unused
|
|
#define TRAINER_CLASS_HIKER 0x2
|
|
#define TRAINER_CLASS_TEAM_AQUA 0x3
|
|
#define TRAINER_CLASS_PKMN_BREEDER 0x4
|
|
#define TRAINER_CLASS_COOLTRAINER 0x5
|
|
#define TRAINER_CLASS_BIRD_KEEPER 0x6
|
|
#define TRAINER_CLASS_COLLECTOR 0x7
|
|
#define TRAINER_CLASS_SWIMMER_M 0x8
|
|
#define TRAINER_CLASS_TEAM_MAGMA 0x9
|
|
#define TRAINER_CLASS_EXPERT 0xa
|
|
#define TRAINER_CLASS_AQUA_ADMIN 0xb
|
|
#define TRAINER_CLASS_BLACK_BELT 0xc
|
|
#define TRAINER_CLASS_AQUA_LEADER 0xd
|
|
#define TRAINER_CLASS_HEX_MANIAC 0xe
|
|
#define TRAINER_CLASS_AROMA_LADY 0xf
|
|
#define TRAINER_CLASS_RUIN_MANIAC 0x10
|
|
#define TRAINER_CLASS_INTERVIEWER 0x11
|
|
#define TRAINER_CLASS_TUBER_F 0x12
|
|
#define TRAINER_CLASS_TUBER_M 0x13
|
|
#define TRAINER_CLASS_LADY 0x14
|
|
#define TRAINER_CLASS_BEAUTY 0x15
|
|
#define TRAINER_CLASS_RICH_BOY 0x16
|
|
#define TRAINER_CLASS_POKEMANIAC 0x17
|
|
#define TRAINER_CLASS_GUITARIST 0x18
|
|
#define TRAINER_CLASS_KINDLER 0x19
|
|
#define TRAINER_CLASS_CAMPER 0x1a
|
|
#define TRAINER_CLASS_PICNICKER 0x1b
|
|
#define TRAINER_CLASS_BUG_MANIAC 0x1c
|
|
#define TRAINER_CLASS_PSYCHIC 0x1d
|
|
#define TRAINER_CLASS_GENTLEMAN 0x1e
|
|
#define TRAINER_CLASS_ELITE_FOUR 0x1f
|
|
#define TRAINER_CLASS_LEADER 0x20
|
|
#define TRAINER_CLASS_SCHOOL_KID 0x21
|
|
#define TRAINER_CLASS_SR_AND_JR 0x22
|
|
#define TRAINER_CLASS_WINSTRATE 0x23
|
|
#define TRAINER_CLASS_POKEFAN 0x24
|
|
#define TRAINER_CLASS_YOUNGSTER 0x25
|
|
#define TRAINER_CLASS_CHAMPION 0x26
|
|
#define TRAINER_CLASS_FISHERMAN 0x27
|
|
#define TRAINER_CLASS_TRIATHLETE 0x28
|
|
#define TRAINER_CLASS_DRAGON_TAMER 0x29
|
|
#define TRAINER_CLASS_NINJA_BOY 0x2a
|
|
#define TRAINER_CLASS_BATTLE_GIRL 0x2b
|
|
#define TRAINER_CLASS_PARASOL_LADY 0x2c
|
|
#define TRAINER_CLASS_SWIMMER_F 0x2d
|
|
#define TRAINER_CLASS_TWINS 0x2e
|
|
#define TRAINER_CLASS_SAILOR 0x2f
|
|
#define TRAINER_CLASS_COOLTRAINER_2 0x30 // Used for only one trainer.
|
|
#define TRAINER_CLASS_MAGMA_ADMIN 0x31
|
|
#define TRAINER_CLASS_PKMN_TRAINER_3 0x32
|
|
#define TRAINER_CLASS_BUG_CATCHER 0x33
|
|
#define TRAINER_CLASS_PKMN_RANGER 0x34
|
|
#define TRAINER_CLASS_MAGMA_LEADER 0x35
|
|
#define TRAINER_CLASS_LASS 0x36
|
|
#define TRAINER_CLASS_YOUNG_COUPLE 0x37
|
|
#define TRAINER_CLASS_OLD_COUPLE 0x38
|
|
#define TRAINER_CLASS_SIS_AND_BRO 0x39
|
|
#define TRAINER_CLASS_SALON_MAIDEN 0x3a
|
|
#define TRAINER_CLASS_DOME_ACE 0x3b
|
|
#define TRAINER_CLASS_PALACE_MAVEN 0x3c
|
|
#define TRAINER_CLASS_ARENA_TYCOON 0x3d
|
|
#define TRAINER_CLASS_FACTORY_HEAD 0x3e
|
|
#define TRAINER_CLASS_PIKE_QUEEN 0x3f
|
|
#define TRAINER_CLASS_PYRAMID_KING 0x40
|
|
#define TRAINER_CLASS_RS_PROTAG 0x41
|
|
|
|
#define TRAINER_ENCOUNTER_MUSIC_MALE 0 // standard male encounter music
|
|
#define TRAINER_ENCOUNTER_MUSIC_FEMALE 1 // standard female encounter music
|
|
#define TRAINER_ENCOUNTER_MUSIC_GIRL 2 // used for male Tubers and Young Couples too
|
|
#define TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS 3
|
|
#define TRAINER_ENCOUNTER_MUSIC_INTENSE 4
|
|
#define TRAINER_ENCOUNTER_MUSIC_COOL 5
|
|
#define TRAINER_ENCOUNTER_MUSIC_AQUA 6
|
|
#define TRAINER_ENCOUNTER_MUSIC_MAGMA 7
|
|
#define TRAINER_ENCOUNTER_MUSIC_SWIMMER 8
|
|
#define TRAINER_ENCOUNTER_MUSIC_TWINS 9 // used for other trainer classes too
|
|
#define TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR 10
|
|
#define TRAINER_ENCOUNTER_MUSIC_HIKER 11 // used for other trainer classes too
|
|
#define TRAINER_ENCOUNTER_MUSIC_INTERVIEWER 12
|
|
#define TRAINER_ENCOUNTER_MUSIC_RICH 13 // Rich Boys and Gentlemen
|
|
|
|
#define F_TRAINER_FEMALE (1 << 7)
|
|
|
|
// All trainer parties specify the IV, level, and species for each Pokémon in the
|
|
// party. Some trainer parties also specify held items and custom moves for each
|
|
// Pokémon.
|
|
#define F_TRAINER_PARTY_CUSTOM_MOVESET (1 << 0)
|
|
#define F_TRAINER_PARTY_HELD_ITEM (1 << 1)
|
|
|
|
#endif // GUARD_TRAINERS_H
|