code:
#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


code:
#ifndef GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H
#define GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H

#define EFFECT_HIT 0
#define EFFECT_SLEEP 1
#define EFFECT_POISON_HIT 2
#define EFFECT_ABSORB 3
#define EFFECT_BURN_HIT 4
#define EFFECT_FREEZE_HIT 5
#define EFFECT_PARALYZE_HIT 6
#define EFFECT_EXPLOSION 7
#define EFFECT_DREAM_EATER 8
#define EFFECT_MIRROR_MOVE 9
#define EFFECT_ATTACK_UP 10
#define EFFECT_DEFENSE_UP 11
#define EFFECT_SPEED_UP 12
#define EFFECT_SPECIAL_ATTACK_UP 13
#define EFFECT_SPECIAL_DEFENSE_UP 14
#define EFFECT_ACCURACY_UP 15
#define EFFECT_EVASION_UP 16
#define EFFECT_ALWAYS_HIT 17
#define EFFECT_ATTACK_DOWN 18
#define EFFECT_DEFENSE_DOWN 19
#define EFFECT_SPEED_DOWN 20
#define EFFECT_SPECIAL_ATTACK_DOWN 21  // unused
#define EFFECT_SPECIAL_DEFENSE_DOWN 22  // unused
#define EFFECT_ACCURACY_DOWN 23
#define EFFECT_EVASION_DOWN 24
#define EFFECT_HAZE 25
#define EFFECT_BIDE 26
#define EFFECT_RAMPAGE 27
#define EFFECT_ROAR 28
#define EFFECT_MULTI_HIT 29
#define EFFECT_CONVERSION 30
#define EFFECT_FLINCH_HIT 31
#define EFFECT_RESTORE_HP 32
#define EFFECT_TOXIC 33
#define EFFECT_PAY_DAY 34
#define EFFECT_LIGHT_SCREEN 35
#define EFFECT_TRI_ATTACK 36
#define EFFECT_REST 37
#define EFFECT_OHKO 38
#define EFFECT_RAZOR_WIND 39
#define EFFECT_SUPER_FANG 40
#define EFFECT_DRAGON_RAGE 41
#define EFFECT_TRAP 42
#define EFFECT_HIGH_CRITICAL 43
#define EFFECT_DOUBLE_HIT 44
#define EFFECT_RECOIL_IF_MISS 45
#define EFFECT_MIST 46
#define EFFECT_FOCUS_ENERGY 47
#define EFFECT_RECOIL 48
#define EFFECT_CONFUSE 49
#define EFFECT_ATTACK_UP_2 50
#define EFFECT_DEFENSE_UP_2 51
#define EFFECT_SPEED_UP_2 52
#define EFFECT_SPECIAL_ATTACK_UP_2 53
#define EFFECT_SPECIAL_DEFENSE_UP_2 54
#define EFFECT_ACCURACY_UP_2 55
#define EFFECT_EVASION_UP_2 56
#define EFFECT_TRANSFORM 57
#define EFFECT_ATTACK_DOWN_2 58
#define EFFECT_DEFENSE_DOWN_2 59
#define EFFECT_SPEED_DOWN_2 60
#define EFFECT_SPECIAL_ATTACK_DOWN_2 61
#define EFFECT_SPECIAL_DEFENSE_DOWN_2 62
#define EFFECT_ACCURACY_DOWN_2 63
#define EFFECT_EVASION_DOWN_2 64
#define EFFECT_REFLECT 65
#define EFFECT_POISON 66
#define EFFECT_PARALYZE 67
#define EFFECT_ATTACK_DOWN_HIT 68
#define EFFECT_DEFENSE_DOWN_HIT 69
#define EFFECT_SPEED_DOWN_HIT 70
#define EFFECT_SPECIAL_ATTACK_DOWN_HIT 71
#define EFFECT_SPECIAL_DEFENSE_DOWN_HIT 72
#define EFFECT_ACCURACY_DOWN_HIT 73
#define EFFECT_EVASION_DOWN_HIT 74
#define EFFECT_SKY_ATTACK 75
#define EFFECT_CONFUSE_HIT 76
#define EFFECT_TWINEEDLE 77
#define EFFECT_VITAL_THROW 78
#define EFFECT_SUBSTITUTE 79
#define EFFECT_RECHARGE 80
#define EFFECT_RAGE 81
#define EFFECT_MIMIC 82
#define EFFECT_METRONOME 83
#define EFFECT_LEECH_SEED 84
#define EFFECT_SPLASH 85
#define EFFECT_DISABLE 86
#define EFFECT_LEVEL_DAMAGE 87
#define EFFECT_PSYWAVE 88
#define EFFECT_COUNTER 89
#define EFFECT_ENCORE 90
#define EFFECT_PAIN_SPLIT 91
#define EFFECT_SNORE 92
#define EFFECT_CONVERSION_2 93
#define EFFECT_LOCK_ON 94
#define EFFECT_SKETCH 95
#define EFFECT_UNUSED_60 96  // thaw
#define EFFECT_SLEEP_TALK 97
#define EFFECT_DESTINY_BOND 98
#define EFFECT_FLAIL 99
#define EFFECT_SPITE 100
#define EFFECT_FALSE_SWIPE 101
#define EFFECT_HEAL_BELL 102
#define EFFECT_QUICK_ATTACK 103
#define EFFECT_TRIPLE_KICK 104
#define EFFECT_THIEF 105
#define EFFECT_MEAN_LOOK 106
#define EFFECT_NIGHTMARE 107
#define EFFECT_MINIMIZE 108
#define EFFECT_CURSE 109
#define EFFECT_UNUSED_6E 110
#define EFFECT_PROTECT 111
#define EFFECT_SPIKES 112
#define EFFECT_FORESIGHT 113
#define EFFECT_PERISH_SONG 114
#define EFFECT_SANDSTORM 115
#define EFFECT_ENDURE 116
#define EFFECT_ROLLOUT 117
#define EFFECT_SWAGGER 118
#define EFFECT_FURY_CUTTER 119
#define EFFECT_ATTRACT 120
#define EFFECT_RETURN 121
#define EFFECT_PRESENT 122
#define EFFECT_FRUSTRATION 123
#define EFFECT_SAFEGUARD 124
#define EFFECT_THAW_HIT 125
#define EFFECT_MAGNITUDE 126
#define EFFECT_BATON_PASS 127
#define EFFECT_PURSUIT 128
#define EFFECT_RAPID_SPIN 129
#define EFFECT_SONICBOOM 130
#define EFFECT_UNUSED_83 131
#define EFFECT_MORNING_SUN 132
#define EFFECT_SYNTHESIS 133
#define EFFECT_MOONLIGHT 134
#define EFFECT_HIDDEN_POWER 135
#define EFFECT_RAIN_DANCE 136
#define EFFECT_SUNNY_DAY 137
#define EFFECT_DEFENSE_UP_HIT 138
#define EFFECT_ATTACK_UP_HIT 139
#define EFFECT_ALL_STATS_UP_HIT 140
#define EFFECT_UNUSED_8D 141  // incomplete fake out in gen 2
#define EFFECT_BELLY_DRUM 142
#define EFFECT_PSYCH_UP 143
#define EFFECT_MIRROR_COAT 144
#define EFFECT_SKULL_BASH 145
#define EFFECT_TWISTER 146
#define EFFECT_EARTHQUAKE 147
#define EFFECT_FUTURE_SIGHT 148
#define EFFECT_GUST 149
#define EFFECT_FLINCH_MINIMIZE_HIT 150  // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM
#define EFFECT_SOLARBEAM 151
#define EFFECT_THUNDER 152
#define EFFECT_TELEPORT 153
#define EFFECT_BEAT_UP 154
#define EFFECT_SEMI_INVULNERABLE 155
#define EFFECT_DEFENSE_CURL 156
#define EFFECT_SOFTBOILED 157
#define EFFECT_FAKE_OUT 158
#define EFFECT_UPROAR 159
#define EFFECT_STOCKPILE 160
#define EFFECT_SPIT_UP 161
#define EFFECT_SWALLOW 162
#define EFFECT_UNUSED_A3 163
#define EFFECT_HAIL 164
#define EFFECT_TORMENT 165
#define EFFECT_FLATTER 166
#define EFFECT_WILL_O_WISP 167
#define EFFECT_MEMENTO 168
#define EFFECT_FACADE 169
#define EFFECT_FOCUS_PUNCH 170
#define EFFECT_SMELLINGSALT 171
#define EFFECT_FOLLOW_ME 172
#define EFFECT_NATURE_POWER 173
#define EFFECT_CHARGE 174
#define EFFECT_TAUNT 175
#define EFFECT_HELPING_HAND 176
#define EFFECT_TRICK 177
#define EFFECT_ROLE_PLAY 178
#define EFFECT_WISH 179
#define EFFECT_ASSIST 180
#define EFFECT_INGRAIN 181
#define EFFECT_SUPERPOWER 182
#define EFFECT_MAGIC_COAT 183
#define EFFECT_RECYCLE 184
#define EFFECT_REVENGE 185
#define EFFECT_BRICK_BREAK 186
#define EFFECT_YAWN 187
#define EFFECT_KNOCK_OFF 188
#define EFFECT_ENDEAVOR 189
#define EFFECT_ERUPTION 190
#define EFFECT_SKILL_SWAP 191
#define EFFECT_IMPRISON 192
#define EFFECT_REFRESH 193
#define EFFECT_GRUDGE 194
#define EFFECT_SNATCH 195
#define EFFECT_LOW_KICK 196
#define EFFECT_SECRET_POWER 197
#define EFFECT_DOUBLE_EDGE 198
#define EFFECT_TEETER_DANCE 199
#define EFFECT_BLAZE_KICK 200
#define EFFECT_MUD_SPORT 201
#define EFFECT_POISON_FANG 202
#define EFFECT_WEATHER_BALL 203
#define EFFECT_OVERHEAT 204
#define EFFECT_TICKLE 205
#define EFFECT_COSMIC_POWER 206
#define EFFECT_SKY_UPPERCUT 207
#define EFFECT_BULK_UP 208
#define EFFECT_POISON_TAIL 209
#define EFFECT_WATER_SPORT 210
#define EFFECT_CALM_MIND 211
#define EFFECT_DRAGON_DANCE 212
#define EFFECT_CAMOUFLAGE 213

#endif  // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H

repo_name: Lunos/pokeemerald

license: mit


code:
#ifndef GUARD_CONSTANTS_BATTLE_PALACE_H
#define GUARD_CONSTANTS_BATTLE_PALACE_H

#define BATTLE_PALACE_FUNC_INIT                 0
#define BATTLE_PALACE_FUNC_GET_DATA             1
#define BATTLE_PALACE_FUNC_SET_DATA             2
#define BATTLE_PALACE_FUNC_GET_COMMENT_ID       3
#define BATTLE_PALACE_FUNC_SET_OPPONENT         4
#define BATTLE_PALACE_FUNC_GET_OPPONENT_INTRO   5
#define BATTLE_PALACE_FUNC_INCREMENT_STREAK     6
#define BATTLE_PALACE_FUNC_SAVE                 7
#define BATTLE_PALACE_FUNC_SET_PRIZE            8
#define BATTLE_PALACE_FUNC_GIVE_PRIZE           9

#define PALACE_DATA_PRIZE               0
#define PALACE_DATA_WIN_STREAK          1
#define PALACE_DATA_WIN_STREAK_ACTIVE   2

// Pokemon in Battle Palace have a move "group" type preference depending on nature
#define PALACE_MOVE_GROUP_ATTACK  0
#define PALACE_MOVE_GROUP_DEFENSE 1
#define PALACE_MOVE_GROUP_SUPPORT 2

// In palace doubles battles pokemon have a target preference depending on nature
#define PALACE_TARGET_STRONGER 0
#define PALACE_TARGET_WEAKER   1
#define PALACE_TARGET_RANDOM   2

#endif //GUARD_CONSTANTS_BATTLE_PALACE_H


code:
#ifndef GUARD_CONSTANTS_BATTLE_PIKE_H
#define GUARD_CONSTANTS_BATTLE_PIKE_H

#define PIKE_ROOM_SINGLE_BATTLE 0
#define PIKE_ROOM_HEAL_FULL 1
#define PIKE_ROOM_NPC 2
#define PIKE_ROOM_STATUS 3
#define PIKE_ROOM_HEAL_PART 4
#define PIKE_ROOM_WILD_MONS 5
#define PIKE_ROOM_HARD_BATTLE 6
#define PIKE_ROOM_DOUBLE_BATTLE 7
#define PIKE_ROOM_BRAIN 8
#define NUM_PIKE_ROOM_TYPES 9

#define PIKE_ROOM_LEFT    0
#define PIKE_ROOM_CENTER  1
#define PIKE_ROOM_RIGHT   2

#define PIKE_HINT_NOSTALGIA  0
#define PIKE_HINT_WHISPERING 1
#define PIKE_HINT_POKEMON    2
#define PIKE_HINT_PEOPLE     3
#define PIKE_HINT_BRAIN      4

// For the room with a status effect.
#define PIKE_STATUSMON_KIRLIA   0
#define PIKE_STATUSMON_DUSCLOPS 1

#define PIKE_STATUS_FREEZE      0
#define PIKE_STATUS_BURN        1
#define PIKE_STATUS_TOXIC       2
#define PIKE_STATUS_PARALYSIS   3
#define PIKE_STATUS_SLEEP       4

// Function IDs for sBattlePikeFunctions / CallBattlePikeFunction
#define BATTLE_PIKE_FUNC_SET_ROOM_TYPE             0
#define BATTLE_PIKE_FUNC_GET_DATA                  1
#define BATTLE_PIKE_FUNC_SET_DATA                  2
#define BATTLE_PIKE_FUNC_IS_FINAL_ROOM             3
#define BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS          4
#define BATTLE_PIKE_FUNC_GET_ROOM_TYPE             5
#define BATTLE_PIKE_FUNC_SET_IN_WILD_MON_ROOM      6
#define BATTLE_PIKE_FUNC_CLEAR_IN_WILD_MON_ROOM    7
#define BATTLE_PIKE_FUNC_SAVE                      8
#define BATTLE_PIKE_FUNC_NULL_9                    9
#define BATTLE_PIKE_FUNC_NULL_10                   10
#define BATTLE_PIKE_FUNC_GET_ROOM_STATUS           11
#define BATTLE_PIKE_FUNC_GET_ROOM_STATUS_MON       12
#define BATTLE_PIKE_FUNC_HEAL_ONE_TWO_MONS         13
#define BATTLE_PIKE_FUNC_BUFFER_NPC_MSG            14
#define BATTLE_PIKE_FUNC_STATUS_SCREEN_FLASH       15
#define BATTLE_PIKE_FUNC_IS_IN                     16
#define BATTLE_PIKE_FUNC_SET_HINT_ROOM             17
#define BATTLE_PIKE_FUNC_GET_HINT_ROOM_ID          18
#define BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT        19
#define BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS         20
#define BATTLE_PIKE_FUNC_GET_TRAINER_INTRO         21
#define BATTLE_PIKE_FUNC_GET_QUEEN_FIGHT_TYPE      22
#define BATTLE_PIKE_FUNC_HEAL_MONS_BEFORE_QUEEN    23
#define BATTLE_PIKE_FUNC_SET_HEAL_ROOMS_DISABLED   24
#define BATTLE_PIKE_FUNC_IS_PARTY_FULL_HEALTH      25
#define BATTLE_PIKE_FUNC_SAVE_HELD_ITEMS           26
#define BATTLE_PIKE_FUNC_RESET_HELD_ITEMS          27
#define BATTLE_PIKE_FUNC_INIT                      28

#define PIKE_DATA_PRIZE             0
#define PIKE_DATA_WIN_STREAK        1
#define PIKE_DATA_RECORD_STREAK     2
#define PIKE_DATA_TOTAL_STREAKS     3
#define PIKE_DATA_WIN_STREAK_ACTIVE 4

#endif // GUARD_CONSTANTS_BATTLE_PIKE_H


code:
#ifndef GUARD_CONSTANTS_BATTLE_PYRAMID_H
#define GUARD_CONSTANTS_BATTLE_PYRAMID_H

#define TOTAL_ROUNDS 20
#define PICKUP_ITEMS_PER_ROUND 10

#define FLOOR_WALKABLE_METATILE 0x28D
#define FLOOR_EXIT_METATILE 0x28E

#define HINT_EXIT_DIRECTION                   0
#define HINT_REMAINING_ITEMS                  1
#define HINT_REMAINING_TRAINERS               2
#define HINT_EXIT_SHORT_REMAINING_TRAINERS    3
#define HINT_EXIT_SHORT_REMAINING_ITEMS       4
#define HINT_EXIT_MEDIUM_REMAINING_TRAINERS   5
#define HINT_EXIT_MEDIUM_REMAINING_ITEMS      6
#define HINT_EXIT_FAR_REMAINING_TRAINERS      7
#define HINT_EXIT_FAR_REMAINING_ITEMS         8

#define OBJ_TRAINERS  0
#define OBJ_ITEMS     1

#define OBJ_POSITIONS_UNIFORM               0
#define OBJ_POSITIONS_IN_AND_NEAR_ENTRANCE  1
#define OBJ_POSITIONS_IN_AND_NEAR_EXIT      2
#define OBJ_POSITIONS_NEAR_ENTRANCE         3
#define OBJ_POSITIONS_NEAR_EXIT             4

// Functions IDs for sBattlePyramidFunctions / CallBattlePyramidFunction
#define BATTLE_PYRAMID_FUNC_INIT                0
#define BATTLE_PYRAMID_FUNC_GET_DATA            1
#define BATTLE_PYRAMID_FUNC_SET_DATA            2
#define BATTLE_PYRAMID_FUNC_SAVE                3
#define BATTLE_PYRAMID_FUNC_SET_PRIZE           4
#define BATTLE_PYRAMID_FUNC_GIVE_PRIZE          5 // unused
#define BATTLE_PYRAMID_FUNC_SEED_FLOOR          6
#define BATTLE_PYRAMID_FUNC_SET_ITEM            7
#define BATTLE_PYRAMID_FUNC_HIDE_ITEM           8
#define BATTLE_PYRAMID_FUNC_SET_TRAINERS        9
#define BATTLE_PYRAMID_FUNC_SHOW_HINT_TEXT      10
#define BATTLE_PYRAMID_FUNC_UPDATE_STREAK       11 // unused
#define BATTLE_PYRAMID_FUNC_IS_IN               12
#define BATTLE_PYRAMID_FUNC_UPDATE_LIGHT        13
#define BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS    14
#define BATTLE_PYRAMID_FUNC_SET_FLOOR_PALETTE   15
#define BATTLE_PYRAMID_FUNC_START_MENU          16 // unused
#define BATTLE_PYRAMID_FUNC_RESTORE_PARTY       17

#define PYRAMID_DATA_PRIZE                   0
#define PYRAMID_DATA_WIN_STREAK              1
#define PYRAMID_DATA_WIN_STREAK_ACTIVE       2
#define PYRAMID_DATA_WIN_STREAK_50           3 // the below streak data are redundant with the above when frontier.lvlMode is correct
#define PYRAMID_DATA_WIN_STREAK_OPEN         4
#define PYRAMID_DATA_WIN_STREAK_ACTIVE_50    5
#define PYRAMID_DATA_WIN_STREAK_ACTIVE_OPEN  6
#define PYRAMID_DATA_TRAINER_FLAGS           7

#define PYRAMID_LIGHT_SET_RADIUS  0
#define PYRAMID_LIGHT_INCR_RADIUS 1

#endif // GUARD_CONSTANTS_BATTLE_PYRAMID_H


code:
#ifndef GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H
#define GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H

// Battle Scripting and BattleCommunication addresses
#define sPAINSPLIT_HP gBattleScripting
#define sBIDE_DMG gBattleScripting + 4
#define sMULTIHIT_STRING gBattleScripting + 8
#define sDMG_MULTIPLIER gBattleScripting + 0xE
#define sTWOTURN_STRINGID gBattleScripting + 0xF
#define sB_ANIM_ARG1 gBattleScripting + 0x10
#define sB_ANIM_ARG2 gBattleScripting + 0x11
#define sTRIPLE_KICK_POWER gBattleScripting + 0x12
#define sMOVEEND_STATE gBattleScripting + 0x14
#define sBATTLER_WITH_ABILITY gBattleScripting + 0x15
#define sMULTIHIT_EFFECT gBattleScripting + 0x16
#define sBATTLER gBattleScripting + 0x17
#define sB_ANIM_TURN gBattleScripting + 0x18
#define sB_ANIM_TARGETS_HIT gBattleScripting + 0x19
#define sSTATCHANGER gBattleScripting + 0x1A
#define sSTAT_ANIM_PLAYED gBattleScripting + 0x1B
#define sGIVEEXP_STATE gBattleScripting + 0x1C
#define sBATTLE_STYLE gBattleScripting + 0x1D
#define sLVLBOX_STATE gBattleScripting + 0x1E
#define sLEARNMOVE_STATE gBattleScripting + 0x1F
#define sFIELD_20 gBattleScripting + 0x20
#define sRESHOW_MAIN_STATE gBattleScripting + 0x21
#define sRESHOW_HELPER_STATE gBattleScripting + 0x22
#define sFIELD_23 gBattleScripting + 0x23
#define sWINDOWS_TYPE gBattleScripting + 0x24
#define sMULTIPLAYER_ID gBattleScripting + 0x25
#define sSPECIAL_TRAINER_BATTLE_TYPE gBattleScripting + 0x26

#define cEFFECT_CHOOSER gBattleCommunication + 3
#define cMULTISTRING_CHOOSER gBattleCommunication + 5

// Battle Script defines for getting the wanted battler
#define BS_TARGET                   0
#define BS_ATTACKER                 1
#define BS_EFFECT_BATTLER           2
#define BS_FAINTED                  3
#define BS_BATTLER_0                7
#define BS_ATTACKER_WITH_PARTNER    4 // for Cmd_updatestatusicon
#define BS_ATTACKER_SIDE            8 // for Cmd_jumpifability
#define BS_NOT_ATTACKER_SIDE        9 // for Cmd_jumpifability
#define BS_SCRIPTING                10
#define BS_PLAYER1                  11
#define BS_OPPONENT1                12
#define BS_PLAYER2                  13
#define BS_OPPONENT2                14

// Cmd_accuracycheck
#define NO_ACC_CALC 0xFFFE
#define NO_ACC_CALC_CHECK_LOCK_ON 0xFFFF
#define ACC_CURR_MOVE 0

// compare operands
#define CMP_EQUAL               0x0
#define CMP_NOT_EQUAL           0x1
#define CMP_GREATER_THAN        0x2
#define CMP_LESS_THAN           0x3
#define CMP_COMMON_BITS         0x4
#define CMP_NO_COMMON_BITS      0x5

// Cmd_various
#define VARIOUS_CANCEL_MULTI_TURN_MOVES         0
#define VARIOUS_SET_MAGIC_COAT_TARGET           1
#define VARIOUS_IS_RUNNING_IMPOSSIBLE           2
#define VARIOUS_GET_MOVE_TARGET                 3
#define VARIOUS_GET_BATTLER_FAINTED             4
#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS     5
#define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP    6
#define VARIOUS_PALACE_FLAVOR_TEXT              8
#define VARIOUS_ARENA_JUDGMENT_WINDOW           9
#define VARIOUS_ARENA_OPPONENT_MON_LOST         10
#define VARIOUS_ARENA_PLAYER_MON_LOST           11
#define VARIOUS_ARENA_BOTH_MONS_LOST            12
#define VARIOUS_EMIT_YESNOBOX                   13
#define VARIOUS_ARENA_JUDGMENT_STRING           16
#define VARIOUS_ARENA_WAIT_STRING               17
#define VARIOUS_WAIT_CRY                        18
#define VARIOUS_RETURN_OPPONENT_MON1            19
#define VARIOUS_RETURN_OPPONENT_MON2            20
#define VARIOUS_VOLUME_DOWN                     21
#define VARIOUS_VOLUME_UP                       22
#define VARIOUS_SET_ALREADY_STATUS_MOVE_ATTEMPT 23
#define VARIOUS_SET_TELEPORT_OUTCOME            25
#define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC     26

// Cmd_manipulatedmg
#define DMG_CHANGE_SIGN            0
#define DMG_RECOIL_FROM_MISS       1
#define DMG_DOUBLED                2

// Cmd_jumpifcantswitch
#define SWITCH_IGNORE_ESCAPE_PREVENTION   0x80

// Cmd_statbuffchange
#define STAT_BUFF_ALLOW_PTR                 0x1   // If set, allow use of jumpptr. Set in every use of statbuffchange
#define STAT_BUFF_NOT_PROTECT_AFFECTED      0x20

// stat change flags for Cmd_playstatchangeanimation
#define STAT_CHANGE_NEGATIVE             0x1
#define STAT_CHANGE_BY_TWO               0x2
#define STAT_CHANGE_MULTIPLE_STATS       0x4
#define STAT_CHANGE_CANT_PREVENT         0x8

// stat flags for Cmd_playstatchangeanimation
#define BIT_HP                      0x1
#define BIT_ATK                     0x2
#define BIT_DEF                     0x4
#define BIT_SPEED                   0x8
#define BIT_SPATK                   0x10
#define BIT_SPDEF                   0x20
#define BIT_ACC                     0x40
#define BIT_EVASION                 0x80

// cases for Cmd_moveend
#define MOVEEND_RAGE                              0
#define MOVEEND_DEFROST                           1
#define MOVEEND_SYNCHRONIZE_TARGET                2
#define MOVEEND_ON_DAMAGE_ABILITIES               3
#define MOVEEND_IMMUNITY_ABILITIES                4
#define MOVEEND_SYNCHRONIZE_ATTACKER              5
#define MOVEEND_CHOICE_MOVE                       6
#define MOVEEND_CHANGED_ITEMS                     7
#define MOVEEND_ATTACKER_INVISIBLE                8
#define MOVEEND_ATTACKER_VISIBLE                  9
#define MOVEEND_TARGET_VISIBLE                    10
#define MOVEEND_ITEM_EFFECTS_ALL                  11
#define MOVEEND_KINGSROCK_SHELLBELL               12
#define MOVEEND_SUBSTITUTE                        13
#define MOVEEND_UPDATE_LAST_MOVES                 14
#define MOVEEND_MIRROR_MOVE                       15
#define MOVEEND_NEXT_TARGET                       16
#define MOVEEND_COUNT                             17

#endif // GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H


code:
#ifndef GUARD_CONSTANTS_BATTLE_SETUP_H
#define GUARD_CONSTANTS_BATTLE_SETUP_H

#define TRAINER_BATTLE_SINGLE                           0
#define TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC         1
#define TRAINER_BATTLE_CONTINUE_SCRIPT                  2
#define TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT             3
#define TRAINER_BATTLE_DOUBLE                           4
#define TRAINER_BATTLE_REMATCH                          5
#define TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE           6
#define TRAINER_BATTLE_REMATCH_DOUBLE                   7
#define TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC  8
#define TRAINER_BATTLE_PYRAMID                          9
#define TRAINER_BATTLE_SET_TRAINER_A                    10
#define TRAINER_BATTLE_SET_TRAINER_B                    11
#define TRAINER_BATTLE_HILL                             12

#endif // GUARD_CONSTANTS_BATTLE_SETUP_H


code:
#ifndef GUARD_CONSTANTS_BATTLE_STRING_IDS_H
#define GUARD_CONSTANTS_BATTLE_STRING_IDS_H

#define BATTLESTRINGS_COUNT     369

#define BATTLESTRINGS_ID_ADDER  12 // all battlestrings have its ID + 12, because first 5 are reserved

#define STRINGID_INTROMSG       0
#define STRINGID_INTROSENDOUT   1
#define STRINGID_RETURNMON      2
#define STRINGID_SWITCHINMON    3
#define STRINGID_USEDMOVE       4
#define STRINGID_BATTLEEND      5

// todo: make some of those names less vague: attacker/target vs pkmn, etc.
#define STRINGID_TRAINER1LOSETEXT           12
#define STRINGID_PKMNGAINEDEXP              13
#define STRINGID_PKMNGREWTOLV               14
#define STRINGID_PKMNLEARNEDMOVE            15
#define STRINGID_TRYTOLEARNMOVE1            16
#define STRINGID_TRYTOLEARNMOVE2            17
#define STRINGID_TRYTOLEARNMOVE3            18
#define STRINGID_PKMNFORGOTMOVE             19
#define STRINGID_STOPLEARNINGMOVE           20
#define STRINGID_DIDNOTLEARNMOVE            21
#define STRINGID_PKMNLEARNEDMOVE2           22
#define STRINGID_ATTACKMISSED               23
#define STRINGID_PKMNPROTECTEDITSELF        24
#define STRINGID_STATSWONTINCREASE2         25
#define STRINGID_AVOIDEDDAMAGE              26
#define STRINGID_ITDOESNTAFFECT             27
#define STRINGID_ATTACKERFAINTED            28
#define STRINGID_TARGETFAINTED              29
#define STRINGID_PLAYERGOTMONEY             30
#define STRINGID_PLAYERWHITEOUT             31
#define STRINGID_PLAYERWHITEOUT2            32
#define STRINGID_PREVENTSESCAPE             33
#define STRINGID_HITXTIMES                  34
#define STRINGID_PKMNFELLASLEEP             35
#define STRINGID_PKMNMADESLEEP              36
#define STRINGID_PKMNALREADYASLEEP          37
#define STRINGID_PKMNALREADYASLEEP2         38
#define STRINGID_PKMNWASNTAFFECTED          39
#define STRINGID_PKMNWASPOISONED            40
#define STRINGID_PKMNPOISONEDBY             41
#define STRINGID_PKMNHURTBYPOISON           42
#define STRINGID_PKMNALREADYPOISONED        43
#define STRINGID_PKMNBADLYPOISONED          44
#define STRINGID_PKMNENERGYDRAINED          45
#define STRINGID_PKMNWASBURNED              46
#define STRINGID_PKMNBURNEDBY               47
#define STRINGID_PKMNHURTBYBURN             48
#define STRINGID_PKMNWASFROZEN              49
#define STRINGID_PKMNFROZENBY               50
#define STRINGID_PKMNISFROZEN               51
#define STRINGID_PKMNWASDEFROSTED           52
#define STRINGID_PKMNWASDEFROSTED2          53
#define STRINGID_PKMNWASDEFROSTEDBY         54
#define STRINGID_PKMNWASPARALYZED           55
#define STRINGID_PKMNWASPARALYZEDBY         56
#define STRINGID_PKMNISPARALYZED            57
#define STRINGID_PKMNISALREADYPARALYZED     58
#define STRINGID_PKMNHEALEDPARALYSIS        59
#define STRINGID_PKMNDREAMEATEN             60
#define STRINGID_STATSWONTINCREASE          61
#define STRINGID_STATSWONTDECREASE          62
#define STRINGID_TEAMSTOPPEDWORKING         63
#define STRINGID_FOESTOPPEDWORKING          64
#define STRINGID_PKMNISCONFUSED             65
#define STRINGID_PKMNHEALEDCONFUSION        66
#define STRINGID_PKMNWASCONFUSED            67
#define STRINGID_PKMNALREADYCONFUSED        68
#define STRINGID_PKMNFELLINLOVE             69
#define STRINGID_PKMNINLOVE                 70
#define STRINGID_PKMNIMMOBILIZEDBYLOVE      71
#define STRINGID_PKMNBLOWNAWAY              72
#define STRINGID_PKMNCHANGEDTYPE            73
#define STRINGID_PKMNFLINCHED               74
#define STRINGID_PKMNREGAINEDHEALTH         75
#define STRINGID_PKMNHPFULL                 76
#define STRINGID_PKMNRAISEDSPDEF            77
#define STRINGID_PKMNRAISEDDEF              78
#define STRINGID_PKMNCOVEREDBYVEIL          79
#define STRINGID_PKMNUSEDSAFEGUARD          80
#define STRINGID_PKMNSAFEGUARDEXPIRED       81
#define STRINGID_PKMNWENTTOSLEEP            82
#define STRINGID_PKMNSLEPTHEALTHY           83
#define STRINGID_PKMNWHIPPEDWHIRLWIND       84
#define STRINGID_PKMNTOOKSUNLIGHT           85
#define STRINGID_PKMNLOWEREDHEAD            86
#define STRINGID_PKMNISGLOWING              87
#define STRINGID_PKMNFLEWHIGH               88
#define STRINGID_PKMNDUGHOLE                89
#define STRINGID_PKMNSQUEEZEDBYBIND         90
#define STRINGID_PKMNTRAPPEDINVORTEX        91
#define STRINGID_PKMNWRAPPEDBY              92
#define STRINGID_PKMNCLAMPED                93
#define STRINGID_PKMNHURTBY                 94
#define STRINGID_PKMNFREEDFROM              95
#define STRINGID_PKMNCRASHED                96
#define STRINGID_PKMNSHROUDEDINMIST         97
#define STRINGID_PKMNPROTECTEDBYMIST        98
#define STRINGID_PKMNGETTINGPUMPED          99
#define STRINGID_PKMNHITWITHRECOIL          100
#define STRINGID_PKMNPROTECTEDITSELF2       101
#define STRINGID_PKMNBUFFETEDBYSANDSTORM    102
#define STRINGID_PKMNPELTEDBYHAIL           103
#define STRINGID_PKMNSEEDED                 104
#define STRINGID_PKMNEVADEDATTACK           105
#define STRINGID_PKMNSAPPEDBYLEECHSEED      106
#define STRINGID_PKMNFASTASLEEP             107
#define STRINGID_PKMNWOKEUP                 108
#define STRINGID_PKMNUPROARKEPTAWAKE        109
#define STRINGID_PKMNWOKEUPINUPROAR         110
#define STRINGID_PKMNCAUSEDUPROAR           111
#define STRINGID_PKMNMAKINGUPROAR           112
#define STRINGID_PKMNCALMEDDOWN             113
#define STRINGID_PKMNCANTSLEEPINUPROAR      114
#define STRINGID_PKMNSTOCKPILED             115
#define STRINGID_PKMNCANTSTOCKPILE          116
#define STRINGID_PKMNCANTSLEEPINUPROAR2     117
#define STRINGID_UPROARKEPTPKMNAWAKE        118
#define STRINGID_PKMNSTAYEDAWAKEUSING       119
#define STRINGID_PKMNSTORINGENERGY          120
#define STRINGID_PKMNUNLEASHEDENERGY        121
#define STRINGID_PKMNFATIGUECONFUSION       122
#define STRINGID_PKMNPICKEDUPITEM           123
#define STRINGID_PKMNUNAFFECTED             124
#define STRINGID_PKMNTRANSFORMEDINTO        125
#define STRINGID_PKMNMADESUBSTITUTE         126
#define STRINGID_PKMNHASSUBSTITUTE          127
#define STRINGID_SUBSTITUTEDAMAGED          128
#define STRINGID_PKMNSUBSTITUTEFADED        129
#define STRINGID_PKMNMUSTRECHARGE           130
#define STRINGID_PKMNRAGEBUILDING           131
#define STRINGID_PKMNMOVEWASDISABLED        132
#define STRINGID_PKMNMOVEISDISABLED         133
#define STRINGID_PKMNMOVEDISABLEDNOMORE     134
#define STRINGID_PKMNGOTENCORE              135
#define STRINGID_PKMNENCOREENDED            136
#define STRINGID_PKMNTOOKAIM                137
#define STRINGID_PKMNSKETCHEDMOVE           138
#define STRINGID_PKMNTRYINGTOTAKEFOE        139
#define STRINGID_PKMNTOOKFOE                140
#define STRINGID_PKMNREDUCEDPP              141
#define STRINGID_PKMNSTOLEITEM              142
#define STRINGID_TARGETCANTESCAPENOW        143
#define STRINGID_PKMNFELLINTONIGHTMARE      144
#define STRINGID_PKMNLOCKEDINNIGHTMARE      145
#define STRINGID_PKMNLAIDCURSE              146
#define STRINGID_PKMNAFFLICTEDBYCURSE       147
#define STRINGID_SPIKESSCATTERED            148
#define STRINGID_PKMNHURTBYSPIKES           149
#define STRINGID_PKMNIDENTIFIED             150
#define STRINGID_PKMNPERISHCOUNTFELL        151
#define STRINGID_PKMNBRACEDITSELF           152
#define STRINGID_PKMNENDUREDHIT             153
#define STRINGID_MAGNITUDESTRENGTH          154
#define STRINGID_PKMNCUTHPMAXEDATTACK       155
#define STRINGID_PKMNCOPIEDSTATCHANGES      156
#define STRINGID_PKMNGOTFREE                157
#define STRINGID_PKMNSHEDLEECHSEED          158
#define STRINGID_PKMNBLEWAWAYSPIKES         159
#define STRINGID_PKMNFLEDFROMBATTLE         160
#define STRINGID_PKMNFORESAWATTACK          161
#define STRINGID_PKMNTOOKATTACK             162
#define STRINGID_PKMNATTACK                 163
#define STRINGID_PKMNCENTERATTENTION        164
#define STRINGID_PKMNCHARGINGPOWER          165
#define STRINGID_NATUREPOWERTURNEDINTO      166
#define STRINGID_PKMNSTATUSNORMAL           167
#define STRINGID_PKMNHASNOMOVESLEFT         168
#define STRINGID_PKMNSUBJECTEDTOTORMENT     169
#define STRINGID_PKMNCANTUSEMOVETORMENT     170
#define STRINGID_PKMNTIGHTENINGFOCUS        171
#define STRINGID_PKMNFELLFORTAUNT           172
#define STRINGID_PKMNCANTUSEMOVETAUNT       173
#define STRINGID_PKMNREADYTOHELP            174
#define STRINGID_PKMNSWITCHEDITEMS          175
#define STRINGID_PKMNCOPIEDFOE              176
#define STRINGID_PKMNMADEWISH               177
#define STRINGID_PKMNWISHCAMETRUE           178
#define STRINGID_PKMNPLANTEDROOTS           179
#define STRINGID_PKMNABSORBEDNUTRIENTS      180
#define STRINGID_PKMNANCHOREDITSELF         181
#define STRINGID_PKMNWASMADEDROWSY          182
#define STRINGID_PKMNKNOCKEDOFF             183
#define STRINGID_PKMNSWAPPEDABILITIES       184
#define STRINGID_PKMNSEALEDOPPONENTMOVE     185
#define STRINGID_PKMNCANTUSEMOVESEALED      186
#define STRINGID_PKMNWANTSGRUDGE            187
#define STRINGID_PKMNLOSTPPGRUDGE           188
#define STRINGID_PKMNSHROUDEDITSELF         189
#define STRINGID_PKMNMOVEBOUNCED            190
#define STRINGID_PKMNWAITSFORTARGET         191
#define STRINGID_PKMNSNATCHEDMOVE           192
#define STRINGID_PKMNMADEITRAIN             193
#define STRINGID_PKMNRAISEDSPEED            194
#define STRINGID_PKMNPROTECTEDBY            195
#define STRINGID_PKMNPREVENTSUSAGE          196
#define STRINGID_PKMNRESTOREDHPUSING        197
#define STRINGID_PKMNCHANGEDTYPEWITH        198
#define STRINGID_PKMNPREVENTSPARALYSISWITH  199
#define STRINGID_PKMNPREVENTSROMANCEWITH    200
#define STRINGID_PKMNPREVENTSPOISONINGWITH  201
#define STRINGID_PKMNPREVENTSCONFUSIONWITH  202
#define STRINGID_PKMNRAISEDFIREPOWERWITH    203
#define STRINGID_PKMNANCHORSITSELFWITH      204
#define STRINGID_PKMNCUTSATTACKWITH         205
#define STRINGID_PKMNPREVENTSSTATLOSSWITH   206
#define STRINGID_PKMNHURTSWITH              207
#define STRINGID_PKMNTRACED                 208
#define STRINGID_STATSHARPLY                209
#define STRINGID_STATROSE                   210
#define STRINGID_STATHARSHLY                211
#define STRINGID_STATFELL                   212
#define STRINGID_PKMNSSTATCHANGED           213
#define STRINGID_PKMNSSTATCHANGED2          214
#define STRINGID_PKMNSSTATCHANGED3          215
#define STRINGID_PKMNSSTATCHANGED4          216
#define STRINGID_CRITICALHIT                217
#define STRINGID_ONEHITKO                   218
#define STRINGID_123POOF                    219
#define STRINGID_ANDELLIPSIS                220
#define STRINGID_NOTVERYEFFECTIVE           221
#define STRINGID_SUPEREFFECTIVE             222
#define STRINGID_GOTAWAYSAFELY              223
#define STRINGID_WILDPKMNFLED               224
#define STRINGID_NORUNNINGFROMTRAINERS      225
#define STRINGID_CANTESCAPE                 226
#define STRINGID_DONTLEAVEBIRCH             227
#define STRINGID_BUTNOTHINGHAPPENED         228
#define STRINGID_BUTITFAILED                229
#define STRINGID_ITHURTCONFUSION            230
#define STRINGID_MIRRORMOVEFAILED           231
#define STRINGID_STARTEDTORAIN              232
#define STRINGID_DOWNPOURSTARTED            233
#define STRINGID_RAINCONTINUES              234
#define STRINGID_DOWNPOURCONTINUES          235
#define STRINGID_RAINSTOPPED                236
#define STRINGID_SANDSTORMBREWED            237
#define STRINGID_SANDSTORMRAGES             238
#define STRINGID_SANDSTORMSUBSIDED          239
#define STRINGID_SUNLIGHTGOTBRIGHT          240
#define STRINGID_SUNLIGHTSTRONG             241
#define STRINGID_SUNLIGHTFADED              242
#define STRINGID_STARTEDHAIL                243
#define STRINGID_HAILCONTINUES              244
#define STRINGID_HAILSTOPPED                245
#define STRINGID_FAILEDTOSPITUP             246
#define STRINGID_FAILEDTOSWALLOW            247
#define STRINGID_WINDBECAMEHEATWAVE         248
#define STRINGID_STATCHANGESGONE            249
#define STRINGID_COINSSCATTERED             250
#define STRINGID_TOOWEAKFORSUBSTITUTE       251
#define STRINGID_SHAREDPAIN                 252
#define STRINGID_BELLCHIMED                 253
#define STRINGID_FAINTINTHREE               254
#define STRINGID_NOPPLEFT                   255
#define STRINGID_BUTNOPPLEFT                256
#define STRINGID_PLAYERUSEDITEM             257
#define STRINGID_WALLYUSEDITEM              258
#define STRINGID_TRAINERBLOCKEDBALL         259
#define STRINGID_DONTBEATHIEF               260
#define STRINGID_ITDODGEDBALL               261
#define STRINGID_YOUMISSEDPKMN              262
#define STRINGID_PKMNBROKEFREE              263
#define STRINGID_ITAPPEAREDCAUGHT           264
#define STRINGID_AARGHALMOSTHADIT           265
#define STRINGID_SHOOTSOCLOSE               266
#define STRINGID_GOTCHAPKMNCAUGHT           267
#define STRINGID_GOTCHAPKMNCAUGHT2          268
#define STRINGID_GIVENICKNAMECAPTURED       269
#define STRINGID_PKMNSENTTOPC               270
#define STRINGID_PKMNDATAADDEDTODEX         271
#define STRINGID_ITISRAINING                272
#define STRINGID_SANDSTORMISRAGING          273
#define STRINGID_CANTESCAPE2                274
#define STRINGID_PKMNIGNORESASLEEP          275
#define STRINGID_PKMNIGNOREDORDERS          276
#define STRINGID_PKMNBEGANTONAP             277
#define STRINGID_PKMNLOAFING                278
#define STRINGID_PKMNWONTOBEY               279
#define STRINGID_PKMNTURNEDAWAY             280
#define STRINGID_PKMNPRETENDNOTNOTICE       281
#define STRINGID_ENEMYABOUTTOSWITCHPKMN     282
#define STRINGID_CREPTCLOSER                283
#define STRINGID_CANTGETCLOSER              284
#define STRINGID_PKMNWATCHINGCAREFULLY      285
#define STRINGID_PKMNCURIOUSABOUTX          286
#define STRINGID_PKMNENTHRALLEDBYX          287
#define STRINGID_PKMNIGNOREDX               288
#define STRINGID_THREWPOKEBLOCKATPKMN       289
#define STRINGID_OUTOFSAFARIBALLS           290
#define STRINGID_PKMNSITEMCUREDPARALYSIS    291
#define STRINGID_PKMNSITEMCUREDPOISON       292
#define STRINGID_PKMNSITEMHEALEDBURN        293
#define STRINGID_PKMNSITEMDEFROSTEDIT       294
#define STRINGID_PKMNSITEMWOKEIT            295
#define STRINGID_PKMNSITEMSNAPPEDOUT        296
#define STRINGID_PKMNSITEMCUREDPROBLEM      297
#define STRINGID_PKMNSITEMRESTOREDHEALTH    298
#define STRINGID_PKMNSITEMRESTOREDPP        299
#define STRINGID_PKMNSITEMRESTOREDSTATUS    300
#define STRINGID_PKMNSITEMRESTOREDHPALITTLE 301
#define STRINGID_ITEMALLOWSONLYYMOVE        302
#define STRINGID_PKMNHUNGONWITHX            303
#define STRINGID_EMPTYSTRING3               304
#define STRINGID_PKMNSXPREVENTSBURNS        305
#define STRINGID_PKMNSXBLOCKSY              306
#define STRINGID_PKMNSXRESTOREDHPALITTLE2   307
#define STRINGID_PKMNSXWHIPPEDUPSANDSTORM   308
#define STRINGID_PKMNSXPREVENTSYLOSS        309
#define STRINGID_PKMNSXINFATUATEDY          310
#define STRINGID_PKMNSXMADEYINEFFECTIVE     311
#define STRINGID_PKMNSXCUREDYPROBLEM        312
#define STRINGID_ITSUCKEDLIQUIDOOZE         313
#define STRINGID_PKMNTRANSFORMED            314
#define STRINGID_ELECTRICITYWEAKENED        315
#define STRINGID_FIREWEAKENED               316
#define STRINGID_PKMNHIDUNDERWATER          317
#define STRINGID_PKMNSPRANGUP               318
#define STRINGID_HMMOVESCANTBEFORGOTTEN     319
#define STRINGID_XFOUNDONEY                 320
#define STRINGID_PLAYERDEFEATEDTRAINER1     321
#define STRINGID_SOOTHINGAROMA              322
#define STRINGID_ITEMSCANTBEUSEDNOW         323
#define STRINGID_FORXCOMMAYZ                324
#define STRINGID_USINGXTHEYOFZN             325
#define STRINGID_PKMNUSEDXTOGETPUMPED       326
#define STRINGID_PKMNSXMADEYUSELESS         327
#define STRINGID_PKMNTRAPPEDBYSANDTOMB      328
#define STRINGID_EMPTYSTRING4               329
#define STRINGID_ABOOSTED                   330
#define STRINGID_PKMNSXINTENSIFIEDSUN       331
#define STRINGID_PKMNMAKESGROUNDMISS        332
#define STRINGID_YOUTHROWABALLNOWRIGHT      333
#define STRINGID_PKMNSXTOOKATTACK           334
#define STRINGID_PKMNCHOSEXASDESTINY        335
#define STRINGID_PKMNLOSTFOCUS              336
#define STRINGID_USENEXTPKMN                337
#define STRINGID_PKMNFLEDUSINGITS           338
#define STRINGID_PKMNFLEDUSING              339
#define STRINGID_PKMNWASDRAGGEDOUT          340
#define STRINGID_PREVENTEDFROMWORKING       341
#define STRINGID_PKMNSITEMNORMALIZEDSTATUS  342
#define STRINGID_TRAINER1USEDITEM           343
#define STRINGID_BOXISFULL                  344
#define STRINGID_PKMNAVOIDEDATTACK          345
#define STRINGID_PKMNSXMADEITINEFFECTIVE    346
#define STRINGID_PKMNSXPREVENTSFLINCHING    347
#define STRINGID_PKMNALREADYHASBURN         348
#define STRINGID_STATSWONTDECREASE2         349
#define STRINGID_PKMNSXBLOCKSY2             350
#define STRINGID_PKMNSXWOREOFF              351
#define STRINGID_PKMNRAISEDDEFALITTLE       352
#define STRINGID_PKMNRAISEDSPDEFALITTLE     353
#define STRINGID_THEWALLSHATTERED           354
#define STRINGID_PKMNSXPREVENTSYSZ          355
#define STRINGID_PKMNSXCUREDITSYPROBLEM     356
#define STRINGID_ATTACKERCANTESCAPE         357
#define STRINGID_PKMNOBTAINEDX              358
#define STRINGID_PKMNOBTAINEDX2             359
#define STRINGID_PKMNOBTAINEDXYOBTAINEDZ    360
#define STRINGID_BUTNOEFFECT                361
#define STRINGID_PKMNSXHADNOEFFECTONY       362
#define STRINGID_TWOENEMIESDEFEATED         363
#define STRINGID_TRAINER2LOSETEXT           364
#define STRINGID_PKMNINCAPABLEOFPOWER       365
#define STRINGID_GLINTAPPEARSINEYE          366
#define STRINGID_PKMNGETTINGINTOPOSITION    367
#define STRINGID_PKMNBEGANGROWLINGDEEPLY    368
#define STRINGID_PKMNEAGERFORMORE           369
#define STRINGID_DEFEATEDOPPONENTBYREFEREE  370
#define STRINGID_LOSTTOOPPONENTBYREFEREE    371
#define STRINGID_TIEDOPPONENTBYREFEREE      372
#define STRINGID_QUESTIONFORFEITMATCH       373
#define STRINGID_FORFEITEDMATCH             374
#define STRINGID_PKMNTRANSFERREDSOMEONESPC  375
#define STRINGID_PKMNTRANSFERREDLANETTESPC  376
#define STRINGID_PKMNBOXSOMEONESPCFULL      377
#define STRINGID_PKMNBOXLANETTESPCFULL      378
#define STRINGID_TRAINER1WINTEXT            379
#define STRINGID_TRAINER2WINTEXT            380

#endif // GUARD_CONSTANTS_BATTLE_STRING_IDS_H


code:
#ifndef GUARD_CONSTANTS_BATTLE_TENT_H
#define GUARD_CONSTANTS_BATTLE_TENT_H

#define VERDANTURF_TENT_FUNC_INIT                0
#define VERDANTURF_TENT_FUNC_GET_PRIZE           1
#define VERDANTURF_TENT_FUNC_SET_PRIZE           2
#define VERDANTURF_TENT_FUNC_SET_OPPONENT_GFX    3
#define VERDANTURF_TENT_FUNC_GET_OPPONENT_INTRO  4
#define VERDANTURF_TENT_FUNC_SAVE                5
#define VERDANTURF_TENT_FUNC_SET_RANDOM_PRIZE    6
#define VERDANTURF_TENT_FUNC_GIVE_PRIZE          7

#define FALLARBOR_TENT_FUNC_INIT               0
#define FALLARBOR_TENT_FUNC_GET_PRIZE          1
#define FALLARBOR_TENT_FUNC_SET_PRIZE          2
#define FALLARBOR_TENT_FUNC_SAVE               3
#define FALLARBOR_TENT_FUNC_SET_RANDOM_PRIZE   4
#define FALLARBOR_TENT_FUNC_GIVE_PRIZE         5
#define FALLARBOR_TENT_FUNC_GET_OPPONENT_NAME  6

#define SLATEPORT_TENT_FUNC_INIT                    0
#define SLATEPORT_TENT_FUNC_GET_PRIZE               1
#define SLATEPORT_TENT_FUNC_SET_PRIZE               2
#define SLATEPORT_TENT_FUNC_SAVE                    3
#define SLATEPORT_TENT_FUNC_SET_RANDOM_PRIZE        4
#define SLATEPORT_TENT_FUNC_GIVE_PRIZE              5
#define SLATEPORT_TENT_FUNC_SELECT_RENT_MONS        6
#define SLATEPORT_TENT_FUNC_SWAP_RENT_MONS          7
#define SLATEPORT_TENT_FUNC_GENERATE_OPPONENT_MONS  8
#define SLATEPORT_TENT_FUNC_GENERATE_RENTAL_MONS    9

#endif // GUARD_CONSTANTS_BATTLE_TENT_H


code:
#ifndef GUARD_CONSTANTS_BATTLE_TENT_MONS_H
#define GUARD_CONSTANTS_BATTLE_TENT_MONS_H

#define SLATEPORT_TENT_MON_ZIGZAGOON_1  0
#define SLATEPORT_TENT_MON_ZIGZAGOON_2  1
#define SLATEPORT_TENT_MON_BEAUTIFLY    2
#define SLATEPORT_TENT_MON_DUSTOX       3
#define SLATEPORT_TENT_MON_WAILMER_1    4
#define SLATEPORT_TENT_MON_WAILMER_2    5
#define SLATEPORT_TENT_MON_MARILL_1     6
#define SLATEPORT_TENT_MON_WINGULL_1    7
#define SLATEPORT_TENT_MON_PELIPPER_1   8
#define SLATEPORT_TENT_MON_CACNEA_1     9
#define SLATEPORT_TENT_MON_LOMBRE_1     10
#define SLATEPORT_TENT_MON_LOTAD        11
#define SLATEPORT_TENT_MON_SEEDOT       12
#define SLATEPORT_TENT_MON_NUZLEAF      13
#define SLATEPORT_TENT_MON_NINJASK_1    14
#define SLATEPORT_TENT_MON_NINJASK_2    15
#define SLATEPORT_TENT_MON_GRAVELER     16
#define SLATEPORT_TENT_MON_BALTOY       17
#define SLATEPORT_TENT_MON_MIGHTYENA_1  18
#define SLATEPORT_TENT_MON_MIGHTYENA_2  19
#define SLATEPORT_TENT_MON_LINOONE      20
#define SLATEPORT_TENT_MON_GOLDEEN      21
#define SLATEPORT_TENT_MON_ELECTRIKE_1  22
#define SLATEPORT_TENT_MON_VOLTORB      23
#define SLATEPORT_TENT_MON_ARON_1       24
#define SLATEPORT_TENT_MON_ARON_2       25
#define SLATEPORT_TENT_MON_TRAPINCH_1   26
#define SLATEPORT_TENT_MON_CACNEA_2     27
#define SLATEPORT_TENT_MON_TAILLOW      28
#define SLATEPORT_TENT_MON_SWELLOW      29
#define SLATEPORT_TENT_MON_GOLBAT_1     30
#define SLATEPORT_TENT_MON_LOUDRED      31
#define SLATEPORT_TENT_MON_SPINDA       32
#define SLATEPORT_TENT_MON_MAGNEMITE    33
#define SLATEPORT_TENT_MON_WHISMUR      34
#define SLATEPORT_TENT_MON_MAKUHITA     35
#define SLATEPORT_TENT_MON_NUMEL_1      36
#define SLATEPORT_TENT_MON_BARBOACH     37
#define SLATEPORT_TENT_MON_TENTACOOL    38
#define SLATEPORT_TENT_MON_VIGOROTH     39
#define SLATEPORT_TENT_MON_MAGIKARP     40
#define SLATEPORT_TENT_MON_SEVIPER_1    41
#define SLATEPORT_TENT_MON_SOLROCK      42
#define SLATEPORT_TENT_MON_KECLEON_1    43
#define SLATEPORT_TENT_MON_KECLEON_2    44
#define SLATEPORT_TENT_MON_SHROOMISH_1  45
#define SLATEPORT_TENT_MON_SHROOMISH_2  46
#define SLATEPORT_TENT_MON_LOMBRE_2     47
#define SLATEPORT_TENT_MON_NUMEL_2      48
#define SLATEPORT_TENT_MON_TRAPINCH_2   49
#define SLATEPORT_TENT_MON_PELIPPER_2   50
#define SLATEPORT_TENT_MON_WINGULL_2    51
#define SLATEPORT_TENT_MON_MARILL_2     52
#define SLATEPORT_TENT_MON_SKITTY       53
#define SLATEPORT_TENT_MON_SEVIPER_2    54
#define SLATEPORT_TENT_MON_GOLBAT_2     55
#define SLATEPORT_TENT_MON_RALTS        56
#define SLATEPORT_TENT_MON_SANDSHREW    57
#define SLATEPORT_TENT_MON_SWALOT       58
#define SLATEPORT_TENT_MON_VOLBEAT      59
#define SLATEPORT_TENT_MON_ILLUMISE     60
#define SLATEPORT_TENT_MON_KADABRA      61
#define SLATEPORT_TENT_MON_KIRLIA       62
#define SLATEPORT_TENT_MON_BRELOOM      63
#define SLATEPORT_TENT_MON_PLUSLE_1     64
#define SLATEPORT_TENT_MON_PLUSLE_2     65
#define SLATEPORT_TENT_MON_ELECTRIKE_2  66
#define SLATEPORT_TENT_MON_SWABLU       67
#define SLATEPORT_TENT_MON_MACHOP       68
#define SLATEPORT_TENT_MON_MACHOKE      69

#define NUM_SLATEPORT_TENT_MONS         70

#define VERDANTURF_TENT_MON_POOCHYENA   0
#define VERDANTURF_TENT_MON_ZIGZAGOON   1
#define VERDANTURF_TENT_MON_DUSTOX      2
#define VERDANTURF_TENT_MON_TAILLOW     3
#define VERDANTURF_TENT_MON_SHROOMISH   4
#define VERDANTURF_TENT_MON_MACHOP      5
#define VERDANTURF_TENT_MON_MAGIKARP    6
#define VERDANTURF_TENT_MON_BARBOACH    7
#define VERDANTURF_TENT_MON_WINGULL     8
#define VERDANTURF_TENT_MON_ARON_1      9
#define VERDANTURF_TENT_MON_NUMEL_1     10
#define VERDANTURF_TENT_MON_SWALOT      11
#define VERDANTURF_TENT_MON_KECLEON     12
#define VERDANTURF_TENT_MON_BALTOY      13
#define VERDANTURF_TENT_MON_NINJASK     14
#define VERDANTURF_TENT_MON_MAKUHITA    15
#define VERDANTURF_TENT_MON_SWABLU      16
#define VERDANTURF_TENT_MON_GOLDEEN_1   17
#define VERDANTURF_TENT_MON_LOTAD       18
#define VERDANTURF_TENT_MON_NUMEL_2     19
#define VERDANTURF_TENT_MON_LINOONE     20
#define VERDANTURF_TENT_MON_SEVIPER     21
#define VERDANTURF_TENT_MON_SKARMORY    22
#define VERDANTURF_TENT_MON_SWELLOW     23
#define VERDANTURF_TENT_MON_GOLDEEN_2   24
#define VERDANTURF_TENT_MON_ELECTRIKE   25
#define VERDANTURF_TENT_MON_NUZLEAF     26
#define VERDANTURF_TENT_MON_ARON_2      27
#define VERDANTURF_TENT_MON_MIGHTYENA   28
#define VERDANTURF_TENT_MON_SOLROCK     29
#define VERDANTURF_TENT_MON_GRAVELER    30
#define VERDANTURF_TENT_MON_KADABRA     31
#define VERDANTURF_TENT_MON_VOLTORB     32
#define VERDANTURF_TENT_MON_MAGNEMITE   33
#define VERDANTURF_TENT_MON_PELIPPER    34
#define VERDANTURF_TENT_MON_LOUDRED     35
#define VERDANTURF_TENT_MON_MARILL      36
#define VERDANTURF_TENT_MON_TRAPINCH    37
#define VERDANTURF_TENT_MON_TENTACOOL   38
#define VERDANTURF_TENT_MON_VIGOROTH    39
#define VERDANTURF_TENT_MON_WAILMER     40
#define VERDANTURF_TENT_MON_ILLUMISE    41
#define VERDANTURF_TENT_MON_MACHOKE     42
#define VERDANTURF_TENT_MON_WHISMUR     43
#define VERDANTURF_TENT_MON_CACNEA      44

#define NUM_VERDANTURF_TENT_MONS        45

#define FALLARBOR_TENT_MON_NUMEL        0
#define FALLARBOR_TENT_MON_LINOONE_1    1
#define FALLARBOR_TENT_MON_PLUSLE       2
#define FALLARBOR_TENT_MON_POOCHYENA    3
#define FALLARBOR_TENT_MON_KECLEON      4
#define FALLARBOR_TENT_MON_MAGIKARP     5
#define FALLARBOR_TENT_MON_SOLROCK      6
#define FALLARBOR_TENT_MON_MAKUHITA     7
#define FALLARBOR_TENT_MON_MACHOKE      8
#define FALLARBOR_TENT_MON_NINCADA      9
#define FALLARBOR_TENT_MON_BEAUTIFLY    10
#define FALLARBOR_TENT_MON_DUSTOX       11
#define FALLARBOR_TENT_MON_ILLUMISE     12
#define FALLARBOR_TENT_MON_VOLBEAT      13
#define FALLARBOR_TENT_MON_NINJASK_1    14
#define FALLARBOR_TENT_MON_NINJASK_2    15
#define FALLARBOR_TENT_MON_ARON_1       16
#define FALLARBOR_TENT_MON_ARON_2       17
#define FALLARBOR_TENT_MON_ELECTRIKE    18
#define FALLARBOR_TENT_MON_MAGNEMITE    19
#define FALLARBOR_TENT_MON_VOLTORB      20
#define FALLARBOR_TENT_MON_WHISMUR      21
#define FALLARBOR_TENT_MON_LOUDRED      22
#define FALLARBOR_TENT_MON_LINOONE_2    23
#define FALLARBOR_TENT_MON_MIGHTYENA    24
#define FALLARBOR_TENT_MON_SWABLU       25
#define FALLARBOR_TENT_MON_SKARMORY     26
#define FALLARBOR_TENT_MON_GOLBAT       27
#define FALLARBOR_TENT_MON_WINGULL      28
#define FALLARBOR_TENT_MON_PELIPPER     29
#define FALLARBOR_TENT_MON_BARBOACH     30
#define FALLARBOR_TENT_MON_WAILMER      31
#define FALLARBOR_TENT_MON_MARILL       32
#define FALLARBOR_TENT_MON_GOLDEEN_1    33
#define FALLARBOR_TENT_MON_GOLDEEN_2    34
#define FALLARBOR_TENT_MON_TRAPINCH     35
#define FALLARBOR_TENT_MON_BALTOY       36
#define FALLARBOR_TENT_MON_GRAVELER     37
#define FALLARBOR_TENT_MON_SANDSHREW    38
#define FALLARBOR_TENT_MON_SWALOT       39
#define FALLARBOR_TENT_MON_SHROOMISH    40
#define FALLARBOR_TENT_MON_KIRLIA       41
#define FALLARBOR_TENT_MON_LOMBRE       42
#define FALLARBOR_TENT_MON_NUZLEAF      43
#define FALLARBOR_TENT_MON_CACNEA       44

#define NUM_FALLARBOR_TENT_MONS         45

#endif  // GUARD_CONSTANTS_BATTLE_TENT_MONS_H


code:
#ifndef GUARD_CONSTANTS_BATTLE_TENT_TRAINERS_H
#define GUARD_CONSTANTS_BATTLE_TENT_TRAINERS_H

#define SLATEPORT_TENT_TRAINER_JOLIE    0
#define SLATEPORT_TENT_TRAINER_MALACHI  1
#define SLATEPORT_TENT_TRAINER_KELSIE   2
#define SLATEPORT_TENT_TRAINER_DAVON    3
#define SLATEPORT_TENT_TRAINER_GLENDA   4
#define SLATEPORT_TENT_TRAINER_HELENA   5
#define SLATEPORT_TENT_TRAINER_RODOLFO  6
#define SLATEPORT_TENT_TRAINER_DAVION   7
#define SLATEPORT_TENT_TRAINER_KENDALL  8
#define SLATEPORT_TENT_TRAINER_COLTEN   9
#define SLATEPORT_TENT_TRAINER_IRVIN    10
#define SLATEPORT_TENT_TRAINER_SHAUN    11
#define SLATEPORT_TENT_TRAINER_KYLER    12
#define SLATEPORT_TENT_TRAINER_MAGGIE   13
#define SLATEPORT_TENT_TRAINER_STEPHON  14
#define SLATEPORT_TENT_TRAINER_REBECCA  15
#define SLATEPORT_TENT_TRAINER_REGGIE   16
#define SLATEPORT_TENT_TRAINER_JANAE    17
#define SLATEPORT_TENT_TRAINER_CAIDEN   18
#define SLATEPORT_TENT_TRAINER_KIRSTEN  19
#define SLATEPORT_TENT_TRAINER_KURTIS   20
#define SLATEPORT_TENT_TRAINER_STEFAN   21
#define SLATEPORT_TENT_TRAINER_AVERY    22
#define SLATEPORT_TENT_TRAINER_DWANE    23
#define SLATEPORT_TENT_TRAINER_MCKENNA  24
#define SLATEPORT_TENT_TRAINER_CAMRYN   25
#define SLATEPORT_TENT_TRAINER_NATASHA  26
#define SLATEPORT_TENT_TRAINER_AUSTYN   27
#define SLATEPORT_TENT_TRAINER_DONOVAN  28
#define SLATEPORT_TENT_TRAINER_TAMIA    29

#define VERDANTURF_TENT_TRAINER_BRENNA  0
#define VERDANTURF_TENT_TRAINER_DILAN   1
#define VERDANTURF_TENT_TRAINER_ELIANA  2
#define VERDANTURF_TENT_TRAINER_MARKUS  3
#define VERDANTURF_TENT_TRAINER_CAITLYN 4
#define VERDANTURF_TENT_TRAINER_DESIREE 5
#define VERDANTURF_TENT_TRAINER_RONALD  6
#define VERDANTURF_TENT_TRAINER_ASHTEN  7
#define VERDANTURF_TENT_TRAINER_GERARD  8
#define VERDANTURF_TENT_TRAINER_BRADLY  9
#define VERDANTURF_TENT_TRAINER_DENNIS  10
#define VERDANTURF_TENT_TRAINER_PRESTIN 11
#define VERDANTURF_TENT_TRAINER_ERNESTO 12
#define VERDANTURF_TENT_TRAINER_NALA    13
#define VERDANTURF_TENT_TRAINER_DARNELL 14
#define VERDANTURF_TENT_TRAINER_ASHLYN  15
#define VERDANTURF_TENT_TRAINER_ADDISON 16
#define VERDANTURF_TENT_TRAINER_JUSTINE 17
#define VERDANTURF_TENT_TRAINER_TYSON   18
#define VERDANTURF_TENT_TRAINER_LAILA   19
#define VERDANTURF_TENT_TRAINER_WAREN   20
#define VERDANTURF_TENT_TRAINER_TOBIAS  21
#define VERDANTURF_TENT_TRAINER_JOSIAH  22
#define VERDANTURF_TENT_TRAINER_DION    23
#define VERDANTURF_TENT_TRAINER_KENZIE  24
#define VERDANTURF_TENT_TRAINER_LILLIAN 25
#define VERDANTURF_TENT_TRAINER_LESLEY  26
#define VERDANTURF_TENT_TRAINER_MARQUIS 27
#define VERDANTURF_TENT_TRAINER_FREDDY  28
#define VERDANTURF_TENT_TRAINER_CECILIA 29

#define FALLARBOR_TENT_TRAINER_AMBER    0
#define FALLARBOR_TENT_TRAINER_JAVIER   1
#define FALLARBOR_TENT_TRAINER_NATALIA  2
#define FALLARBOR_TENT_TRAINER_TREVE    3
#define FALLARBOR_TENT_TRAINER_ARIANNA  4
#define FALLARBOR_TENT_TRAINER_JADYN    5
#define FALLARBOR_TENT_TRAINER_GERARDO  6
#define FALLARBOR_TENT_TRAINER_JONN     7
#define FALLARBOR_TENT_TRAINER_ESTEBAN  8
#define FALLARBOR_TENT_TRAINER_JAMESON  9
#define FALLARBOR_TENT_TRAINER_ALANZO   10
#define FALLARBOR_TENT_TRAINER_HOWARD   11
#define FALLARBOR_TENT_TRAINER_CONRAD   12
#define FALLARBOR_TENT_TRAINER_MAKENNA  13
#define FALLARBOR_TENT_TRAINER_BRAYAN   14
#define FALLARBOR_TENT_TRAINER_MARIANA  15
#define FALLARBOR_TENT_TRAINER_SHELDON  16
#define FALLARBOR_TENT_TRAINER_GIANNA   17
#define FALLARBOR_TENT_TRAINER_YAHIR    18
#define FALLARBOR_TENT_TRAINER_BRITNEY  19
#define FALLARBOR_TENT_TRAINER_HECTER   20
#define FALLARBOR_TENT_TRAINER_TANNOR   21
#define FALLARBOR_TENT_TRAINER_BENJI    22
#define FALLARBOR_TENT_TRAINER_RORY     23
#define FALLARBOR_TENT_TRAINER_ELEANOR  24
#define FALLARBOR_TENT_TRAINER_EVELYN   25
#define FALLARBOR_TENT_TRAINER_ARIELLE  26
#define FALLARBOR_TENT_TRAINER_CONNAR   27
#define FALLARBOR_TENT_TRAINER_MAURICE  28
#define FALLARBOR_TENT_TRAINER_KIANNA   29

#define NUM_BATTLE_TENT_TRAINERS 30

#endif  // GUARD_CONSTANTS_BATTLE_TENT_TRAINERS_H


code:
#ifndef GUARD_CONSTANTS_BATTLE_TOWER_H
#define GUARD_CONSTANTS_BATTLE_TOWER_H

#define BATTLE_TOWER_FUNC_INIT                  0
#define BATTLE_TOWER_FUNC_GET_DATA              1
#define BATTLE_TOWER_FUNC_SET_DATA              2
#define BATTLE_TOWER_FUNC_SET_OPPONENT          3
#define BATTLE_TOWER_FUNC_SET_BATTLE_WON        4
#define BATTLE_TOWER_FUNC_GIVE_RIBBONS          5
#define BATTLE_TOWER_FUNC_SAVE                  6
#define BATTLE_TOWER_FUNC_GET_OPPONENT_INTRO    7
#define BATTLE_TOWER_FUNC_NOP                   8
#define BATTLE_TOWER_FUNC_NOP2                  9
#define BATTLE_TOWER_FUNC_LOAD_PARTNERS         10
#define BATTLE_TOWER_FUNC_PARTNER_MSG           11
#define BATTLE_TOWER_FUNC_LOAD_LINK_OPPONENTS   12
#define BATTLE_TOWER_FUNC_TRY_CLOSE_LINK        13
#define BATTLE_TOWER_FUNC_SET_PARTNER_GFX       14
#define BATTLE_TOWER_FUNC_SET_INTERVIEW_DATA    15

#define TOWER_DATA_WIN_STREAK         1
#define TOWER_DATA_WIN_STREAK_ACTIVE  2
#define TOWER_DATA_LVL_MODE           3

// IDs for the messages printed by potential partners in the Battle Tower Multi Partner Room
#define PARTNER_MSGID_INTRO      0
#define PARTNER_MSGID_MON1       1
#define PARTNER_MSGID_MON2_ASK   2
#define PARTNER_MSGID_ACCEPT     3
#define PARTNER_MSGID_REJECT     4

// IDs for communicating with the Link Multi partner
#define BATTLE_TOWER_LINK_CONTINUE  0
#define BATTLE_TOWER_LINK_RETIRE    1

#define BATTLE_TOWER_LINKSTAT_CONTINUE        0
#define BATTLE_TOWER_LINKSTAT_BOTH_RETIRE     1
#define BATTLE_TOWER_LINKSTAT_PARTNER_RETIRE  2
#define BATTLE_TOWER_LINKSTAT_PLAYER_RETIRE   3

#endif //GUARD_CONSTANTS_BATTLE_TOWER_H


code:
#ifndef GUARD_CONSTANTS_BERRY_H
#define GUARD_CONSTANTS_BERRY_H

#define BERRY_NONE 0

#define BERRY_FIRMNESS_UNKNOWN     0
#define BERRY_FIRMNESS_VERY_SOFT   1
#define BERRY_FIRMNESS_SOFT        2
#define BERRY_FIRMNESS_HARD        3
#define BERRY_FIRMNESS_VERY_HARD   4
#define BERRY_FIRMNESS_SUPER_HARD  5

#define FLAVOR_SPICY   0
#define FLAVOR_DRY     1
#define FLAVOR_SWEET   2
#define FLAVOR_BITTER  3
#define FLAVOR_SOUR    4
#define FLAVOR_COUNT   5

#define BERRY_STAGE_NO_BERRY    0  // there is no tree planted and the soil is completely flat.
#define BERRY_STAGE_PLANTED     1
#define BERRY_STAGE_SPROUTED    2
#define BERRY_STAGE_TALLER      3
#define BERRY_STAGE_FLOWERING   4
#define BERRY_STAGE_BERRIES     5
#define BERRY_STAGE_SPARKLING   255

// Berries can be watered in the following stages:
// - BERRY_STAGE_PLANTED
// - BERRY_STAGE_SPROUTED
// - BERRY_STAGE_TALLER
// - BERRY_STAGE_FLOWERING
#define NUM_WATER_STAGES 4

#endif // GUARD_CONSTANTS_BERRY_H


code:
#ifndef GUARD_CONSTANTS_CABLE_CLUB_H
#define GUARD_CONSTANTS_CABLE_CLUB_H

// States for VAR_CABLE_CLUB_STATE
#define USING_SINGLE_BATTLE  1
#define USING_DOUBLE_BATTLE  2
#define USING_TRADE_CENTER   3
#define USING_RECORD_CORNER  4
#define USING_MULTI_BATTLE   5
#define USING_UNION_ROOM     6
#define USING_BERRY_CRUSH    7
#define USING_MINIGAME       8
#define USING_BATTLE_TOWER   9

// Return states for the group of specials that use CreateLinkupTask
// A few also used by TryBecomeLinkLeader and TryJoinLinkGroup
#define LINKUP_ONGOING              0
#define LINKUP_SUCCESS              1
#define LINKUP_SOMEONE_NOT_READY    2
#define LINKUP_DIFF_SELECTIONS      3
#define LINKUP_WRONG_NUM_PLAYERS    4
#define LINKUP_FAILED               5
#define LINKUP_CONNECTION_ERROR     6
#define LINKUP_PLAYER_NOT_READY     7
#define LINKUP_RETRY_ROLE_ASSIGN    8
#define LINKUP_PARTNER_NOT_READY    9
#define LINKUP_FAILED_CONTEST_GMODE 10
#define LINKUP_FAILED_BATTLE_TOWER  11
#define LINKUP_FOREIGN_GAME         12

#endif //GUARD_CONSTANTS_CABLE_CLUB_H


code:
#ifndef GUARD_CONSTANTS_COINS_H
#define GUARD_CONSTANTS_COINS_H

#define MAX_COINS 9999
#define MAX_COIN_DIGITS 4

#endif // GUARD_CONSTANTS_COINS_H


code:
#ifndef GUARD_CONSTANTS_CONTEST_H
#define GUARD_CONSTANTS_CONTEST_H

#define APPLAUSE_METER_SIZE 5
#define CONTEST_NUM_APPEALS 5
#define CONTEST_LAST_APPEAL (CONTEST_NUM_APPEALS - 1)

#define LINK_CONTEST_FLAG_IS_LINK       (1 << 0)
#define LINK_CONTEST_FLAG_IS_WIRELESS   (1 << 1)
#define LINK_CONTEST_FLAG_HAS_RS_PLAYER (1 << 2)

#define CONTEST_RANK_NORMAL  0
#define CONTEST_RANK_SUPER   1
#define CONTEST_RANK_HYPER   2
#define CONTEST_RANK_MASTER  3
#define CONTEST_RANK_LINK    4

// States for VAR_CONTEST_TYPE
#define CONTEST_TYPE_NPC_NORMAL  (CONTEST_RANK_NORMAL + 1)
#define CONTEST_TYPE_NPC_SUPER   (CONTEST_RANK_SUPER + 1)
#define CONTEST_TYPE_NPC_HYPER   (CONTEST_RANK_HYPER + 1)
#define CONTEST_TYPE_NPC_MASTER  (CONTEST_RANK_MASTER + 1)
#define CONTEST_TYPE_LINK        (CONTEST_RANK_LINK + 1)

#define CONTEST_WINNER_ARTIST 0  // Winner shown by the artist, painting not necessarily saved
#define CONTEST_WINNER_HALL_1 1
#define CONTEST_WINNER_HALL_2 2
#define CONTEST_WINNER_HALL_3 3
#define CONTEST_WINNER_HALL_4 4
#define CONTEST_WINNER_HALL_5 5
#define CONTEST_WINNER_HALL_6 6
#define NUM_CONTEST_HALL_WINNERS 6
#define CONTEST_WINNER_7 7
#define CONTEST_WINNER_8 8
#define CONTEST_WINNER_MUSEUM_COOL   9
#define CONTEST_WINNER_MUSEUM_BEAUTY 10
#define CONTEST_WINNER_MUSEUM_CUTE   11
#define CONTEST_WINNER_MUSEUM_SMART  12
#define CONTEST_WINNER_MUSEUM_TOUGH  13
// NUM_CONTEST_WINNERS in constants/global.h

#define CANT_ENTER_CONTEST             0
#define CAN_ENTER_CONTEST_EQUAL_RANK   1
#define CAN_ENTER_CONTEST_HIGH_RANK    2
#define CANT_ENTER_CONTEST_EGG         3
#define CANT_ENTER_CONTEST_FAINTED     4

#define CONTEST_AI_CHECK_BAD_MOVE   (1 << 0)
#define CONTEST_AI_CHECK_COMBO      (1 << 1)
#define CONTEST_AI_CHECK_BORING     (1 << 2)
#define CONTEST_AI_CHECK_EXCITEMENT (1 << 3)
#define CONTEST_AI_CHECK_ORDER      (1 << 4)
#define CONTEST_AI_CHECK_GOOD_MOVE  (1 << 5)
#define CONTEST_AI_ERRATIC          (1 << 6)
#define CONTEST_AI_DUMMY_1          (1 << 7)
#define CONTEST_AI_DUMMY_2          (1 << 8)
#define CONTEST_AI_DUMMY_3          (1 << 9)
#define CONTEST_AI_DUMMY_4          (1 << 10)
#define CONTEST_AI_DUMMY_5          (1 << 11)
#define CONTEST_AI_DUMMY_6          (1 << 12)
#define CONTEST_AI_DUMMY_7          (1 << 13)
#define CONTEST_AI_DUMMY_8          (1 << 14)
#define CONTEST_AI_DUMMY_9          (1 << 15)
#define CONTEST_AI_DUMMY_10         (1 << 16)
#define CONTEST_AI_DUMMY_11         (1 << 17)
#define CONTEST_AI_DUMMY_12         (1 << 18)
#define CONTEST_AI_DUMMY_13         (1 << 19)
#define CONTEST_AI_DUMMY_14         (1 << 20)
#define CONTEST_AI_DUMMY_15         (1 << 21)
#define CONTEST_AI_DUMMY_16         (1 << 22)
#define CONTEST_AI_DUMMY_17         (1 << 23)
#define CONTEST_AI_DUMMY_18         (1 << 24)
#define CONTEST_AI_DUMMY_19         (1 << 25)
#define CONTEST_AI_DUMMY_20         (1 << 26)
#define CONTEST_AI_DUMMY_21         (1 << 27)
#define CONTEST_AI_DUMMY_22         (1 << 28)
#define CONTEST_AI_DUMMY_23         (1 << 29)
#define CONTEST_AI_DUMMY_24         (1 << 30)
#define CONTEST_AI_DUMMY_25         (1 << 31)

// The below scripts are used by every AI contest opponent
// It includes every non-dummy script
#define CONTEST_AI_COMMON   (CONTEST_AI_CHECK_BAD_MOVE | CONTEST_AI_CHECK_COMBO | CONTEST_AI_CHECK_BORING | \
                             CONTEST_AI_CHECK_EXCITEMENT | CONTEST_AI_CHECK_ORDER | CONTEST_AI_CHECK_GOOD_MOVE | CONTEST_AI_ERRATIC | \
                             CONTEST_AI_DUMMY_1 | CONTEST_AI_DUMMY_2 | CONTEST_AI_DUMMY_3 | CONTEST_AI_DUMMY_4 | CONTEST_AI_DUMMY_5)

#define CONTEST_EFFECT_HIGHLY_APPEALING                         0
#define CONTEST_EFFECT_USER_MORE_EASILY_STARTLED                1
#define CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES           2
#define CONTEST_EFFECT_REPETITION_NOT_BORING                    3
#define CONTEST_EFFECT_AVOID_STARTLE_ONCE                       4
#define CONTEST_EFFECT_AVOID_STARTLE                            5
#define CONTEST_EFFECT_AVOID_STARTLE_SLIGHTLY                   6
#define CONTEST_EFFECT_USER_LESS_EASILY_STARTLED                7
#define CONTEST_EFFECT_STARTLE_FRONT_MON                        8
#define CONTEST_EFFECT_SLIGHTLY_STARTLE_PREV_MONS               9
#define CONTEST_EFFECT_STARTLE_PREV_MON                         10
#define CONTEST_EFFECT_STARTLE_PREV_MONS                        11
#define CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON                  12
#define CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS                  13
#define CONTEST_EFFECT_STARTLE_PREV_MON_2                       14
#define CONTEST_EFFECT_STARTLE_PREV_MONS_2                      15
#define CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION                    16
#define CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION        17
#define CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN            18
#define CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL            19
#define CONTEST_EFFECT_STARTLE_MONS_COOL_APPEAL                 20
#define CONTEST_EFFECT_STARTLE_MONS_BEAUTY_APPEAL               21
#define CONTEST_EFFECT_STARTLE_MONS_CUTE_APPEAL                 22
#define CONTEST_EFFECT_STARTLE_MONS_SMART_APPEAL                23
#define CONTEST_EFFECT_STARTLE_MONS_TOUGH_APPEAL                24
#define CONTEST_EFFECT_MAKE_FOLLOWING_MON_NERVOUS               25
#define CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS              26
#define CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS            27
#define CONTEST_EFFECT_BADLY_STARTLES_MONS_IN_GOOD_CONDITION    28
#define CONTEST_EFFECT_BETTER_IF_FIRST                          29
#define CONTEST_EFFECT_BETTER_IF_LAST                           30
#define CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES              31
#define CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE               32
#define CONTEST_EFFECT_BETTER_WHEN_LATER                        33
#define CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING                34
#define CONTEST_EFFECT_BETTER_IF_SAME_TYPE                      35
#define CONTEST_EFFECT_BETTER_IF_DIFF_TYPE                      36
#define CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL                  37
#define CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS    38
#define CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION               39
#define CONTEST_EFFECT_NEXT_APPEAL_EARLIER                      40
#define CONTEST_EFFECT_NEXT_APPEAL_LATER                        41
#define CONTEST_EFFECT_MAKE_SCRAMBLING_TURN_ORDER_EASIER        42
#define CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER                 43
#define CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST           44
#define CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS     45
#define CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED             46
#define CONTEST_EFFECT_DONT_EXCITE_AUDIENCE                     47

// Each of the above effects is grouped into one of these effect type categories
// Only a few of these get checked by the AI, the rest go unused
#define CONTEST_EFFECT_TYPE_APPEAL         0
#define CONTEST_EFFECT_TYPE_AVOID_STARTLE  1
#define CONTEST_EFFECT_TYPE_STARTLE_MON    2
#define CONTEST_EFFECT_TYPE_STARTLE_MONS   3
#define CONTEST_EFFECT_TYPE_WORSEN         4
#define CONTEST_EFFECT_TYPE_SPECIAL_APPEAL 5
#define CONTEST_EFFECT_TYPE_TURN_ORDER     6

#define COMBO_STARTER_RAIN_DANCE    1
#define COMBO_STARTER_RAGE          2
#define COMBO_STARTER_FOCUS_ENERGY  3
#define COMBO_STARTER_HYPNOSIS      4
#define COMBO_STARTER_ENDURE        5
#define COMBO_STARTER_HORN_ATTACK   6
#define COMBO_STARTER_SWORDS_DANCE  7
#define COMBO_STARTER_STOCKPILE     8
#define COMBO_STARTER_SUNNY_DAY     9
#define COMBO_STARTER_REST          10
#define COMBO_STARTER_VICE_GRIP     11
#define COMBO_STARTER_DEFENSE_CURL  12
#define COMBO_STARTER_CHARGE        13
#define COMBO_STARTER_ROCK_THROW    14
#define COMBO_STARTER_YAWN          15
#define COMBO_STARTER_SCARY_FACE    16
#define COMBO_STARTER_POWDER_SNOW   17
#define COMBO_STARTER_LOCK_ON       18
#define COMBO_STARTER_SOFT_BOILED   19
#define COMBO_STARTER_MEAN_LOOK     20
#define COMBO_STARTER_SCRATCH       21
#define COMBO_STARTER_GROWTH        22
#define COMBO_STARTER_HAIL          23
#define COMBO_STARTER_SANDSTORM     24
#define COMBO_STARTER_BELLY_DRUM    25
#define COMBO_STARTER_MIND_READER   26
#define COMBO_STARTER_DRAGON_BREATH 27
#define COMBO_STARTER_DRAGON_RAGE   28
#define COMBO_STARTER_DRAGON_DANCE  29
#define COMBO_STARTER_SURF          30
#define COMBO_STARTER_DIVE          31
#define COMBO_STARTER_STRING_SHOT   32
#define COMBO_STARTER_LEER          33
#define COMBO_STARTER_TAUNT         34
#define COMBO_STARTER_CHARM         35
#define COMBO_STARTER_HARDEN        36
#define COMBO_STARTER_SING          37
#define COMBO_STARTER_EARTHQUAKE    38
#define COMBO_STARTER_DOUBLE_TEAM   39
#define COMBO_STARTER_CURSE         40
#define COMBO_STARTER_SWEET_SCENT   41
#define COMBO_STARTER_SLUDGE        42
#define COMBO_STARTER_SLUDGE_BOMB   43
#define COMBO_STARTER_THUNDER_PUNCH 44
#define COMBO_STARTER_FIRE_PUNCH    45
#define COMBO_STARTER_ICE_PUNCH     46
#define COMBO_STARTER_PECK          47
#define COMBO_STARTER_METAL_SOUND   48
#define COMBO_STARTER_MUD_SPORT     49
#define COMBO_STARTER_WATER_SPORT   50
#define COMBO_STARTER_BONE_CLUB     51
#define COMBO_STARTER_BONEMERANG    52
#define COMBO_STARTER_BONE_RUSH     53
#define COMBO_STARTER_SAND_ATTACK   54
#define COMBO_STARTER_MUD_SLAP      55
#define COMBO_STARTER_FAKE_OUT      56
#define COMBO_STARTER_PSYCHIC       57
#define COMBO_STARTER_KINESIS       58
#define COMBO_STARTER_CONFUSION     59
#define COMBO_STARTER_POUND         60
#define COMBO_STARTER_SMOG          61
#define COMBO_STARTER_CALM_MIND     62

#endif  // GUARD_CONSTANTS_CONTEST_H


code:
#ifndef GUARD_DAYCARE_CONSTANTS_H
#define GUARD_DAYCARE_CONSTANTS_H

// Parent compatability scores
#define PARENTS_INCOMPATIBLE       0
#define PARENTS_LOW_COMPATIBILITY  20
#define PARENTS_MED_COMPATABILITY  50
#define PARENTS_MAX_COMPATABILITY  70

// Daycare state
#define DAYCARE_NO_MONS     0
#define DAYCARE_EGG_WAITING 1
#define DAYCARE_ONE_MON     2
#define DAYCARE_TWO_MONS    3

#define INHERITED_IV_COUNT 3
#define EGG_HATCH_LEVEL 5
#define EGG_GENDER_MALE 0x8000  // used to create a male egg from a female-only parent species (e.g. Nidoran)

#define DAYCARE_LEVEL_MENU_EXIT 5
#define DAYCARE_EXITED_LEVEL_MENU 2 // would be redundant with above if GF had used the same value

// Array buffers
#define EGG_MOVES_ARRAY_COUNT           10
#define EGG_LVL_UP_MOVES_ARRAY_COUNT    (MAX_LEVEL_UP_MOVES > 50 ? MAX_LEVEL_UP_MOVES : 50)

#endif //GUARD_DAYCARE_CONSTANTS_H


code:
#ifndef GUARD_CONSTANTS_DECORATIONS_H
#define GUARD_CONSTANTS_DECORATIONS_H

#define DECOR_NONE             0
#define DECOR_SMALL_DESK       1
#define DECOR_POKEMON_DESK     2
#define DECOR_HEAVY_DESK       3
#define DECOR_RAGGED_DESK      4
#define DECOR_COMFORT_DESK     5
#define DECOR_PRETTY_DESK      6
#define DECOR_BRICK_DESK       7
#define DECOR_CAMP_DESK        8
#define DECOR_HARD_DESK        9
#define DECOR_SMALL_CHAIR      10
#define DECOR_POKEMON_CHAIR    11
#define DECOR_HEAVY_CHAIR      12
#define DECOR_PRETTY_CHAIR     13
#define DECOR_COMFORT_CHAIR    14
#define DECOR_RAGGED_CHAIR     15
#define DECOR_BRICK_CHAIR      16
#define DECOR_CAMP_CHAIR       17
#define DECOR_HARD_CHAIR       18
#define DECOR_RED_PLANT        19
#define DECOR_TROPICAL_PLANT   20
#define DECOR_PRETTY_FLOWERS   21
#define DECOR_COLORFUL_PLANT   22
#define DECOR_BIG_PLANT        23
#define DECOR_GORGEOUS_PLANT   24
#define DECOR_RED_BRICK        25
#define DECOR_YELLOW_BRICK     26
#define DECOR_BLUE_BRICK       27
#define DECOR_RED_BALLOON      28
#define DECOR_BLUE_BALLOON     29
#define DECOR_YELLOW_BALLOON   30
#define DECOR_RED_TENT         31
#define DECOR_BLUE_TENT        32
#define DECOR_SOLID_BOARD      33
#define DECOR_SLIDE            34
#define DECOR_FENCE_LENGTH     35
#define DECOR_FENCE_WIDTH      36
#define DECOR_TIRE             37
#define DECOR_STAND            38
#define DECOR_MUD_BALL         39
#define DECOR_BREAKABLE_DOOR   40
#define DECOR_SAND_ORNAMENT    41
#define DECOR_SILVER_SHIELD    42
#define DECOR_GOLD_SHIELD      43
#define DECOR_GLASS_ORNAMENT   44
#define DECOR_TV               45
#define DECOR_ROUND_TV         46
#define DECOR_CUTE_TV          47
#define DECOR_GLITTER_MAT      48
#define DECOR_JUMP_MAT         49
#define DECOR_SPIN_MAT         50
#define DECOR_C_LOW_NOTE_MAT   51
#define DECOR_D_NOTE_MAT       52
#define DECOR_E_NOTE_MAT       53
#define DECOR_F_NOTE_MAT       54
#define DECOR_G_NOTE_MAT       55
#define DECOR_A_NOTE_MAT       56
#define DECOR_B_NOTE_MAT       57
#define DECOR_C_HIGH_NOTE_MAT  58
#define DECOR_SURF_MAT         59
#define DECOR_THUNDER_MAT      60
#define DECOR_FIRE_BLAST_MAT   61
#define DECOR_POWDER_SNOW_MAT  62
#define DECOR_ATTRACT_MAT      63
#define DECOR_FISSURE_MAT      64
#define DECOR_SPIKES_MAT       65
#define DECOR_BALL_POSTER      66
#define DECOR_GREEN_POSTER     67
#define DECOR_RED_POSTER       68
#define DECOR_BLUE_POSTER      69
#define DECOR_CUTE_POSTER      70
#define DECOR_PIKA_POSTER      71
#define DECOR_LONG_POSTER      72
#define DECOR_SEA_POSTER       73
#define DECOR_SKY_POSTER       74
#define DECOR_KISS_POSTER      75
#define DECOR_PICHU_DOLL       76
#define DECOR_PIKACHU_DOLL     77
#define DECOR_MARILL_DOLL      78
#define DECOR_TOGEPI_DOLL      79
#define DECOR_CYNDAQUIL_DOLL   80
#define DECOR_CHIKORITA_DOLL   81
#define DECOR_TOTODILE_DOLL    82
#define DECOR_JIGGLYPUFF_DOLL  83
#define DECOR_MEOWTH_DOLL      84
#define DECOR_CLEFAIRY_DOLL    85
#define DECOR_DITTO_DOLL       86
#define DECOR_SMOOCHUM_DOLL    87
#define DECOR_TREECKO_DOLL     88
#define DECOR_TORCHIC_DOLL     89
#define DECOR_MUDKIP_DOLL      90
#define DECOR_DUSKULL_DOLL     91
#define DECOR_WYNAUT_DOLL      92
#define DECOR_BALTOY_DOLL      93
#define DECOR_KECLEON_DOLL     94
#define DECOR_AZURILL_DOLL     95
#define DECOR_SKITTY_DOLL      96
#define DECOR_SWABLU_DOLL      97
#define DECOR_GULPIN_DOLL      98
#define DECOR_LOTAD_DOLL       99
#define DECOR_SEEDOT_DOLL      100
#define DECOR_PIKA_CUSHION     101
#define DECOR_ROUND_CUSHION    102
#define DECOR_KISS_CUSHION     103
#define DECOR_ZIGZAG_CUSHION   104
#define DECOR_SPIN_CUSHION     105
#define DECOR_DIAMOND_CUSHION  106
#define DECOR_BALL_CUSHION     107
#define DECOR_GRASS_CUSHION    108
#define DECOR_FIRE_CUSHION     109
#define DECOR_WATER_CUSHION    110
#define DECOR_SNORLAX_DOLL     111
#define DECOR_RHYDON_DOLL      112
#define DECOR_LAPRAS_DOLL      113
#define DECOR_VENUSAUR_DOLL    114
#define DECOR_CHARIZARD_DOLL   115
#define DECOR_BLASTOISE_DOLL   116
#define DECOR_WAILMER_DOLL     117
#define DECOR_REGIROCK_DOLL    118
#define DECOR_REGICE_DOLL      119
#define DECOR_REGISTEEL_DOLL   120
#define NUM_DECORATIONS DECOR_REGISTEEL_DOLL

#endif  // GUARD_CONSTANTS_DECORATIONS_H