summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorGriffinR <griffin.richards@comcast.net>2019-12-20 18:52:29 -0500
committerGriffinR <griffin.richards@comcast.net>2019-12-20 21:14:05 -0500
commitff2d8a9c4e0e3e4614bc50c21d40d4a8270b2ff4 (patch)
treef8e0a8ad1b1010925b2021ab7c4a640fa49d62e8 /include
parent63c8cf97d1e47573ba8c5bcdf23543013a0f2a14 (diff)
Add frontier trainer constants
Diffstat (limited to 'include')
-rw-r--r--include/battle_tower.h2
-rw-r--r--include/constants/battle_frontier_trainers.h309
-rw-r--r--include/constants/flags.h14
-rw-r--r--include/constants/opponents.h4
-rw-r--r--include/constants/trainers.h4
5 files changed, 326 insertions, 7 deletions
diff --git a/include/battle_tower.h b/include/battle_tower.h
index 2366cac12..fe4cd938a 100644
--- a/include/battle_tower.h
+++ b/include/battle_tower.h
@@ -49,7 +49,7 @@ extern const struct BattleFrontierTrainer *gFacilityTrainers;
extern const struct FacilityMon *gFacilityTrainerMons;
void CallBattleTowerFunc(void);
-u16 sub_8162548(u8 challengeNum, u8 battleNum);
+u16 GetRandomScaledFrontierTrainerId(u8 challengeNum, u8 battleNum);
void SetBattleFacilityTrainerGfxId(u16 trainerId, u8 tempVarId);
void SetEReaderTrainerGfxId(void);
u8 GetBattleFacilityTrainerGfxId(u16 trainerId);
diff --git a/include/constants/battle_frontier_trainers.h b/include/constants/battle_frontier_trainers.h
new file mode 100644
index 000000000..2914b153f
--- /dev/null
+++ b/include/constants/battle_frontier_trainers.h
@@ -0,0 +1,309 @@
+#ifndef GUARD_CONSTANTS_BATTLE_FRONTIER_TRAINERS_H
+#define GUARD_CONSTANTS_BATTLE_FRONTIER_TRAINERS_H
+
+#define FRONTIER_TRAINER_BRADY 0
+#define FRONTIER_TRAINER_CONNER 1
+#define FRONTIER_TRAINER_BRADLEY 2
+#define FRONTIER_TRAINER_CYBIL 3
+#define FRONTIER_TRAINER_RODETTE 4
+#define FRONTIER_TRAINER_PEGGY 5
+#define FRONTIER_TRAINER_KEITH 6
+#define FRONTIER_TRAINER_GRAYSON 7
+#define FRONTIER_TRAINER_GLENN 8
+#define FRONTIER_TRAINER_LILIANA 9
+#define FRONTIER_TRAINER_ELISE 10
+#define FRONTIER_TRAINER_ZOEY 11
+#define FRONTIER_TRAINER_MANUEL 12
+#define FRONTIER_TRAINER_RUSS 13
+#define FRONTIER_TRAINER_DUSTIN 14
+#define FRONTIER_TRAINER_TINA 15
+#define FRONTIER_TRAINER_GILLIAN1 16
+#define FRONTIER_TRAINER_ZOE 17
+#define FRONTIER_TRAINER_CHEN 18
+#define FRONTIER_TRAINER_AL 19
+#define FRONTIER_TRAINER_MITCH 20
+#define FRONTIER_TRAINER_ANNE 21
+#define FRONTIER_TRAINER_ALIZE 22
+#define FRONTIER_TRAINER_LAUREN 23
+#define FRONTIER_TRAINER_KIPP 24
+#define FRONTIER_TRAINER_JASON 25
+#define FRONTIER_TRAINER_JOHN 26
+#define FRONTIER_TRAINER_ANN 27
+#define FRONTIER_TRAINER_EILEEN 28
+#define FRONTIER_TRAINER_CARLIE 29
+#define FRONTIER_TRAINER_GORDON 30
+#define FRONTIER_TRAINER_AYDEN 31
+#define FRONTIER_TRAINER_MARCO 32
+#define FRONTIER_TRAINER_CIERRA 33
+#define FRONTIER_TRAINER_MARCY 34
+#define FRONTIER_TRAINER_KATHY 35
+#define FRONTIER_TRAINER_PEYTON 36
+#define FRONTIER_TRAINER_JULIAN 37
+#define FRONTIER_TRAINER_QUINN 38
+#define FRONTIER_TRAINER_HAYLEE 39
+#define FRONTIER_TRAINER_AMANDA 40
+#define FRONTIER_TRAINER_STACY 41
+#define FRONTIER_TRAINER_RAFAEL 42
+#define FRONTIER_TRAINER_OLIVER 43
+#define FRONTIER_TRAINER_PAYTON 44
+#define FRONTIER_TRAINER_PAMELA 45
+#define FRONTIER_TRAINER_ELIZA 46
+#define FRONTIER_TRAINER_MARISA 47
+#define FRONTIER_TRAINER_LEWIS 48
+#define FRONTIER_TRAINER_YOSHI 49
+#define FRONTIER_TRAINER_DESTIN 50
+#define FRONTIER_TRAINER_KEON 51
+#define FRONTIER_TRAINER_STUART 52
+#define FRONTIER_TRAINER_NESTOR 53
+#define FRONTIER_TRAINER_DERRICK 54
+#define FRONTIER_TRAINER_BRYSON 55
+#define FRONTIER_TRAINER_CLAYTON 56
+#define FRONTIER_TRAINER_TRENTON 57
+#define FRONTIER_TRAINER_JENSON 58
+#define FRONTIER_TRAINER_WESLEY 59
+#define FRONTIER_TRAINER_ANTON 60
+#define FRONTIER_TRAINER_LAWSON 61
+#define FRONTIER_TRAINER_SAMMY 62
+#define FRONTIER_TRAINER_ARNIE 63
+#define FRONTIER_TRAINER_ADRIAN 64
+#define FRONTIER_TRAINER_TRISTAN 65
+#define FRONTIER_TRAINER_JULIANA 66
+#define FRONTIER_TRAINER_RYLEE 67
+#define FRONTIER_TRAINER_CHELSEA 68
+#define FRONTIER_TRAINER_DANELA 69
+#define FRONTIER_TRAINER_LIZBETH 70
+#define FRONTIER_TRAINER_AMELIA 71
+#define FRONTIER_TRAINER_JILLIAN 72
+#define FRONTIER_TRAINER_ABBIE 73
+#define FRONTIER_TRAINER_BRIANA 74
+#define FRONTIER_TRAINER_ANTONIO 75
+#define FRONTIER_TRAINER_JADEN 76
+#define FRONTIER_TRAINER_DAKOTA 77
+#define FRONTIER_TRAINER_BRAYDEN 78
+#define FRONTIER_TRAINER_CORSON 79
+#define FRONTIER_TRAINER_TREVIN 80
+#define FRONTIER_TRAINER_PATRICK 81
+#define FRONTIER_TRAINER_KADEN 82
+#define FRONTIER_TRAINER_MAXWELL 83
+#define FRONTIER_TRAINER_DARYL 84
+#define FRONTIER_TRAINER_KENNETH 85
+#define FRONTIER_TRAINER_RICH 86
+#define FRONTIER_TRAINER_CADEN 87
+#define FRONTIER_TRAINER_MARLON 88
+#define FRONTIER_TRAINER_NASH 89
+#define FRONTIER_TRAINER_ROBBY 90
+#define FRONTIER_TRAINER_REECE 91
+#define FRONTIER_TRAINER_KATHRYN 92
+#define FRONTIER_TRAINER_ELLEN 93
+#define FRONTIER_TRAINER_RAMON 94
+#define FRONTIER_TRAINER_ARTHUR 95
+#define FRONTIER_TRAINER_ALONDRA 96
+#define FRONTIER_TRAINER_ADRIANA 97
+#define FRONTIER_TRAINER_MALIK 98
+#define FRONTIER_TRAINER_JILL 99
+#define FRONTIER_TRAINER_ERIK 100
+#define FRONTIER_TRAINER_YAZMIN 101
+#define FRONTIER_TRAINER_JAMAL 102
+#define FRONTIER_TRAINER_LESLIE 103
+#define FRONTIER_TRAINER_DAVE 104
+#define FRONTIER_TRAINER_CARLO 105
+#define FRONTIER_TRAINER_EMILIA 106
+#define FRONTIER_TRAINER_DALIA 107
+#define FRONTIER_TRAINER_HITOMI 108
+#define FRONTIER_TRAINER_RICARDO 109
+#define FRONTIER_TRAINER_SHIZUKA 110
+#define FRONTIER_TRAINER_JOANA 111
+#define FRONTIER_TRAINER_KELLY 112
+#define FRONTIER_TRAINER_RAYNA 113
+#define FRONTIER_TRAINER_EVAN 114
+#define FRONTIER_TRAINER_JORDAN 115
+#define FRONTIER_TRAINER_JOEL 116
+#define FRONTIER_TRAINER_KRISTEN 117
+#define FRONTIER_TRAINER_SELPHY 118
+#define FRONTIER_TRAINER_CHLOE 119
+#define FRONTIER_TRAINER_NORTON 120
+#define FRONTIER_TRAINER_LUKAS 121
+#define FRONTIER_TRAINER_ZACH 122
+#define FRONTIER_TRAINER_KAITLYN 123
+#define FRONTIER_TRAINER_BREANNA 124
+#define FRONTIER_TRAINER_KENDRA 125
+#define FRONTIER_TRAINER_MOLLY 126
+#define FRONTIER_TRAINER_JAZMIN 127
+#define FRONTIER_TRAINER_KELSEY 128
+#define FRONTIER_TRAINER_JALEN 129
+#define FRONTIER_TRAINER_GRIFFEN 130
+#define FRONTIER_TRAINER_XANDER 131
+#define FRONTIER_TRAINER_MARVIN 132
+#define FRONTIER_TRAINER_BRENNAN 133
+#define FRONTIER_TRAINER_BALEY 134
+#define FRONTIER_TRAINER_ZACKARY 135
+#define FRONTIER_TRAINER_GABRIEL 136
+#define FRONTIER_TRAINER_EMILY 137
+#define FRONTIER_TRAINER_JORDYN 138
+#define FRONTIER_TRAINER_SOFIA 139
+#define FRONTIER_TRAINER_BRADEN 140
+#define FRONTIER_TRAINER_KAYDEN 141
+#define FRONTIER_TRAINER_COOPER 142
+#define FRONTIER_TRAINER_JULIA 143
+#define FRONTIER_TRAINER_AMARA 144
+#define FRONTIER_TRAINER_LYNN 145
+#define FRONTIER_TRAINER_JOVAN 146
+#define FRONTIER_TRAINER_DOMINIC 147
+#define FRONTIER_TRAINER_NIKOLAS 148
+#define FRONTIER_TRAINER_VALERIA 149
+#define FRONTIER_TRAINER_DELANEY 150
+#define FRONTIER_TRAINER_MEGHAN 151
+#define FRONTIER_TRAINER_ROBERTO 152
+#define FRONTIER_TRAINER_DAMIAN 153
+#define FRONTIER_TRAINER_BRODY 154
+#define FRONTIER_TRAINER_GRAHAM 155
+#define FRONTIER_TRAINER_TYLOR 156
+#define FRONTIER_TRAINER_JAREN 157
+#define FRONTIER_TRAINER_CORDELL 158
+#define FRONTIER_TRAINER_JAZLYN 159
+#define FRONTIER_TRAINER_ZACHERY 160
+#define FRONTIER_TRAINER_JOHAN 161
+#define FRONTIER_TRAINER_SHEA 162
+#define FRONTIER_TRAINER_KAILA 163
+#define FRONTIER_TRAINER_ISIAH 164
+#define FRONTIER_TRAINER_GARRETT 165
+#define FRONTIER_TRAINER_HAYLIE 166
+#define FRONTIER_TRAINER_MEGAN 167
+#define FRONTIER_TRAINER_ISSAC 168
+#define FRONTIER_TRAINER_QUINTON 169
+#define FRONTIER_TRAINER_SALMA 170
+#define FRONTIER_TRAINER_ANSLEY 171
+#define FRONTIER_TRAINER_HOLDEN 172
+#define FRONTIER_TRAINER_LUCA 173
+#define FRONTIER_TRAINER_JAMISON 174
+#define FRONTIER_TRAINER_GUNNAR 175
+#define FRONTIER_TRAINER_CRAIG 176
+#define FRONTIER_TRAINER_PIERCE 177
+#define FRONTIER_TRAINER_REGINA 178
+#define FRONTIER_TRAINER_ALISON 179
+#define FRONTIER_TRAINER_HANK 180
+#define FRONTIER_TRAINER_EARL 181
+#define FRONTIER_TRAINER_RAMIRO 182
+#define FRONTIER_TRAINER_HUNTER 183
+#define FRONTIER_TRAINER_AIDEN 184
+#define FRONTIER_TRAINER_XAVIER 185
+#define FRONTIER_TRAINER_CLINTON 186
+#define FRONTIER_TRAINER_JESSE 187
+#define FRONTIER_TRAINER_EDUARDO 188
+#define FRONTIER_TRAINER_HAL 189
+#define FRONTIER_TRAINER_GAGE 190
+#define FRONTIER_TRAINER_ARNOLD 191
+#define FRONTIER_TRAINER_JARRETT 192
+#define FRONTIER_TRAINER_GARETT 193
+#define FRONTIER_TRAINER_EMANUEL 194
+#define FRONTIER_TRAINER_GUSTAVO 195
+#define FRONTIER_TRAINER_KAMERON 196
+#define FRONTIER_TRAINER_ALFREDO 197
+#define FRONTIER_TRAINER_RUBEN 198
+#define FRONTIER_TRAINER_LAMAR 199
+#define FRONTIER_TRAINER_JAXON 200
+#define FRONTIER_TRAINER_LOGAN 201
+#define FRONTIER_TRAINER_EMILEE 202
+#define FRONTIER_TRAINER_JOSIE 203
+#define FRONTIER_TRAINER_ARMANDO 204
+#define FRONTIER_TRAINER_SKYLER 205
+#define FRONTIER_TRAINER_RUTH 206
+#define FRONTIER_TRAINER_MELODY 207
+#define FRONTIER_TRAINER_PEDRO 208
+#define FRONTIER_TRAINER_ERICK 209
+#define FRONTIER_TRAINER_ELAINE 210
+#define FRONTIER_TRAINER_JOYCE 211
+#define FRONTIER_TRAINER_TODD 212
+#define FRONTIER_TRAINER_GAVIN 213
+#define FRONTIER_TRAINER_MALORY 214
+#define FRONTIER_TRAINER_ESTHER 215
+#define FRONTIER_TRAINER_OSCAR 216
+#define FRONTIER_TRAINER_WILSON 217
+#define FRONTIER_TRAINER_CLARE 218
+#define FRONTIER_TRAINER_TESS 219
+#define FRONTIER_TRAINER_LEON 220
+#define FRONTIER_TRAINER_ALONZO 221
+#define FRONTIER_TRAINER_VINCE 222
+#define FRONTIER_TRAINER_BRYON 223
+#define FRONTIER_TRAINER_AVA 224
+#define FRONTIER_TRAINER_MIRIAM 225
+#define FRONTIER_TRAINER_CARRIE 226
+#define FRONTIER_TRAINER_GILLIAN2 227
+#define FRONTIER_TRAINER_TYLER 228
+#define FRONTIER_TRAINER_CHAZ 229
+#define FRONTIER_TRAINER_NELSON 230
+#define FRONTIER_TRAINER_SHANIA 231
+#define FRONTIER_TRAINER_STELLA 232
+#define FRONTIER_TRAINER_DORINE 233
+#define FRONTIER_TRAINER_MADDOX 234
+#define FRONTIER_TRAINER_DAVIN 235
+#define FRONTIER_TRAINER_TREVON 236
+#define FRONTIER_TRAINER_MATEO 237
+#define FRONTIER_TRAINER_BRET 238
+#define FRONTIER_TRAINER_RAUL 239
+#define FRONTIER_TRAINER_KAY 240
+#define FRONTIER_TRAINER_ELENA 241
+#define FRONTIER_TRAINER_ALANA 242
+#define FRONTIER_TRAINER_ALEXAS 243
+#define FRONTIER_TRAINER_WESTON 244
+#define FRONTIER_TRAINER_JASPER 245
+#define FRONTIER_TRAINER_NADIA 246
+#define FRONTIER_TRAINER_MIRANDA 247
+#define FRONTIER_TRAINER_EMMA 248
+#define FRONTIER_TRAINER_ROLANDO 249
+#define FRONTIER_TRAINER_STANLY 250
+#define FRONTIER_TRAINER_DARIO 251
+#define FRONTIER_TRAINER_KARLEE 252
+#define FRONTIER_TRAINER_JAYLIN 253
+#define FRONTIER_TRAINER_INGRID 254
+#define FRONTIER_TRAINER_DELILAH 255
+#define FRONTIER_TRAINER_CARLY 256
+#define FRONTIER_TRAINER_LEXIE 257
+#define FRONTIER_TRAINER_MILLER 258
+#define FRONTIER_TRAINER_MARV 259
+#define FRONTIER_TRAINER_LAYTON 260
+#define FRONTIER_TRAINER_BROOKS 261
+#define FRONTIER_TRAINER_GREGORY 262
+#define FRONTIER_TRAINER_REESE 263
+#define FRONTIER_TRAINER_MASON 264
+#define FRONTIER_TRAINER_TOBY 265
+#define FRONTIER_TRAINER_DOROTHY 266
+#define FRONTIER_TRAINER_PIPER 267
+#define FRONTIER_TRAINER_FINN 268
+#define FRONTIER_TRAINER_SAMIR 269
+#define FRONTIER_TRAINER_FIONA 270
+#define FRONTIER_TRAINER_GLORIA 271
+#define FRONTIER_TRAINER_NICO 272
+#define FRONTIER_TRAINER_JEREMY 273
+#define FRONTIER_TRAINER_CAITLIN 274
+#define FRONTIER_TRAINER_REENA 275
+#define FRONTIER_TRAINER_AVERY 276
+#define FRONTIER_TRAINER_LIAM 277
+#define FRONTIER_TRAINER_THEO 278
+#define FRONTIER_TRAINER_BAILEY 279
+#define FRONTIER_TRAINER_HUGO 280
+#define FRONTIER_TRAINER_BRYCE 281
+#define FRONTIER_TRAINER_GIDEON 282
+#define FRONTIER_TRAINER_TRISTON 283
+#define FRONTIER_TRAINER_CHARLES 284
+#define FRONTIER_TRAINER_RAYMOND 285
+#define FRONTIER_TRAINER_DIRK 286
+#define FRONTIER_TRAINER_HAROLD 287
+#define FRONTIER_TRAINER_OMAR 288
+#define FRONTIER_TRAINER_PETER 289
+#define FRONTIER_TRAINER_DEV 290
+#define FRONTIER_TRAINER_COREY 291
+#define FRONTIER_TRAINER_ANDRE 292
+#define FRONTIER_TRAINER_FERRIS 293
+#define FRONTIER_TRAINER_ALIVIA 294
+#define FRONTIER_TRAINER_PAIGE 295
+#define FRONTIER_TRAINER_ANYA 296
+#define FRONTIER_TRAINER_DAWN 297
+#define FRONTIER_TRAINER_ABBY 298
+#define FRONTIER_TRAINER_GRETEL 299
+
+#define FRONTIER_TRAINERS_COUNT 300
+
+// special trainer IDs begin at 300, see constants/trainers.h
+
+#endif // GUARD_CONSTANTS_BATTLE_FRONTIER_TRAINERS_H
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 96546d7ab..63a704de8 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -1,6 +1,8 @@
#ifndef GUARD_CONSTANTS_FLAGS_H
#define GUARD_CONSTANTS_FLAGS_H
+#include "constants/opponents.h"
+
// Temporary Flags
// These temporary flags are are cleared every time a map is loaded. They are used
// for things like shortening an NPCs introduction text if the player already spoke
@@ -533,8 +535,6 @@
#define FLAG_MYSTERY_EVENT_14 0x1F2
#define FLAG_MYSTERY_EVENT_15 0x1F3
-#define FLAG_TRICK_HOUSE_END_ROOM 0x1F5 // Trick House End Room Flag
-
// Hidden Items -- sorted by location
#define FLAG_HIDDEN_ITEMS_START 0x1F4
#define FLAG_HIDDEN_ITEM_TRICK_HOUSE_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x01)
@@ -1342,13 +1342,17 @@
#define FLAG_UNUSED_0x4FF 0x4FF // Unused Flag
-#define FLAG_TRAINER_FLAG_START 0x500
-#define TRAINERS_FLAG_NO 0x356
+// Trainer Flags
+// Trainer flags occupy 0x500 - 0x85F, the last 9 of which are unused
+// See constants/opponents.h. The values there + FLAG_TRAINER_FLAG_START are the flag IDs
-#define SYSTEM_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860
+#define TRAINER_FLAGS_START 0x500
+#define TRAINER_FLAGS_END (TRAINER_FLAGS_START + MAX_TRAINERS_COUNT - 1) // 0x85F
// System Flags
+#define SYSTEM_FLAGS (TRAINER_FLAGS_END + 1) // 0x860
+
#define FLAG_SYS_POKEMON_GET (SYSTEM_FLAGS + 0) // FLAG_0x860
#define FLAG_SYS_POKEDEX_GET (SYSTEM_FLAGS + 1)
#define FLAG_SYS_POKENAV_GET (SYSTEM_FLAGS + 2)
diff --git a/include/constants/opponents.h b/include/constants/opponents.h
index 9917b84ba..e76d206ca 100644
--- a/include/constants/opponents.h
+++ b/include/constants/opponents.h
@@ -857,6 +857,10 @@
#define TRAINER_BRENDAN_16 853
#define TRAINER_MAY_16 854
+// NOTE: Because each Trainer uses a flag to determine when they are defeated, there is only space for 9 additional trainers before trainer flag space overflows
+// More space can be made by shifting flags around in constants/flags.h or changing how trainer flags are handled
+
#define TRAINERS_COUNT 855
+#define MAX_TRAINERS_COUNT 864
#endif // GUARD_CONSTANTS_OPPONENTS_H
diff --git a/include/constants/trainers.h b/include/constants/trainers.h
index e5a193770..541b131ca 100644
--- a/include/constants/trainers.h
+++ b/include/constants/trainers.h
@@ -2,9 +2,11 @@
#define GUARD_TRAINERS_H
#include "constants/opponents.h"
+#include "constants/battle_frontier_trainers.h"
// Special Trainer Ids.
-#define TRAINER_RECORD_MIXING_FRIEND 300
+// 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