summaryrefslogtreecommitdiff
path: root/constants
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2016-01-23 12:25:42 -0800
committerYamaArashi <shadow962@live.com>2016-01-23 12:25:42 -0800
commit1362b60f3467f0894d55e82f3294980b6373021d (patch)
treec53b76333cbb099df9e12dfe7ebfc56bd258b707 /constants
Initial commit
Diffstat (limited to 'constants')
-rw-r--r--constants/ability_constants.s78
-rw-r--r--constants/battle_move_constants.s15
-rw-r--r--constants/berry_constants.s6
-rw-r--r--constants/constants.s16
-rw-r--r--constants/contest_constants.s68
-rw-r--r--constants/easy_chat_constants.s1067
-rw-r--r--constants/field_object_constants.s251
-rw-r--r--constants/gba_constants.s412
-rw-r--r--constants/item_constants.s310
-rw-r--r--constants/item_data_constants.s5
-rw-r--r--constants/map_constants.s587
-rw-r--r--constants/misc_constants.s25
-rw-r--r--constants/move_constants.s355
-rw-r--r--constants/pokemon_data_constants.s78
-rw-r--r--constants/species_constants.s386
-rw-r--r--constants/trainer_constants.s1122
-rw-r--r--constants/type_constants.s18
17 files changed, 4799 insertions, 0 deletions
diff --git a/constants/ability_constants.s b/constants/ability_constants.s
new file mode 100644
index 000000000..8ccc872f7
--- /dev/null
+++ b/constants/ability_constants.s
@@ -0,0 +1,78 @@
+ .set ABILITY_NONE, 0x00
+ .set ABILITY_STENCH, 0x01
+ .set ABILITY_DRIZZLE, 0x02
+ .set ABILITY_SPEED_BOOST, 0x03
+ .set ABILITY_BATTLE_ARMOR, 0x04
+ .set ABILITY_STURDY, 0x05
+ .set ABILITY_DAMP, 0x06
+ .set ABILITY_LIMBER, 0x07
+ .set ABILITY_SAND_VEIL, 0x08
+ .set ABILITY_STATIC, 0x09
+ .set ABILITY_VOLT_ABSORB, 0x0a
+ .set ABILITY_WATER_ABSORB, 0x0b
+ .set ABILITY_OBLIVIOUS, 0x0c
+ .set ABILITY_CLOUD_NINE, 0x0d
+ .set ABILITY_COMPOUND_EYES, 0x0e
+ .set ABILITY_INSOMNIA, 0x0f
+ .set ABILITY_COLOR_CHANGE, 0x10
+ .set ABILITY_IMMUNITY, 0x11
+ .set ABILITY_FLASH_FIRE, 0x12
+ .set ABILITY_SHIELD_DUST, 0x13
+ .set ABILITY_OWN_TEMPO, 0x14
+ .set ABILITY_SUCTION_CUPS, 0x15
+ .set ABILITY_INTIMIDATE, 0x16
+ .set ABILITY_SHADOW_TAG, 0x17
+ .set ABILITY_ROUGH_SKIN, 0x18
+ .set ABILITY_WONDER_GUARD, 0x19
+ .set ABILITY_LEVITATE, 0x1a
+ .set ABILITY_EFFECT_SPORE, 0x1b
+ .set ABILITY_SYNCHRONIZE, 0x1c
+ .set ABILITY_CLEAR_BODY, 0x1d
+ .set ABILITY_NATURAL_CURE, 0x1e
+ .set ABILITY_LIGHTNING_ROD, 0x1f
+ .set ABILITY_SERENE_GRACE, 0x20
+ .set ABILITY_SWIFT_SWIM, 0x21
+ .set ABILITY_CHLOROPHYLL, 0x22
+ .set ABILITY_ILLUMINATE, 0x23
+ .set ABILITY_TRACE, 0x24
+ .set ABILITY_HUGE_POWER, 0x25
+ .set ABILITY_POISON_POINT, 0x26
+ .set ABILITY_INNER_FOCUS, 0x27
+ .set ABILITY_MAGMA_ARMOR, 0x28
+ .set ABILITY_WATER_VEIL, 0x29
+ .set ABILITY_MAGNET_PULL, 0x2a
+ .set ABILITY_SOUNDPROOF, 0x2b
+ .set ABILITY_RAIN_DISH, 0x2c
+ .set ABILITY_SAND_STREAM, 0x2d
+ .set ABILITY_PRESSURE, 0x2e
+ .set ABILITY_THICK_FAT, 0x2f
+ .set ABILITY_EARLY_BIRD, 0x30
+ .set ABILITY_FLAME_BODY, 0x31
+ .set ABILITY_RUN_AWAY, 0x32
+ .set ABILITY_KEEN_EYE, 0x33
+ .set ABILITY_HYPER_CUTTER, 0x34
+ .set ABILITY_PICKUP, 0x35
+ .set ABILITY_TRUANT, 0x36
+ .set ABILITY_HUSTLE, 0x37
+ .set ABILITY_CUTE_CHARM, 0x38
+ .set ABILITY_PLUS, 0x39
+ .set ABILITY_MINUS, 0x3a
+ .set ABILITY_FORECAST, 0x3b
+ .set ABILITY_STICKY_HOLD, 0x3c
+ .set ABILITY_SHED_SKIN, 0x3d
+ .set ABILITY_GUTS, 0x3e
+ .set ABILITY_MARVEL_SCALE, 0x3f
+ .set ABILITY_LIQUID_OOZE, 0x40
+ .set ABILITY_OVERGROW, 0x41
+ .set ABILITY_BLAZE, 0x42
+ .set ABILITY_TORRENT, 0x43
+ .set ABILITY_SWARM, 0x44
+ .set ABILITY_ROCK_HEAD, 0x45
+ .set ABILITY_DROUGHT, 0x46
+ .set ABILITY_ARENA_TRAP, 0x47
+ .set ABILITY_VITAL_SPIRIT, 0x48
+ .set ABILITY_WHITE_SMOKE, 0x49
+ .set ABILITY_PURE_POWER, 0x4a
+ .set ABILITY_SHELL_ARMOR, 0x4b
+ .set ABILITY_CACOPHONY, 0x4c
+ .set ABILITY_AIR_LOCK, 0x4d
diff --git a/constants/battle_move_constants.s b/constants/battle_move_constants.s
new file mode 100644
index 000000000..a05da3db3
--- /dev/null
+++ b/constants/battle_move_constants.s
@@ -0,0 +1,15 @@
+ .set TARGET_SELECTED_POKEMON, 0
+
+ .set F_TARGET_SPECIAL, 1 << 0
+ .set F_TARGET_RANDOM, 1 << 2
+ .set F_TARGET_BOTH_ENEMIES, 1 << 3
+ .set F_TARGET_USER, 1 << 4
+ .set F_TARGET_ALL_EXCEPT_USER, 1 << 5
+ .set F_TARGET_ENEMY_SIDE, 1 << 6
+
+ .set F_MAKES_CONTACT, 1 << 0
+ .set F_AFFECTED_BY_PROTECT, 1 << 1
+ .set F_AFFECTED_BY_MAGIC_COAT, 1 << 2
+ .set F_AFFECTED_BY_SNATCH, 1 << 3
+ .set F_MIRROR_MOVE_COMPATIBLE, 1 << 4
+ .set F_AFFECTED_BY_KINGS_ROCK, 1 << 5
diff --git a/constants/berry_constants.s b/constants/berry_constants.s
new file mode 100644
index 000000000..2ecd7ac36
--- /dev/null
+++ b/constants/berry_constants.s
@@ -0,0 +1,6 @@
+ .set BERRY_FIRMNESS_UNKNOWN, 0
+ .set BERRY_FIRMNESS_VERY_SOFT, 1
+ .set BERRY_FIRMNESS_SOFT, 2
+ .set BERRY_FIRMNESS_HARD, 3
+ .set BERRY_FIRMNESS_VERY_HARD, 4
+ .set BERRY_FIRMNESS_SUPER_HARD, 5
diff --git a/constants/constants.s b/constants/constants.s
new file mode 100644
index 000000000..3ebb3b10c
--- /dev/null
+++ b/constants/constants.s
@@ -0,0 +1,16 @@
+ .include "constants/gba_constants.s"
+ .include "constants/misc_constants.s"
+ .include "constants/species_constants.s"
+ .include "constants/ability_constants.s"
+ .include "constants/move_constants.s"
+ .include "constants/item_constants.s"
+ .include "constants/type_constants.s"
+ .include "constants/contest_constants.s"
+ .include "constants/pokemon_data_constants.s"
+ .include "constants/item_data_constants.s"
+ .include "constants/battle_move_constants.s"
+ .include "constants/easy_chat_constants.s"
+ .include "constants/trainer_constants.s"
+ .include "constants/map_constants.s"
+ .include "constants/berry_constants.s"
+ .include "constants/field_object_constants.s"
diff --git a/constants/contest_constants.s b/constants/contest_constants.s
new file mode 100644
index 000000000..e971764d6
--- /dev/null
+++ b/constants/contest_constants.s
@@ -0,0 +1,68 @@
+ .set CONTEST_COOL, 0x00
+ .set CONTEST_BEAUTY, 0x01
+ .set CONTEST_CUTE, 0x02
+ .set CONTEST_SMART, 0x03
+ .set CONTEST_TOUGH, 0x04
+
+ .set COMBO_STARTER_RAIN_DANCE, 0x01
+ .set COMBO_STARTER_RAGE, 0x02
+ .set COMBO_STARTER_FOCUS_ENERGY, 0x03
+ .set COMBO_STARTER_HYPNOSIS, 0x04
+ .set COMBO_STARTER_ENDURE, 0x05
+ .set COMBO_STARTER_HORN_ATTACK, 0x06
+ .set COMBO_STARTER_SWORDS_DANCE, 0x07
+ .set COMBO_STARTER_STOCKPILE, 0x08
+ .set COMBO_STARTER_SUNNY_DAY, 0x09
+ .set COMBO_STARTER_REST, 0x0A
+ .set COMBO_STARTER_VICE_GRIP, 0x0B
+ .set COMBO_STARTER_DEFENSE_CURL, 0x0C
+ .set COMBO_STARTER_CHARGE, 0x0D
+ .set COMBO_STARTER_ROCK_THROW, 0x0E
+ .set COMBO_STARTER_YAWN, 0x0F
+ .set COMBO_STARTER_SCARY_FACE, 0x10
+ .set COMBO_STARTER_POWDER_SNOW, 0x11
+ .set COMBO_STARTER_LOCK_ON, 0x12
+ .set COMBO_STARTER_SOFT_BOILED, 0x13
+ .set COMBO_STARTER_MEAN_LOOK, 0x14
+ .set COMBO_STARTER_SCRATCH, 0x15
+ .set COMBO_STARTER_GROWTH, 0x16
+ .set COMBO_STARTER_HAIL, 0x17
+ .set COMBO_STARTER_SANDSTORM, 0x18
+ .set COMBO_STARTER_BELLY_DRUM, 0x19
+ .set COMBO_STARTER_MIND_READER, 0x1A
+ .set COMBO_STARTER_DRAGON_BREATH, 0x1B
+ .set COMBO_STARTER_DRAGON_RAGE, 0x1C
+ .set COMBO_STARTER_DRAGON_DANCE, 0x1D
+ .set COMBO_STARTER_SURF, 0x1E
+ .set COMBO_STARTER_DIVE, 0x1F
+ .set COMBO_STARTER_STRING_SHOT, 0x20
+ .set COMBO_STARTER_LEER, 0x21
+ .set COMBO_STARTER_TAUNT, 0x22
+ .set COMBO_STARTER_CHARM, 0x23
+ .set COMBO_STARTER_HARDEN, 0x24
+ .set COMBO_STARTER_SING, 0x25
+ .set COMBO_STARTER_EARTHQUAKE, 0x26
+ .set COMBO_STARTER_DOUBLE_TEAM, 0x27
+ .set COMBO_STARTER_CURSE, 0x28
+ .set COMBO_STARTER_SWEET_SCENT, 0x29
+ .set COMBO_STARTER_SLUDGE, 0x2A
+ .set COMBO_STARTER_SLUDGE_BOMB, 0x2B
+ .set COMBO_STARTER_THUNDER_PUNCH, 0x2C
+ .set COMBO_STARTER_FIRE_PUNCH, 0x2D
+ .set COMBO_STARTER_ICE_PUNCH, 0x2E
+ .set COMBO_STARTER_PECK, 0x2F
+ .set COMBO_STARTER_METAL_SOUND, 0x30
+ .set COMBO_STARTER_MUD_SPORT, 0x31
+ .set COMBO_STARTER_WATER_SPORT, 0x32
+ .set COMBO_STARTER_BONE_CLUB, 0x33
+ .set COMBO_STARTER_BONEMERANG, 0x34
+ .set COMBO_STARTER_BONE_RUSH, 0x35
+ .set COMBO_STARTER_SAND_ATTACK, 0x36
+ .set COMBO_STARTER_MUD_SLAP, 0x37
+ .set COMBO_STARTER_FAKE_OUT, 0x38
+ .set COMBO_STARTER_PSYCHIC, 0x39
+ .set COMBO_STARTER_KINESIS, 0x3A
+ .set COMBO_STARTER_CONFUSION, 0x3B
+ .set COMBO_STARTER_POUND, 0x3C
+ .set COMBO_STARTER_SMOG, 0x3D
+ .set COMBO_STARTER_CALM_MIND, 0x3E
diff --git a/constants/easy_chat_constants.s b/constants/easy_chat_constants.s
new file mode 100644
index 000000000..26089c294
--- /dev/null
+++ b/constants/easy_chat_constants.s
@@ -0,0 +1,1067 @@
+ .set EC_GROUP_POKEMON, 0x0
+ .set EC_GROUP_TRAINER, 0x1
+ .set EC_GROUP_STATUS, 0x2
+ .set EC_GROUP_BATTLE, 0x3
+ .set EC_GROUP_GREETINGS, 0x4
+ .set EC_GROUP_PEOPLE, 0x5
+ .set EC_GROUP_VOICES, 0x6
+ .set EC_GROUP_SPEECH, 0x7
+ .set EC_GROUP_ENDINGS, 0x8
+ .set EC_GROUP_FEELINGS, 0x9
+ .set EC_GROUP_CONDITIONS, 0xa
+ .set EC_GROUP_ACTIONS, 0xb
+ .set EC_GROUP_LIFESTYLE, 0xc
+ .set EC_GROUP_HOBBIES, 0xd
+ .set EC_GROUP_TIME, 0xe
+ .set EC_GROUP_MISC, 0xf
+ .set EC_GROUP_ADJECTIVES, 0x10
+ .set EC_GROUP_EVENTS, 0x11
+ .set EC_GROUP_MOVE_1, 0x12
+ .set EC_GROUP_MOVE_2, 0x13
+ .set EC_GROUP_TRENDY_SAYING, 0x14
+ .set EC_GROUP_POKEMON2, 0x15
+
+; Trainer
+ .set EC_WORD_I_CHOOSE_YOU, (EC_GROUP_TRAINER << 9) | 0x0
+ .set EC_WORD_GOTCHA, (EC_GROUP_TRAINER << 9) | 0x1
+ .set EC_WORD_TRADE, (EC_GROUP_TRAINER << 9) | 0x2
+ .set EC_WORD_SAPPHIRE, (EC_GROUP_TRAINER << 9) | 0x3
+ .set EC_WORD_EVOLVE, (EC_GROUP_TRAINER << 9) | 0x4
+ .set EC_WORD_ENCYCLOPEDIA, (EC_GROUP_TRAINER << 9) | 0x5
+ .set EC_WORD_NATURE, (EC_GROUP_TRAINER << 9) | 0x6
+ .set EC_WORD_CENTER, (EC_GROUP_TRAINER << 9) | 0x7
+ .set EC_WORD_EGG, (EC_GROUP_TRAINER << 9) | 0x8
+ .set EC_WORD_LINK, (EC_GROUP_TRAINER << 9) | 0x9
+ .set EC_WORD_SP_ABILITY, (EC_GROUP_TRAINER << 9) | 0xa
+ .set EC_WORD_TRAINER, (EC_GROUP_TRAINER << 9) | 0xb
+ .set EC_WORD_VERSION, (EC_GROUP_TRAINER << 9) | 0xc
+ .set EC_WORD_POKENAV, (EC_GROUP_TRAINER << 9) | 0xd
+ .set EC_WORD_POKEMON, (EC_GROUP_TRAINER << 9) | 0xe
+ .set EC_WORD_GET, (EC_GROUP_TRAINER << 9) | 0xf
+ .set EC_WORD_POKEDEX, (EC_GROUP_TRAINER << 9) | 0x10
+ .set EC_WORD_RUBY, (EC_GROUP_TRAINER << 9) | 0x11
+ .set EC_WORD_LEVEL, (EC_GROUP_TRAINER << 9) | 0x12
+ .set EC_WORD_RED, (EC_GROUP_TRAINER << 9) | 0x13
+ .set EC_WORD_GREEN, (EC_GROUP_TRAINER << 9) | 0x14
+ .set EC_WORD_BAG, (EC_GROUP_TRAINER << 9) | 0x15
+ .set EC_WORD_FLAME, (EC_GROUP_TRAINER << 9) | 0x16
+ .set EC_WORD_GOLD, (EC_GROUP_TRAINER << 9) | 0x17
+ .set EC_WORD_LEAF, (EC_GROUP_TRAINER << 9) | 0x18
+ .set EC_WORD_SILVER, (EC_GROUP_TRAINER << 9) | 0x19
+ .set EC_WORD_EMERALD, (EC_GROUP_TRAINER << 9) | 0x1a
+
+; Status
+ .set EC_WORD_DARK, (EC_GROUP_STATUS << 9) | 0x0
+ .set EC_WORD_STENCH, (EC_GROUP_STATUS << 9) | 0x1
+ .set EC_WORD_THICK_FAT, (EC_GROUP_STATUS << 9) | 0x2
+ .set EC_WORD_RAIN_DISH, (EC_GROUP_STATUS << 9) | 0x3
+ .set EC_WORD_DRIZZLE, (EC_GROUP_STATUS << 9) | 0x4
+ .set EC_WORD_ARENA_TRAP, (EC_GROUP_STATUS << 9) | 0x5
+ .set EC_WORD_INTIMIDATE, (EC_GROUP_STATUS << 9) | 0x6
+ .set EC_WORD_ROCK_HEAD, (EC_GROUP_STATUS << 9) | 0x7
+ .set EC_WORD_COLOR, (EC_GROUP_STATUS << 9) | 0x8
+ .set EC_WORD_ALT_COLOR, (EC_GROUP_STATUS << 9) | 0x9
+ .set EC_WORD_ROCK, (EC_GROUP_STATUS << 9) | 0xa
+ .set EC_WORD_BEAUTIFUL, (EC_GROUP_STATUS << 9) | 0xb
+ .set EC_WORD_BEAUTY, (EC_GROUP_STATUS << 9) | 0xc
+ .set EC_WORD_AIR_LOCK, (EC_GROUP_STATUS << 9) | 0xd
+ .set EC_WORD_PSYCHIC, (EC_GROUP_STATUS << 9) | 0xe
+ .set EC_WORD_HYPER_CUTTER, (EC_GROUP_STATUS << 9) | 0xf
+ .set EC_WORD_FIGHTING, (EC_GROUP_STATUS << 9) | 0x10
+ .set EC_WORD_SHADOW_TAG, (EC_GROUP_STATUS << 9) | 0x11
+ .set EC_WORD_SMART, (EC_GROUP_STATUS << 9) | 0x12
+ .set EC_WORD_SMARTNESS, (EC_GROUP_STATUS << 9) | 0x13
+ .set EC_WORD_SPEED_BOOST, (EC_GROUP_STATUS << 9) | 0x14
+ .set EC_WORD_COOL, (EC_GROUP_STATUS << 9) | 0x15
+ .set EC_WORD_COOLNESS, (EC_GROUP_STATUS << 9) | 0x16
+ .set EC_WORD_BATTLE_ARMOR, (EC_GROUP_STATUS << 9) | 0x17
+ .set EC_WORD_CUTE, (EC_GROUP_STATUS << 9) | 0x18
+ .set EC_WORD_CUTENESS, (EC_GROUP_STATUS << 9) | 0x19
+ .set EC_WORD_STURDY, (EC_GROUP_STATUS << 9) | 0x1a
+ .set EC_WORD_SUCTION_CUPS, (EC_GROUP_STATUS << 9) | 0x1b
+ .set EC_WORD_GRASS, (EC_GROUP_STATUS << 9) | 0x1c
+ .set EC_WORD_CLEAR_BODY, (EC_GROUP_STATUS << 9) | 0x1d
+ .set EC_WORD_TORRENT, (EC_GROUP_STATUS << 9) | 0x1e
+ .set EC_WORD_GHOST, (EC_GROUP_STATUS << 9) | 0x1f
+ .set EC_WORD_ICE, (EC_GROUP_STATUS << 9) | 0x20
+ .set EC_WORD_GUTS, (EC_GROUP_STATUS << 9) | 0x21
+ .set EC_WORD_ROUGH_SKIN, (EC_GROUP_STATUS << 9) | 0x22
+ .set EC_WORD_SHELL_ARMOR, (EC_GROUP_STATUS << 9) | 0x23
+ .set EC_WORD_NATURAL_CURE, (EC_GROUP_STATUS << 9) | 0x24
+ .set EC_WORD_DAMP, (EC_GROUP_STATUS << 9) | 0x25
+ .set EC_WORD_GROUND, (EC_GROUP_STATUS << 9) | 0x26
+ .set EC_WORD_LIMBER, (EC_GROUP_STATUS << 9) | 0x27
+ .set EC_WORD_MAGNET_PULL, (EC_GROUP_STATUS << 9) | 0x28
+ .set EC_WORD_WHITE_SMOKE, (EC_GROUP_STATUS << 9) | 0x29
+ .set EC_WORD_SYNCHRONIZE, (EC_GROUP_STATUS << 9) | 0x2a
+ .set EC_WORD_OVERGROW, (EC_GROUP_STATUS << 9) | 0x2b
+ .set EC_WORD_SWIFT_SWIM, (EC_GROUP_STATUS << 9) | 0x2c
+ .set EC_WORD_SAND_STREAM, (EC_GROUP_STATUS << 9) | 0x2d
+ .set EC_WORD_SAND_VEIL, (EC_GROUP_STATUS << 9) | 0x2e
+ .set EC_WORD_KEEN_EYE, (EC_GROUP_STATUS << 9) | 0x2f
+ .set EC_WORD_INNER_FOCUS, (EC_GROUP_STATUS << 9) | 0x30
+ .set EC_WORD_STATIC, (EC_GROUP_STATUS << 9) | 0x31
+ .set EC_WORD_TYPE, (EC_GROUP_STATUS << 9) | 0x32
+ .set EC_WORD_TOUGH, (EC_GROUP_STATUS << 9) | 0x33
+ .set EC_WORD_TOUGHNESS, (EC_GROUP_STATUS << 9) | 0x34
+ .set EC_WORD_SHED_SKIN, (EC_GROUP_STATUS << 9) | 0x35
+ .set EC_WORD_HUGE_POWER, (EC_GROUP_STATUS << 9) | 0x36
+ .set EC_WORD_VOLT_ABSORB, (EC_GROUP_STATUS << 9) | 0x37
+ .set EC_WORD_WATER_ABSORB, (EC_GROUP_STATUS << 9) | 0x38
+ .set EC_WORD_ELECTRIC, (EC_GROUP_STATUS << 9) | 0x39
+ .set EC_WORD_FORECAST, (EC_GROUP_STATUS << 9) | 0x3a
+ .set EC_WORD_SERENE_GRACE, (EC_GROUP_STATUS << 9) | 0x3b
+ .set EC_WORD_POISON, (EC_GROUP_STATUS << 9) | 0x3c
+ .set EC_WORD_POISON_POINT, (EC_GROUP_STATUS << 9) | 0x3d
+ .set EC_WORD_DRAGON, (EC_GROUP_STATUS << 9) | 0x3e
+ .set EC_WORD_TRACE, (EC_GROUP_STATUS << 9) | 0x3f
+ .set EC_WORD_OBLIVIOUS, (EC_GROUP_STATUS << 9) | 0x40
+ .set EC_WORD_TRUANT, (EC_GROUP_STATUS << 9) | 0x41
+ .set EC_WORD_RUN_AWAY, (EC_GROUP_STATUS << 9) | 0x42
+ .set EC_WORD_STICKY_HOLD, (EC_GROUP_STATUS << 9) | 0x43
+ .set EC_WORD_CLOUD_NINE, (EC_GROUP_STATUS << 9) | 0x44
+ .set EC_WORD_NORMAL, (EC_GROUP_STATUS << 9) | 0x45
+ .set EC_WORD_STEEL, (EC_GROUP_STATUS << 9) | 0x46
+ .set EC_WORD_ILLUMINATE, (EC_GROUP_STATUS << 9) | 0x47
+ .set EC_WORD_EARLY_BIRD, (EC_GROUP_STATUS << 9) | 0x48
+ .set EC_WORD_HUSTLE, (EC_GROUP_STATUS << 9) | 0x49
+ .set EC_WORD_SHINE, (EC_GROUP_STATUS << 9) | 0x4a
+ .set EC_WORD_FLYING, (EC_GROUP_STATUS << 9) | 0x4b
+ .set EC_WORD_DROUGHT, (EC_GROUP_STATUS << 9) | 0x4c
+ .set EC_WORD_LIGHTNINGROD, (EC_GROUP_STATUS << 9) | 0x4d
+ .set EC_WORD_COMPOUNDEYES, (EC_GROUP_STATUS << 9) | 0x4e
+ .set EC_WORD_MARVEL_SCALE, (EC_GROUP_STATUS << 9) | 0x4f
+ .set EC_WORD_WONDER_GUARD, (EC_GROUP_STATUS << 9) | 0x50
+ .set EC_WORD_INSOMNIA, (EC_GROUP_STATUS << 9) | 0x51
+ .set EC_WORD_LEVITATE, (EC_GROUP_STATUS << 9) | 0x52
+ .set EC_WORD_PLUS, (EC_GROUP_STATUS << 9) | 0x53
+ .set EC_WORD_PRESSURE, (EC_GROUP_STATUS << 9) | 0x54
+ .set EC_WORD_LIQUID_OOZE, (EC_GROUP_STATUS << 9) | 0x55
+ .set EC_WORD_COLOR_CHANGE, (EC_GROUP_STATUS << 9) | 0x56
+ .set EC_WORD_SOUNDPROOF, (EC_GROUP_STATUS << 9) | 0x57
+ .set EC_WORD_EFFECT_SPORE, (EC_GROUP_STATUS << 9) | 0x58
+ .set EC_WORD_PKRS, (EC_GROUP_STATUS << 9) | 0x59
+ .set EC_WORD_FIRE, (EC_GROUP_STATUS << 9) | 0x5a
+ .set EC_WORD_FLAME_BODY, (EC_GROUP_STATUS << 9) | 0x5b
+ .set EC_WORD_MINUS, (EC_GROUP_STATUS << 9) | 0x5c
+ .set EC_WORD_OWN_TEMPO, (EC_GROUP_STATUS << 9) | 0x5d
+ .set EC_WORD_MAGMA_ARMOR, (EC_GROUP_STATUS << 9) | 0x5e
+ .set EC_WORD_WATER, (EC_GROUP_STATUS << 9) | 0x5f
+ .set EC_WORD_WATER_VEIL, (EC_GROUP_STATUS << 9) | 0x60
+ .set EC_WORD_BUG, (EC_GROUP_STATUS << 9) | 0x61
+ .set EC_WORD_SWARM, (EC_GROUP_STATUS << 9) | 0x62
+ .set EC_WORD_CUTE_CHARM, (EC_GROUP_STATUS << 9) | 0x63
+ .set EC_WORD_IMMUNITY, (EC_GROUP_STATUS << 9) | 0x64
+ .set EC_WORD_BLAZE, (EC_GROUP_STATUS << 9) | 0x65
+ .set EC_WORD_PICKUP, (EC_GROUP_STATUS << 9) | 0x66
+ .set EC_WORD_PATTERN, (EC_GROUP_STATUS << 9) | 0x67
+ .set EC_WORD_FLASH_FIRE, (EC_GROUP_STATUS << 9) | 0x68
+ .set EC_WORD_VITAL_SPIRIT, (EC_GROUP_STATUS << 9) | 0x69
+ .set EC_WORD_CHLOROPHYLL, (EC_GROUP_STATUS << 9) | 0x6a
+ .set EC_WORD_PURE_POWER, (EC_GROUP_STATUS << 9) | 0x6b
+ .set EC_WORD_SHIELD_DUST, (EC_GROUP_STATUS << 9) | 0x6c
+
+; Battle
+ .set EC_WORD_MATCH_UP, (EC_GROUP_BATTLE << 9) | 0x0
+ .set EC_WORD_GO, (EC_GROUP_BATTLE << 9) | 0x1
+ .set EC_WORD_NO_1, (EC_GROUP_BATTLE << 9) | 0x2
+ .set EC_WORD_DECIDE, (EC_GROUP_BATTLE << 9) | 0x3
+ .set EC_WORD_LET_ME_WIN, (EC_GROUP_BATTLE << 9) | 0x4
+ .set EC_WORD_WINS, (EC_GROUP_BATTLE << 9) | 0x5
+ .set EC_WORD_WIN, (EC_GROUP_BATTLE << 9) | 0x6
+ .set EC_WORD_WON, (EC_GROUP_BATTLE << 9) | 0x7
+ .set EC_WORD_IF_I_WIN, (EC_GROUP_BATTLE << 9) | 0x8
+ .set EC_WORD_WHEN_I_WIN, (EC_GROUP_BATTLE << 9) | 0x9
+ .set EC_WORD_CAN_T_WIN, (EC_GROUP_BATTLE << 9) | 0xa
+ .set EC_WORD_CAN_WIN, (EC_GROUP_BATTLE << 9) | 0xb
+ .set EC_WORD_NO_MATCH, (EC_GROUP_BATTLE << 9) | 0xc
+ .set EC_WORD_SPIRIT, (EC_GROUP_BATTLE << 9) | 0xd
+ .set EC_WORD_DECIDED, (EC_GROUP_BATTLE << 9) | 0xe
+ .set EC_WORD_TRUMP_CARD, (EC_GROUP_BATTLE << 9) | 0xf
+ .set EC_WORD_TAKE_THAT, (EC_GROUP_BATTLE << 9) | 0x10
+ .set EC_WORD_COME_ON, (EC_GROUP_BATTLE << 9) | 0x11
+ .set EC_WORD_ATTACK, (EC_GROUP_BATTLE << 9) | 0x12
+ .set EC_WORD_SURRENDER, (EC_GROUP_BATTLE << 9) | 0x13
+ .set EC_WORD_GUTSY, (EC_GROUP_BATTLE << 9) | 0x14
+ .set EC_WORD_TALENT, (EC_GROUP_BATTLE << 9) | 0x15
+ .set EC_WORD_STRATEGY, (EC_GROUP_BATTLE << 9) | 0x16
+ .set EC_WORD_SMITE, (EC_GROUP_BATTLE << 9) | 0x17
+ .set EC_WORD_MATCH, (EC_GROUP_BATTLE << 9) | 0x18
+ .set EC_WORD_VICTORY, (EC_GROUP_BATTLE << 9) | 0x19
+ .set EC_WORD_OFFENSIVE, (EC_GROUP_BATTLE << 9) | 0x1a
+ .set EC_WORD_SENSE, (EC_GROUP_BATTLE << 9) | 0x1b
+ .set EC_WORD_VERSUS, (EC_GROUP_BATTLE << 9) | 0x1c
+ .set EC_WORD_FIGHTS, (EC_GROUP_BATTLE << 9) | 0x1d
+ .set EC_WORD_POWER, (EC_GROUP_BATTLE << 9) | 0x1e
+ .set EC_WORD_CHALLENGE, (EC_GROUP_BATTLE << 9) | 0x1f
+ .set EC_WORD_STRONG, (EC_GROUP_BATTLE << 9) | 0x20
+ .set EC_WORD_TOO_STRONG, (EC_GROUP_BATTLE << 9) | 0x21
+ .set EC_WORD_GO_EASY, (EC_GROUP_BATTLE << 9) | 0x22
+ .set EC_WORD_FOE, (EC_GROUP_BATTLE << 9) | 0x23
+ .set EC_WORD_GENIUS, (EC_GROUP_BATTLE << 9) | 0x24
+ .set EC_WORD_LEGEND, (EC_GROUP_BATTLE << 9) | 0x25
+ .set EC_WORD_ESCAPE, (EC_GROUP_BATTLE << 9) | 0x26
+ .set EC_WORD_AIM, (EC_GROUP_BATTLE << 9) | 0x27
+ .set EC_WORD_BATTLE, (EC_GROUP_BATTLE << 9) | 0x28
+ .set EC_WORD_FIGHT, (EC_GROUP_BATTLE << 9) | 0x29
+ .set EC_WORD_RESUSCITATE, (EC_GROUP_BATTLE << 9) | 0x2a
+ .set EC_WORD_POINTS, (EC_GROUP_BATTLE << 9) | 0x2b
+ .set EC_WORD_SERIOUS, (EC_GROUP_BATTLE << 9) | 0x2c
+ .set EC_WORD_GIVE_UP, (EC_GROUP_BATTLE << 9) | 0x2d
+ .set EC_WORD_LOSS, (EC_GROUP_BATTLE << 9) | 0x2e
+ .set EC_WORD_IF_I_LOSE, (EC_GROUP_BATTLE << 9) | 0x2f
+ .set EC_WORD_LOST, (EC_GROUP_BATTLE << 9) | 0x30
+ .set EC_WORD_LOSE, (EC_GROUP_BATTLE << 9) | 0x31
+ .set EC_WORD_GUARD, (EC_GROUP_BATTLE << 9) | 0x32
+ .set EC_WORD_PARTNER, (EC_GROUP_BATTLE << 9) | 0x33
+ .set EC_WORD_REJECT, (EC_GROUP_BATTLE << 9) | 0x34
+ .set EC_WORD_ACCEPT, (EC_GROUP_BATTLE << 9) | 0x35
+ .set EC_WORD_INVINCIBLE, (EC_GROUP_BATTLE << 9) | 0x36
+ .set EC_WORD_RECEIVED, (EC_GROUP_BATTLE << 9) | 0x37
+ .set EC_WORD_EASY, (EC_GROUP_BATTLE << 9) | 0x38
+ .set EC_WORD_WEAK, (EC_GROUP_BATTLE << 9) | 0x39
+ .set EC_WORD_TOO_WEAK, (EC_GROUP_BATTLE << 9) | 0x3a
+ .set EC_WORD_PUSHOVER, (EC_GROUP_BATTLE << 9) | 0x3b
+ .set EC_WORD_LEADER, (EC_GROUP_BATTLE << 9) | 0x3c
+ .set EC_WORD_RULE, (EC_GROUP_BATTLE << 9) | 0x3d
+ .set EC_WORD_MOVE, (EC_GROUP_BATTLE << 9) | 0x3e
+
+; Greetings
+ .set EC_WORD_THANKS, (EC_GROUP_GREETINGS << 9) | 0x0
+ .set EC_WORD_YES, (EC_GROUP_GREETINGS << 9) | 0x1
+ .set EC_WORD_HERE_GOES, (EC_GROUP_GREETINGS << 9) | 0x2
+ .set EC_WORD_HERE_I_COME, (EC_GROUP_GREETINGS << 9) | 0x3
+ .set EC_WORD_HERE_IT_IS, (EC_GROUP_GREETINGS << 9) | 0x4
+ .set EC_WORD_YEAH, (EC_GROUP_GREETINGS << 9) | 0x5
+ .set EC_WORD_WELCOME, (EC_GROUP_GREETINGS << 9) | 0x6
+ .set EC_WORD_OI, (EC_GROUP_GREETINGS << 9) | 0x7
+ .set EC_WORD_HOW_DO, (EC_GROUP_GREETINGS << 9) | 0x8
+ .set EC_WORD_CONGRATS, (EC_GROUP_GREETINGS << 9) | 0x9
+ .set EC_WORD_GIVE_ME, (EC_GROUP_GREETINGS << 9) | 0xa
+ .set EC_WORD_SORRY, (EC_GROUP_GREETINGS << 9) | 0xb
+ .set EC_WORD_APOLOGIZE, (EC_GROUP_GREETINGS << 9) | 0xc
+ .set EC_WORD_FORGIVE, (EC_GROUP_GREETINGS << 9) | 0xd
+ .set EC_WORD_HEY_THERE, (EC_GROUP_GREETINGS << 9) | 0xe
+ .set EC_WORD_HELLO, (EC_GROUP_GREETINGS << 9) | 0xf
+ .set EC_WORD_GOOD_BYE, (EC_GROUP_GREETINGS << 9) | 0x10
+ .set EC_WORD_THANK_YOU, (EC_GROUP_GREETINGS << 9) | 0x11
+ .set EC_WORD_I_VE_ARRIVED, (EC_GROUP_GREETINGS << 9) | 0x12
+ .set EC_WORD_PARDON, (EC_GROUP_GREETINGS << 9) | 0x13
+ .set EC_WORD_EXCUSE, (EC_GROUP_GREETINGS << 9) | 0x14
+ .set EC_WORD_SEE_YA, (EC_GROUP_GREETINGS << 9) | 0x15
+ .set EC_WORD_EXCUSE_ME, (EC_GROUP_GREETINGS << 9) | 0x16
+ .set EC_WORD_WELL_THEN, (EC_GROUP_GREETINGS << 9) | 0x17
+ .set EC_WORD_GO_AHEAD, (EC_GROUP_GREETINGS << 9) | 0x18
+ .set EC_WORD_APPRECIATE, (EC_GROUP_GREETINGS << 9) | 0x19
+ .set EC_WORD_HEY_QUES, (EC_GROUP_GREETINGS << 9) | 0x1a
+ .set EC_WORD_WHAT_S_UP_QUES, (EC_GROUP_GREETINGS << 9) | 0x1b
+ .set EC_WORD_HUH_QUES, (EC_GROUP_GREETINGS << 9) | 0x1c
+ .set EC_WORD_NO, (EC_GROUP_GREETINGS << 9) | 0x1d
+ .set EC_WORD_HI, (EC_GROUP_GREETINGS << 9) | 0x1e
+ .set EC_WORD_YEAH_YEAH, (EC_GROUP_GREETINGS << 9) | 0x1f
+ .set EC_WORD_BYE_BYE, (EC_GROUP_GREETINGS << 9) | 0x20
+ .set EC_WORD_MEET_YOU, (EC_GROUP_GREETINGS << 9) | 0x21
+ .set EC_WORD_HEY, (EC_GROUP_GREETINGS << 9) | 0x22
+ .set EC_WORD_SMELL, (EC_GROUP_GREETINGS << 9) | 0x23
+ .set EC_WORD_LISTENING, (EC_GROUP_GREETINGS << 9) | 0x24
+ .set EC_WORD_HOO_HAH, (EC_GROUP_GREETINGS << 9) | 0x25
+ .set EC_WORD_YAHOO, (EC_GROUP_GREETINGS << 9) | 0x26
+ .set EC_WORD_YO, (EC_GROUP_GREETINGS << 9) | 0x27
+ .set EC_WORD_COME_OVER, (EC_GROUP_GREETINGS << 9) | 0x28
+ .set EC_WORD_COUNT_ON, (EC_GROUP_GREETINGS << 9) | 0x29
+
+; People
+ .set EC_WORD_OPPONENT, (EC_GROUP_PEOPLE << 9) | 0x0
+ .set EC_WORD_I, (EC_GROUP_PEOPLE << 9) | 0x1
+ .set EC_WORD_YOU, (EC_GROUP_PEOPLE << 9) | 0x2
+ .set EC_WORD_YOURS, (EC_GROUP_PEOPLE << 9) | 0x3
+ .set EC_WORD_SON, (EC_GROUP_PEOPLE << 9) | 0x4
+ .set EC_WORD_YOUR, (EC_GROUP_PEOPLE << 9) | 0x5
+ .set EC_WORD_YOU_RE, (EC_GROUP_PEOPLE << 9) | 0x6
+ .set EC_WORD_YOU_VE, (EC_GROUP_PEOPLE << 9) | 0x7
+ .set EC_WORD_MOTHER, (EC_GROUP_PEOPLE << 9) | 0x8
+ .set EC_WORD_GRANDFATHER, (EC_GROUP_PEOPLE << 9) | 0x9
+ .set EC_WORD_UNCLE, (EC_GROUP_PEOPLE << 9) | 0xa
+ .set EC_WORD_FATHER, (EC_GROUP_PEOPLE << 9) | 0xb
+ .set EC_WORD_BOY, (EC_GROUP_PEOPLE << 9) | 0xc
+ .set EC_WORD_ADULT, (EC_GROUP_PEOPLE << 9) | 0xd
+ .set EC_WORD_BROTHER, (EC_GROUP_PEOPLE << 9) | 0xe
+ .set EC_WORD_SISTER, (EC_GROUP_PEOPLE << 9) | 0xf
+ .set EC_WORD_GRANDMOTHER, (EC_GROUP_PEOPLE << 9) | 0x10
+ .set EC_WORD_AUNT, (EC_GROUP_PEOPLE << 9) | 0x11
+ .set EC_WORD_PARENT, (EC_GROUP_PEOPLE << 9) | 0x12
+ .set EC_WORD_MAN, (EC_GROUP_PEOPLE << 9) | 0x13
+ .set EC_WORD_ME, (EC_GROUP_PEOPLE << 9) | 0x14
+ .set EC_WORD_GIRL, (EC_GROUP_PEOPLE << 9) | 0x15
+ .set EC_WORD_BABE, (EC_GROUP_PEOPLE << 9) | 0x16
+ .set EC_WORD_FAMILY, (EC_GROUP_PEOPLE << 9) | 0x17
+ .set EC_WORD_HER, (EC_GROUP_PEOPLE << 9) | 0x18
+ .set EC_WORD_HIM, (EC_GROUP_PEOPLE << 9) | 0x19
+ .set EC_WORD_HE, (EC_GROUP_PEOPLE << 9) | 0x1a
+ .set EC_WORD_PLACE, (EC_GROUP_PEOPLE << 9) | 0x1b
+ .set EC_WORD_DAUGHTER, (EC_GROUP_PEOPLE << 9) | 0x1c
+ .set EC_WORD_HIS, (EC_GROUP_PEOPLE << 9) | 0x1d
+ .set EC_WORD_HE_S, (EC_GROUP_PEOPLE << 9) | 0x1e
+ .set EC_WORD_AREN_T, (EC_GROUP_PEOPLE << 9) | 0x1f
+ .set EC_WORD_SIBLINGS, (EC_GROUP_PEOPLE << 9) | 0x20
+ .set EC_WORD_KID, (EC_GROUP_PEOPLE << 9) | 0x21
+ .set EC_WORD_CHILDREN, (EC_GROUP_PEOPLE << 9) | 0x22
+ .set EC_WORD_MR, (EC_GROUP_PEOPLE << 9) | 0x23
+ .set EC_WORD_MRS, (EC_GROUP_PEOPLE << 9) | 0x24
+ .set EC_WORD_MYSELF, (EC_GROUP_PEOPLE << 9) | 0x25
+ .set EC_WORD_I_WAS, (EC_GROUP_PEOPLE << 9) | 0x26
+ .set EC_WORD_TO_ME, (EC_GROUP_PEOPLE << 9) | 0x27
+ .set EC_WORD_MY, (EC_GROUP_PEOPLE << 9) | 0x28
+ .set EC_WORD_I_AM, (EC_GROUP_PEOPLE << 9) | 0x29
+ .set EC_WORD_I_VE, (EC_GROUP_PEOPLE << 9) | 0x2a
+ .set EC_WORD_WHO, (EC_GROUP_PEOPLE << 9) | 0x2b
+ .set EC_WORD_SOMEONE, (EC_GROUP_PEOPLE << 9) | 0x2c
+ .set EC_WORD_WHO_WAS, (EC_GROUP_PEOPLE << 9) | 0x2d
+ .set EC_WORD_TO_WHOM, (EC_GROUP_PEOPLE << 9) | 0x2e
+ .set EC_WORD_WHOSE, (EC_GROUP_PEOPLE << 9) | 0x2f
+ .set EC_WORD_WHO_IS, (EC_GROUP_PEOPLE << 9) | 0x30
+ .set EC_WORD_IT_S, (EC_GROUP_PEOPLE << 9) | 0x31
+ .set EC_WORD_LADY, (EC_GROUP_PEOPLE << 9) | 0x32
+ .set EC_WORD_FRIEND, (EC_GROUP_PEOPLE << 9) | 0x33
+ .set EC_WORD_ALLY, (EC_GROUP_PEOPLE << 9) | 0x34
+ .set EC_WORD_PERSON, (EC_GROUP_PEOPLE << 9) | 0x35
+ .set EC_WORD_DUDE, (EC_GROUP_PEOPLE << 9) | 0x36
+ .set EC_WORD_THEY, (EC_GROUP_PEOPLE << 9) | 0x37
+ .set EC_WORD_THEY_WERE, (EC_GROUP_PEOPLE << 9) | 0x38
+ .set EC_WORD_TO_THEM, (EC_GROUP_PEOPLE << 9) | 0x39
+ .set EC_WORD_THEIR, (EC_GROUP_PEOPLE << 9) | 0x3a
+ .set EC_WORD_THEY_RE, (EC_GROUP_PEOPLE << 9) | 0x3b
+ .set EC_WORD_THEY_VE, (EC_GROUP_PEOPLE << 9) | 0x3c
+ .set EC_WORD_WE, (EC_GROUP_PEOPLE << 9) | 0x3d
+ .set EC_WORD_BEEN, (EC_GROUP_PEOPLE << 9) | 0x3e
+ .set EC_WORD_TO_US, (EC_GROUP_PEOPLE << 9) | 0x3f
+ .set EC_WORD_OUR, (EC_GROUP_PEOPLE << 9) | 0x40
+ .set EC_WORD_WE_RE, (EC_GROUP_PEOPLE << 9) | 0x41
+ .set EC_WORD_RIVAL, (EC_GROUP_PEOPLE << 9) | 0x42
+ .set EC_WORD_WE_VE, (EC_GROUP_PEOPLE << 9) | 0x43
+ .set EC_WORD_WOMAN, (EC_GROUP_PEOPLE << 9) | 0x44
+ .set EC_WORD_SHE, (EC_GROUP_PEOPLE << 9) | 0x45
+ .set EC_WORD_SHE_WAS, (EC_GROUP_PEOPLE << 9) | 0x46
+ .set EC_WORD_TO_HER, (EC_GROUP_PEOPLE << 9) | 0x47
+ .set EC_WORD_HERS, (EC_GROUP_PEOPLE << 9) | 0x48
+ .set EC_WORD_SHE_IS, (EC_GROUP_PEOPLE << 9) | 0x49
+ .set EC_WORD_SOME, (EC_GROUP_PEOPLE << 9) | 0x4a
+
+; Voices
+ .set EC_WORD_EXCL, (EC_GROUP_VOICES << 9) | 0x0
+ .set EC_WORD_EXCL_EXCL, (EC_GROUP_VOICES << 9) | 0x1
+ .set EC_WORD_QUES_EXCL, (EC_GROUP_VOICES << 9) | 0x2
+ .set EC_WORD_QUES, (EC_GROUP_VOICES << 9) | 0x3
+ .set EC_WORD_ELLIPSIS, (EC_GROUP_VOICES << 9) | 0x4
+ .set EC_WORD_ELLIPSIS_EXCL, (EC_GROUP_VOICES << 9) | 0x5
+ .set EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, (EC_GROUP_VOICES << 9) | 0x6
+ .set EC_WORD_DASH, (EC_GROUP_VOICES << 9) | 0x7
+ .set EC_WORD_DASH_DASH_DASH, (EC_GROUP_VOICES << 9) | 0x8
+ .set EC_WORD_UH_OH, (EC_GROUP_VOICES << 9) | 0x9
+ .set EC_WORD_WAAAH, (EC_GROUP_VOICES << 9) | 0xa
+ .set EC_WORD_AHAHA, (EC_GROUP_VOICES << 9) | 0xb
+ .set EC_WORD_OH_QUES, (EC_GROUP_VOICES << 9) | 0xc
+ .set EC_WORD_NOPE, (EC_GROUP_VOICES << 9) | 0xd
+ .set EC_WORD_URGH, (EC_GROUP_VOICES << 9) | 0xe
+ .set EC_WORD_HMM, (EC_GROUP_VOICES << 9) | 0xf
+ .set EC_WORD_WHOAH, (EC_GROUP_VOICES << 9) | 0x10
+ .set EC_WORD_WROOOAAR_EXCL, (EC_GROUP_VOICES << 9) | 0x11
+ .set EC_WORD_WOW, (EC_GROUP_VOICES << 9) | 0x12
+ .set EC_WORD_GIGGLE, (EC_GROUP_VOICES << 9) | 0x13
+ .set EC_WORD_SIGH, (EC_GROUP_VOICES << 9) | 0x14
+ .set EC_WORD_UNBELIEVABLE, (EC_GROUP_VOICES << 9) | 0x15
+ .set EC_WORD_CRIES, (EC_GROUP_VOICES << 9) | 0x16
+ .set EC_WORD_AGREE, (EC_GROUP_VOICES << 9) | 0x17
+ .set EC_WORD_EH_QUES, (EC_GROUP_VOICES << 9) | 0x18
+ .set EC_WORD_CRY, (EC_GROUP_VOICES << 9) | 0x19
+ .set EC_WORD_EHEHE, (EC_GROUP_VOICES << 9) | 0x1a
+ .set EC_WORD_OI_OI_OI, (EC_GROUP_VOICES << 9) | 0x1b
+ .set EC_WORD_OH_YEAH, (EC_GROUP_VOICES << 9) | 0x1c
+ .set EC_WORD_OH, (EC_GROUP_VOICES << 9) | 0x1d
+ .set EC_WORD_OOPS, (EC_GROUP_VOICES << 9) | 0x1e
+ .set EC_WORD_SHOCKED, (EC_GROUP_VOICES << 9) | 0x1f
+ .set EC_WORD_EEK, (EC_GROUP_VOICES << 9) | 0x20
+ .set EC_WORD_GRAAAH, (EC_GROUP_VOICES << 9) | 0x21
+ .set EC_WORD_GWAHAHAHA, (EC_GROUP_VOICES << 9) | 0x22
+ .set EC_WORD_WAY, (EC_GROUP_VOICES << 9) | 0x23
+ .set EC_WORD_TCH, (EC_GROUP_VOICES << 9) | 0x24
+ .set EC_WORD_HEHE, (EC_GROUP_VOICES << 9) | 0x25
+ .set EC_WORD_HAH, (EC_GROUP_VOICES << 9) | 0x26
+ .set EC_WORD_YUP, (EC_GROUP_VOICES << 9) | 0x27
+ .set EC_WORD_HAHAHA, (EC_GROUP_VOICES << 9) | 0x28
+ .set EC_WORD_AIYEEH, (EC_GROUP_VOICES << 9) | 0x29
+ .set EC_WORD_HIYAH, (EC_GROUP_VOICES << 9) | 0x2a
+ .set EC_WORD_FUFUFU, (EC_GROUP_VOICES << 9) | 0x2b
+ .set EC_WORD_LOL, (EC_GROUP_VOICES << 9) | 0x2c
+ .set EC_WORD_SNORT, (EC_GROUP_VOICES << 9) | 0x2d
+ .set EC_WORD_HUMPH, (EC_GROUP_VOICES << 9) | 0x2e
+ .set EC_WORD_HEHEHE, (EC_GROUP_VOICES << 9) | 0x2f
+ .set EC_WORD_HEH, (EC_GROUP_VOICES << 9) | 0x30
+ .set EC_WORD_HOHOHO, (EC_GROUP_VOICES << 9) | 0x31
+ .set EC_WORD_UH_HUH, (EC_GROUP_VOICES << 9) | 0x32
+ .set EC_WORD_OH_DEAR, (EC_GROUP_VOICES << 9) | 0x33
+ .set EC_WORD_ARRGH, (EC_GROUP_VOICES << 9) | 0x34
+ .set EC_WORD_MUFUFU, (EC_GROUP_VOICES << 9) | 0x35
+ .set EC_WORD_MMM, (EC_GROUP_VOICES << 9) | 0x36
+ .set EC_WORD_OH_KAY, (EC_GROUP_VOICES << 9) | 0x37
+ .set EC_WORD_OKAY, (EC_GROUP_VOICES << 9) | 0x38
+ .set EC_WORD_LALALA, (EC_GROUP_VOICES << 9) | 0x39
+ .set EC_WORD_YAY, (EC_GROUP_VOICES << 9) | 0x3a
+ .set EC_WORD_AWW, (EC_GROUP_VOICES << 9) | 0x3b
+ .set EC_WORD_WOWEE, (EC_GROUP_VOICES << 9) | 0x3c
+ .set EC_WORD_GWAH, (EC_GROUP_VOICES << 9) | 0x3d
+ .set EC_WORD_WAHAHAHA, (EC_GROUP_VOICES << 9) | 0x3e
+
+; Speech
+ .set EC_WORD_LISTEN, (EC_GROUP_SPEECH << 9) | 0x0
+ .set EC_WORD_NOT_VERY, (EC_GROUP_SPEECH << 9) | 0x1
+ .set EC_WORD_MEAN, (EC_GROUP_SPEECH << 9) | 0x2
+ .set EC_WORD_LIE, (EC_GROUP_SPEECH << 9) | 0x3
+ .set EC_WORD_LAY, (EC_GROUP_SPEECH << 9) | 0x4
+ .set EC_WORD_RECOMMEND, (EC_GROUP_SPEECH << 9) | 0x5
+ .set EC_WORD_NITWIT, (EC_GROUP_SPEECH << 9) | 0x6
+ .set EC_WORD_QUITE, (EC_GROUP_SPEECH << 9) | 0x7
+ .set EC_WORD_FROM, (EC_GROUP_SPEECH << 9) | 0x8
+ .set EC_WORD_FEELING, (EC_GROUP_SPEECH << 9) | 0x9
+ .set EC_WORD_BUT, (EC_GROUP_SPEECH << 9) | 0xa
+ .set EC_WORD_HOWEVER, (EC_GROUP_SPEECH << 9) | 0xb
+ .set EC_WORD_CASE, (EC_GROUP_SPEECH << 9) | 0xc
+ .set EC_WORD_THE, (EC_GROUP_SPEECH << 9) | 0xd
+ .set EC_WORD_MISS, (EC_GROUP_SPEECH << 9) | 0xe
+ .set EC_WORD_HOW, (EC_GROUP_SPEECH << 9) | 0xf
+ .set EC_WORD_HIT, (EC_GROUP_SPEECH << 9) | 0x10
+ .set EC_WORD_ENOUGH, (EC_GROUP_SPEECH << 9) | 0x11
+ .set EC_WORD_A_LOT, (EC_GROUP_SPEECH << 9) | 0x12
+ .set EC_WORD_A_LITTLE, (EC_GROUP_SPEECH << 9) | 0x13
+ .set EC_WORD_ABSOLUTELY, (EC_GROUP_SPEECH << 9) | 0x14
+ .set EC_WORD_AND, (EC_GROUP_SPEECH << 9) | 0x15
+ .set EC_WORD_ONLY, (EC_GROUP_SPEECH << 9) | 0x16
+ .set EC_WORD_AROUND, (EC_GROUP_SPEECH << 9) | 0x17
+ .set EC_WORD_PROBABLY, (EC_GROUP_SPEECH << 9) | 0x18
+ .set EC_WORD_IF, (EC_GROUP_SPEECH << 9) | 0x19
+ .set EC_WORD_VERY, (EC_GROUP_SPEECH << 9) | 0x1a
+ .set EC_WORD_A_TINY_BIT, (EC_GROUP_SPEECH << 9) | 0x1b
+ .set EC_WORD_WILD, (EC_GROUP_SPEECH << 9) | 0x1c
+ .set EC_WORD_THAT_S, (EC_GROUP_SPEECH << 9) | 0x1d
+ .set EC_WORD_JUST, (EC_GROUP_SPEECH << 9) | 0x1e
+ .set EC_WORD_EVEN_SO, (EC_GROUP_SPEECH << 9) | 0x1f
+ .set EC_WORD_MUST_BE, (EC_GROUP_SPEECH << 9) | 0x20
+ .set EC_WORD_NATURALLY, (EC_GROUP_SPEECH << 9) | 0x21
+ .set EC_WORD_FOR_NOW, (EC_GROUP_SPEECH << 9) | 0x22
+ .set EC_WORD_UNDERSTOOD, (EC_GROUP_SPEECH << 9) | 0x23
+ .set EC_WORD_JOKING, (EC_GROUP_SPEECH << 9) | 0x24
+ .set EC_WORD_READY, (EC_GROUP_SPEECH << 9) | 0x25
+ .set EC_WORD_SOMETHING, (EC_GROUP_SPEECH << 9) | 0x26
+ .set EC_WORD_SOMEHOW, (EC_GROUP_SPEECH << 9) | 0x27
+ .set EC_WORD_ALTHOUGH, (EC_GROUP_SPEECH << 9) | 0x28
+ .set EC_WORD_ALSO, (EC_GROUP_SPEECH << 9) | 0x29
+ .set EC_WORD_PERFECT, (EC_GROUP_SPEECH << 9) | 0x2a
+ .set EC_WORD_AS_MUCH_AS, (EC_GROUP_SPEECH << 9) | 0x2b
+ .set EC_WORD_REALLY, (EC_GROUP_SPEECH << 9) | 0x2c
+ .set EC_WORD_TRULY, (EC_GROUP_SPEECH << 9) | 0x2d
+ .set EC_WORD_SERIOUSLY, (EC_GROUP_SPEECH << 9) | 0x2e
+ .set EC_WORD_TOTALLY, (EC_GROUP_SPEECH << 9) | 0x2f
+ .set EC_WORD_UNTIL, (EC_GROUP_SPEECH << 9) | 0x30
+ .set EC_WORD_AS_IF, (EC_GROUP_SPEECH << 9) | 0x31
+ .set EC_WORD_MOOD, (EC_GROUP_SPEECH << 9) | 0x32
+ .set EC_WORD_RATHER, (EC_GROUP_SPEECH << 9) | 0x33
+ .set EC_WORD_AWFULLY, (EC_GROUP_SPEECH << 9) | 0x34
+ .set EC_WORD_MODE, (EC_GROUP_SPEECH << 9) | 0x35
+ .set EC_WORD_MORE, (EC_GROUP_SPEECH << 9) | 0x36
+ .set EC_WORD_TOO_LATE, (EC_GROUP_SPEECH << 9) | 0x37
+ .set EC_WORD_FINALLY, (EC_GROUP_SPEECH << 9) | 0x38
+ .set EC_WORD_ANY, (EC_GROUP_SPEECH << 9) | 0x39
+ .set EC_WORD_INSTEAD, (EC_GROUP_SPEECH << 9) | 0x3a
+ .set EC_WORD_FANTASTIC, (EC_GROUP_SPEECH << 9) | 0x3b
+
+; Endings
+ .set EC_WORD_WILL, (EC_GROUP_ENDINGS << 9) | 0x0
+ .set EC_WORD_WILL_BE_HERE, (EC_GROUP_ENDINGS << 9) | 0x1
+ .set EC_WORD_OR, (EC_GROUP_ENDINGS << 9) | 0x2
+ .set EC_WORD_TIMES, (EC_GROUP_ENDINGS << 9) | 0x3
+ .set EC_WORD_WONDER, (EC_GROUP_ENDINGS << 9) | 0x4
+ .set EC_WORD_IS_IT_QUES, (EC_GROUP_ENDINGS << 9) | 0x5
+ .set EC_WORD_BE, (EC_GROUP_ENDINGS << 9) | 0x6
+ .set EC_WORD_GIMME, (EC_GROUP_ENDINGS << 9) | 0x7
+ .set EC_WORD_COULD, (EC_GROUP_ENDINGS << 9) | 0x8
+ .set EC_WORD_LIKELY_TO, (EC_GROUP_ENDINGS << 9) | 0x9
+ .set EC_WORD_WOULD, (EC_GROUP_ENDINGS << 9) | 0xa
+ .set EC_WORD_IS, (EC_GROUP_ENDINGS << 9) | 0xb
+ .set EC_WORD_ISN_T_IT_QUES, (EC_GROUP_ENDINGS << 9) | 0xc
+ .set EC_WORD_LET_S, (EC_GROUP_ENDINGS << 9) | 0xd
+ .set EC_WORD_OTHER, (EC_GROUP_ENDINGS << 9) | 0xe
+ .set EC_WORD_ARE, (EC_GROUP_ENDINGS << 9) | 0xf
+ .set EC_WORD_WAS, (EC_GROUP_ENDINGS << 9) | 0x10
+ .set EC_WORD_WERE, (EC_GROUP_ENDINGS << 9) | 0x11
+ .set EC_WORD_THOSE, (EC_GROUP_ENDINGS << 9) | 0x12
+ .set EC_WORD_ISN_T, (EC_GROUP_ENDINGS << 9) | 0x13
+ .set EC_WORD_WON_T, (EC_GROUP_ENDINGS << 9) | 0x14
+ .set EC_WORD_CAN_T, (EC_GROUP_ENDINGS << 9) | 0x15
+ .set EC_WORD_CAN, (EC_GROUP_ENDINGS << 9) | 0x16
+ .set EC_WORD_DON_T, (EC_GROUP_ENDINGS << 9) | 0x17
+ .set EC_WORD_DO, (EC_GROUP_ENDINGS << 9) | 0x18
+ .set EC_WORD_DOES, (EC_GROUP_ENDINGS << 9) | 0x19
+ .set EC_WORD_WHOM, (EC_GROUP_ENDINGS << 9) | 0x1a
+ .set EC_WORD_WHICH, (EC_GROUP_ENDINGS << 9) | 0x1b
+ .set EC_WORD_WASN_T, (EC_GROUP_ENDINGS << 9) | 0x1c
+ .set EC_WORD_WEREN_T, (EC_GROUP_ENDINGS << 9) | 0x1d
+ .set EC_WORD_HAVE, (EC_GROUP_ENDINGS << 9) | 0x1e
+ .set EC_WORD_HAVEN_T, (EC_GROUP_ENDINGS << 9) | 0x1f
+ .set EC_WORD_A, (EC_GROUP_ENDINGS << 9) | 0x20
+ .set EC_WORD_AN, (EC_GROUP_ENDINGS << 9) | 0x21
+ .set EC_WORD_NOT, (EC_GROUP_ENDINGS << 9) | 0x22
+ .set EC_WORD_THERE, (EC_GROUP_ENDINGS << 9) | 0x23
+ .set EC_WORD_OK_QUES, (EC_GROUP_ENDINGS << 9) | 0x24
+ .set EC_WORD_SO, (EC_GROUP_ENDINGS << 9) | 0x25
+ .set EC_WORD_MAYBE, (EC_GROUP_ENDINGS << 9) | 0x26
+ .set EC_WORD_ABOUT, (EC_GROUP_ENDINGS << 9) | 0x27
+ .set EC_WORD_OVER, (EC_GROUP_ENDINGS << 9) | 0x28
+ .set EC_WORD_IT, (EC_GROUP_ENDINGS << 9) | 0x29
+ .set EC_WORD_ALL, (EC_GROUP_ENDINGS << 9) | 0x2a
+ .set EC_WORD_FOR, (EC_GROUP_ENDINGS << 9) | 0x2b
+ .set EC_WORD_ON, (EC_GROUP_ENDINGS << 9) | 0x2c
+ .set EC_WORD_OFF, (EC_GROUP_ENDINGS << 9) | 0x2d
+ .set EC_WORD_AS, (EC_GROUP_ENDINGS << 9) | 0x2e
+ .set EC_WORD_TO, (EC_GROUP_ENDINGS << 9) | 0x2f
+ .set EC_WORD_WITH, (EC_GROUP_ENDINGS << 9) | 0x30
+ .set EC_WORD_BETTER, (EC_GROUP_ENDINGS << 9) | 0x31
+ .set EC_WORD_EVER, (EC_GROUP_ENDINGS << 9) | 0x32
+ .set EC_WORD_SINCE, (EC_GROUP_ENDINGS << 9) | 0x33
+ .set EC_WORD_OF, (EC_GROUP_ENDINGS << 9) | 0x34
+ .set EC_WORD_BELONGS_TO, (EC_GROUP_ENDINGS << 9) | 0x35
+ .set EC_WORD_AT, (EC_GROUP_ENDINGS << 9) | 0x36
+ .set EC_WORD_IN, (EC_GROUP_ENDINGS << 9) | 0x37
+ .set EC_WORD_OUT, (EC_GROUP_ENDINGS << 9) | 0x38
+ .set EC_WORD_TOO, (EC_GROUP_ENDINGS << 9) | 0x39
+ .set EC_WORD_LIKE, (EC_GROUP_ENDINGS << 9) | 0x3a
+ .set EC_WORD_DID, (EC_GROUP_ENDINGS << 9) | 0x3b
+ .set EC_WORD_DIDN_T, (EC_GROUP_ENDINGS << 9) | 0x3c
+ .set EC_WORD_DOESN_T, (EC_GROUP_ENDINGS << 9) | 0x3d
+ .set EC_WORD_WITHOUT, (EC_GROUP_ENDINGS << 9) | 0x3e
+ .set EC_WORD_AFTER, (EC_GROUP_ENDINGS << 9) | 0x3f
+ .set EC_WORD_BEFORE, (EC_GROUP_ENDINGS << 9) | 0x40
+ .set EC_WORD_WHILE, (EC_GROUP_ENDINGS << 9) | 0x41
+ .set EC_WORD_THAN, (EC_GROUP_ENDINGS << 9) | 0x42
+ .set EC_WORD_ONCE, (EC_GROUP_ENDINGS << 9) | 0x43
+ .set EC_WORD_ANYWHERE, (EC_GROUP_ENDINGS << 9) | 0x44
+
+; Feelings
+ .set EC_WORD_MEET, (EC_GROUP_FEELINGS << 9) | 0x0
+ .set EC_WORD_PLAY, (EC_GROUP_FEELINGS << 9) | 0x1
+ .set EC_WORD_HURRIED, (EC_GROUP_FEELINGS << 9) | 0x2
+ .set EC_WORD_GOES, (EC_GROUP_FEELINGS << 9) | 0x3
+ .set EC_WORD_GIDDY, (EC_GROUP_FEELINGS << 9) | 0x4
+ .set EC_WORD_HAPPY, (EC_GROUP_FEELINGS << 9) | 0x5
+ .set EC_WORD_HAPPINESS, (EC_GROUP_FEELINGS << 9) | 0x6
+ .set EC_WORD_EXCITE, (EC_GROUP_FEELINGS << 9) | 0x7
+ .set EC_WORD_IMPORTANT, (EC_GROUP_FEELINGS << 9) | 0x8
+ .set EC_WORD_FUNNY, (EC_GROUP_FEELINGS << 9) | 0x9
+ .set EC_WORD_GOT, (EC_GROUP_FEELINGS << 9) | 0xa
+ .set EC_WORD_GO_HOME, (EC_GROUP_FEELINGS << 9) | 0xb
+ .set EC_WORD_DISAPPOINTED, (EC_GROUP_FEELINGS << 9) | 0xc
+ .set EC_WORD_DISAPPOINTS, (EC_GROUP_FEELINGS << 9) | 0xd
+ .set EC_WORD_SAD, (EC_GROUP_FEELINGS << 9) | 0xe
+ .set EC_WORD_TRY, (EC_GROUP_FEELINGS << 9) | 0xf
+ .set EC_WORD_TRIES, (EC_GROUP_FEELINGS << 9) | 0x10
+ .set EC_WORD_HEARS, (EC_GROUP_FEELINGS << 9) | 0x11
+ .set EC_WORD_THINK, (EC_GROUP_FEELINGS << 9) | 0x12
+ .set EC_WORD_HEAR, (EC_GROUP_FEELINGS << 9) | 0x13
+ .set EC_WORD_WANTS, (EC_GROUP_FEELINGS << 9) | 0x14
+ .set EC_WORD_MISHEARD, (EC_GROUP_FEELINGS << 9) | 0x15
+ .set EC_WORD_DISLIKE, (EC_GROUP_FEELINGS << 9) | 0x16
+ .set EC_WORD_ANGRY, (EC_GROUP_FEELINGS << 9) | 0x17
+ .set EC_WORD_ANGER, (EC_GROUP_FEELINGS << 9) | 0x18
+ .set EC_WORD_SCARY, (EC_GROUP_FEELINGS << 9) | 0x19
+ .set EC_WORD_LONESOME, (EC_GROUP_FEELINGS << 9) | 0x1a
+ .set EC_WORD_DISAPPOINT, (EC_GROUP_FEELINGS << 9) | 0x1b
+ .set EC_WORD_JOY, (EC_GROUP_FEELINGS << 9) | 0x1c
+ .set EC_WORD_GETS, (EC_GROUP_FEELINGS << 9) | 0x1d
+ .set EC_WORD_NEVER, (EC_GROUP_FEELINGS << 9) | 0x1e
+ .set EC_WORD_DARN, (EC_GROUP_FEELINGS << 9) | 0x1f
+ .set EC_WORD_DOWNCAST, (EC_GROUP_FEELINGS << 9) | 0x20
+ .set EC_WORD_INCREDIBLE, (EC_GROUP_FEELINGS << 9) | 0x21
+ .set EC_WORD_LIKES, (EC_GROUP_FEELINGS << 9) | 0x22
+ .set EC_WORD_DISLIKES, (EC_GROUP_FEELINGS << 9) | 0x23
+ .set EC_WORD_BORING, (EC_GROUP_FEELINGS << 9) | 0x24
+ .set EC_WORD_CARE, (EC_GROUP_FEELINGS << 9) | 0x25
+ .set EC_WORD_CARES, (EC_GROUP_FEELINGS << 9) | 0x26
+ .set EC_WORD_ALL_RIGHT, (EC_GROUP_FEELINGS << 9) | 0x27
+ .set EC_WORD_ADORE, (EC_GROUP_FEELINGS << 9) | 0x28
+ .set EC_WORD_DISASTER, (EC_GROUP_FEELINGS << 9) | 0x29
+ .set EC_WORD_ENJOY, (EC_GROUP_FEELINGS << 9) | 0x2a
+ .set EC_WORD_ENJOYS, (EC_GROUP_FEELINGS << 9) | 0x2b
+ .set EC_WORD_EAT, (EC_GROUP_FEELINGS << 9) | 0x2c
+ .set EC_WORD_LACKING, (EC_GROUP_FEELINGS << 9) | 0x2d
+ .set EC_WORD_BAD, (EC_GROUP_FEELINGS << 9) | 0x2e
+ .set EC_WORD_HARD, (EC_GROUP_FEELINGS << 9) | 0x2f
+ .set EC_WORD_TERRIBLE, (EC_GROUP_FEELINGS << 9) | 0x30
+ .set EC_WORD_SHOULD, (EC_GROUP_FEELINGS << 9) | 0x31
+ .set EC_WORD_NICE, (EC_GROUP_FEELINGS << 9) | 0x32
+ .set EC_WORD_DRINK, (EC_GROUP_FEELINGS << 9) | 0x33
+ .set EC_WORD_SURPRISE, (EC_GROUP_FEELINGS << 9) | 0x34
+ .set EC_WORD_FEAR, (EC_GROUP_FEELINGS << 9) | 0x35
+ .set EC_WORD_WANT, (EC_GROUP_FEELINGS << 9) | 0x36
+ .set EC_WORD_WAIT, (EC_GROUP_FEELINGS << 9) | 0x37
+ .set EC_WORD_SATISFIED, (EC_GROUP_FEELINGS << 9) | 0x38
+ .set EC_WORD_SEE, (EC_GROUP_FEELINGS << 9) | 0x39
+ .set EC_WORD_RARE, (EC_GROUP_FEELINGS << 9) | 0x3a
+ .set EC_WORD_NEGATIVE, (EC_GROUP_FEELINGS << 9) | 0x3b
+ .set EC_WORD_DONE, (EC_GROUP_FEELINGS << 9) | 0x3c
+ .set EC_WORD_DANGER, (EC_GROUP_FEELINGS << 9) | 0x3d
+ .set EC_WORD_DEFEATED, (EC_GROUP_FEELINGS << 9) | 0x3e
+ .set EC_WORD_BEAT, (EC_GROUP_FEELINGS << 9) | 0x3f
+ .set EC_WORD_GREAT, (EC_GROUP_FEELINGS << 9) | 0x40
+ .set EC_WORD_ROMANTIC, (EC_GROUP_FEELINGS << 9) | 0x41
+ .set EC_WORD_QUESTION, (EC_GROUP_FEELINGS << 9) | 0x42
+ .set EC_WORD_UNDERSTAND, (EC_GROUP_FEELINGS << 9) | 0x43
+ .set EC_WORD_UNDERSTANDS, (EC_GROUP_FEELINGS << 9) | 0x44
+
+; Conditions
+ .set EC_WORD_HOT, (EC_GROUP_CONDITIONS << 9) | 0x0
+ .set EC_WORD_EXISTS, (EC_GROUP_CONDITIONS << 9) | 0x1
+ .set EC_WORD_EXCESS, (EC_GROUP_CONDITIONS << 9) | 0x2
+ .set EC_WORD_APPROVED, (EC_GROUP_CONDITIONS << 9) | 0x3
+ .set EC_WORD_HAS, (EC_GROUP_CONDITIONS << 9) | 0x4
+ .set EC_WORD_GOOD, (EC_GROUP_CONDITIONS << 9) | 0x5
+ .set EC_WORD_LESS, (EC_GROUP_CONDITIONS << 9) | 0x6
+ .set EC_WORD_MOMENTUM, (EC_GROUP_CONDITIONS << 9) | 0x7
+ .set EC_WORD_GOING, (EC_GROUP_CONDITIONS << 9) | 0x8
+ .set EC_WORD_WEIRD, (EC_GROUP_CONDITIONS << 9) | 0x9
+ .set EC_WORD_BUSY, (EC_GROUP_CONDITIONS << 9) | 0xa
+ .set EC_WORD_TOGETHER, (EC_GROUP_CONDITIONS << 9) | 0xb
+ .set EC_WORD_FULL, (EC_GROUP_CONDITIONS << 9) | 0xc
+ .set EC_WORD_ABSENT, (EC_GROUP_CONDITIONS << 9) | 0xd
+ .set EC_WORD_BEING, (EC_GROUP_CONDITIONS << 9) | 0xe
+ .set EC_WORD_NEED, (EC_GROUP_CONDITIONS << 9) | 0xf
+ .set EC_WORD_TASTY, (EC_GROUP_CONDITIONS << 9) | 0x10
+ .set EC_WORD_SKILLED, (EC_GROUP_CONDITIONS << 9) | 0x11
+ .set EC_WORD_NOISY, (EC_GROUP_CONDITIONS << 9) | 0x12
+ .set EC_WORD_BIG, (EC_GROUP_CONDITIONS << 9) | 0x13
+ .set EC_WORD_LATE, (EC_GROUP_CONDITIONS << 9) | 0x14
+ .set EC_WORD_CLOSE, (EC_GROUP_CONDITIONS << 9) | 0x15
+ .set EC_WORD_DOCILE, (EC_GROUP_CONDITIONS << 9) | 0x16
+ .set EC_WORD_AMUSING, (EC_GROUP_CONDITIONS << 9) | 0x17
+ .set EC_WORD_ENTERTAINING, (EC_GROUP_CONDITIONS << 9) | 0x18
+ .set EC_WORD_PERFECTION, (EC_GROUP_CONDITIONS << 9) | 0x19
+ .set EC_WORD_PRETTY, (EC_GROUP_CONDITIONS << 9) | 0x1a
+ .set EC_WORD_HEALTHY, (EC_GROUP_CONDITIONS << 9) | 0x1b
+ .set EC_WORD_EXCELLENT, (EC_GROUP_CONDITIONS << 9) | 0x1c
+ .set EC_WORD_UPSIDE_DOWN, (EC_GROUP_CONDITIONS << 9) | 0x1d
+ .set EC_WORD_COLD, (EC_GROUP_CONDITIONS << 9) | 0x1e
+ .set EC_WORD_REFRESHING, (EC_GROUP_CONDITIONS << 9) | 0x1f
+ .set EC_WORD_UNAVOIDABLE, (EC_GROUP_CONDITIONS << 9) | 0x20
+ .set EC_WORD_MUCH, (EC_GROUP_CONDITIONS << 9) | 0x21
+ .set EC_WORD_OVERWHELMING, (EC_GROUP_CONDITIONS << 9) | 0x22
+ .set EC_WORD_FABULOUS, (EC_GROUP_CONDITIONS << 9) | 0x23
+ .set EC_WORD_ELSE, (EC_GROUP_CONDITIONS << 9) | 0x24
+ .set EC_WORD_EXPENSIVE, (EC_GROUP_CONDITIONS << 9) | 0x25
+ .set EC_WORD_CORRECT, (EC_GROUP_CONDITIONS << 9) | 0x26
+ .set EC_WORD_IMPOSSIBLE, (EC_GROUP_CONDITIONS << 9) | 0x27
+ .set EC_WORD_SMALL, (EC_GROUP_CONDITIONS << 9) | 0x28
+ .set EC_WORD_DIFFERENT, (EC_GROUP_CONDITIONS << 9) | 0x29
+ .set EC_WORD_TIRED, (EC_GROUP_CONDITIONS << 9) | 0x2a
+ .set EC_WORD_SKILL, (EC_GROUP_CONDITIONS << 9) | 0x2b
+ .set EC_WORD_TOP, (EC_GROUP_CONDITIONS << 9) | 0x2c
+ .set EC_WORD_NON_STOP, (EC_GROUP_CONDITIONS << 9) | 0x2d
+ .set EC_WORD_PREPOSTEROUS, (EC_GROUP_CONDITIONS << 9) | 0x2e
+ .set EC_WORD_NONE, (EC_GROUP_CONDITIONS << 9) | 0x2f
+ .set EC_WORD_NOTHING, (EC_GROUP_CONDITIONS << 9) | 0x30
+ .set EC_WORD_NATURAL, (EC_GROUP_CONDITIONS << 9) | 0x31
+ .set EC_WORD_BECOMES, (EC_GROUP_CONDITIONS << 9) | 0x32
+ .set EC_WORD_LUKEWARM, (EC_GROUP_CONDITIONS << 9) | 0x33
+ .set EC_WORD_FAST, (EC_GROUP_CONDITIONS << 9) | 0x34
+ .set EC_WORD_LOW, (EC_GROUP_CONDITIONS << 9) | 0x35
+ .set EC_WORD_AWFUL, (EC_GROUP_CONDITIONS << 9) | 0x36
+ .set EC_WORD_ALONE, (EC_GROUP_CONDITIONS << 9) | 0x37
+ .set EC_WORD_BORED, (EC_GROUP_CONDITIONS << 9) | 0x38
+ .set EC_WORD_SECRET, (EC_GROUP_CONDITIONS << 9) | 0x39
+ .set EC_WORD_MYSTERY, (EC_GROUP_CONDITIONS << 9) | 0x3a
+ .set EC_WORD_LACKS, (EC_GROUP_CONDITIONS << 9) | 0x3b
+ .set EC_WORD_BEST, (EC_GROUP_CONDITIONS << 9) | 0x3c
+ .set EC_WORD_LOUSY, (EC_GROUP_CONDITIONS << 9) | 0x3d
+ .set EC_WORD_MISTAKE, (EC_GROUP_CONDITIONS << 9) | 0x3e
+ .set EC_WORD_KIND, (EC_GROUP_CONDITIONS << 9) | 0x3f
+ .set EC_WORD_WELL, (EC_GROUP_CONDITIONS << 9) | 0x40
+ .set EC_WORD_WEAKENED, (EC_GROUP_CONDITIONS << 9) | 0x41
+ .set EC_WORD_SIMPLE, (EC_GROUP_CONDITIONS << 9) | 0x42
+ .set EC_WORD_SEEMS, (EC_GROUP_CONDITIONS << 9) | 0x43
+ .set EC_WORD_BADLY, (EC_GROUP_CONDITIONS << 9) | 0x44
+
+; Actions
+ .set EC_WORD_MEETS, (EC_GROUP_ACTIONS << 9) | 0x0
+ .set EC_WORD_CONCEDE, (EC_GROUP_ACTIONS << 9) | 0x1
+ .set EC_WORD_GIVE, (EC_GROUP_ACTIONS << 9) | 0x2
+ .set EC_WORD_GIVES, (EC_GROUP_ACTIONS << 9) | 0x3
+ .set EC_WORD_PLAYED, (EC_GROUP_ACTIONS << 9) | 0x4
+ .set EC_WORD_PLAYS, (EC_GROUP_ACTIONS << 9) | 0x5
+ .set EC_WORD_COLLECT, (EC_GROUP_ACTIONS << 9) | 0x6
+ .set EC_WORD_WALKING, (EC_GROUP_ACTIONS << 9) | 0x7
+ .set EC_WORD_WALKS, (EC_GROUP_ACTIONS << 9) | 0x8
+ .set EC_WORD_SAYS, (EC_GROUP_ACTIONS << 9) | 0x9
+ .set EC_WORD_WENT, (EC_GROUP_ACTIONS << 9) | 0xa
+ .set EC_WORD_SAID, (EC_GROUP_ACTIONS << 9) | 0xb
+ .set EC_WORD_WAKE_UP, (EC_GROUP_ACTIONS << 9) | 0xc
+ .set EC_WORD_WAKES_UP, (EC_GROUP_ACTIONS << 9) | 0xd
+ .set EC_WORD_ANGERS, (EC_GROUP_ACTIONS << 9) | 0xe
+ .set EC_WORD_TEACH, (EC_GROUP_ACTIONS << 9) | 0xf
+ .set EC_WORD_TEACHES, (EC_GROUP_ACTIONS << 9) | 0x10
+ .set EC_WORD_PLEASE, (EC_GROUP_ACTIONS << 9) | 0x11
+ .set EC_WORD_LEARN, (EC_GROUP_ACTIONS << 9) | 0x12
+ .set EC_WORD_CHANGE, (EC_GROUP_ACTIONS << 9) | 0x13
+ .set EC_WORD_STORY, (EC_GROUP_ACTIONS << 9) | 0x14
+ .set EC_WORD_TRUST, (EC_GROUP_ACTIONS << 9) | 0x15
+ .set EC_WORD_LAVISH, (EC_GROUP_ACTIONS << 9) | 0x16
+ .set EC_WORD_LISTENS, (EC_GROUP_ACTIONS << 9) | 0x17
+ .set EC_WORD_HEARING, (EC_GROUP_ACTIONS << 9) | 0x18
+ .set EC_WORD_TRAINS, (EC_GROUP_ACTIONS << 9) | 0x19
+ .set EC_WORD_CHOOSE, (EC_GROUP_ACTIONS << 9) | 0x1a
+ .set EC_WORD_COME, (EC_GROUP_ACTIONS << 9) | 0x1b
+ .set EC_WORD_CAME, (EC_GROUP_ACTIONS << 9) | 0x1c
+ .set EC_WORD_SEARCH, (EC_GROUP_ACTIONS << 9) | 0x1d
+ .set EC_WORD_MAKE, (EC_GROUP_ACTIONS << 9) | 0x1e
+ .set EC_WORD_CAUSE, (EC_GROUP_ACTIONS << 9) | 0x1f
+ .set EC_WORD_KNOW, (EC_GROUP_ACTIONS << 9) | 0x20
+ .set EC_WORD_KNOWS, (EC_GROUP_ACTIONS << 9) | 0x21
+ .set EC_WORD_REFUSE, (EC_GROUP_ACTIONS << 9) | 0x22
+ .set EC_WORD_STORES, (EC_GROUP_ACTIONS << 9) | 0x23
+ .set EC_WORD_BRAG, (EC_GROUP_ACTIONS << 9) | 0x24
+ .set EC_WORD_IGNORANT, (EC_GROUP_ACTIONS << 9) | 0x25
+ .set EC_WORD_THINKS, (EC_GROUP_ACTIONS << 9) | 0x26
+ .set EC_WORD_BELIEVE, (EC_GROUP_ACTIONS << 9) | 0x27
+ .set EC_WORD_SLIDE, (EC_GROUP_ACTIONS << 9) | 0x28
+ .set EC_WORD_EATS, (EC_GROUP_ACTIONS << 9) | 0x29
+ .set EC_WORD_USE, (EC_GROUP_ACTIONS << 9) | 0x2a
+ .set EC_WORD_USES, (EC_GROUP_ACTIONS << 9) | 0x2b
+ .set EC_WORD_USING, (EC_GROUP_ACTIONS << 9) | 0x2c
+ .set EC_WORD_COULDN_T, (EC_GROUP_ACTIONS << 9) | 0x2d
+ .set EC_WORD_CAPABLE, (EC_GROUP_ACTIONS << 9) | 0x2e
+ .set EC_WORD_DISAPPEAR, (EC_GROUP_ACTIONS << 9) | 0x2f
+ .set EC_WORD_APPEAR, (EC_GROUP_ACTIONS << 9) | 0x30
+ .set EC_WORD_THROW, (EC_GROUP_ACTIONS << 9) | 0x31
+ .set EC_WORD_WORRY, (EC_GROUP_ACTIONS << 9) | 0x32
+ .set EC_WORD_SLEPT, (EC_GROUP_ACTIONS << 9) | 0x33
+ .set EC_WORD_SLEEP, (EC_GROUP_ACTIONS << 9) | 0x34
+ .set EC_WORD_RELEASE, (EC_GROUP_ACTIONS << 9) | 0x35
+ .set EC_WORD_DRINKS, (EC_GROUP_ACTIONS << 9) | 0x36
+ .set EC_WORD_RUNS, (EC_GROUP_ACTIONS << 9) | 0x37
+ .set EC_WORD_RUN, (EC_GROUP_ACTIONS << 9) | 0x38
+ .set EC_WORD_WORKS, (EC_GROUP_ACTIONS << 9) | 0x39
+ .set EC_WORD_WORKING, (EC_GROUP_ACTIONS << 9) | 0x3a
+ .set EC_WORD_TALKING, (EC_GROUP_ACTIONS << 9) | 0x3b
+ .set EC_WORD_TALK, (EC_GROUP_ACTIONS << 9) | 0x3c
+ .set EC_WORD_SINK, (EC_GROUP_ACTIONS << 9) | 0x3d
+ .set EC_WORD_SMACK, (EC_GROUP_ACTIONS << 9) | 0x3e
+ .set EC_WORD_PRETEND, (EC_GROUP_ACTIONS << 9) | 0x3f
+ .set EC_WORD_PRAISE, (EC_GROUP_ACTIONS << 9) | 0x40
+ .set EC_WORD_OVERDO, (EC_GROUP_ACTIONS << 9) | 0x41
+ .set EC_WORD_SHOW, (EC_GROUP_ACTIONS << 9) | 0x42
+ .set EC_WORD_LOOKS, (EC_GROUP_ACTIONS << 9) | 0x43
+ .set EC_WORD_SEES, (EC_GROUP_ACTIONS << 9) | 0x44
+ .set EC_WORD_SEEK, (EC_GROUP_ACTIONS << 9) | 0x45
+ .set EC_WORD_OWN, (EC_GROUP_ACTIONS << 9) | 0x46
+ .set EC_WORD_TAKE, (EC_GROUP_ACTIONS << 9) | 0x47
+ .set EC_WORD_ALLOW, (EC_GROUP_ACTIONS << 9) | 0x48
+ .set EC_WORD_FORGET, (EC_GROUP_ACTIONS << 9) | 0x49
+ .set EC_WORD_FORGETS, (EC_GROUP_ACTIONS << 9) | 0x4a
+ .set EC_WORD_APPEARS, (EC_GROUP_ACTIONS << 9) | 0x4b
+ .set EC_WORD_FAINT, (EC_GROUP_ACTIONS << 9) | 0x4c
+ .set EC_WORD_FAINTED, (EC_GROUP_ACTIONS << 9) | 0x4d
+
+; Lifestyle
+ .set EC_WORD_CHORES, (EC_GROUP_LIFESTYLE << 9) | 0x0
+ .set EC_WORD_HOME, (EC_GROUP_LIFESTYLE << 9) | 0x1
+ .set EC_WORD_MONEY, (EC_GROUP_LIFESTYLE << 9) | 0x2
+ .set EC_WORD_ALLOWANCE, (EC_GROUP_LIFESTYLE << 9) | 0x3
+ .set EC_WORD_BATH, (EC_GROUP_LIFESTYLE << 9) | 0x4
+ .set EC_WORD_CONVERSATION, (EC_GROUP_LIFESTYLE << 9) | 0x5
+ .set EC_WORD_SCHOOL, (EC_GROUP_LIFESTYLE << 9) | 0x6
+ .set EC_WORD_COMMEMORATE, (EC_GROUP_LIFESTYLE << 9) | 0x7
+ .set EC_WORD_HABIT, (EC_GROUP_LIFESTYLE << 9) | 0x8
+ .set EC_WORD_GROUP, (EC_GROUP_LIFESTYLE << 9) | 0x9
+ .set EC_WORD_WORD, (EC_GROUP_LIFESTYLE << 9) | 0xa
+ .set EC_WORD_STORE, (EC_GROUP_LIFESTYLE << 9) | 0xb
+ .set EC_WORD_SERVICE, (EC_GROUP_LIFESTYLE << 9) | 0xc
+ .set EC_WORD_WORK, (EC_GROUP_LIFESTYLE << 9) | 0xd
+ .set EC_WORD_SYSTEM, (EC_GROUP_LIFESTYLE << 9) | 0xe
+ .set EC_WORD_TRAIN, (EC_GROUP_LIFESTYLE << 9) | 0xf
+ .set EC_WORD_CLASS, (EC_GROUP_LIFESTYLE << 9) | 0x10
+ .set EC_WORD_LESSONS, (EC_GROUP_LIFESTYLE << 9) | 0x11
+ .set EC_WORD_INFORMATION, (EC_GROUP_LIFESTYLE << 9) | 0x12
+ .set EC_WORD_LIVING, (EC_GROUP_LIFESTYLE << 9) | 0x13
+ .set EC_WORD_TEACHER, (EC_GROUP_LIFESTYLE << 9) | 0x14
+ .set EC_WORD_TOURNAMENT, (EC_GROUP_LIFESTYLE << 9) | 0x15
+ .set EC_WORD_LETTER, (EC_GROUP_LIFESTYLE << 9) | 0x16
+ .set EC_WORD_EVENT, (EC_GROUP_LIFESTYLE << 9) | 0x17
+ .set EC_WORD_DIGITAL, (EC_GROUP_LIFESTYLE << 9) | 0x18
+ .set EC_WORD_TEST, (EC_GROUP_LIFESTYLE << 9) | 0x19
+ .set EC_WORD_DEPT_STORE, (EC_GROUP_LIFESTYLE << 9) | 0x1a
+ .set EC_WORD_TELEVISION, (EC_GROUP_LIFESTYLE << 9) | 0x1b
+ .set EC_WORD_PHONE, (EC_GROUP_LIFESTYLE << 9) | 0x1c
+ .set EC_WORD_ITEM, (EC_GROUP_LIFESTYLE << 9) | 0x1d
+ .set EC_WORD_NAME, (EC_GROUP_LIFESTYLE << 9) | 0x1e
+ .set EC_WORD_NEWS, (EC_GROUP_LIFESTYLE << 9) | 0x1f
+ .set EC_WORD_POPULAR, (EC_GROUP_LIFESTYLE << 9) | 0x20
+ .set EC_WORD_PARTY, (EC_GROUP_LIFESTYLE << 9) | 0x21
+ .set EC_WORD_STUDY, (EC_GROUP_LIFESTYLE << 9) | 0x22
+ .set EC_WORD_MACHINE, (EC_GROUP_LIFESTYLE << 9) | 0x23
+ .set EC_WORD_MAIL, (EC_GROUP_LIFESTYLE << 9) | 0x24
+ .set EC_WORD_MESSAGE, (EC_GROUP_LIFESTYLE << 9) | 0x25
+ .set EC_WORD_PROMISE, (EC_GROUP_LIFESTYLE << 9) | 0x26
+ .set EC_WORD_DREAM, (EC_GROUP_LIFESTYLE << 9) | 0x27
+ .set EC_WORD_KINDERGARTEN, (EC_GROUP_LIFESTYLE << 9) | 0x28
+ .set EC_WORD_LIFE, (EC_GROUP_LIFESTYLE << 9) | 0x29
+ .set EC_WORD_RADIO, (EC_GROUP_LIFESTYLE << 9) | 0x2a
+ .set EC_WORD_RENTAL, (EC_GROUP_LIFESTYLE << 9) | 0x2b
+ .set EC_WORD_WORLD, (EC_GROUP_LIFESTYLE << 9) | 0x2c
+
+; Hobbies
+ .set EC_WORD_IDOL, (EC_GROUP_HOBBIES << 9) | 0x0
+ .set EC_WORD_ANIME, (EC_GROUP_HOBBIES << 9) | 0x1
+ .set EC_WORD_SONG, (EC_GROUP_HOBBIES << 9) | 0x2
+ .set EC_WORD_MOVIE, (EC_GROUP_HOBBIES << 9) | 0x3
+ .set EC_WORD_SWEETS, (EC_GROUP_HOBBIES << 9) | 0x4
+ .set EC_WORD_CHAT, (EC_GROUP_HOBBIES << 9) | 0x5
+ .set EC_WORD_CHILD_S_PLAY, (EC_GROUP_HOBBIES << 9) | 0x6
+ .set EC_WORD_TOYS, (EC_GROUP_HOBBIES << 9) | 0x7
+ .set EC_WORD_MUSIC, (EC_GROUP_HOBBIES << 9) | 0x8
+ .set EC_WORD_CARDS, (EC_GROUP_HOBBIES << 9) | 0x9
+ .set EC_WORD_SHOPPING, (EC_GROUP_HOBBIES << 9) | 0xa
+ .set EC_WORD_CAMERA, (EC_GROUP_HOBBIES << 9) | 0xb
+ .set EC_WORD_VIEWING, (EC_GROUP_HOBBIES << 9) | 0xc
+ .set EC_WORD_SPECTATOR, (EC_GROUP_HOBBIES << 9) | 0xd
+ .set EC_WORD_GOURMET, (EC_GROUP_HOBBIES << 9) | 0xe
+ .set EC_WORD_GAME, (EC_GROUP_HOBBIES << 9) | 0xf
+ .set EC_WORD_RPG, (EC_GROUP_HOBBIES << 9) | 0x10
+ .set EC_WORD_COLLECTION, (EC_GROUP_HOBBIES << 9) | 0x11
+ .set EC_WORD_COMPLETE, (EC_GROUP_HOBBIES << 9) | 0x12
+ .set EC_WORD_MAGAZINE, (EC_GROUP_HOBBIES << 9) | 0x13
+ .set EC_WORD_WALK, (EC_GROUP_HOBBIES << 9) | 0x14
+ .set EC_WORD_BIKE, (EC_GROUP_HOBBIES << 9) | 0x15
+ .set EC_WORD_HOBBY, (EC_GROUP_HOBBIES << 9) | 0x16
+ .set EC_WORD_SPORTS, (EC_GROUP_HOBBIES << 9) | 0x17
+ .set EC_WORD_SOFTWARE, (EC_GROUP_HOBBIES << 9) | 0x18
+ .set EC_WORD_SONGS, (EC_GROUP_HOBBIES << 9) | 0x19
+ .set EC_WORD_DIET, (EC_GROUP_HOBBIES << 9) | 0x1a
+ .set EC_WORD_TREASURE, (EC_GROUP_HOBBIES << 9) | 0x1b
+ .set EC_WORD_TRAVEL, (EC_GROUP_HOBBIES << 9) | 0x1c
+ .set EC_WORD_DANCE, (EC_GROUP_HOBBIES << 9) | 0x1d
+ .set EC_WORD_CHANNEL, (EC_GROUP_HOBBIES << 9) | 0x1e
+ .set EC_WORD_MAKING, (EC_GROUP_HOBBIES << 9) | 0x1f
+ .set EC_WORD_FISHING, (EC_GROUP_HOBBIES << 9) | 0x20
+ .set EC_WORD_DATE, (EC_GROUP_HOBBIES << 9) | 0x21
+ .set EC_WORD_DESIGN, (EC_GROUP_HOBBIES << 9) | 0x22
+ .set EC_WORD_LOCOMOTIVE, (EC_GROUP_HOBBIES << 9) | 0x23
+ .set EC_WORD_PLUSH_DOLL, (EC_GROUP_HOBBIES << 9) | 0x24
+ .set EC_WORD_PC, (EC_GROUP_HOBBIES << 9) | 0x25
+ .set EC_WORD_FLOWERS, (EC_GROUP_HOBBIES << 9) | 0x26
+ .set EC_WORD_HERO, (EC_GROUP_HOBBIES << 9) | 0x27
+ .set EC_WORD_NAP, (EC_GROUP_HOBBIES << 9) | 0x28
+ .set EC_WORD_HEROINE, (EC_GROUP_HOBBIES << 9) | 0x29
+ .set EC_WORD_FASHION, (EC_GROUP_HOBBIES << 9) | 0x2a
+ .set EC_WORD_ADVENTURE, (EC_GROUP_HOBBIES << 9) | 0x2b
+ .set EC_WORD_BOARD, (EC_GROUP_HOBBIES << 9) | 0x2c
+ .set EC_WORD_BALL, (EC_GROUP_HOBBIES << 9) | 0x2d
+ .set EC_WORD_BOOK, (EC_GROUP_HOBBIES << 9) | 0x2e
+ .set EC_WORD_FESTIVAL, (EC_GROUP_HOBBIES << 9) | 0x2f
+ .set EC_WORD_COMICS, (EC_GROUP_HOBBIES << 9) | 0x30
+ .set EC_WORD_HOLIDAY, (EC_GROUP_HOBBIES << 9) | 0x31
+ .set EC_WORD_PLANS, (EC_GROUP_HOBBIES << 9) | 0x32
+ .set EC_WORD_TRENDY, (EC_GROUP_HOBBIES << 9) | 0x33
+ .set EC_WORD_VACATION, (EC_GROUP_HOBBIES << 9) | 0x34
+ .set EC_WORD_LOOK, (EC_GROUP_HOBBIES << 9) | 0x35
+
+; Time
+ .set EC_WORD_FALL, (EC_GROUP_TIME << 9) | 0x0
+ .set EC_WORD_MORNING, (EC_GROUP_TIME << 9) | 0x1
+ .set EC_WORD_TOMORROW, (EC_GROUP_TIME << 9) | 0x2
+ .set EC_WORD_LAST, (EC_GROUP_TIME << 9) | 0x3
+ .set EC_WORD_DAY, (EC_GROUP_TIME << 9) | 0x4
+ .set EC_WORD_SOMETIME, (EC_GROUP_TIME << 9) | 0x5
+ .set EC_WORD_ALWAYS, (EC_GROUP_TIME << 9) | 0x6
+ .set EC_WORD_CURRENT, (EC_GROUP_TIME << 9) | 0x7
+ .set EC_WORD_FOREVER, (EC_GROUP_TIME << 9) | 0x8
+ .set EC_WORD_DAYS, (EC_GROUP_TIME << 9) | 0x9
+ .set EC_WORD_END, (EC_GROUP_TIME << 9) | 0xa
+ .set EC_WORD_TUESDAY, (EC_GROUP_TIME << 9) | 0xb
+ .set EC_WORD_YESTERDAY, (EC_GROUP_TIME << 9) | 0xc
+ .set EC_WORD_TODAY, (EC_GROUP_TIME << 9) | 0xd
+ .set EC_WORD_FRIDAY, (EC_GROUP_TIME << 9) | 0xe
+ .set EC_WORD_MONDAY, (EC_GROUP_TIME << 9) | 0xf
+ .set EC_WORD_LATER, (EC_GROUP_TIME << 9) | 0x10
+ .set EC_WORD_EARLIER, (EC_GROUP_TIME << 9) | 0x11
+ .set EC_WORD_ANOTHER, (EC_GROUP_TIME << 9) | 0x12
+ .set EC_WORD_TIME, (EC_GROUP_TIME << 9) | 0x13
+ .set EC_WORD_FINISH, (EC_GROUP_TIME << 9) | 0x14
+ .set EC_WORD_WEDNESDAY, (EC_GROUP_TIME << 9) | 0x15
+ .set EC_WORD_SOON, (EC_GROUP_TIME << 9) | 0x16
+ .set EC_WORD_START, (EC_GROUP_TIME << 9) | 0x17
+ .set EC_WORD_MONTH, (EC_GROUP_TIME << 9) | 0x18
+ .set EC_WORD_STOP, (EC_GROUP_TIME << 9) | 0x19
+ .set EC_WORD_NOW, (EC_GROUP_TIME << 9) | 0x1a
+ .set EC_WORD_FINAL, (EC_GROUP_TIME << 9) | 0x1b
+ .set EC_WORD_NEXT, (EC_GROUP_TIME << 9) | 0x1c
+ .set EC_WORD_AGE, (EC_GROUP_TIME << 9) | 0x1d
+ .set EC_WORD_SATURDAY, (EC_GROUP_TIME << 9) | 0x1e
+ .set EC_WORD_SUMMER, (EC_GROUP_TIME << 9) | 0x1f
+ .set EC_WORD_SUNDAY, (EC_GROUP_TIME << 9) | 0x20
+ .set EC_WORD_BEGINNING, (EC_GROUP_TIME << 9) | 0x21
+ .set EC_WORD_SPRING, (EC_GROUP_TIME << 9) | 0x22
+ .set EC_WORD_DAYTIME, (EC_GROUP_TIME << 9) | 0x23
+ .set EC_WORD_WINTER, (EC_GROUP_TIME << 9) | 0x24
+ .set EC_WORD_DAILY, (EC_GROUP_TIME << 9) | 0x25
+ .set EC_WORD_OLDEN, (EC_GROUP_TIME << 9) | 0x26
+ .set EC_WORD_ALMOST, (EC_GROUP_TIME << 9) | 0x27
+ .set EC_WORD_NEARLY, (EC_GROUP_TIME << 9) | 0x28
+ .set EC_WORD_THURSDAY, (EC_GROUP_TIME << 9) | 0x29
+ .set EC_WORD_NIGHTTIME, (EC_GROUP_TIME << 9) | 0x2a
+ .set EC_WORD_NIGHT, (EC_GROUP_TIME << 9) | 0x2b
+ .set EC_WORD_WEEK, (EC_GROUP_TIME << 9) | 0x2c
+
+; Misc.
+ .set EC_WORD_HIGHS, (EC_GROUP_MISC << 9) | 0x0
+ .set EC_WORD_LOWS, (EC_GROUP_MISC << 9) | 0x1
+ .set EC_WORD_UM, (EC_GROUP_MISC << 9) | 0x2
+ .set EC_WORD_REAR, (EC_GROUP_MISC << 9) | 0x3
+ .set EC_WORD_THINGS, (EC_GROUP_MISC << 9) | 0x4
+ .set EC_WORD_THING, (EC_GROUP_MISC << 9) | 0x5
+ .set EC_WORD_BELOW, (EC_GROUP_MISC << 9) | 0x6
+ .set EC_WORD_ABOVE, (EC_GROUP_MISC << 9) | 0x7
+ .set EC_WORD_BACK, (EC_GROUP_MISC << 9) | 0x8
+ .set EC_WORD_HIGH, (EC_GROUP_MISC << 9) | 0x9
+ .set EC_WORD_HERE, (EC_GROUP_MISC << 9) | 0xa
+ .set EC_WORD_INSIDE, (EC_GROUP_MISC << 9) | 0xb
+ .set EC_WORD_OUTSIDE, (EC_GROUP_MISC << 9) | 0xc
+ .set EC_WORD_BESIDE, (EC_GROUP_MISC << 9) | 0xd
+ .set EC_WORD_THIS_IS_IT_EXCL, (EC_GROUP_MISC << 9) | 0xe
+ .set EC_WORD_THIS, (EC_GROUP_MISC << 9) | 0xf
+ .set EC_WORD_EVERY, (EC_GROUP_MISC << 9) | 0x10
+ .set EC_WORD_THESE, (EC_GROUP_MISC << 9) | 0x11
+ .set EC_WORD_THESE_WERE, (EC_GROUP_MISC << 9) | 0x12
+ .set EC_WORD_DOWN, (EC_GROUP_MISC << 9) | 0x13
+ .set EC_WORD_THAT, (EC_GROUP_MISC << 9) | 0x14
+ .set EC_WORD_THOSE_ARE, (EC_GROUP_MISC << 9) | 0x15
+ .set EC_WORD_THOSE_WERE, (EC_GROUP_MISC << 9) | 0x16
+ .set EC_WORD_THAT_S_IT_EXCL, (EC_GROUP_MISC << 9) | 0x17
+ .set EC_WORD_AM, (EC_GROUP_MISC << 9) | 0x18
+ .set EC_WORD_THAT_WAS, (EC_GROUP_MISC << 9) | 0x19
+ .set EC_WORD_FRONT, (EC_GROUP_MISC << 9) | 0x1a
+ .set EC_WORD_UP, (EC_GROUP_MISC << 9) | 0x1b
+ .set EC_WORD_CHOICE, (EC_GROUP_MISC << 9) | 0x1c
+ .set EC_WORD_FAR, (EC_GROUP_MISC << 9) | 0x1d
+ .set EC_WORD_AWAY, (EC_GROUP_MISC << 9) | 0x1e
+ .set EC_WORD_NEAR, (EC_GROUP_MISC << 9) | 0x1f
+ .set EC_WORD_WHERE, (EC_GROUP_MISC << 9) | 0x20
+ .set EC_WORD_WHEN, (EC_GROUP_MISC << 9) | 0x21
+ .set EC_WORD_WHAT, (EC_GROUP_MISC << 9) | 0x22
+ .set EC_WORD_DEEP, (EC_GROUP_MISC << 9) | 0x23
+ .set EC_WORD_SHALLOW, (EC_GROUP_MISC << 9) | 0x24
+ .set EC_WORD_WHY, (EC_GROUP_MISC << 9) | 0x25
+ .set EC_WORD_CONFUSED, (EC_GROUP_MISC << 9) | 0x26
+ .set EC_WORD_OPPOSITE, (EC_GROUP_MISC << 9) | 0x27
+ .set EC_WORD_LEFT, (EC_GROUP_MISC << 9) | 0x28
+ .set EC_WORD_RIGHT, (EC_GROUP_MISC << 9) | 0x29
+
+; Adjectives
+ .set EC_WORD_WANDERING, (EC_GROUP_ADJECTIVES << 9) | 0x0
+ .set EC_WORD_RICKETY, (EC_GROUP_ADJECTIVES << 9) | 0x1
+ .set EC_WORD_ROCK_SOLID, (EC_GROUP_ADJECTIVES << 9) | 0x2
+ .set EC_WORD_HUNGRY, (EC_GROUP_ADJECTIVES << 9) | 0x3
+ .set EC_WORD_TIGHT, (EC_GROUP_ADJECTIVES << 9) | 0x4
+ .set EC_WORD_TICKLISH, (EC_GROUP_ADJECTIVES << 9) | 0x5
+ .set EC_WORD_TWIRLING, (EC_GROUP_ADJECTIVES << 9) | 0x6
+ .set EC_WORD_SPIRALING, (EC_GROUP_ADJECTIVES << 9) | 0x7
+ .set EC_WORD_THIRSTY, (EC_GROUP_ADJECTIVES << 9) | 0x8
+ .set EC_WORD_LOLLING, (EC_GROUP_ADJECTIVES << 9) | 0x9
+ .set EC_WORD_SILKY, (EC_GROUP_ADJECTIVES << 9) | 0xa
+ .set EC_WORD_SADLY, (EC_GROUP_ADJECTIVES << 9) | 0xb
+ .set EC_WORD_HOPELESS, (EC_GROUP_ADJECTIVES << 9) | 0xc
+ .set EC_WORD_USELESS, (EC_GROUP_ADJECTIVES << 9) | 0xd
+ .set EC_WORD_DROOLING, (EC_GROUP_ADJECTIVES << 9) | 0xe
+ .set EC_WORD_EXCITING, (EC_GROUP_ADJECTIVES << 9) | 0xf
+ .set EC_WORD_THICK, (EC_GROUP_ADJECTIVES << 9) | 0x10
+ .set EC_WORD_SMOOTH, (EC_GROUP_ADJECTIVES << 9) | 0x11
+ .set EC_WORD_SLIMY, (EC_GROUP_ADJECTIVES << 9) | 0x12
+ .set EC_WORD_THIN, (EC_GROUP_ADJECTIVES << 9) | 0x13
+ .set EC_WORD_BREAK, (EC_GROUP_ADJECTIVES << 9) | 0x14
+ .set EC_WORD_VORACIOUS, (EC_GROUP_ADJECTIVES << 9) | 0x15
+ .set EC_WORD_SCATTER, (EC_GROUP_ADJECTIVES << 9) | 0x16
+ .set EC_WORD_AWESOME, (EC_GROUP_ADJECTIVES << 9) | 0x17
+ .set EC_WORD_WIMPY, (EC_GROUP_ADJECTIVES << 9) | 0x18
+ .set EC_WORD_WOBBLY, (EC_GROUP_ADJECTIVES << 9) | 0x19
+ .set EC_WORD_SHAKY, (EC_GROUP_ADJECTIVES << 9) | 0x1a
+ .set EC_WORD_RIPPED, (EC_GROUP_ADJECTIVES << 9) | 0x1b
+ .set EC_WORD_SHREDDED, (EC_GROUP_ADJECTIVES << 9) | 0x1c
+ .set EC_WORD_INCREASING, (EC_GROUP_ADJECTIVES << 9) | 0x1d
+ .set EC_WORD_YET, (EC_GROUP_ADJECTIVES << 9) | 0x1e
+ .set EC_WORD_DESTROYED, (EC_GROUP_ADJECTIVES << 9) | 0x1f
+ .set EC_WORD_FIERY, (EC_GROUP_ADJECTIVES << 9) | 0x20
+ .set EC_WORD_LOVEY_DOVEY, (EC_GROUP_ADJECTIVES << 9) | 0x21
+ .set EC_WORD_HAPPILY, (EC_GROUP_ADJECTIVES << 9) | 0x22
+ .set EC_WORD_ANTICIPATION, (EC_GROUP_ADJECTIVES << 9) | 0x23
+
+; Events
+ .set EC_WORD_APPEAL, (EC_GROUP_EVENTS << 9) | 0x0
+ .set EC_WORD_EVENTS, (EC_GROUP_EVENTS << 9) | 0x1
+ .set EC_WORD_STAY_AT_HOME, (EC_GROUP_EVENTS << 9) | 0x2
+ .set EC_WORD_BERRY, (EC_GROUP_EVENTS << 9) | 0x3
+ .set EC_WORD_CONTEST, (EC_GROUP_EVENTS << 9) | 0x4
+ .set EC_WORD_MC, (EC_GROUP_EVENTS << 9) | 0x5
+ .set EC_WORD_JUDGE, (EC_GROUP_EVENTS << 9) | 0x6
+ .set EC_WORD_SUPER, (EC_GROUP_EVENTS << 9) | 0x7
+ .set EC_WORD_STAGE, (EC_GROUP_EVENTS << 9) | 0x8
+ .set EC_WORD_HALL_OF_FAME, (EC_GROUP_EVENTS << 9) | 0x9
+ .set EC_WORD_EVOLUTION, (EC_GROUP_EVENTS << 9) | 0xa
+ .set EC_WORD_HYPER, (EC_GROUP_EVENTS << 9) | 0xb
+ .set EC_WORD_BATTLE_TOWER, (EC_GROUP_EVENTS << 9) | 0xc
+ .set EC_WORD_LEADERS, (EC_GROUP_EVENTS << 9) | 0xd
+ .set EC_WORD_BATTLE_ROOM, (EC_GROUP_EVENTS << 9) | 0xe
+ .set EC_WORD_HIDDEN, (EC_GROUP_EVENTS << 9) | 0xf
+ .set EC_WORD_SECRET_BASE, (EC_GROUP_EVENTS << 9) | 0x10
+ .set EC_WORD_BLEND, (EC_GROUP_EVENTS << 9) | 0x11
+ .set EC_WORD_POKEBLOCK, (EC_GROUP_EVENTS << 9) | 0x12
+ .set EC_WORD_MASTER, (EC_GROUP_EVENTS << 9) | 0x13
+ .set EC_WORD_RANK, (EC_GROUP_EVENTS << 9) | 0x14
+ .set EC_WORD_RIBBON, (EC_GROUP_EVENTS << 9) | 0x15
+ .set EC_WORD_CRUSH, (EC_GROUP_EVENTS << 9) | 0x16
+ .set EC_WORD_DIRECT, (EC_GROUP_EVENTS << 9) | 0x17
+ .set EC_WORD_TOWER, (EC_GROUP_EVENTS << 9) | 0x18
+ .set EC_WORD_UNION, (EC_GROUP_EVENTS << 9) | 0x19
+ .set EC_WORD_ROOM, (EC_GROUP_EVENTS << 9) | 0x1a
+ .set EC_WORD_WIRELESS, (EC_GROUP_EVENTS << 9) | 0x1b
+ .set EC_WORD_FRONTIER, (EC_GROUP_EVENTS << 9) | 0x1c
+
+; Trendy Saying
+ .set EC_WORD_KTHX_BYE, (EC_GROUP_TRENDY_SAYING << 9) | 0x0
+ .set EC_WORD_YES_SIR_EXCL, (EC_GROUP_TRENDY_SAYING << 9) | 0x1
+ .set EC_WORD_AVANT_GARDE, (EC_GROUP_TRENDY_SAYING << 9) | 0x2
+ .set EC_WORD_COUPLE, (EC_GROUP_TRENDY_SAYING << 9) | 0x3
+ .set EC_WORD_MUCH_OBLIGED, (EC_GROUP_TRENDY_SAYING << 9) | 0x4
+ .set EC_WORD_YEEHAW_EXCL, (EC_GROUP_TRENDY_SAYING << 9) | 0x5
+ .set EC_WORD_MEGA, (EC_GROUP_TRENDY_SAYING << 9) | 0x6
+ .set EC_WORD_1_HIT_KO_EXCL, (EC_GROUP_TRENDY_SAYING << 9) | 0x7
+ .set EC_WORD_DESTINY, (EC_GROUP_TRENDY_SAYING << 9) | 0x8
+ .set EC_WORD_CANCEL, (EC_GROUP_TRENDY_SAYING << 9) | 0x9
+ .set EC_WORD_NEW, (EC_GROUP_TRENDY_SAYING << 9) | 0xa
+ .set EC_WORD_FLATTEN, (EC_GROUP_TRENDY_SAYING << 9) | 0xb
+ .set EC_WORD_KIDDING, (EC_GROUP_TRENDY_SAYING << 9) | 0xc
+ .set EC_WORD_LOSER, (EC_GROUP_TRENDY_SAYING << 9) | 0xd
+ .set EC_WORD_LOSING, (EC_GROUP_TRENDY_SAYING << 9) | 0xe
+ .set EC_WORD_HAPPENING, (EC_GROUP_TRENDY_SAYING << 9) | 0xf
+ .set EC_WORD_HIP_AND, (EC_GROUP_TRENDY_SAYING << 9) | 0x10
+ .set EC_WORD_SHAKE, (EC_GROUP_TRENDY_SAYING << 9) | 0x11
+ .set EC_WORD_SHADY, (EC_GROUP_TRENDY_SAYING << 9) | 0x12
+ .set EC_WORD_UPBEAT, (EC_GROUP_TRENDY_SAYING << 9) | 0x13
+ .set EC_WORD_MODERN, (EC_GROUP_TRENDY_SAYING << 9) | 0x14
+ .set EC_WORD_SMELL_YA, (EC_GROUP_TRENDY_SAYING << 9) | 0x15
+ .set EC_WORD_BANG, (EC_GROUP_TRENDY_SAYING << 9) | 0x16
+ .set EC_WORD_KNOCKOUT, (EC_GROUP_TRENDY_SAYING << 9) | 0x17
+ .set EC_WORD_HASSLE, (EC_GROUP_TRENDY_SAYING << 9) | 0x18
+ .set EC_WORD_WINNER, (EC_GROUP_TRENDY_SAYING << 9) | 0x19
+ .set EC_WORD_FEVER, (EC_GROUP_TRENDY_SAYING << 9) | 0x1a
+ .set EC_WORD_WANNABE, (EC_GROUP_TRENDY_SAYING << 9) | 0x1b
+ .set EC_WORD_BABY, (EC_GROUP_TRENDY_SAYING << 9) | 0x1c
+ .set EC_WORD_HEART, (EC_GROUP_TRENDY_SAYING << 9) | 0x1d
+ .set EC_WORD_OLD, (EC_GROUP_TRENDY_SAYING << 9) | 0x1e
+ .set EC_WORD_YOUNG, (EC_GROUP_TRENDY_SAYING << 9) | 0x1f
+ .set EC_WORD_UGLY, (EC_GROUP_TRENDY_SAYING << 9) | 0x20
+
diff --git a/constants/field_object_constants.s b/constants/field_object_constants.s
new file mode 100644
index 000000000..50cdbd848
--- /dev/null
+++ b/constants/field_object_constants.s
@@ -0,0 +1,251 @@
+ .set FIELD_OBJ_GFX_BRENDAN_NORMAL, 0
+ .set FIELD_OBJ_GFX_BRENDAN_MACH_BIKE, 1
+ .set FIELD_OBJ_GFX_BRENDAN_SURFING, 2
+ .set FIELD_OBJ_GFX_BRENDAN_FIELD_MOVE, 3
+ .set FIELD_OBJ_GFX_QUINTY_PLUMP, 4
+ .set FIELD_OBJ_GFX_LITTLE_BOY_1, 5
+ .set FIELD_OBJ_GFX_LITTLE_GIRL_1, 6
+ .set FIELD_OBJ_GFX_BOY_1, 7
+ .set FIELD_OBJ_GFX_GIRL_1, 8
+ .set FIELD_OBJ_GFX_BOY_2, 9
+ .set FIELD_OBJ_GFX_GIRL_2, 10
+ .set FIELD_OBJ_GFX_LITTLE_BOY_2, 11
+ .set FIELD_OBJ_GFX_LITTLE_GIRL_2, 12
+ .set FIELD_OBJ_GFX_BOY_3, 13
+ .set FIELD_OBJ_GFX_GIRL_3, 14
+ .set FIELD_OBJ_GFX_BOY_4, 15
+ .set FIELD_OBJ_GFX_WOMAN_1, 16
+ .set FIELD_OBJ_GFX_FAT_MAN, 17
+ .set FIELD_OBJ_GFX_WOMAN_2, 18
+ .set FIELD_OBJ_GFX_MAN_1, 19
+ .set FIELD_OBJ_GFX_WOMAN_3, 20
+ .set FIELD_OBJ_GFX_OLD_MAN_1, 21
+ .set FIELD_OBJ_GFX_OLD_WOMAN_1, 22
+ .set FIELD_OBJ_GFX_MAN_2, 23
+ .set FIELD_OBJ_GFX_WOMAN_4, 24
+ .set FIELD_OBJ_GFX_MAN_3, 25
+ .set FIELD_OBJ_GFX_WOMAN_5, 26
+ .set FIELD_OBJ_GFX_COOK, 27
+ .set FIELD_OBJ_GFX_WOMAN_6, 28
+ .set FIELD_OBJ_GFX_OLD_MAN_2, 29
+ .set FIELD_OBJ_GFX_OLD_WOMAN_2, 30
+ .set FIELD_OBJ_GFX_CAMPER, 31
+ .set FIELD_OBJ_GFX_PICNICKER, 32
+ .set FIELD_OBJ_GFX_MAN_4, 33
+ .set FIELD_OBJ_GFX_WOMAN_7, 34
+ .set FIELD_OBJ_GFX_YOUNGSTER, 35
+ .set FIELD_OBJ_GFX_BUG_CATCHER, 36
+ .set FIELD_OBJ_GFX_PSYCHIC_M, 37
+ .set FIELD_OBJ_GFX_SCHOOL_KID_M, 38
+ .set FIELD_OBJ_GFX_MANIAC, 39
+ .set FIELD_OBJ_GFX_HEX_MANIAC, 40
+ .set FIELD_OBJ_GFX_RAYQUAZA_1, 41
+ .set FIELD_OBJ_GFX_SWIMMER_M, 42
+ .set FIELD_OBJ_GFX_SWIMMER_F, 43
+ .set FIELD_OBJ_GFX_BLACK_BELT, 44
+ .set FIELD_OBJ_GFX_BEAUTY, 45
+ .set FIELD_OBJ_GFX_SCIENTIST_1, 46
+ .set FIELD_OBJ_GFX_LASS, 47
+ .set FIELD_OBJ_GFX_GENTLEMAN, 48
+ .set FIELD_OBJ_GFX_SAILOR, 49
+ .set FIELD_OBJ_GFX_FISHERMAN, 50
+ .set FIELD_OBJ_GFX_RUNNING_TRIATHLETE_M, 51
+ .set FIELD_OBJ_GFX_RUNNING_TRIATHLETE_F, 52
+ .set FIELD_OBJ_GFX_TUBER_F, 53
+ .set FIELD_OBJ_GFX_TUBER_M, 54
+ .set FIELD_OBJ_GFX_HIKER, 55
+ .set FIELD_OBJ_GFX_CYCLING_TRIATHLETE_M, 56
+ .set FIELD_OBJ_GFX_CYCLING_TRIATHLETE_F, 57
+ .set FIELD_OBJ_GFX_NURSE, 58
+ .set FIELD_OBJ_GFX_ITEM_BALL, 59
+ .set FIELD_OBJ_GFX_BERRY_TREE, 60
+ .set FIELD_OBJ_GFX_BERRY_TREE_EARLY_STAGES, 61
+ .set FIELD_OBJ_GFX_BERRY_TREE_LATE_STAGES, 62
+ .set FIELD_OBJ_GFX_BRENDAN_ACRO_BIKE, 63
+ .set FIELD_OBJ_GFX_PROF_BIRCH, 64
+ .set FIELD_OBJ_GFX_MAN_5, 65
+ .set FIELD_OBJ_GFX_MAN_6, 66
+ .set FIELD_OBJ_GFX_REPORTER_M, 67
+ .set FIELD_OBJ_GFX_REPORTER_F, 68
+ .set FIELD_OBJ_GFX_MAUVILLE_OLD_MAN, 69
+ .set FIELD_OBJ_GFX_ANABEL, 70
+ .set FIELD_OBJ_GFX_TUCKER, 71
+ .set FIELD_OBJ_GFX_GRETA, 72
+ .set FIELD_OBJ_GFX_SPENSER, 73
+ .set FIELD_OBJ_GFX_NOLAND, 74
+ .set FIELD_OBJ_GFX_LUCY, 75
+ .set FIELD_OBJ_GFX_UNUSED_NATU_DOLL, 76
+ .set FIELD_OBJ_GFX_UNUSED_MAGNEMITE_DOLL, 77
+ .set FIELD_OBJ_GFX_UNUSED_SQUIRTLE_DOLL, 78
+ .set FIELD_OBJ_GFX_UNUSED_WOOPER_DOLL, 79
+ .set FIELD_OBJ_GFX_UNUSED_PIKACHU_DOLL, 80
+ .set FIELD_OBJ_GFX_UNUSED_PORYGON2_DOLL, 81
+ .set FIELD_OBJ_GFX_CUTTABLE_TREE, 82
+ .set FIELD_OBJ_GFX_MART_EMPLOYEE, 83
+ .set FIELD_OBJ_GFX_ROOFTOP_SALE_WOMAN, 84
+ .set FIELD_OBJ_GFX_TEALA, 85
+ .set FIELD_OBJ_GFX_BREAKABLE_ROCK, 86
+ .set FIELD_OBJ_GFX_PUSHABLE_BOULDER, 87
+ .set FIELD_OBJ_GFX_MR_BRINEYS_BOAT, 88
+ .set FIELD_OBJ_GFX_MAY_NORMAL, 89
+ .set FIELD_OBJ_GFX_MAY_MACH_BIKE, 90
+ .set FIELD_OBJ_GFX_MAY_ACRO_BIKE, 91
+ .set FIELD_OBJ_GFX_MAY_SURFING, 92
+ .set FIELD_OBJ_GFX_MAY_FIELD_MOVE, 93
+ .set FIELD_OBJ_GFX_TRUCK, 94
+ .set FIELD_OBJ_GFX_VIGOROTH_CARRYING_BOX, 95
+ .set FIELD_OBJ_GFX_VIGOROTH_FACING_AWAY, 96
+ .set FIELD_OBJ_GFX_BIRCHS_BAG, 97
+ .set FIELD_OBJ_GFX_ENEMY_ZIGZAGOON, 98
+ .set FIELD_OBJ_GFX_ARTIST, 99
+ .set FIELD_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 100
+ .set FIELD_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE, 101
+ .set FIELD_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE, 102
+ .set FIELD_OBJ_GFX_RIVAL_BRENDAN_SURFING, 103
+ .set FIELD_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE, 104
+ .set FIELD_OBJ_GFX_RIVAL_MAY_NORMAL, 105
+ .set FIELD_OBJ_GFX_RIVAL_MAY_MACH_BIKE, 106
+ .set FIELD_OBJ_GFX_RIVAL_MAY_ACRO_BIKE, 107
+ .set FIELD_OBJ_GFX_RIVAL_MAY_SURFING, 108
+ .set FIELD_OBJ_GFX_RIVAL_MAY_FIELD_MOVE, 109
+ .set FIELD_OBJ_GFX_CAMERAMAN, 110
+ .set FIELD_OBJ_GFX_BRENDAN_UNDERWATER, 111
+ .set FIELD_OBJ_GFX_MAY_UNDERWATER, 112
+ .set FIELD_OBJ_GFX_MOVING_BOX, 113
+ .set FIELD_OBJ_GFX_CABLE_CAR, 114
+ .set FIELD_OBJ_GFX_SCIENTIST_2, 115
+ .set FIELD_OBJ_GFX_MAN_7, 116
+ .set FIELD_OBJ_GFX_AQUA_MEMBER_M, 117
+ .set FIELD_OBJ_GFX_AQUA_MEMBER_F, 118
+ .set FIELD_OBJ_GFX_MAGMA_MEMBER_M, 119
+ .set FIELD_OBJ_GFX_MAGMA_MEMBER_F, 120
+ .set FIELD_OBJ_GFX_SIDNEY, 121
+ .set FIELD_OBJ_GFX_PHOEBE, 122
+ .set FIELD_OBJ_GFX_GLACIA, 123
+ .set FIELD_OBJ_GFX_DRAKE, 124
+ .set FIELD_OBJ_GFX_ROXANNE, 125
+ .set FIELD_OBJ_GFX_BRAWLY, 126
+ .set FIELD_OBJ_GFX_WATTSON, 127
+ .set FIELD_OBJ_GFX_FLANNERY, 128
+ .set FIELD_OBJ_GFX_NORMAN, 129
+ .set FIELD_OBJ_GFX_WINONA, 130
+ .set FIELD_OBJ_GFX_LIZA, 131
+ .set FIELD_OBJ_GFX_TATE, 132
+ .set FIELD_OBJ_GFX_WALLACE, 133
+ .set FIELD_OBJ_GFX_STEVEN, 134
+ .set FIELD_OBJ_GFX_WALLY, 135
+ .set FIELD_OBJ_GFX_RUBY_SAPPHIRE_LITTLE_BOY, 136
+ .set FIELD_OBJ_GFX_BRENDAN_FISHING, 137
+ .set FIELD_OBJ_GFX_MAY_FISHING, 138
+ .set FIELD_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN, 139
+ .set FIELD_OBJ_GFX_SS_TIDAL, 140
+ .set FIELD_OBJ_GFX_SUBMARINE_SHADOW, 141
+ .set FIELD_OBJ_GFX_PICHU_DOLL, 142
+ .set FIELD_OBJ_GFX_PIKACHU_DOLL, 143
+ .set FIELD_OBJ_GFX_MARILL_DOLL, 144
+ .set FIELD_OBJ_GFX_TOGEPI_DOLL, 145
+ .set FIELD_OBJ_GFX_CYNDAQUIL_DOLL, 146
+ .set FIELD_OBJ_GFX_CHIKORITA_DOLL, 147
+ .set FIELD_OBJ_GFX_TOTODILE_DOLL, 148
+ .set FIELD_OBJ_GFX_JIGGLYPUFF_DOLL, 149
+ .set FIELD_OBJ_GFX_MEOWTH_DOLL, 150
+ .set FIELD_OBJ_GFX_CLEFAIRY_DOLL, 151
+ .set FIELD_OBJ_GFX_DITTO_DOLL, 152
+ .set FIELD_OBJ_GFX_SMOOCHUM_DOLL, 153
+ .set FIELD_OBJ_GFX_TREECKO_DOLL, 154
+ .set FIELD_OBJ_GFX_TORCHIC_DOLL, 155
+ .set FIELD_OBJ_GFX_MUDKIP_DOLL, 156
+ .set FIELD_OBJ_GFX_DUSKULL_DOLL, 157
+ .set FIELD_OBJ_GFX_WYNAUT_DOLL, 158
+ .set FIELD_OBJ_GFX_BALTOY_DOLL, 159
+ .set FIELD_OBJ_GFX_KECLEON_DOLL, 160
+ .set FIELD_OBJ_GFX_AZURILL_DOLL, 161
+ .set FIELD_OBJ_GFX_SKITTY_DOLL, 162
+ .set FIELD_OBJ_GFX_SWABLU_DOLL, 163
+ .set FIELD_OBJ_GFX_GULPIN_DOLL, 164
+ .set FIELD_OBJ_GFX_LOTAD_DOLL, 165
+ .set FIELD_OBJ_GFX_SEEDOT_DOLL, 166
+ .set FIELD_OBJ_GFX_PIKA_CUSHION, 167
+ .set FIELD_OBJ_GFX_ROUND_CUSHION, 168
+ .set FIELD_OBJ_GFX_KISS_CUSHION, 169
+ .set FIELD_OBJ_GFX_ZIGZAG_CUSHION, 170
+ .set FIELD_OBJ_GFX_SPIN_CUSHION, 171
+ .set FIELD_OBJ_GFX_DIAMOND_CUSHION, 172
+ .set FIELD_OBJ_GFX_BALL_CUSHION, 173
+ .set FIELD_OBJ_GFX_GRASS_CUSHION, 174
+ .set FIELD_OBJ_GFX_FIRE_CUSHION, 175
+ .set FIELD_OBJ_GFX_WATER_CUSHION, 176
+ .set FIELD_OBJ_GFX_BIG_SNORLAX_DOLL, 177
+ .set FIELD_OBJ_GFX_BIG_RHYDON_DOLL, 178
+ .set FIELD_OBJ_GFX_BIG_LAPRAS_DOLL, 179
+ .set FIELD_OBJ_GFX_BIG_VENUSAUR_DOLL, 180
+ .set FIELD_OBJ_GFX_BIG_CHARIZARD_DOLL, 181
+ .set FIELD_OBJ_GFX_BIG_BLASTOISE_DOLL, 182
+ .set FIELD_OBJ_GFX_BIG_WAILMER_DOLL, 183
+ .set FIELD_OBJ_GFX_BIG_REGIROCK_DOLL, 184
+ .set FIELD_OBJ_GFX_BIG_REGICE_DOLL, 185
+ .set FIELD_OBJ_GFX_BIG_REGISTEEL_DOLL, 186
+ .set FIELD_OBJ_GFX_LATIAS, 187
+ .set FIELD_OBJ_GFX_LATIOS, 188
+ .set FIELD_OBJ_GFX_BOY_5, 189
+ .set FIELD_OBJ_GFX_CONTEST_OLD_MAN, 190
+ .set FIELD_OBJ_GFX_BRENDAN_WATERING, 191
+ .set FIELD_OBJ_GFX_MAY_WATERING, 192
+ .set FIELD_OBJ_GFX_BRENDAN_UNKNOWN, 193
+ .set FIELD_OBJ_GFX_MAY_UNKNOWN, 194
+ .set FIELD_OBJ_GFX_ARCHIE, 195
+ .set FIELD_OBJ_GFX_MAXIE, 196
+ .set FIELD_OBJ_GFX_KYOGRE_1, 197
+ .set FIELD_OBJ_GFX_GROUDON_1, 198
+ .set FIELD_OBJ_GFX_FOSSIL, 199
+ .set FIELD_OBJ_GFX_REGIROCK, 200
+ .set FIELD_OBJ_GFX_REGICE, 201
+ .set FIELD_OBJ_GFX_REGISTEEL, 202
+ .set FIELD_OBJ_GFX_SKITTY, 203
+ .set FIELD_OBJ_GFX_KECLEON_1, 204
+ .set FIELD_OBJ_GFX_KYOGRE_2, 205
+ .set FIELD_OBJ_GFX_GROUDON_2, 206
+ .set FIELD_OBJ_GFX_RAYQUAZA_2, 207
+ .set FIELD_OBJ_GFX_ZIGZAGOON, 208
+ .set FIELD_OBJ_GFX_PIKACHU, 209
+ .set FIELD_OBJ_GFX_AZUMARILL, 210
+ .set FIELD_OBJ_GFX_WINGULL, 211
+ .set FIELD_OBJ_GFX_KECLEON_2, 212
+ .set FIELD_OBJ_GFX_TUBER_M_SWIMMING, 213
+ .set FIELD_OBJ_GFX_AZURILL, 214
+ .set FIELD_OBJ_GFX_MOM, 215
+ .set FIELD_OBJ_GFX_LINK_BRENDAN, 216
+ .set FIELD_OBJ_GFX_LINK_MAY, 217
+ .set FIELD_OBJ_GFX_JUAN, 218
+ .set FIELD_OBJ_GFX_SCOTT, 219
+ .set FIELD_OBJ_GFX_POOCHYENA, 220
+ .set FIELD_OBJ_GFX_KYOGRE_3, 221
+ .set FIELD_OBJ_GFX_GROUDON_3, 222
+ .set FIELD_OBJ_GFX_MYSTERY_EVENT_DELIVERYMAN, 223
+ .set FIELD_OBJ_GFX_STATUE, 224
+ .set FIELD_OBJ_GFX_KIRLIA, 225
+ .set FIELD_OBJ_GFX_DUSCLOPS, 226
+ .set FIELD_OBJ_GFX_UNION_ROOM_ATTENDANT, 227
+ .set FIELD_OBJ_GFX_SUDOWOODO, 228
+ .set FIELD_OBJ_GFX_MEW, 229
+ .set FIELD_OBJ_GFX_RED, 230
+ .set FIELD_OBJ_GFX_LEAF, 231
+ .set FIELD_OBJ_GFX_DEOXYS, 232
+ .set FIELD_OBJ_GFX_BIRTH_ISLAND_STONE, 233
+ .set FIELD_OBJ_GFX_BRANDON, 234
+ .set FIELD_OBJ_GFX_RUBY_SAPPHIRE_BRENDAN, 235
+ .set FIELD_OBJ_GFX_RUBY_SAPPHIRE_MAY, 236
+ .set FIELD_OBJ_GFX_LUGIA, 237
+ .set FIELD_OBJ_GFX_HO_OH, 238
+
+ .set SHADOW_SIZE_S, 0
+ .set SHADOW_SIZE_M, 1
+ .set SHADOW_SIZE_L, 2
+ .set SHADOW_SIZE_XL, 3
+
+ .set F_INANIMATE, 1 << 6
+ .set F_DISABLE_REFLECTION_PALETTE_LOAD, 1 << 7
+
+ .set TRACKS_NONE, 0
+ .set TRACKS_FOOT, 1
+ .set TRACKS_BIKE_TIRE, 2
diff --git a/constants/gba_constants.s b/constants/gba_constants.s
new file mode 100644
index 000000000..2a128faa6
--- /dev/null
+++ b/constants/gba_constants.s
@@ -0,0 +1,412 @@
+ .set PSR_USR_MODE, 0x00000010
+ .set PSR_FIQ_MODE, 0x00000011
+ .set PSR_IRQ_MODE, 0x00000012
+ .set PSR_SVC_MODE, 0x00000013
+ .set PSR_ABT_MODE, 0x00000017
+ .set PSR_UND_MODE, 0x0000001b
+ .set PSR_SYS_MODE, 0x0000001f
+ .set PSR_MODE_MASK, 0x0000001f
+ .set PSR_T_BIT, 0x00000020
+ .set PSR_F_BIT, 0x00000040
+ .set PSR_I_BIT, 0x00000080
+
+ .set EWRAM_START, 0x02000000
+ .set EWRAM_END, EWRAM_START + 0x40000
+ .set IWRAM_START, 0x03000000
+ .set IWRAM_END, IWRAM_START + 0x8000
+
+ .set INTR_VECTOR, IWRAM_END - 0x4
+
+ .set INTR_FLAG_VBLANK, 1 << 0
+ .set INTR_FLAG_HBLANK, 1 << 1
+ .set INTR_FLAG_VCOUNT, 1 << 2
+ .set INTR_FLAG_TIMER0, 1 << 3
+ .set INTR_FLAG_TIMER1, 1 << 4
+ .set INTR_FLAG_TIMER2, 1 << 5
+ .set INTR_FLAG_TIMER3, 1 << 6
+ .set INTR_FLAG_SERIAL, 1 << 7
+ .set INTR_FLAG_DMA0, 1 << 8
+ .set INTR_FLAG_DMA1, 1 << 9
+ .set INTR_FLAG_DMA2, 1 << 10
+ .set INTR_FLAG_DMA3, 1 << 11
+ .set INTR_FLAG_KEYPAD, 1 << 12
+ .set INTR_FLAG_GAMEPAK, 1 << 13
+
+ .set REG_BASE, 0x4000000 ; I/O register base address
+
+; I/O register offsets
+ .set OFFSET_REG_DISPCNT, 0x0
+ .set OFFSET_REG_DISPSTAT, 0x4
+ .set OFFSET_REG_VCOUNT, 0x6
+ .set OFFSET_REG_BG0CNT, 0x8
+ .set OFFSET_REG_BG1CNT, 0xa
+ .set OFFSET_REG_BG2CNT, 0xc
+ .set OFFSET_REG_BG3CNT, 0xe
+ .set OFFSET_REG_BG0HOFS, 0x10
+ .set OFFSET_REG_BG0VOFS, 0x12
+ .set OFFSET_REG_BG1HOFS, 0x14
+ .set OFFSET_REG_BG1VOFS, 0x16
+ .set OFFSET_REG_BG2HOFS, 0x18
+ .set OFFSET_REG_BG2VOFS, 0x1a
+ .set OFFSET_REG_BG3HOFS, 0x1c
+ .set OFFSET_REG_BG3VOFS, 0x1e
+ .set OFFSET_REG_BG2PA, 0x20
+ .set OFFSET_REG_BG2PB, 0x22
+ .set OFFSET_REG_BG2PC, 0x24
+ .set OFFSET_REG_BG2PD, 0x26
+ .set OFFSET_REG_BG2X_L, 0x28
+ .set OFFSET_REG_BG2X_H, 0x2a
+ .set OFFSET_REG_BG2Y_L, 0x2c
+ .set OFFSET_REG_BG2Y_H, 0x2e
+ .set OFFSET_REG_BG3PA, 0x30
+ .set OFFSET_REG_BG3PB, 0x32
+ .set OFFSET_REG_BG3PC, 0x34
+ .set OFFSET_REG_BG3PD, 0x36
+ .set OFFSET_REG_BG3X_L, 0x38
+ .set OFFSET_REG_BG3X_H, 0x3a
+ .set OFFSET_REG_BG3Y_L, 0x3c
+ .set OFFSET_REG_BG3Y_H, 0x3e
+ .set OFFSET_REG_WIN0H, 0x40
+ .set OFFSET_REG_WIN1H, 0x42
+ .set OFFSET_REG_WIN0V, 0x44
+ .set OFFSET_REG_WIN1V, 0x46
+ .set OFFSET_REG_WININ, 0x48
+ .set OFFSET_REG_WINOUT, 0x4a
+ .set OFFSET_REG_MOSAIC, 0x4c
+ .set OFFSET_REG_BLDCNT, 0x50
+ .set OFFSET_REG_BLDALPHA, 0x52
+ .set OFFSET_REG_BLDY, 0x54
+
+ .set OFFSET_REG_SOUND1CNT, 0x60
+ .set OFFSET_REG_SOUND1CNT_L, 0x60
+ .set OFFSET_REG_SOUND1CNT_H, 0x62
+ .set OFFSET_REG_SOUND1CNT_X, 0x64
+ .set OFFSET_REG_SOUND2CNT, 0x68
+ .set OFFSET_REG_SOUND2CNT_L, 0x68
+ .set OFFSET_REG_SOUND2CNT_H, 0x6c
+ .set OFFSET_REG_SOUND3CNT, 0x70
+ .set OFFSET_REG_SOUND3CNT_L, 0x70
+ .set OFFSET_REG_SOUND3CNT_H, 0x72
+ .set OFFSET_REG_SOUND3CNT_X, 0x74
+ .set OFFSET_REG_SOUND4CNT, 0x78
+ .set OFFSET_REG_SOUND4CNT_L, 0x78
+ .set OFFSET_REG_SOUND4CNT_H, 0x7c
+ .set OFFSET_REG_SOUNDCNT, 0x80
+ .set OFFSET_REG_SOUNDCNT_L, 0x80
+ .set OFFSET_REG_SOUNDCNT_H, 0x82
+ .set OFFSET_REG_SOUNDCNT_X, 0x84
+ .set OFFSET_REG_SOUNDBIAS, 0x88
+ .set OFFSET_REG_WAVE_RAM, 0x90
+ .set OFFSET_REG_WAVE_RAM0, 0x90
+ .set OFFSET_REG_WAVE_RAM0_L, 0x90
+ .set OFFSET_REG_WAVE_RAM0_H, 0x92
+ .set OFFSET_REG_WAVE_RAM1, 0x94
+ .set OFFSET_REG_WAVE_RAM1_L, 0x94
+ .set OFFSET_REG_WAVE_RAM1_H, 0x96
+ .set OFFSET_REG_WAVE_RAM2, 0x98
+ .set OFFSET_REG_WAVE_RAM2_L, 0x98
+ .set OFFSET_REG_WAVE_RAM2_H, 0x9a
+ .set OFFSET_REG_WAVE_RAM3, 0x9c
+ .set OFFSET_REG_WAVE_RAM3_L, 0x9c
+ .set OFFSET_REG_WAVE_RAM3_H, 0x9e
+ .set OFFSET_REG_FIFO, 0xa0
+ .set OFFSET_REG_FIFO_A, 0xa0
+ .set OFFSET_REG_FIFO_A_L, 0xa0
+ .set OFFSET_REG_FIFO_A_H, 0xa2
+ .set OFFSET_REG_FIFO_B, 0xa4
+ .set OFFSET_REG_FIFO_B_L, 0xa4
+ .set OFFSET_REG_FIFO_B_H, 0xa6
+
+ .set OFFSET_REG_DMA0, 0xb0
+ .set OFFSET_REG_DMA0SAD, 0xb0
+ .set OFFSET_REG_DMA0SAD_L, 0xb0
+ .set OFFSET_REG_DMA0SAD_H, 0xb2
+ .set OFFSET_REG_DMA0DAD, 0xb4
+ .set OFFSET_REG_DMA0DAD_L, 0xb4
+ .set OFFSET_REG_DMA0DAD_H, 0xb6
+ .set OFFSET_REG_DMA0CNT, 0xb8
+ .set OFFSET_REG_DMA0CNT_L, 0xb8
+ .set OFFSET_REG_DMA0CNT_H, 0xba
+ .set OFFSET_REG_DMA1, 0xbc
+ .set OFFSET_REG_DMA1SAD, 0xbc
+ .set OFFSET_REG_DMA1SAD_L, 0xbc
+ .set OFFSET_REG_DMA1SAD_H, 0xbe
+ .set OFFSET_REG_DMA1DAD, 0xc0
+ .set OFFSET_REG_DMA1DAD_L, 0xc0
+ .set OFFSET_REG_DMA1DAD_H, 0xc2
+ .set OFFSET_REG_DMA1CNT, 0xc4
+ .set OFFSET_REG_DMA1CNT_L, 0xc4
+ .set OFFSET_REG_DMA1CNT_H, 0xc6
+ .set OFFSET_REG_DMA2, 0xc8
+ .set OFFSET_REG_DMA2SAD, 0xc8
+ .set OFFSET_REG_DMA2SAD_L, 0xc8
+ .set OFFSET_REG_DMA2SAD_H, 0xca
+ .set OFFSET_REG_DMA2DAD, 0xcc
+ .set OFFSET_REG_DMA2DAD_L, 0xcc
+ .set OFFSET_REG_DMA2DAD_H, 0xce
+ .set OFFSET_REG_DMA2CNT, 0xd0
+ .set OFFSET_REG_DMA2CNT_L, 0xd0
+ .set OFFSET_REG_DMA2CNT_H, 0xd2
+ .set OFFSET_REG_DMA3, 0xd4
+ .set OFFSET_REG_DMA3SAD, 0xd4
+ .set OFFSET_REG_DMA3SAD_L, 0xd4
+ .set OFFSET_REG_DMA3SAD_H, 0xd6
+ .set OFFSET_REG_DMA3DAD, 0xd8
+ .set OFFSET_REG_DMA3DAD_L, 0xd8
+ .set OFFSET_REG_DMA3DAD_H, 0xda
+ .set OFFSET_REG_DMA3CNT, 0xdc
+ .set OFFSET_REG_DMA3CNT_L, 0xdc
+ .set OFFSET_REG_DMA3CNT_H, 0xde
+
+ .set OFFSET_REG_TM0CNT, 0x100
+ .set OFFSET_REG_TM0CNT_L, 0x100
+ .set OFFSET_REG_TM0CNT_H, 0x102
+ .set OFFSET_REG_TM1CNT, 0x104
+ .set OFFSET_REG_TM1CNT_L, 0x104
+ .set OFFSET_REG_TM1CNT_H, 0x106
+ .set OFFSET_REG_TM2CNT, 0x108
+ .set OFFSET_REG_TM2CNT_L, 0x108
+ .set OFFSET_REG_TM2CNT_H, 0x10a
+ .set OFFSET_REG_TM3CNT, 0x10c
+ .set OFFSET_REG_TM3CNT_L, 0x10c
+ .set OFFSET_REG_TM3CNT_H, 0x10e
+
+ .set OFFSET_REG_SIOCNT, 0x128
+ .set OFFSET_REG_SIODATA8, 0x12a
+ .set OFFSET_REG_SIODATA32, 0x120
+ .set OFFSET_REG_SIOMLT_SEND, 0x12a
+ .set OFFSET_REG_SIOMLT_RECV, 0x120
+ .set OFFSET_REG_SIOMULTI0, 0x120
+ .set OFFSET_REG_SIOMULTI1, 0x122
+ .set OFFSET_REG_SIOMULTI2, 0x124
+ .set OFFSET_REG_SIOMULTI3, 0x126
+
+ .set OFFSET_REG_KEYINPUT, 0x130
+ .set OFFSET_REG_KEYCNT, 0x132
+
+ .set OFFSET_REG_RCNT, 0x134
+
+ .set OFFSET_REG_JOYCNT, 0x140
+ .set OFFSET_REG_JOYSTAT, 0x158
+ .set OFFSET_REG_JOY_RECV, 0x150
+ .set OFFSET_REG_JOY_RECV_L, 0x150
+ .set OFFSET_REG_JOY_RECV_H, 0x152
+ .set OFFSET_REG_JOY_TRANS, 0x154
+ .set OFFSET_REG_JOY_TRANS_L, 0x154
+ .set OFFSET_REG_JOY_TRANS_H, 0x156
+
+ .set OFFSET_REG_IME, 0x208
+ .set OFFSET_REG_IE, 0x200
+ .set OFFSET_REG_IF, 0x202
+
+ .set OFFSET_REG_WAITCNT, 0x204
+
+; I/O register addresses
+ .set REG_DISPCNT, REG_BASE + OFFSET_REG_DISPCNT
+ .set REG_DISPSTAT, REG_BASE + OFFSET_REG_DISPSTAT
+ .set REG_VCOUNT, REG_BASE + OFFSET_REG_VCOUNT
+ .set REG_BG0CNT, REG_BASE + OFFSET_REG_BG0CNT
+ .set REG_BG1CNT, REG_BASE + OFFSET_REG_BG1CNT
+ .set REG_BG2CNT, REG_BASE + OFFSET_REG_BG2CNT
+ .set REG_BG3CNT, REG_BASE + OFFSET_REG_BG3CNT
+ .set REG_BG0HOFS, REG_BASE + OFFSET_REG_BG0HOFS
+ .set REG_BG0VOFS, REG_BASE + OFFSET_REG_BG0VOFS
+ .set REG_BG1HOFS, REG_BASE + OFFSET_REG_BG1HOFS
+ .set REG_BG1VOFS, REG_BASE + OFFSET_REG_BG1VOFS
+ .set REG_BG2HOFS, REG_BASE + OFFSET_REG_BG2HOFS
+ .set REG_BG2VOFS, REG_BASE + OFFSET_REG_BG2VOFS
+ .set REG_BG3HOFS, REG_BASE + OFFSET_REG_BG3HOFS
+ .set REG_BG3VOFS, REG_BASE + OFFSET_REG_BG3VOFS
+ .set REG_BG2PA, REG_BASE + OFFSET_REG_BG2PA
+ .set REG_BG2PB, REG_BASE + OFFSET_REG_BG2PB
+ .set REG_BG2PC, REG_BASE + OFFSET_REG_BG2PC
+ .set REG_BG2PD, REG_BASE + OFFSET_REG_BG2PD
+ .set REG_BG2X_L, REG_BASE + OFFSET_REG_BG2X_L
+ .set REG_BG2X_H, REG_BASE + OFFSET_REG_BG2X_H
+ .set REG_BG2Y_L, REG_BASE + OFFSET_REG_BG2Y_L
+ .set REG_BG2Y_H, REG_BASE + OFFSET_REG_BG2Y_H
+ .set REG_BG3PA, REG_BASE + OFFSET_REG_BG3PA
+ .set REG_BG3PB, REG_BASE + OFFSET_REG_BG3PB
+ .set REG_BG3PC, REG_BASE + OFFSET_REG_BG3PC
+ .set REG_BG3PD, REG_BASE + OFFSET_REG_BG3PD
+ .set REG_BG3X_L, REG_BASE + OFFSET_REG_BG3X_L
+ .set REG_BG3X_H, REG_BASE + OFFSET_REG_BG3X_H
+ .set REG_BG3Y_L, REG_BASE + OFFSET_REG_BG3Y_L
+ .set REG_BG3Y_H, REG_BASE + OFFSET_REG_BG3Y_H
+ .set REG_WIN0H, REG_BASE + OFFSET_REG_WIN0H
+ .set REG_WIN1H, REG_BASE + OFFSET_REG_WIN1H
+ .set REG_WIN0V, REG_BASE + OFFSET_REG_WIN0V
+ .set REG_WIN1V, REG_BASE + OFFSET_REG_WIN1V
+ .set REG_WININ, REG_BASE + OFFSET_REG_WININ
+ .set REG_WINOUT, REG_BASE + OFFSET_REG_WINOUT
+ .set REG_MOSAIC, REG_BASE + OFFSET_REG_MOSAIC
+ .set REG_BLDCNT, REG_BASE + OFFSET_REG_BLDCNT
+ .set REG_BLDALPHA, REG_BASE + OFFSET_REG_BLDALPHA
+ .set REG_BLDY, REG_BASE + OFFSET_REG_BLDY
+
+ .set REG_SOUND1CNT, REG_BASE + OFFSET_REG_SOUND1CNT
+ .set REG_SOUND1CNT_L, REG_BASE + OFFSET_REG_SOUND1CNT_L
+ .set REG_SOUND1CNT_H, REG_BASE + OFFSET_REG_SOUND1CNT_H
+ .set REG_SOUND1CNT_X, REG_BASE + OFFSET_REG_SOUND1CNT_X
+ .set REG_SOUND2CNT, REG_BASE + OFFSET_REG_SOUND2CNT
+ .set REG_SOUND2CNT_L, REG_BASE + OFFSET_REG_SOUND2CNT_L
+ .set REG_SOUND2CNT_H, REG_BASE + OFFSET_REG_SOUND2CNT_H
+ .set REG_SOUND3CNT, REG_BASE + OFFSET_REG_SOUND3CNT
+ .set REG_SOUND3CNT_L, REG_BASE + OFFSET_REG_SOUND3CNT_L
+ .set REG_SOUND3CNT_H, REG_BASE + OFFSET_REG_SOUND3CNT_H
+ .set REG_SOUND3CNT_X, REG_BASE + OFFSET_REG_SOUND3CNT_X
+ .set REG_SOUND4CNT, REG_BASE + OFFSET_REG_SOUND4CNT
+ .set REG_SOUND4CNT_L, REG_BASE + OFFSET_REG_SOUND4CNT_L
+ .set REG_SOUND4CNT_H, REG_BASE + OFFSET_REG_SOUND4CNT_H
+ .set REG_SOUNDCNT, REG_BASE + OFFSET_REG_SOUNDCNT
+ .set REG_SOUNDCNT_L, REG_BASE + OFFSET_REG_SOUNDCNT_L
+ .set REG_SOUNDCNT_H, REG_BASE + OFFSET_REG_SOUNDCNT_H
+ .set REG_SOUNDCNT_X, REG_BASE + OFFSET_REG_SOUNDCNT_X
+ .set REG_SOUNDBIAS, REG_BASE + OFFSET_REG_SOUNDBIAS
+ .set REG_WAVE_RAM, REG_BASE + OFFSET_REG_WAVE_RAM
+ .set REG_WAVE_RAM0, REG_BASE + OFFSET_REG_WAVE_RAM0
+ .set REG_WAVE_RAM0_L, REG_BASE + OFFSET_REG_WAVE_RAM0_L
+ .set REG_WAVE_RAM0_H, REG_BASE + OFFSET_REG_WAVE_RAM0_H
+ .set REG_WAVE_RAM1, REG_BASE + OFFSET_REG_WAVE_RAM1
+ .set REG_WAVE_RAM1_L, REG_BASE + OFFSET_REG_WAVE_RAM1_L
+ .set REG_WAVE_RAM1_H, REG_BASE + OFFSET_REG_WAVE_RAM1_H
+ .set REG_WAVE_RAM2, REG_BASE + OFFSET_REG_WAVE_RAM2
+ .set REG_WAVE_RAM2_L, REG_BASE + OFFSET_REG_WAVE_RAM2_L
+ .set REG_WAVE_RAM2_H, REG_BASE + OFFSET_REG_WAVE_RAM2_H
+ .set REG_WAVE_RAM3, REG_BASE + OFFSET_REG_WAVE_RAM3
+ .set REG_WAVE_RAM3_L, REG_BASE + OFFSET_REG_WAVE_RAM3_L
+ .set REG_WAVE_RAM3_H, REG_BASE + OFFSET_REG_WAVE_RAM3_H
+ .set REG_FIFO, REG_BASE + OFFSET_REG_FIFO
+ .set REG_FIFO_A, REG_BASE + OFFSET_REG_FIFO_A
+ .set REG_FIFO_A_L, REG_BASE + OFFSET_REG_FIFO_A_L
+ .set REG_FIFO_A_H, REG_BASE + OFFSET_REG_FIFO_A_H
+ .set REG_FIFO_B, REG_BASE + OFFSET_REG_FIFO_B
+ .set REG_FIFO_B_L, REG_BASE + OFFSET_REG_FIFO_B_L
+ .set REG_FIFO_B_H, REG_BASE + OFFSET_REG_FIFO_B_H
+
+ .set REG_DMA0, REG_BASE + OFFSET_REG_DMA0
+ .set REG_DMA0SAD, REG_BASE + OFFSET_REG_DMA0SAD
+ .set REG_DMA0SAD_L, REG_BASE + OFFSET_REG_DMA0SAD_L
+ .set REG_DMA0SAD_H, REG_BASE + OFFSET_REG_DMA0SAD_H
+ .set REG_DMA0DAD, REG_BASE + OFFSET_REG_DMA0DAD
+ .set REG_DMA0DAD_L, REG_BASE + OFFSET_REG_DMA0DAD_L
+ .set REG_DMA0DAD_H, REG_BASE + OFFSET_REG_DMA0DAD_H
+ .set REG_DMA0CNT, REG_BASE + OFFSET_REG_DMA0CNT
+ .set REG_DMA0CNT_L, REG_BASE + OFFSET_REG_DMA0CNT_L
+ .set REG_DMA0CNT_H, REG_BASE + OFFSET_REG_DMA0CNT_H
+ .set REG_DMA1, REG_BASE + OFFSET_REG_DMA1
+ .set REG_DMA1SAD, REG_BASE + OFFSET_REG_DMA1SAD
+ .set REG_DMA1SAD_L, REG_BASE + OFFSET_REG_DMA1SAD_L
+ .set REG_DMA1SAD_H, REG_BASE + OFFSET_REG_DMA1SAD_H
+ .set REG_DMA1DAD, REG_BASE + OFFSET_REG_DMA1DAD
+ .set REG_DMA1DAD_L, REG_BASE + OFFSET_REG_DMA1DAD_L
+ .set REG_DMA1DAD_H, REG_BASE + OFFSET_REG_DMA1DAD_H
+ .set REG_DMA1CNT, REG_BASE + OFFSET_REG_DMA1CNT
+ .set REG_DMA1CNT_L, REG_BASE + OFFSET_REG_DMA1CNT_L
+ .set REG_DMA1CNT_H, REG_BASE + OFFSET_REG_DMA1CNT_H
+ .set REG_DMA2, REG_BASE + OFFSET_REG_DMA2
+ .set REG_DMA2SAD, REG_BASE + OFFSET_REG_DMA2SAD
+ .set REG_DMA2SAD_L, REG_BASE + OFFSET_REG_DMA2SAD_L
+ .set REG_DMA2SAD_H, REG_BASE + OFFSET_REG_DMA2SAD_H
+ .set REG_DMA2DAD, REG_BASE + OFFSET_REG_DMA2DAD
+ .set REG_DMA2DAD_L, REG_BASE + OFFSET_REG_DMA2DAD_L
+ .set REG_DMA2DAD_H, REG_BASE + OFFSET_REG_DMA2DAD_H
+ .set REG_DMA2CNT, REG_BASE + OFFSET_REG_DMA2CNT
+ .set REG_DMA2CNT_L, REG_BASE + OFFSET_REG_DMA2CNT_L
+ .set REG_DMA2CNT_H, REG_BASE + OFFSET_REG_DMA2CNT_H
+ .set REG_DMA3, REG_BASE + OFFSET_REG_DMA3
+ .set REG_DMA3SAD, REG_BASE + OFFSET_REG_DMA3SAD
+ .set REG_DMA3SAD_L, REG_BASE + OFFSET_REG_DMA3SAD_L
+ .set REG_DMA3SAD_H, REG_BASE + OFFSET_REG_DMA3SAD_H
+ .set REG_DMA3DAD, REG_BASE + OFFSET_REG_DMA3DAD
+ .set REG_DMA3DAD_L, REG_BASE + OFFSET_REG_DMA3DAD_L
+ .set REG_DMA3DAD_H, REG_BASE + OFFSET_REG_DMA3DAD_H
+ .set REG_DMA3CNT, REG_BASE + OFFSET_REG_DMA3CNT
+ .set REG_DMA3CNT_L, REG_BASE + OFFSET_REG_DMA3CNT_L
+ .set REG_DMA3CNT_H, REG_BASE + OFFSET_REG_DMA3CNT_H
+
+ .set REG_TM0CNT, REG_BASE + OFFSET_REG_TM0CNT
+ .set REG_TM0CNT_L, REG_BASE + OFFSET_REG_TM0CNT_L
+ .set REG_TM0CNT_H, REG_BASE + OFFSET_REG_TM0CNT_H
+ .set REG_TM1CNT, REG_BASE + OFFSET_REG_TM1CNT
+ .set REG_TM1CNT_L, REG_BASE + OFFSET_REG_TM1CNT_L
+ .set REG_TM1CNT_H, REG_BASE + OFFSET_REG_TM1CNT_H
+ .set REG_TM2CNT, REG_BASE + OFFSET_REG_TM2CNT
+ .set REG_TM2CNT_L, REG_BASE + OFFSET_REG_TM2CNT_L
+ .set REG_TM2CNT_H, REG_BASE + OFFSET_REG_TM2CNT_H
+ .set REG_TM3CNT, REG_BASE + OFFSET_REG_TM3CNT
+ .set REG_TM3CNT_L, REG_BASE + OFFSET_REG_TM3CNT_L
+ .set REG_TM3CNT_H, REG_BASE + OFFSET_REG_TM3CNT_H
+
+ .set REG_SIOCNT, REG_BASE + OFFSET_REG_SIOCNT
+ .set REG_SIODATA8, REG_BASE + OFFSET_REG_SIODATA8
+ .set REG_SIODATA32, REG_BASE + OFFSET_REG_SIODATA32
+ .set REG_SIOMLT_SEND, REG_BASE + OFFSET_REG_SIOMLT_SEND
+ .set REG_SIOMLT_RECV, REG_BASE + OFFSET_REG_SIOMLT_RECV
+ .set REG_SIOMULTI0, REG_BASE + OFFSET_REG_SIOMULTI0
+ .set REG_SIOMULTI1, REG_BASE + OFFSET_REG_SIOMULTI1
+ .set REG_SIOMULTI2, REG_BASE + OFFSET_REG_SIOMULTI2
+ .set REG_SIOMULTI3, REG_BASE + OFFSET_REG_SIOMULTI3
+
+ .set REG_KEYINPUT, REG_BASE + OFFSET_REG_KEYINPUT
+ .set REG_KEYCNT, REG_BASE + OFFSET_REG_KEYCNT
+
+ .set REG_RCNT, REG_BASE + OFFSET_REG_RCNT
+
+ .set REG_JOYCNT, REG_BASE + OFFSET_REG_JOYCNT
+ .set REG_JOYSTAT, REG_BASE + OFFSET_REG_JOYSTAT
+ .set REG_JOY_RECV, REG_BASE + OFFSET_REG_JOY_RECV
+ .set REG_JOY_RECV_L, REG_BASE + OFFSET_REG_JOY_RECV_L
+ .set REG_JOY_RECV_H, REG_BASE + OFFSET_REG_JOY_RECV_H
+ .set REG_JOY_TRANS, REG_BASE + OFFSET_REG_JOY_TRANS
+ .set REG_JOY_TRANS_L, REG_BASE + OFFSET_REG_JOY_TRANS_L
+ .set REG_JOY_TRANS_H, REG_BASE + OFFSET_REG_JOY_TRANS_H
+
+ .set REG_IME, REG_BASE + OFFSET_REG_IME
+ .set REG_IE, REG_BASE + OFFSET_REG_IE
+ .set REG_IF, REG_BASE + OFFSET_REG_IF
+
+ .set REG_WAITCNT, REG_BASE + OFFSET_REG_WAITCNT
+
+; OAM attribute constants
+
+ .set OAM_OBJ_NORMAL, 0x00000000
+ .set OAM_OBJ_BLEND, 0x00000400
+ .set OAM_OBJ_WINDOW, 0x00000800
+
+ .set OAM_AFFINE_NONE, 0x00000000
+ .set OAM_AFFINE_NORMAL_SIZE, 0x00000100
+ .set OAM_OBJ_DISABLED, 0x00000200
+ .set OAM_AFFINE_DOUBLE_SIZE, 0x00000300
+
+ .set OAM_MOSAIC_OFF, 0x00000000
+ .set OAM_MOSAIC_ON, 0x00001000
+
+ .set OAM_4BPP, 0x00000000
+ .set OAM_8BPP, 0x00002000
+
+ .set OAM_H_FLIP, 0x10000000
+ .set OAM_V_FLIP, 0x20000000
+
+ .set OAM_SQUARE, 0x00000000
+ .set OAM_H_RECTANGLE, 0x00004000
+ .set OAM_V_RECTANGLE, 0x00008000
+ .set OAM_SIZE_0, 0x00000000
+ .set OAM_SIZE_1, 0x40000000
+ .set OAM_SIZE_2, 0x80000000
+ .set OAM_SIZE_3, 0xc0000000
+
+ .set OAM_SIZE_8x8, OAM_SIZE_0 | OAM_SQUARE
+ .set OAM_SIZE_16x16, OAM_SIZE_1 | OAM_SQUARE
+ .set OAM_SIZE_32x32, OAM_SIZE_2 | OAM_SQUARE
+ .set OAM_SIZE_64x64, OAM_SIZE_3 | OAM_SQUARE
+
+ .set OAM_SIZE_16x8, OAM_SIZE_0 | OAM_H_RECTANGLE
+ .set OAM_SIZE_32x8, OAM_SIZE_1 | OAM_H_RECTANGLE
+ .set OAM_SIZE_32x16, OAM_SIZE_2 | OAM_H_RECTANGLE
+ .set OAM_SIZE_64x32, OAM_SIZE_3 | OAM_H_RECTANGLE
+
+ .set OAM_SIZE_8x16, OAM_SIZE_0 | OAM_V_RECTANGLE
+ .set OAM_SIZE_8x32, OAM_SIZE_1 | OAM_V_RECTANGLE
+ .set OAM_SIZE_16x32, OAM_SIZE_2 | OAM_V_RECTANGLE
+ .set OAM_SIZE_32x64, OAM_SIZE_3 | OAM_V_RECTANGLE
diff --git a/constants/item_constants.s b/constants/item_constants.s
new file mode 100644
index 000000000..934ebd798
--- /dev/null
+++ b/constants/item_constants.s
@@ -0,0 +1,310 @@
+ .set ITEM_NONE, 0x000
+ .set ITEM_MASTER_BALL, 0x001
+ .set ITEM_ULTRA_BALL, 0x002
+ .set ITEM_GREAT_BALL, 0x003
+ .set ITEM_POKE_BALL, 0x004
+ .set ITEM_SAFARI_BALL, 0x005
+ .set ITEM_NET_BALL, 0x006
+ .set ITEM_DIVE_BALL, 0x007
+ .set ITEM_NEST_BALL, 0x008
+ .set ITEM_REPEAT_BALL, 0x009
+ .set ITEM_TIMER_BALL, 0x00a
+ .set ITEM_LUXURY_BALL, 0x00b
+ .set ITEM_PREMIER_BALL, 0x00c
+ .set ITEM_POTION, 0x00d
+ .set ITEM_ANTIDOTE, 0x00e
+ .set ITEM_BURN_HEAL, 0x00f
+ .set ITEM_ICE_HEAL, 0x010
+ .set ITEM_AWAKENING, 0x011
+ .set ITEM_PARALYZE_HEAL, 0x012
+ .set ITEM_FULL_RESTORE, 0x013
+ .set ITEM_MAX_POTION, 0x014
+ .set ITEM_HYPER_POTION, 0x015
+ .set ITEM_SUPER_POTION, 0x016
+ .set ITEM_FULL_HEAL, 0x017
+ .set ITEM_REVIVE, 0x018
+ .set ITEM_MAX_REVIVE, 0x019
+ .set ITEM_FRESH_WATER, 0x01a
+ .set ITEM_SODA_POP, 0x01b
+ .set ITEM_LEMONADE, 0x01c
+ .set ITEM_MOOMOO_MILK, 0x01d
+ .set ITEM_ENERGY_POWDER, 0x01e
+ .set ITEM_ENERGY_ROOT, 0x01f
+ .set ITEM_HEAL_POWDER, 0x020
+ .set ITEM_REVIVAL_HERB, 0x021
+ .set ITEM_ETHER, 0x022
+ .set ITEM_MAX_ETHER, 0x023
+ .set ITEM_ELIXIR, 0x024
+ .set ITEM_MAX_ELIXIR, 0x025
+ .set ITEM_LAVA_COOKIE, 0x026
+ .set ITEM_BLUE_FLUTE, 0x027
+ .set ITEM_YELLOW_FLUTE, 0x028
+ .set ITEM_RED_FLUTE, 0x029
+ .set ITEM_BLACK_FLUTE, 0x02a
+ .set ITEM_WHITE_FLUTE, 0x02b
+ .set ITEM_BERRY_JUICE, 0x02c
+ .set ITEM_SACRED_ASH, 0x02d
+ .set ITEM_SHOAL_SALT, 0x02e
+ .set ITEM_SHOAL_SHELL, 0x02f
+ .set ITEM_RED_SHARD, 0x030
+ .set ITEM_BLUE_SHARD, 0x031
+ .set ITEM_YELLOW_SHARD, 0x032
+ .set ITEM_GREEN_SHARD, 0x033
+ .set ITEM_HP_UP, 0x03f
+ .set ITEM_PROTEIN, 0x040
+ .set ITEM_IRON, 0x041
+ .set ITEM_CARBOS, 0x042
+ .set ITEM_CALCIUM, 0x043
+ .set ITEM_RARE_CANDY, 0x044
+ .set ITEM_PP_UP, 0x045
+ .set ITEM_ZINC, 0x046
+ .set ITEM_PP_MAX, 0x047
+ .set ITEM_GUARD_SPEC, 0x049
+ .set ITEM_DIRE_HIT, 0x04a
+ .set ITEM_X_ATTACK, 0x04b
+ .set ITEM_X_DEFEND, 0x04c
+ .set ITEM_X_SPEED, 0x04d
+ .set ITEM_X_ACCURACY, 0x04e
+ .set ITEM_X_SPECIAL, 0x04f
+ .set ITEM_POKE_DOLL, 0x050
+ .set ITEM_FLUFFY_TAIL, 0x051
+ .set ITEM_SUPER_REPEL, 0x053
+ .set ITEM_MAX_REPEL, 0x054
+ .set ITEM_ESCAPE_ROPE, 0x055
+ .set ITEM_REPEL, 0x056
+ .set ITEM_SUN_STONE, 0x05d
+ .set ITEM_MOON_STONE, 0x05e
+ .set ITEM_FIRE_STONE, 0x05f
+ .set ITEM_THUNDER_STONE, 0x060
+ .set ITEM_WATER_STONE, 0x061
+ .set ITEM_LEAF_STONE, 0x062
+ .set ITEM_TINY_MUSHROOM, 0x067
+ .set ITEM_BIG_MUSHROOM, 0x068
+ .set ITEM_PEARL, 0x06a
+ .set ITEM_BIG_PEARL, 0x06b
+ .set ITEM_STARDUST, 0x06c
+ .set ITEM_STAR_PIECE, 0x06d
+ .set ITEM_NUGGET, 0x06e
+ .set ITEM_HEART_SCALE, 0x06f
+ .set ITEM_ORANGE_MAIL, 0x079
+ .set ITEM_HARBOR_MAIL, 0x07a
+ .set ITEM_GLITTER_MAIL, 0x07b
+ .set ITEM_MECH_MAIL, 0x07c
+ .set ITEM_WOOD_MAIL, 0x07d
+ .set ITEM_WAVE_MAIL, 0x07e
+ .set ITEM_BEAD_MAIL, 0x07f
+ .set ITEM_SHADOW_MAIL, 0x080
+ .set ITEM_TROPIC_MAIL, 0x081
+ .set ITEM_DREAM_MAIL, 0x082
+ .set ITEM_FAB_MAIL, 0x083
+ .set ITEM_RETRO_MAIL, 0x084
+ .set ITEM_CHERI_BERRY, 0x085
+ .set ITEM_CHESTO_BERRY, 0x086
+ .set ITEM_PECHA_BERRY, 0x087
+ .set ITEM_RAWST_BERRY, 0x088
+ .set ITEM_ASPEAR_BERRY, 0x089
+ .set ITEM_LEPPA_BERRY, 0x08a
+ .set ITEM_ORAN_BERRY, 0x08b
+ .set ITEM_PERSIM_BERRY, 0x08c
+ .set ITEM_LUM_BERRY, 0x08d
+ .set ITEM_SITRUS_BERRY, 0x08e
+ .set ITEM_FIGY_BERRY, 0x08f
+ .set ITEM_WIKI_BERRY, 0x090
+ .set ITEM_MAGO_BERRY, 0x091
+ .set ITEM_AGUAV_BERRY, 0x092
+ .set ITEM_IAPAPA_BERRY, 0x093
+ .set ITEM_RAZZ_BERRY, 0x094
+ .set ITEM_BLUK_BERRY, 0x095
+ .set ITEM_NANAB_BERRY, 0x096
+ .set ITEM_WEPEAR_BERRY, 0x097
+ .set ITEM_PINAP_BERRY, 0x098
+ .set ITEM_POMEG_BERRY, 0x099
+ .set ITEM_KELPSY_BERRY, 0x09a
+ .set ITEM_QUALOT_BERRY, 0x09b
+ .set ITEM_HONDEW_BERRY, 0x09c
+ .set ITEM_GREPA_BERRY, 0x09d
+ .set ITEM_TAMATO_BERRY, 0x09e
+ .set ITEM_CORNN_BERRY, 0x09f
+ .set ITEM_MAGOST_BERRY, 0x0a0
+ .set ITEM_RABUTA_BERRY, 0x0a1
+ .set ITEM_NOMEL_BERRY, 0x0a2
+ .set ITEM_SPELON_BERRY, 0x0a3
+ .set ITEM_PAMTRE_BERRY, 0x0a4
+ .set ITEM_WATMEL_BERRY, 0x0a5
+ .set ITEM_DURIN_BERRY, 0x0a6
+ .set ITEM_BELUE_BERRY, 0x0a7
+ .set ITEM_LIECHI_BERRY, 0x0a8
+ .set ITEM_GANLON_BERRY, 0x0a9
+ .set ITEM_SALAC_BERRY, 0x0aa
+ .set ITEM_PETAYA_BERRY, 0x0ab
+ .set ITEM_APICOT_BERRY, 0x0ac
+ .set ITEM_LANSAT_BERRY, 0x0ad
+ .set ITEM_STARF_BERRY, 0x0ae
+ .set ITEM_ENIGMA_BERRY, 0x0af
+ .set ITEM_BRIGHT_POWDER, 0x0b3
+ .set ITEM_WHITE_HERB, 0x0b4
+ .set ITEM_MACHO_BRACE, 0x0b5
+ .set ITEM_EXP_SHARE, 0x0b6
+ .set ITEM_QUICK_CLAW, 0x0b7
+ .set ITEM_SOOTHE_BELL, 0x0b8
+ .set ITEM_MENTAL_HERB, 0x0b9
+ .set ITEM_CHOICE_BAND, 0x0ba
+ .set ITEM_KINGS_ROCK, 0x0bb
+ .set ITEM_SILVER_POWDER, 0x0bc
+ .set ITEM_AMULET_COIN, 0x0bd
+ .set ITEM_CLEANSE_TAG, 0x0be
+ .set ITEM_SOUL_DEW, 0x0bf
+ .set ITEM_DEEP_SEA_TOOTH, 0x0c0
+ .set ITEM_DEEP_SEA_SCALE, 0x0c1
+ .set ITEM_SMOKE_BALL, 0x0c2
+ .set ITEM_EVERSTONE, 0x0c3
+ .set ITEM_FOCUS_BAND, 0x0c4
+ .set ITEM_LUCKY_EGG, 0x0c5
+ .set ITEM_SCOPE_LENS, 0x0c6
+ .set ITEM_METAL_COAT, 0x0c7
+ .set ITEM_LEFTOVERS, 0x0c8
+ .set ITEM_DRAGON_SCALE, 0x0c9
+ .set ITEM_LIGHT_BALL, 0x0ca
+ .set ITEM_SOFT_SAND, 0x0cb
+ .set ITEM_HARD_STONE, 0x0cc
+ .set ITEM_MIRACLE_SEED, 0x0cd
+ .set ITEM_BLACK_GLASSES, 0x0ce
+ .set ITEM_BLACK_BELT, 0x0cf
+ .set ITEM_MAGNET, 0x0d0
+ .set ITEM_MYSTIC_WATER, 0x0d1
+ .set ITEM_SHARP_BEAK, 0x0d2
+ .set ITEM_POISON_BARB, 0x0d3
+ .set ITEM_NEVER_MELT_ICE, 0x0d4
+ .set ITEM_SPELL_TAG, 0x0d5
+ .set ITEM_TWISTED_SPOON, 0x0d6
+ .set ITEM_CHARCOAL, 0x0d7
+ .set ITEM_DRAGON_FANG, 0x0d8
+ .set ITEM_SILK_SCARF, 0x0d9
+ .set ITEM_UP_GRADE, 0x0da
+ .set ITEM_SHELL_BELL, 0x0db
+ .set ITEM_SEA_INCENSE, 0x0dc
+ .set ITEM_LAX_INCENSE, 0x0dd
+ .set ITEM_LUCKY_PUNCH, 0x0de
+ .set ITEM_METAL_POWDER, 0x0df
+ .set ITEM_THICK_CLUB, 0x0e0
+ .set ITEM_STICK, 0x0e1
+ .set ITEM_RED_SCARF, 0x0fe
+ .set ITEM_BLUE_SCARF, 0x0ff
+ .set ITEM_PINK_SCARF, 0x100
+ .set ITEM_GREEN_SCARF, 0x101
+ .set ITEM_YELLOW_SCARF, 0x102
+ .set ITEM_MACH_BIKE, 0x103
+ .set ITEM_COIN_CASE, 0x104
+ .set ITEM_ITEMFINDER, 0x105
+ .set ITEM_OLD_ROD, 0x106
+ .set ITEM_GOOD_ROD, 0x107
+ .set ITEM_SUPER_ROD, 0x108
+ .set ITEM_SS_TICKET, 0x109
+ .set ITEM_CONTEST_PASS, 0x10a
+ .set ITEM_WAILMER_PAIL, 0x10c
+ .set ITEM_DEVON_GOODS, 0x10d
+ .set ITEM_SOOT_SACK, 0x10e
+ .set ITEM_BASEMENT_KEY, 0x10f
+ .set ITEM_ACRO_BIKE, 0x110
+ .set ITEM_POKEBLOCK_CASE, 0x111
+ .set ITEM_LETTER, 0x112
+ .set ITEM_EON_TICKET, 0x113
+ .set ITEM_RED_ORB, 0x114
+ .set ITEM_BLUE_ORB, 0x115
+ .set ITEM_SCANNER, 0x116
+ .set ITEM_GO_GOGGLES, 0x117
+ .set ITEM_METEORITE, 0x118
+ .set ITEM_ROOM_1_KEY, 0x119
+ .set ITEM_ROOM_2_KEY, 0x11a
+ .set ITEM_ROOM_4_KEY, 0x11b
+ .set ITEM_ROOM_6_KEY, 0x11c
+ .set ITEM_STORAGE_KEY, 0x11d
+ .set ITEM_ROOT_FOSSIL, 0x11e
+ .set ITEM_CLAW_FOSSIL, 0x11f
+ .set ITEM_DEVON_SCOPE, 0x120
+ .set ITEM_TM01, 0x121
+ .set ITEM_TM02, 0x122
+ .set ITEM_TM03, 0x123
+ .set ITEM_TM04, 0x124
+ .set ITEM_TM05, 0x125
+ .set ITEM_TM06, 0x126
+ .set ITEM_TM07, 0x127
+ .set ITEM_TM08, 0x128
+ .set ITEM_TM09, 0x129
+ .set ITEM_TM10, 0x12a
+ .set ITEM_TM11, 0x12b
+ .set ITEM_TM12, 0x12c
+ .set ITEM_TM13, 0x12d
+ .set ITEM_TM14, 0x12e
+ .set ITEM_TM15, 0x12f
+ .set ITEM_TM16, 0x130
+ .set ITEM_TM17, 0x131
+ .set ITEM_TM18, 0x132
+ .set ITEM_TM19, 0x133
+ .set ITEM_TM20, 0x134
+ .set ITEM_TM21, 0x135
+ .set ITEM_TM22, 0x136
+ .set ITEM_TM23, 0x137
+ .set ITEM_TM24, 0x138
+ .set ITEM_TM25, 0x139
+ .set ITEM_TM26, 0x13a
+ .set ITEM_TM27, 0x13b
+ .set ITEM_TM28, 0x13c
+ .set ITEM_TM29, 0x13d
+ .set ITEM_TM30, 0x13e
+ .set ITEM_TM31, 0x13f
+ .set ITEM_TM32, 0x140
+ .set ITEM_TM33, 0x141
+ .set ITEM_TM34, 0x142
+ .set ITEM_TM35, 0x143
+ .set ITEM_TM36, 0x144
+ .set ITEM_TM37, 0x145
+ .set ITEM_TM38, 0x146
+ .set ITEM_TM39, 0x147
+ .set ITEM_TM40, 0x148
+ .set ITEM_TM41, 0x149
+ .set ITEM_TM42, 0x14a
+ .set ITEM_TM43, 0x14b
+ .set ITEM_TM44, 0x14c
+ .set ITEM_TM45, 0x14d
+ .set ITEM_TM46, 0x14e
+ .set ITEM_TM47, 0x14f
+ .set ITEM_TM48, 0x150
+ .set ITEM_TM49, 0x151
+ .set ITEM_TM50, 0x152
+ .set ITEM_HM01, 0x153
+ .set ITEM_HM02, 0x154
+ .set ITEM_HM03, 0x155
+ .set ITEM_HM04, 0x156
+ .set ITEM_HM05, 0x157
+ .set ITEM_HM06, 0x158
+ .set ITEM_HM07, 0x159
+ .set ITEM_HM08, 0x15a
+ .set ITEM_OAKS_PARCEL, 0x15d
+ .set ITEM_POKE_FLUTE, 0x15e
+ .set ITEM_SECRET_KEY, 0x15f
+ .set ITEM_BIKE_VOUCHER, 0x160
+ .set ITEM_GOLD_TEETH, 0x161
+ .set ITEM_OLD_AMBER, 0x162
+ .set ITEM_CARD_KEY, 0x163
+ .set ITEM_LIFT_KEY, 0x164
+ .set ITEM_HELIX_FOSSIL, 0x165
+ .set ITEM_DOME_FOSSIL, 0x166
+ .set ITEM_SILPH_SCOPE, 0x167
+ .set ITEM_BICYCLE, 0x168
+ .set ITEM_TOWN_MAP, 0x169
+ .set ITEM_VS_SEEKER, 0x16a
+ .set ITEM_FAME_CHECKER, 0x16b
+ .set ITEM_TM_CASE, 0x16c
+ .set ITEM_BERRY_POUCH, 0x16d
+ .set ITEM_TEACHY_TV, 0x16e
+ .set ITEM_TRI_PASS, 0x16f
+ .set ITEM_RAINBOW_PASS, 0x170
+ .set ITEM_TEA, 0x171
+ .set ITEM_MYSTIC_TICKET, 0x172
+ .set ITEM_AURORA_TICKET, 0x173
+ .set ITEM_POWDER_JAR, 0x174
+ .set ITEM_RUBY, 0x175
+ .set ITEM_SAPPHIRE, 0x176
+ .set ITEM_MAGMA_EMBLEM, 0x177
+ .set ITEM_OLD_SEA_MAP, 0x178
diff --git a/constants/item_data_constants.s b/constants/item_data_constants.s
new file mode 100644
index 000000000..07ceb6e3b
--- /dev/null
+++ b/constants/item_data_constants.s
@@ -0,0 +1,5 @@
+ .set POCKET_ITEMS, 0x01
+ .set POCKET_POKE_BALLS, 0x02
+ .set POCKET_TM_HM, 0x03
+ .set POCKET_BERRIES, 0x04
+ .set POCKET_KEY_ITEMS, 0x05
diff --git a/constants/map_constants.s b/constants/map_constants.s
new file mode 100644
index 000000000..3058bb839
--- /dev/null
+++ b/constants/map_constants.s
@@ -0,0 +1,587 @@
+ .set cur_map_group, -1
+
+ new_map_group
+ map_group PETALBURG_CITY ; 0.0
+ map_group SLATEPORT_CITY ; 0.1
+ map_group MAUVILLE_CITY ; 0.2
+ map_group RUSTBORO_CITY ; 0.3
+ map_group FORTREE_CITY ; 0.4
+ map_group LILYCOVE_CITY ; 0.5
+ map_group MOSSDEEP_CITY ; 0.6
+ map_group SOOTOPOLIS_CITY ; 0.7
+ map_group EVER_GRANDE_CITY ; 0.8
+ map_group LITTLEROOT_TOWN ; 0.9
+ map_group OLDALE_TOWN ; 0.10
+ map_group DEWFORD_TOWN ; 0.11
+ map_group LAVARIDGE_TOWN ; 0.12
+ map_group FALLARBOR_TOWN ; 0.13
+ map_group VERDANTURF_TOWN ; 0.14
+ map_group PACIFIDLOG_TOWN ; 0.15
+ map_group ROUTE_101 ; 0.16
+ map_group ROUTE_102 ; 0.17
+ map_group ROUTE_103 ; 0.18
+ map_group ROUTE_104 ; 0.19
+ map_group ROUTE_105 ; 0.20
+ map_group ROUTE_106 ; 0.21
+ map_group ROUTE_107 ; 0.22
+ map_group ROUTE_108 ; 0.23
+ map_group ROUTE_109 ; 0.24
+ map_group ROUTE_110 ; 0.25
+ map_group ROUTE_111 ; 0.26
+ map_group ROUTE_112 ; 0.27
+ map_group ROUTE_113 ; 0.28
+ map_group ROUTE_114 ; 0.29
+ map_group ROUTE_115 ; 0.30
+ map_group ROUTE_116 ; 0.31
+ map_group ROUTE_117 ; 0.32
+ map_group ROUTE_118 ; 0.33
+ map_group ROUTE_119 ; 0.34
+ map_group ROUTE_120 ; 0.35
+ map_group ROUTE_121 ; 0.36
+ map_group ROUTE_122 ; 0.37
+ map_group ROUTE_123 ; 0.38
+ map_group ROUTE_124 ; 0.39
+ map_group ROUTE_125 ; 0.40
+ map_group ROUTE_126 ; 0.41
+ map_group ROUTE_127 ; 0.42
+ map_group ROUTE_128 ; 0.43
+ map_group ROUTE_129 ; 0.44
+ map_group ROUTE_130 ; 0.45
+ map_group ROUTE_131 ; 0.46
+ map_group ROUTE_132 ; 0.47
+ map_group ROUTE_133 ; 0.48
+ map_group ROUTE_134 ; 0.49
+ map_group UNDERWATER_1 ; 0.50
+ map_group UNDERWATER_2 ; 0.51
+ map_group UNDERWATER_3 ; 0.52
+ map_group UNDERWATER_4 ; 0.53
+ map_group UNDERWATER_5 ; 0.54
+ map_group UNDERWATER_6 ; 0.55
+ map_group UNDERWATER_7 ; 0.56
+
+ new_map_group
+ map_group LITTLEROOT_TOWN_BRENDANS_HOUSE_1F ; 1.0
+ map_group LITTLEROOT_TOWN_BRENDANS_HOUSE_2F ; 1.1
+ map_group LITTLEROOT_TOWN_MAYS_HOUSE_1F ; 1.2
+ map_group LITTLEROOT_TOWN_MAYS_HOUSE_2F ; 1.3
+ map_group LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB ; 1.4
+
+ new_map_group
+ map_group OLDALE_TOWN_HOUSE_1 ; 2.0
+ map_group OLDALE_TOWN_HOUSE_2 ; 2.1
+ map_group OLDALE_TOWN_POKEMON_CENTER_1F ; 2.2
+ map_group OLDALE_TOWN_POKEMON_CENTER_2F ; 2.3
+ map_group OLDALE_TOWN_MART ; 2.4
+
+ new_map_group
+ map_group DEWFORD_TOWN_HOUSE_1 ; 3.0
+ map_group DEWFORD_TOWN_POKEMON_CENTER_1F ; 3.1
+ map_group DEWFORD_TOWN_POKEMON_CENTER_2F ; 3.2
+ map_group DEWFORD_TOWN_GYM ; 3.3
+ map_group DEWFORD_TOWN_HALL ; 3.4
+ map_group DEWFORD_TOWN_HOUSE_2 ; 3.5
+
+ new_map_group
+ map_group LAVARIDGE_TOWN_HERB_SHOP ; 4.0
+ map_group LAVARIDGE_TOWN_GYM_1F ; 4.1
+ map_group LAVARIDGE_TOWN_GYM_B1F ; 4.2
+ map_group LAVARIDGE_TOWN_HOUSE ; 4.3
+ map_group LAVARIDGE_TOWN_MART ; 4.4
+ map_group LAVARIDGE_TOWN_POKEMON_CENTER_1F ; 4.5
+ map_group LAVARIDGE_TOWN_POKEMON_CENTER_2F ; 4.6
+
+ new_map_group
+ map_group FALLARBOR_TOWN_MART ; 5.0
+ map_group FALLARBOR_TOWN_BATTLE_TENT_LOBBY ; 5.1
+ map_group FALLARBOR_TOWN_BATTLE_TENT_CORRIDOR ; 5.2
+ map_group FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM ; 5.3
+ map_group FALLARBOR_TOWN_POKEMON_CENTER_1F ; 5.4
+ map_group FALLARBOR_TOWN_POKEMON_CENTER_2F ; 5.5
+ map_group FALLARBOR_TOWN_HOUSE_1 ; 5.6
+ map_group FALLARBOR_TOWN_HOUSE_2 ; 5.7
+
+ new_map_group
+ map_group VERDANTURF_TOWN_BATTLE_TENT_LOBBY ; 6.0
+ map_group VERDANTURF_TOWN_BATTLE_TENT_CORRIDOR ; 6.1
+ map_group VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM ; 6.2
+ map_group VERDANTURF_TOWN_MART ; 6.3
+ map_group VERDANTURF_TOWN_POKEMON_CENTER_1F ; 6.4
+ map_group VERDANTURF_TOWN_POKEMON_CENTER_2F ; 6.5
+ map_group VERDANTURF_TOWN_WANDAS_HOUSE ; 6.6
+ map_group VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE ; 6.7
+ map_group VERDANTURF_TOWN_HOUSE ; 6.8
+
+ new_map_group
+ map_group PACIFIDLOG_TOWN_POKEMON_CENTER_1F ; 7.0
+ map_group PACIFIDLOG_TOWN_POKEMON_CENTER_2F ; 7.1
+ map_group PACIFIDLOG_TOWN_HOUSE_1 ; 7.2
+ map_group PACIFIDLOG_TOWN_HOUSE_2 ; 7.3
+ map_group PACIFIDLOG_TOWN_HOUSE_3 ; 7.4
+ map_group PACIFIDLOG_TOWN_HOUSE_4 ; 7.5
+ map_group PACIFIDLOG_TOWN_HOUSE_5 ; 7.6
+
+ new_map_group
+ map_group PETALBURG_CITY_WALLYS_HOUSE ; 8.0
+ map_group PETALBURG_CITY_GYM ; 8.1
+ map_group PETALBURG_CITY_HOUSE_1 ; 8.2
+ map_group PETALBURG_CITY_HOUSE_2 ; 8.3
+ map_group PETALBURG_CITY_POKEMON_CENTER_1F ; 8.4
+ map_group PETALBURG_CITY_POKEMON_CENTER_2F ; 8.5
+ map_group PETALBURG_CITY_MART ; 8.6
+
+ new_map_group
+ map_group SLATEPORT_CITY_STERNS_SHIPYARD_1F ; 9.0
+ map_group SLATEPORT_CITY_STERNS_SHIPYARD_2F ; 9.1
+ map_group SLATEPORT_CITY_BATTLE_TENT_LOBBY ; 9.2
+ map_group SLATEPORT_CITY_BATTLE_TENT_CORRIDOR ; 9.3
+ map_group SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM ; 9.4
+ map_group SLATEPORT_CITY_HOUSE_1 ; 9.5
+ map_group SLATEPORT_CITY_POKEMON_FAN_CLUB ; 9.6
+ map_group SLATEPORT_CITY_OCEANIC_MUSEUM_1F ; 9.7
+ map_group SLATEPORT_CITY_OCEANIC_MUSEUM_2F ; 9.8
+ map_group SLATEPORT_CITY_HARBOR ; 9.9
+ map_group SLATEPORT_CITY_HOUSE_2 ; 9.10
+ map_group SLATEPORT_CITY_POKEMON_CENTER_1F ; 9.11
+ map_group SLATEPORT_CITY_POKEMON_CENTER_2F ; 9.12
+ map_group SLATEPORT_CITY_MART ; 9.13
+
+ new_map_group
+ map_group MAUVILLE_CITY_GYM ; 10.0
+ map_group MAUVILLE_CITY_BIKE_SHOP ; 10.1
+ map_group MAUVILLE_CITY_HOUSE_1 ; 10.2
+ map_group MAUVILLE_CITY_GAME_CORNER ; 10.3
+ map_group MAUVILLE_CITY_HOUSE_2 ; 10.4
+ map_group MAUVILLE_CITY_POKEMON_CENTER_1F ; 10.5
+ map_group MAUVILLE_CITY_POKEMON_CENTER_2F ; 10.6
+ map_group MAUVILLE_CITY_MART ; 10.7
+
+ new_map_group
+ map_group RUSTBORO_CITY_DEVON_CORP_1F ; 11.0
+ map_group RUSTBORO_CITY_DEVON_CORP_2F ; 11.1
+ map_group RUSTBORO_CITY_DEVON_CORP_3F ; 11.2
+ map_group RUSTBORO_CITY_GYM ; 11.3
+ map_group RUSTBORO_CITY_POKEMON_SCHOOL ; 11.4
+ map_group RUSTBORO_CITY_POKEMON_CENTER_1F ; 11.5
+ map_group RUSTBORO_CITY_POKEMON_CENTER_2F ; 11.6
+ map_group RUSTBORO_CITY_MART ; 11.7
+ map_group RUSTBORO_CITY_FLAT_1_1F ; 11.8
+ map_group RUSTBORO_CITY_FLAT_1_2F ; 11.9
+ map_group RUSTBORO_CITY_HOUSE_1 ; 11.10
+ map_group RUSTBORO_CITY_CUTTERS_HOUSE ; 11.11
+ map_group RUSTBORO_CITY_HOUSE_2 ; 11.12
+ map_group RUSTBORO_CITY_FLAT_2_1F ; 11.13
+ map_group RUSTBORO_CITY_FLAT_2_2F ; 11.14
+ map_group RUSTBORO_CITY_FLAT_2_3F ; 11.15
+ map_group RUSTBORO_CITY_HOUSE_3 ; 11.16
+
+ new_map_group
+ map_group FORTREE_CITY_HOUSE_1 ; 12.0
+ map_group FORTREE_CITY_GYM ; 12.1
+ map_group FORTREE_CITY_POKEMON_CENTER_1F ; 12.2
+ map_group FORTREE_CITY_POKEMON_CENTER_2F ; 12.3
+ map_group FORTREE_CITY_MART ; 12.4
+ map_group FORTREE_CITY_HOUSE_2 ; 12.5
+ map_group FORTREE_CITY_HOUSE_3 ; 12.6
+ map_group FORTREE_CITY_HOUSE_4 ; 12.7
+ map_group FORTREE_CITY_HOUSE_5 ; 12.8
+ map_group FORTREE_CITY_DECORATION_SHOP ; 12.9
+
+ new_map_group
+ map_group LILYCOVE_CITY_COVE_LILY_MOTEL_1F ; 13.0
+ map_group LILYCOVE_CITY_COVE_LILY_MOTEL_2F ; 13.1
+ map_group LILYCOVE_CITY_LILYCOVE_MUSEUM_1F ; 13.2
+ map_group LILYCOVE_CITY_LILYCOVE_MUSEUM_2F ; 13.3
+ map_group LILYCOVE_CITY_CONTEST_LOBBY ; 13.4
+ map_group LILYCOVE_CITY_CONTEST_HALL ; 13.5
+ map_group LILYCOVE_CITY_POKEMON_CENTER_1F ; 13.6
+ map_group LILYCOVE_CITY_POKEMON_CENTER_2F ; 13.7
+ map_group LILYCOVE_CITY_UNUSED_MART ; 13.8
+ map_group LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB ; 13.9
+ map_group LILYCOVE_CITY_HARBOR ; 13.10
+ map_group LILYCOVE_CITY_MOVE_DELETERS_HOUSE ; 13.11
+ map_group LILYCOVE_CITY_HOUSE_1 ; 13.12
+ map_group LILYCOVE_CITY_HOUSE_2 ; 13.13
+ map_group LILYCOVE_CITY_HOUSE_3 ; 13.14
+ map_group LILYCOVE_CITY_HOUSE_4 ; 13.15
+ map_group LILYCOVE_CITY_DEPARTMENT_STORE_1F ; 13.16
+ map_group LILYCOVE_CITY_DEPARTMENT_STORE_2F ; 13.17
+ map_group LILYCOVE_CITY_DEPARTMENT_STORE_3F ; 13.18
+ map_group LILYCOVE_CITY_DEPARTMENT_STORE_4F ; 13.19
+ map_group LILYCOVE_CITY_DEPARTMENT_STORE_5F ; 13.20
+ map_group LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP ; 13.21
+ map_group LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR ; 13.22
+
+ new_map_group
+ map_group MOSSDEEP_CITY_GYM ; 14.0
+ map_group MOSSDEEP_CITY_HOUSE_1 ; 14.1
+ map_group MOSSDEEP_CITY_HOUSE_2 ; 14.2
+ map_group MOSSDEEP_CITY_POKEMON_CENTER_1F ; 14.3
+ map_group MOSSDEEP_CITY_POKEMON_CENTER_2F ; 14.4
+ map_group MOSSDEEP_CITY_MART ; 14.5
+ map_group MOSSDEEP_CITY_HOUSE_3 ; 14.6
+ map_group MOSSDEEP_CITY_STEVENS_HOUSE ; 14.7
+ map_group MOSSDEEP_CITY_HOUSE_4 ; 14.8
+ map_group MOSSDEEP_CITY_SPACE_CENTER_1F ; 14.9
+ map_group MOSSDEEP_CITY_SPACE_CENTER_2F ; 14.10
+ map_group MOSSDEEP_CITY_GAME_CORNER_1F ; 14.11
+ map_group MOSSDEEP_CITY_GAME_CORNER_B1F ; 14.12
+
+ new_map_group
+ map_group SOOTOPOLIS_CITY_GYM_1F ; 15.0
+ map_group SOOTOPOLIS_CITY_GYM_B1F ; 15.1
+ map_group SOOTOPOLIS_CITY_POKEMON_CENTER_1F ; 15.2
+ map_group SOOTOPOLIS_CITY_POKEMON_CENTER_2F ; 15.3
+ map_group SOOTOPOLIS_CITY_MART ; 15.4
+ map_group SOOTOPOLIS_CITY_HOUSE_1 ; 15.5
+ map_group SOOTOPOLIS_CITY_HOUSE_2 ; 15.6
+ map_group SOOTOPOLIS_CITY_HOUSE_3 ; 15.7
+ map_group SOOTOPOLIS_CITY_HOUSE_4 ; 15.8
+ map_group SOOTOPOLIS_CITY_HOUSE_5 ; 15.9
+ map_group SOOTOPOLIS_CITY_HOUSE_6 ; 15.10
+ map_group SOOTOPOLIS_CITY_HOUSE_7 ; 15.11
+ map_group SOOTOPOLIS_CITY_LOTAD_AND_SEEDOT_HOUSE ; 15.12
+ map_group SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F ; 15.13
+ map_group SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_B1F ; 15.14
+
+ new_map_group
+ map_group EVER_GRANDE_CITY_SIDNEYS_ROOM ; 16.0
+ map_group EVER_GRANDE_CITY_PHOEBES_ROOM ; 16.1
+ map_group EVER_GRANDE_CITY_GLACIAS_ROOM ; 16.2
+ map_group EVER_GRANDE_CITY_DRAKES_ROOM ; 16.3
+ map_group EVER_GRANDE_CITY_CHAMPIONS_ROOM ; 16.4
+ map_group EVER_GRANDE_CITY_HALL_1 ; 16.5
+ map_group EVER_GRANDE_CITY_HALL_2 ; 16.6
+ map_group EVER_GRANDE_CITY_HALL_3 ; 16.7
+ map_group EVER_GRANDE_CITY_HALL_4 ; 16.8
+ map_group EVER_GRANDE_CITY_HALL_5 ; 16.9
+ map_group EVER_GRANDE_CITY_POKEMON_LEAGUE_1F ; 16.10
+ map_group EVER_GRANDE_CITY_HALL_OF_FAME ; 16.11
+ map_group EVER_GRANDE_CITY_POKEMON_CENTER_1F ; 16.12
+ map_group EVER_GRANDE_CITY_POKEMON_CENTER_2F ; 16.13
+ map_group EVER_GRANDE_CITY_POKEMON_LEAGUE_2F ; 16.14
+
+ new_map_group
+ map_group ROUTE_104_MR_BRINEYS_HOUSE ; 17.0
+ map_group ROUTE_104_PRETTY_PETAL_FLOWER_SHOP ; 17.1
+
+ new_map_group
+ map_group ROUTE_111_WINSTRATE_FAMILYS_HOUSE ; 18.0
+ map_group ROUTE_111_OLD_LADYS_REST_STOP ; 18.1
+
+ new_map_group
+ map_group ROUTE_112_CABLE_CAR_STATION ; 19.0
+ map_group MT_CHIMNEY_CABLE_CAR_STATION ; 19.1
+
+ new_map_group
+ map_group ROUTE_114_FOSSIL_MANIACS_HOUSE ; 20.0
+ map_group ROUTE_114_FOSSIL_MANIACS_TUNNEL ; 20.1
+ map_group ROUTE_114_LANETTES_HOUSE ; 20.2
+
+ new_map_group
+ map_group ROUTE_116_TUNNELERS_REST_HOUSE ; 21.0
+
+ new_map_group
+ map_group ROUTE_117_POKEMON_DAY_CARE ; 22.0
+
+ new_map_group
+ map_group ROUTE_121_SAFARI_ZONE_ENTRANCE ; 23.0
+
+ new_map_group
+ map_group METEOR_FALLS_1F_1R ; 24.0
+ map_group METEOR_FALLS_1F_2R ; 24.1
+ map_group METEOR_FALLS_B1F_1R ; 24.2
+ map_group METEOR_FALLS_B1F_2R ; 24.3
+ map_group RUSTURF_TUNNEL ; 24.4
+ map_group UNDERWATER_SOOTOPOLIS_CITY ; 24.5
+ map_group DESERT_RUINS ; 24.6
+ map_group GRANITE_CAVE_1F ; 24.7
+ map_group GRANITE_CAVE_B1F ; 24.8
+ map_group GRANITE_CAVE_B2F ; 24.9
+ map_group GRANITE_CAVE_STEVENS_ROOM ; 24.10
+ map_group PETALBURG_WOODS ; 24.11
+ map_group MT_CHIMNEY ; 24.12
+ map_group JAGGED_PASS ; 24.13
+ map_group FIERY_PATH ; 24.14
+ map_group MT_PYRE_1F ; 24.15
+ map_group MT_PYRE_2F ; 24.16
+ map_group MT_PYRE_3F ; 24.17
+ map_group MT_PYRE_4F ; 24.18
+ map_group MT_PYRE_5F ; 24.19
+ map_group MT_PYRE_6F ; 24.20
+ map_group MT_PYRE_EXTERIOR ; 24.21
+ map_group MT_PYRE_SUMMIT ; 24.22
+ map_group AQUA_HIDEOUT_1F ; 24.23
+ map_group AQUA_HIDEOUT_B1F ; 24.24
+ map_group AQUA_HIDEOUT_B2F ; 24.25
+ map_group UNDERWATER_SEAFLOOR_CAVERN ; 24.26
+ map_group SEAFLOOR_CAVERN_ENTRANCE ; 24.27
+ map_group SEAFLOOR_CAVERN_ROOM_1 ; 24.28
+ map_group SEAFLOOR_CAVERN_ROOM_2 ; 24.29
+ map_group SEAFLOOR_CAVERN_ROOM_3 ; 24.30
+ map_group SEAFLOOR_CAVERN_ROOM_4 ; 24.31
+ map_group SEAFLOOR_CAVERN_ROOM_5 ; 24.32
+ map_group SEAFLOOR_CAVERN_ROOM_6 ; 24.33
+ map_group SEAFLOOR_CAVERN_ROOM_7 ; 24.34
+ map_group SEAFLOOR_CAVERN_ROOM_8 ; 24.35
+ map_group SEAFLOOR_CAVERN_ROOM_9 ; 24.36
+ map_group CAVE_OF_ORIGIN_ENTRANCE ; 24.37
+ map_group CAVE_OF_ORIGIN_1F ; 24.38
+ map_group CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP_1 ; 24.39
+ map_group CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP_2 ; 24.40
+ map_group CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP_3 ; 24.41
+ map_group CAVE_OF_ORIGIN_B1F ; 24.42
+ map_group VICTORY_ROAD_1F ; 24.43
+ map_group VICTORY_ROAD_B1F ; 24.44
+ map_group VICTORY_ROAD_B2F ; 24.45
+ map_group SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM ; 24.46
+ map_group SHOAL_CAVE_LOW_TIDE_INNER_ROOM ; 24.47
+ map_group SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM ; 24.48
+ map_group SHOAL_CAVE_LOW_TIDE_LOWER_ROOM ; 24.49
+ map_group SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM ; 24.50
+ map_group SHOAL_CAVE_HIGH_TIDE_INNER_ROOM ; 24.51
+ map_group NEW_MAUVILLE_ENTRANCE ; 24.52
+ map_group NEW_MAUVILLE_INSIDE ; 24.53
+ map_group ABANDONED_SHIP_DECK ; 24.54
+ map_group ABANDONED_SHIP_CORRIDORS_1F ; 24.55
+ map_group ABANDONED_SHIP_ROOMS_1F ; 24.56
+ map_group ABANDONED_SHIP_CORRIDORS_B1F ; 24.57
+ map_group ABANDONED_SHIP_ROOMS_B1F ; 24.58
+ map_group ABANDONED_SHIP_ROOMS_2_B1F ; 24.59
+ map_group ABANDONED_SHIP_UNDERWATER_1 ; 24.60
+ map_group ABANDONED_SHIP_ROOM_B1F ; 24.61
+ map_group ABANDONED_SHIP_ROOMS_2_1F ; 24.62
+ map_group ABANDONED_SHIP_CAPTAINS_OFFICE ; 24.63
+ map_group ABANDONED_SHIP_UNDERWATER_2 ; 24.64
+ map_group ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS ; 24.65
+ map_group ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS ; 24.66
+ map_group ISLAND_CAVE ; 24.67
+ map_group ANCIENT_TOMB ; 24.68
+ map_group UNDERWATER_ROUTE_134 ; 24.69
+ map_group UNDERWATER_SEALED_CHAMBER ; 24.70
+ map_group SEALED_CHAMBER_OUTER_ROOM ; 24.71
+ map_group SEALED_CHAMBER_INNER_ROOM ; 24.72
+ map_group SCORCHED_SLAB ; 24.73
+ map_group AQUA_HIDEOUT_UNUSED_RUBY_MAP_1 ; 24.74
+ map_group AQUA_HIDEOUT_UNUSED_RUBY_MAP_2 ; 24.75
+ map_group AQUA_HIDEOUT_UNUSED_RUBY_MAP_3 ; 24.76
+ map_group SKY_PILLAR_ENTRANCE ; 24.77
+ map_group SKY_PILLAR_OUTSIDE ; 24.78
+ map_group SKY_PILLAR_1F ; 24.79
+ map_group SKY_PILLAR_2F ; 24.80
+ map_group SKY_PILLAR_3F ; 24.81
+ map_group SKY_PILLAR_4F ; 24.82
+ map_group SHOAL_CAVE_LOW_TIDE_ICE_ROOM ; 24.83
+ map_group SKY_PILLAR_5F ; 24.84
+ map_group SKY_PILLAR_TOP ; 24.85
+ map_group MAGMA_HIDEOUT_1F ; 24.86
+ map_group MAGMA_HIDEOUT_2F_1R ; 24.87
+ map_group MAGMA_HIDEOUT_2F_2R ; 24.88
+ map_group MAGMA_HIDEOUT_3F_1R ; 24.89
+ map_group MAGMA_HIDEOUT_3F_2R ; 24.90
+ map_group MAGMA_HIDEOUT_4F ; 24.91
+ map_group MAGMA_HIDEOUT_3F_3R ; 24.92
+ map_group MAGMA_HIDEOUT_2F_3R ; 24.93
+ map_group MIRAGE_TOWER_1F ; 24.94
+ map_group MIRAGE_TOWER_2F ; 24.95
+ map_group MIRAGE_TOWER_3F ; 24.96
+ map_group MIRAGE_TOWER_4F ; 24.97
+ map_group DESERT_UNDERPASS ; 24.98
+ map_group ARTISAN_CAVE_B1F ; 24.99
+ map_group ARTISAN_CAVE_1F ; 24.100
+ map_group UNDERWATER_MARINE_CAVE ; 24.101
+ map_group MARINE_CAVE_ENTRANCE ; 24.102
+ map_group MARINE_CAVE_END ; 24.103
+ map_group TERRA_CAVE_ENTRANCE ; 24.104
+ map_group TERRA_CAVE_END ; 24.105
+ map_group ALTERING_CAVE ; 24.106
+ map_group METEOR_FALLS_STEVENS_CAVE ; 24.107
+
+ new_map_group
+ map_group SECRET_BASE_RED_CAVE_1 ; 25.0
+ map_group SECRET_BASE_BROWN_CAVE_1 ; 25.1
+ map_group SECRET_BASE_BLUE_CAVE_1 ; 25.2
+ map_group SECRET_BASE_YELLOW_CAVE_1 ; 25.3
+ map_group SECRET_BASE_TREE_1 ; 25.4
+ map_group SECRET_BASE_SHRUB_1 ; 25.5
+ map_group SECRET_BASE_RED_CAVE_2 ; 25.6
+ map_group SECRET_BASE_BROWN_CAVE_2 ; 25.7
+ map_group SECRET_BASE_BLUE_CAVE_2 ; 25.8
+ map_group SECRET_BASE_YELLOW_CAVE_2 ; 25.9
+ map_group SECRET_BASE_TREE_2 ; 25.10
+ map_group SECRET_BASE_SHRUB_2 ; 25.11
+ map_group SECRET_BASE_RED_CAVE_3 ; 25.12
+ map_group SECRET_BASE_BROWN_CAVE_3 ; 25.13
+ map_group SECRET_BASE_BLUE_CAVE_3 ; 25.14
+ map_group SECRET_BASE_YELLOW_CAVE_3 ; 25.15
+ map_group SECRET_BASE_TREE_3 ; 25.16
+ map_group SECRET_BASE_SHRUB_3 ; 25.17
+ map_group SECRET_BASE_RED_CAVE_4 ; 25.18
+ map_group SECRET_BASE_BROWN_CAVE_4 ; 25.19
+ map_group SECRET_BASE_BLUE_CAVE_4 ; 25.20
+ map_group SECRET_BASE_YELLOW_CAVE_4 ; 25.21
+ map_group SECRET_BASE_TREE_4 ; 25.22
+ map_group SECRET_BASE_SHRUB_4 ; 25.23
+ map_group SINGLE_BATTLE_COLOSSEUM ; 25.24
+ map_group TRADE_CENTER ; 25.25
+ map_group RECORD_CORNER ; 25.26
+ map_group DOUBLE_BATTLE_COLOSSEUM ; 25.27
+ map_group LINK_CONTEST_ROOM_1 ; 25.28
+ map_group UNKNOWN_MAP_25_29 ; 25.29
+ map_group UNKNOWN_MAP_25_30 ; 25.30
+ map_group UNKNOWN_MAP_25_31 ; 25.31
+ map_group UNKNOWN_MAP_25_32 ; 25.32
+ map_group UNKNOWN_MAP_25_33 ; 25.33
+ map_group UNKNOWN_MAP_25_34 ; 25.34
+ map_group LINK_CONTEST_ROOM_2 ; 25.35
+ map_group LINK_CONTEST_ROOM_3 ; 25.36
+ map_group LINK_CONTEST_ROOM_4 ; 25.37
+ map_group LINK_CONTEST_ROOM_5 ; 25.38
+ map_group LINK_CONTEST_ROOM_6 ; 25.39
+ map_group INSIDE_OF_TRUCK ; 25.40
+ map_group SS_TIDAL_CORRIDOR ; 25.41
+ map_group SS_TIDAL_LOWER_DECK ; 25.42
+ map_group SS_TIDAL_ROOMS ; 25.43
+ map_group BATTLE_PYRAMID_SQUARE_01 ; 25.44
+ map_group BATTLE_PYRAMID_SQUARE_02 ; 25.45
+ map_group BATTLE_PYRAMID_SQUARE_03 ; 25.46
+ map_group BATTLE_PYRAMID_SQUARE_04 ; 25.47
+ map_group BATTLE_PYRAMID_SQUARE_05 ; 25.48
+ map_group BATTLE_PYRAMID_SQUARE_06 ; 25.49
+ map_group BATTLE_PYRAMID_SQUARE_07 ; 25.50
+ map_group BATTLE_PYRAMID_SQUARE_08 ; 25.51
+ map_group BATTLE_PYRAMID_SQUARE_09 ; 25.52
+ map_group BATTLE_PYRAMID_SQUARE_10 ; 25.53
+ map_group BATTLE_PYRAMID_SQUARE_11 ; 25.54
+ map_group BATTLE_PYRAMID_SQUARE_12 ; 25.55
+ map_group BATTLE_PYRAMID_SQUARE_13 ; 25.56
+ map_group BATTLE_PYRAMID_SQUARE_14 ; 25.57
+ map_group BATTLE_PYRAMID_SQUARE_15 ; 25.58
+ map_group BATTLE_PYRAMID_SQUARE_16 ; 25.59
+ map_group UNION_ROOM ; 25.60
+
+ new_map_group
+ map_group SAFARI_ZONE_NORTHWEST ; 26.0
+ map_group SAFARI_ZONE_NORTH ; 26.1
+ map_group SAFARI_ZONE_SOUTHWEST ; 26.2
+ map_group SAFARI_ZONE_SOUTH ; 26.3
+ map_group BATTLE_FRONTIER_OUTSIDE_WEST ; 26.4
+ map_group BATTLE_FRONTIER_BATTLE_TOWER_LOBBY ; 26.5
+ map_group BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR ; 26.6
+ map_group BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR ; 26.7
+ map_group BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM ; 26.8
+ map_group SOUTHERN_ISLAND_EXTERIOR ; 26.9
+ map_group SOUTHERN_ISLAND_INTERIOR ; 26.10
+ map_group SAFARI_ZONE_REST_HOUSE ; 26.11
+ map_group SAFARI_ZONE_NORTHEAST ; 26.12
+ map_group SAFARI_ZONE_SOUTHEAST ; 26.13
+ map_group BATTLE_FRONTIER_OUTSIDE_EAST ; 26.14
+ map_group BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM ; 26.15
+ map_group BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2 ; 26.16
+ map_group BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM_2 ; 26.17
+ map_group BATTLE_FRONTIER_BATTLE_DOME_LOBBY ; 26.18
+ map_group BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR ; 26.19
+ map_group BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM ; 26.20
+ map_group BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM ; 26.21
+ map_group BATTLE_FRONTIER_BATTLE_PALACE_LOBBY ; 26.22
+ map_group BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR ; 26.23
+ map_group BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM ; 26.24
+ map_group BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY ; 26.25
+ map_group BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE ; 26.26
+ map_group BATTLE_FRONTIER_BATTLE_PYRAMID_TOP ; 26.27
+ map_group BATTLE_FRONTIER_BATTLE_ARENA_LOBBY ; 26.28
+ map_group BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR ; 26.29
+ map_group BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM ; 26.30
+ map_group BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY ; 26.31
+ map_group BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM ; 26.32
+ map_group BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM ; 26.33
+ map_group BATTLE_FRONTIER_BATTLE_PIKE_LOBBY ; 26.34
+ map_group BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR ; 26.35
+ map_group BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM ; 26.36
+ map_group BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_1 ; 26.37
+ map_group BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_2 ; 26.38
+ map_group BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_3 ; 26.39
+ map_group BATTLE_FRONTIER_RANKING_HALL ; 26.40
+ map_group BATTLE_FRONTIER_LOUNGE_1 ; 26.41
+ map_group BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER ; 26.42
+ map_group BATTLE_FRONTIER_LOUNGE_2 ; 26.43
+ map_group BATTLE_FRONTIER_LOUNGE_3 ; 26.44
+ map_group BATTLE_FRONTIER_LOUNGE_4 ; 26.45
+ map_group BATTLE_FRONTIER_SCOTTS_HOUSE ; 26.46
+ map_group BATTLE_FRONTIER_LOUNGE_5 ; 26.47
+ map_group BATTLE_FRONTIER_LOUNGE_6 ; 26.48
+ map_group BATTLE_FRONTIER_LOUNGE_7 ; 26.49
+ map_group BATTLE_FRONTIER_RECEPTION_GATE ; 26.50
+ map_group BATTLE_FRONTIER_LOUNGE_8 ; 26.51
+ map_group BATTLE_FRONTIER_LOUNGE_9 ; 26.52
+ map_group BATTLE_FRONTIER_POKEMON_CENTER_1F ; 26.53
+ map_group BATTLE_FRONTIER_POKEMON_CENTER_2F ; 26.54
+ map_group BATTLE_FRONTIER_MART ; 26.55
+ map_group FARAWAY_ISLAND_ENTRANCE ; 26.56
+ map_group FARAWAY_ISLAND_INTERIOR ; 26.57
+ map_group BIRTH_ISLAND_EXTERIOR ; 26.58
+ map_group BIRTH_ISLAND_HARBOR ; 26.59
+ map_group TRAINER_HILL_ENTRANCE ; 26.60
+ map_group TRAINER_HILL_1F ; 26.61
+ map_group TRAINER_HILL_2F ; 26.62
+ map_group TRAINER_HILL_3F ; 26.63
+ map_group TRAINER_HILL_4F ; 26.64
+ map_group TRAINER_HILL_ROOF ; 26.65
+ map_group NAVEL_ROCK_EXTERIOR ; 26.66
+ map_group NAVEL_ROCK_HARBOR ; 26.67
+ map_group NAVEL_ROCK_ENTRANCE ; 26.68
+ map_group NAVEL_ROCK_B1F ; 26.69
+ map_group NAVEL_ROCK_FORK ; 26.70
+ map_group NAVEL_ROCK_UP_1 ; 26.71
+ map_group NAVEL_ROCK_UP_2 ; 26.72
+ map_group NAVEL_ROCK_UP_3 ; 26.73
+ map_group NAVEL_ROCK_UP_4 ; 26.74
+ map_group NAVEL_ROCK_TOP ; 26.75
+ map_group NAVEL_ROCK_DOWN_01 ; 26.76
+ map_group NAVEL_ROCK_DOWN_02 ; 26.77
+ map_group NAVEL_ROCK_DOWN_03 ; 26.78
+ map_group NAVEL_ROCK_DOWN_04 ; 26.79
+ map_group NAVEL_ROCK_DOWN_05 ; 26.80
+ map_group NAVEL_ROCK_DOWN_06 ; 26.81
+ map_group NAVEL_ROCK_DOWN_07 ; 26.82
+ map_group NAVEL_ROCK_DOWN_08 ; 26.83
+ map_group NAVEL_ROCK_DOWN_09 ; 26.84
+ map_group NAVEL_ROCK_DOWN_10 ; 26.85
+ map_group NAVEL_ROCK_DOWN_11 ; 26.86
+ map_group NAVEL_ROCK_BOTTOM ; 26.87
+ map_group TRAINER_HILL_ELEVATOR ; 26.88
+
+ new_map_group
+ map_group ROUTE_104_PROTOTYPE ; 27.0
+ map_group ROUTE_104_PROTOTYPE_PRETTY_PETAL_FLOWER_SHOP ; 27.1
+
+ new_map_group
+ map_group ROUTE_109_SEASHORE_HOUSE ; 28.0
+
+ new_map_group
+ map_group ROUTE_110_TRICK_HOUSE_ENTRANCE ; 29.0
+ map_group ROUTE_110_TRICK_HOUSE_END ; 29.1
+ map_group ROUTE_110_TRICK_HOUSE_CORRIDOR ; 29.2
+ map_group ROUTE_110_TRICK_HOUSE_PUZZLE_1 ; 29.3
+ map_group ROUTE_110_TRICK_HOUSE_PUZZLE_2 ; 29.4
+ map_group ROUTE_110_TRICK_HOUSE_PUZZLE_3 ; 29.5
+ map_group ROUTE_110_TRICK_HOUSE_PUZZLE_4 ; 29.6
+ map_group ROUTE_110_TRICK_HOUSE_PUZZLE_5 ; 29.7
+ map_group ROUTE_110_TRICK_HOUSE_PUZZLE_6 ; 29.8
+ map_group ROUTE_110_TRICK_HOUSE_PUZZLE_7 ; 29.9
+ map_group ROUTE_110_TRICK_HOUSE_PUZZLE_8 ; 29.10
+ map_group ROUTE_110_SEASIDE_CYCLING_ROAD_ENTRANCE_1 ; 29.11
+ map_group ROUTE_110_SEASIDE_CYCLING_ROAD_ENTRANCE_2 ; 29.12
+
+ new_map_group
+ map_group ROUTE_113_GLASS_WORKSHOP ; 30.0
+
+ new_map_group
+ map_group ROUTE_123_BERRY_MASTERS_HOUSE ; 31.0
+
+ new_map_group
+ map_group ROUTE_119_WEATHER_INSTITUTE_1F ; 32.0
+ map_group ROUTE_119_WEATHER_INSTITUTE_2F ; 32.1
+ map_group ROUTE_119_HOUSE ; 32.2
+
+ new_map_group
+ map_group ROUTE_124_DIVING_TREASURE_HUNTERS_HOUSE ; 33.0
diff --git a/constants/misc_constants.s b/constants/misc_constants.s
new file mode 100644
index 000000000..5fa58cfe8
--- /dev/null
+++ b/constants/misc_constants.s
@@ -0,0 +1,25 @@
+ .set TRUE, 1
+ .set FALSE, 0
+
+ .set NULL, 0
+
+ .set POKEMON_NAME_LENGTH, 11
+ .set MOVE_NAME_LENGTH, 13
+
+ .set SPRITE_SIZE_8x8, (OAM_SIZE_0 >> 28) | (OAM_SQUARE >> 14)
+ .set SPRITE_SIZE_16x16, (OAM_SIZE_1 >> 28) | (OAM_SQUARE >> 14)
+ .set SPRITE_SIZE_32x32, (OAM_SIZE_2 >> 28) | (OAM_SQUARE >> 14)
+ .set SPRITE_SIZE_64x64, (OAM_SIZE_3 >> 28) | (OAM_SQUARE >> 14)
+
+ .set SPRITE_SIZE_16x8, (OAM_SIZE_0 >> 28) | (OAM_H_RECTANGLE >> 14)
+ .set SPRITE_SIZE_32x8, (OAM_SIZE_1 >> 28) | (OAM_H_RECTANGLE >> 14)
+ .set SPRITE_SIZE_32x16, (OAM_SIZE_2 >> 28) | (OAM_H_RECTANGLE >> 14)
+ .set SPRITE_SIZE_64x32, (OAM_SIZE_3 >> 28) | (OAM_H_RECTANGLE >> 14)
+
+ .set SPRITE_SIZE_8x16, (OAM_SIZE_0 >> 28) | (OAM_V_RECTANGLE >> 14)
+ .set SPRITE_SIZE_8x32, (OAM_SIZE_1 >> 28) | (OAM_V_RECTANGLE >> 14)
+ .set SPRITE_SIZE_16x32, (OAM_SIZE_2 >> 28) | (OAM_V_RECTANGLE >> 14)
+ .set SPRITE_SIZE_32x64, (OAM_SIZE_3 >> 28) | (OAM_V_RECTANGLE >> 14)
+
+ .set OBJ_IMAGE_ANIM_H_FLIP, 1 << 6
+ .set OBJ_IMAGE_ANIM_V_FLIP, 1 << 7
diff --git a/constants/move_constants.s b/constants/move_constants.s
new file mode 100644
index 000000000..b6c8edf98
--- /dev/null
+++ b/constants/move_constants.s
@@ -0,0 +1,355 @@
+ .set MOVE_NONE, 0x000
+ .set MOVE_POUND, 0x001
+ .set MOVE_KARATE_CHOP, 0x002
+ .set MOVE_DOUBLE_SLAP, 0x003
+ .set MOVE_COMET_PUNCH, 0x004
+ .set MOVE_MEGA_PUNCH, 0x005
+ .set MOVE_PAY_DAY, 0x006
+ .set MOVE_FIRE_PUNCH, 0x007
+ .set MOVE_ICE_PUNCH, 0x008
+ .set MOVE_THUNDER_PUNCH, 0x009
+ .set MOVE_SCRATCH, 0x00a
+ .set MOVE_VICE_GRIP, 0x00b
+ .set MOVE_GUILLOTINE, 0x00c
+ .set MOVE_RAZOR_WIND, 0x00d
+ .set MOVE_SWORDS_DANCE, 0x00e
+ .set MOVE_CUT, 0x00f
+ .set MOVE_GUST, 0x010
+ .set MOVE_WING_ATTACK, 0x011
+ .set MOVE_WHIRLWIND, 0x012
+ .set MOVE_FLY, 0x013
+ .set MOVE_BIND, 0x014
+ .set MOVE_SLAM, 0x015
+ .set MOVE_VINE_WHIP, 0x016
+ .set MOVE_STOMP, 0x017
+ .set MOVE_DOUBLE_KICK, 0x018
+ .set MOVE_MEGA_KICK, 0x019
+ .set MOVE_JUMP_KICK, 0x01a
+ .set MOVE_ROLLING_KICK, 0x01b
+ .set MOVE_SAND_ATTACK, 0x01c
+ .set MOVE_HEADBUTT, 0x01d
+ .set MOVE_HORN_ATTACK, 0x01e
+ .set MOVE_FURY_ATTACK, 0x01f
+ .set MOVE_HORN_DRILL, 0x020
+ .set MOVE_TACKLE, 0x021
+ .set MOVE_BODY_SLAM, 0x022
+ .set MOVE_WRAP, 0x023
+ .set MOVE_TAKE_DOWN, 0x024
+ .set MOVE_THRASH, 0x025
+ .set MOVE_DOUBLE_EDGE, 0x026
+ .set MOVE_TAIL_WHIP, 0x027
+ .set MOVE_POISON_STING, 0x028
+ .set MOVE_TWINEEDLE, 0x029
+ .set MOVE_PIN_MISSILE, 0x02a
+ .set MOVE_LEER, 0x02b
+ .set MOVE_BITE, 0x02c
+ .set MOVE_GROWL, 0x02d
+ .set MOVE_ROAR, 0x02e
+ .set MOVE_SING, 0x02f
+ .set MOVE_SUPERSONIC, 0x030
+ .set MOVE_SONIC_BOOM, 0x031
+ .set MOVE_DISABLE, 0x032
+ .set MOVE_ACID, 0x033
+ .set MOVE_EMBER, 0x034
+ .set MOVE_FLAMETHROWER, 0x035
+ .set MOVE_MIST, 0x036
+ .set MOVE_WATER_GUN, 0x037
+ .set MOVE_HYDRO_PUMP, 0x038
+ .set MOVE_SURF, 0x039
+ .set MOVE_ICE_BEAM, 0x03a
+ .set MOVE_BLIZZARD, 0x03b
+ .set MOVE_PSYBEAM, 0x03c
+ .set MOVE_BUBBLE_BEAM, 0x03d
+ .set MOVE_AURORA_BEAM, 0x03e
+ .set MOVE_HYPER_BEAM, 0x03f
+ .set MOVE_PECK, 0x040
+ .set MOVE_DRILL_PECK, 0x041
+ .set MOVE_SUBMISSION, 0x042
+ .set MOVE_LOW_KICK, 0x043
+ .set MOVE_COUNTER, 0x044
+ .set MOVE_SEISMIC_TOSS, 0x045
+ .set MOVE_STRENGTH, 0x046
+ .set MOVE_ABSORB, 0x047
+ .set MOVE_MEGA_DRAIN, 0x048
+ .set MOVE_LEECH_SEED, 0x049
+ .set MOVE_GROWTH, 0x04a
+ .set MOVE_RAZOR_LEAF, 0x04b
+ .set MOVE_SOLAR_BEAM, 0x04c
+ .set MOVE_POISON_POWDER, 0x04d
+ .set MOVE_STUN_SPORE, 0x04e
+ .set MOVE_SLEEP_POWDER, 0x04f
+ .set MOVE_PETAL_DANCE, 0x050
+ .set MOVE_STRING_SHOT, 0x051
+ .set MOVE_DRAGON_RAGE, 0x052
+ .set MOVE_FIRE_SPIN, 0x053
+ .set MOVE_THUNDER_SHOCK, 0x054
+ .set MOVE_THUNDERBOLT, 0x055
+ .set MOVE_THUNDER_WAVE, 0x056
+ .set MOVE_THUNDER, 0x057
+ .set MOVE_ROCK_THROW, 0x058
+ .set MOVE_EARTHQUAKE, 0x059
+ .set MOVE_FISSURE, 0x05a
+ .set MOVE_DIG, 0x05b
+ .set MOVE_TOXIC, 0x05c
+ .set MOVE_CONFUSION, 0x05d
+ .set MOVE_PSYCHIC, 0x05e
+ .set MOVE_HYPNOSIS, 0x05f
+ .set MOVE_MEDITATE, 0x060
+ .set MOVE_AGILITY, 0x061
+ .set MOVE_QUICK_ATTACK, 0x062
+ .set MOVE_RAGE, 0x063
+ .set MOVE_TELEPORT, 0x064
+ .set MOVE_NIGHT_SHADE, 0x065
+ .set MOVE_MIMIC, 0x066
+ .set MOVE_SCREECH, 0x067
+ .set MOVE_DOUBLE_TEAM, 0x068
+ .set MOVE_RECOVER, 0x069
+ .set MOVE_HARDEN, 0x06a
+ .set MOVE_MINIMIZE, 0x06b
+ .set MOVE_SMOKESCREEN, 0x06c
+ .set MOVE_CONFUSE_RAY, 0x06d
+ .set MOVE_WITHDRAW, 0x06e
+ .set MOVE_DEFENSE_CURL, 0x06f
+ .set MOVE_BARRIER, 0x070
+ .set MOVE_LIGHT_SCREEN, 0x071
+ .set MOVE_HAZE, 0x072
+ .set MOVE_REFLECT, 0x073
+ .set MOVE_FOCUS_ENERGY, 0x074
+ .set MOVE_BIDE, 0x075
+ .set MOVE_METRONOME, 0x076
+ .set MOVE_MIRROR_MOVE, 0x077
+ .set MOVE_SELF_DESTRUCT, 0x078
+ .set MOVE_EGG_BOMB, 0x079
+ .set MOVE_LICK, 0x07a
+ .set MOVE_SMOG, 0x07b
+ .set MOVE_SLUDGE, 0x07c
+ .set MOVE_BONE_CLUB, 0x07d
+ .set MOVE_FIRE_BLAST, 0x07e
+ .set MOVE_WATERFALL, 0x07f
+ .set MOVE_CLAMP, 0x080
+ .set MOVE_SWIFT, 0x081
+ .set MOVE_SKULL_BASH, 0x082
+ .set MOVE_SPIKE_CANNON, 0x083
+ .set MOVE_CONSTRICT, 0x084
+ .set MOVE_AMNESIA, 0x085
+ .set MOVE_KINESIS, 0x086
+ .set MOVE_SOFT_BOILED, 0x087
+ .set MOVE_HI_JUMP_KICK, 0x088
+ .set MOVE_GLARE, 0x089
+ .set MOVE_DREAM_EATER, 0x08a
+ .set MOVE_POISON_GAS, 0x08b
+ .set MOVE_BARRAGE, 0x08c
+ .set MOVE_LEECH_LIFE, 0x08d
+ .set MOVE_LOVELY_KISS, 0x08e
+ .set MOVE_SKY_ATTACK, 0x08f
+ .set MOVE_TRANSFORM, 0x090
+ .set MOVE_BUBBLE, 0x091
+ .set MOVE_DIZZY_PUNCH, 0x092
+ .set MOVE_SPORE, 0x093
+ .set MOVE_FLASH, 0x094
+ .set MOVE_PSYWAVE, 0x095
+ .set MOVE_SPLASH, 0x096
+ .set MOVE_ACID_ARMOR, 0x097
+ .set MOVE_CRABHAMMER, 0x098
+ .set MOVE_EXPLOSION, 0x099
+ .set MOVE_FURY_SWIPES, 0x09a
+ .set MOVE_BONEMERANG, 0x09b
+ .set MOVE_REST, 0x09c
+ .set MOVE_ROCK_SLIDE, 0x09d
+ .set MOVE_HYPER_FANG, 0x09e
+ .set MOVE_SHARPEN, 0x09f
+ .set MOVE_CONVERSION, 0x0a0
+ .set MOVE_TRI_ATTACK, 0x0a1
+ .set MOVE_SUPER_FANG, 0x0a2
+ .set MOVE_SLASH, 0x0a3
+ .set MOVE_SUBSTITUTE, 0x0a4
+ .set MOVE_STRUGGLE, 0x0a5
+ .set MOVE_SKETCH, 0x0a6
+ .set MOVE_TRIPLE_KICK, 0x0a7
+ .set MOVE_THIEF, 0x0a8
+ .set MOVE_SPIDER_WEB, 0x0a9
+ .set MOVE_MIND_READER, 0x0aa
+ .set MOVE_NIGHTMARE, 0x0ab
+ .set MOVE_FLAME_WHEEL, 0x0ac
+ .set MOVE_SNORE, 0x0ad
+ .set MOVE_CURSE, 0x0ae
+ .set MOVE_FLAIL, 0x0af
+ .set MOVE_CONVERSION_2, 0x0b0
+ .set MOVE_AEROBLAST, 0x0b1
+ .set MOVE_COTTON_SPORE, 0x0b2
+ .set MOVE_REVERSAL, 0x0b3
+ .set MOVE_SPITE, 0x0b4
+ .set MOVE_POWDER_SNOW, 0x0b5
+ .set MOVE_PROTECT, 0x0b6
+ .set MOVE_MACH_PUNCH, 0x0b7
+ .set MOVE_SCARY_FACE, 0x0b8
+ .set MOVE_FAINT_ATTACK, 0x0b9
+ .set MOVE_SWEET_KISS, 0x0ba
+ .set MOVE_BELLY_DRUM, 0x0bb
+ .set MOVE_SLUDGE_BOMB, 0x0bc
+ .set MOVE_MUD_SLAP, 0x0bd
+ .set MOVE_OCTAZOOKA, 0x0be
+ .set MOVE_SPIKES, 0x0bf
+ .set MOVE_ZAP_CANNON, 0x0c0
+ .set MOVE_FORESIGHT, 0x0c1
+ .set MOVE_DESTINY_BOND, 0x0c2
+ .set MOVE_PERISH_SONG, 0x0c3
+ .set MOVE_ICY_WIND, 0x0c4
+ .set MOVE_DETECT, 0x0c5
+ .set MOVE_BONE_RUSH, 0x0c6
+ .set MOVE_LOCK_ON, 0x0c7
+ .set MOVE_OUTRAGE, 0x0c8
+ .set MOVE_SANDSTORM, 0x0c9
+ .set MOVE_GIGA_DRAIN, 0x0ca
+ .set MOVE_ENDURE, 0x0cb
+ .set MOVE_CHARM, 0x0cc
+ .set MOVE_ROLLOUT, 0x0cd
+ .set MOVE_FALSE_SWIPE, 0x0ce
+ .set MOVE_SWAGGER, 0x0cf
+ .set MOVE_MILK_DRINK, 0x0d0
+ .set MOVE_SPARK, 0x0d1
+ .set MOVE_FURY_CUTTER, 0x0d2
+ .set MOVE_STEEL_WING, 0x0d3
+ .set MOVE_MEAN_LOOK, 0x0d4
+ .set MOVE_ATTRACT, 0x0d5
+ .set MOVE_SLEEP_TALK, 0x0d6
+ .set MOVE_HEAL_BELL, 0x0d7
+ .set MOVE_RETURN, 0x0d8
+ .set MOVE_PRESENT, 0x0d9
+ .set MOVE_FRUSTRATION, 0x0da
+ .set MOVE_SAFEGUARD, 0x0db
+ .set MOVE_PAIN_SPLIT, 0x0dc
+ .set MOVE_SACRED_FIRE, 0x0dd
+ .set MOVE_MAGNITUDE, 0x0de
+ .set MOVE_DYNAMIC_PUNCH, 0x0df
+ .set MOVE_MEGAHORN, 0x0e0
+ .set MOVE_DRAGON_BREATH, 0x0e1
+ .set MOVE_BATON_PASS, 0x0e2
+ .set MOVE_ENCORE, 0x0e3
+ .set MOVE_PURSUIT, 0x0e4
+ .set MOVE_RAPID_SPIN, 0x0e5
+ .set MOVE_SWEET_SCENT, 0x0e6
+ .set MOVE_IRON_TAIL, 0x0e7
+ .set MOVE_METAL_CLAW, 0x0e8
+ .set MOVE_VITAL_THROW, 0x0e9
+ .set MOVE_MORNING_SUN, 0x0ea
+ .set MOVE_SYNTHESIS, 0x0eb
+ .set MOVE_MOONLIGHT, 0x0ec
+ .set MOVE_HIDDEN_POWER, 0x0ed
+ .set MOVE_CROSS_CHOP, 0x0ee
+ .set MOVE_TWISTER, 0x0ef
+ .set MOVE_RAIN_DANCE, 0x0f0
+ .set MOVE_SUNNY_DAY, 0x0f1
+ .set MOVE_CRUNCH, 0x0f2
+ .set MOVE_MIRROR_COAT, 0x0f3
+ .set MOVE_PSYCH_UP, 0x0f4
+ .set MOVE_EXTREME_SPEED, 0x0f5
+ .set MOVE_ANCIENT_POWER, 0x0f6
+ .set MOVE_SHADOW_BALL, 0x0f7
+ .set MOVE_FUTURE_SIGHT, 0x0f8
+ .set MOVE_ROCK_SMASH, 0x0f9
+ .set MOVE_WHIRLPOOL, 0x0fa
+ .set MOVE_BEAT_UP, 0x0fb
+ .set MOVE_FAKE_OUT, 0x0fc
+ .set MOVE_UPROAR, 0x0fd
+ .set MOVE_STOCKPILE, 0x0fe
+ .set MOVE_SPIT_UP, 0x0ff
+ .set MOVE_SWALLOW, 0x100
+ .set MOVE_HEAT_WAVE, 0x101
+ .set MOVE_HAIL, 0x102
+ .set MOVE_TORMENT, 0x103
+ .set MOVE_FLATTER, 0x104
+ .set MOVE_WILL_O_WISP, 0x105
+ .set MOVE_MEMENTO, 0x106
+ .set MOVE_FACADE, 0x107
+ .set MOVE_FOCUS_PUNCH, 0x108
+ .set MOVE_SMELLING_SALT, 0x109
+ .set MOVE_FOLLOW_ME, 0x10a
+ .set MOVE_NATURE_POWER, 0x10b
+ .set MOVE_CHARGE, 0x10c
+ .set MOVE_TAUNT, 0x10d
+ .set MOVE_HELPING_HAND, 0x10e
+ .set MOVE_TRICK, 0x10f
+ .set MOVE_ROLE_PLAY, 0x110
+ .set MOVE_WISH, 0x111
+ .set MOVE_ASSIST, 0x112
+ .set MOVE_INGRAIN, 0x113
+ .set MOVE_SUPERPOWER, 0x114
+ .set MOVE_MAGIC_COAT, 0x115
+ .set MOVE_RECYCLE, 0x116
+ .set MOVE_REVENGE, 0x117
+ .set MOVE_BRICK_BREAK, 0x118
+ .set MOVE_YAWN, 0x119
+ .set MOVE_KNOCK_OFF, 0x11a
+ .set MOVE_ENDEAVOR, 0x11b
+ .set MOVE_ERUPTION, 0x11c
+ .set MOVE_SKILL_SWAP, 0x11d
+ .set MOVE_IMPRISON, 0x11e
+ .set MOVE_REFRESH, 0x11f
+ .set MOVE_GRUDGE, 0x120
+ .set MOVE_SNATCH, 0x121
+ .set MOVE_SECRET_POWER, 0x122
+ .set MOVE_DIVE, 0x123
+ .set MOVE_ARM_THRUST, 0x124
+ .set MOVE_CAMOUFLAGE, 0x125
+ .set MOVE_TAIL_GLOW, 0x126
+ .set MOVE_LUSTER_PURGE, 0x127
+ .set MOVE_MIST_BALL, 0x128
+ .set MOVE_FEATHER_DANCE, 0x129
+ .set MOVE_TEETER_DANCE, 0x12a
+ .set MOVE_BLAZE_KICK, 0x12b
+ .set MOVE_MUD_SPORT, 0x12c
+ .set MOVE_ICE_BALL, 0x12d
+ .set MOVE_NEEDLE_ARM, 0x12e
+ .set MOVE_SLACK_OFF, 0x12f
+ .set MOVE_HYPER_VOICE, 0x130
+ .set MOVE_POISON_FANG, 0x131
+ .set MOVE_CRUSH_CLAW, 0x132
+ .set MOVE_BLAST_BURN, 0x133
+ .set MOVE_HYDRO_CANNON, 0x134
+ .set MOVE_METEOR_MASH, 0x135
+ .set MOVE_ASTONISH, 0x136
+ .set MOVE_WEATHER_BALL, 0x137
+ .set MOVE_AROMATHERAPY, 0x138
+ .set MOVE_FAKE_TEARS, 0x139
+ .set MOVE_AIR_CUTTER, 0x13a
+ .set MOVE_OVERHEAT, 0x13b
+ .set MOVE_ODOR_SLEUTH, 0x13c
+ .set MOVE_ROCK_TOMB, 0x13d
+ .set MOVE_SILVER_WIND, 0x13e
+ .set MOVE_METAL_SOUND, 0x13f
+ .set MOVE_GRASS_WHISTLE, 0x140
+ .set MOVE_TICKLE, 0x141
+ .set MOVE_COSMIC_POWER, 0x142
+ .set MOVE_WATER_SPOUT, 0x143
+ .set MOVE_SIGNAL_BEAM, 0x144
+ .set MOVE_SHADOW_PUNCH, 0x145
+ .set MOVE_EXTRASENSORY, 0x146
+ .set MOVE_SKY_UPPERCUT, 0x147
+ .set MOVE_SAND_TOMB, 0x148
+ .set MOVE_SHEER_COLD, 0x149
+ .set MOVE_MUDDY_WATER, 0x14a
+ .set MOVE_BULLET_SEED, 0x14b
+ .set MOVE_AERIAL_ACE, 0x14c
+ .set MOVE_ICICLE_SPEAR, 0x14d
+ .set MOVE_IRON_DEFENSE, 0x14e
+ .set MOVE_BLOCK, 0x14f
+ .set MOVE_HOWL, 0x150
+ .set MOVE_DRAGON_CLAW, 0x151
+ .set MOVE_FRENZY_PLANT, 0x152
+ .set MOVE_BULK_UP, 0x153
+ .set MOVE_BOUNCE, 0x154
+ .set MOVE_MUD_SHOT, 0x155
+ .set MOVE_POISON_TAIL, 0x156
+ .set MOVE_COVET, 0x157
+ .set MOVE_VOLT_TACKLE, 0x158
+ .set MOVE_MAGICAL_LEAF, 0x159
+ .set MOVE_WATER_SPORT, 0x15a
+ .set MOVE_CALM_MIND, 0x15b
+ .set MOVE_LEAF_BLADE, 0x15c
+ .set MOVE_DRAGON_DANCE, 0x15d
+ .set MOVE_ROCK_BLAST, 0x15e
+ .set MOVE_SHOCK_WAVE, 0x15f
+ .set MOVE_WATER_PULSE, 0x160
+ .set MOVE_DOOM_DESIRE, 0x161
+ .set MOVE_PSYCHO_BOOST, 0x162
diff --git a/constants/pokemon_data_constants.s b/constants/pokemon_data_constants.s
new file mode 100644
index 000000000..565eae71e
--- /dev/null
+++ b/constants/pokemon_data_constants.s
@@ -0,0 +1,78 @@
+ .set NATURE_HARDY, 0
+ .set NATURE_LONELY, 1
+ .set NATURE_BRAVE, 2
+ .set NATURE_ADAMANT, 3
+ .set NATURE_NAUGHTY, 4
+ .set NATURE_BOLD, 5
+ .set NATURE_DOCILE, 6
+ .set NATURE_RELAXED, 7
+ .set NATURE_IMPISH, 8
+ .set NATURE_LAX, 9
+ .set NATURE_TIMID, 10
+ .set NATURE_HASTY, 11
+ .set NATURE_SERIOUS, 12
+ .set NATURE_JOLLY, 13
+ .set NATURE_NAIVE, 14
+ .set NATURE_MODEST, 15
+ .set NATURE_MILD, 16
+ .set NATURE_QUIET, 17
+ .set NATURE_BASHFUL, 18
+ .set NATURE_RASH, 19
+ .set NATURE_CALM, 20
+ .set NATURE_GENTLE, 21
+ .set NATURE_SASSY, 22
+ .set NATURE_CAREFUL, 23
+ .set NATURE_QUIRKY, 24
+
+ .set GROWTH_MEDIUM_FAST, 0x00
+ .set GROWTH_ERRATIC, 0x01
+ .set GROWTH_FLUCTUATING, 0x02
+ .set GROWTH_MEDIUM_SLOW, 0x03
+ .set GROWTH_FAST, 0x04
+ .set GROWTH_SLOW, 0x05
+
+ .set EGG_GROUP_NONE, 0x00
+ .set EGG_GROUP_MONSTER, 0x01
+ .set EGG_GROUP_WATER_1, 0x02
+ .set EGG_GROUP_BUG, 0x03
+ .set EGG_GROUP_FLYING, 0x04
+ .set EGG_GROUP_FIELD, 0x05
+ .set EGG_GROUP_FAIRY, 0x06
+ .set EGG_GROUP_GRASS, 0x07
+ .set EGG_GROUP_HUMAN_LIKE, 0x08
+ .set EGG_GROUP_WATER_3, 0x09
+ .set EGG_GROUP_MINERAL, 0x0a
+ .set EGG_GROUP_AMORPHOUS, 0x0b
+ .set EGG_GROUP_WATER_2, 0x0c
+ .set EGG_GROUP_DITTO, 0x0d
+ .set EGG_GROUP_DRAGON, 0x0e
+ .set EGG_GROUP_UNDISCOVERED, 0x0f
+
+ .set BODY_COLOR_RED, 0x00
+ .set BODY_COLOR_BLUE, 0x01
+ .set BODY_COLOR_YELLOW, 0x02
+ .set BODY_COLOR_GREEN, 0x03
+ .set BODY_COLOR_BLACK, 0x04
+ .set BODY_COLOR_BROWN, 0x05
+ .set BODY_COLOR_PURPLE, 0x06
+ .set BODY_COLOR_GRAY, 0x07
+ .set BODY_COLOR_WHITE, 0x08
+ .set BODY_COLOR_PINK, 0x09
+
+ .set F_SUMMARY_SCREEN_FLIP_SPRITE, 0x80
+
+ .set EVO_FRIENDSHIP, 0x0001 ; Pokémon levels up with friendship ≥ 220
+ .set EVO_FRIENDSHIP_DAY, 0x0002 ; Pokémon levels up during the day with friendship ≥ 220
+ .set EVO_FRIENDSHIP_NIGHT, 0x0003 ; Pokémon levels up at night with friendship ≥ 220
+ .set EVO_LEVEL, 0x0004 ; Pokémon reaches the specified level
+ .set EVO_TRADE, 0x0005 ; Pokémon is traded
+ .set EVO_TRADE_ITEM, 0x0006 ; Pokémon is traded while it's holding the specified item
+ .set EVO_ITEM, 0x0007 ; specified item is used on Pokémon
+ .set EVO_LEVEL_ATK_GT_DEF, 0x0008 ; Pokémon reaches the specified level with attack > defense
+ .set EVO_LEVEL_ATK_EQ_DEF, 0x0009 ; Pokémon reaches the specified level with attack = defense
+ .set EVO_LEVEL_ATK_LT_DEF, 0x000a ; Pokémon reaches the specified level with attack < defense
+ .set EVO_LEVEL_SILCOON, 0x000b ; Pokémon reaches the specified level with a Silcoon personality value
+ .set EVO_LEVEL_CASCOON, 0x000c ; Pokémon reaches the specified level with a Cascoon personality value
+ .set EVO_LEVEL_NINJASK, 0x000d ; Pokémon reaches the specified level (special value for Ninjask)
+ .set EVO_LEVEL_SHEDINJA, 0x000e ; Pokémon reaches the specified level (special value for Shedinja)
+ .set EVO_BEAUTY, 0x000f ; Pokémon levels up with beauty ≥ specified value
diff --git a/constants/species_constants.s b/constants/species_constants.s
new file mode 100644
index 000000000..7ee94df61
--- /dev/null
+++ b/constants/species_constants.s
@@ -0,0 +1,386 @@
+ .set SPECIES_BULBASAUR, 0x001
+ .set SPECIES_IVYSAUR, 0x002
+ .set SPECIES_VENUSAUR, 0x003
+ .set SPECIES_CHARMANDER, 0x004
+ .set SPECIES_CHARMELEON, 0x005
+ .set SPECIES_CHARIZARD, 0x006
+ .set SPECIES_SQUIRTLE, 0x007
+ .set SPECIES_WARTORTLE, 0x008
+ .set SPECIES_BLASTOISE, 0x009
+ .set SPECIES_CATERPIE, 0x00a
+ .set SPECIES_METAPOD, 0x00b
+ .set SPECIES_BUTTERFREE, 0x00c
+ .set SPECIES_WEEDLE, 0x00d
+ .set SPECIES_KAKUNA, 0x00e
+ .set SPECIES_BEEDRILL, 0x00f
+ .set SPECIES_PIDGEY, 0x010
+ .set SPECIES_PIDGEOTTO, 0x011
+ .set SPECIES_PIDGEOT, 0x012
+ .set SPECIES_RATTATA, 0x013
+ .set SPECIES_RATICATE, 0x014
+ .set SPECIES_SPEAROW, 0x015
+ .set SPECIES_FEAROW, 0x016
+ .set SPECIES_EKANS, 0x017
+ .set SPECIES_ARBOK, 0x018
+ .set SPECIES_PIKACHU, 0x019
+ .set SPECIES_RAICHU, 0x01a
+ .set SPECIES_SANDSHREW, 0x01b
+ .set SPECIES_SANDSLASH, 0x01c
+ .set SPECIES_NIDORAN_F, 0x01d
+ .set SPECIES_NIDORINA, 0x01e
+ .set SPECIES_NIDOQUEEN, 0x01f
+ .set SPECIES_NIDORAN_M, 0x020
+ .set SPECIES_NIDORINO, 0x021
+ .set SPECIES_NIDOKING, 0x022
+ .set SPECIES_CLEFAIRY, 0x023
+ .set SPECIES_CLEFABLE, 0x024
+ .set SPECIES_VULPIX, 0x025
+ .set SPECIES_NINETALES, 0x026
+ .set SPECIES_JIGGLYPUFF, 0x027
+ .set SPECIES_WIGGLYTUFF, 0x028
+ .set SPECIES_ZUBAT, 0x029
+ .set SPECIES_GOLBAT, 0x02a
+ .set SPECIES_ODDISH, 0x02b
+ .set SPECIES_GLOOM, 0x02c
+ .set SPECIES_VILEPLUME, 0x02d
+ .set SPECIES_PARAS, 0x02e
+ .set SPECIES_PARASECT, 0x02f
+ .set SPECIES_VENONAT, 0x030
+ .set SPECIES_VENOMOTH, 0x031
+ .set SPECIES_DIGLETT, 0x032
+ .set SPECIES_DUGTRIO, 0x033
+ .set SPECIES_MEOWTH, 0x034
+ .set SPECIES_PERSIAN, 0x035
+ .set SPECIES_PSYDUCK, 0x036
+ .set SPECIES_GOLDUCK, 0x037
+ .set SPECIES_MANKEY, 0x038
+ .set SPECIES_PRIMEAPE, 0x039
+ .set SPECIES_GROWLITHE, 0x03a
+ .set SPECIES_ARCANINE, 0x03b
+ .set SPECIES_POLIWAG, 0x03c
+ .set SPECIES_POLIWHIRL, 0x03d
+ .set SPECIES_POLIWRATH, 0x03e
+ .set SPECIES_ABRA, 0x03f
+ .set SPECIES_KADABRA, 0x040
+ .set SPECIES_ALAKAZAM, 0x041
+ .set SPECIES_MACHOP, 0x042
+ .set SPECIES_MACHOKE, 0x043
+ .set SPECIES_MACHAMP, 0x044
+ .set SPECIES_BELLSPROUT, 0x045
+ .set SPECIES_WEEPINBELL, 0x046
+ .set SPECIES_VICTREEBEL, 0x047
+ .set SPECIES_TENTACOOL, 0x048
+ .set SPECIES_TENTACRUEL, 0x049
+ .set SPECIES_GEODUDE, 0x04a
+ .set SPECIES_GRAVELER, 0x04b
+ .set SPECIES_GOLEM, 0x04c
+ .set SPECIES_PONYTA, 0x04d
+ .set SPECIES_RAPIDASH, 0x04e
+ .set SPECIES_SLOWPOKE, 0x04f
+ .set SPECIES_SLOWBRO, 0x050
+ .set SPECIES_MAGNEMITE, 0x051
+ .set SPECIES_MAGNETON, 0x052
+ .set SPECIES_FARFETCH_D, 0x053
+ .set SPECIES_DODUO, 0x054
+ .set SPECIES_DODRIO, 0x055
+ .set SPECIES_SEEL, 0x056
+ .set SPECIES_DEWGONG, 0x057
+ .set SPECIES_GRIMER, 0x058
+ .set SPECIES_MUK, 0x059
+ .set SPECIES_SHELLDER, 0x05a
+ .set SPECIES_CLOYSTER, 0x05b
+ .set SPECIES_GASTLY, 0x05c
+ .set SPECIES_HAUNTER, 0x05d
+ .set SPECIES_GENGAR, 0x05e
+ .set SPECIES_ONIX, 0x05f
+ .set SPECIES_DROWZEE, 0x060
+ .set SPECIES_HYPNO, 0x061
+ .set SPECIES_KRABBY, 0x062
+ .set SPECIES_KINGLER, 0x063
+ .set SPECIES_VOLTORB, 0x064
+ .set SPECIES_ELECTRODE, 0x065
+ .set SPECIES_EXEGGCUTE, 0x066
+ .set SPECIES_EXEGGUTOR, 0x067
+ .set SPECIES_CUBONE, 0x068
+ .set SPECIES_MAROWAK, 0x069
+ .set SPECIES_HITMONLEE, 0x06a
+ .set SPECIES_HITMONCHAN, 0x06b
+ .set SPECIES_LICKITUNG, 0x06c
+ .set SPECIES_KOFFING, 0x06d
+ .set SPECIES_WEEZING, 0x06e
+ .set SPECIES_RHYHORN, 0x06f
+ .set SPECIES_RHYDON, 0x070
+ .set SPECIES_CHANSEY, 0x071
+ .set SPECIES_TANGELA, 0x072
+ .set SPECIES_KANGASKHAN, 0x073
+ .set SPECIES_HORSEA, 0x074
+ .set SPECIES_SEADRA, 0x075
+ .set SPECIES_GOLDEEN, 0x076
+ .set SPECIES_SEAKING, 0x077
+ .set SPECIES_STARYU, 0x078
+ .set SPECIES_STARMIE, 0x079
+ .set SPECIES_MR_MIME, 0x07a
+ .set SPECIES_SCYTHER, 0x07b
+ .set SPECIES_JYNX, 0x07c
+ .set SPECIES_ELECTABUZZ, 0x07d
+ .set SPECIES_MAGMAR, 0x07e
+ .set SPECIES_PINSIR, 0x07f
+ .set SPECIES_TAUROS, 0x080
+ .set SPECIES_MAGIKARP, 0x081
+ .set SPECIES_GYARADOS, 0x082
+ .set SPECIES_LAPRAS, 0x083
+ .set SPECIES_DITTO, 0x084
+ .set SPECIES_EEVEE, 0x085
+ .set SPECIES_VAPOREON, 0x086
+ .set SPECIES_JOLTEON, 0x087
+ .set SPECIES_FLAREON, 0x088
+ .set SPECIES_PORYGON, 0x089
+ .set SPECIES_OMANYTE, 0x08a
+ .set SPECIES_OMASTAR, 0x08b
+ .set SPECIES_KABUTO, 0x08c
+ .set SPECIES_KABUTOPS, 0x08d
+ .set SPECIES_AERODACTYL, 0x08e
+ .set SPECIES_SNORLAX, 0x08f
+ .set SPECIES_ARTICUNO, 0x090
+ .set SPECIES_ZAPDOS, 0x091
+ .set SPECIES_MOLTRES, 0x092
+ .set SPECIES_DRATINI, 0x093
+ .set SPECIES_DRAGONAIR, 0x094
+ .set SPECIES_DRAGONITE, 0x095
+ .set SPECIES_MEWTWO, 0x096
+ .set SPECIES_MEW, 0x097
+ .set SPECIES_CHIKORITA, 0x098
+ .set SPECIES_BAYLEEF, 0x099
+ .set SPECIES_MEGANIUM, 0x09a
+ .set SPECIES_CYNDAQUIL, 0x09b
+ .set SPECIES_QUILAVA, 0x09c
+ .set SPECIES_TYPHLOSION, 0x09d
+ .set SPECIES_TOTODILE, 0x09e
+ .set SPECIES_CROCONAW, 0x09f
+ .set SPECIES_FERALIGATR, 0x0a0
+ .set SPECIES_SENTRET, 0x0a1
+ .set SPECIES_FURRET, 0x0a2
+ .set SPECIES_HOOTHOOT, 0x0a3
+ .set SPECIES_NOCTOWL, 0x0a4
+ .set SPECIES_LEDYBA, 0x0a5
+ .set SPECIES_LEDIAN, 0x0a6
+ .set SPECIES_SPINARAK, 0x0a7
+ .set SPECIES_ARIADOS, 0x0a8
+ .set SPECIES_CROBAT, 0x0a9
+ .set SPECIES_CHINCHOU, 0x0aa
+ .set SPECIES_LANTURN, 0x0ab
+ .set SPECIES_PICHU, 0x0ac
+ .set SPECIES_CLEFFA, 0x0ad
+ .set SPECIES_IGGLYBUFF, 0x0ae
+ .set SPECIES_TOGEPI, 0x0af
+ .set SPECIES_TOGETIC, 0x0b0
+ .set SPECIES_NATU, 0x0b1
+ .set SPECIES_XATU, 0x0b2
+ .set SPECIES_MAREEP, 0x0b3
+ .set SPECIES_FLAAFFY, 0x0b4
+ .set SPECIES_AMPHAROS, 0x0b5
+ .set SPECIES_BELLOSSOM, 0x0b6
+ .set SPECIES_MARILL, 0x0b7
+ .set SPECIES_AZUMARILL, 0x0b8
+ .set SPECIES_SUDOWOODO, 0x0b9
+ .set SPECIES_POLITOED, 0x0ba
+ .set SPECIES_HOPPIP, 0x0bb
+ .set SPECIES_SKIPLOOM, 0x0bc
+ .set SPECIES_JUMPLUFF, 0x0bd
+ .set SPECIES_AIPOM, 0x0be
+ .set SPECIES_SUNKERN, 0x0bf
+ .set SPECIES_SUNFLORA, 0x0c0
+ .set SPECIES_YANMA, 0x0c1
+ .set SPECIES_WOOPER, 0x0c2
+ .set SPECIES_QUAGSIRE, 0x0c3
+ .set SPECIES_ESPEON, 0x0c4
+ .set SPECIES_UMBREON, 0x0c5
+ .set SPECIES_MURKROW, 0x0c6
+ .set SPECIES_SLOWKING, 0x0c7
+ .set SPECIES_MISDREAVUS, 0x0c8
+ .set SPECIES_UNOWN, 0x0c9
+ .set SPECIES_WOBBUFFET, 0x0ca
+ .set SPECIES_GIRAFARIG, 0x0cb
+ .set SPECIES_PINECO, 0x0cc
+ .set SPECIES_FORRETRESS, 0x0cd
+ .set SPECIES_DUNSPARCE, 0x0ce
+ .set SPECIES_GLIGAR, 0x0cf
+ .set SPECIES_STEELIX, 0x0d0
+ .set SPECIES_SNUBBULL, 0x0d1
+ .set SPECIES_GRANBULL, 0x0d2
+ .set SPECIES_QWILFISH, 0x0d3
+ .set SPECIES_SCIZOR, 0x0d4
+ .set SPECIES_SHUCKLE, 0x0d5
+ .set SPECIES_HERACROSS, 0x0d6
+ .set SPECIES_SNEASEL, 0x0d7
+ .set SPECIES_TEDDIURSA, 0x0d8
+ .set SPECIES_URSARING, 0x0d9
+ .set SPECIES_SLUGMA, 0x0da
+ .set SPECIES_MAGCARGO, 0x0db
+ .set SPECIES_SWINUB, 0x0dc
+ .set SPECIES_PILOSWINE, 0x0dd
+ .set SPECIES_CORSOLA, 0x0de
+ .set SPECIES_REMORAID, 0x0df
+ .set SPECIES_OCTILLERY, 0x0e0
+ .set SPECIES_DELIBIRD, 0x0e1
+ .set SPECIES_MANTINE, 0x0e2
+ .set SPECIES_SKARMORY, 0x0e3
+ .set SPECIES_HOUNDOUR, 0x0e4
+ .set SPECIES_HOUNDOOM, 0x0e5
+ .set SPECIES_KINGDRA, 0x0e6
+ .set SPECIES_PHANPY, 0x0e7
+ .set SPECIES_DONPHAN, 0x0e8
+ .set SPECIES_PORYGON2, 0x0e9
+ .set SPECIES_STANTLER, 0x0ea
+ .set SPECIES_SMEARGLE, 0x0eb
+ .set SPECIES_TYROGUE, 0x0ec
+ .set SPECIES_HITMONTOP, 0x0ed
+ .set SPECIES_SMOOCHUM, 0x0ee
+ .set SPECIES_ELEKID, 0x0ef
+ .set SPECIES_MAGBY, 0x0f0
+ .set SPECIES_MILTANK, 0x0f1
+ .set SPECIES_BLISSEY, 0x0f2
+ .set SPECIES_RAIKOU, 0x0f3
+ .set SPECIES_ENTEI, 0x0f4
+ .set SPECIES_SUICUNE, 0x0f5
+ .set SPECIES_LARVITAR, 0x0f6
+ .set SPECIES_PUPITAR, 0x0f7
+ .set SPECIES_TYRANITAR, 0x0f8
+ .set SPECIES_LUGIA, 0x0f9
+ .set SPECIES_HO_OH, 0x0fa
+ .set SPECIES_CELEBI, 0x0fb
+ .set SPECIES_TREECKO, 0x115
+ .set SPECIES_GROVYLE, 0x116
+ .set SPECIES_SCEPTILE, 0x117
+ .set SPECIES_TORCHIC, 0x118
+ .set SPECIES_COMBUSKEN, 0x119
+ .set SPECIES_BLAZIKEN, 0x11a
+ .set SPECIES_MUDKIP, 0x11b
+ .set SPECIES_MARSHTOMP, 0x11c
+ .set SPECIES_SWAMPERT, 0x11d
+ .set SPECIES_POOCHYENA, 0x11e
+ .set SPECIES_MIGHTYENA, 0x11f
+ .set SPECIES_ZIGZAGOON, 0x120
+ .set SPECIES_LINOONE, 0x121
+ .set SPECIES_WURMPLE, 0x122
+ .set SPECIES_SILCOON, 0x123
+ .set SPECIES_BEAUTIFLY, 0x124
+ .set SPECIES_CASCOON, 0x125
+ .set SPECIES_DUSTOX, 0x126
+ .set SPECIES_LOTAD, 0x127
+ .set SPECIES_LOMBRE, 0x128
+ .set SPECIES_LUDICOLO, 0x129
+ .set SPECIES_SEEDOT, 0x12a
+ .set SPECIES_NUZLEAF, 0x12b
+ .set SPECIES_SHIFTRY, 0x12c
+ .set SPECIES_NINCADA, 0x12d
+ .set SPECIES_NINJASK, 0x12e
+ .set SPECIES_SHEDINJA, 0x12f
+ .set SPECIES_TAILLOW, 0x130
+ .set SPECIES_SWELLOW, 0x131
+ .set SPECIES_SHROOMISH, 0x132
+ .set SPECIES_BRELOOM, 0x133
+ .set SPECIES_SPINDA, 0x134
+ .set SPECIES_WINGULL, 0x135
+ .set SPECIES_PELIPPER, 0x136
+ .set SPECIES_SURSKIT, 0x137
+ .set SPECIES_MASQUERAIN, 0x138
+ .set SPECIES_WAILMER, 0x139
+ .set SPECIES_WAILORD, 0x13a
+ .set SPECIES_SKITTY, 0x13b
+ .set SPECIES_DELCATTY, 0x13c
+ .set SPECIES_KECLEON, 0x13d
+ .set SPECIES_BALTOY, 0x13e
+ .set SPECIES_CLAYDOL, 0x13f
+ .set SPECIES_NOSEPASS, 0x140
+ .set SPECIES_TORKOAL, 0x141
+ .set SPECIES_SABLEYE, 0x142
+ .set SPECIES_BARBOACH, 0x143
+ .set SPECIES_WHISCASH, 0x144
+ .set SPECIES_LUVDISC, 0x145
+ .set SPECIES_CORPHISH, 0x146
+ .set SPECIES_CRAWDAUNT, 0x147
+ .set SPECIES_FEEBAS, 0x148
+ .set SPECIES_MILOTIC, 0x149
+ .set SPECIES_CARVANHA, 0x14a
+ .set SPECIES_SHARPEDO, 0x14b
+ .set SPECIES_TRAPINCH, 0x14c
+ .set SPECIES_VIBRAVA, 0x14d
+ .set SPECIES_FLYGON, 0x14e
+ .set SPECIES_MAKUHITA, 0x14f
+ .set SPECIES_HARIYAMA, 0x150
+ .set SPECIES_ELECTRIKE, 0x151
+ .set SPECIES_MANECTRIC, 0x152
+ .set SPECIES_NUMEL, 0x153
+ .set SPECIES_CAMERUPT, 0x154
+ .set SPECIES_SPHEAL, 0x155
+ .set SPECIES_SEALEO, 0x156
+ .set SPECIES_WALREIN, 0x157
+ .set SPECIES_CACNEA, 0x158
+ .set SPECIES_CACTURNE, 0x159
+ .set SPECIES_SNORUNT, 0x15a
+ .set SPECIES_GLALIE, 0x15b
+ .set SPECIES_LUNATONE, 0x15c
+ .set SPECIES_SOLROCK, 0x15d
+ .set SPECIES_AZURILL, 0x15e
+ .set SPECIES_SPOINK, 0x15f
+ .set SPECIES_GRUMPIG, 0x160
+ .set SPECIES_PLUSLE, 0x161
+ .set SPECIES_MINUN, 0x162
+ .set SPECIES_MAWILE, 0x163
+ .set SPECIES_MEDITITE, 0x164
+ .set SPECIES_MEDICHAM, 0x165
+ .set SPECIES_SWABLU, 0x166
+ .set SPECIES_ALTARIA, 0x167
+ .set SPECIES_WYNAUT, 0x168
+ .set SPECIES_DUSKULL, 0x169
+ .set SPECIES_DUSCLOPS, 0x16a
+ .set SPECIES_ROSELIA, 0x16b
+ .set SPECIES_SLAKOTH, 0x16c
+ .set SPECIES_VIGOROTH, 0x16d
+ .set SPECIES_SLAKING, 0x16e
+ .set SPECIES_GULPIN, 0x16f
+ .set SPECIES_SWALOT, 0x170
+ .set SPECIES_TROPIUS, 0x171
+ .set SPECIES_WHISMUR, 0x172
+ .set SPECIES_LOUDRED, 0x173
+ .set SPECIES_EXPLOUD, 0x174
+ .set SPECIES_CLAMPERL, 0x175
+ .set SPECIES_HUNTAIL, 0x176
+ .set SPECIES_GOREBYSS, 0x177
+ .set SPECIES_ABSOL, 0x178
+ .set SPECIES_SHUPPET, 0x179
+ .set SPECIES_BANETTE, 0x17a
+ .set SPECIES_SEVIPER, 0x17b
+ .set SPECIES_ZANGOOSE, 0x17c
+ .set SPECIES_RELICANTH, 0x17d
+ .set SPECIES_ARON, 0x17e
+ .set SPECIES_LAIRON, 0x17f
+ .set SPECIES_AGGRON, 0x180
+ .set SPECIES_CASTFORM, 0x181
+ .set SPECIES_VOLBEAT, 0x182
+ .set SPECIES_ILLUMISE, 0x183
+ .set SPECIES_LILEEP, 0x184
+ .set SPECIES_CRADILY, 0x185
+ .set SPECIES_ANORITH, 0x186
+ .set SPECIES_ARMALDO, 0x187
+ .set SPECIES_RALTS, 0x188
+ .set SPECIES_KIRLIA, 0x189
+ .set SPECIES_GARDEVOIR, 0x18a
+ .set SPECIES_BAGON, 0x18b
+ .set SPECIES_SHELGON, 0x18c
+ .set SPECIES_SALAMENCE, 0x18d
+ .set SPECIES_BELDUM, 0x18e
+ .set SPECIES_METANG, 0x18f
+ .set SPECIES_METAGROSS, 0x190
+ .set SPECIES_REGIROCK, 0x191
+ .set SPECIES_REGICE, 0x192
+ .set SPECIES_REGISTEEL, 0x193
+ .set SPECIES_KYOGRE, 0x194
+ .set SPECIES_GROUDON, 0x195
+ .set SPECIES_RAYQUAZA, 0x196
+ .set SPECIES_LATIAS, 0x197
+ .set SPECIES_LATIOS, 0x198
+ .set SPECIES_JIRACHI, 0x199
+ .set SPECIES_DEOXYS, 0x19a
+ .set SPECIES_CHIMECHO, 0x19b
diff --git a/constants/trainer_constants.s b/constants/trainer_constants.s
new file mode 100644
index 000000000..9e356ff9f
--- /dev/null
+++ b/constants/trainer_constants.s
@@ -0,0 +1,1122 @@
+ .set TRAINER_NONE, 0
+ .set TRAINER_SAWYER_1, 1
+ .set TRAINER_GRUNT_1, 2
+ .set TRAINER_GRUNT_2, 3
+ .set TRAINER_GRUNT_3, 4
+ .set TRAINER_GRUNT_4, 5
+ .set TRAINER_GRUNT_5, 6
+ .set TRAINER_GRUNT_6, 7
+ .set TRAINER_GRUNT_7, 8
+ .set TRAINER_GABRIELLE_1, 9
+ .set TRAINER_GRUNT_8, 10
+ .set TRAINER_MARCEL, 11
+ .set TRAINER_ALBERTO, 12
+ .set TRAINER_ED, 13
+ .set TRAINER_GRUNT_9, 14
+ .set TRAINER_DECLAN, 15
+ .set TRAINER_GRUNT_10, 16
+ .set TRAINER_GRUNT_11, 17
+ .set TRAINER_GRUNT_12, 18
+ .set TRAINER_GRUNT_13, 19
+ .set TRAINER_GRUNT_14, 20
+ .set TRAINER_GRUNT_15, 21
+ .set TRAINER_GRUNT_16, 22
+ .set TRAINER_GRUNT_17, 23
+ .set TRAINER_GRUNT_18, 24
+ .set TRAINER_GRUNT_19, 25
+ .set TRAINER_GRUNT_20, 26
+ .set TRAINER_GRUNT_21, 27
+ .set TRAINER_GRUNT_22, 28
+ .set TRAINER_FREDRICK, 29
+ .set TRAINER_MATT, 30
+ .set TRAINER_ZANDER, 31
+ .set TRAINER_SHELLY_1, 32
+ .set TRAINER_SHELLY_2, 33
+ .set TRAINER_ARCHIE, 34
+ .set TRAINER_LEAH, 35
+ .set TRAINER_DAISY, 36
+ .set TRAINER_ROSE_1, 37
+ .set TRAINER_FELIX, 38
+ .set TRAINER_VIOLET, 39
+ .set TRAINER_ROSE_2, 40
+ .set TRAINER_ROSE_3, 41
+ .set TRAINER_ROSE_4, 42
+ .set TRAINER_ROSE_5, 43
+ .set TRAINER_DUSTY_1, 44
+ .set TRAINER_CHIP, 45
+ .set TRAINER_FOSTER, 46
+ .set TRAINER_DUSTY_2, 47
+ .set TRAINER_DUSTY_3, 48
+ .set TRAINER_DUSTY_4, 49
+ .set TRAINER_DUSTY_5, 50
+ .set TRAINER_GABBY_AND_TY_1, 51
+ .set TRAINER_GABBY_AND_TY_2, 52
+ .set TRAINER_GABBY_AND_TY_3, 53
+ .set TRAINER_GABBY_AND_TY_4, 54
+ .set TRAINER_GABBY_AND_TY_5, 55
+ .set TRAINER_GABBY_AND_TY_6, 56
+ .set TRAINER_LOLA_1, 57
+ .set TRAINER_AUSTINA, 58
+ .set TRAINER_GWEN, 59
+ .set TRAINER_LOLA_2, 60
+ .set TRAINER_LOLA_3, 61
+ .set TRAINER_LOLA_4, 62
+ .set TRAINER_LOLA_5, 63
+ .set TRAINER_RICKY_1, 64
+ .set TRAINER_SIMON, 65
+ .set TRAINER_CHARLIE, 66
+ .set TRAINER_RICKY_2, 67
+ .set TRAINER_RICKY_3, 68
+ .set TRAINER_RICKY_4, 69
+ .set TRAINER_RICKY_5, 70
+ .set TRAINER_RANDALL, 71
+ .set TRAINER_PARKER, 72
+ .set TRAINER_GEORGE, 73
+ .set TRAINER_BERKE, 74
+ .set TRAINER_BRAXTON, 75
+ .set TRAINER_VINCENT, 76
+ .set TRAINER_LEROY, 77
+ .set TRAINER_WILTON_1, 78
+ .set TRAINER_EDGAR, 79
+ .set TRAINER_ALBERT, 80
+ .set TRAINER_SAMUEL, 81
+ .set TRAINER_VITO, 82
+ .set TRAINER_OWEN, 83
+ .set TRAINER_WILTON_2, 84
+ .set TRAINER_WILTON_3, 85
+ .set TRAINER_WILTON_4, 86
+ .set TRAINER_WILTON_5, 87
+ .set TRAINER_WARREN, 88
+ .set TRAINER_MARY, 89
+ .set TRAINER_ALEXIA, 90
+ .set TRAINER_JODY, 91
+ .set TRAINER_WENDY, 92
+ .set TRAINER_KEIRA, 93
+ .set TRAINER_BROOKE_1, 94
+ .set TRAINER_JENNIFER, 95
+ .set TRAINER_HOPE, 96
+ .set TRAINER_SHANNON, 97
+ .set TRAINER_MICHELLE, 98
+ .set TRAINER_CAROLINE, 99
+ .set TRAINER_JULIE, 100
+ .set TRAINER_BROOKE_2, 101
+ .set TRAINER_BROOKE_3, 102
+ .set TRAINER_BROOKE_4, 103
+ .set TRAINER_BROOKE_5, 104
+ .set TRAINER_PATRICIA, 105
+ .set TRAINER_KINDRA, 106
+ .set TRAINER_TAMMY, 107
+ .set TRAINER_VALERIE_1, 108
+ .set TRAINER_TASHA, 109
+ .set TRAINER_VALERIE_2, 110
+ .set TRAINER_VALERIE_3, 111
+ .set TRAINER_VALERIE_4, 112
+ .set TRAINER_VALERIE_5, 113
+ .set TRAINER_CINDY_1, 114
+ .set TRAINER_DAPHNE, 115
+ .set TRAINER_GRUNT_23, 116
+ .set TRAINER_CINDY_2, 117
+ .set TRAINER_BRIANNA, 118
+ .set TRAINER_NAOMI, 119
+ .set TRAINER_CINDY_3, 120
+ .set TRAINER_CINDY_4, 121
+ .set TRAINER_CINDY_5, 122
+ .set TRAINER_CINDY_6, 123
+ .set TRAINER_MELISSA, 124
+ .set TRAINER_SHEILA, 125
+ .set TRAINER_SHIRLEY, 126
+ .set TRAINER_JESSICA_1, 127
+ .set TRAINER_CONNIE, 128
+ .set TRAINER_BRIDGET, 129
+ .set TRAINER_OLIVIA, 130
+ .set TRAINER_TIFFANY, 131
+ .set TRAINER_JESSICA_2, 132
+ .set TRAINER_JESSICA_3, 133
+ .set TRAINER_JESSICA_4, 134
+ .set TRAINER_JESSICA_5, 135
+ .set TRAINER_WINSTON_1, 136
+ .set TRAINER_MOLLIE, 137
+ .set TRAINER_GARRET, 138
+ .set TRAINER_WINSTON_2, 139
+ .set TRAINER_WINSTON_3, 140
+ .set TRAINER_WINSTON_4, 141
+ .set TRAINER_WINSTON_5, 142
+ .set TRAINER_STEVE_1, 143
+ .set TRAINER_THALIA_1, 144
+ .set TRAINER_MARK, 145
+ .set TRAINER_GRUNT_24, 146
+ .set TRAINER_STEVE_2, 147
+ .set TRAINER_STEVE_3, 148
+ .set TRAINER_STEVE_4, 149
+ .set TRAINER_STEVE_5, 150
+ .set TRAINER_LUIS, 151
+ .set TRAINER_DOMINIK, 152
+ .set TRAINER_DOUGLAS, 153
+ .set TRAINER_DARRIN, 154
+ .set TRAINER_TONY_1, 155
+ .set TRAINER_JEROME, 156
+ .set TRAINER_MATTHEW, 157
+ .set TRAINER_DAVID, 158
+ .set TRAINER_SPENCER, 159
+ .set TRAINER_ROLAND, 160
+ .set TRAINER_NOLEN, 161
+ .set TRAINER_STAN, 162
+ .set TRAINER_BARRY, 163
+ .set TRAINER_DEAN, 164
+ .set TRAINER_RODNEY, 165
+ .set TRAINER_RICHARD, 166
+ .set TRAINER_HERMAN, 167
+ .set TRAINER_SANTIAGO, 168
+ .set TRAINER_GILBERT, 169
+ .set TRAINER_FRANKLIN, 170
+ .set TRAINER_KEVIN, 171
+ .set TRAINER_JACK, 172
+ .set TRAINER_DUDLEY, 173
+ .set TRAINER_CHAD, 174
+ .set TRAINER_TONY_2, 175
+ .set TRAINER_TONY_3, 176
+ .set TRAINER_TONY_4, 177
+ .set TRAINER_TONY_5, 178
+ .set TRAINER_TAKAO, 179
+ .set TRAINER_HITOSHI, 180
+ .set TRAINER_KIYO, 181
+ .set TRAINER_KOICHI, 182
+ .set TRAINER_NOB_1, 183
+ .set TRAINER_NOB_2, 184
+ .set TRAINER_NOB_3, 185
+ .set TRAINER_NOB_4, 186
+ .set TRAINER_NOB_5, 187
+ .set TRAINER_YUJI, 188
+ .set TRAINER_DAISUKE, 189
+ .set TRAINER_ATSUSHI, 190
+ .set TRAINER_KIRK, 191
+ .set TRAINER_GRUNT_25, 192
+ .set TRAINER_GRUNT_26, 193
+ .set TRAINER_SHAWN, 194
+ .set TRAINER_FERNANDO_1, 195
+ .set TRAINER_DALTON_1, 196
+ .set TRAINER_DALTON_2, 197
+ .set TRAINER_DALTON_3, 198
+ .set TRAINER_DALTON_4, 199
+ .set TRAINER_DALTON_5, 200
+ .set TRAINER_COLE, 201
+ .set TRAINER_JEFF, 202
+ .set TRAINER_AXLE, 203
+ .set TRAINER_JACE, 204
+ .set TRAINER_KEEGAN, 205
+ .set TRAINER_BERNIE_1, 206
+ .set TRAINER_BERNIE_2, 207
+ .set TRAINER_BERNIE_3, 208
+ .set TRAINER_BERNIE_4, 209
+ .set TRAINER_BERNIE_5, 210
+ .set TRAINER_DREW, 211
+ .set TRAINER_BEAU, 212
+ .set TRAINER_LARRY, 213
+ .set TRAINER_SHANE, 214
+ .set TRAINER_JUSTIN, 215
+ .set TRAINER_ETHAN_1, 216
+ .set TRAINER_AUTUMN, 217
+ .set TRAINER_TRAVIS, 218
+ .set TRAINER_ETHAN_2, 219
+ .set TRAINER_ETHAN_3, 220
+ .set TRAINER_ETHAN_4, 221
+ .set TRAINER_ETHAN_5, 222
+ .set TRAINER_BRENT, 223
+ .set TRAINER_DONALD, 224
+ .set TRAINER_TAYLOR, 225
+ .set TRAINER_JEFFREY_1, 226
+ .set TRAINER_DEREK, 227
+ .set TRAINER_JEFFREY_2, 228
+ .set TRAINER_JEFFREY_3, 229
+ .set TRAINER_JEFFREY_4, 230
+ .set TRAINER_JEFFREY_5, 231
+ .set TRAINER_EDWARD, 232
+ .set TRAINER_PRESTON, 233
+ .set TRAINER_VIRGIL, 234
+ .set TRAINER_BLAKE, 235
+ .set TRAINER_WILLIAM, 236
+ .set TRAINER_JOSHUA, 237
+ .set TRAINER_CAMERON_1, 238
+ .set TRAINER_CAMERON_2, 239
+ .set TRAINER_CAMERON_3, 240
+ .set TRAINER_CAMERON_4, 241
+ .set TRAINER_CAMERON_5, 242
+ .set TRAINER_JACLYN, 243
+ .set TRAINER_HANNAH, 244
+ .set TRAINER_SAMANTHA, 245
+ .set TRAINER_MAURA, 246
+ .set TRAINER_KAYLA, 247
+ .set TRAINER_ALEXIS, 248
+ .set TRAINER_JACKI_1, 249
+ .set TRAINER_JACKI_2, 250
+ .set TRAINER_JACKI_3, 251
+ .set TRAINER_JACKI_4, 252
+ .set TRAINER_JACKI_5, 253
+ .set TRAINER_WALTER_1, 254
+ .set TRAINER_MICAH, 255
+ .set TRAINER_THOMAS, 256
+ .set TRAINER_WALTER_2, 257
+ .set TRAINER_WALTER_3, 258
+ .set TRAINER_WALTER_4, 259
+ .set TRAINER_WALTER_5, 260
+ .set TRAINER_SIDNEY, 261
+ .set TRAINER_PHOEBE, 262
+ .set TRAINER_GLACIA, 263
+ .set TRAINER_DRAKE, 264
+ .set TRAINER_ROXANNE_1, 265
+ .set TRAINER_BRAWLY_1, 266
+ .set TRAINER_WATTSON_1, 267
+ .set TRAINER_FLANNERY_1, 268
+ .set TRAINER_NORMAN_1, 269
+ .set TRAINER_WINONA_1, 270
+ .set TRAINER_TATE_AND_LIZA_1, 271
+ .set TRAINER_JUAN_1, 272
+ .set TRAINER_JERRY_1, 273
+ .set TRAINER_TED, 274
+ .set TRAINER_PAUL, 275
+ .set TRAINER_JERRY_2, 276
+ .set TRAINER_JERRY_3, 277
+ .set TRAINER_JERRY_4, 278
+ .set TRAINER_JERRY_5, 279
+ .set TRAINER_KAREN_1, 280
+ .set TRAINER_GEORGIA, 281
+ .set TRAINER_KAREN_2, 282
+ .set TRAINER_KAREN_3, 283
+ .set TRAINER_KAREN_4, 284
+ .set TRAINER_KAREN_5, 285
+ .set TRAINER_KATE_AND_JOY, 286
+ .set TRAINER_ANNA_AND_MEG_1, 287
+ .set TRAINER_ANNA_AND_MEG_2, 288
+ .set TRAINER_ANNA_AND_MEG_3, 289
+ .set TRAINER_ANNA_AND_MEG_4, 290
+ .set TRAINER_ANNA_AND_MEG_5, 291
+ .set TRAINER_VICTOR, 292
+ .set TRAINER_MIGUEL_1, 293
+ .set TRAINER_COLTON, 294
+ .set TRAINER_MIGUEL_2, 295
+ .set TRAINER_MIGUEL_3, 296
+ .set TRAINER_MIGUEL_4, 297
+ .set TRAINER_MIGUEL_5, 298
+ .set TRAINER_VICTORIA, 299
+ .set TRAINER_VANESSA, 300
+ .set TRAINER_BETHANY, 301
+ .set TRAINER_ISABEL_1, 302
+ .set TRAINER_ISABEL_2, 303
+ .set TRAINER_ISABEL_3, 304
+ .set TRAINER_ISABEL_4, 305
+ .set TRAINER_ISABEL_5, 306
+ .set TRAINER_TIMOTHY_1, 307
+ .set TRAINER_TIMOTHY_2, 308
+ .set TRAINER_TIMOTHY_3, 309
+ .set TRAINER_TIMOTHY_4, 310
+ .set TRAINER_TIMOTHY_5, 311
+ .set TRAINER_VICKY, 312
+ .set TRAINER_SHELBY_1, 313
+ .set TRAINER_SHELBY_2, 314
+ .set TRAINER_SHELBY_3, 315
+ .set TRAINER_SHELBY_4, 316
+ .set TRAINER_SHELBY_5, 317
+ .set TRAINER_CALVIN_1, 318
+ .set TRAINER_BILLY, 319
+ .set TRAINER_JOSH, 320
+ .set TRAINER_TOMMY, 321
+ .set TRAINER_JOEY, 322
+ .set TRAINER_BEN, 323
+ .set TRAINER_QUINCY, 324
+ .set TRAINER_KATELYNN, 325
+ .set TRAINER_JAYLEN, 326
+ .set TRAINER_DILLON, 327
+ .set TRAINER_CALVIN_2, 328
+ .set TRAINER_CALVIN_3, 329
+ .set TRAINER_CALVIN_4, 330
+ .set TRAINER_CALVIN_5, 331
+ .set TRAINER_EDDIE, 332
+ .set TRAINER_ALLEN, 333
+ .set TRAINER_TIMMY, 334
+ .set TRAINER_WALLACE, 335
+ .set TRAINER_ANDREW, 336
+ .set TRAINER_IVAN, 337
+ .set TRAINER_CLAUDE, 338
+ .set TRAINER_ELLIOT_1, 339
+ .set TRAINER_NED, 340
+ .set TRAINER_DALE, 341
+ .set TRAINER_NOLAN, 342
+ .set TRAINER_BARNY, 343
+ .set TRAINER_WADE, 344
+ .set TRAINER_CARTER, 345
+ .set TRAINER_ELLIOT_2, 346
+ .set TRAINER_ELLIOT_3, 347
+ .set TRAINER_ELLIOT_4, 348
+ .set TRAINER_ELLIOT_5, 349
+ .set TRAINER_RONALD, 350
+ .set TRAINER_JACOB, 351
+ .set TRAINER_ANTHONY, 352
+ .set TRAINER_BENJAMIN_1, 353
+ .set TRAINER_BENJAMIN_2, 354
+ .set TRAINER_BENJAMIN_3, 355
+ .set TRAINER_BENJAMIN_4, 356
+ .set TRAINER_BENJAMIN_5, 357
+ .set TRAINER_ABIGAIL_1, 358
+ .set TRAINER_JASMINE, 359
+ .set TRAINER_ABIGAIL_2, 360
+ .set TRAINER_ABIGAIL_3, 361
+ .set TRAINER_ABIGAIL_4, 362
+ .set TRAINER_ABIGAIL_5, 363
+ .set TRAINER_DYLAN_1, 364
+ .set TRAINER_DYLAN_2, 365
+ .set TRAINER_DYLAN_3, 366
+ .set TRAINER_DYLAN_4, 367
+ .set TRAINER_DYLAN_5, 368
+ .set TRAINER_MARIA_1, 369
+ .set TRAINER_MARIA_2, 370
+ .set TRAINER_MARIA_3, 371
+ .set TRAINER_MARIA_4, 372
+ .set TRAINER_MARIA_5, 373
+ .set TRAINER_CAMDEN, 374
+ .set TRAINER_DEMETRIUS, 375
+ .set TRAINER_ISAIAH_1, 376
+ .set TRAINER_PABLO_1, 377
+ .set TRAINER_CHASE, 378
+ .set TRAINER_ISAIAH_2, 379
+ .set TRAINER_ISAIAH_3, 380
+ .set TRAINER_ISAIAH_4, 381
+ .set TRAINER_ISAIAH_5, 382
+ .set TRAINER_ISOBEL, 383
+ .set TRAINER_DONNY, 384
+ .set TRAINER_TALIA, 385
+ .set TRAINER_KATELYN_1, 386
+ .set TRAINER_ALLISON, 387
+ .set TRAINER_KATELYN_2, 388
+ .set TRAINER_KATELYN_3, 389
+ .set TRAINER_KATELYN_4, 390
+ .set TRAINER_KATELYN_5, 391
+ .set TRAINER_NICOLAS_1, 392
+ .set TRAINER_NICOLAS_2, 393
+ .set TRAINER_NICOLAS_3, 394
+ .set TRAINER_NICOLAS_4, 395
+ .set TRAINER_NICOLAS_5, 396
+ .set TRAINER_AARON, 397
+ .set TRAINER_PERRY, 398
+ .set TRAINER_HUGH, 399
+ .set TRAINER_PHIL, 400
+ .set TRAINER_JARED, 401
+ .set TRAINER_HUMBERTO, 402
+ .set TRAINER_PRESLEY, 403
+ .set TRAINER_EDWARDO, 404
+ .set TRAINER_COLIN, 405
+ .set TRAINER_ROBERT_1, 406
+ .set TRAINER_BENNY, 407
+ .set TRAINER_CHESTER, 408
+ .set TRAINER_ROBERT_2, 409
+ .set TRAINER_ROBERT_3, 410
+ .set TRAINER_ROBERT_4, 411
+ .set TRAINER_ROBERT_5, 412
+ .set TRAINER_ALEX, 413
+ .set TRAINER_BECK, 414
+ .set TRAINER_YASU, 415
+ .set TRAINER_TAKASHI, 416
+ .set TRAINER_DIANNE, 417
+ .set TRAINER_JANI, 418
+ .set TRAINER_LAO_1, 419
+ .set TRAINER_LUNG, 420
+ .set TRAINER_LAO_2, 421
+ .set TRAINER_LAO_3, 422
+ .set TRAINER_LAO_4, 423
+ .set TRAINER_LAO_5, 424
+ .set TRAINER_JOCELYN, 425
+ .set TRAINER_LAURA, 426
+ .set TRAINER_CYNDY_1, 427
+ .set TRAINER_CORA, 428
+ .set TRAINER_PAULA, 429
+ .set TRAINER_CYNDY_2, 430
+ .set TRAINER_CYNDY_3, 431
+ .set TRAINER_CYNDY_4, 432
+ .set TRAINER_CYNDY_5, 433
+ .set TRAINER_MADELINE_1, 434
+ .set TRAINER_CLARISSA, 435
+ .set TRAINER_ANGELICA, 436
+ .set TRAINER_MADELINE_2, 437
+ .set TRAINER_MADELINE_3, 438
+ .set TRAINER_MADELINE_4, 439
+ .set TRAINER_MADELINE_5, 440
+ .set TRAINER_BEVERLY, 441
+ .set TRAINER_IMANI, 442
+ .set TRAINER_KYLA, 443
+ .set TRAINER_DENISE, 444
+ .set TRAINER_BETH, 445
+ .set TRAINER_TARA, 446
+ .set TRAINER_MISSY, 447
+ .set TRAINER_ALICE, 448
+ .set TRAINER_JENNY_1, 449
+ .set TRAINER_GRACE, 450
+ .set TRAINER_TANYA, 451
+ .set TRAINER_SHARON, 452
+ .set TRAINER_NIKKI, 453
+ .set TRAINER_BRENDA, 454
+ .set TRAINER_KATIE, 455
+ .set TRAINER_SUSIE, 456
+ .set TRAINER_KARA, 457
+ .set TRAINER_DANA, 458
+ .set TRAINER_SIENNA, 459
+ .set TRAINER_DEBRA, 460
+ .set TRAINER_LINDA, 461
+ .set TRAINER_KAYLEE, 462
+ .set TRAINER_LAUREL, 463
+ .set TRAINER_CARLEE, 464
+ .set TRAINER_JENNY_2, 465
+ .set TRAINER_JENNY_3, 466
+ .set TRAINER_JENNY_4, 467
+ .set TRAINER_JENNY_5, 468
+ .set TRAINER_HEIDI, 469
+ .set TRAINER_BECKY, 470
+ .set TRAINER_CAROL, 471
+ .set TRAINER_NANCY, 472
+ .set TRAINER_MARTHA, 473
+ .set TRAINER_DIANA_1, 474
+ .set TRAINER_CEDRIC, 475
+ .set TRAINER_IRENE, 476
+ .set TRAINER_DIANA_2, 477
+ .set TRAINER_DIANA_3, 478
+ .set TRAINER_DIANA_4, 479
+ .set TRAINER_DIANA_5, 480
+ .set TRAINER_AMY_AND_LIV_1, 481
+ .set TRAINER_AMY_AND_LIV_2, 482
+ .set TRAINER_GINA_AND_MIA_1, 483
+ .set TRAINER_MIU_AND_YUKI, 484
+ .set TRAINER_AMY_AND_LIV_3, 485
+ .set TRAINER_GINA_AND_MIA_2, 486
+ .set TRAINER_AMY_AND_LIV_4, 487
+ .set TRAINER_AMY_AND_LIV_5, 488
+ .set TRAINER_AMY_AND_LIV_6, 489
+ .set TRAINER_HUEY, 490
+ .set TRAINER_EDMOND, 491
+ .set TRAINER_ERNEST_1, 492
+ .set TRAINER_DWAYNE, 493
+ .set TRAINER_PHILLIP, 494
+ .set TRAINER_LEONARD, 495
+ .set TRAINER_DUNCAN, 496
+ .set TRAINER_ERNEST_2, 497
+ .set TRAINER_ERNEST_3, 498
+ .set TRAINER_ERNEST_4, 499
+ .set TRAINER_ERNEST_5, 500
+ .set TRAINER_ELI, 501
+ .set TRAINER_ANNIKA, 502
+ .set TRAINER_JAZMYN, 503
+ .set TRAINER_JONAS, 504
+ .set TRAINER_KAYLEY, 505
+ .set TRAINER_AURON, 506
+ .set TRAINER_KELVIN, 507
+ .set TRAINER_MARLEY, 508
+ .set TRAINER_REYNA, 509
+ .set TRAINER_HUDSON, 510
+ .set TRAINER_CONOR, 511
+ .set TRAINER_EDWIN_1, 512
+ .set TRAINER_HECTOR, 513
+ .set TRAINER_TABITHA_1, 514
+ .set TRAINER_EDWIN_2, 515
+ .set TRAINER_EDWIN_3, 516
+ .set TRAINER_EDWIN_4, 517
+ .set TRAINER_EDWIN_5, 518
+ .set TRAINER_WALLY_1, 519
+ .set TRAINER_BRENDAN_1, 520
+ .set TRAINER_BRENDAN_2, 521
+ .set TRAINER_BRENDAN_3, 522
+ .set TRAINER_BRENDAN_4, 523
+ .set TRAINER_BRENDAN_5, 524
+ .set TRAINER_BRENDAN_6, 525
+ .set TRAINER_BRENDAN_7, 526
+ .set TRAINER_BRENDAN_8, 527
+ .set TRAINER_BRENDAN_9, 528
+ .set TRAINER_MAY_1, 529
+ .set TRAINER_MAY_2, 530
+ .set TRAINER_MAY_3, 531
+ .set TRAINER_MAY_4, 532
+ .set TRAINER_MAY_5, 533
+ .set TRAINER_MAY_6, 534
+ .set TRAINER_MAY_7, 535
+ .set TRAINER_MAY_8, 536
+ .set TRAINER_MAY_9, 537
+ .set TRAINER_ISAAC_1, 538
+ .set TRAINER_DAVIS, 539
+ .set TRAINER_MITCHELL, 540
+ .set TRAINER_ISAAC_2, 541
+ .set TRAINER_ISAAC_3, 542
+ .set TRAINER_ISAAC_4, 543
+ .set TRAINER_ISAAC_5, 544
+ .set TRAINER_LYDIA_1, 545
+ .set TRAINER_HALLE, 546
+ .set TRAINER_GARRISON, 547
+ .set TRAINER_LYDIA_2, 548
+ .set TRAINER_LYDIA_3, 549
+ .set TRAINER_LYDIA_4, 550
+ .set TRAINER_LYDIA_5, 551
+ .set TRAINER_JACKSON_1, 552
+ .set TRAINER_LORENZO, 553
+ .set TRAINER_SEBASTIAN, 554
+ .set TRAINER_JACKSON_2, 555
+ .set TRAINER_JACKSON_3, 556
+ .set TRAINER_JACKSON_4, 557
+ .set TRAINER_JACKSON_5, 558
+ .set TRAINER_CATHERINE_1, 559
+ .set TRAINER_JENNA, 560
+ .set TRAINER_SOPHIA, 561
+ .set TRAINER_CATHERINE_2, 562
+ .set TRAINER_CATHERINE_3, 563
+ .set TRAINER_CATHERINE_4, 564
+ .set TRAINER_CATHERINE_5, 565
+ .set TRAINER_JULIO, 566
+ .set TRAINER_GRUNT_27, 567
+ .set TRAINER_GRUNT_28, 568
+ .set TRAINER_GRUNT_29, 569
+ .set TRAINER_GRUNT_30, 570
+ .set TRAINER_MARC, 571
+ .set TRAINER_BRENDEN, 572
+ .set TRAINER_LILITH, 573
+ .set TRAINER_CRISTIAN, 574
+ .set TRAINER_SYLVIA, 575
+ .set TRAINER_LEONARDO, 576
+ .set TRAINER_ATHENA, 577
+ .set TRAINER_HARRISON, 578
+ .set TRAINER_GRUNT_31, 579
+ .set TRAINER_CLARENCE, 580
+ .set TRAINER_TERRY, 581
+ .set TRAINER_NATE, 582
+ .set TRAINER_KATHLEEN, 583
+ .set TRAINER_CLIFFORD, 584
+ .set TRAINER_NICHOLAS, 585
+ .set TRAINER_GRUNT_32, 586
+ .set TRAINER_GRUNT_33, 587
+ .set TRAINER_GRUNT_34, 588
+ .set TRAINER_GRUNT_35, 589
+ .set TRAINER_GRUNT_36, 590
+ .set TRAINER_MACEY, 591
+ .set TRAINER_BRENDAN_10, 592
+ .set TRAINER_BRENDAN_11, 593
+ .set TRAINER_PAXTON, 594
+ .set TRAINER_ISABELLA, 595
+ .set TRAINER_GRUNT_37, 596
+ .set TRAINER_TABITHA_2, 597
+ .set TRAINER_JONATHAN, 598
+ .set TRAINER_BRENDAN_12, 599
+ .set TRAINER_MAY_10, 600
+ .set TRAINER_MAXIE_1, 601
+ .set TRAINER_MAXIE_2, 602
+ .set TRAINER_TIANA, 603
+ .set TRAINER_HALEY_1, 604
+ .set TRAINER_JANICE, 605
+ .set TRAINER_VIVI, 606
+ .set TRAINER_HALEY_2, 607
+ .set TRAINER_HALEY_3, 608
+ .set TRAINER_HALEY_4, 609
+ .set TRAINER_HALEY_5, 610
+ .set TRAINER_SALLY, 611
+ .set TRAINER_ROBIN, 612
+ .set TRAINER_ANDREA, 613
+ .set TRAINER_CRISSY, 614
+ .set TRAINER_RICK, 615
+ .set TRAINER_LYLE, 616
+ .set TRAINER_JOSE, 617
+ .set TRAINER_DOUG, 618
+ .set TRAINER_GREG, 619
+ .set TRAINER_KENT, 620
+ .set TRAINER_JAMES_1, 621
+ .set TRAINER_JAMES_2, 622
+ .set TRAINER_JAMES_3, 623
+ .set TRAINER_JAMES_4, 624
+ .set TRAINER_JAMES_5, 625
+ .set TRAINER_BRICE, 626
+ .set TRAINER_TRENT_1, 627
+ .set TRAINER_LENNY, 628
+ .set TRAINER_LUCAS_1, 629
+ .set TRAINER_ALAN, 630
+ .set TRAINER_CLARK, 631
+ .set TRAINER_ERIC, 632
+ .set TRAINER_LUCAS_2, 633
+ .set TRAINER_MIKE_1, 634
+ .set TRAINER_MIKE_2, 635
+ .set TRAINER_TRENT_2, 636
+ .set TRAINER_TRENT_3, 637
+ .set TRAINER_TRENT_4, 638
+ .set TRAINER_TRENT_5, 639
+ .set TRAINER_DEZ_AND_LUKE, 640
+ .set TRAINER_LEA_AND_JED, 641
+ .set TRAINER_KIRA_AND_DAN_1, 642
+ .set TRAINER_KIRA_AND_DAN_2, 643
+ .set TRAINER_KIRA_AND_DAN_3, 644
+ .set TRAINER_KIRA_AND_DAN_4, 645
+ .set TRAINER_KIRA_AND_DAN_5, 646
+ .set TRAINER_JOHANNA, 647
+ .set TRAINER_GERALD, 648
+ .set TRAINER_VIVIAN, 649
+ .set TRAINER_DANIELLE, 650
+ .set TRAINER_HIDEO, 651
+ .set TRAINER_KEIGO, 652
+ .set TRAINER_RILEY, 653
+ .set TRAINER_FLINT, 654
+ .set TRAINER_ASHLEY, 655
+ .set TRAINER_WALLY_2, 656
+ .set TRAINER_WALLY_3, 657
+ .set TRAINER_WALLY_4, 658
+ .set TRAINER_WALLY_5, 659
+ .set TRAINER_WALLY_6, 660
+ .set TRAINER_BRENDAN_13, 661
+ .set TRAINER_BRENDAN_14, 662
+ .set TRAINER_BRENDAN_15, 663
+ .set TRAINER_MAY_11, 664
+ .set TRAINER_MAY_12, 665
+ .set TRAINER_MAY_13, 666
+ .set TRAINER_JONAH, 667
+ .set TRAINER_HENRY, 668
+ .set TRAINER_ROGER, 669
+ .set TRAINER_ALEXA, 670
+ .set TRAINER_RUBEN, 671
+ .set TRAINER_KOJI_1, 672
+ .set TRAINER_WAYNE, 673
+ .set TRAINER_AIDAN, 674
+ .set TRAINER_REED, 675
+ .set TRAINER_TISHA, 676
+ .set TRAINER_TORI_AND_TIA, 677
+ .set TRAINER_KIM_AND_IRIS, 678
+ .set TRAINER_TYRA_AND_IVY, 679
+ .set TRAINER_MEL_AND_PAUL, 680
+ .set TRAINER_JOHN_AND_JAY_1, 681
+ .set TRAINER_JOHN_AND_JAY_2, 682
+ .set TRAINER_JOHN_AND_JAY_3, 683
+ .set TRAINER_JOHN_AND_JAY_4, 684
+ .set TRAINER_JOHN_AND_JAY_5, 685
+ .set TRAINER_RELI_AND_IAN, 686
+ .set TRAINER_LILA_AND_ROY_1, 687
+ .set TRAINER_LILA_AND_ROY_2, 688
+ .set TRAINER_LILA_AND_ROY_3, 689
+ .set TRAINER_LILA_AND_ROY_4, 690
+ .set TRAINER_LILA_AND_ROY_5, 691
+ .set TRAINER_LISA_AND_RAY, 692
+ .set TRAINER_CHRIS, 693
+ .set TRAINER_DAWSON, 694
+ .set TRAINER_SARAH, 695
+ .set TRAINER_DARIAN, 696
+ .set TRAINER_HAILEY, 697
+ .set TRAINER_CHANDLER, 698
+ .set TRAINER_KALEB, 699
+ .set TRAINER_JOSEPH, 700
+ .set TRAINER_ALYSSA, 701
+ .set TRAINER_MARCOS, 702
+ .set TRAINER_RHETT, 703
+ .set TRAINER_TYRON, 704
+ .set TRAINER_CELINA, 705
+ .set TRAINER_BIANCA, 706
+ .set TRAINER_HAYDEN, 707
+ .set TRAINER_SOPHIE, 708
+ .set TRAINER_COBY, 709
+ .set TRAINER_LAWRENCE, 710
+ .set TRAINER_WYATT, 711
+ .set TRAINER_ANGELINA, 712
+ .set TRAINER_KAI, 713
+ .set TRAINER_CHARLOTTE, 714
+ .set TRAINER_DEANDRE, 715
+ .set TRAINER_GRUNT_38, 716
+ .set TRAINER_GRUNT_39, 717
+ .set TRAINER_GRUNT_40, 718
+ .set TRAINER_GRUNT_41, 719
+ .set TRAINER_GRUNT_42, 720
+ .set TRAINER_GRUNT_43, 721
+ .set TRAINER_GRUNT_44, 722
+ .set TRAINER_GRUNT_45, 723
+ .set TRAINER_GRUNT_46, 724
+ .set TRAINER_GRUNT_47, 725
+ .set TRAINER_GRUNT_48, 726
+ .set TRAINER_GRUNT_49, 727
+ .set TRAINER_GRUNT_50, 728
+ .set TRAINER_GRUNT_51, 729
+ .set TRAINER_GRUNT_52, 730
+ .set TRAINER_GRUNT_53, 731
+ .set TRAINER_TABITHA_3, 732
+ .set TRAINER_DARCY, 733
+ .set TRAINER_MAXIE_3, 734
+ .set TRAINER_PETE, 735
+ .set TRAINER_ISABELLE, 736
+ .set TRAINER_ANDRES_1, 737
+ .set TRAINER_JOSUE, 738
+ .set TRAINER_CAMRON, 739
+ .set TRAINER_CORY_1, 740
+ .set TRAINER_CAROLINA, 741
+ .set TRAINER_ELIJAH, 742
+ .set TRAINER_CELIA, 743
+ .set TRAINER_BRYAN, 744
+ .set TRAINER_BRANDEN, 745
+ .set TRAINER_BRYANT, 746
+ .set TRAINER_SHAYLA, 747
+ .set TRAINER_KYRA, 748
+ .set TRAINER_JAIDEN, 749
+ .set TRAINER_ALIX, 750
+ .set TRAINER_HELENE, 751
+ .set TRAINER_MARLENE, 752
+ .set TRAINER_DEVAN, 753
+ .set TRAINER_JOHNSON, 754
+ .set TRAINER_MELINA, 755
+ .set TRAINER_BRANDI, 756
+ .set TRAINER_AISHA, 757
+ .set TRAINER_MAKAYLA, 758
+ .set TRAINER_FABIAN, 759
+ .set TRAINER_DAYTON, 760
+ .set TRAINER_RACHEL, 761
+ .set TRAINER_LEONEL, 762
+ .set TRAINER_CALLIE, 763
+ .set TRAINER_CALE, 764
+ .set TRAINER_MYLES, 765
+ .set TRAINER_PAT, 766
+ .set TRAINER_CRISTIN_1, 767
+ .set TRAINER_MAY_14, 768
+ .set TRAINER_MAY_15, 769
+ .set TRAINER_ROXANNE_2, 770
+ .set TRAINER_ROXANNE_3, 771
+ .set TRAINER_ROXANNE_4, 772
+ .set TRAINER_ROXANNE_5, 773
+ .set TRAINER_BRAWLY_2, 774
+ .set TRAINER_BRAWLY_3, 775
+ .set TRAINER_BRAWLY_4, 776
+ .set TRAINER_BRAWLY_5, 777
+ .set TRAINER_WATTSON_2, 778
+ .set TRAINER_WATTSON_3, 779
+ .set TRAINER_WATTSON_4, 780
+ .set TRAINER_WATTSON_5, 781
+ .set TRAINER_FLANNERY_2, 782
+ .set TRAINER_FLANNERY_3, 783
+ .set TRAINER_FLANNERY_4, 784
+ .set TRAINER_FLANNERY_5, 785
+ .set TRAINER_NORMAN_2, 786
+ .set TRAINER_NORMAN_3, 787
+ .set TRAINER_NORMAN_4, 788
+ .set TRAINER_NORMAN_5, 789
+ .set TRAINER_WINONA_2, 790
+ .set TRAINER_WINONA_3, 791
+ .set TRAINER_WINONA_4, 792
+ .set TRAINER_WINONA_5, 793
+ .set TRAINER_TATE_AND_LIZA_2, 794
+ .set TRAINER_TATE_AND_LIZA_3, 795
+ .set TRAINER_TATE_AND_LIZA_4, 796
+ .set TRAINER_TATE_AND_LIZA_5, 797
+ .set TRAINER_JUAN_2, 798
+ .set TRAINER_JUAN_3, 799
+ .set TRAINER_JUAN_4, 800
+ .set TRAINER_JUAN_5, 801
+ .set TRAINER_ANGELO, 802
+ .set TRAINER_DARIUS, 803
+ .set TRAINER_STEVEN, 804
+ .set TRAINER_ANABEL, 805
+ .set TRAINER_TUCKER, 806
+ .set TRAINER_SPENSER, 807
+ .set TRAINER_GRETA, 808
+ .set TRAINER_NOLAND, 809
+ .set TRAINER_LUCY, 810
+ .set TRAINER_BRANDON, 811
+ .set TRAINER_ANDRES_2, 812
+ .set TRAINER_ANDRES_3, 813
+ .set TRAINER_ANDRES_4, 814
+ .set TRAINER_ANDRES_5, 815
+ .set TRAINER_CORY_2, 816
+ .set TRAINER_CORY_3, 817
+ .set TRAINER_CORY_4, 818
+ .set TRAINER_CORY_5, 819
+ .set TRAINER_PABLO_2, 820
+ .set TRAINER_PABLO_3, 821
+ .set TRAINER_PABLO_4, 822
+ .set TRAINER_PABLO_5, 823
+ .set TRAINER_KOJI_2, 824
+ .set TRAINER_KOJI_3, 825
+ .set TRAINER_KOJI_4, 826
+ .set TRAINER_KOJI_5, 827
+ .set TRAINER_CRISTIN_2, 828
+ .set TRAINER_CRISTIN_3, 829
+ .set TRAINER_CRISTIN_4, 830
+ .set TRAINER_CRISTIN_5, 831
+ .set TRAINER_FERNANDO_2, 832
+ .set TRAINER_FERNANDO_3, 833
+ .set TRAINER_FERNANDO_4, 834
+ .set TRAINER_FERNANDO_5, 835
+ .set TRAINER_SAWYER_2, 836
+ .set TRAINER_SAWYER_3, 837
+ .set TRAINER_SAWYER_4, 838
+ .set TRAINER_SAWYER_5, 839
+ .set TRAINER_GABRIELLE_2, 840
+ .set TRAINER_GABRIELLE_3, 841
+ .set TRAINER_GABRIELLE_4, 842
+ .set TRAINER_GABRIELLE_5, 843
+ .set TRAINER_THALIA_2, 844
+ .set TRAINER_THALIA_3, 845
+ .set TRAINER_THALIA_4, 846
+ .set TRAINER_THALIA_5, 847
+ .set TRAINER_MARIELA, 848
+ .set TRAINER_ALVARO, 849
+ .set TRAINER_EVERETT, 850
+ .set TRAINER_RED, 851
+ .set TRAINER_LEAF, 852
+ .set TRAINER_BRENDAN_16, 853
+ .set TRAINER_MAY_16, 854
+
+ .set TRAINER_PIC_HIKER, 0
+ .set TRAINER_PIC_AQUA_GRUNT_M, 1
+ .set TRAINER_PIC_POKEMON_BREEDER_F, 2
+ .set TRAINER_PIC_COOL_TRAINER_M, 3
+ .set TRAINER_PIC_BIRD_KEEPER, 4
+ .set TRAINER_PIC_COLLECTOR, 5
+ .set TRAINER_PIC_AQUA_GRUNT_F, 6
+ .set TRAINER_PIC_SWIMMER_M, 7
+ .set TRAINER_PIC_MAGMA_GRUNT_M, 8
+ .set TRAINER_PIC_EXPERT_M, 9
+ .set TRAINER_PIC_AQUA_ADMIN_M, 10
+ .set TRAINER_PIC_BLACK_BELT, 11
+ .set TRAINER_PIC_AQUA_ADMIN_F, 12
+ .set TRAINER_PIC_AQUA_LEADER_ARCHIE, 13
+ .set TRAINER_PIC_HEX_MANIAC, 14
+ .set TRAINER_PIC_AROMA_LADY, 15
+ .set TRAINER_PIC_RUIN_MANIAC, 16
+ .set TRAINER_PIC_INTERVIEWER, 17
+ .set TRAINER_PIC_TUBER_F, 18
+ .set TRAINER_PIC_TUBER_M, 19
+ .set TRAINER_PIC_COOL_TRAINER_F, 20
+ .set TRAINER_PIC_LADY, 21
+ .set TRAINER_PIC_BEAUTY, 22
+ .set TRAINER_PIC_RICH_BOY, 23
+ .set TRAINER_PIC_EXPERT_F, 24
+ .set TRAINER_PIC_POKEMANIAC, 25
+ .set TRAINER_PIC_MAGMA_GRUNT_F, 26
+ .set TRAINER_PIC_GUITARIST, 27
+ .set TRAINER_PIC_KINDLER, 28
+ .set TRAINER_PIC_CAMPER, 29
+ .set TRAINER_PIC_PICNICKER, 30
+ .set TRAINER_PIC_BUG_MANIAC, 31
+ .set TRAINER_PIC_POKEMON_BREEDER_M, 32
+ .set TRAINER_PIC_PSYCHIC_M, 33
+ .set TRAINER_PIC_PSYCHIC_F, 34
+ .set TRAINER_PIC_GENTLEMAN, 35
+ .set TRAINER_PIC_ELITE_FOUR_SIDNEY, 36
+ .set TRAINER_PIC_ELITE_FOUR_PHOEBE, 37
+ .set TRAINER_PIC_ELITE_FOUR_GLACIA, 38
+ .set TRAINER_PIC_ELITE_FOUR_DRAKE, 39
+ .set TRAINER_PIC_LEADER_ROXANNE, 40
+ .set TRAINER_PIC_LEADER_BRAWLY, 41
+ .set TRAINER_PIC_LEADER_WATTSON, 42
+ .set TRAINER_PIC_LEADER_FLANNERY, 43
+ .set TRAINER_PIC_LEADER_NORMAN, 44
+ .set TRAINER_PIC_LEADER_WINONA, 45
+ .set TRAINER_PIC_LEADER_TATE_AND_LIZA, 46
+ .set TRAINER_PIC_LEADER_JUAN, 47
+ .set TRAINER_PIC_SCHOOL_KID_M, 48
+ .set TRAINER_PIC_SCHOOL_KID_F, 49
+ .set TRAINER_PIC_SR_AND_JR, 50
+ .set TRAINER_PIC_WINSTRATE_M, 51
+ .set TRAINER_PIC_WINSTRATE_F, 52
+ .set TRAINER_PIC_YOUNGSTER, 53
+ .set TRAINER_PIC_CHAMPION_WALLACE, 54
+ .set TRAINER_PIC_FISHERMAN, 55
+ .set TRAINER_PIC_CYCLING_TRIATHLETE_M, 56
+ .set TRAINER_PIC_CYCLING_TRIATHLETE_F, 57
+ .set TRAINER_PIC_RUNNING_TRIATHLETE_M, 58
+ .set TRAINER_PIC_RUNNING_TRIATHLETE_F, 59
+ .set TRAINER_PIC_SWIMMING_TRIATHLETE_M, 60
+ .set TRAINER_PIC_SWIMMING_TRIATHLETE_F, 61
+ .set TRAINER_PIC_DRAGON_TAMER, 62
+ .set TRAINER_PIC_NINJA_BOY, 63
+ .set TRAINER_PIC_BATTLE_GIRL, 64
+ .set TRAINER_PIC_PARASOL_LADY, 65
+ .set TRAINER_PIC_SWIMMER_F, 66
+ .set TRAINER_PIC_TWINS, 67
+ .set TRAINER_PIC_SAILOR, 68
+ .set TRAINER_PIC_MAGMA_ADMIN, 69
+ .set TRAINER_PIC_WALLY, 70
+ .set TRAINER_PIC_BRENDAN, 71
+ .set TRAINER_PIC_MAY, 72
+ .set TRAINER_PIC_BUG_CATCHER, 73
+ .set TRAINER_PIC_POKEMON_RANGER_M, 74
+ .set TRAINER_PIC_POKEMON_RANGER_F, 75
+ .set TRAINER_PIC_MAGMA_LEADER_MAXIE, 76
+ .set TRAINER_PIC_LASS, 77
+ .set TRAINER_PIC_YOUNG_COUPLE, 78
+ .set TRAINER_PIC_OLD_COUPLE, 79
+ .set TRAINER_PIC_SIS_AND_BRO, 80
+ .set TRAINER_PIC_STEVEN, 81
+ .set TRAINER_PIC_SALON_MAIDEN_ANABEL, 82
+ .set TRAINER_PIC_DOME_ACE_TUCKER, 83
+ .set TRAINER_PIC_PALACE_MAVEN_SPENSER, 84
+ .set TRAINER_PIC_ARENA_TYCOON_GRETA, 85
+ .set TRAINER_PIC_FACTORY_HEAD_NOLAND, 86
+ .set TRAINER_PIC_PIKE_QUEEN_LUCY, 87
+ .set TRAINER_PIC_PYRAMID_KING_BRANDON, 88
+ .set TRAINER_PIC_RED, 89
+ .set TRAINER_PIC_LEAF, 90
+ .set TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN, 91
+ .set TRAINER_PIC_RUBY_SAPPHIRE_MAY, 92
+
+ .set TRAINER_CLASS_HIKER, 0x0
+ .set TRAINER_CLASS_TEAM_AQUA_1, 0x1
+ .set TRAINER_CLASS_PKMN_BREEDER_1, 0x2
+ .set TRAINER_CLASS_COOLTRAINER_1, 0x3
+ .set TRAINER_CLASS_BIRD_KEEPER, 0x4
+ .set TRAINER_CLASS_COLLECTOR, 0x5
+ .set TRAINER_CLASS_TEAM_AQUA_2, 0x6
+ .set TRAINER_CLASS_SWIMMER_M, 0x7
+ .set TRAINER_CLASS_TEAM_MAGMA_1, 0x8
+ .set TRAINER_CLASS_EXPERT_1, 0x9
+ .set TRAINER_CLASS_BLACK_BELT, 0xa
+ .set TRAINER_CLASS_AQUA_LEADER, 0xb
+ .set TRAINER_CLASS_HEX_MANIAC, 0xc
+ .set TRAINER_CLASS_AROMA_LADY, 0xd
+ .set TRAINER_CLASS_RUIN_MANIAC, 0xe
+ .set TRAINER_CLASS_INTERVIEWER, 0xf
+ .set TRAINER_CLASS_TUBER_1, 0x10
+ .set TRAINER_CLASS_TUBER_2, 0x11
+ .set TRAINER_CLASS_COOLTRAINER_2, 0x12
+ .set TRAINER_CLASS_LADY, 0x13
+ .set TRAINER_CLASS_BEAUTY, 0x14
+ .set TRAINER_CLASS_RICH_BOY, 0x15
+ .set TRAINER_CLASS_EXPERT_2, 0x16
+ .set TRAINER_CLASS_POKEMANIAC, 0x17
+ .set TRAINER_CLASS_TEAM_MAGMA_2, 0x18
+ .set TRAINER_CLASS_GUITARIST, 0x19
+ .set TRAINER_CLASS_KINDLER, 0x1a
+ .set TRAINER_CLASS_CAMPER, 0x1b
+ .set TRAINER_CLASS_PICNICKER, 0x1c
+ .set TRAINER_CLASS_BUG_MANIAC, 0x1d
+ .set TRAINER_CLASS_PSYCHIC_1, 0x1e
+ .set TRAINER_CLASS_PSYCHIC_2, 0x1f
+ .set TRAINER_CLASS_GENTLEMAN, 0x20
+ .set TRAINER_CLASS_ELITE_FOUR_1, 0x21
+ .set TRAINER_CLASS_ELITE_FOUR_2, 0x22
+ .set TRAINER_CLASS_LEADER_1, 0x23
+ .set TRAINER_CLASS_LEADER_2, 0x24
+ .set TRAINER_CLASS_LEADER_3, 0x25
+ .set TRAINER_CLASS_SCHOOL_KID_1, 0x26
+ .set TRAINER_CLASS_SCHOOL_KID_2, 0x27
+ .set TRAINER_CLASS_SR_AND_JR, 0x28
+ .set TRAINER_CLASS_POKEFAN_1, 0x29
+ .set TRAINER_CLASS_POKEFAN_2, 0x2a
+ .set TRAINER_CLASS_YOUNGSTER, 0x2b
+ .set TRAINER_CLASS_CHAMPION, 0x2c
+ .set TRAINER_CLASS_FISHERMAN, 0x2d
+ .set TRAINER_CLASS_TRIATHLETE_1, 0x2e
+ .set TRAINER_CLASS_TRIATHLETE_2, 0x2f
+ .set TRAINER_CLASS_TRIATHLETE_3, 0x30
+ .set TRAINER_CLASS_TRIATHLETE_4, 0x31
+ .set TRAINER_CLASS_TRIATHLETE_5, 0x32
+ .set TRAINER_CLASS_TRIATHLETE_6, 0x33
+ .set TRAINER_CLASS_DRAGON_TAMER, 0x34
+ .set TRAINER_CLASS_NINJA_BOY, 0x35
+ .set TRAINER_CLASS_BATTLE_GIRL, 0x36
+ .set TRAINER_CLASS_PARASOL_LADY, 0x37
+ .set TRAINER_CLASS_SWIMMER_F, 0x38
+ .set TRAINER_CLASS_TWINS, 0x39
+ .set TRAINER_CLASS_SAILOR, 0x3a
+ .set TRAINER_CLASS_PKMN_TRAINER_1, 0x3b
+ .set TRAINER_CLASS_PKMN_TRAINER_2, 0x3c
+ .set TRAINER_CLASS_PKMN_TRAINER_3, 0x3d
+ .set TRAINER_CLASS_PKMN_TRAINER_4, 0x3e
+ .set TRAINER_CLASS_PKMN_TRAINER_5, 0x3f
+ .set TRAINER_CLASS_PKMN_TRAINER_6, 0x40
+ .set TRAINER_CLASS_PKMN_TRAINER_7, 0x41
+ .set TRAINER_CLASS_PKMN_BREEDER_2, 0x42
+ .set TRAINER_CLASS_BUG_CATCHER, 0x43
+ .set TRAINER_CLASS_PKMN_RANGER_1, 0x44
+ .set TRAINER_CLASS_PKMN_RANGER_2, 0x45
+ .set TRAINER_CLASS_MAGMA_LEADER, 0x46
+ .set TRAINER_CLASS_LASS, 0x47
+ .set TRAINER_CLASS_YOUNG_COUPLE, 0x48
+ .set TRAINER_CLASS_OLD_COUPLE, 0x49
+ .set TRAINER_CLASS_SIS_AND_BRO, 0x4a
+ .set TRAINER_CLASS_PKMN_TRAINER_8, 0x4b
+ .set TRAINER_CLASS_SALON_MAIDEN, 0x4c
+ .set TRAINER_CLASS_DOME_ACE, 0x4d
+ .set TRAINER_CLASS_PKMN_TRAINER_9, 0x4e
+ .set TRAINER_CLASS_PKMN_TRAINER_10, 0x4f
+ .set TRAINER_CLASS_PKMN_TRAINER_11, 0x50
+ .set TRAINER_CLASS_PKMN_TRAINER_12, 0x51
+
+ .set TRAINER_CLASS_NAME_PKMN_TRAINER_1, 0x0
+ .set TRAINER_CLASS_NAME_PKMN_TRAINER_2, 0x1
+ .set TRAINER_CLASS_NAME_HIKER, 0x2
+ .set TRAINER_CLASS_NAME_TEAM_AQUA, 0x3
+ .set TRAINER_CLASS_NAME_PKMN_BREEDER, 0x4
+ .set TRAINER_CLASS_NAME_COOLTRAINER_1, 0x5
+ .set TRAINER_CLASS_NAME_BIRD_KEEPER, 0x6
+ .set TRAINER_CLASS_NAME_COLLECTOR, 0x7
+ .set TRAINER_CLASS_NAME_SWIMMER_M, 0x8
+ .set TRAINER_CLASS_NAME_TEAM_MAGMA, 0x9
+ .set TRAINER_CLASS_NAME_EXPERT, 0xa
+ .set TRAINER_CLASS_NAME_AQUA_ADMIN, 0xb
+ .set TRAINER_CLASS_NAME_BLACK_BELT, 0xc
+ .set TRAINER_CLASS_NAME_AQUA_LEADER, 0xd
+ .set TRAINER_CLASS_NAME_HEX_MANIAC, 0xe
+ .set TRAINER_CLASS_NAME_AROMA_LADY, 0xf
+ .set TRAINER_CLASS_NAME_RUIN_MANIAC, 0x10
+ .set TRAINER_CLASS_NAME_INTERVIEWER, 0x11
+ .set TRAINER_CLASS_NAME_TUBER_1, 0x12
+ .set TRAINER_CLASS_NAME_TUBER_2, 0x13
+ .set TRAINER_CLASS_NAME_LADY, 0x14
+ .set TRAINER_CLASS_NAME_BEAUTY, 0x15
+ .set TRAINER_CLASS_NAME_RICH_BOY, 0x16
+ .set TRAINER_CLASS_NAME_POKEMANIAC, 0x17
+ .set TRAINER_CLASS_NAME_GUITARIST, 0x18
+ .set TRAINER_CLASS_NAME_KINDLER, 0x19
+ .set TRAINER_CLASS_NAME_CAMPER, 0x1a
+ .set TRAINER_CLASS_NAME_PICNICKER, 0x1b
+ .set TRAINER_CLASS_NAME_BUG_MANIAC, 0x1c
+ .set TRAINER_CLASS_NAME_PSYCHIC, 0x1d
+ .set TRAINER_CLASS_NAME_GENTLEMAN, 0x1e
+ .set TRAINER_CLASS_NAME_ELITE_FOUR, 0x1f
+ .set TRAINER_CLASS_NAME_LEADER, 0x20
+ .set TRAINER_CLASS_NAME_SCHOOL_KID, 0x21
+ .set TRAINER_CLASS_NAME_SR_AND_JR, 0x22
+ .set TRAINER_CLASS_NAME_WINSTRATE, 0x23
+ .set TRAINER_CLASS_NAME_POKEFAN, 0x24
+ .set TRAINER_CLASS_NAME_YOUNGSTER, 0x25
+ .set TRAINER_CLASS_NAME_CHAMPION, 0x26
+ .set TRAINER_CLASS_NAME_FISHERMAN, 0x27
+ .set TRAINER_CLASS_NAME_TRIATHLETE, 0x28
+ .set TRAINER_CLASS_NAME_DRAGON_TAMER, 0x29
+ .set TRAINER_CLASS_NAME_NINJA_BOY, 0x2a
+ .set TRAINER_CLASS_NAME_BATTLE_GIRL, 0x2b
+ .set TRAINER_CLASS_NAME_PARASOL_LADY, 0x2c
+ .set TRAINER_CLASS_NAME_SWIMMER_F, 0x2d
+ .set TRAINER_CLASS_NAME_TWINS, 0x2e
+ .set TRAINER_CLASS_NAME_SAILOR, 0x2f
+ .set TRAINER_CLASS_NAME_COOLTRAINER_2, 0x30
+ .set TRAINER_CLASS_NAME_MAGMA_ADMIN, 0x31
+ .set TRAINER_CLASS_NAME_PKMN_TRAINER_3, 0x32
+ .set TRAINER_CLASS_NAME_BUG_CATCHER, 0x33
+ .set TRAINER_CLASS_NAME_PKMN_RANGER, 0x34
+ .set TRAINER_CLASS_NAME_MAGMA_LEADER, 0x35
+ .set TRAINER_CLASS_NAME_LASS, 0x36
+ .set TRAINER_CLASS_NAME_YOUNG_COUPLE, 0x37
+ .set TRAINER_CLASS_NAME_OLD_COUPLE, 0x38
+ .set TRAINER_CLASS_NAME_SIS_AND_BRO, 0x39
+ .set TRAINER_CLASS_NAME_SALON_MAIDEN, 0x3a
+ .set TRAINER_CLASS_NAME_DOME_ACE, 0x3b
+ .set TRAINER_CLASS_NAME_PALACE_MAVEN, 0x3c
+ .set TRAINER_CLASS_NAME_ARENA_TYCOON, 0x3d
+ .set TRAINER_CLASS_NAME_FACTORY_HEAD, 0x3e
+ .set TRAINER_CLASS_NAME_PIKE_QUEEN, 0x3f
+ .set TRAINER_CLASS_NAME_PYRAMID_KING, 0x40
+ .set TRAINER_CLASS_NAME_PKMN_TRAINER_4, 0x41
+
+ .set TRAINER_ENCOUNTER_MUSIC_MALE, 0 ; standard male encounter music
+ .set TRAINER_ENCOUNTER_MUSIC_FEMALE, 1 ; standard female encounter music
+ .set TRAINER_ENCOUNTER_MUSIC_GIRL, 2 ; used for male Tubers and Young Couples too
+ .set TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, 3
+ .set TRAINER_ENCOUNTER_MUSIC_INTENSE, 4
+ .set TRAINER_ENCOUNTER_MUSIC_COOL, 5
+ .set TRAINER_ENCOUNTER_MUSIC_AQUA, 6
+ .set TRAINER_ENCOUNTER_MUSIC_MAGMA, 7
+ .set TRAINER_ENCOUNTER_MUSIC_SWIMMER, 8
+ .set TRAINER_ENCOUNTER_MUSIC_TWINS, 9 ; used for other trainer classes too
+ .set TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR, 10
+ .set TRAINER_ENCOUNTER_MUSIC_HIKER, 11 ; used for other trainer classes too
+ .set TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, 12
+ .set TRAINER_ENCOUNTER_MUSIC_RICH, 13 ; Rich Boys and Gentlemen
+
+ .set F_TRAINER_FEMALE, 1 << 7
+
+; All trainer parties specify the IV, level, and species for each Pokémon in the
+; party. Some trainer parties also specify held items and custom moves for each
+; Pokémon.
+ .set F_TRAINER_PARTY_CUSTOM_MOVESET, 1 << 0
+ .set F_TRAINER_PARTY_HELD_ITEM, 1 << 1
diff --git a/constants/type_constants.s b/constants/type_constants.s
new file mode 100644
index 000000000..86e3c9df3
--- /dev/null
+++ b/constants/type_constants.s
@@ -0,0 +1,18 @@
+ .set TYPE_NORMAL, 0x00
+ .set TYPE_FIGHTING, 0x01
+ .set TYPE_FLYING, 0x02
+ .set TYPE_POISON, 0x03
+ .set TYPE_GROUND, 0x04
+ .set TYPE_ROCK, 0x05
+ .set TYPE_BUG, 0x06
+ .set TYPE_GHOST, 0x07
+ .set TYPE_STEEL, 0x08
+ .set TYPE_UNKNOWN, 0x09
+ .set TYPE_FIRE, 0x0a
+ .set TYPE_WATER, 0x0b
+ .set TYPE_GRASS, 0x0c
+ .set TYPE_ELECTRIC, 0x0d
+ .set TYPE_PSYCHIC, 0x0e
+ .set TYPE_ICE, 0x0f
+ .set TYPE_DRAGON, 0x10
+ .set TYPE_DARK, 0x11