#ifndef GUARD_CONSTANTS_MOVES_H
#define GUARD_CONSTANTS_MOVES_H

#define MOVE_NONE 0
#define MOVE_POUND 1
#define MOVE_KARATE_CHOP 2
#define MOVE_DOUBLE_SLAP 3
#define MOVE_COMET_PUNCH 4
#define MOVE_MEGA_PUNCH 5
#define MOVE_PAY_DAY 6
#define MOVE_FIRE_PUNCH 7
#define MOVE_ICE_PUNCH 8
#define MOVE_THUNDER_PUNCH 9
#define MOVE_SCRATCH 10
#define MOVE_VICE_GRIP 11
#define MOVE_GUILLOTINE 12
#define MOVE_RAZOR_WIND 13
#define MOVE_SWORDS_DANCE 14
#define MOVE_CUT 15
#define MOVE_GUST 16
#define MOVE_WING_ATTACK 17
#define MOVE_WHIRLWIND 18
#define MOVE_FLY 19
#define MOVE_BIND 20
#define MOVE_SLAM 21
#define MOVE_VINE_WHIP 22
#define MOVE_STOMP 23
#define MOVE_DOUBLE_KICK 24
#define MOVE_MEGA_KICK 25
#define MOVE_JUMP_KICK 26
#define MOVE_ROLLING_KICK 27
#define MOVE_SAND_ATTACK 28
#define MOVE_HEADBUTT 29
#define MOVE_HORN_ATTACK 30
#define MOVE_FURY_ATTACK 31
#define MOVE_HORN_DRILL 32
#define MOVE_TACKLE 33
#define MOVE_BODY_SLAM 34
#define MOVE_WRAP 35
#define MOVE_TAKE_DOWN 36
#define MOVE_THRASH 37
#define MOVE_DOUBLE_EDGE 38
#define MOVE_TAIL_WHIP 39
#define MOVE_POISON_STING 40
#define MOVE_TWINEEDLE 41
#define MOVE_PIN_MISSILE 42
#define MOVE_LEER 43
#define MOVE_BITE 44
#define MOVE_GROWL 45
#define MOVE_ROAR 46
#define MOVE_SING 47
#define MOVE_SUPERSONIC 48
#define MOVE_SONIC_BOOM 49
#define MOVE_DISABLE 50
#define MOVE_ACID 51
#define MOVE_EMBER 52
#define MOVE_FLAMETHROWER 53
#define MOVE_MIST 54
#define MOVE_WATER_GUN 55
#define MOVE_HYDRO_PUMP 56
#define MOVE_SURF 57
#define MOVE_ICE_BEAM 58
#define MOVE_BLIZZARD 59
#define MOVE_PSYBEAM 60
#define MOVE_BUBBLE_BEAM 61
#define MOVE_AURORA_BEAM 62
#define MOVE_HYPER_BEAM 63
#define MOVE_PECK 64
#define MOVE_DRILL_PECK 65
#define MOVE_SUBMISSION 66
#define MOVE_LOW_KICK 67
#define MOVE_COUNTER 68
#define MOVE_SEISMIC_TOSS 69
#define MOVE_STRENGTH 70
#define MOVE_ABSORB 71
#define MOVE_MEGA_DRAIN 72
#define MOVE_LEECH_SEED 73
#define MOVE_GROWTH 74
#define MOVE_RAZOR_LEAF 75
#define MOVE_SOLAR_BEAM 76
#define MOVE_POISON_POWDER 77
#define MOVE_STUN_SPORE 78
#define MOVE_SLEEP_POWDER 79
#define MOVE_PETAL_DANCE 80
#define MOVE_STRING_SHOT 81
#define MOVE_DRAGON_RAGE 82
#define MOVE_FIRE_SPIN 83
#define MOVE_THUNDER_SHOCK 84
#define MOVE_THUNDERBOLT 85
#define MOVE_THUNDER_WAVE 86
#define MOVE_THUNDER 87
#define MOVE_ROCK_THROW 88
#define MOVE_EARTHQUAKE 89
#define MOVE_FISSURE 90
#define MOVE_DIG 91
#define MOVE_TOXIC 92
#define MOVE_CONFUSION 93
#define MOVE_PSYCHIC 94
#define MOVE_HYPNOSIS 95
#define MOVE_MEDITATE 96
#define MOVE_AGILITY 97
#define MOVE_QUICK_ATTACK 98
#define MOVE_RAGE 99
#define MOVE_TELEPORT 100
#define MOVE_NIGHT_SHADE 101
#define MOVE_MIMIC 102
#define MOVE_SCREECH 103
#define MOVE_DOUBLE_TEAM 104
#define MOVE_RECOVER 105
#define MOVE_HARDEN 106
#define MOVE_MINIMIZE 107
#define MOVE_SMOKESCREEN 108
#define MOVE_CONFUSE_RAY 109
#define MOVE_WITHDRAW 110
#define MOVE_DEFENSE_CURL 111
#define MOVE_BARRIER 112
#define MOVE_LIGHT_SCREEN 113
#define MOVE_HAZE 114
#define MOVE_REFLECT 115
#define MOVE_FOCUS_ENERGY 116
#define MOVE_BIDE 117
#define MOVE_METRONOME 118
#define MOVE_MIRROR_MOVE 119
#define MOVE_SELF_DESTRUCT 120
#define MOVE_EGG_BOMB 121
#define MOVE_LICK 122
#define MOVE_SMOG 123
#define MOVE_SLUDGE 124
#define MOVE_BONE_CLUB 125
#define MOVE_FIRE_BLAST 126
#define MOVE_WATERFALL 127
#define MOVE_CLAMP 128
#define MOVE_SWIFT 129
#define MOVE_SKULL_BASH 130
#define MOVE_SPIKE_CANNON 131
#define MOVE_CONSTRICT 132
#define MOVE_AMNESIA 133
#define MOVE_KINESIS 134
#define MOVE_SOFT_BOILED 135
#define MOVE_HI_JUMP_KICK 136
#define MOVE_GLARE 137
#define MOVE_DREAM_EATER 138
#define MOVE_POISON_GAS 139
#define MOVE_BARRAGE 140
#define MOVE_LEECH_LIFE 141
#define MOVE_LOVELY_KISS 142
#define MOVE_SKY_ATTACK 143
#define MOVE_TRANSFORM 144
#define MOVE_BUBBLE 145
#define MOVE_DIZZY_PUNCH 146
#define MOVE_SPORE 147
#define MOVE_FLASH 148
#define MOVE_PSYWAVE 149
#define MOVE_SPLASH 150
#define MOVE_ACID_ARMOR 151
#define MOVE_CRABHAMMER 152
#define MOVE_EXPLOSION 153
#define MOVE_FURY_SWIPES 154
#define MOVE_BONEMERANG 155
#define MOVE_REST 156
#define MOVE_ROCK_SLIDE 157
#define MOVE_HYPER_FANG 158
#define MOVE_SHARPEN 159
#define MOVE_CONVERSION 160
#define MOVE_TRI_ATTACK 161
#define MOVE_SUPER_FANG 162
#define MOVE_SLASH 163
#define MOVE_SUBSTITUTE 164
#define MOVE_STRUGGLE 165
#define MOVE_SKETCH 166
#define MOVE_TRIPLE_KICK 167
#define MOVE_THIEF 168
#define MOVE_SPIDER_WEB 169
#define MOVE_MIND_READER 170
#define MOVE_NIGHTMARE 171
#define MOVE_FLAME_WHEEL 172
#define MOVE_SNORE 173
#define MOVE_CURSE 174
#define MOVE_FLAIL 175
#define MOVE_CONVERSION_2 176
#define MOVE_AEROBLAST 177
#define MOVE_COTTON_SPORE 178
#define MOVE_REVERSAL 179
#define MOVE_SPITE 180
#define MOVE_POWDER_SNOW 181
#define MOVE_PROTECT 182
#define MOVE_MACH_PUNCH 183
#define MOVE_SCARY_FACE 184
#define MOVE_FAINT_ATTACK 185
#define MOVE_SWEET_KISS 186
#define MOVE_BELLY_DRUM 187
#define MOVE_SLUDGE_BOMB 188
#define MOVE_MUD_SLAP 189
#define MOVE_OCTAZOOKA 190
#define MOVE_SPIKES 191
#define MOVE_ZAP_CANNON 192
#define MOVE_FORESIGHT 193
#define MOVE_DESTINY_BOND 194
#define MOVE_PERISH_SONG 195
#define MOVE_ICY_WIND 196
#define MOVE_DETECT 197
#define MOVE_BONE_RUSH 198
#define MOVE_LOCK_ON 199
#define MOVE_OUTRAGE 200
#define MOVE_SANDSTORM 201
#define MOVE_GIGA_DRAIN 202
#define MOVE_ENDURE 203
#define MOVE_CHARM 204
#define MOVE_ROLLOUT 205
#define MOVE_FALSE_SWIPE 206
#define MOVE_SWAGGER 207
#define MOVE_MILK_DRINK 208
#define MOVE_SPARK 209
#define MOVE_FURY_CUTTER 210
#define MOVE_STEEL_WING 211
#define MOVE_MEAN_LOOK 212
#define MOVE_ATTRACT 213
#define MOVE_SLEEP_TALK 214
#define MOVE_HEAL_BELL 215
#define MOVE_RETURN 216
#define MOVE_PRESENT 217
#define MOVE_FRUSTRATION 218
#define MOVE_SAFEGUARD 219
#define MOVE_PAIN_SPLIT 220
#define MOVE_SACRED_FIRE 221
#define MOVE_MAGNITUDE 222
#define MOVE_DYNAMIC_PUNCH 223
#define MOVE_MEGAHORN 224
#define MOVE_DRAGON_BREATH 225
#define MOVE_BATON_PASS 226
#define MOVE_ENCORE 227
#define MOVE_PURSUIT 228
#define MOVE_RAPID_SPIN 229
#define MOVE_SWEET_SCENT 230
#define MOVE_IRON_TAIL 231
#define MOVE_METAL_CLAW 232
#define MOVE_VITAL_THROW 233
#define MOVE_MORNING_SUN 234
#define MOVE_SYNTHESIS 235
#define MOVE_MOONLIGHT 236
#define MOVE_HIDDEN_POWER 237
#define MOVE_CROSS_CHOP 238
#define MOVE_TWISTER 239
#define MOVE_RAIN_DANCE 240
#define MOVE_SUNNY_DAY 241
#define MOVE_CRUNCH 242
#define MOVE_MIRROR_COAT 243
#define MOVE_PSYCH_UP 244
#define MOVE_EXTREME_SPEED 245
#define MOVE_ANCIENT_POWER 246
#define MOVE_SHADOW_BALL 247
#define MOVE_FUTURE_SIGHT 248
#define MOVE_ROCK_SMASH 249
#define MOVE_WHIRLPOOL 250
#define MOVE_BEAT_UP 251
#define MOVE_FAKE_OUT 252
#define MOVE_UPROAR 253
#define MOVE_STOCKPILE 254
#define MOVE_SPIT_UP 255
#define MOVE_SWALLOW 256
#define MOVE_HEAT_WAVE 257
#define MOVE_HAIL 258
#define MOVE_TORMENT 259
#define MOVE_FLATTER 260
#define MOVE_WILL_O_WISP 261
#define MOVE_MEMENTO 262
#define MOVE_FACADE 263
#define MOVE_FOCUS_PUNCH 264
#define MOVE_SMELLING_SALT 265
#define MOVE_FOLLOW_ME 266
#define MOVE_NATURE_POWER 267
#define MOVE_CHARGE 268
#define MOVE_TAUNT 269
#define MOVE_HELPING_HAND 270
#define MOVE_TRICK 271
#define MOVE_ROLE_PLAY 272
#define MOVE_WISH 273
#define MOVE_ASSIST 274
#define MOVE_INGRAIN 275
#define MOVE_SUPERPOWER 276
#define MOVE_MAGIC_COAT 277
#define MOVE_RECYCLE 278
#define MOVE_REVENGE 279
#define MOVE_BRICK_BREAK 280
#define MOVE_YAWN 281
#define MOVE_KNOCK_OFF 282
#define MOVE_ENDEAVOR 283
#define MOVE_ERUPTION 284
#define MOVE_SKILL_SWAP 285
#define MOVE_IMPRISON 286
#define MOVE_REFRESH 287
#define MOVE_GRUDGE 288
#define MOVE_SNATCH 289
#define MOVE_SECRET_POWER 290
#define MOVE_DIVE 291
#define MOVE_ARM_THRUST 292
#define MOVE_CAMOUFLAGE 293
#define MOVE_TAIL_GLOW 294
#define MOVE_LUSTER_PURGE 295
#define MOVE_MIST_BALL 296
#define MOVE_FEATHER_DANCE 297
#define MOVE_TEETER_DANCE 298
#define MOVE_BLAZE_KICK 299
#define MOVE_MUD_SPORT 300
#define MOVE_ICE_BALL 301
#define MOVE_NEEDLE_ARM 302
#define MOVE_SLACK_OFF 303
#define MOVE_HYPER_VOICE 304
#define MOVE_POISON_FANG 305
#define MOVE_CRUSH_CLAW 306
#define MOVE_BLAST_BURN 307
#define MOVE_HYDRO_CANNON 308
#define MOVE_METEOR_MASH 309
#define MOVE_ASTONISH 310
#define MOVE_WEATHER_BALL 311
#define MOVE_AROMATHERAPY 312
#define MOVE_FAKE_TEARS 313
#define MOVE_AIR_CUTTER 314
#define MOVE_OVERHEAT 315
#define MOVE_ODOR_SLEUTH 316
#define MOVE_ROCK_TOMB 317
#define MOVE_SILVER_WIND 318
#define MOVE_METAL_SOUND 319
#define MOVE_GRASS_WHISTLE 320
#define MOVE_TICKLE 321
#define MOVE_COSMIC_POWER 322
#define MOVE_WATER_SPOUT 323
#define MOVE_SIGNAL_BEAM 324
#define MOVE_SHADOW_PUNCH 325
#define MOVE_EXTRASENSORY 326
#define MOVE_SKY_UPPERCUT 327
#define MOVE_SAND_TOMB 328
#define MOVE_SHEER_COLD 329
#define MOVE_MUDDY_WATER 330
#define MOVE_BULLET_SEED 331
#define MOVE_AERIAL_ACE 332
#define MOVE_ICICLE_SPEAR 333
#define MOVE_IRON_DEFENSE 334
#define MOVE_BLOCK 335
#define MOVE_HOWL 336
#define MOVE_DRAGON_CLAW 337
#define MOVE_FRENZY_PLANT 338
#define MOVE_BULK_UP 339
#define MOVE_BOUNCE 340
#define MOVE_MUD_SHOT 341
#define MOVE_POISON_TAIL 342
#define MOVE_COVET 343
#define MOVE_VOLT_TACKLE 344
#define MOVE_MAGICAL_LEAF 345
#define MOVE_WATER_SPORT 346
#define MOVE_CALM_MIND 347
#define MOVE_LEAF_BLADE 348
#define MOVE_DRAGON_DANCE 349
#define MOVE_ROCK_BLAST 350
#define MOVE_SHOCK_WAVE 351
#define MOVE_WATER_PULSE 352
#define MOVE_DOOM_DESIRE 353
#define MOVE_PSYCHO_BOOST 354

#define MOVES_COUNT 355

// Used for checks for moves affected by Disable, Mimic, etc.
#define MOVE_UNAVAILABLE 0xFFFF

#define MOVETUTOR_MEGA_PUNCH    0
#define MOVETUTOR_SWORDS_DANCE  1
#define MOVETUTOR_MEGA_KICK     2
#define MOVETUTOR_BODY_SLAM     3
#define MOVETUTOR_DOUBLE_EDGE   4
#define MOVETUTOR_COUNTER       5
#define MOVETUTOR_SEISMIC_TOSS  6
#define MOVETUTOR_MIMIC         7
#define MOVETUTOR_METRONOME     8
#define MOVETUTOR_SOFT_BOILED   9
#define MOVETUTOR_DREAM_EATER  10
#define MOVETUTOR_THUNDER_WAVE 11
#define MOVETUTOR_EXPLOSION    12
#define MOVETUTOR_ROCK_SLIDE   13
#define MOVETUTOR_SUBSTITUTE   14
#define MOVETUTOR_FRENZY_PLANT 15
#define MOVETUTOR_BLAST_BURN   16
#define MOVETUTOR_HYDRO_CANNON 17

#endif  // GUARD_CONSTANTS_MOVES_H
