summaryrefslogtreecommitdiff
path: root/constants
diff options
context:
space:
mode:
Diffstat (limited to 'constants')
-rw-r--r--constants/animation_constants.asm775
-rwxr-xr-xconstants/audio_constants.asm62
-rw-r--r--constants/battle_constants.asm376
-rwxr-xr-xconstants/battle_tower_constants.asm39
-rwxr-xr-xconstants/cgb_constants.asm35
-rwxr-xr-xconstants/cry_constants.asm73
-rw-r--r--constants/deco_constants.asm121
-rw-r--r--constants/engine_flags.asm165
-rw-r--r--constants/event_flags.asm2073
-rw-r--r--constants/gfx_constants.asm46
-rw-r--r--constants/item_constants.asm440
-rw-r--r--constants/landmark_constants.asm102
-rw-r--r--constants/map_constants.asm709
-rw-r--r--constants/map_setup_constants.asm71
-rw-r--r--constants/misc_constants.asm214
-rw-r--r--constants/move_constants.asm299
-rw-r--r--constants/music_constants.asm107
-rw-r--r--constants/phone_constants.asm67
-rw-r--r--constants/pokemon_constants.asm321
-rw-r--r--constants/pokemon_data_constants.asm101
-rw-r--r--constants/radio_constants.asm121
-rw-r--r--constants/script_constants.asm51
-rw-r--r--constants/sfx_constants.asm192
-rw-r--r--constants/sprite_constants.asm519
-rwxr-xr-xconstants/sram_constants.asm3
-rw-r--r--constants/std_constants.asm53
-rw-r--r--constants/tilemap_constants.asm43
-rw-r--r--constants/trainer_constants.asm648
-rw-r--r--constants/type_constants.asm38
-rw-r--r--constants/wram_constants.asm105
30 files changed, 7969 insertions, 0 deletions
diff --git a/constants/animation_constants.asm b/constants/animation_constants.asm
new file mode 100644
index 00000000..5ae2f324
--- /dev/null
+++ b/constants/animation_constants.asm
@@ -0,0 +1,775 @@
+ const_def
+ const BATTLEANIMSTRUCT_INDEX
+ const BATTLEANIMSTRUCT_01
+ const BATTLEANIMSTRUCT_02
+ const BATTLEANIMSTRUCT_FRAMESET_ID
+ const BATTLEANIMSTRUCT_FUNCTION
+ const BATTLEANIMSTRUCT_PALETTE
+ const BATTLEANIMSTRUCT_TILEID
+ const BATTLEANIMSTRUCT_XCOORD
+ const BATTLEANIMSTRUCT_YCOORD
+ const BATTLEANIMSTRUCT_XOFFSET
+ const BATTLEANIMSTRUCT_YOFFSET
+ const BATTLEANIMSTRUCT_0B
+ const BATTLEANIMSTRUCT_DURATION
+ const BATTLEANIMSTRUCT_FRAME
+ const BATTLEANIMSTRUCT_ANON_JT_INDEX
+ const BATTLEANIMSTRUCT_0F
+ const BATTLEANIMSTRUCT_10
+ const BATTLEANIMSTRUCT_11
+ const BATTLEANIMSTRUCT_12
+ const BATTLEANIMSTRUCT_13
+ const BATTLEANIMSTRUCT_14
+ const BATTLEANIMSTRUCT_15
+ const BATTLEANIMSTRUCT_16
+ const BATTLEANIMSTRUCT_17
+BATTLEANIMSTRUCT_LENGTH EQU const_value
+
+ const_def
+ const ANIM_OBJ_00
+ const ANIM_OBJ_01
+ const ANIM_OBJ_02
+ const ANIM_OBJ_03
+ const ANIM_OBJ_04
+ const ANIM_OBJ_05
+ const ANIM_OBJ_06
+ const ANIM_OBJ_07
+ const ANIM_OBJ_08
+ const ANIM_OBJ_09
+ const ANIM_OBJ_0A
+ const ANIM_OBJ_0B
+ const ANIM_OBJ_0C
+ const ANIM_OBJ_0D
+ const ANIM_OBJ_0E
+ const ANIM_OBJ_0F
+ const ANIM_OBJ_BURNED
+ const ANIM_OBJ_11
+ const ANIM_OBJ_12
+ const ANIM_OBJ_13
+ const ANIM_OBJ_14
+ const ANIM_OBJ_POKE_BALL
+ const ANIM_OBJ_16
+ const ANIM_OBJ_17
+ const ANIM_OBJ_18
+ const ANIM_OBJ_19
+ const ANIM_OBJ_1A
+ const ANIM_OBJ_1B
+ const ANIM_OBJ_1C
+ const ANIM_OBJ_1D
+ const ANIM_OBJ_1E
+ const ANIM_OBJ_1F
+ const ANIM_OBJ_20
+ const ANIM_OBJ_21
+ const ANIM_OBJ_22
+ const ANIM_OBJ_23
+ const ANIM_OBJ_24
+ const ANIM_OBJ_25
+ const ANIM_OBJ_26
+ const ANIM_OBJ_27
+ const ANIM_OBJ_28
+ const ANIM_OBJ_29
+ const ANIM_OBJ_FROZEN
+ const ANIM_OBJ_2B
+ const ANIM_OBJ_2C
+ const ANIM_OBJ_2D
+ const ANIM_OBJ_2E
+ const ANIM_OBJ_2F
+ const ANIM_OBJ_30
+ const ANIM_OBJ_31
+ const ANIM_OBJ_32
+ const ANIM_OBJ_33
+ const ANIM_OBJ_34
+ const ANIM_OBJ_35
+ const ANIM_OBJ_36
+ const ANIM_OBJ_37
+ const ANIM_OBJ_38
+ const ANIM_OBJ_39
+ const ANIM_OBJ_3A
+ const ANIM_OBJ_3B
+ const ANIM_OBJ_3C
+ const ANIM_OBJ_3D
+ const ANIM_OBJ_GUST
+ const ANIM_OBJ_3F
+ const ANIM_OBJ_40
+ const ANIM_OBJ_41
+ const ANIM_OBJ_42
+ const ANIM_OBJ_43
+ const ANIM_OBJ_44
+ const ANIM_OBJ_45
+ const ANIM_OBJ_46
+ const ANIM_OBJ_47
+ const ANIM_OBJ_48
+ const ANIM_OBJ_49
+ const ANIM_OBJ_4A
+ const ANIM_OBJ_4B
+ const ANIM_OBJ_4C
+ const ANIM_OBJ_4D
+ const ANIM_OBJ_4E
+ const ANIM_OBJ_4F
+ const ANIM_OBJ_50
+ const ANIM_OBJ_51
+ const ANIM_OBJ_CHICK
+ const ANIM_OBJ_53
+ const ANIM_OBJ_54
+ const ANIM_OBJ_SKULL
+ const ANIM_OBJ_56
+ const ANIM_OBJ_57
+ const ANIM_OBJ_58
+ const ANIM_OBJ_PARALYZED
+ const ANIM_OBJ_5A
+ const ANIM_OBJ_5B
+ const ANIM_OBJ_5C
+ const ANIM_OBJ_5D
+ const ANIM_OBJ_5E
+ const ANIM_OBJ_5F
+ const ANIM_OBJ_60
+ const ANIM_OBJ_61
+ const ANIM_OBJ_62
+ const ANIM_OBJ_63
+ const ANIM_OBJ_64
+ const ANIM_OBJ_65
+ const ANIM_OBJ_66
+ const ANIM_OBJ_67
+ const ANIM_OBJ_68
+ const ANIM_OBJ_69
+ const ANIM_OBJ_6A
+ const ANIM_OBJ_6B
+ const ANIM_OBJ_6C
+ const ANIM_OBJ_6D
+ const ANIM_OBJ_6E
+ const ANIM_OBJ_6F
+ const ANIM_OBJ_70
+ const ANIM_OBJ_71
+ const ANIM_OBJ_72
+ const ANIM_OBJ_73
+ const ANIM_OBJ_74
+ const ANIM_OBJ_75
+ const ANIM_OBJ_76
+ const ANIM_OBJ_77
+ const ANIM_OBJ_78
+ const ANIM_OBJ_79
+ const ANIM_OBJ_7A
+ const ANIM_OBJ_7B
+ const ANIM_OBJ_7C
+ const ANIM_OBJ_7D
+ const ANIM_OBJ_HEART
+ const ANIM_OBJ_7F
+ const ANIM_OBJ_80
+ const ANIM_OBJ_81
+ const ANIM_OBJ_82
+ const ANIM_OBJ_83
+ const ANIM_OBJ_84
+ const ANIM_OBJ_85
+ const ANIM_OBJ_86
+ const ANIM_OBJ_87
+ const ANIM_OBJ_88
+ const ANIM_OBJ_89
+ const ANIM_OBJ_8A
+ const ANIM_OBJ_8B
+ const ANIM_OBJ_8C
+ const ANIM_OBJ_8D
+ const ANIM_OBJ_8E
+ const ANIM_OBJ_8F
+ const ANIM_OBJ_90
+ const ANIM_OBJ_91
+ const ANIM_OBJ_92
+ const ANIM_OBJ_93
+ const ANIM_OBJ_94
+ const ANIM_OBJ_95
+ const ANIM_OBJ_96
+ const ANIM_OBJ_97
+ const ANIM_OBJ_98
+ const ANIM_OBJ_99
+ const ANIM_OBJ_9A
+ const ANIM_OBJ_9B
+ const ANIM_OBJ_9C
+ const ANIM_OBJ_9D
+ const ANIM_OBJ_9E
+ const ANIM_OBJ_9F
+ const ANIM_OBJ_A0
+ const ANIM_OBJ_A1
+ const ANIM_OBJ_A2
+ const ANIM_OBJ_A3
+ const ANIM_OBJ_A4
+ const ANIM_OBJ_A5
+ const ANIM_OBJ_A6
+ const ANIM_OBJ_A7
+ const ANIM_OBJ_A8
+ const ANIM_OBJ_A9
+ const ANIM_OBJ_AA
+ const ANIM_OBJ_AB
+ const ANIM_OBJ_AC
+ const ANIM_OBJ_AD
+ const ANIM_OBJ_AE
+ const ANIM_OBJ_AF
+ const ANIM_OBJ_B0
+ const ANIM_OBJ_B1
+ const ANIM_OBJ_B2
+ const ANIM_OBJ_B3
+ const ANIM_OBJ_B4
+ const ANIM_OBJ_B5
+ const ANIM_OBJ_FLOWER
+ const ANIM_OBJ_COTTON
+ const ANIM_OBJ_PLAYERFEETFOLLOW
+ const ANIM_OBJ_ENEMYFEETFOLLOW
+ const ANIM_OBJ_BA
+ const ANIM_OBJ_BB
+
+ const_def
+ const BATTLEANIMFUNC_00
+ const BATTLEANIMFUNC_01
+ const BATTLEANIMFUNC_02
+ const BATTLEANIMFUNC_03
+ const BATTLEANIMFUNC_04
+ const BATTLEANIMFUNC_05
+ const BATTLEANIMFUNC_06
+ const BATTLEANIMFUNC_07
+ const BATTLEANIMFUNC_08
+ const BATTLEANIMFUNC_09
+ const BATTLEANIMFUNC_0A
+ const BATTLEANIMFUNC_0B
+ const BATTLEANIMFUNC_0C
+ const BATTLEANIMFUNC_0D
+ const BATTLEANIMFUNC_0E
+ const BATTLEANIMFUNC_0F
+ const BATTLEANIMFUNC_10
+ const BATTLEANIMFUNC_11
+ const BATTLEANIMFUNC_12
+ const BATTLEANIMFUNC_13
+ const BATTLEANIMFUNC_14
+ const BATTLEANIMFUNC_15
+ const BATTLEANIMFUNC_16
+ const BATTLEANIMFUNC_17
+ const BATTLEANIMFUNC_18
+ const BATTLEANIMFUNC_19
+ const BATTLEANIMFUNC_1A
+ const BATTLEANIMFUNC_1B
+ const BATTLEANIMFUNC_1C
+ const BATTLEANIMFUNC_1D
+ const BATTLEANIMFUNC_1E
+ const BATTLEANIMFUNC_1F
+ const BATTLEANIMFUNC_20
+ const BATTLEANIMFUNC_21
+ const BATTLEANIMFUNC_22
+ const BATTLEANIMFUNC_23
+ const BATTLEANIMFUNC_24
+ const BATTLEANIMFUNC_25
+ const BATTLEANIMFUNC_26
+ const BATTLEANIMFUNC_27
+ const BATTLEANIMFUNC_28
+ const BATTLEANIMFUNC_29
+ const BATTLEANIMFUNC_2A
+ const BATTLEANIMFUNC_2B
+ const BATTLEANIMFUNC_2C
+ const BATTLEANIMFUNC_2D
+ const BATTLEANIMFUNC_2E
+ const BATTLEANIMFUNC_2F
+ const BATTLEANIMFUNC_30
+ const BATTLEANIMFUNC_31
+ const BATTLEANIMFUNC_32
+ const BATTLEANIMFUNC_33
+ const BATTLEANIMFUNC_34
+ const BATTLEANIMFUNC_35
+ const BATTLEANIMFUNC_36
+ const BATTLEANIMFUNC_37
+ const BATTLEANIMFUNC_38
+ const BATTLEANIMFUNC_39
+ const BATTLEANIMFUNC_3A
+ const BATTLEANIMFUNC_3B
+ const BATTLEANIMFUNC_3C
+ const BATTLEANIMFUNC_3D
+ const BATTLEANIMFUNC_3E
+ const BATTLEANIMFUNC_3F
+ const BATTLEANIMFUNC_40
+ const BATTLEANIMFUNC_41
+ const BATTLEANIMFUNC_42
+ const BATTLEANIMFUNC_43
+ const BATTLEANIMFUNC_44
+ const BATTLEANIMFUNC_45
+ const BATTLEANIMFUNC_46
+ const BATTLEANIMFUNC_47
+ const BATTLEANIMFUNC_48
+ const BATTLEANIMFUNC_49
+ const BATTLEANIMFUNC_4A
+ const BATTLEANIMFUNC_4B
+ const BATTLEANIMFUNC_4C
+ const BATTLEANIMFUNC_4D
+ const BATTLEANIMFUNC_4E
+ const BATTLEANIMFUNC_4F
+
+ const_def
+ const BATTLEANIMFRAMESET_00
+ const BATTLEANIMFRAMESET_01
+ const BATTLEANIMFRAMESET_02
+ const BATTLEANIMFRAMESET_03
+ const BATTLEANIMFRAMESET_04
+ const BATTLEANIMFRAMESET_05
+ const BATTLEANIMFRAMESET_06
+ const BATTLEANIMFRAMESET_07
+ const BATTLEANIMFRAMESET_08
+ const BATTLEANIMFRAMESET_09
+ const BATTLEANIMFRAMESET_0A
+ const BATTLEANIMFRAMESET_0B
+ const BATTLEANIMFRAMESET_0C
+ const BATTLEANIMFRAMESET_0D
+ const BATTLEANIMFRAMESET_0E
+ const BATTLEANIMFRAMESET_0F
+ const BATTLEANIMFRAMESET_10
+ const BATTLEANIMFRAMESET_11
+ const BATTLEANIMFRAMESET_12
+ const BATTLEANIMFRAMESET_13
+ const BATTLEANIMFRAMESET_14
+ const BATTLEANIMFRAMESET_15
+ const BATTLEANIMFRAMESET_16
+ const BATTLEANIMFRAMESET_17
+ const BATTLEANIMFRAMESET_18
+ const BATTLEANIMFRAMESET_19
+ const BATTLEANIMFRAMESET_1A
+ const BATTLEANIMFRAMESET_1B
+ const BATTLEANIMFRAMESET_1C
+ const BATTLEANIMFRAMESET_1D
+ const BATTLEANIMFRAMESET_1E
+ const BATTLEANIMFRAMESET_1F
+ const BATTLEANIMFRAMESET_20
+ const BATTLEANIMFRAMESET_21
+ const BATTLEANIMFRAMESET_22
+ const BATTLEANIMFRAMESET_23
+ const BATTLEANIMFRAMESET_24
+ const BATTLEANIMFRAMESET_25
+ const BATTLEANIMFRAMESET_26
+ const BATTLEANIMFRAMESET_27
+ const BATTLEANIMFRAMESET_28
+ const BATTLEANIMFRAMESET_29
+ const BATTLEANIMFRAMESET_2A
+ const BATTLEANIMFRAMESET_2B
+ const BATTLEANIMFRAMESET_2C
+ const BATTLEANIMFRAMESET_2D
+ const BATTLEANIMFRAMESET_2E
+ const BATTLEANIMFRAMESET_2F
+ const BATTLEANIMFRAMESET_30
+ const BATTLEANIMFRAMESET_31
+ const BATTLEANIMFRAMESET_32
+ const BATTLEANIMFRAMESET_33
+ const BATTLEANIMFRAMESET_34
+ const BATTLEANIMFRAMESET_35
+ const BATTLEANIMFRAMESET_36
+ const BATTLEANIMFRAMESET_37
+ const BATTLEANIMFRAMESET_38
+ const BATTLEANIMFRAMESET_39
+ const BATTLEANIMFRAMESET_3A
+ const BATTLEANIMFRAMESET_3B
+ const BATTLEANIMFRAMESET_3C
+ const BATTLEANIMFRAMESET_3D
+ const BATTLEANIMFRAMESET_3E
+ const BATTLEANIMFRAMESET_3F
+ const BATTLEANIMFRAMESET_40
+ const BATTLEANIMFRAMESET_41
+ const BATTLEANIMFRAMESET_42
+ const BATTLEANIMFRAMESET_43
+ const BATTLEANIMFRAMESET_44
+ const BATTLEANIMFRAMESET_45
+ const BATTLEANIMFRAMESET_46
+ const BATTLEANIMFRAMESET_47
+ const BATTLEANIMFRAMESET_48
+ const BATTLEANIMFRAMESET_49
+ const BATTLEANIMFRAMESET_4A
+ const BATTLEANIMFRAMESET_4B
+ const BATTLEANIMFRAMESET_4C
+ const BATTLEANIMFRAMESET_4D
+ const BATTLEANIMFRAMESET_4E
+ const BATTLEANIMFRAMESET_4F
+ const BATTLEANIMFRAMESET_50
+ const BATTLEANIMFRAMESET_51
+ const BATTLEANIMFRAMESET_52
+ const BATTLEANIMFRAMESET_53
+ const BATTLEANIMFRAMESET_54
+ const BATTLEANIMFRAMESET_55
+ const BATTLEANIMFRAMESET_56
+ const BATTLEANIMFRAMESET_57
+ const BATTLEANIMFRAMESET_58
+ const BATTLEANIMFRAMESET_59
+ const BATTLEANIMFRAMESET_5A
+ const BATTLEANIMFRAMESET_5B
+ const BATTLEANIMFRAMESET_5C
+ const BATTLEANIMFRAMESET_5D
+ const BATTLEANIMFRAMESET_5E
+ const BATTLEANIMFRAMESET_5F
+ const BATTLEANIMFRAMESET_60
+ const BATTLEANIMFRAMESET_61
+ const BATTLEANIMFRAMESET_62
+ const BATTLEANIMFRAMESET_63
+ const BATTLEANIMFRAMESET_64
+ const BATTLEANIMFRAMESET_65
+ const BATTLEANIMFRAMESET_66
+ const BATTLEANIMFRAMESET_67
+ const BATTLEANIMFRAMESET_68
+ const BATTLEANIMFRAMESET_69
+ const BATTLEANIMFRAMESET_6A
+ const BATTLEANIMFRAMESET_6B
+ const BATTLEANIMFRAMESET_6C
+ const BATTLEANIMFRAMESET_6D
+ const BATTLEANIMFRAMESET_6E
+ const BATTLEANIMFRAMESET_6F
+ const BATTLEANIMFRAMESET_70
+ const BATTLEANIMFRAMESET_71
+ const BATTLEANIMFRAMESET_72
+ const BATTLEANIMFRAMESET_73
+ const BATTLEANIMFRAMESET_74
+ const BATTLEANIMFRAMESET_75
+ const BATTLEANIMFRAMESET_76
+ const BATTLEANIMFRAMESET_77
+ const BATTLEANIMFRAMESET_78
+ const BATTLEANIMFRAMESET_79
+ const BATTLEANIMFRAMESET_7A
+ const BATTLEANIMFRAMESET_7B
+ const BATTLEANIMFRAMESET_7C
+ const BATTLEANIMFRAMESET_7D
+ const BATTLEANIMFRAMESET_7E
+ const BATTLEANIMFRAMESET_7F
+ const BATTLEANIMFRAMESET_80
+ const BATTLEANIMFRAMESET_81
+ const BATTLEANIMFRAMESET_82
+ const BATTLEANIMFRAMESET_83
+ const BATTLEANIMFRAMESET_84
+ const BATTLEANIMFRAMESET_85
+ const BATTLEANIMFRAMESET_86
+ const BATTLEANIMFRAMESET_87
+ const BATTLEANIMFRAMESET_88
+ const BATTLEANIMFRAMESET_89
+ const BATTLEANIMFRAMESET_8A
+ const BATTLEANIMFRAMESET_8B
+ const BATTLEANIMFRAMESET_8C
+ const BATTLEANIMFRAMESET_8D
+ const BATTLEANIMFRAMESET_8E
+ const BATTLEANIMFRAMESET_8F
+ const BATTLEANIMFRAMESET_90
+ const BATTLEANIMFRAMESET_91
+ const BATTLEANIMFRAMESET_92
+ const BATTLEANIMFRAMESET_93
+ const BATTLEANIMFRAMESET_94
+ const BATTLEANIMFRAMESET_95
+ const BATTLEANIMFRAMESET_96
+ const BATTLEANIMFRAMESET_97
+ const BATTLEANIMFRAMESET_98
+ const BATTLEANIMFRAMESET_99
+ const BATTLEANIMFRAMESET_9A
+ const BATTLEANIMFRAMESET_9B
+ const BATTLEANIMFRAMESET_9C
+ const BATTLEANIMFRAMESET_9D
+ const BATTLEANIMFRAMESET_9E
+ const BATTLEANIMFRAMESET_9F
+ const BATTLEANIMFRAMESET_A0
+ const BATTLEANIMFRAMESET_A1
+ const BATTLEANIMFRAMESET_A2
+ const BATTLEANIMFRAMESET_A3
+ const BATTLEANIMFRAMESET_A4
+ const BATTLEANIMFRAMESET_A5
+ const BATTLEANIMFRAMESET_A6
+ const BATTLEANIMFRAMESET_A7
+ const BATTLEANIMFRAMESET_A8
+ const BATTLEANIMFRAMESET_A9
+ const BATTLEANIMFRAMESET_AA
+ const BATTLEANIMFRAMESET_AB
+ const BATTLEANIMFRAMESET_AC
+ const BATTLEANIMFRAMESET_AD
+ const BATTLEANIMFRAMESET_AE
+ const BATTLEANIMFRAMESET_AF
+ const BATTLEANIMFRAMESET_B0
+ const BATTLEANIMFRAMESET_B1
+ const BATTLEANIMFRAMESET_B2
+ const BATTLEANIMFRAMESET_B3
+ const BATTLEANIMFRAMESET_B4
+ const BATTLEANIMFRAMESET_B5
+ const BATTLEANIMFRAMESET_B6
+ const BATTLEANIMFRAMESET_B7
+ const BATTLEANIMFRAMESET_B8
+
+ const_def
+ const BATTLEANIMOAMSET_00
+ const BATTLEANIMOAMSET_01
+ const BATTLEANIMOAMSET_02
+ const BATTLEANIMOAMSET_03
+ const BATTLEANIMOAMSET_04
+ const BATTLEANIMOAMSET_05
+ const BATTLEANIMOAMSET_06
+ const BATTLEANIMOAMSET_07
+ const BATTLEANIMOAMSET_08
+ const BATTLEANIMOAMSET_09
+ const BATTLEANIMOAMSET_0A
+ const BATTLEANIMOAMSET_0B
+ const BATTLEANIMOAMSET_0C
+ const BATTLEANIMOAMSET_0D
+ const BATTLEANIMOAMSET_0E
+ const BATTLEANIMOAMSET_0F
+ const BATTLEANIMOAMSET_10
+ const BATTLEANIMOAMSET_11
+ const BATTLEANIMOAMSET_12
+ const BATTLEANIMOAMSET_13
+ const BATTLEANIMOAMSET_14
+ const BATTLEANIMOAMSET_15
+ const BATTLEANIMOAMSET_16
+ const BATTLEANIMOAMSET_17
+ const BATTLEANIMOAMSET_18
+ const BATTLEANIMOAMSET_19
+ const BATTLEANIMOAMSET_1A
+ const BATTLEANIMOAMSET_1B
+ const BATTLEANIMOAMSET_1C
+ const BATTLEANIMOAMSET_1D
+ const BATTLEANIMOAMSET_1E
+ const BATTLEANIMOAMSET_1F
+ const BATTLEANIMOAMSET_20
+ const BATTLEANIMOAMSET_21
+ const BATTLEANIMOAMSET_22
+ const BATTLEANIMOAMSET_23
+ const BATTLEANIMOAMSET_24
+ const BATTLEANIMOAMSET_25
+ const BATTLEANIMOAMSET_26
+ const BATTLEANIMOAMSET_27
+ const BATTLEANIMOAMSET_28
+ const BATTLEANIMOAMSET_29
+ const BATTLEANIMOAMSET_2A
+ const BATTLEANIMOAMSET_2B
+ const BATTLEANIMOAMSET_2C
+ const BATTLEANIMOAMSET_2D
+ const BATTLEANIMOAMSET_2E
+ const BATTLEANIMOAMSET_2F
+ const BATTLEANIMOAMSET_30
+ const BATTLEANIMOAMSET_31
+ const BATTLEANIMOAMSET_32
+ const BATTLEANIMOAMSET_33
+ const BATTLEANIMOAMSET_34
+ const BATTLEANIMOAMSET_35
+ const BATTLEANIMOAMSET_36
+ const BATTLEANIMOAMSET_37
+ const BATTLEANIMOAMSET_38
+ const BATTLEANIMOAMSET_39
+ const BATTLEANIMOAMSET_3A
+ const BATTLEANIMOAMSET_3B
+ const BATTLEANIMOAMSET_3C
+ const BATTLEANIMOAMSET_3D
+ const BATTLEANIMOAMSET_3E
+ const BATTLEANIMOAMSET_3F
+ const BATTLEANIMOAMSET_40
+ const BATTLEANIMOAMSET_41
+ const BATTLEANIMOAMSET_42
+ const BATTLEANIMOAMSET_43
+ const BATTLEANIMOAMSET_44
+ const BATTLEANIMOAMSET_45
+ const BATTLEANIMOAMSET_46
+ const BATTLEANIMOAMSET_47
+ const BATTLEANIMOAMSET_48
+ const BATTLEANIMOAMSET_49
+ const BATTLEANIMOAMSET_4A
+ const BATTLEANIMOAMSET_4B
+ const BATTLEANIMOAMSET_4C
+ const BATTLEANIMOAMSET_4D
+ const BATTLEANIMOAMSET_4E
+ const BATTLEANIMOAMSET_4F
+ const BATTLEANIMOAMSET_50
+ const BATTLEANIMOAMSET_51
+ const BATTLEANIMOAMSET_52
+ const BATTLEANIMOAMSET_53
+ const BATTLEANIMOAMSET_54
+ const BATTLEANIMOAMSET_55
+ const BATTLEANIMOAMSET_56
+ const BATTLEANIMOAMSET_57
+ const BATTLEANIMOAMSET_58
+ const BATTLEANIMOAMSET_59
+ const BATTLEANIMOAMSET_5A
+ const BATTLEANIMOAMSET_5B
+ const BATTLEANIMOAMSET_5C
+ const BATTLEANIMOAMSET_5D
+ const BATTLEANIMOAMSET_5E
+ const BATTLEANIMOAMSET_5F
+ const BATTLEANIMOAMSET_60
+ const BATTLEANIMOAMSET_61
+ const BATTLEANIMOAMSET_62
+ const BATTLEANIMOAMSET_63
+ const BATTLEANIMOAMSET_64
+ const BATTLEANIMOAMSET_65
+ const BATTLEANIMOAMSET_66
+ const BATTLEANIMOAMSET_67
+ const BATTLEANIMOAMSET_68
+ const BATTLEANIMOAMSET_69
+ const BATTLEANIMOAMSET_6A
+ const BATTLEANIMOAMSET_6B
+ const BATTLEANIMOAMSET_6C
+ const BATTLEANIMOAMSET_6D
+ const BATTLEANIMOAMSET_6E
+ const BATTLEANIMOAMSET_6F
+ const BATTLEANIMOAMSET_70
+ const BATTLEANIMOAMSET_71
+ const BATTLEANIMOAMSET_72
+ const BATTLEANIMOAMSET_73
+ const BATTLEANIMOAMSET_74
+ const BATTLEANIMOAMSET_75
+ const BATTLEANIMOAMSET_76
+ const BATTLEANIMOAMSET_77
+ const BATTLEANIMOAMSET_78
+ const BATTLEANIMOAMSET_79
+ const BATTLEANIMOAMSET_7A
+ const BATTLEANIMOAMSET_7B
+ const BATTLEANIMOAMSET_7C
+ const BATTLEANIMOAMSET_7D
+ const BATTLEANIMOAMSET_7E
+ const BATTLEANIMOAMSET_7F
+ const BATTLEANIMOAMSET_80
+ const BATTLEANIMOAMSET_81
+ const BATTLEANIMOAMSET_82
+ const BATTLEANIMOAMSET_83
+ const BATTLEANIMOAMSET_84
+ const BATTLEANIMOAMSET_85
+ const BATTLEANIMOAMSET_86
+ const BATTLEANIMOAMSET_87
+ const BATTLEANIMOAMSET_88
+ const BATTLEANIMOAMSET_89
+ const BATTLEANIMOAMSET_8A
+ const BATTLEANIMOAMSET_8B
+ const BATTLEANIMOAMSET_8C
+ const BATTLEANIMOAMSET_8D
+ const BATTLEANIMOAMSET_8E
+ const BATTLEANIMOAMSET_8F
+ const BATTLEANIMOAMSET_90
+ const BATTLEANIMOAMSET_91
+ const BATTLEANIMOAMSET_92
+ const BATTLEANIMOAMSET_93
+ const BATTLEANIMOAMSET_94
+ const BATTLEANIMOAMSET_95
+ const BATTLEANIMOAMSET_96
+ const BATTLEANIMOAMSET_97
+ const BATTLEANIMOAMSET_98
+ const BATTLEANIMOAMSET_99
+ const BATTLEANIMOAMSET_9A
+ const BATTLEANIMOAMSET_9B
+ const BATTLEANIMOAMSET_9C
+ const BATTLEANIMOAMSET_9D
+ const BATTLEANIMOAMSET_9E
+ const BATTLEANIMOAMSET_9F
+ const BATTLEANIMOAMSET_A0
+ const BATTLEANIMOAMSET_A1
+ const BATTLEANIMOAMSET_A2
+ const BATTLEANIMOAMSET_A3
+ const BATTLEANIMOAMSET_A4
+ const BATTLEANIMOAMSET_A5
+ const BATTLEANIMOAMSET_A6
+ const BATTLEANIMOAMSET_A7
+ const BATTLEANIMOAMSET_A8
+ const BATTLEANIMOAMSET_A9
+ const BATTLEANIMOAMSET_AA
+ const BATTLEANIMOAMSET_AB
+ const BATTLEANIMOAMSET_AC
+ const BATTLEANIMOAMSET_AD
+ const BATTLEANIMOAMSET_AE
+ const BATTLEANIMOAMSET_AF
+ const BATTLEANIMOAMSET_B0
+ const BATTLEANIMOAMSET_B1
+ const BATTLEANIMOAMSET_B2
+ const BATTLEANIMOAMSET_B3
+ const BATTLEANIMOAMSET_B4
+ const BATTLEANIMOAMSET_B5
+ const BATTLEANIMOAMSET_B6
+ const BATTLEANIMOAMSET_B7
+ const BATTLEANIMOAMSET_B8
+ const BATTLEANIMOAMSET_B9
+ const BATTLEANIMOAMSET_BA
+ const BATTLEANIMOAMSET_BB
+ const BATTLEANIMOAMSET_BC
+ const BATTLEANIMOAMSET_BD
+ const BATTLEANIMOAMSET_BE
+ const BATTLEANIMOAMSET_BF
+ const BATTLEANIMOAMSET_C0
+ const BATTLEANIMOAMSET_C1
+ const BATTLEANIMOAMSET_C2
+ const BATTLEANIMOAMSET_C3
+ const BATTLEANIMOAMSET_C4
+ const BATTLEANIMOAMSET_C5
+ const BATTLEANIMOAMSET_C6
+ const BATTLEANIMOAMSET_C7
+ const BATTLEANIMOAMSET_C8
+ const BATTLEANIMOAMSET_C9
+ const BATTLEANIMOAMSET_CA
+ const BATTLEANIMOAMSET_CB
+ const BATTLEANIMOAMSET_CC
+ const BATTLEANIMOAMSET_CD
+ const BATTLEANIMOAMSET_CE
+ const BATTLEANIMOAMSET_CF
+ const BATTLEANIMOAMSET_D0
+ const BATTLEANIMOAMSET_D1
+ const BATTLEANIMOAMSET_D2
+ const BATTLEANIMOAMSET_D3
+ const BATTLEANIMOAMSET_D4
+ const BATTLEANIMOAMSET_D5
+ const BATTLEANIMOAMSET_D6
+ const BATTLEANIMOAMSET_D7
+
+const_value SET 1
+ const ANIM_BG_FLASH_INVERTED
+ const ANIM_BG_FLASH_WHITE
+ const ANIM_BG_WHITE_HUES
+ const ANIM_BG_BLACK_HUES
+ const ANIM_BG_ALTERNATE_HUES
+ const ANIM_BG_06
+ const ANIM_BG_07
+ const ANIM_BG_08
+ const ANIM_BG_HIDE_MON
+ const ANIM_BG_SHOW_MON
+ const ANIM_BG_ENTER_MON
+ const ANIM_BG_RETURN_MON
+ const ANIM_BG_SURF
+ const ANIM_BG_WHIRLPOOL
+ const ANIM_BG_TELEPORT
+ const ANIM_BG_NIGHT_SHADE
+ const ANIM_BG_FEET_FOLLOW
+ const ANIM_BG_HEAD_FOLLOW
+ const ANIM_BG_DOUBLE_TEAM
+ const ANIM_BG_ACID_ARMOR
+ const ANIM_BG_RAPID_FLASH
+ const ANIM_BG_16
+ const ANIM_BG_17
+ const ANIM_BG_18
+ const ANIM_BG_19
+ const ANIM_BG_1A
+ const ANIM_BG_1B
+ const ANIM_BG_1C
+ const ANIM_BG_1D
+ const ANIM_BG_1E
+ const ANIM_BG_1F
+ const ANIM_BG_20
+ const ANIM_BG_21
+ const ANIM_BG_BOUNCE_DOWN
+ const ANIM_BG_DIG
+ const ANIM_BG_TACKLE
+ const ANIM_BG_25
+ const ANIM_BG_26
+ const ANIM_BG_27
+ const ANIM_BG_28
+ const ANIM_BG_PSYCHIC
+ const ANIM_BG_2A
+ const ANIM_BG_2B
+ const ANIM_BG_2C
+ const ANIM_BG_2D
+ const ANIM_BG_2E
+ const ANIM_BG_2F
+ const ANIM_BG_30
+ const ANIM_BG_31
+ const ANIM_BG_32
+ const ANIM_BG_VIBRATE_MON
+ const ANIM_BG_WOBBLE_MON
+ const ANIM_BG_35
+
+ const_def
+ const ANIM_MON_SLOW ; 0
+ const ANIM_MON_NORMAL ; 1
+ const ANIM_MON_MENU ; 2
+ const ANIM_MON_TRADE ; 3
+ const ANIM_MON_EVOLVE ; 4
+ const ANIM_MON_HATCH ; 5
+ const ANIM_MON_UNUSED ; 6
+ const ANIM_MON_EGG1 ; 7
+ const ANIM_MON_EGG2 ; 8
+
+ const_def
+ const BG_EFFECT_STRUCT_FUNCTION
+ const BG_EFFECT_STRUCT_JT_INDEX
+ const BG_EFFECT_STRUCT_BATTLE_TURN
+ const BG_EFFECT_STRUCT_03
diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm
new file mode 100755
index 00000000..df32eb58
--- /dev/null
+++ b/constants/audio_constants.asm
@@ -0,0 +1,62 @@
+
+
+; pitch
+ const_def
+ const __ ; 0
+ const C_ ; 1
+ const C# ; 2
+ const D_ ; 3
+ const D# ; 4
+ const E_ ; 5
+ const F_ ; 6
+ const F# ; 7
+ const G_ ; 8
+ const G# ; 9
+ const A_ ; a
+ const A# ; b
+ const B_ ; c
+
+; channel
+ const_def
+ const CHAN1
+ const CHAN2
+ const CHAN3
+ const CHAN4
+NUM_MUSIC_CHANS EQU const_value
+NUM_NOISE_CHANS EQU const_value
+ const CHAN5
+ const CHAN6
+ const CHAN7
+ const CHAN8
+NUM_CHANNELS EQU const_value
+
+; Flags1
+SOUND_CHANNEL_ON EQU 0
+SOUND_SUBROUTINE EQU 1
+SOUND_LOOPING EQU 2
+SOUND_SFX EQU 3
+SOUND_NOISE EQU 4
+SOUND_REST EQU 5
+
+; Flags2
+
+SOUND_VIBRATO EQU 0
+SOUND_UNKN_09 EQU 1
+SOUND_DUTY EQU 2
+SOUND_UNKN_0B EQU 3
+SOUND_CRY_PITCH EQU 4
+SOUND_UNKN_0D EQU 5
+SOUND_UNKN_0E EQU 6
+SOUND_UNKN_0F EQU 7
+
+; Flags3
+SOUND_VIBRATO_DIR EQU 0
+SOUND_UNKN_11 EQU 1
+
+; NoteFlags
+NOTE_UNKN_0 EQU 0
+NOTE_UNKN_1 EQU 1
+NOTE_UNKN_3 EQU 3
+NOTE_UNKN_4 EQU 4
+NOTE_REST EQU 5
+NOTE_UNKN_6 EQU 6
diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm
new file mode 100644
index 00000000..804f223c
--- /dev/null
+++ b/constants/battle_constants.asm
@@ -0,0 +1,376 @@
+MAX_LEVEL EQU 100
+MIN_LEVEL EQU 2
+EGG_LEVEL EQU 5
+NUM_MOVES EQU 4
+
+REST_TURNS EQU 2
+MAX_STAT_LEVEL EQU 13
+BASE_STAT_LEVEL EQU 7
+
+ const_def
+ const ATTACK
+ const DEFENSE
+ const SPEED
+ const SP_ATTACK
+ const SP_DEFENSE
+ const ACCURACY
+ const EVASION
+ const ABILITY
+NUM_LEVEL_STATS EQU const_value
+
+; move struct
+ const_def
+ const MOVE_ANIM
+ const MOVE_EFFECT
+ const MOVE_POWER
+ const MOVE_TYPE
+ const MOVE_ACC
+ const MOVE_PP
+ const MOVE_CHANCE
+ const MOVE_LENGTH
+
+; stat constants
+const_value SET 1
+ const STAT_HP
+ const STAT_ATK
+ const STAT_DEF
+ const STAT_SPD
+ const STAT_SATK
+ const STAT_SDEF
+NUM_STATS EQU const_value
+STAT_MIN_NORMAL EQU 5
+STAT_MIN_HP EQU 10
+
+; shiny dvs
+ATKDEFDV_SHINY EQU $EA
+SPDSPCDV_SHINY EQU $AA
+
+; battle classes
+const_value SET 1
+ const WILD_BATTLE
+ const TRAINER_BATTLE
+
+; battle types
+ const_def
+ const BATTLETYPE_NORMAL
+ const BATTLETYPE_CANLOSE
+ const BATTLETYPE_DEBUG
+ const BATTLETYPE_TUTORIAL
+ const BATTLETYPE_FISH
+ const BATTLETYPE_ROAMING
+ const BATTLETYPE_CONTEST
+ const BATTLETYPE_SHINY
+ const BATTLETYPE_TREE
+ const BATTLETYPE_TRAP
+ const BATTLETYPE_FORCEITEM
+ const BATTLETYPE_CELEBI
+ const BATTLETYPE_SUICUNE
+
+; battle variables
+ const_def
+ const BATTLE_VARS_SUBSTATUS1
+ const BATTLE_VARS_SUBSTATUS2
+ const BATTLE_VARS_SUBSTATUS3
+ const BATTLE_VARS_SUBSTATUS4
+ const BATTLE_VARS_SUBSTATUS5
+ const BATTLE_VARS_SUBSTATUS1_OPP
+ const BATTLE_VARS_SUBSTATUS2_OPP
+ const BATTLE_VARS_SUBSTATUS3_OPP
+ const BATTLE_VARS_SUBSTATUS4_OPP
+ const BATTLE_VARS_SUBSTATUS5_OPP
+ const BATTLE_VARS_STATUS
+ const BATTLE_VARS_STATUS_OPP
+ const BATTLE_VARS_MOVE_ANIM
+ const BATTLE_VARS_MOVE_EFFECT
+ const BATTLE_VARS_MOVE_POWER
+ const BATTLE_VARS_MOVE_TYPE
+ const BATTLE_VARS_MOVE
+ const BATTLE_VARS_LAST_COUNTER_MOVE
+ const BATTLE_VARS_LAST_COUNTER_MOVE_OPP
+ const BATTLE_VARS_LAST_MOVE
+ const BATTLE_VARS_LAST_MOVE_OPP
+
+; status
+const_value SET 3
+ const PSN
+ const BRN
+ const FRZ
+ const PAR
+ const SLP ; 7 turns
+
+ALL_STATUS EQU (1 << PSN) + (1 << BRN) + (1 << FRZ) + (1 << PAR) + SLP
+
+; substatus
+ enum_start 7, -1
+ enum SUBSTATUS_IN_LOVE
+ enum SUBSTATUS_ROLLOUT
+ enum SUBSTATUS_ENDURE
+ enum SUBSTATUS_PERISH
+ enum SUBSTATUS_IDENTIFIED
+ enum SUBSTATUS_PROTECT
+ enum SUBSTATUS_CURSE
+ enum SUBSTATUS_NIGHTMARE
+
+SUBSTATUS_CURLED EQU 0
+
+ enum_start 7, -1
+ enum SUBSTATUS_CONFUSED
+ enum SUBSTATUS_FLYING
+ enum SUBSTATUS_UNDERGROUND
+ enum SUBSTATUS_CHARGED
+ enum SUBSTATUS_FLINCHED
+ enum SUBSTATUS_IN_LOOP
+ enum SUBSTATUS_RAMPAGE
+ enum SUBSTATUS_BIDE
+
+ enum_start 7, -1
+ enum SUBSTATUS_LEECH_SEED
+ enum SUBSTATUS_RAGE
+ enum SUBSTATUS_RECHARGE
+ enum SUBSTATUS_SUBSTITUTE
+ enum SUBSTATUS_UNKNOWN_1
+ enum SUBSTATUS_FOCUS_ENERGY
+ enum SUBSTATUS_MIST
+ enum SUBSTATUS_X_ACCURACY
+
+ enum_start 7, -1
+ enum SUBSTATUS_CANT_RUN
+ enum SUBSTATUS_DESTINY_BOND
+ enum SUBSTATUS_LOCK_ON
+ enum SUBSTATUS_ENCORED
+ enum SUBSTATUS_TRANSFORMED
+ enum SUBSTATUS_UNKNOWN_2
+ enum SUBSTATUS_UNKNOWN_3
+ enum SUBSTATUS_TOXIC
+
+; environmental
+ enum_start 4, -1
+ enum SCREENS_REFLECT
+ enum SCREENS_LIGHT_SCREEN
+ enum SCREENS_SAFEGUARD
+ enum SCREENS_UNUSED
+ enum SCREENS_SPIKES
+
+; weather
+ const_def
+ const WEATHER_NONE
+ const WEATHER_RAIN
+ const WEATHER_SUN
+ const WEATHER_SANDSTORM
+ const WEATHER_RAIN_END
+ const WEATHER_SUN_END
+ const WEATHER_SANDSTORM_END
+
+
+; move effects
+ const_def
+ const EFFECT_NORMAL_HIT
+ const EFFECT_SLEEP
+ const EFFECT_POISON_HIT
+ const EFFECT_LEECH_HIT
+ const EFFECT_BURN_HIT
+ const EFFECT_FREEZE_HIT
+ const EFFECT_PARALYZE_HIT
+ const EFFECT_EXPLOSION
+ const EFFECT_DREAM_EATER
+ const EFFECT_MIRROR_MOVE
+ const EFFECT_ATTACK_UP
+ const EFFECT_DEFENSE_UP
+ const EFFECT_SPEED_UP
+ const EFFECT_SP_ATK_UP
+ const EFFECT_SP_DEF_UP
+ const EFFECT_ACCURACY_UP
+ const EFFECT_EVASION_UP
+ const EFFECT_ALWAYS_HIT
+ const EFFECT_ATTACK_DOWN
+ const EFFECT_DEFENSE_DOWN
+ const EFFECT_SPEED_DOWN
+ const EFFECT_SP_ATK_DOWN
+ const EFFECT_SP_DEF_DOWN
+ const EFFECT_ACCURACY_DOWN
+ const EFFECT_EVASION_DOWN
+ const EFFECT_HAZE
+ const EFFECT_BIDE
+ const EFFECT_RAMPAGE
+ const EFFECT_WHIRLWIND
+ const EFFECT_MULTI_HIT
+ const EFFECT_CONVERSION
+ const EFFECT_FLINCH_HIT
+ const EFFECT_HEAL
+ const EFFECT_TOXIC
+ const EFFECT_PAY_DAY
+ const EFFECT_LIGHT_SCREEN
+ const EFFECT_TRI_ATTACK
+ const EFFECT_UNUSED_25
+ const EFFECT_OHKO
+ const EFFECT_RAZOR_WIND
+ const EFFECT_SUPER_FANG
+ const EFFECT_STATIC_DAMAGE
+ const EFFECT_BIND
+ const EFFECT_UNUSED_2B
+ const EFFECT_DOUBLE_HIT
+ const EFFECT_JUMP_KICK
+ const EFFECT_MIST
+ const EFFECT_FOCUS_ENERGY
+ const EFFECT_RECOIL_HIT
+ const EFFECT_CONFUSE
+ const EFFECT_ATTACK_UP_2
+ const EFFECT_DEFENSE_UP_2
+ const EFFECT_SPEED_UP_2
+ const EFFECT_SP_ATK_UP_2
+ const EFFECT_SP_DEF_UP_2
+ const EFFECT_ACCURACY_UP_2
+ const EFFECT_EVASION_UP_2
+ const EFFECT_TRANSFORM
+ const EFFECT_ATTACK_DOWN_2
+ const EFFECT_DEFENSE_DOWN_2
+ const EFFECT_SPEED_DOWN_2
+ const EFFECT_SP_ATK_DOWN_2
+ const EFFECT_SP_DEF_DOWN_2
+ const EFFECT_ACCURACY_DOWN_2
+ const EFFECT_EVASION_DOWN_2
+ const EFFECT_REFLECT
+ const EFFECT_POISON
+ const EFFECT_PARALYZE
+ const EFFECT_ATTACK_DOWN_HIT
+ const EFFECT_DEFENSE_DOWN_HIT
+ const EFFECT_SPEED_DOWN_HIT
+ const EFFECT_SP_ATK_DOWN_HIT
+ const EFFECT_SP_DEF_DOWN_HIT
+ const EFFECT_ACCURACY_DOWN_HIT
+ const EFFECT_EVASION_DOWN_HIT
+ const EFFECT_SKY_ATTACK
+ const EFFECT_CONFUSE_HIT
+ const EFFECT_TWINEEDLE
+ const EFFECT_UNUSED_4E
+ const EFFECT_SUBSTITUTE
+ const EFFECT_HYPER_BEAM
+ const EFFECT_RAGE
+ const EFFECT_MIMIC
+ const EFFECT_METRONOME
+ const EFFECT_LEECH_SEED
+ const EFFECT_SPLASH
+ const EFFECT_DISABLE
+ const EFFECT_LEVEL_DAMAGE
+ const EFFECT_PSYWAVE
+ const EFFECT_COUNTER
+ const EFFECT_ENCORE
+ const EFFECT_PAIN_SPLIT
+ const EFFECT_SNORE
+ const EFFECT_CONVERSION2
+ const EFFECT_LOCK_ON
+ const EFFECT_SKETCH
+ const EFFECT_DEFROST_OPPONENT
+ const EFFECT_SLEEP_TALK
+ const EFFECT_DESTINY_BOND
+ const EFFECT_REVERSAL
+ const EFFECT_SPITE
+ const EFFECT_FALSE_SWIPE
+ const EFFECT_HEAL_BELL
+ const EFFECT_PRIORITY_HIT
+ const EFFECT_TRIPLE_KICK
+ const EFFECT_THIEF
+ const EFFECT_MEAN_LOOK
+ const EFFECT_NIGHTMARE
+ const EFFECT_FLAME_WHEEL
+ const EFFECT_CURSE
+ const EFFECT_UNUSED_6E
+ const EFFECT_PROTECT
+ const EFFECT_SPIKES
+ const EFFECT_FORESIGHT
+ const EFFECT_PERISH_SONG
+ const EFFECT_SANDSTORM
+ const EFFECT_ENDURE
+ const EFFECT_ROLLOUT
+ const EFFECT_SWAGGER
+ const EFFECT_FURY_CUTTER
+ const EFFECT_ATTRACT
+ const EFFECT_RETURN
+ const EFFECT_PRESENT
+ const EFFECT_FRUSTRATION
+ const EFFECT_SAFEGUARD
+ const EFFECT_SACRED_FIRE
+ const EFFECT_MAGNITUDE
+ const EFFECT_BATON_PASS
+ const EFFECT_PURSUIT
+ const EFFECT_RAPID_SPIN
+ const EFFECT_UNUSED_82
+ const EFFECT_UNUSED_83
+ const EFFECT_MORNING_SUN
+ const EFFECT_SYNTHESIS
+ const EFFECT_MOONLIGHT
+ const EFFECT_HIDDEN_POWER
+ const EFFECT_RAIN_DANCE
+ const EFFECT_SUNNY_DAY
+ const EFFECT_STEEL_WING
+ const EFFECT_METAL_CLAW
+ const EFFECT_ANCIENTPOWER
+ const EFFECT_FAKE_OUT
+ const EFFECT_BELLY_DRUM
+ const EFFECT_PSYCH_UP
+ const EFFECT_MIRROR_COAT
+ const EFFECT_SKULL_BASH
+ const EFFECT_TWISTER
+ const EFFECT_EARTHQUAKE
+ const EFFECT_FUTURE_SIGHT
+ const EFFECT_GUST
+ const EFFECT_STOMP
+ const EFFECT_SOLARBEAM
+ const EFFECT_THUNDER
+ const EFFECT_TELEPORT
+ const EFFECT_BEAT_UP
+ const EFFECT_FLY
+ const EFFECT_DEFENSE_CURL
+
+; Battle vars used in home/battle.asm
+ const_def
+ const PLAYER_SUBSTATUS_1
+ const ENEMY_SUBSTATUS_1
+ const PLAYER_SUBSTATUS_2
+ const ENEMY_SUBSTATUS_2
+ const PLAYER_SUBSTATUS_3
+ const ENEMY_SUBSTATUS_3
+ const PLAYER_SUBSTATUS_4
+ const ENEMY_SUBSTATUS_4
+ const PLAYER_SUBSTATUS_5
+ const ENEMY_SUBSTATUS_5
+ const PLAYER_STATUS
+ const ENEMY_STATUS
+ const PLAYER_MOVE_ANIMATION
+ const ENEMY_MOVE_ANIMATION
+ const PLAYER_MOVE_EFFECT
+ const ENEMY_MOVE_EFFECT
+ const PLAYER_MOVE_POWER
+ const ENEMY_MOVE_POWER
+ const PLAYER_MOVE_TYPE
+ const ENEMY_MOVE_TYPE
+ const PLAYER_CUR_MOVE
+ const ENEMY_CUR_MOVE
+ const PLAYER_COUNTER_MOVE
+ const ENEMY_COUNTER_MOVE
+ const PLAYER_LAST_MOVE
+ const ENEMY_LAST_MOVE
+
+; wBattleAction
+ const_def
+ const BATTLEACTION_MOVE1
+ const BATTLEACTION_MOVE2
+ const BATTLEACTION_MOVE3
+ const BATTLEACTION_MOVE4
+ const BATTLEACTION_SWITCH1
+ const BATTLEACTION_SWITCH2
+ const BATTLEACTION_SWITCH3
+ const BATTLEACTION_SWITCH4
+ const BATTLEACTION_SWITCH5
+ const BATTLEACTION_SWITCH6
+ const BATTLEACTION_A
+ const BATTLEACTION_B
+ const BATTLEACTION_C
+ const BATTLEACTION_D
+ const BATTLEACTION_E
+ const BATTLEACTION_FORFEIT
+
+ const_def
+ const WIN
+ const LOSE
+ const DRAW
diff --git a/constants/battle_tower_constants.asm b/constants/battle_tower_constants.asm
new file mode 100755
index 00000000..1e5b0d62
--- /dev/null
+++ b/constants/battle_tower_constants.asm
@@ -0,0 +1,39 @@
+ const_def
+ const BATTLETOWERACTION_00
+ const BATTLETOWERACTION_01
+ const BATTLETOWERACTION_02
+ const BATTLETOWERACTION_SAVE_AND_QUIT
+ const BATTLETOWERACTION_CHALLENGECANCELED
+ const BATTLETOWERACTION_05
+ const BATTLETOWERACTION_06 ; reset stuff in SRAM bank 5
+ const BATTLETOWERACTION_SAVELEVELGROUP
+ const BATTLETOWERACTION_LOADLEVELGROUP
+ const BATTLETOWERACTION_CHECKSAVEFILEISYOURS
+ const BATTLETOWERACTION_0A
+ const BATTLETOWERACTION_CHECKMOBILEEVENT
+ const BATTLETOWERACTION_0C ; more time stuff in SRAM bank 5
+ const BATTLETOWERACTION_0D ; more time stuff in SRAM bank 5
+ const BATTLETOWERACTION_EGGTICKET ; egg ticket
+ const BATTLETOWERACTION_0F ; check w3_d090
+ const BATTLETOWERACTION_10 ; dw based on 5:a800
+ const BATTLETOWERACTION_11 ; store 0 in 5:aa8d
+ const BATTLETOWERACTION_12 ; store 1 in 5:aa8d
+ const BATTLETOWERACTION_13 ; check 5:aa8d
+ const BATTLETOWERACTION_14 ; if save file is yours: bit 0, [sbe4f]
+ const BATTLETOWERACTION_15 ; set 0, [sbe4f]
+ const BATTLETOWERACTION_16 ; update time in SRAM bank 5
+ const BATTLETOWERACTION_17 ; check time in SRAM bank 5
+ const BATTLETOWERACTION_18 ; level check
+ const BATTLETOWERACTION_19 ; ubers check
+ const BATTLETOWERACTION_RESETDATA ; clear data
+ const BATTLETOWERACTION_GIVEREWARD ; give reward
+ const BATTLETOWERACTION_1C ; set won challenge
+ const BATTLETOWERACTION_1D ; set received reward
+ const BATTLETOWERACTION_CHOOSEREWARD ; save options
+ const BATTLETOWERACTION_SAVEOPTIONS
+
+BATTLETOWER_NO_CHALLENGE EQU 0
+BATTLETOWER_SAVED_AND_LEFT EQU 1
+BATTLETOWER_CHALLENGE_IN_PROGESS EQU 2
+BATTLETOWER_WON_CHALLENGE EQU 3
+BATTLETOWER_RECEIVED_REWARD EQU 4
diff --git a/constants/cgb_constants.asm b/constants/cgb_constants.asm
new file mode 100755
index 00000000..0f0590f3
--- /dev/null
+++ b/constants/cgb_constants.asm
@@ -0,0 +1,35 @@
+ const_def
+ const SCGB_BATTLE_GRAYSCALE
+ const SCGB_BATTLE_COLORS
+ const SCGB_POKEGEAR_PALS
+ const SCGB_STATS_SCREEN_HP_PALS
+ const SCGB_04
+ const SCGB_SLOT_MACHINE
+ const SCGB_06
+ const SCGB_07
+ const SCGB_08
+ const SCGB_MAPPALS
+ const SCGB_0A
+ const SCGB_0B
+ const SCGB_0C
+ const SCGB_0D
+ const SCGB_0E
+ const SCGB_0F
+ const SCGB_10
+ const SCGB_11
+ const SCGB_POKEPIC
+ const SCGB_13
+ const SCGB_PACKPALS
+ const SCGB_TRAINER_CARD
+ const SCGB_16
+ const SCGB_17
+ const SCGB_18
+ const SCGB_19
+ const SCGB_1A
+ const SCGB_1B
+ const SCGB_FRONTPICPALS
+ const SCGB_1D
+ const SCGB_1E
+
+SCGB_PARTY_MENU_HP_PALS EQU -4
+SCGB_RAM EQU -1
diff --git a/constants/cry_constants.asm b/constants/cry_constants.asm
new file mode 100755
index 00000000..da40877c
--- /dev/null
+++ b/constants/cry_constants.asm
@@ -0,0 +1,73 @@
+ const_def
+
+; gen 1
+ const CRY_NIDORAN_M
+ const CRY_NIDORAN_F
+ const CRY_SLOWPOKE
+ const CRY_KANGASKHAN
+ const CRY_CHARMANDER
+ const CRY_GRIMER
+ const CRY_VOLTORB
+ const CRY_MUK
+ const CRY_ODDISH
+ const CRY_RAICHU
+ const CRY_NIDOQUEEN
+ const CRY_DIGLETT
+ const CRY_SEEL
+ const CRY_DROWZEE
+ const CRY_PIDGEY
+ const CRY_BULBASAUR
+ const CRY_SPEAROW
+ const CRY_RHYDON
+ const CRY_GOLEM
+ const CRY_BLASTOISE
+ const CRY_PIDGEOTTO
+ const CRY_WEEDLE
+ const CRY_CATERPIE
+ const CRY_EKANS
+ const CRY_FEAROW
+ const CRY_CLEFAIRY
+ const CRY_VENONAT
+ const CRY_LAPRAS
+ const CRY_METAPOD
+ const CRY_SQUIRTLE
+ const CRY_PARAS
+ const CRY_GROWLITHE
+ const CRY_KRABBY
+ const CRY_PSYDUCK
+ const CRY_RATTATA
+ const CRY_VILEPLUME
+ const CRY_VULPIX
+ const CRY_WEEPINBELL
+
+; gen 2
+ const CRY_MARILL
+ const CRY_SPINARAK
+ const CRY_TOGEPI
+ const CRY_GIRAFARIG
+ const CRY_RAIKOU
+ const CRY_MAREEP
+ const CRY_TOGETIC
+ const CRY_HOOTHOOT
+ const CRY_SENTRET
+ const CRY_SLOWKING
+ const CRY_CYNDAQUIL
+ const CRY_CHIKORITA
+ const CRY_TOTODILE
+ const CRY_GLIGAR
+ const CRY_CLEFFA
+ const CRY_SLUGMA
+ const CRY_LEDYBA
+ const CRY_ENTEI
+ const CRY_WOOPER
+ const CRY_MANTINE
+ const CRY_TYPHLOSION
+ const CRY_NATU
+ const CRY_TEDDIURSA
+ const CRY_SUNFLORA
+ const CRY_AMPHAROS
+ const CRY_MAGCARGO
+ const CRY_PICHU
+ const CRY_AIPOM
+ const CRY_DUNSPARCE
+ const CRY_DONPHAN
diff --git a/constants/deco_constants.asm b/constants/deco_constants.asm
new file mode 100644
index 00000000..22cf1e67
--- /dev/null
+++ b/constants/deco_constants.asm
@@ -0,0 +1,121 @@
+const_value = 1
+ const DECO_PLANT
+ const DECO_BED
+ const DECO_CARPET
+ const DECO_POSTER
+ const DECO_DOLL
+ const DECO_BIGDOLL
+
+const_value = 1
+ const PUT_IT_AWAY
+ const MAGNAPLANT
+ const TROPICPLANT
+ const JUMBOPLANT
+ const TOWN_MAP_D
+ const FAMICOM
+ const SUPER_NES
+ const NINTENDO_64
+ const VIRTUAL_BOY
+ const GOLD_TROPHY
+ const SILVER_TROPHY
+ const SURF_PIKA_DOLL
+ const _BED
+ const _CARPET
+ const _POSTER
+ const _DOLL
+ const BIG_
+ const FEATHERY_BED
+ const PIKACHU_BED
+ const PINK_BED
+ const POLKADOT_BED
+ const RED_CARPET
+ const BLUE_CARPET
+ const YELLOW_CARPET
+ const GREEN_CARPET
+
+const_value = 1
+ const SET_UP_BED
+ const PUT_AWAY_BED
+ const SET_UP_CARPET
+ const PUT_AWAY_CARPET
+ const SET_UP_PLANT
+ const PUT_AWAY_PLANT
+ const SET_UP_POSTER
+ const PUT_AWAY_POSTER
+ const SET_UP_CONSOLE
+ const PUT_AWAY_CONSOLE
+ const SET_UP_BIG_DOLL
+ const PUT_AWAY_BIG_DOLL
+ const SET_UP_DOLL
+ const PUT_AWAY_DOLL
+ const SET_UP_ORNAMENT
+ const PUT_AWAY_ORNAMENT
+
+deco: MACRO
+ const DECO_\1
+ enum DECOFLAG_\1
+endm
+
+const_value = 1
+__enum__ = 0
+ const BEDS
+ deco FEATHERY_BED ; 2 (0)
+ deco PINK_BED ; 3 (1)
+ deco POLKADOT_BED ; 4 (2)
+ deco PIKACHU_BED ; 5 (3)
+
+ const CARPETS
+ deco RED_CARPET ; 7 (4)
+ deco BLUE_CARPET ; 8 (5)
+ deco YELLOW_CARPET ; 9 (6)
+ deco GREEN_CARPET ; a (7)
+
+ const PLANTS
+ deco MAGNAPLANT ; c (8)
+ deco TROPICPLANT ; d (9)
+ deco JUMBOPLANT ; e (a)
+
+ const POSTERS
+ deco TOWN_MAP ; 10 (b)
+ deco PIKACHU_POSTER ; 11 (c)
+ deco CLEFAIRY_POSTER ; 12 (d)
+ deco JIGGLYPUFF_POSTER ; 13(e)
+
+ const CONSOLES
+ deco FAMICOM ; 15 (f)
+ deco SNES ; 16 (10)
+ deco N64 ; 17 (11)
+ deco VIRTUAL_BOY ; 18 (12)
+
+ const BIG_DOLLS
+ deco BIG_SNORLAX_DOLL ; 1a (13)
+ deco BIG_ONIX_DOLL ; 1b (14)
+ deco BIG_LAPRAS_DOLL ; 1c (15)
+
+ const DOLLS
+ deco PIKACHU_DOLL ; 1e (16)
+ deco SURF_PIKACHU_DOLL ; 1f (17)
+ deco CLEFAIRY_DOLL ; 20 (18)
+ deco JIGGLYPUFF_DOLL ; 21 (19)
+ deco BULBASAUR_DOLL ; 22 (1a)
+ deco CHARMANDER_DOLL ; 23 (1b)
+ deco SQUIRTLE_DOLL ; 24 (1c)
+ deco POLIWAG_DOLL ; 25 (1d)
+ deco DIGLETT_DOLL ; 26 (1e)
+ deco STARMIE_DOLL ; 27 (1f)
+ deco MAGIKARP_DOLL ; 28 (20)
+ deco ODDISH_DOLL ; 29 (21)
+ deco GENGAR_DOLL ; 2a (22)
+ deco SHELLDER_DOLL ; 2b (23)
+ deco GRIMER_DOLL ; 2c (24)
+ deco VOLTORB_DOLL ; 2d (25)
+ deco WEEDLE_DOLL ; 2e (26)
+ deco UNOWN_DOLL ; 2f (27)
+ deco GEODUDE_DOLL ; 30 (28)
+ deco MACHOP_DOLL ; 31 (29)
+ deco TENTACOOL_DOLL ; 32 (2a)
+ deco GOLD_TROPHY_DOLL ; 33 (2b)
+ deco SILVER_TROPHY_DOLL ; 34 (2c)
+
+NUM_NON_TROPHY_DECOS EQU $2b
+NUM_DECOS EQU $2d
diff --git a/constants/engine_flags.asm b/constants/engine_flags.asm
new file mode 100644
index 00000000..31a03819
--- /dev/null
+++ b/constants/engine_flags.asm
@@ -0,0 +1,165 @@
+ const_def
+
+ const ENGINE_RADIO_CARD
+ const ENGINE_MAP_CARD
+ const ENGINE_PHONE_CARD
+ const ENGINE_EXPN_CARD
+ const ENGINE_POKEGEAR
+ const ENGINE_DAYCARE_MAN_HAS_EGG
+ const ENGINE_DAYCARE_MAN_HAS_MON
+ const ENGINE_DAYCARE_LADY_HAS_MON
+ const ENGINE_MOM_SAVING_MONEY
+ const ENGINE_DST
+ const ENGINE_0A
+ const ENGINE_POKEDEX
+ const ENGINE_UNOWN_DEX
+ const ENGINE_POKERUS
+ const ENGINE_ROCKET_SIGNAL_ON_CH20
+ const ENGINE_CREDITS_SKIP
+ const ENGINE_BUG_CONTEST_ON ; 10
+ const ENGINE_BUG_CONTEST_TIMER
+ const ENGINE_SAFARI_ZONE
+ const ENGINE_ROCKETS_IN_RADIO_TOWER
+ const ENGINE_BIKE_SHOP_CALL_ENABLED
+ const ENGINE_GIVE_POKERUS
+ const ENGINE_FLORIA
+ const ENGINE_ROCKETS_IN_MAHOGANY
+ const ENGINE_STRENGTH_ACTIVE
+ const ENGINE_ALWAYS_ON_BIKE
+ const ENGINE_DOWNHILL
+ const ENGINE_ZEPHYRBADGE
+ const ENGINE_HIVEBADGE
+ const ENGINE_PLAINBADGE
+ const ENGINE_FOGBADGE
+ const ENGINE_MINERALBADGE
+ const ENGINE_STORMBADGE ; 20
+ const ENGINE_GLACIERBADGE
+ const ENGINE_RISINGBADGE
+ const ENGINE_BOULDERBADGE
+ const ENGINE_CASCADEBADGE
+ const ENGINE_THUNDERBADGE
+ const ENGINE_RAINBOWBADGE
+ const ENGINE_SOULBADGE
+ const ENGINE_MARSHBADGE
+ const ENGINE_VOLCANOBADGE
+ const ENGINE_EARTHBADGE
+ const ENGINE_UNLOCKED_UNOWNS_1
+ const ENGINE_UNLOCKED_UNOWNS_2
+ const ENGINE_UNLOCKED_UNOWNS_3
+ const ENGINE_UNLOCKED_UNOWNS_4
+ const ENGINE_UNLOCKED_UNOWNS_5
+ const ENGINE_UNLOCKED_UNOWNS_6 ; 30
+ const ENGINE_UNLOCKED_UNOWNS_7
+ const ENGINE_UNLOCKED_UNOWNS_8
+ const ENGINE_FLYPOINT_KRISS_HOUSE
+ const ENGINE_FLYPOINT_VIRIDIAN_POKECENTER
+ const ENGINE_FLYPOINT_PALLET
+ const ENGINE_FLYPOINT_VIRIDIAN
+ const ENGINE_FLYPOINT_PEWTER
+ const ENGINE_FLYPOINT_CERULEAN
+ const ENGINE_FLYPOINT_ROCK_TUNNEL
+ const ENGINE_FLYPOINT_VERMILION
+ const ENGINE_FLYPOINT_LAVENDER
+ const ENGINE_FLYPOINT_SAFFRON
+ const ENGINE_FLYPOINT_CELADON
+ const ENGINE_FLYPOINT_FUCHSIA
+ const ENGINE_FLYPOINT_CINNABAR
+ const ENGINE_FLYPOINT_INDIGO_PLATEAU ; 40
+ const ENGINE_FLYPOINT_NEW_BARK
+ const ENGINE_FLYPOINT_CHERRYGROVE
+ const ENGINE_FLYPOINT_VIOLET
+ const ENGINE_FLYPOINT_AZALEA
+ const ENGINE_FLYPOINT_CIANWOOD
+ const ENGINE_FLYPOINT_GOLDENROD
+ const ENGINE_FLYPOINT_OLIVINE
+ const ENGINE_FLYPOINT_ECRUTEAK
+ const ENGINE_FLYPOINT_MAHOGANY
+ const ENGINE_FLYPOINT_LAKE_OF_RAGE
+ const ENGINE_FLYPOINT_BLACKTHORN
+ const ENGINE_FLYPOINT_SILVER_CAVE
+ const ENGINE_FLYPOINT_UNUSED
+ const ENGINE_LUCKY_NUMBER_SHOW
+ const ENGINE_4F
+ const ENGINE_KURT_MAKING_BALLS ; 50
+ const ENGINE_DAILY_BUG_CONTEST
+ const ENGINE_SPECIAL_WILDDATA
+ const ENGINE_TIME_CAPSULE
+ const ENGINE_ALL_FRUIT_TREES
+ const ENGINE_SHUCKLE_GIVEN
+ const ENGINE_GOLDENROD_UNDERGROUND_MERCHANT_CLOSED
+ const ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY
+ const ENGINE_MT_MOON_SQUARE_CLEFAIRY
+ const ENGINE_UNION_CAVE_LAPRAS
+ const ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
+ const ENGINE_GOLDENROD_MALL_5F_HAPPINESS_EVENT
+ const ENGINE_TEA_IN_BLUES_HOUSE
+ const ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT
+ const ENGINE_DAILY_MOVE_TUTOR
+ const ENGINE_BUENAS_PASSWORD
+ const ENGINE_BUENAS_PASSWORD_2 ; 60
+ const ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON
+ const ENGINE_62
+ const ENGINE_PLAYER_IS_FEMALE
+ const ENGINE_HAVE_EXAMINED_GS_BALL
+ const ENGINE_JACK
+ const ENGINE_HUEY
+ const ENGINE_GAVEN
+ const ENGINE_BETH
+ const ENGINE_JOSE
+ const ENGINE_REENA
+ const ENGINE_JOEY
+ const ENGINE_WADE
+ const ENGINE_RALPH
+ const ENGINE_LIZ
+ const ENGINE_ANTHONY
+ const ENGINE_TODD ; 70
+ const ENGINE_GINA
+ const ENGINE_ARNIE
+ const ENGINE_ALAN
+ const ENGINE_DANA
+ const ENGINE_CHAD
+ const ENGINE_TULLY
+ const ENGINE_BRENT
+ const ENGINE_TIFFANY
+ const ENGINE_VANCE
+ const ENGINE_WILTON
+ const ENGINE_PARRY
+ const ENGINE_ERIN
+ const ENGINE_BEVERLY_HAS_NUGGET
+ const ENGINE_JOSE_HAS_STAR_PIECE
+ const ENGINE_WADE_HAS_ITEM
+ const ENGINE_GINA_HAS_LEAF_STONE ; 80
+ const ENGINE_ALAN_HAS_FIRE_STONE
+ const ENGINE_DANA_HAS_THUNDERSTONE
+ const ENGINE_DEREK_HAS_NUGGET
+ const ENGINE_TULLY_HAS_WATER_STONE
+ const ENGINE_TIFFANY_HAS_PINK_BOW
+ const ENGINE_WILTON_HAS_ITEM
+ const ENGINE_JACK_MONDAY_MORNING
+ const ENGINE_HUEY_WEDNESDAY_NIGHT
+ const ENGINE_GAVEN_THURSDAY_MORNING
+ const ENGINE_BETH_FRIDAY_AFTERNOON
+ const ENGINE_JOSE_SATURDAY_NIGHT
+ const ENGINE_REENA_SUNDAY_MORNING
+ const ENGINE_JOEY_MONDAY_AFTERNOON
+ const ENGINE_WADE_TUESDAY_NIGHT
+ const ENGINE_RALPH_WEDNESDAY_MORNING
+ const ENGINE_LIZ_THURSDAY_AFTERNOON ; 90
+ const ENGINE_ANTHONY_FRIDAY_NIGHT
+ const ENGINE_TODD_SATURDAY_MORNING
+ const ENGINE_GINA_SUNDAY_AFTERNOON
+ const ENGINE_ARNIE_TUESDAY_MORNING
+ const ENGINE_ALAN_WEDNESDAY_AFTERNOON
+ const ENGINE_DANA_THURSDAY_NIGHT
+ const ENGINE_CHAD_FRIDAY_MORNING
+ const ENGINE_TULLY_SUNDAY_NIGHT
+ const ENGINE_BRENT_MONDAY_MORNING
+ const ENGINE_TIFFANY_TUESDAY_AFTERNOON
+ const ENGINE_VANCE_WEDNESDAY_NIGHT
+ const ENGINE_WILTON_THRUSDAY_MORNING
+ const ENGINE_PARRY_FRIDAY_AFTERNOON
+ const ENGINE_ERIN_SATURDAY_NIGHT
+ const ENGINE_KRIS_IN_CABLE_CLUB
+ const ENGINE_DUNSPARCE_SWARM ; a0
+ const ENGINE_YANMA_SWARM
+NUM_ENGINE_FLAGS EQU const_value
diff --git a/constants/event_flags.asm b/constants/event_flags.asm
new file mode 100644
index 00000000..775991a8
--- /dev/null
+++ b/constants/event_flags.asm
@@ -0,0 +1,2073 @@
+
+ const_def
+
+; These first eight flags are reset upon reloading the map.
+ const EVENT_GAVE_KURT_APRICORNS ; 000
+ const EVENT_RECEIVED_BALLS_FROM_KURT
+ const EVENT_DRAGON_SHRINE_QUESTION_2
+ const EVENT_DRAGON_SHRINE_QUESTION_3
+ const EVENT_DRAGON_SHRINE_QUESTION_4
+ const EVENT_DRAGON_SHRINE_QUESTION_5
+ const EVENT_JUST_RECEIVED_DRATINI
+ const EVENT_IN_YOUR_ROOM
+; Johto story events
+ const EVENT_GOT_TM31_MUD_SLAP
+ const EVENT_GOT_TM49_FURY_CUTTER
+ const EVENT_GOT_TM01_DYNAMICPUNCH
+ const EVENT_GOT_TM45_ATTRACT
+ const EVENT_GOT_TM30_SHADOW_BALL
+ const EVENT_GOT_TM23_IRON_TAIL
+ const EVENT_GOT_TM16_ICY_WIND
+ const EVENT_GOT_TM24_DRAGONBREATH
+ const EVENT_GOT_HM01_CUT
+ const EVENT_GOT_HM02_FLY
+ const EVENT_GOT_HM03_SURF
+ const EVENT_GOT_HM04_STRENGTH
+ const EVENT_GOT_HM05_FLASH
+ const EVENT_GOT_HM06_WHIRLPOOL
+ const EVENT_016
+ const EVENT_GOT_OLD_ROD
+ const EVENT_GOT_GOOD_ROD
+ const EVENT_GOT_SUPER_ROD
+ const EVENT_GOT_A_POKEMON_FROM_ELM
+ const EVENT_GOT_CYNDAQUIL_FROM_ELM
+ const EVENT_GOT_TOTODILE_FROM_ELM
+ const EVENT_GOT_CHIKORITA_FROM_ELM
+ const EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON
+ const EVENT_GAVE_MYSTERY_EGG_TO_ELM
+ const EVENT_JASMINE_RETURNED_TO_GYM
+ const EVENT_CLEARED_RADIO_TOWER
+ const EVENT_CLEARED_ROCKET_HIDEOUT
+ const EVENT_GOT_SECRETPOTION_FROM_PHARMACY
+ const EVENT_GOT_SS_TICKET_FROM_ELM
+ const EVENT_USED_THE_CARD_KEY_IN_THE_RADIO_TOWER
+ const EVENT_REFUSED_TO_HELP_LANCE_AT_LAKE_OF_RAGE
+ const EVENT_GOT_BERRY_FROM_ROUTE_30_HOUSE
+ const EVENT_MADE_WHITNEY_CRY
+ const EVENT_HERDED_FARFETCHD
+ const EVENT_FOUGHT_SUDOWOODO
+ const EVENT_CLEARED_SLOWPOKE_WELL
+ const EVENT_REFUSED_TO_TAKE_EGG_FROM_ELMS_AIDE
+ const EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
+ const EVENT_MADE_UNOWN_APPEAR_IN_RUINS
+ const EVENT_FAST_SHIP_DESTINATION_OLIVINE
+ const EVENT_FAST_SHIP_FIRST_TIME
+ const EVENT_FAST_SHIP_HAS_ARRIVED
+ const EVENT_FAST_SHIP_FOUND_GIRL
+ const EVENT_FAST_SHIP_LAZY_SAILOR
+ const EVENT_FAST_SHIP_INFORMED_ABOUT_LAZY_SAILOR
+ const EVENT_KURT_GAVE_YOU_LURE_BALL
+ const EVENT_INITIALIZED_EVENTS
+ const EVENT_JASMINE_EXPLAINED_AMPHYS_SICKNESS
+ const EVENT_LAKE_OF_RAGE_EXPLAINED_WEIRD_MAGIKARP
+ const EVENT_LAKE_OF_RAGE_ASKED_FOR_MAGIKARP
+ const EVENT_LAKE_OF_RAGE_ELIXIR_ON_STANDBY
+ const EVENT_03B
+ const EVENT_03C
+ const EVENT_HEALED_MOOMOO
+ const EVENT_GOT_TM13_SNORE_FROM_MOOMOO_FARM
+ const EVENT_TALKED_TO_FARMER_ABOUT_MOOMOO
+ const EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST ; 040
+ const EVENT_DUDE_TALKED_TO_YOU
+ const EVENT_LEARNED_TO_CATCH_POKEMON
+ const EVENT_ELM_CALLED_ABOUT_STOLEN_POKEMON
+ const EVENT_BEAT_ELITE_FOUR
+ const EVENT_GOT_SHUCKIE
+ const EVENT_MANIA_TOOK_SHUCKIE_OR_LET_YOU_KEEP_HIM
+ const EVENT_GOT_SUNNY_DAY_FROM_RADIO_TOWER
+ const EVENT_GOT_PINK_BOW_FROM_MARY
+ const EVENT_USED_BASEMENT_KEY
+ const EVENT_RECEIVED_CARD_KEY
+ const EVENT_GOT_TM08_ROCK_SMASH
+ const EVENT_LANCE_HEALED_YOU_IN_TEAM_ROCKET_BASE
+ const EVENT_GOT_MYSTIC_WATER_IN_CHERRYGROVE
+ const EVENT_GOT_TM05_ROAR
+ const EVENT_GOT_EEVEE
+ const EVENT_GOT_KENYA ; 050
+ const EVENT_GAVE_KENYA
+ const EVENT_GOT_HP_UP_FROM_RANDY
+ const EVENT_GOT_TM50_NIGHTMARE
+ const EVENT_TOGEPI_HATCHED
+ const EVENT_SHOWED_TOGEPI_TO_ELM
+ const EVENT_GOT_EVERSTONE_FROM_ELM
+ const EVENT_GOT_QUICK_CLAW
+ const EVENT_GOT_TM10_HIDDEN_POWER
+ const EVENT_GOT_TM36_SLUDGE_BOMB
+ const EVENT_GOT_ITEMFINDER
+ const EVENT_GOT_BICYCLE
+ const EVENT_GOT_SQUIRTBOTTLE
+ const EVENT_GOT_MIRACLE_SEED_IN_ROUTE_32
+ const EVENT_GOT_CHARCOAL_IN_CHARCOAL_KILN
+ const EVENT_GOT_TM02_HEADBUTT
+ const EVENT_DECIDED_TO_HELP_LANCE ; 060
+ const EVENT_GOT_TYROGUE_FROM_KIYO
+ const EVENT_MET_FRIEDA_OF_FRIDAY
+ const EVENT_GOT_POISON_BARB_FROM_FRIEDA
+ const EVENT_MET_TUSCANY_OF_TUESDAY
+ const EVENT_GOT_PINK_BOW_FROM_TUSCANY
+ const EVENT_MET_ARTHUR_OF_THURSDAY
+ const EVENT_GOT_HARD_STONE_FROM_ARTHUR
+ const EVENT_MET_SUNNY_OF_SUNDAY
+ const EVENT_GOT_MAGNET_FROM_SUNNY
+ const EVENT_MET_WESLEY_OF_WEDNESDAY
+ const EVENT_GOT_BLACKBELT_FROM_WESLEY
+ const EVENT_MET_SANTOS_OF_SATURDAY
+ const EVENT_GOT_SPELL_TAG_FROM_SANTOS
+ const EVENT_MET_MONICA_OF_MONDAY
+ const EVENT_GOT_SHARP_BEAK_FROM_MONICA ; 070
+ const EVENT_GOT_SOFT_SAND_FROM_KATE
+ const EVENT_GOT_METAL_COAT_FROM_GRANDPA_ON_SS_AQUA
+ const EVENT_GOT_BLACKGLASSES_IN_DARK_CAVE
+ const EVENT_GOT_KINGS_ROCK_IN_SLOWPOKE_WELL
+ const EVENT_GOT_TM47_STEEL_WING
+ const EVENT_GOT_TM37_SANDSTORM
+ const EVENT_FIRST_TIME_BANKING_WITH_MOM
+ const EVENT_TOLD_ELM_ABOUT_TOGEPI_OVER_THE_PHONE
+ const EVENT_GOT_CLEAR_BELL
+ const EVENT_GOT_SILVER_WING
+ const EVENT_GOT_TM12_SWEET_SCENT
+ const EVENT_RELEASED_THE_BEASTS
+ const EVENT_GOT_MASTER_BALL_FROM_ELM
+; Johto Signpost Items
+ const EVENT_TIN_TOWER_4F_HIDDEN_MAX_POTION
+ const EVENT_TIN_TOWER_5F_HIDDEN_FULL_RESTORE
+ const EVENT_TIN_TOWER_5F_HIDDEN_CARBOS
+ const EVENT_BURNED_TOWER_1F_HIDDEN_ETHER ; 080
+ const EVENT_081
+ const EVENT_082
+ const EVENT_083
+ const EVENT_NATIONAL_PARK_HIDDEN_FULL_HEAL
+ const EVENT_OLIVINE_LIGHTHOUSE_5F_HIDDEN_HYPER_POTION
+ const EVENT_TEAM_ROCKET_BASE_B1F_HIDDEN_REVIVE
+ const EVENT_TEAM_ROCKET_BASE_B2F_HIDDEN_FULL_HEAL
+ const EVENT_ILEX_FOREST_HIDDEN_ETHER
+ const EVENT_ILEX_FOREST_HIDDEN_SUPER_POTION
+ const EVENT_ILEX_FOREST_HIDDEN_FULL_HEAL
+ const EVENT_WAREHOUSE_ENTRANCE_HIDDEN_PARLYZ_HEAL
+ const EVENT_WAREHOUSE_ENTRANCE_HIDDEN_SUPER_POTION
+ const EVENT_WAREHOUSE_ENTRANCE_HIDDEN_ANTIDOTE
+ const EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_HIDDEN_MAX_POTION
+ const EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_HIDDEN_REVIVE
+ const EVENT_MOUNT_MORTAR_1F_OUTSIDE_HIDDEN_HYPER_POTION
+ const EVENT_MOUNT_MORTAR_1F_INSIDE_HIDDEN_MAX_REPEL
+ const EVENT_MOUNT_MORTAR_2F_INSIDE_HIDDEN_FULL_RESTORE
+ const EVENT_MOUNT_MORTAR_B1F_HIDDEN_MAX_REVIVE
+ const EVENT_ICE_PATH_B1F_HIDDEN_MAX_POTION
+ const EVENT_ICE_PATH_B2F_MAHOGANY_SIDE_HIDDEN_CARBOS
+ const EVENT_ICE_PATH_B2F_BLACKTHORN_SIDE_HIDDEN_ICE_HEAL
+ const EVENT_WHIRL_ISLAND_B1F_HIDDEN_RARE_CANDY
+ const EVENT_WHIRL_ISLAND_B1F_HIDDEN_ULTRA_BALL
+ const EVENT_WHIRL_ISLAND_B1F_HIDDEN_FULL_RESTORE
+ const EVENT_SILVER_CAVE_ROOM_1_HIDDEN_DIRE_HIT
+ const EVENT_SILVER_CAVE_ROOM_1_HIDDEN_ULTRA_BALL
+ const EVENT_SILVER_CAVE_ROOM_2_HIDDEN_MAX_POTION
+ const EVENT_DARK_CAVE_VIOLET_ENTRANCE_HIDDEN_ELIXER
+ const EVENT_VICTORY_ROAD_HIDDEN_MAX_POTION
+ const EVENT_VICTORY_ROAD_HIDDEN_FULL_HEAL
+ const EVENT_DRAGONS_DEN_B1F_HIDDEN_REVIVE
+ const EVENT_DRAGONS_DEN_B1F_HIDDEN_MAX_POTION
+ const EVENT_DRAGONS_DEN_B1F_HIDDEN_MAX_ELIXER
+ const EVENT_ROUTE_28_HIDDEN_RARE_CANDY
+ const EVENT_ROUTE_30_HIDDEN_POTION
+ const EVENT_ROUTE_32_HIDDEN_GREAT_BALL
+ const EVENT_ROUTE_32_HIDDEN_SUPER_POTION
+ const EVENT_ROUTE_34_HIDDEN_RARE_CANDY
+ const EVENT_ROUTE_34_HIDDEN_SUPER_POTION
+ const EVENT_ROUTE_37_HIDDEN_ETHER
+ const EVENT_ROUTE_39_HIDDEN_NUGGET
+ const EVENT_ROUTE_40_HIDDEN_HYPER_POTION
+ const EVENT_ROUTE_41_HIDDEN_MAX_ETHER
+ const EVENT_ROUTE_42_HIDDEN_MAX_POTION
+ const EVENT_ROUTE_44_HIDDEN_ELIXER
+ const EVENT_ROUTE_45_HIDDEN_PP_UP
+ const EVENT_VIOLET_CITY_HIDDEN_HYPER_POTION
+ const EVENT_AZALEA_TOWN_HIDDEN_FULL_HEAL
+ const EVENT_CIANWOOD_CITY_HIDDEN_REVIVE
+ const EVENT_CIANWOOD_CITY_HIDDEN_MAX_ETHER
+ const EVENT_ECRUTEAK_CITY_HIDDEN_HYPER_POTION
+ const EVENT_LAKE_OF_RAGE_HIDDEN_FULL_RESTORE
+ const EVENT_LAKE_OF_RAGE_HIDDEN_RARE_CANDY
+ const EVENT_LAKE_OF_RAGE_HIDDEN_MAX_POTION
+ const EVENT_SILVER_CAVE_OUTSIDE_HIDDEN_FULL_RESTORE
+; Crystal-exclusive events in Johto
+ const EVENT_MET_FLORIA
+ const EVENT_TALKED_TO_FLORIA_AT_FLOWER_SHOP
+ const EVENT_BUGGING_KURT_TOO_MUCH
+ const EVENT_TALKED_TO_RUINS_COWARD
+ const EVENT_GOT_DRATINI
+ const EVENT_CAN_GIVE_GS_BALL_TO_KURT
+ const EVENT_GAVE_GS_BALL_TO_KURT
+ const EVENT_FOREST_IS_RESTLESS
+ const EVENT_ANSWERED_DRAGON_MASTER_QUIZ_WRONG
+ const EVENT_0C2
+ const EVENT_0C3
+ const EVENT_0C4
+ const EVENT_0C5
+ const EVENT_0C6
+ const EVENT_0C7
+; Kanto story events
+ const EVENT_GOT_NUGGET_FROM_GUY
+ const EVENT_RETURNED_MACHINE_PART
+ const EVENT_MET_MANAGER_AT_POWER_PLANT
+ const EVENT_MET_ROCKET_GRUNT_AT_CERULEAN_GYM
+ const EVENT_MET_REDS_MOM
+ const EVENT_RESTORED_POWER_TO_KANTO
+ const EVENT_GOT_COINS_FROM_GAMBLER_AT_CELADON
+ const EVENT_MET_COPYCAT_FOUND_OUT_ABOUT_LOST_ITEM
+ const EVENT_RETURNED_LOST_ITEM_TO_COPYCAT
+ const EVENT_GOT_PASS_FROM_COPYCAT
+ const EVENT_GOT_LOST_ITEM_FROM_FAN_CLUB
+ const EVENT_LISTENED_TO_FAN_CLUB_PRESIDENT_BUT_BAG_WAS_FULL
+ const EVENT_LISTENED_TO_FAN_CLUB_PRESIDENT
+ const EVENT_TALKED_TO_SEAFOAM_GYM_GUY_ONCE
+ const EVENT_ENABLE_DIPLOMA_PRINTING
+ const EVENT_CINNABAR_ROCKS_CLEARED
+ const EVENT_CLEARED_NUGGET_BRIDGE
+ const EVENT_TALKED_TO_WARDENS_GRANDDAUGHTER
+ const EVENT_GOT_TM03_CURSE
+ const EVENT_GOT_CLEANSE_TAG
+ const EVENT_GOT_TM19_GIGA_DRAIN
+ const EVENT_GOT_TM06_TOXIC
+ const EVENT_GOT_UP_GRADE
+ const EVENT_GOT_TM07_ZAP_CANNON
+ const EVENT_GOT_TM42_DREAM_EATER
+ const EVENT_TALKED_TO_OAK_IN_KANTO
+ const EVENT_GOT_HP_UP_FROM_VERMILION_GUY
+ const EVENT_GOT_TM29_PSYCHIC
+; Kanto Signpost Items
+ const EVENT_DIGLETTS_CAVE_HIDDEN_MAX_REVIVE
+ const EVENT_UNDERGROUND_HIDDEN_FULL_RESTORE
+ const EVENT_UNDERGROUND_HIDDEN_X_SPECIAL
+ const EVENT_ROCK_TUNNEL_1F_HIDDEN_X_ACCURACY
+ const EVENT_ROCK_TUNNEL_1F_HIDDEN_X_DEFEND
+ const EVENT_ROCK_TUNNEL_B1F_HIDDEN_MAX_POTION
+ const EVENT_OLIVINE_PORT_HIDDEN_PROTEIN
+ const EVENT_VERMILION_PORT_HIDDEN_IRON
+ const EVENT_MOUNT_MOON_SQUARE_HIDDEN_MOON_STONE
+ const EVENT_ROUTE_2_HIDDEN_MAX_ETHER
+ const EVENT_ROUTE_2_HIDDEN_FULL_HEAL
+ const EVENT_ROUTE_2_HIDDEN_FULL_RESTORE
+ const EVENT_ROUTE_2_HIDDEN_REVIVE
+ const EVENT_ROUTE_4_HIDDEN_ULTRA_BALL
+ const EVENT_ROUTE_9_HIDDEN_ETHER
+ const EVENT_ROUTE_12_HIDDEN_ELIXER
+ const EVENT_ROUTE_13_HIDDEN_CALCIUM
+ const EVENT_ROUTE_11_HIDDEN_REVIVE
+ const EVENT_ROUTE_17_HIDDEN_MAX_ETHER
+ const EVENT_ROUTE_17_HIDDEN_MAX_ELIXER
+ const EVENT_ROUTE_25_HIDDEN_POTION
+ const EVENT_FOUND_LEFTOVERS_IN_CELADON_CAFE
+ const EVENT_FOUND_BERSERK_GENE_IN_CERULEAN_CITY
+ const EVENT_FOUND_MACHINE_PART_IN_CERULEAN_GYM
+ const EVENT_VERMILION_CITY_HIDDEN_FULL_HEAL
+ const EVENT_CELADON_CITY_HIDDEN_PP_UP
+ const EVENT_CINNABAR_ISLAND_HIDDEN_RARE_CANDY
+ const EVENT_BURNED_TOWER_1F_HIDDEN_ULTRA_BALL
+ const EVENT_GINA_GAVE_LEAF_STONE
+ const EVENT_ALAN_GAVE_FIRE_STONE
+ const EVENT_DANA_GAVE_THUNDERSTONE
+ const EVENT_TULLY_GAVE_WATER_STONE
+ const EVENT_TIFFANY_GAVE_PINK_BOW
+; ???
+ const EVENT_105
+ const EVENT_106
+ const EVENT_107
+ const EVENT_108
+ const EVENT_109
+ const EVENT_10A
+ const EVENT_10B
+ const EVENT_10C
+ const EVENT_10D
+ const EVENT_10E
+ const EVENT_10F
+ const EVENT_110
+ const EVENT_111
+ const EVENT_112
+ const EVENT_113
+ const EVENT_114
+ const EVENT_115
+ const EVENT_116
+ const EVENT_117
+ const EVENT_118
+ const EVENT_119
+ const EVENT_11A
+ const EVENT_11B
+ const EVENT_11C
+ const EVENT_11D
+ const EVENT_11E
+ const EVENT_11F
+ const EVENT_120
+ const EVENT_121
+ const EVENT_122
+ const EVENT_123
+ const EVENT_124
+ const EVENT_125
+ const EVENT_126
+ const EVENT_127
+ const EVENT_128
+ const EVENT_129
+ const EVENT_12A
+ const EVENT_12B
+ const EVENT_12C
+ const EVENT_12D
+ const EVENT_12E
+ const EVENT_12F
+ const EVENT_130
+ const EVENT_131
+ const EVENT_132
+ const EVENT_133
+ const EVENT_134
+ const EVENT_135
+ const EVENT_136
+ const EVENT_137
+ const EVENT_138
+ const EVENT_139
+ const EVENT_13A
+ const EVENT_13B
+ const EVENT_13C
+ const EVENT_13D
+ const EVENT_13E
+ const EVENT_13F
+ const EVENT_140
+ const EVENT_141
+ const EVENT_142
+ const EVENT_143
+ const EVENT_144
+ const EVENT_145
+ const EVENT_146
+ const EVENT_147
+ const EVENT_148
+ const EVENT_149
+ const EVENT_14A
+ const EVENT_14B
+ const EVENT_14C
+ const EVENT_14D
+ const EVENT_14E
+ const EVENT_14F
+ const EVENT_150
+ const EVENT_151
+ const EVENT_152
+ const EVENT_153
+ const EVENT_154
+ const EVENT_155
+ const EVENT_156
+ const EVENT_157
+ const EVENT_158
+ const EVENT_159
+ const EVENT_15A
+ const EVENT_15B
+ const EVENT_15C
+ const EVENT_15D
+ const EVENT_15E
+ const EVENT_15F
+ const EVENT_160
+ const EVENT_161
+ const EVENT_162
+ const EVENT_163
+ const EVENT_164
+ const EVENT_165
+ const EVENT_166
+ const EVENT_167
+ const EVENT_168
+ const EVENT_169
+ const EVENT_16A
+ const EVENT_16B
+ const EVENT_16C
+ const EVENT_16D
+ const EVENT_16E
+ const EVENT_16F
+ const EVENT_170
+ const EVENT_171
+ const EVENT_172
+ const EVENT_173
+ const EVENT_174
+ const EVENT_175
+ const EVENT_176
+ const EVENT_177
+ const EVENT_178
+ const EVENT_179
+ const EVENT_17A
+ const EVENT_17B
+ const EVENT_17C
+ const EVENT_17D
+ const EVENT_17E
+ const EVENT_17F
+ const EVENT_180
+ const EVENT_181
+ const EVENT_182
+ const EVENT_183
+ const EVENT_184
+ const EVENT_185
+ const EVENT_186
+ const EVENT_187
+ const EVENT_188
+ const EVENT_189
+ const EVENT_18A
+ const EVENT_18B
+ const EVENT_18C
+ const EVENT_18D
+ const EVENT_18E
+ const EVENT_18F
+ const EVENT_190
+ const EVENT_191
+ const EVENT_192
+ const EVENT_193
+ const EVENT_194
+ const EVENT_195
+ const EVENT_196
+ const EVENT_197
+ const EVENT_198
+ const EVENT_199
+ const EVENT_19A
+ const EVENT_19B
+ const EVENT_19C
+ const EVENT_19D
+ const EVENT_19E
+ const EVENT_19F
+ const EVENT_1A0
+ const EVENT_1A1
+ const EVENT_1A2
+ const EVENT_1A3
+ const EVENT_1A4
+ const EVENT_1A5
+ const EVENT_1A6
+ const EVENT_1A7
+ const EVENT_1A8
+ const EVENT_1A9
+ const EVENT_1AA
+ const EVENT_1AB
+ const EVENT_1AC
+ const EVENT_1AD
+ const EVENT_1AE
+ const EVENT_1AF
+ const EVENT_1B0
+ const EVENT_1B1
+ const EVENT_1B2
+ const EVENT_1B3
+ const EVENT_1B4
+ const EVENT_1B5
+ const EVENT_1B6
+ const EVENT_1B7
+ const EVENT_1B8
+ const EVENT_1B9
+ const EVENT_1BA
+ const EVENT_1BB
+ const EVENT_1BC
+ const EVENT_1BD
+ const EVENT_1BE
+ const EVENT_1BF
+ const EVENT_1C0
+ const EVENT_1C1
+ const EVENT_1C2
+ const EVENT_1C3
+ const EVENT_1C4
+ const EVENT_1C5
+ const EVENT_1C6
+ const EVENT_1C7
+ const EVENT_1C8
+ const EVENT_1C9
+ const EVENT_1CA
+ const EVENT_1CB
+ const EVENT_1CC
+ const EVENT_1CD
+ const EVENT_1CE
+ const EVENT_1CF
+ const EVENT_1D0
+ const EVENT_1D1
+ const EVENT_1D2
+ const EVENT_1D3
+ const EVENT_1D4
+ const EVENT_1D5
+ const EVENT_1D6
+ const EVENT_1D7
+ const EVENT_1D8
+ const EVENT_1D9
+ const EVENT_1DA
+ const EVENT_1DB
+ const EVENT_1DC
+ const EVENT_1DD
+ const EVENT_1DE
+ const EVENT_1DF
+ const EVENT_1E0
+ const EVENT_1E1
+ const EVENT_1E2
+ const EVENT_1E3
+ const EVENT_1E4
+ const EVENT_1E5
+ const EVENT_1E6
+ const EVENT_1E7
+ const EVENT_1E8
+ const EVENT_1E9
+ const EVENT_1EA
+ const EVENT_1EB
+ const EVENT_1EC
+ const EVENT_1ED
+ const EVENT_1EE
+ const EVENT_1EF
+ const EVENT_1F0
+ const EVENT_1F1
+ const EVENT_1F2
+ const EVENT_1F3
+ const EVENT_1F4
+ const EVENT_1F5
+ const EVENT_1F6
+ const EVENT_1F7
+ const EVENT_1F8
+ const EVENT_1F9
+ const EVENT_1FA
+ const EVENT_1FB
+ const EVENT_1FC
+ const EVENT_1FD
+ const EVENT_1FE
+ const EVENT_1FF
+ const EVENT_200
+ const EVENT_201
+ const EVENT_202
+ const EVENT_203
+ const EVENT_204
+ const EVENT_205
+ const EVENT_206
+ const EVENT_207
+ const EVENT_208
+ const EVENT_209
+ const EVENT_20A
+ const EVENT_20B
+ const EVENT_20C
+ const EVENT_20D
+ const EVENT_20E
+ const EVENT_20F
+ const EVENT_210
+ const EVENT_211
+ const EVENT_212
+ const EVENT_213
+ const EVENT_214
+ const EVENT_215
+ const EVENT_216
+ const EVENT_217
+ const EVENT_218
+ const EVENT_219
+ const EVENT_21A
+ const EVENT_21B
+ const EVENT_21C
+ const EVENT_21D
+ const EVENT_21E
+ const EVENT_21F
+ const EVENT_220
+ const EVENT_221
+ const EVENT_222
+ const EVENT_223
+ const EVENT_224
+ const EVENT_225
+ const EVENT_226
+ const EVENT_227
+ const EVENT_228
+ const EVENT_229
+ const EVENT_22A
+ const EVENT_22B
+ const EVENT_22C
+ const EVENT_22D
+ const EVENT_22E
+ const EVENT_22F
+ const EVENT_230
+ const EVENT_231
+ const EVENT_232
+ const EVENT_233
+ const EVENT_234
+ const EVENT_235
+ const EVENT_236
+ const EVENT_237
+ const EVENT_238
+ const EVENT_239
+ const EVENT_23A
+ const EVENT_23B
+ const EVENT_23C
+ const EVENT_23D
+ const EVENT_23E
+ const EVENT_23F
+ const EVENT_240
+ const EVENT_241
+ const EVENT_242
+ const EVENT_243
+ const EVENT_244
+ const EVENT_245
+ const EVENT_246
+ const EVENT_247
+ const EVENT_248
+ const EVENT_249
+ const EVENT_24A
+ const EVENT_24B
+ const EVENT_24C
+ const EVENT_24D
+ const EVENT_24E
+ const EVENT_24F
+ const EVENT_250
+ const EVENT_251
+ const EVENT_252
+ const EVENT_253
+ const EVENT_254
+ const EVENT_255
+ const EVENT_256
+ const EVENT_257
+; Kurt events
+ const EVENT_GAVE_KURT_RED_APRICORN
+ const EVENT_GAVE_KURT_BLU_APRICORN
+ const EVENT_GAVE_KURT_YLW_APRICORN
+ const EVENT_GAVE_KURT_GRN_APRICORN
+ const EVENT_GAVE_KURT_WHT_APRICORN
+ const EVENT_GAVE_KURT_BLK_APRICORN
+ const EVENT_GAVE_KURT_PNK_APRICORN
+; Phone events
+ const EVENT_JACK_ASKED_FOR_PHONE_NUMBER
+ const EVENT_260
+ const EVENT_BEVERLY_ASKED_FOR_PHONE_NUMBER
+ const EVENT_262
+ const EVENT_HUEY_ASKED_FOR_PHONE_NUMBER
+ const EVENT_264
+ const EVENT_GOT_PROTEIN_FROM_HUEY
+ const EVENT_GOT_HP_UP_FROM_JOEY
+ const EVENT_GOT_CARBOS_FROM_VANCE
+ const EVENT_GOT_IRON_FROM_PARRY
+ const EVENT_GOT_CALCIUM_FROM_ERIN
+ const EVENT_KENJI_ON_BREAK
+ const EVENT_GAVEN_ASKED_FOR_PHONE_NUMBER
+ const EVENT_26C
+ const EVENT_BETH_ASKED_FOR_PHONE_NUMBER
+ const EVENT_26E
+ const EVENT_JOSE_ASKED_FOR_PHONE_NUMBER
+ const EVENT_270
+ const EVENT_REENA_ASKED_FOR_PHONE_NUMBER
+ const EVENT_272
+ const EVENT_JOEY_ASKED_FOR_PHONE_NUMBER
+ const EVENT_274
+ const EVENT_WADE_ASKED_FOR_PHONE_NUMBER
+ const EVENT_276
+ const EVENT_RALPH_ASKED_FOR_PHONE_NUMBER
+ const EVENT_278
+ const EVENT_LIZ_ASKED_FOR_PHONE_NUMBER
+ const EVENT_27A
+ const EVENT_ANTHONY_ASKED_FOR_PHONE_NUMBER
+ const EVENT_27C
+ const EVENT_TODD_ASKED_FOR_PHONE_NUMBER
+ const EVENT_27E
+ const EVENT_GINA_ASKED_FOR_PHONE_NUMBER
+ const EVENT_280 ; 280
+ const EVENT_IRWIN_ASKED_FOR_PHONE_NUMBER
+ const EVENT_282
+ const EVENT_ARNIE_ASKED_FOR_PHONE_NUMBER
+ const EVENT_284
+ const EVENT_ALAN_ASKED_FOR_PHONE_NUMBER
+ const EVENT_286
+ const EVENT_287
+ const EVENT_288
+ const EVENT_DANA_ASKED_FOR_PHONE_NUMBER
+ const EVENT_28A
+ const EVENT_CHAD_ASKED_FOR_PHONE_NUMBER
+ const EVENT_28C
+ const EVENT_DEREK_ASKED_FOR_PHONE_NUMBER
+ const EVENT_28E
+ const EVENT_TULLY_ASKED_FOR_PHONE_NUMBER
+ const EVENT_290 ; 290
+ const EVENT_BRENT_ASKED_FOR_PHONE_NUMBER
+ const EVENT_292
+ const EVENT_TIFFANY_ASKED_FOR_PHONE_NUMBER
+ const EVENT_294
+ const EVENT_VANCE_ASKED_FOR_PHONE_NUMBER
+ const EVENT_296
+ const EVENT_WILTON_ASKED_FOR_PHONE_NUMBER
+ const EVENT_298
+ const EVENT_KENJI_ASKED_FOR_PHONE_NUMBER
+ const EVENT_29A
+ const EVENT_PARRY_ASKED_FOR_PHONE_NUMBER
+ const EVENT_29C
+ const EVENT_ERIN_ASKED_FOR_PHONE_NUMBER
+ const EVENT_BUENA_OFFERED_HER_PHONE_NUMBER_NO_BLUE_CARD
+ const EVENT_29F
+; Ruins Of Alph puzzles
+ const EVENT_SOLVED_HO_OH_PUZZLE ; 2a0
+ const EVENT_SOLVED_KABUTO_PUZZLE
+ const EVENT_SOLVED_OMANYTE_PUZZLE
+ const EVENT_SOLVED_AERODACTYL_PUZZLE
+; Decorations
+ const EVENT_DECO_BED_1
+ const EVENT_DECO_BED_2
+ const EVENT_DECO_BED_3
+ const EVENT_DECO_BED_4
+ const EVENT_DECO_CARPET_1
+ const EVENT_DECO_CARPET_2
+ const EVENT_DECO_CARPET_3
+ const EVENT_DECO_CARPET_4
+ const EVENT_DECO_PLANT_1
+ const EVENT_DECO_PLANT_2
+ const EVENT_DECO_PLANT_3
+ const EVENT_DECO_PLANT_4
+ const EVENT_DECO_POSTER_1 ; 2b0
+ const EVENT_DECO_POSTER_2
+ const EVENT_DECO_POSTER_3
+ const EVENT_DECO_FAMICOM
+ const EVENT_DECO_SNES
+ const EVENT_DECO_N64
+ const EVENT_DECO_VIRTUAL_BOY
+ const EVENT_DECO_PIKACHU_DOLL
+ const EVENT_DECO_SURFING_PIKACHU_DOLL
+ const EVENT_DECO_CLEFAIRY_DOLL
+ const EVENT_DECO_JIGGLYPUFF_DOLL
+ const EVENT_DECO_BULBASAUR_DOLL
+ const EVENT_DECO_CHARMANDER_DOLL
+ const EVENT_DECO_SQUIRTLE_DOLL
+ const EVENT_DECO_POLIWAG_DOLL
+ const EVENT_DECO_DIGLETT_DOLL
+ const EVENT_DECO_STARMIE_DOLL ; 2c0
+ const EVENT_DECO_MAGIKARP_DOLL
+ const EVENT_DECO_ODDISH_DOLL
+ const EVENT_DECO_GENGAR_DOLL
+ const EVENT_DECO_SHELLDER_DOLL
+ const EVENT_DECO_GRIMER_DOLL
+ const EVENT_DECO_VOLTORB_DOLL
+ const EVENT_DECO_WEEDLE_DOLL
+ const EVENT_DECO_UNOWN_DOLL
+ const EVENT_DECO_GEODUDE_DOLL
+ const EVENT_DECO_MACHOP_DOLL
+ const EVENT_DECO_TENTACOOL_DOLL
+ const EVENT_KRISS_ROOM_POSTER
+ const EVENT_DECO_GOLD_TROPHY
+ const EVENT_DECO_SILVER_TROPHY
+ const EVENT_DECO_BIG_SNORLAX_DOLL
+ const EVENT_DECO_BIG_ONIX_DOLL ; 2d0
+ const EVENT_DECO_BIG_LAPRAS_DOLL
+; More Johto events
+ const EVENT_WARPED_FROM_ROUTE_35_NATIONAL_PARK_GATE
+ const EVENT_SWITCH_1
+ const EVENT_SWITCH_2
+ const EVENT_SWITCH_3
+ const EVENT_EMERGENCY_SWITCH
+ const EVENT_SWITCH_4
+ const EVENT_SWITCH_5
+ const EVENT_SWITCH_6
+ const EVENT_SWITCH_7
+ const EVENT_SWITCH_8
+ const EVENT_SWITCH_9
+ const EVENT_SWITCH_10
+ const EVENT_SWITCH_11
+ const EVENT_SWITCH_12
+ const EVENT_SWITCH_13 ; 2e0
+ const EVENT_SWITCH_14
+ const EVENT_UNCOVERED_STAIRCASE_IN_MAHOGANY_MART
+ const EVENT_TURNED_OFF_SECURITY_CAMERAS
+ const EVENT_SECURITY_CAMERA_1
+ const EVENT_SECURITY_CAMERA_2
+ const EVENT_SECURITY_CAMERA_3
+ const EVENT_SECURITY_CAMERA_4
+ const EVENT_SECURITY_CAMERA_5
+ const EVENT_EXPLODING_TRAP_1
+ const EVENT_EXPLODING_TRAP_2
+ const EVENT_EXPLODING_TRAP_3
+ const EVENT_EXPLODING_TRAP_4
+ const EVENT_EXPLODING_TRAP_5
+ const EVENT_EXPLODING_TRAP_6
+ const EVENT_EXPLODING_TRAP_7
+ const EVENT_EXPLODING_TRAP_8 ; 2f0
+ const EVENT_EXPLODING_TRAP_9
+ const EVENT_EXPLODING_TRAP_10
+ const EVENT_EXPLODING_TRAP_11
+ const EVENT_EXPLODING_TRAP_12
+ const EVENT_EXPLODING_TRAP_13
+ const EVENT_EXPLODING_TRAP_14
+ const EVENT_EXPLODING_TRAP_15
+ const EVENT_EXPLODING_TRAP_16
+ const EVENT_EXPLODING_TRAP_17
+ const EVENT_EXPLODING_TRAP_18
+ const EVENT_EXPLODING_TRAP_19
+ const EVENT_EXPLODING_TRAP_20
+ const EVENT_EXPLODING_TRAP_21
+ const EVENT_EXPLODING_TRAP_22
+ const EVENT_LEARNED_HAIL_GIOVANNI
+ const EVENT_OPENED_DOOR_TO_ROCKET_HIDEOUT_TRANSMITTER ; 300
+ const EVENT_LEARNED_SLOWPOKETAIL
+ const EVENT_LEARNED_RATICATE_TAIL
+ const EVENT_OPENED_DOOR_TO_GIOVANNIS_OFFICE
+ const EVENT_WAREHOUSE_LAYOUT_1
+ const EVENT_WAREHOUSE_LAYOUT_2
+ const EVENT_WAREHOUSE_LAYOUT_3
+ const EVENT_WAREHOUSE_BLOCKED_OFF
+ const EVENT_LEFT_MONS_WITH_CONTEST_OFFICER
+ const EVENT_WILLS_ROOM_ENTRANCE_CLOSED
+ const EVENT_WILLS_ROOM_EXIT_OPEN
+ const EVENT_KOGAS_ROOM_ENTRANCE_CLOSED
+ const EVENT_KOGAS_ROOM_EXIT_OPEN
+ const EVENT_BRUNOS_ROOM_ENTRANCE_CLOSED
+ const EVENT_BRUNOS_ROOM_EXIT_OPEN
+ const EVENT_KARENS_ROOM_ENTRANCE_CLOSED
+ const EVENT_KARENS_ROOM_EXIT_OPEN ; 310
+ const EVENT_LANCES_ROOM_ENTRANCE_CLOSED
+ const EVENT_LANCES_ROOM_EXIT_OPEN
+ const EVENT_CONTEST_OFFICER_HAS_SUN_STONE
+ const EVENT_CONTEST_OFFICER_HAS_EVERSTONE
+ const EVENT_CONTEST_OFFICER_HAS_GOLD_BERRY
+ const EVENT_CONTEST_OFFICER_HAS_BERRY
+ const EVENT_FOUGHT_HO_OH
+ const EVENT_FOUGHT_LUGIA
+ const EVENT_BEAT_RIVAL_IN_MT_MOON
+ const EVENT_MET_BILLS_GRANDPA
+ const EVENT_SHOWED_LICKITUNG_TO_BILLS_GRANDPA
+ const EVENT_SHOWED_ODDISH_TO_BILLS_GRANDPA
+ const EVENT_SHOWED_STARYU_TO_BILLS_GRANDPA
+ const EVENT_SHOWED_GROWLITHE_VULPIX_TO_BILLS_GRANDPA
+ const EVENT_SHOWED_PICHU_TO_BILLS_GRANDPA
+ const EVENT_GOT_EVERSTONE_FROM_BILLS_GRANDPA ; 320
+ const EVENT_GOT_LEAF_STONE_FROM_BILLS_GRANDPA
+ const EVENT_GOT_WATER_STONE_FROM_BILLS_GRANDPA
+ const EVENT_GOT_FIRE_STONE_FROM_BILLS_GRANDPA
+ const EVENT_GOT_THUNDERSTONE_FROM_BILLS_GRANDPA
+; More Crystal-specific events
+ const EVENT_LISTENED_TO_INITIAL_RADIO
+ const EVENT_WALL_OPENED_IN_HO_OH_CHAMBER
+ const EVENT_WALL_OPENED_IN_KABUTO_CHAMBER
+ const EVENT_WALL_OPENED_IN_OMANYTE_CHAMBER
+ const EVENT_WALL_OPENED_IN_AERODACTYL_CHAMBER
+ const EVENT_WELCOMED_TO_POKECOM_CENTER
+ const EVENT_WADE_HAS_BERRY
+ const EVENT_WADE_HAS_PSNCUREBERRY
+ const EVENT_WADE_HAS_PRZCUREBERRY
+ const EVENT_WADE_HAS_BITTER_BERRY
+ const EVENT_WILTON_HAS_ULTRA_BALL
+ const EVENT_WILTON_HAS_GREAT_BALL
+ const EVENT_WILTON_HAS_POKE_BALL
+ const EVENT_HOLE_IN_BURNED_TOWER
+ const EVENT_FOUGHT_EUSINE
+ const EVENT_KOJI_ALLOWS_YOU_PASSAGE_TO_TIN_TOWER
+ const EVENT_FOUGHT_SUICUNE
+ const EVENT_GOT_RAINBOW_WING
+ const EVENT_HUEY_PROTEIN
+ const EVENT_JOEY_HP_UP
+ const EVENT_VANCE_CARBOS
+ const EVENT_PARRY_IRON
+ const EVENT_ERIN_CALCIUM
+ const EVENT_BUENA_OFFERED_HER_PHONE_NUMBER
+ const EVENT_MET_BUENA
+ const EVENT_GOT_ODD_EGG
+ const EVENT_33F
+ const EVENT_GOT_GS_BALL_FROM_POKECOM_CENTER
+; ???
+ const EVENT_341
+ const EVENT_342
+ const EVENT_343
+ const EVENT_344
+ const EVENT_345
+ const EVENT_346
+ const EVENT_347
+ const EVENT_348
+ const EVENT_349
+ const EVENT_34A
+ const EVENT_34B
+ const EVENT_34C
+ const EVENT_34D
+ const EVENT_34E
+ const EVENT_34F
+ const EVENT_350
+ const EVENT_351
+ const EVENT_352
+ const EVENT_353
+ const EVENT_354
+ const EVENT_355
+ const EVENT_356
+ const EVENT_357
+ const EVENT_358
+ const EVENT_359
+ const EVENT_35A
+ const EVENT_35B
+ const EVENT_35C
+ const EVENT_35D
+ const EVENT_35E
+ const EVENT_35F
+ const EVENT_360
+ const EVENT_361
+ const EVENT_362
+ const EVENT_363
+ const EVENT_364
+ const EVENT_365
+ const EVENT_366
+ const EVENT_367
+ const EVENT_368
+ const EVENT_369
+ const EVENT_36A
+ const EVENT_36B
+ const EVENT_36C
+ const EVENT_36D
+ const EVENT_36E
+ const EVENT_36F
+ const EVENT_370
+ const EVENT_371
+ const EVENT_372
+ const EVENT_373
+ const EVENT_374
+ const EVENT_375
+ const EVENT_376
+ const EVENT_377
+ const EVENT_378
+ const EVENT_379
+ const EVENT_37A
+ const EVENT_37B
+ const EVENT_37C
+ const EVENT_37D
+ const EVENT_37E
+ const EVENT_37F
+ const EVENT_380
+ const EVENT_381
+ const EVENT_382
+ const EVENT_383
+ const EVENT_384
+ const EVENT_385
+ const EVENT_386
+ const EVENT_387
+ const EVENT_388
+ const EVENT_389
+ const EVENT_38A
+ const EVENT_38B
+ const EVENT_38C
+ const EVENT_38D
+ const EVENT_38E
+ const EVENT_38F
+ const EVENT_390
+ const EVENT_391
+ const EVENT_392
+ const EVENT_393
+ const EVENT_394
+ const EVENT_395
+ const EVENT_396
+ const EVENT_397
+ const EVENT_398
+ const EVENT_399
+ const EVENT_39A
+ const EVENT_39B
+ const EVENT_39C
+ const EVENT_39D
+ const EVENT_39E
+ const EVENT_39F
+ const EVENT_3A0
+ const EVENT_3A1
+ const EVENT_3A2
+ const EVENT_3A3
+ const EVENT_3A4
+ const EVENT_3A5
+ const EVENT_3A6
+ const EVENT_3A7
+ const EVENT_3A8
+ const EVENT_3A9
+ const EVENT_3AA
+ const EVENT_3AB
+ const EVENT_3AC
+ const EVENT_3AD
+ const EVENT_3AE
+ const EVENT_3AF
+ const EVENT_3B0
+ const EVENT_3B1
+ const EVENT_3B2
+ const EVENT_3B3
+ const EVENT_3B4
+ const EVENT_3B5
+ const EVENT_3B6
+ const EVENT_3B7
+ const EVENT_3B8
+ const EVENT_3B9
+ const EVENT_3BA
+ const EVENT_3BB
+ const EVENT_3BC
+ const EVENT_3BD
+ const EVENT_3BE
+ const EVENT_3BF
+ const EVENT_3C0
+ const EVENT_3C1
+ const EVENT_3C2
+ const EVENT_3C3
+ const EVENT_3C4
+ const EVENT_3C5
+ const EVENT_3C6
+ const EVENT_3C7
+ const EVENT_3C8
+ const EVENT_3C9
+ const EVENT_3CA
+ const EVENT_3CB
+ const EVENT_3CC
+ const EVENT_3CD
+ const EVENT_3CE
+ const EVENT_3CF
+ const EVENT_3D0
+ const EVENT_3D1
+ const EVENT_3D2
+ const EVENT_3D3
+ const EVENT_3D4
+ const EVENT_3D5
+ const EVENT_3D6
+ const EVENT_3D7
+ const EVENT_3D8
+ const EVENT_3D9
+ const EVENT_3DA
+ const EVENT_3DB
+ const EVENT_3DC
+ const EVENT_3DD
+ const EVENT_3DE
+ const EVENT_3DF
+ const EVENT_3E0
+ const EVENT_3E1
+ const EVENT_3E2
+ const EVENT_3E3
+ const EVENT_3E4
+ const EVENT_3E5
+ const EVENT_3E6
+ const EVENT_3E7
+; Trainer Flags
+; Swimmer F
+ const EVENT_BEAT_SWIMMERF_ELAINE
+ const EVENT_BEAT_SWIMMERF_PAULA
+ const EVENT_BEAT_SWIMMERF_KAYLEE
+ const EVENT_BEAT_SWIMMERF_SUSIE
+ const EVENT_BEAT_SWIMMERF_DENISE
+ const EVENT_BEAT_SWIMMERF_KARA
+ const EVENT_BEAT_SWIMMERF_WENDY
+ const EVENT_BEAT_SWIMMERF_LISA
+ const EVENT_BEAT_SWIMMERF_JILL
+ const EVENT_BEAT_SWIMMERF_MARY
+ const EVENT_BEAT_SWIMMERF_KATIE
+ const EVENT_BEAT_SWIMMERF_DAWN
+ const EVENT_BEAT_SWIMMERF_TARA
+ const EVENT_BEAT_SWIMMERF_NICOLE
+ const EVENT_BEAT_SWIMMERF_LORI
+ const EVENT_BEAT_SWIMMERF_JODY
+ const EVENT_BEAT_SWIMMERF_NIKKI
+ const EVENT_BEAT_SWIMMERF_DIANA
+ const EVENT_BEAT_SWIMMERF_BRIANA
+; Bird Keeper
+ const EVENT_BEAT_BIRD_KEEPER_ROD
+ const EVENT_BEAT_BIRD_KEEPER_ABE
+ const EVENT_BEAT_BIRD_KEEPER_BRYAN
+ const EVENT_BEAT_BIRD_KEEPER_THEO
+ const EVENT_BEAT_BIRD_KEEPER_TOBY
+ const EVENT_BEAT_BIRD_KEEPER_DENIS
+ const EVENT_BEAT_BIRD_KEEPER_VANCE
+ const EVENT_BEAT_BIRD_KEEPER_HANK
+ const EVENT_BEAT_BIRD_KEEPER_ROY
+ const EVENT_BEAT_BIRD_KEEPER_BORIS
+ const EVENT_BEAT_BIRD_KEEPER_BOB
+ const EVENT_BEAT_BIRD_KEEPER_JOSE
+ const EVENT_BEAT_BIRD_KEEPER_PETER
+ const EVENT_BEAT_BIRD_KEEPER_JOSE2
+ const EVENT_BEAT_BIRD_KEEPER_PERRY
+ const EVENT_BEAT_BIRD_KEEPER_BRET
+ const EVENT_BEAT_BIRD_KEEPER_JOSE3
+ const EVENT_BEAT_BIRD_KEEPER_VANCE2
+ const EVENT_BEAT_BIRD_KEEPER_VANCE3
+; Boarder
+ const EVENT_BEAT_BOARDER_RONALD
+ const EVENT_BEAT_BOARDER_BRAD
+ const EVENT_BEAT_BOARDER_DOUGLAS
+; Sage
+ const EVENT_BEAT_SAGE_CHOW
+ const EVENT_BEAT_SAGE_NICO
+ const EVENT_BEAT_SAGE_JIN
+ const EVENT_BEAT_SAGE_TROY
+ const EVENT_BEAT_SAGE_JEFFREY
+ const EVENT_BEAT_SAGE_PING
+ const EVENT_BEAT_SAGE_EDMOND
+ const EVENT_BEAT_SAGE_NEAL
+ const EVENT_BEAT_SAGE_LI
+; Camper
+ const EVENT_BEAT_CAMPER_ROLAND
+ const EVENT_BEAT_CAMPER_TODD
+ const EVENT_BEAT_CAMPER_IVAN
+ const EVENT_BEAT_CAMPER_ELLIOT
+ const EVENT_BEAT_CAMPER_BARRY
+ const EVENT_BEAT_CAMPER_LLOYD
+ const EVENT_BEAT_CAMPER_DEAN
+ const EVENT_BEAT_CAMPER_SID
+ const EVENT_BEAT_CAMPER_HERVEY
+ const EVENT_BEAT_CAMPER_DALE
+ const EVENT_BEAT_CAMPER_TED
+ const EVENT_BEAT_CAMPER_TODD2
+ const EVENT_BEAT_CAMPER_TODD3
+ const EVENT_BEAT_CAMPER_THOMAS
+ const EVENT_BEAT_CAMPER_LEROY
+ const EVENT_BEAT_CAMPER_DAVID
+ const EVENT_BEAT_CAMPER_JOHN
+ const EVENT_BEAT_CAMPER_JERRY
+ const EVENT_BEAT_CAMPER_SPENCER
+; Burglar
+ const EVENT_BEAT_BURGLAR_DUNCAN
+ const EVENT_BEAT_BURGLAR_EDDIE
+ const EVENT_BEAT_BURGLAR_COREY
+; Unknown
+ const EVENT_430
+; Biker
+ const EVENT_BEAT_BIKER_BENNY
+ const EVENT_BEAT_BIKER_KAZU
+ const EVENT_BEAT_BIKER_DWAYNE
+ const EVENT_BEAT_BIKER_HARRIS
+ const EVENT_BEAT_BIKER_ZEKE
+ const EVENT_BEAT_BIKER_CHARLES
+ const EVENT_BEAT_BIKER_RILEY
+ const EVENT_BEAT_BIKER_JOEL
+ const EVENT_BEAT_BIKER_GLENN
+; Psychic
+ const EVENT_BEAT_PSYCHIC_NATHAN
+ const EVENT_BEAT_PSYCHIC_FRANKLIN
+ const EVENT_BEAT_PSYCHIC_HERMAN
+ const EVENT_BEAT_PSYCHIC_FIDEL
+ const EVENT_BEAT_PSYCHIC_GREG
+ const EVENT_BEAT_PSYCHIC_NORMAN
+ const EVENT_BEAT_PSYCHIC_MARK
+ const EVENT_BEAT_PSYCHIC_PHIL
+ const EVENT_BEAT_PSYCHIC_RICHARD
+ const EVENT_BEAT_PSYCHIC_GILBERT
+ const EVENT_BEAT_PSYCHIC_JARED
+ const EVENT_BEAT_PSYCHIC_RODNEY
+; Firebreather
+ const EVENT_BEAT_FIREBREATHER_OTIS
+ const EVENT_BEAT_FIREBREATHER_DICK
+ const EVENT_BEAT_FIREBREATHER_NED
+ const EVENT_BEAT_FIREBREATHER_BURT
+ const EVENT_BEAT_FIREBREATHER_BILL
+ const EVENT_BEAT_FIREBREATHER_WALT
+ const EVENT_BEAT_FIREBREATHER_RAY
+ const EVENT_BEAT_FIREBREATHER_LYLE
+; Fisher
+ const EVENT_BEAT_FISHER_JUSTIN
+ const EVENT_BEAT_FISHER_RALPH
+ const EVENT_BEAT_FISHER_ARNOLD
+ const EVENT_BEAT_FISHER_KYLE
+ const EVENT_BEAT_FISHER_HENRY
+ const EVENT_BEAT_FISHER_MARVIN
+ const EVENT_BEAT_FISHER_TULLY
+ const EVENT_BEAT_FISHER_ANDRE
+ const EVENT_BEAT_FISHER_RAYMOND
+ const EVENT_BEAT_FISHER_WILTON
+ const EVENT_BEAT_FISHER_EDGAR
+ const EVENT_BEAT_FISHER_JONAH
+ const EVENT_BEAT_FISHER_MARTIN
+ const EVENT_BEAT_FISHER_STEPHEN
+ const EVENT_BEAT_FISHER_BARNEY
+ const EVENT_BEAT_FISHER_RALPH2
+ const EVENT_BEAT_FISHER_RALPH3
+ const EVENT_BEAT_FISHER_TULLY2
+ const EVENT_BEAT_FISHER_TULLY3
+ const EVENT_BEAT_FISHER_WILTON2
+ const EVENT_BEAT_FISHER_SCOTT
+ const EVENT_BEAT_FISHER_WILTON3
+; Twins
+ const EVENT_BEAT_TWINS_AMY_AND_MAY
+ const EVENT_BEAT_TWINS_ANN_AND_ANNE
+ const EVENT_BEAT_TWINS_ANN_AND_ANNE2
+ const EVENT_BEAT_TWINS_AMY_AND_MAY2
+ const EVENT_BEAT_TWINS_JO_AND_ZOE
+ const EVENT_BEAT_TWINS_JO_AND_ZOE2
+ const EVENT_BEAT_TWINS_MEG_AND_PEG
+ const EVENT_BEAT_TWINS_MEG_AND_PEG2
+; Schoolboy
+ const EVENT_BEAT_SCHOOLBOY_JACK
+ const EVENT_BEAT_SCHOOLBOY_KIP
+ const EVENT_BEAT_SCHOOLBOY_ALAN
+ const EVENT_BEAT_SCHOOLBOY_JOHNNY
+ const EVENT_BEAT_SCHOOLBOY_DANNY
+ const EVENT_BEAT_SCHOOLBOY_TOMMY
+ const EVENT_BEAT_SCHOOLBOY_DUDLEY
+ const EVENT_BEAT_SCHOOLBOY_JOE
+ const EVENT_BEAT_SCHOOLBOY_BILLY
+ const EVENT_BEAT_SCHOOLBOY_CHAD
+ const EVENT_BEAT_SCHOOLBOY_NATE
+ const EVENT_BEAT_SCHOOLBOY_RICKY
+ const EVENT_BEAT_SCHOOLBOY_JACK2
+ const EVENT_BEAT_SCHOOLBOY_JACK3
+ const EVENT_BEAT_SCHOOLBOY_ALAN2
+ const EVENT_BEAT_SCHOOLBOY_ALAN3
+ const EVENT_BEAT_SCHOOLBOY_CHAD2
+ const EVENT_BEAT_SCHOOLBOY_CHAD3
+; Picnicker
+ const EVENT_BEAT_PICNICKER_LIZ
+ const EVENT_BEAT_PICNICKER_GINA
+ const EVENT_BEAT_PICNICKER_BROOKE
+ const EVENT_BEAT_PICNICKER_KIM
+ const EVENT_BEAT_PICNICKER_CINDY
+ const EVENT_BEAT_PICNICKER_HOPE
+ const EVENT_BEAT_PICNICKER_SHARON
+ const EVENT_BEAT_PICNICKER_DEBRA
+ const EVENT_BEAT_PICNICKER_GINA2
+ const EVENT_BEAT_PICNICKER_ERIN
+ const EVENT_BEAT_PICNICKER_LIZ2
+ const EVENT_BEAT_PICNICKER_LIZ3
+ const EVENT_BEAT_PICNICKER_HEIDI
+ const EVENT_BEAT_PICNICKER_EDNA
+ const EVENT_BEAT_PICNICKER_GINA3
+ const EVENT_BEAT_PICNICKER_TIFFANY2
+ const EVENT_BEAT_PICNICKER_TIFFANY3
+ const EVENT_BEAT_PICNICKER_ERIN2
+ const EVENT_BEAT_PICNICKER_TANYA
+ const EVENT_BEAT_PICNICKER_TIFFANY
+ const EVENT_BEAT_PICNICKER_ERIN3
+; Guitarist
+ const EVENT_BEAT_GUITARIST_CLYDE
+ const EVENT_BEAT_GUITARIST_VINCENT
+; Juggler
+ const EVENT_BEAT_JUGGLER_IRWIN
+ const EVENT_BEAT_JUGGLER_FRITZ
+ const EVENT_BEAT_JUGGLER_HORTON
+ const EVENT_BEAT_JUGGLER_IRWIN2
+ const EVENT_BEAT_JUGGLER_IRWIN3
+; Gentleman
+ const EVENT_BEAT_GENTLEMAN_PRESTON
+ const EVENT_BEAT_GENTLEMAN_EDWARD
+ const EVENT_BEAT_GENTLEMAN_GREGORY
+ const EVENT_BEAT_GENTLEMAN_VIRGIL
+ const EVENT_BEAT_GENTLEMAN_ALFRED
+; Scientist
+ const EVENT_BEAT_SCIENTIST_ROSS
+ const EVENT_BEAT_SCIENTIST_MITCH
+ const EVENT_BEAT_SCIENTIST_JED
+ const EVENT_BEAT_SCIENTIST_MARC
+ const EVENT_BEAT_SCIENTIST_RICH
+; Blackbelt
+ const EVENT_BEAT_BLACKBELT_KENJI2
+ const EVENT_BEAT_BLACKBELT_YOSHI
+ const EVENT_BEAT_BLACKBELT_KENJI3
+ const EVENT_BEAT_BLACKBELT_LAO
+ const EVENT_BEAT_BLACKBELT_NOB
+ const EVENT_BEAT_BLACKBELT_KIYO
+ const EVENT_BEAT_BLACKBELT_LUNG
+ const EVENT_BEAT_BLACKBELT_KENJI
+ const EVENT_BEAT_BLACKBELT_WAI
+; Beauti
+ const EVENT_BEAT_BEAUTY_VICTORIA
+ const EVENT_BEAT_BEAUTY_SAMANTHA
+ const EVENT_BEAT_BEAUTY_JULIE
+ const EVENT_BEAT_BEAUTY_JACLYN
+ const EVENT_BEAT_BEAUTY_BRENDA
+ const EVENT_BEAT_BEAUTY_CASSIE
+ const EVENT_BEAT_BEAUTY_CAROLINE
+ const EVENT_BEAT_BEAUTY_CARLENE
+ const EVENT_BEAT_BEAUTY_JESSICA
+ const EVENT_BEAT_BEAUTY_RACHAEL
+ const EVENT_BEAT_BEAUTY_ANGELICA
+ const EVENT_BEAT_BEAUTY_KENDRA
+ const EVENT_BEAT_BEAUTY_VERONICA
+ const EVENT_BEAT_BEAUTY_JULIA
+ const EVENT_BEAT_BEAUTY_THERESA
+ const EVENT_BEAT_BEAUTY_VALERIE
+; Johto Gym Leaders
+ const EVENT_BEAT_FALKNER
+ const EVENT_BEAT_BUGSY
+ const EVENT_BEAT_WHITNEY
+ const EVENT_BEAT_MORTY
+ const EVENT_BEAT_JASMINE
+ const EVENT_BEAT_CHUCK
+ const EVENT_BEAT_PRYCE
+ const EVENT_BEAT_CLAIR
+; Kanto Gym Leaders
+ const EVENT_BEAT_BROCK
+ const EVENT_BEAT_MISTY
+ const EVENT_BEAT_LTSURGE
+ const EVENT_BEAT_ERIKA
+ const EVENT_BEAT_JANINE
+ const EVENT_BEAT_SABRINA
+ const EVENT_BEAT_BLAINE
+ const EVENT_BEAT_BLUE
+; PokefanM
+ const EVENT_BEAT_POKEFANM_WILLIAM
+ const EVENT_BEAT_POKEFANM_DEREK
+ const EVENT_BEAT_POKEFANM_ROBERT
+ const EVENT_BEAT_POKEFANM_JOSHUA
+ const EVENT_BEAT_POKEFANM_CARTER
+ const EVENT_BEAT_POKEFANM_TREVOR
+ const EVENT_BEAT_POKEFANM_BRANDON
+ const EVENT_BEAT_POKEFANM_JEREMY
+ const EVENT_BEAT_POKEFANM_COLIN
+ const EVENT_BEAT_POKEFANM_DEREK2
+ const EVENT_BEAT_POKEFANM_DEREK3
+ const EVENT_BEAT_POKEFANM_ALEX
+; PokefanF
+ const EVENT_BEAT_POKEFANF_BEVERLY
+ const EVENT_BEAT_POKEFANF_RUTH
+ const EVENT_BEAT_POKEFANF_BEVERLY2
+ const EVENT_BEAT_POKEFANF_BEVERLY3
+ const EVENT_BEAT_POKEFANF_GEORGIA
+; Unknown
+ const EVENT_4DE
+; Kimono Girl
+ const EVENT_BEAT_KIMONO_GIRL_NAOKO
+ const EVENT_BEAT_KIMONO_GIRL_SAYO
+ const EVENT_BEAT_KIMONO_GIRL_ZUKI
+ const EVENT_BEAT_KIMONO_GIRL_KUNI
+ const EVENT_BEAT_KIMONO_GIRL_MIKI
+; Pokemaniac
+ const EVENT_BEAT_POKEMANIAC_LARRY
+ const EVENT_BEAT_POKEMANIAC_ANDREW
+ const EVENT_BEAT_POKEMANIAC_CALVIN
+ const EVENT_BEAT_POKEMANIAC_SHANE
+ const EVENT_BEAT_POKEMANIAC_BEN
+ const EVENT_BEAT_POKEMANIAC_BRENT
+ const EVENT_BEAT_POKEMANIAC_RON
+ const EVENT_BEAT_POKEMANIAC_ETHAN
+ const EVENT_BEAT_POKEMANIAC_BRENT2
+ const EVENT_BEAT_POKEMANIAC_BRENT3
+ const EVENT_BEAT_POKEMANIAC_ISSAC
+ const EVENT_BEAT_POKEMANIAC_DONALD
+ const EVENT_BEAT_POKEMANIAC_ZACH
+; GruntM
+ const EVENT_BEAT_ROCKET_GRUNTM_1
+ const EVENT_BEAT_ROCKET_GRUNTM_2
+ const EVENT_BEAT_ROCKET_GRUNTM_3
+ const EVENT_BEAT_ROCKET_GRUNTM_4
+ const EVENT_BEAT_ROCKET_GRUNTM_5
+ const EVENT_BEAT_ROCKET_GRUNTM_6
+ const EVENT_BEAT_ROCKET_GRUNTM_7
+ const EVENT_BEAT_ROCKET_GRUNTM_8
+ const EVENT_BEAT_ROCKET_GRUNTM_9
+ const EVENT_BEAT_ROCKET_GRUNTM_10
+ const EVENT_BEAT_ROCKET_GRUNTM_11
+ const EVENT_BEAT_ROCKET_GRUNTM_12
+ const EVENT_BEAT_ROCKET_GRUNTM_13
+ const EVENT_BEAT_ROCKET_GRUNTM_14
+ const EVENT_BEAT_ROCKET_GRUNTM_15
+ const EVENT_BEAT_ROCKET_GRUNTM_16
+ const EVENT_BEAT_ROCKET_GRUNTM_17
+ const EVENT_BEAT_ROCKET_GRUNTM_18
+ const EVENT_BEAT_ROCKET_GRUNTM_19
+ const EVENT_BEAT_ROCKET_GRUNTM_20
+ const EVENT_BEAT_ROCKET_GRUNTM_21
+ const EVENT_BEAT_ROCKET_GRUNTM_22
+ const EVENT_BEAT_ROCKET_GRUNTM_23
+ const EVENT_BEAT_ROCKET_GRUNTM_24
+ const EVENT_BEAT_ROCKET_GRUNTM_25
+ const EVENT_BEAT_ROCKET_GRUNTM_26
+ const EVENT_BEAT_ROCKET_GRUNTM_27
+ const EVENT_BEAT_ROCKET_GRUNTM_28
+ const EVENT_BEAT_ROCKET_GRUNTM_29
+ const EVENT_BEAT_ROCKET_GRUNTM_30
+ const EVENT_BEAT_ROCKET_GRUNTM_31
+; GruntF
+ const EVENT_BEAT_ROCKET_GRUNTF_1
+ const EVENT_BEAT_ROCKET_GRUNTF_2
+ const EVENT_BEAT_ROCKET_GRUNTF_3
+ const EVENT_BEAT_ROCKET_GRUNTF_4
+ const EVENT_BEAT_ROCKET_GRUNTF_5
+; Lass
+ const EVENT_BEAT_LASS_CARRIE
+ const EVENT_BEAT_LASS_BRIDGET
+ const EVENT_BEAT_LASS_ALICE
+ const EVENT_BEAT_LASS_KRISE
+ const EVENT_BEAT_LASS_CONNIE
+ const EVENT_BEAT_LASS_LINDA
+ const EVENT_BEAT_LASS_LAURA
+ const EVENT_BEAT_LASS_SHANNON
+ const EVENT_BEAT_LASS_MICHELLE
+ const EVENT_BEAT_LASS_DANA
+ const EVENT_BEAT_LASS_ELLEN
+ const EVENT_BEAT_LASS_CONNIE2
+ const EVENT_BEAT_LASS_CONNIE3
+ const EVENT_BEAT_LASS_DANA2
+ const EVENT_BEAT_LASS_DANA3
+; Hiker
+ const EVENT_BEAT_HIKER_ANTHONY2
+ const EVENT_BEAT_HIKER_RUSSELL
+ const EVENT_BEAT_HIKER_PHILLIP
+ const EVENT_BEAT_HIKER_LEONARD
+ const EVENT_BEAT_HIKER_ANTHONY
+ const EVENT_BEAT_HIKER_BENJAMIN
+ const EVENT_BEAT_HIKER_ERIK
+ const EVENT_BEAT_HIKER_MICHAEL
+ const EVENT_BEAT_HIKER_PARRY
+ const EVENT_BEAT_HIKER_TIMOTHY
+ const EVENT_BEAT_HIKER_BAILEY
+ const EVENT_BEAT_HIKER_ANTHONY3
+ const EVENT_BEAT_HIKER_TIM
+ const EVENT_BEAT_HIKER_NOLAND
+ const EVENT_BEAT_HIKER_SIDNEY
+ const EVENT_BEAT_HIKER_KENNY
+ const EVENT_BEAT_HIKER_JIM
+ const EVENT_BEAT_HIKER_DANIEL
+ const EVENT_BEAT_HIKER_PARRY2
+ const EVENT_BEAT_HIKER_PARRY3
+; Bug Catcher
+ const EVENT_BEAT_BUG_CATCHER_DON
+ const EVENT_BEAT_BUG_CATCHER_ROB
+ const EVENT_BEAT_BUG_CATCHER_ED
+ const EVENT_BEAT_BUG_CATCHER_WADE
+ const EVENT_BEAT_BUG_CATCHER_BENNY
+ const EVENT_BEAT_BUG_CATCHER_AL
+ const EVENT_BEAT_BUG_CATCHER_JOSH
+ const EVENT_BEAT_BUG_CATCHER_ARNIE
+ const EVENT_BEAT_BUG_CATCHER_KEN
+ const EVENT_BEAT_BUG_CATCHER_WADE2
+ const EVENT_BEAT_BUG_CATCHER_WADE3
+ const EVENT_BEAT_BUG_CATCHER_DOUG
+ const EVENT_BEAT_BUG_CATCHER_ARNIE2
+ const EVENT_BEAT_BUG_CATCHER_ARNIE3
+; Officer
+ const EVENT_BEAT_OFFICER_KEITH
+ const EVENT_BEAT_OFFICER_DIRK
+; CooltrainerM
+ const EVENT_BEAT_COOLTRAINERM_NICK
+ const EVENT_BEAT_COOLTRAINERM_AARON
+ const EVENT_BEAT_COOLTRAINERM_PAUL
+ const EVENT_BEAT_COOLTRAINERM_CODY
+ const EVENT_BEAT_COOLTRAINERM_MIKE
+ const EVENT_BEAT_COOLTRAINERM_GAVEN2
+ const EVENT_BEAT_COOLTRAINERM_GAVEN3
+ const EVENT_BEAT_COOLTRAINERM_RYAN
+ const EVENT_BEAT_COOLTRAINERM_JAKE
+ const EVENT_BEAT_COOLTRAINERM_GAVEN
+ const EVENT_BEAT_COOLTRAINERM_BLAKE
+ const EVENT_BEAT_COOLTRAINERM_BRIAN
+ const EVENT_BEAT_COOLTRAINERM_ERICK
+ const EVENT_BEAT_COOLTRAINERM_ANDY
+ const EVENT_BEAT_COOLTRAINERM_TYLER
+ const EVENT_BEAT_COOLTRAINERM_SEAN
+ const EVENT_BEAT_COOLTRAINERM_KEVIN
+ const EVENT_BEAT_COOLTRAINERM_STEVE
+ const EVENT_BEAT_COOLTRAINERM_ALLEN
+; CooltrainerF
+ const EVENT_BEAT_COOLTRAINERF_GWEN
+ const EVENT_BEAT_COOLTRAINERF_LOIS
+ const EVENT_BEAT_COOLTRAINERF_FRAN
+ const EVENT_BEAT_COOLTRAINERF_LOLA
+ const EVENT_BEAT_COOLTRAINERF_KATE
+ const EVENT_BEAT_COOLTRAINERF_IRENE
+ const EVENT_BEAT_COOLTRAINERF_KELLY
+ const EVENT_BEAT_COOLTRAINERF_JOYCE
+ const EVENT_BEAT_COOLTRAINERF_BETH
+ const EVENT_BEAT_COOLTRAINERF_REENA
+ const EVENT_BEAT_COOLTRAINERF_MEGAN
+ const EVENT_BEAT_COOLTRAINERF_BETH2
+ const EVENT_BEAT_COOLTRAINERF_CAROL
+ const EVENT_BEAT_COOLTRAINERF_QUINN
+ const EVENT_BEAT_COOLTRAINERF_EMMA
+ const EVENT_BEAT_COOLTRAINERF_CYBIL
+ const EVENT_BEAT_COOLTRAINERF_JENN
+ const EVENT_BEAT_COOLTRAINERF_BETH3
+ const EVENT_BEAT_COOLTRAINERF_REENA2
+ const EVENT_BEAT_COOLTRAINERF_REENA3
+; ExecutiveF
+ const EVENT_BEAT_ROCKET_EXECUTIVEF_1
+ const EVENT_BEAT_ROCKET_EXECUTIVEF_2
+; ExecutiveM
+ const EVENT_BEAT_ROCKET_EXECUTIVEM_1
+ const EVENT_BEAT_ROCKET_EXECUTIVEM_2
+ const EVENT_BEAT_ROCKET_EXECUTIVEM_3
+ const EVENT_BEAT_ROCKET_EXECUTIVEM_4
+; Sailor
+ const EVENT_BEAT_SAILOR_EUGENE
+ const EVENT_BEAT_SAILOR_HUEY
+ const EVENT_BEAT_SAILOR_TERRELL
+ const EVENT_BEAT_SAILOR_KENT
+ const EVENT_BEAT_SAILOR_ERNEST
+ const EVENT_BEAT_SAILOR_JEFF
+ const EVENT_BEAT_SAILOR_GARRETT
+ const EVENT_BEAT_SAILOR_KENNETH
+ const EVENT_BEAT_SAILOR_STANLY
+ const EVENT_BEAT_SAILOR_HARRY
+ const EVENT_BEAT_SAILOR_HUEY2
+ const EVENT_BEAT_SAILOR_HUEY3
+; Super Nerd
+ const EVENT_BEAT_SUPER_NERD_STAN
+ const EVENT_BEAT_SUPER_NERD_ERIC
+ const EVENT_BEAT_SUPER_NERD_GREGG
+ const EVENT_BEAT_SUPER_NERD_JAY
+ const EVENT_BEAY_SUPER_NERD_DAVE
+ const EVENT_BEAT_SUPER_NERD_SAM
+ const EVENT_BEAT_SUPER_NERD_TOM
+ const EVENT_BEAT_SUPER_NERD_PAT
+ const EVENT_BEAT_SUPER_NERD_SHAWN
+ const EVENT_BEAT_SUPER_NERD_TERU
+; Medium
+ const EVENT_BEAT_MEDIUM_MARTHA
+ const EVENT_BEAT_MEDIUM_GRACE
+ const EVENT_BEAT_MEDIUM_BETHANY
+ const EVENT_BEAT_MEDIUM_MARGRET
+ const EVENT_BEAT_MEDIUM_ETHEL
+ const EVENT_BEAT_MEDIUM_REBECCA
+ const EVENT_BEAT_MEDIUM_DORIS
+; Skier
+ const EVENT_BEAT_SKIER_ROXANNE
+ const EVENT_BEAT_SKIER_CLARISSA
+; SwimmerM
+ const EVENT_BEAT_SWIMMERM_HAROLD
+ const EVENT_BEAT_SWIMMERM_SIMON
+ const EVENT_BEAT_SWIMMERM_RANDALL
+ const EVENT_BEAT_SWIMMERM_CHARLIE
+ const EVENT_BEAT_SWIMMERM_GEORGE
+ const EVENT_BEAT_SWIMMERM_BERKE
+ const EVENT_BEAT_SWIMMERM_KIRK
+ const EVENT_BEAT_SWIMMERM_MATHEW
+ const EVENT_BEAT_SWIMMERM_HAL
+ const EVENT_BEAT_SWIMMERM_PATON
+ const EVENT_BEAT_SWIMMERM_DARYL
+ const EVENT_BEAT_SWIMMERM_WALTER
+ const EVENT_BEAT_SWIMMERM_TONY
+ const EVENT_BEAT_SWIMMERM_JEROME
+ const EVENT_BEAT_SWIMMERM_TUCKER
+ const EVENT_BEAT_SWIMMERM_RICK
+ const EVENT_BEAT_SWIMMERM_CAMERON
+ const EVENT_BEAT_SWIMMERM_SETH
+ const EVENT_BEAT_SWIMMERM_JAMES
+ const EVENT_BEAT_SWIMMERM_LEWIS
+ const EVENT_BEAT_SWIMMERM_PARKER
+; Youngster
+ const EVENT_BEAT_YOUNGSTER_JOEY
+ const EVENT_BEAT_YOUNGSTER_MIKEY
+ const EVENT_BEAT_YOUNGSTER_ALBERT
+ const EVENT_BEAT_YOUNGSTER_GORDON
+ const EVENT_BEAT_YOUNGSTER_SAMUEL
+ const EVENT_BEAT_YOUNGSTER_IAN
+ const EVENT_BEAT_YOUNGSTER_JOEY2
+ const EVENT_BEAT_YOUNGSTER_JOEY3
+ const EVENT_BEAT_YOUNGSTER_WARREN
+ const EVENT_BEAT_YOUNGSTER_JIMMY
+ const EVENT_BEAT_YOUNGSTER_OWEN
+ const EVENT_BEAT_YOUNGSTER_JASON
+; Teacher
+ const EVENT_BEAT_TEACHER_COLETTE
+ const EVENT_BEAT_TEACHER_HILLARY
+ const EVENT_BEAT_TEACHER_SHIRLEY
+; Elite Four and Champion
+ const EVENT_BEAT_ELITE_4_WILL
+ const EVENT_BEAT_ELITE_4_KOGA
+ const EVENT_BEAT_ELITE_4_BRUNO
+ const EVENT_BEAT_ELITE_4_KAREN
+ const EVENT_BEAT_CHAMPION_LANCE
+; New to Crystal
+ const EVENT_BEAT_COOLTRAINERM_DARIN
+ const EVENT_BEAT_COOLTRAINERF_CARA
+ const EVENT_BEAT_TWINS_LEA_AND_PIA
+ const EVENT_BEAT_BUG_CATCHER_WAYNE
+ const EVENT_BEAT_BEAUTY_OLIVIA
+ const EVENT_BEAT_POKEFANF_JAIME
+ const EVENT_BEAT_CAMPER_QUENTIN
+ const EVENT_BEAT_POKEMANIAC_MILLER
+ const EVENT_BEAT_SUPER_NERD_HUGH
+ const EVENT_BEAT_SUPER_NERD_MARKUS
+ const EVENT_BEAT_POKEFANM_REX
+ const EVENT_BEAT_POKEFANM_ALLAN
+ const EVENT_BEAT_SAGE_GAKU
+ const EVENT_BEAT_SAGE_MASA
+ const EVENT_BEAT_SAGE_KOJI
+; ???
+ const EVENT_5CC
+ const EVENT_5CD
+ const EVENT_5CE
+ const EVENT_5CF
+ const EVENT_5D0
+ const EVENT_5D1
+ const EVENT_5D2
+ const EVENT_5D3
+ const EVENT_5D4
+ const EVENT_5D5
+ const EVENT_5D6
+ const EVENT_5D7
+ const EVENT_5D8
+ const EVENT_5D9
+ const EVENT_5DA
+ const EVENT_5DB
+ const EVENT_5DC
+ const EVENT_5DD
+ const EVENT_5DE
+ const EVENT_5DF
+ const EVENT_5E0
+ const EVENT_5E1
+ const EVENT_5E2
+ const EVENT_5E3
+ const EVENT_5E4
+ const EVENT_5E5
+ const EVENT_5E6
+ const EVENT_5E7
+ const EVENT_5E8
+ const EVENT_5E9
+ const EVENT_5EA
+ const EVENT_5EB
+ const EVENT_5EC
+ const EVENT_5ED
+ const EVENT_5EE
+ const EVENT_5EF
+ const EVENT_5F0
+ const EVENT_5F1
+ const EVENT_5F2
+ const EVENT_5F3
+ const EVENT_5F4
+ const EVENT_5F5
+ const EVENT_5F6
+ const EVENT_5F7
+ const EVENT_5F8
+ const EVENT_5F9
+ const EVENT_5FA
+ const EVENT_5FB
+ const EVENT_5FC
+ const EVENT_5FD
+ const EVENT_5FE
+ const EVENT_5FF
+ const EVENT_600
+ const EVENT_601
+ const EVENT_602
+ const EVENT_603
+ const EVENT_604
+ const EVENT_605
+ const EVENT_606
+ const EVENT_607
+ const EVENT_608
+ const EVENT_609
+ const EVENT_60A
+ const EVENT_60B
+ const EVENT_60C
+ const EVENT_60D
+ const EVENT_60E
+ const EVENT_60F
+ const EVENT_610
+ const EVENT_611
+ const EVENT_612
+ const EVENT_613
+ const EVENT_614
+ const EVENT_615
+ const EVENT_616
+ const EVENT_617
+ const EVENT_618
+ const EVENT_619
+ const EVENT_61A
+ const EVENT_61B
+ const EVENT_61C
+ const EVENT_61D
+ const EVENT_61E
+ const EVENT_61F
+ const EVENT_620
+ const EVENT_621
+ const EVENT_622
+ const EVENT_623
+ const EVENT_624
+ const EVENT_625
+ const EVENT_626
+ const EVENT_627
+ const EVENT_628
+ const EVENT_629
+ const EVENT_62A
+ const EVENT_62B
+ const EVENT_62C
+ const EVENT_62D
+ const EVENT_62E
+ const EVENT_62F
+ const EVENT_630
+ const EVENT_631
+ const EVENT_632
+ const EVENT_633
+ const EVENT_634
+ const EVENT_635
+ const EVENT_636
+ const EVENT_637
+ const EVENT_638
+ const EVENT_639
+ const EVENT_63A
+ const EVENT_63B
+ const EVENT_63C
+ const EVENT_63D
+ const EVENT_63E
+ const EVENT_63F
+; Sprite visibility: When these events are cleared, the sprite becomes visible; when set, the sprite is hidden.
+; The map script command macros `disappear` and `appear` set/clear these flags and immediately apply the effect on visibility.
+; The map script command macros `setevent` and `clearevent` set/clear these flags, and their effects will be seen when the map is reloaded.
+; Johto items: 0x640
+ const EVENT_CYNDAQUIL_POKEBALL_IN_ELMS_LAB
+ const EVENT_TOTODILE_POKEBALL_IN_ELMS_LAB
+ const EVENT_CHIKORITA_POKEBALL_IN_ELMS_LAB
+ const EVENT_VIOLET_CITY_PP_UP
+ const EVENT_VIOLET_CITY_RARE_CANDY
+ const EVENT_LAKE_OF_RAGE_ELIXER
+ const EVENT_LAKE_OF_RAGE_TM_DETECT
+ const EVENT_SPROUT_TOWER1F_PARLYZ_HEAL
+ const EVENT_SPROUT_TOWER2F_X_ACCURACY
+ const EVENT_SPROUT_TOWER_3F_POTION
+ const EVENT_SPROUT_TOWER_3F_ESCAPE_ROPE
+ const EVENT_TIN_TOWER_3F_FULL_HEAL
+ const EVENT_TIN_TOWER_4F_ULTRA_BALL
+ const EVENT_TIN_TOWER_4F_PP_UP
+ const EVENT_TIN_TOWER_4F_ESCAPE_ROPE
+ const EVENT_TIN_TOWER_5F_RARE_CANDY
+ const EVENT_TIN_TOWER_7F_MAX_REVIVE
+ const EVENT_TIN_TOWER_8F_NUGGET
+ const EVENT_TIN_TOWER_8F_MAX_ELIXER
+ const EVENT_TIN_TOWER_8F_FULL_RESTORE
+ const EVENT_TEAM_ROCKET_BASE_B3F_ULTRA_BALL
+ const EVENT_UNDERGROUND_WAREHOUSE_ULTRA_BALL
+ const EVENT_BURNED_TOWER_1F_HP_UP
+ const EVENT_BURNED_TOWER_B1F_TM_ENDURE
+ const EVENT_NATIONAL_PARK_PARLYZ_HEAL
+ const EVENT_NATIONAL_PARK_TM_DIG
+ const EVENT_UNION_CAVE_1F_GREAT_BALL
+ const EVENT_UNION_CAVE_1F_X_ATTACK
+ const EVENT_UNION_CAVE_1F_POTION
+ const EVENT_UNION_CAVE_1F_AWAKENING
+ const EVENT_UNION_CAVE_B1F_TM_SWIFT
+ const EVENT_UNION_CAVE_B1F_X_DEFEND
+ const EVENT_UNION_CAVE_B2F_ELIXER
+ const EVENT_UNION_CAVE_B2F_HYPER_POTION
+ const EVENT_SLOWPOKE_WELL_B1F_SUPER_POTION
+ const EVENT_SLOWPOKE_WELL_B2F_TM_RAIN_DANCE
+ const EVENT_OLIVINE_LIGHTHOUSE_3F_ETHER
+ const EVENT_OLIVINE_LIGHTHOUSE_5F_RARE_CANDY
+ const EVENT_OLIVINE_LIGHTHOUSE_5F_SUPER_REPEL
+ const EVENT_OLIVINE_LIGHTHOUSE_5F_TM_SWAGGER
+ const EVENT_OLIVINE_LIGHTHOUSE_6F_SUPER_POTION
+ const EVENT_TEAM_ROCKET_BASE_B1F_HYPER_POTION
+ const EVENT_TEAM_ROCKET_BASE_B1F_NUGGET
+ const EVENT_TEAM_ROCKET_BASE_B1F_GUARD_SPEC
+ const EVENT_TEAM_ROCKET_BASE_B2F_TM_THIEF
+ const EVENT_TEAM_ROCKET_BASE_B3F_PROTEIN
+ const EVENT_TEAM_ROCKET_BASE_B3F_X_SPECIAL
+ const EVENT_TEAM_ROCKET_BASE_B3F_FULL_HEAL
+ const EVENT_TEAM_ROCKET_BASE_B3F_ICE_HEAL
+ const EVENT_ILEX_FOREST_REVIVE
+ const EVENT_WAREHOUSE_ENTRANCE_COIN_CASE
+ const EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_SMOKE_BALL
+ const EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_FULL_HEAL
+ const EVENT_GOLDENROD_DEPT_STORE_B1F_ETHER
+ const EVENT_GOLDENROD_DEPT_STORE_B1F_AMULET_COIN
+ const EVENT_GOLDENROD_DEPT_STORE_B1F_BURN_HEAL
+ const EVENT_GOLDENROD_DEPT_STORE_B1F_ULTRA_BALL
+ const EVENT_UNDERGROUND_WAREHOUSE_MAX_ETHER
+ const EVENT_UNDERGROUND_WAREHOUSE_TM_SLEEP_TALK
+ const EVENT_MOUNT_MORTAR_1F_OUTSIDE_ETHER
+ const EVENT_MOUNT_MORTAR_1F_OUTSIDE_REVIVE
+ const EVENT_MOUNT_MORTAR_1F_INSIDE_ESCAPE_ROPE
+ const EVENT_MOUNT_MORTAR_1F_INSIDE_MAX_REVIVE
+ const EVENT_MOUNT_MORTAR_1F_INSIDE_HYPER_POTION
+ const EVENT_MOUNT_MORTAR_2F_INSIDE_MAX_POTION
+ const EVENT_MOUNT_MORTAR_2F_INSIDE_RARE_CANDY
+ const EVENT_MOUNT_MORTAR_2F_INSIDE_TM_DEFENSE_CURL
+ const EVENT_MOUNT_MORTAR_2F_INSIDE_DRAGON_SCALE
+ const EVENT_MOUNT_MORTAR_2F_INSIDE_ELIXER
+ const EVENT_MOUNT_MORTAR_2F_INSIDE_ESCAPE_ROPE
+ const EVENT_MOUNT_MORTAR_B1F_HYPER_POTION
+ const EVENT_MOUNT_MORTAR_B1F_CARBOS
+ const EVENT_GOT_HM07_WATERFALL
+ const EVENT_ICE_PATH_1F_PP_UP
+ const EVENT_ICE_PATH_B1F_IRON
+ const EVENT_ICE_PATH_B2F_MAHOGANY_SIDE_FULL_HEAL
+ const EVENT_ICE_PATH_B2F_MAHOGANY_SIDE_MAX_POTION
+ const EVENT_ICE_PATH_B2F_BLACKTHORN_SIDE_TM_REST
+ const EVENT_ICE_PATH_B3F_NEVERMELTICE
+ const EVENT_WHIRL_ISLAND_NE_ULTRA_BALL
+ const EVENT_WHIRL_ISLAND_SW_ULTRA_BALL
+ const EVENT_WHIRL_ISLAND_B1F_FULL_RESTORE
+ const EVENT_WHIRL_ISLAND_B1F_CARBOS
+ const EVENT_WHIRL_ISLAND_B1F_CALCIUM
+ const EVENT_WHIRL_ISLAND_B1F_NUGGET
+ const EVENT_WHIRL_ISLAND_B1F_ESCAPE_ROPE
+ const EVENT_WHIRL_ISLAND_B2F_FULL_RESTORE
+ const EVENT_WHIRL_ISLAND_B2F_MAX_REVIVE
+ const EVENT_WHIRL_ISLAND_B2F_MAX_ELIXER
+ const EVENT_SILVER_CAVE_ROOM_1_MAX_ELIXER
+ const EVENT_SILVER_CAVE_ROOM_1_PROTEIN
+ const EVENT_SILVER_CAVE_ROOM_1_ESCAPE_ROPE
+ const EVENT_SILVER_CAVE_ITEM_ROOMS_MAX_REVIVE
+ const EVENT_SILVER_CAVE_ITEM_ROOMS_FULL_RESTORE
+ const EVENT_DARK_CAVE_VIOLET_ENTRANCE_POTION
+ const EVENT_DARK_CAVE_VIOLET_ENTRANCE_FULL_HEAL
+ const EVENT_DARK_CAVE_VIOLET_ENTRANCE_HYPER_POTION
+ const EVENT_DARK_CAVE_BLACKTHORN_ENTRANCE_REVIVE
+ const EVENT_DARK_CAVE_BLACKTHORN_ENTRANCE_TM_SNORE
+ const EVENT_VICTORY_ROAD_TM_EARTHQUAKE
+ const EVENT_VICTORY_ROAD_MAX_REVIVE
+ const EVENT_VICTORY_ROAD_FULL_RESTORE
+ const EVENT_VICTORY_ROAD_FULL_HEAL
+ const EVENT_VICTORY_ROAD_HP_UP
+ const EVENT_DRAGONS_DEN_B1F_DRAGON_FANG
+ const EVENT_TOHJO_FALLS_MOON_STONE
+ const EVENT_ROUTE_26_MAX_ELIXER
+ const EVENT_ROUTE_27_TM_SOLARBEAM
+ const EVENT_ROUTE_27_RARE_CANDY
+ const EVENT_ROUTE_29_POTION
+ const EVENT_ROUTE_31_POTION
+ const EVENT_ROUTE_31_POKE_BALL
+ const EVENT_ROUTE_32_GREAT_BALL
+ const EVENT_ROUTE_32_REPEL
+ const EVENT_ROUTE_35_TM_ROLLOUT
+ const EVENT_ROUTE_42_ULTRA_BALL
+ const EVENT_ROUTE_42_SUPER_POTION
+ const EVENT_ROUTE_43_MAX_ETHER
+ const EVENT_ROUTE_44_MAX_REVIVE
+ const EVENT_ROUTE_44_ULTRA_BALL
+ const EVENT_ROUTE_45_NUGGET
+ const EVENT_ROUTE_45_REVIVE
+ const EVENT_ROUTE_45_ELIXER
+ const EVENT_ROUTE_45_MAX_POTION
+ const EVENT_ROUTE_46_X_SPEED
+; Johto people
+ const EVENT_RIVAL_NEW_BARK_TOWN
+ const EVENT_RIVAL_CHERRYGROVE_CITY
+ const EVENT_RIVAL_AZALEA_TOWN
+ const EVENT_RIVAL_TEAM_ROCKET_BASE
+ const EVENT_RIVAL_UNDERGROUND_PATH
+ const EVENT_RIVAL_VICTORY_ROAD
+ const EVENT_RIVAL_OLIVINE_CITY
+ const EVENT_RIVAL_SPROUT_TOWER
+ const EVENT_RIVAL_BURNED_TOWER
+ const EVENT_RIVAL_DRAGONS_DEN
+ const EVENT_KRISS_HOUSE_MOM_1
+ const EVENT_KRISS_HOUSE_MOM_2
+ const EVENT_MR_POKEMONS_HOUSE_OAK
+ const EVENT_VIOLET_CITY_EARL
+ const EVENT_EARLS_ACADEMY_EARL
+ const EVENT_GOLDENROD_CITY_ROCKET_SCOUT
+ const EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER
+ const EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+ const EVENT_GOLDENROD_CITY_CIVILIANS
+ const EVENT_RADIO_TOWER_CIVILIANS_AFTER
+ const EVENT_RADIO_TOWER_BLACKBELT_BLOCKS_STAIRS
+ const EVENT_OLIVINE_LIGHTHOUSE_JASMINE
+ const EVENT_OLIVINE_GYM_JASMINE
+ const EVENT_LAKE_OF_RAGE_LANCE
+ const EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE
+ const EVENT_TEAM_ROCKET_BASE_B2F_LANCE
+ const EVENT_TEAM_ROCKET_BASE_B3F_LANCE_PASSWORDS
+ const EVENT_DRAGONS_DEN_CLAIR
+ const EVENT_TEAM_ROCKET_BASE_SECURITY_GRUNTS
+ const EVENT_TEAM_ROCKET_BASE_POPULATION
+ const EVENT_TEAM_ROCKET_BASE_B3F_EXECUTIVE
+ const EVENT_ROUTE_43_GATE_ROCKETS
+ const EVENT_TEAM_ROCKET_BASE_B2F_EXECUTIVE
+ const EVENT_TEAM_ROCKET_BASE_B2F_GRUNT_WITH_EXECUTIVE
+ const EVENT_TEAM_ROCKET_BASE_B2F_DRAGONITE
+ const EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
+ const EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
+ const EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_3
+ const EVENT_BLACKTHORN_CITY_SUPER_NERD_BLOCKS_GYM
+ const EVENT_BLACKTHORN_CITY_SUPER_NERD_DOES_NOT_BLOCK_GYM
+ const EVENT_DAYCARE_MAN_IN_DAYCARE
+ const EVENT_DAYCARE_MAN_ON_ROUTE_34
+ const EVENT_DAYCARE_MON_1
+ const EVENT_DAYCARE_MON_2
+ const EVENT_ILEX_FOREST_FARFETCHD
+ const EVENT_ROUTE_34_ILEX_FOREST_GATE_TEACHER_BEHIND_COUNTER
+ const EVENT_ROUTE_34_ILEX_FOREST_GATE_LASS
+ const EVENT_ROUTE_34_ILEX_FOREST_GATE_TEACHER_IN_WALKWAY
+ const EVENT_ILEX_FOREST_LASS
+ const EVENT_COPYCAT_1
+ const EVENT_COPYCAT_2
+ const EVENT_GOLDENROD_SALE_OFF
+ const EVENT_GOLDENROD_SALE_ON
+ const EVENT_6F2
+ const EVENT_ILEX_FOREST_APPRENTICE
+ const EVENT_ILEX_FOREST_CHARCOAL_MASTER
+ const EVENT_CHARCOAL_KILN_FARFETCH_D
+ const EVENT_CHARCOAL_KILN_APPRENTICE
+ const EVENT_CHARCOAL_KILN_BOSS
+ const EVENT_ROUTE_36_SUDOWOODO
+ const EVENT_AZALEA_TOWN_SLOWPOKES
+ const EVENT_AZALEA_TOWN_SLOWPOKETAIL_ROCKET
+ const EVENT_SLOWPOKE_WELL_SLOWPOKES
+ const EVENT_SLOWPOKE_WELL_ROCKETS
+ const EVENT_KURTS_HOUSE_SLOWPOKE
+ const EVENT_GUIDE_GENT_IN_HIS_HOUSE
+ const EVENT_GUIDE_GENT_VISIBLE_IN_CHERRYGROVE
+ const EVENT_ELMS_AIDE_IN_VIOLET_POKEMON_CENTER
+ const EVENT_ELMS_AIDE_IN_LAB
+ const EVENT_COP_IN_ELMS_LAB
+ const EVENT_RUINS_OF_ALPH_OUTSIDE_SCIENTIST
+ const EVENT_RUINS_OF_ALPH_RESEARCH_CENTER_SCIENTIST
+ const EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS
+ const EVENT_BOULDER_IN_BLACKTHORN_GYM_1
+ const EVENT_BOULDER_IN_BLACKTHORN_GYM_2
+ const EVENT_BOULDER_IN_BLACKTHORN_GYM_3
+ const EVENT_BOULDER_IN_ICE_PATH_1
+ const EVENT_BOULDER_IN_ICE_PATH_2
+ const EVENT_BOULDER_IN_ICE_PATH_3
+ const EVENT_BOULDER_IN_ICE_PATH_4
+ const EVENT_BOULDER_IN_ICE_PATH_1A
+ const EVENT_BOULDER_IN_ICE_PATH_2A
+ const EVENT_BOULDER_IN_ICE_PATH_3A
+ const EVENT_BOULDER_IN_ICE_PATH_4A
+ const EVENT_MYSTERY_GIFT_DELIVERY_GUY
+ const EVENT_MET_BILL
+ const EVENT_ECRUTEAK_POKE_CENTER_BILL
+ const EVENT_ROUTE_30_BATTLE
+ const EVENT_ROUTE_30_YOUNGSTER_JOEY
+ const EVENT_BUG_CATCHING_CONTESTANT_1A
+ const EVENT_BUG_CATCHING_CONTESTANT_2A
+ const EVENT_BUG_CATCHING_CONTESTANT_3A
+ const EVENT_BUG_CATCHING_CONTESTANT_4A
+ const EVENT_BUG_CATCHING_CONTESTANT_5A
+ const EVENT_BUG_CATCHING_CONTESTANT_6A
+ const EVENT_BUG_CATCHING_CONTESTANT_7A
+ const EVENT_BUG_CATCHING_CONTESTANT_8A
+ const EVENT_BUG_CATCHING_CONTESTANT_9A
+ const EVENT_BUG_CATCHING_CONTESTANT_10A
+ const EVENT_BUG_CATCHING_CONTESTANT_1B
+ const EVENT_BUG_CATCHING_CONTESTANT_2B
+ const EVENT_BUG_CATCHING_CONTESTANT_3B
+ const EVENT_BUG_CATCHING_CONTESTANT_4B
+ const EVENT_BUG_CATCHING_CONTESTANT_5B
+ const EVENT_BUG_CATCHING_CONTESTANT_6B
+ const EVENT_BUG_CATCHING_CONTESTANT_7B
+ const EVENT_BUG_CATCHING_CONTESTANT_8B
+ const EVENT_BUG_CATCHING_CONTESTANT_9B
+ const EVENT_BUG_CATCHING_CONTESTANT_10B
+ const EVENT_OLIVINE_PORT_SAILOR_AT_GANGWAY
+ const EVENT_VERMILION_PORT_SAILOR_AT_GANGWAY
+ const EVENT_FAST_SHIP_1F_GENTLEMAN
+ const EVENT_FAST_SHIP_CABINS_NNW_NNE_NE_SAILOR
+ const EVENT_FAST_SHIP_B1F_SAILOR_LEFT
+ const EVENT_FAST_SHIP_B1F_SAILOR_RIGHT
+ const EVENT_FAST_SHIP_CABINS_SE_SSE_GENTLEMAN
+ const EVENT_FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN_TWIN_1
+ const EVENT_FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN_TWIN_2
+ const EVENT_OLIVINE_PORT_PASSAGE_POKEFAN_M
+ const EVENT_ROUTE_35_NATIONAL_PARK_GATE_YOUNGSTER
+ const EVENT_LAKE_OF_RAGE_CIVILIANS
+ const EVENT_MAHOGANY_MART_OWNERS
+ const EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME
+ const EVENT_OLIVINE_PORT_SPRITES_AFTER_HALL_OF_FAME
+ const EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
+ const EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
+ const EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+ const EVENT_TIN_TOWER_ROOF_HO_OH
+ const EVENT_WHIRL_ISLAND_LUGIA_CHAMBER_LUGIA
+ const EVENT_KURTS_HOUSE_KURT_1
+ const EVENT_KURTS_HOUSE_KURT_2
+ const EVENT_SLOWPOKE_WELL_KURT ; 740
+ const EVENT_KRISS_HOUSE_2F_CONSOLE
+ const EVENT_KRISS_HOUSE_2F_DOLL_1
+ const EVENT_KRISS_HOUSE_2F_DOLL_2
+ const EVENT_KRISS_HOUSE_2F_BIG_DOLL
+ const EVENT_ROUTE_35_NATIONAL_PARK_GATE_OFFICER_CONTEST_DAY
+ const EVENT_ROUTE_35_NATIONAL_PARK_GATE_OFFICER_NOT_CONTEST_DAY
+ const EVENT_ROUTE_36_NATIONAL_PARK_GATE_OFFICER_CONTEST_DAY
+ const EVENT_ROUTE_36_NATIONAL_PARK_GATE_OFFICER_NOT_CONTEST_DAY
+ const EVENT_GOLDENROD_TRAIN_STATION_GENTLEMAN
+ const EVENT_BURNED_TOWER_B1F_BEASTS_1
+ const EVENT_BURNED_TOWER_B1F_BEASTS_2
+ const EVENT_BLACKTHORN_CITY_GRAMPS_BLOCKS_DRAGONS_DEN
+ const EVENT_BLACKTHORN_CITY_GRAMPS_NOT_BLOCKING_DRAGONS_DEN
+ const EVENT_RUINS_OF_ALPH_KABUTO_CHAMBER_RECEPTIONIST
+ const EVENT_OPENED_MT_SILVER
+ const EVENT_FOUGHT_SNORLAX ; 750
+ const EVENT_LAKE_OF_RAGE_RED_GYARADOS
+ const EVENT_WAREHOUSE_ENTRANCE_GRANNY
+ const EVENT_WAREHOUSE_ENTRANCE_GRAMPS
+ const EVENT_WAREHOUSE_ENTRANCE_OLDER_HAIRCUT_BROTHER
+ const EVENT_WAREHOUSE_ENTRANCE_YOUNGER_HAIRCUT_BROTHER
+ const EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_EAST
+ const EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_GYM
+ const EVENT_ROUTE_32_FRIEDA_OF_FRIDAY
+ const EVENT_ROUTE_29_TUSCANY_OF_TUESDAY
+ const EVENT_ROUTE_36_ARTHUR_OF_THURSDAY
+ const EVENT_ROUTE_37_SUNNY_OF_SUNDAY
+ const EVENT_LAKE_OF_RAGE_WESLEY_OF_WEDNESDAY
+ const EVENT_BLACKTHORN_CITY_SANTOS_OF_SATURDAY
+ const EVENT_ROUTE_40_MONICA_OF_MONDAY
+ const EVENT_LANCES_ROOM_OAK_AND_MARY
+ const EVENT_UNION_CAVE_B2F_LAPRAS ; 760
+ const EVENT_TEAM_ROCKET_DISBANDED
+ const EVENT_RED_IN_MT_SILVER
+ const EVENT_GOLDENROD_DEPT_STORE_5F_HAPPINESS_EVENT_LADY
+ const EVENT_BURNED_TOWER_MORTY
+ const EVENT_BURNED_TOWER_1F_EUSINE
+ const EVENT_RANG_CLEAR_BELL_1
+ const EVENT_RANG_CLEAR_BELL_2
+ const EVENT_FLORIA_AT_FLOWER_SHOP
+ const EVENT_FLORIA_AT_SUDOWOODO
+ const EVENT_GOLDENROD_CITY_MOVE_TUTOR
+ const EVENT_GOLDENROD_GAME_CORNER_MOVE_TUTOR
+; Kanto people
+ const EVENT_ROUTE_24_ROCKET
+ const EVENT_CERULEAN_GYM_ROCKET
+ const EVENT_ROUTE_25_MISTY_BOYFRIEND
+ const EVENT_TRAINERS_IN_CERULEAN_GYM
+ const EVENT_VERMILION_CITY_SNORLAX ; 770
+ const EVENT_ROUTE_5_6_POKEFAN_M_BLOCKS_UNDERGROUND_PATH
+ const EVENT_SAFFRON_TRAIN_STATION_POPULATION
+ const EVENT_COPYCATS_HOUSE_2F_DOLL
+ const EVENT_VERMILION_FAN_CLUB_DOLL
+ const EVENT_BLUE_IN_CINNABAR
+ const EVENT_VIRIDIAN_GYM_BLUE
+ const EVENT_SEAFOAM_GYM_GYM_GUY
+ const EVENT_MT_MOON_SQUARE_ROCK
+ const EVENT_MT_MOON_SQUARE_CLEFAIRY
+ const EVENT_MT_MOON_RIVAL
+ const EVENT_INDIGO_PLATEAU_POKECENTER_RIVAL
+ const EVENT_TELEPORT_GUY
+ const EVENT_PICKED_UP_FOCUS_BAND
+ const EVENT_ROCK_TUNNEL_1F_ELIXER
+ const EVENT_ROCK_TUNNEL_1F_TM_STEEL_WING
+ const EVENT_ROCK_TUNNEL_B1F_IRON ; 780
+ const EVENT_ROCK_TUNNEL_B1F_PP_UP
+ const EVENT_ROCK_TUNNEL_B1F_REVIVE
+ const EVENT_ROUTE_2_DIRE_HIT
+ const EVENT_ROUTE_2_MAX_POTION
+ const EVENT_ROUTE_2_CARBOS
+ const EVENT_ROUTE_2_ELIXER
+ const EVENT_ROUTE_4_HP_UP
+ const EVENT_ROUTE_12_CALCIUM
+ const EVENT_ROUTE_12_NUGGET
+ const EVENT_ROUTE_15_PP_UP
+ const EVENT_ROUTE_25_PROTEIN
+; New to Crystal
+ const EVENT_KURTS_HOUSE_GRANDDAUGHTER_1
+ const EVENT_KURTS_HOUSE_GRANDDAUGHTER_2
+ const EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_FISHER
+ const EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_YOUNGSTERS
+ const EVENT_DRAGON_SHRINE_CLAIR ; 790
+ const EVENT_BATTLE_TOWER_BATTLE_ROOM_YOUNGSTER
+ const EVENT_KRISS_HOUSE_1F_NEIGHBOR
+ const EVENT_KRISS_NEIGHBORS_HOUSE_NEIGHBOR
+ const EVENT_PICKED_UP_GOLD_BERRY_FROM_HO_OH_ITEM_ROOM
+ const EVENT_PICKED_UP_MYSTERYBERRY_FROM_HO_OH_ITEM_ROOM
+ const EVENT_PICKED_UP_REVIVAL_HERB_FROM_HO_OH_ITEM_ROOM
+ const EVENT_PICKED_UP_CHARCOAL_FROM_HO_OH_ITEM_ROOM
+ const EVENT_PICKED_UP_BERRY_FROM_KABUTO_ITEM_ROOM
+ const EVENT_PICKED_UP_PSNCUREBERRY_FROM_KABUTO_ITEM_ROOM
+ const EVENT_PICKED_UP_HEAL_POWDER_FROM_KABUTO_ITEM_ROOM
+ const EVENT_PICKED_UP_ENERGYPOWDER_FROM_KABUTO_ITEM_ROOM
+ const EVENT_PICKED_UP_MYSTERYBERRY_FROM_OMANYTE_ITEM_ROOM
+ const EVENT_PICKED_UP_MYSTIC_WATER_FROM_OMANYTE_ITEM_ROOM
+ const EVENT_PICKED_UP_STARDUST_FROM_OMANYTE_ITEM_ROOM
+ const EVENT_PICKED_UP_STAR_PIECE_FROM_OMANYTE_ITEM_ROOM
+ const EVENT_PICKED_UP_GOLD_BERRY_FROM_AERODACTYL_ITEM_ROOM ; 7a0
+ const EVENT_PICKED_UP_MOON_STONE_FROM_AERODACTYL_ITEM_ROOM
+ const EVENT_PICKED_UP_HEAL_POWDER_FROM_AERODACTYL_ITEM_ROOM
+ const EVENT_PICKED_UP_ENERGY_ROOT_FROM_AERODACTYL_ITEM_ROOM
+ const EVENT_AZALEA_TOWN_KURT
+ const EVENT_ILEX_FOREST_KURT
+ const EVENT_MOUNT_MORTAR_1F_INSIDE_MAX_POTION
+ const EVENT_MOUNT_MORTAR_1F_INSIDE_NUGGET
+ const EVENT_ECRUTEAK_GYM_GRAMPS
+ const EVENT_ECRUTEAK_CITY_GRAMPS
+ const EVENT_EUSINE_IN_BURNED_TOWER
+ const EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1
+ const EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2
+ const EVENT_CIANWOOD_CITY_EUSINE
+ const EVENT_SAW_SUICUNE_AT_CIANWOOD_CITY
+ const EVENT_SAW_SUICUNE_ON_ROUTE_42
+ const EVENT_SAW_SUICUNE_ON_ROUTE_36 ; 7b0
+ const EVENT_ECRUTEAK_HOUSE_WANDERING_SAGE
+ const EVENT_TIN_TOWER_1F_SUICUNE
+ const EVENT_TIN_TOWER_1F_ENTEI
+ const EVENT_TIN_TOWER_1F_RAIKOU
+ const EVENT_TIN_TOWER_1F_EUSINE
+ const EVENT_TIN_TOWER_1F_WISE_TRIO_1
+ const EVENT_SET_WHEN_FOUGHT_HO_OH
+ const EVENT_ROUTE_30_ANTIDOTE
+ const EVENT_ILEX_FOREST_X_ATTACK
+ const EVENT_ILEX_FOREST_ANTIDOTE
+ const EVENT_ILEX_FOREST_ETHER
+ const EVENT_ROUTE_34_NUGGET
+ const EVENT_ROUTE_44_MAX_REPEL
+ const EVENT_ICE_PATH_1F_PROTEIN
+ const EVENT_DRAGONS_DEN_B1F_CALCIUM
+ const EVENT_DRAGONS_DEN_B1F_MAX_ELIXER ; 7c0
+ const EVENT_SILVER_CAVE_ROOM_1_ULTRA_BALL
+ const EVENT_SILVER_CAVE_ROOM_2_CALCIUM
+ const EVENT_SILVER_CAVE_ROOM_2_ULTRA_BALL
+ const EVENT_SILVER_CAVE_ROOM_2_PP_UP
+ const EVENT_TIN_TOWER_1F_WISE_TRIO_2
+ const EVENT_TIN_TOWER_6F_MAX_POTION
+ const EVENT_TIN_TOWER_9F_HP_UP
+ const EVENT_MOUNT_MORTAR_1F_INSIDE_IRON
+ const EVENT_MOUNT_MORTAR_1F_INSIDE_ULTRA_BALL
+ const EVENT_MOUNT_MORTAR_B1F_FULL_RESTORE
+ const EVENT_MOUNT_MORTAR_B1F_MAX_ETHER
+ const EVENT_MOUNT_MORTAR_B1F_PP_UP
+ const EVENT_RADIO_TOWER_5F_ULTRA_BALL
+ const EVENT_DARK_CAVE_VIOLET_ENTRANCE_DIRE_HIT
+ const EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
+NUM_EVENTS EQU const_value ; 7d0
diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm
new file mode 100644
index 00000000..c774faa9
--- /dev/null
+++ b/constants/gfx_constants.asm
@@ -0,0 +1,46 @@
+const_value SET 1
+ const ANIM_GFX_HIT
+ const ANIM_GFX_CUT
+ const ANIM_GFX_FIRE
+ const ANIM_GFX_WATER
+ const ANIM_GFX_LIGHTNING
+ const ANIM_GFX_PLANT
+ const ANIM_GFX_SMOKE
+ const ANIM_GFX_EXPLOSION
+ const ANIM_GFX_ROCKS
+ const ANIM_GFX_ICE
+ const ANIM_GFX_POKE_BALL
+ const ANIM_GFX_POISON
+ const ANIM_GFX_BUBBLE
+ const ANIM_GFX_NOISE
+ const ANIM_GFX_POWDER
+ const ANIM_GFX_BEAM
+ const ANIM_GFX_SPEED
+ const ANIM_GFX_CHARGE
+ const ANIM_GFX_WIND
+ const ANIM_GFX_WHIP
+ const ANIM_GFX_EGG
+ const ANIM_GFX_ROPE
+ const ANIM_GFX_PSYCHIC
+ const ANIM_GFX_REFLECT
+ const ANIM_GFX_STATUS
+ const ANIM_GFX_SAND
+ const ANIM_GFX_WEB
+ const ANIM_GFX_HAZE
+ const ANIM_GFX_HORN
+ const ANIM_GFX_FLOWER
+ const ANIM_GFX_MISC
+ const ANIM_GFX_SKY_ATTACK
+ const ANIM_GFX_GLOBE
+ const ANIM_GFX_SHAPES
+ const ANIM_GFX_OBJECTS
+ const ANIM_GFX_SHINE
+ const ANIM_GFX_ANGELS
+ const ANIM_GFX_WAVE
+ const ANIM_GFX_AEROBLAST
+
+
+LEN_2BPP_TILE EQU 16
+LEN_1BPP_TILE EQU 8
+TILES_PER_FRAME EQU 6
+TILESIZE EQU $10
diff --git a/constants/item_constants.asm b/constants/item_constants.asm
new file mode 100644
index 00000000..71cc2ba6
--- /dev/null
+++ b/constants/item_constants.asm
@@ -0,0 +1,440 @@
+ const_def
+ const NO_ITEM ; $00
+ const MASTER_BALL ; $01
+ const ULTRA_BALL ; $02
+ const BRIGHTPOWDER ; $03
+ const GREAT_BALL ; $04
+ const POKE_BALL ; $05
+ const TOWN_MAP ; $06
+ const BICYCLE ; $07
+ const MOON_STONE ; $08
+ const ANTIDOTE ; $09
+ const BURN_HEAL ; $0A
+ const ICE_HEAL ; $0B
+ const AWAKENING ; $0C
+ const PARLYZ_HEAL ; $0D
+ const FULL_RESTORE ; $0E
+ const MAX_POTION ; $0F
+ const HYPER_POTION ; $10
+ const SUPER_POTION ; $11
+ const POTION ; $12
+ const ESCAPE_ROPE ; $13
+ const REPEL ; $14
+ const MAX_ELIXER ; $15
+ const FIRE_STONE ; $16
+ const THUNDERSTONE ; $17
+ const WATER_STONE ; $18
+ const ITEM_19 ; $19
+ const HP_UP ; $1A
+ const PROTEIN ; $1B
+ const IRON ; $1C
+ const CARBOS ; $1D
+ const LUCKY_PUNCH ; $1E
+ const CALCIUM ; $1F
+ const RARE_CANDY ; $20
+ const X_ACCURACY ; $21
+ const LEAF_STONE ; $22
+ const METAL_POWDER ; $23
+ const NUGGET ; $24
+ const POKE_DOLL ; $25
+ const FULL_HEAL ; $26
+ const REVIVE ; $27
+ const MAX_REVIVE ; $28
+ const GUARD_SPEC ; $29
+ const SUPER_REPEL ; $2A
+ const MAX_REPEL ; $2B
+ const DIRE_HIT ; $2C
+ const ITEM_2D ; $2D
+ const FRESH_WATER ; $2E
+ const SODA_POP ; $2F
+ const LEMONADE ; $30
+ const X_ATTACK ; $31
+ const ITEM_32 ; $32
+ const X_DEFEND ; $33
+ const X_SPEED ; $34
+ const X_SPECIAL ; $35
+ const COIN_CASE ; $36
+ const ITEMFINDER ; $37
+ const POKE_FLUTE ; $38
+ const EXP_SHARE ; $39
+ const OLD_ROD ; $3A
+ const GOOD_ROD ; $3B
+ const SILVER_LEAF ; $3C
+ const SUPER_ROD ; $3D
+ const PP_UP ; $3E
+ const ETHER ; $3F
+ const MAX_ETHER ; $40
+ const ELIXER ; $41
+ const RED_SCALE ; $42
+ const SECRETPOTION ; $43
+ const S_S_TICKET ; $44
+ const MYSTERY_EGG ; $45
+ const CLEAR_BELL ; $46
+ const SILVER_WING ; $47
+ const MOOMOO_MILK ; $48
+ const QUICK_CLAW ; $49
+ const PSNCUREBERRY ; $4A
+ const GOLD_LEAF ; $4B
+ const SOFT_SAND ; $4C
+ const SHARP_BEAK ; $4D
+ const PRZCUREBERRY ; $4E
+ const BURNT_BERRY ; $4F
+ const ICE_BERRY ; $50
+ const POISON_BARB ; $51
+ const KINGS_ROCK ; $52
+ const BITTER_BERRY ; $53
+ const MINT_BERRY ; $54
+ const RED_APRICORN ; $55
+ const TINYMUSHROOM ; $56
+ const BIG_MUSHROOM ; $57
+ const SILVERPOWDER ; $58
+ const BLU_APRICORN ; $59
+ const ITEM_5A ; $5A
+ const AMULET_COIN ; $5B
+ const YLW_APRICORN ; $5C
+ const GRN_APRICORN ; $5D
+ const CLEANSE_TAG ; $5E
+ const MYSTIC_WATER ; $5F
+ const TWISTEDSPOON ; $60
+ const WHT_APRICORN ; $61
+ const BLACKBELT ; $62
+ const BLK_APRICORN ; $63
+ const ITEM_64 ; $64
+ const PNK_APRICORN ; $65
+ const BLACKGLASSES ; $66
+ const SLOWPOKETAIL ; $67
+ const PINK_BOW ; $68
+ const STICK ; $69
+ const SMOKE_BALL ; $6A
+ const NEVERMELTICE ; $6B
+ const MAGNET ; $6C
+ const MIRACLEBERRY ; $6D
+ const PEARL ; $6E
+ const BIG_PEARL ; $6F
+ const EVERSTONE ; $70
+ const SPELL_TAG ; $71
+ const RAGECANDYBAR ; $72
+ const GS_BALL ; $73
+ const BLUE_CARD ; $74
+ const MIRACLE_SEED ; $75
+ const THICK_CLUB ; $76
+ const FOCUS_BAND ; $77
+ const ITEM_78 ; $78
+ const ENERGYPOWDER ; $79
+ const ENERGY_ROOT ; $7A
+ const HEAL_POWDER ; $7B
+ const REVIVAL_HERB ; $7C
+ const HARD_STONE ; $7D
+ const LUCKY_EGG ; $7E
+ const CARD_KEY ; $7F
+ const MACHINE_PART ; $80
+ const EGG_TICKET ; $81
+ const LOST_ITEM ; $82
+ const STARDUST ; $83
+ const STAR_PIECE ; $84
+ const BASEMENT_KEY ; $85
+ const PASS ; $86
+ const ITEM_87 ; $87
+ const ITEM_88 ; $88
+ const ITEM_89 ; $89
+ const CHARCOAL ; $8A
+ const BERRY_JUICE ; $8B
+ const SCOPE_LENS ; $8C
+ const ITEM_8D ; $8D
+ const ITEM_8E ; $8E
+ const METAL_COAT ; $8F
+ const DRAGON_FANG ; $90
+ const ITEM_91 ; $91
+ const LEFTOVERS ; $92
+ const ITEM_93 ; $93
+ const ITEM_94 ; $94
+ const ITEM_95 ; $95
+ const MYSTERYBERRY ; $96
+ const DRAGON_SCALE ; $97
+ const BERSERK_GENE ; $98
+ const ITEM_99 ; $99
+ const ITEM_9A ; $9A
+ const ITEM_9B ; $9B
+ const SACRED_ASH ; $9C
+ const HEAVY_BALL ; $9D
+ const FLOWER_MAIL ; $9E
+ const LEVEL_BALL ; $9F
+ const LURE_BALL ; $A0
+ const FAST_BALL ; $A1
+ const ITEM_A2 ; $A2
+ const LIGHT_BALL ; $A3
+ const FRIEND_BALL ; $A4
+ const MOON_BALL ; $A5
+ const LOVE_BALL ; $A6
+ const NORMAL_BOX ; $A7
+ const GORGEOUS_BOX ; $A8
+ const SUN_STONE ; $A9
+ const POLKADOT_BOW ; $AA
+ const ITEM_AB ; $AB
+ const UP_GRADE ; $AC
+ const BERRY ; $AD
+ const GOLD_BERRY ; $AE
+ const SQUIRTBOTTLE ; $AF
+ const ITEM_B0 ; $B0
+ const PARK_BALL ; $B1
+ const RAINBOW_WING ; $B2
+ const ITEM_B3 ; $B3
+ const BRICK_PIECE ; $B4
+ const SURF_MAIL ; $B5
+ const LITEBLUEMAIL ; $B6
+ const PORTRAITMAIL ; $B7
+ const LOVELY_MAIL ; $B8
+ const EON_MAIL ; $B9
+ const MORPH_MAIL ; $BA
+ const BLUESKY_MAIL ; $BB
+ const MUSIC_MAIL ; $BC
+ const MIRAGE_MAIL ; $BD
+ const ITEM_BE ; $BE
+
+ add_tm DYNAMICPUNCH ; $BF
+ add_tm HEADBUTT ; $C0
+ add_tm CURSE ; $C1
+ add_tm ROLLOUT ; $C2
+ const ITEM_C3 ; $C3
+ add_tm ROAR ; $C4
+ add_tm TOXIC ; $C5
+ add_tm ZAP_CANNON ; $C6
+ add_tm ROCK_SMASH ; $C7
+ add_tm PSYCH_UP ; $C8
+ add_tm HIDDEN_POWER ; $C9
+ add_tm SUNNY_DAY ; $CA
+ add_tm SWEET_SCENT ; $CB
+ add_tm SNORE ; $CC
+ add_tm BLIZZARD ; $CD
+ add_tm HYPER_BEAM ; $CE
+ add_tm ICY_WIND ; $CF
+ add_tm PROTECT ; $D0
+ add_tm RAIN_DANCE ; $D1
+ add_tm GIGA_DRAIN ; $D2
+ add_tm ENDURE ; $D3
+ add_tm FRUSTRATION ; $D4
+ add_tm SOLARBEAM ; $D5
+ add_tm IRON_TAIL ; $D6
+ add_tm DRAGONBREATH ; $D7
+ add_tm THUNDER ; $D8
+ add_tm EARTHQUAKE ; $D9
+ add_tm RETURN ; $DA
+ add_tm DIG ; $DB
+ const ITEM_DC ; $DC
+ add_tm PSYCHIC ; $DD
+ add_tm SHADOW_BALL ; $DE
+ add_tm MUD_SLAP ; $DF
+ add_tm DOUBLE_TEAM ; $E0
+ add_tm ICE_PUNCH ; $E1
+ add_tm SWAGGER ; $E2
+ add_tm SLEEP_TALK ; $E3
+ add_tm SLUDGE_BOMB ; $E4
+ add_tm SANDSTORM ; $E5
+ add_tm FIRE_BLAST ; $E6
+ add_tm SWIFT ; $E7
+ add_tm DEFENSE_CURL ; $E8
+ add_tm THUNDERPUNCH ; $E9
+ add_tm DREAM_EATER ; $EA
+ add_tm DETECT ; $EB
+ add_tm REST ; $EC
+ add_tm ATTRACT ; $ED
+ add_tm THIEF ; $EE
+ add_tm STEEL_WING ; $EF
+ add_tm FIRE_PUNCH ; $F0
+ add_tm FURY_CUTTER ; $F1
+ add_tm NIGHTMARE ; $F2
+NUM_TMS = const_value - TM01 - 2
+
+ add_hm CUT ; $F3
+ add_hm FLY ; $F4
+ add_hm SURF ; $F5
+ add_hm STRENGTH ; $F6
+ add_hm FLASH ; $F7
+ add_hm WHIRLPOOL ; $F8
+ add_hm WATERFALL ; $F9
+NUM_HMS = const_value - HM01
+ const HM_08 ; $FA
+
+ add_mt FLAMETHROWER
+ add_mt THUNDERBOLT
+ add_mt ICE_BEAM
+
+ITEM_FROM_MEM EQU $ff
+
+
+; leftovers from red
+SAFARI_BALL EQU 8 ; MOON_STONE
+MOON_STONE_RED EQU 10 ; BURN_HEAL
+FULL_HEAL_RED EQU 52 ; X_SPEED
+MAIL_MAX_LENGTH EQU $20
+
+; pockets
+ITEM EQU 1
+KEY_ITEM EQU 2
+BALL EQU 3
+TM_HM EQU 4
+
+; item actions
+CANT_SELECT EQU 1 << 6
+CANT_TOSS EQU 1 << 7
+
+
+; held item effects
+ const_def
+
+ const HELD_NONE
+ const HELD_BERRY
+ const HELD_2
+ const HELD_LEFTOVERS
+ const HELD_4
+ const HELD_5
+ const HELD_RESTORE_PP
+ const HELD_7
+ const HELD_CLEANSE_TAG
+
+const_value SET 10
+ const HELD_HEAL_POISON
+ const HELD_HEAL_FREEZE
+ const HELD_HEAL_BURN
+ const HELD_HEAL_SLEEP
+ const HELD_HEAL_PARALYZE
+ const HELD_HEAL_STATUS
+ const HELD_HEAL_CONFUSION
+
+const_value SET 20
+ const HELD_PREVENT_POISON
+ const HELD_PREVENT_BURN
+ const HELD_PREVENT_FREEZE
+ const HELD_PREVENT_SLEEP
+ const HELD_PREVENT_PARALYZE
+ const HELD_PREVENT_CONFUSE
+
+const_value SET 30
+ const HELD_30
+ const HELD_ATTACK_UP
+ const HELD_DEFENSE_UP
+ const HELD_SPEED_UP
+ const HELD_SP_ATTACK_UP
+ const HELD_SP_DEFENSE_UP
+ const HELD_ACCURACY_UP
+ const HELD_EVASION_UP
+ const HELD_38
+
+const_value SET 40
+ const HELD_40
+ const HELD_41
+ const HELD_METAL_POWDER
+
+const_value SET 50
+ const HELD_NORMAL_BOOST
+ const HELD_FIGHTING_BOOST
+ const HELD_FLYING_BOOST
+ const HELD_POISON_BOOST
+ const HELD_GROUND_BOOST
+ const HELD_ROCK_BOOST
+ const HELD_BUG_BOOST
+ const HELD_GHOST_BOOST
+ const HELD_FIRE_BOOST
+ const HELD_WATER_BOOST
+ const HELD_GRASS_BOOST
+ const HELD_ELECTRIC_BOOST
+ const HELD_PSYCHIC_BOOST
+ const HELD_ICE_BOOST
+ const HELD_DRAGON_BOOST
+ const HELD_DARK_BOOST
+ const HELD_STEEL_BOOST
+
+const_value SET 70
+ const HELD_CATCH_CHANCE
+ const HELD_71
+ const HELD_ESCAPE
+ const HELD_CRITICAL_UP
+ const HELD_QUICK_CLAW
+ const HELD_TRADE_EVOLVE
+ const HELD_AMULET_COIN
+ const HELD_BRIGHTPOWDER
+ const HELD_78
+ const HELD_FOCUS_BAND
+
+ const_def
+ const ITEMATTR_PRICE
+ const ITEMATTR_PRICE_HI
+ const ITEMATTR_EFFECT
+ const ITEMATTR_PARAM
+ const ITEMATTR_PERMISSIONS
+ const ITEMATTR_POCKET
+ const ITEMATTR_HELP
+NUM_ITEMATTRS EQU const_value
+
+ITEMMENU_NOUSE EQU 0
+ITEMMENU_CURRENT EQU 4
+ITEMMENU_PARTY EQU 5
+ITEMMENU_CLOSE EQU 6
+
+ const_def
+ const MARTTYPE_STANDARD
+ const MARTTYPE_BITTER
+ const MARTTYPE_BARGAIN
+ const MARTTYPE_PHARMACY
+ const MARTTYPE_ROOFTOP
+
+ const_def
+ const MART_CHERRYGROVE
+ const MART_CHERRYGROVE_DEX
+ const MART_VIOLET
+ const MART_AZALEA
+ const MART_CIANWOOD
+ const MART_GOLDENROD_2F_1
+ const MART_GOLDENROD_2F_2
+ const MART_GOLDENROD_3F
+ const MART_GOLDENROD_4F
+ const MART_GOLDENROD_5F_1
+ const MART_GOLDENROD_5F_2
+ const MART_GOLDENROD_5F_3
+ const MART_GOLDENROD_5F_4
+ const MART_OLIVINE
+ const MART_ECRUTEAK
+ const MART_MAHOGANY_1
+ const MART_MAHOGANY_2
+ const MART_BLACKTHORN
+ const MART_VIRIDIAN
+ const MART_PEWTER
+ const MART_CERULEAN
+ const MART_LAVENDER
+ const MART_VERMILION
+ const MART_CELADON_2F_1
+ const MART_CELADON_2F_2
+ const MART_CELADON_3F
+ const MART_CELADON_4F
+ const MART_CELADON_5F_1
+ const MART_CELADON_5F_2
+ const MART_FUCHSIA
+ const MART_SAFFRON
+ const MART_MT_MOON
+ const MART_INDIGO_PLATEAU
+ const MART_UNDERGROUND
+
+; PartyMenuActionText
+ const_def
+ const PARTYMENUACTION_00
+ const PARTYMENUACTION_HEALING_ITEM
+ const PARTYMENUACTION_02
+ const PARTYMENUACTION_TEACH_TM
+ const PARTYMENUACTION_04
+ const PARTYMENUACTION_EVO_STONE
+ const PARTYMENUACTION_06
+ const PARTYMENUACTION_07
+ const PARTYMENUACTION_08
+ const PARTYMENUACTION_MOBILE
+
+const_value set $f0
+ const PARTYMENUTEXT_HEAL_PSN
+ const PARTYMENUTEXT_HEAL_BRN
+ const PARTYMENUTEXT_HEAL_FRZ
+ const PARTYMENUTEXT_HEAL_SLP
+ const PARTYMENUTEXT_HEAL_PAR
+ const PARTYMENUTEXT_HEAL_HP
+ const PARTYMENUTEXT_HEAL_ALL
+ const PARTYMENUTEXT_REVIVE
+ const PARTYMENUTEXT_LEVEL_UP
+ const PARTYMENUTEXT_HEAL_CONFUSION
diff --git a/constants/landmark_constants.asm b/constants/landmark_constants.asm
new file mode 100644
index 00000000..5aa14f97
--- /dev/null
+++ b/constants/landmark_constants.asm
@@ -0,0 +1,102 @@
+
+ const_def
+
+ const SPECIAL_MAP ; 00
+ const NEW_BARK_TOWN ; 01
+ const ROUTE_29 ; 02
+ const CHERRYGROVE_CITY ; 03
+ const ROUTE_30 ; 04
+ const ROUTE_31 ; 05
+ const VIOLET_CITY ; 06
+ const SPROUT_TOWER ; 07
+ const ROUTE_32 ; 08
+ const RUINS_OF_ALPH ; 09
+ const UNION_CAVE ; 0a
+ const ROUTE_33 ; 0b
+ const AZALEA_TOWN ; 0c
+ const SLOWPOKE_WELL ; 0d
+ const ILEX_FOREST ; 0e
+ const ROUTE_34 ; 0f
+ const GOLDENROD_CITY ; 10
+ const RADIO_TOWER ; 11
+ const ROUTE_35 ; 12
+ const NATIONAL_PARK ; 13
+ const ROUTE_36 ; 14
+ const ROUTE_37 ; 15
+ const ECRUTEAK_CITY ; 16
+ const TIN_TOWER ; 17
+ const BURNED_TOWER ; 18
+ const ROUTE_38 ; 19
+ const ROUTE_39 ; 1a
+ const OLIVINE_CITY ; 1b
+ const LIGHTHOUSE ; 1c
+ const BATTLE_TOWER ; 1d
+ const ROUTE_40 ; 1e
+ const WHIRL_ISLANDS ; 1f
+ const ROUTE_41 ; 20
+ const CIANWOOD_CITY ; 21
+ const ROUTE_42 ; 22
+ const MT_MORTAR ; 23
+ const MAHOGANY_TOWN ; 24
+ const ROUTE_43 ; 25
+ const LAKE_OF_RAGE ; 26
+ const ROUTE_44 ; 27
+ const ICE_PATH ; 28
+ const BLACKTHORN_CITY ; 29
+ const DRAGONS_DEN ; 2a
+ const ROUTE_45 ; 2b
+ const DARK_CAVE ; 2c
+ const ROUTE_46 ; 2d
+ const SILVER_CAVE ; 2e
+
+KANTO_LANDMARK EQU const_value
+
+ const PALLET_TOWN ; 2f
+ const ROUTE_1 ; 30
+ const VIRIDIAN_CITY ; 31
+ const ROUTE_2 ; 32
+ const PEWTER_CITY ; 33
+ const ROUTE_3 ; 34
+ const MT_MOON ; 35
+ const ROUTE_4 ; 36
+ const CERULEAN_CITY ; 37
+ const ROUTE_24 ; 38
+ const ROUTE_25 ; 39
+ const ROUTE_5 ; 3a
+ const UNDERGROUND ; 3b
+ const ROUTE_6 ; 3c
+ const VERMILION_CITY ; 3d
+ const DIGLETTS_CAVE ; 3e
+ const ROUTE_7 ; 3f
+ const ROUTE_8 ; 40
+ const ROUTE_9 ; 41
+ const ROCK_TUNNEL ; 42
+ const ROUTE_10 ; 43
+ const POWER_PLANT ; 44
+ const LAVENDER_TOWN ; 45
+ const LAV_RADIO_TOWER ; 46
+ const CELADON_CITY ; 47
+ const SAFFRON_CITY ; 48
+ const ROUTE_11 ; 49
+ const ROUTE_12 ; 4a
+ const ROUTE_13 ; 4b
+ const ROUTE_14 ; 4c
+ const ROUTE_15 ; 4d
+ const ROUTE_16 ; 4e
+ const ROUTE_17 ; 4f
+ const ROUTE_18 ; 50
+ const FUCHSIA_CITY ; 51
+ const ROUTE_19 ; 52
+ const ROUTE_20 ; 53
+ const SEAFOAM_ISLANDS ; 54
+ const CINNABAR_ISLAND ; 55
+ const ROUTE_21 ; 56
+ const ROUTE_22 ; 57
+ const VICTORY_ROAD ; 58
+ const ROUTE_23 ; 59
+ const INDIGO_PLATEAU ; 5a
+ const ROUTE_26 ; 5b
+ const ROUTE_27 ; 5c
+ const TOHJO_FALLS ; 5d
+ const ROUTE_28 ; 5e
+ const FAST_SHIP ; 5f
diff --git a/constants/map_constants.asm b/constants/map_constants.asm
new file mode 100644
index 00000000..bedcf29d
--- /dev/null
+++ b/constants/map_constants.asm
@@ -0,0 +1,709 @@
+GROUP_N_A EQU -1
+MAP_N_A EQU -1
+
+GROUP_NONE EQU 0
+MAP_NONE EQU 0
+
+; map group ids
+ const_def
+ newgroup ; 1
+
+ mapgroup OLIVINE_POKECENTER_1F, 4, 5 ; 1
+ mapgroup OLIVINE_GYM, 8, 5 ; 2
+ mapgroup OLIVINE_VOLTORB_HOUSE, 4, 4 ; 3
+ mapgroup OLIVINE_HOUSE_BETA, 4, 4 ; 4
+ mapgroup OLIVINE_PUNISHMENT_SPEECH_HOUSE, 4, 4 ; 5
+ mapgroup OLIVINE_GOOD_ROD_HOUSE, 4, 4 ; 6
+ mapgroup OLIVINE_CAFE, 4, 4 ; 7
+ mapgroup OLIVINE_MART, 4, 6 ; 8
+ mapgroup ROUTE_38_ECRUTEAK_GATE, 4, 5 ; 9
+ mapgroup ROUTE_39_BARN, 4, 4 ; 10
+ mapgroup ROUTE_39_FARMHOUSE, 4, 4 ; 11
+ mapgroup ROUTE_38, 9, 20 ; 12
+ mapgroup ROUTE_39, 18, 10 ; 13
+ mapgroup OLIVINE_CITY, 18, 20 ; 14
+
+ newgroup ; 2
+
+ mapgroup MAHOGANY_RED_GYARADOS_SPEECH_HOUSE, 4, 4 ; 1
+ mapgroup MAHOGANY_GYM, 9, 5 ; 2
+ mapgroup MAHOGANY_POKECENTER_1F, 4, 5 ; 3
+ mapgroup ROUTE_42_ECRUTEAK_GATE, 4, 5 ; 4
+ mapgroup ROUTE_42, 9, 30 ; 5
+ mapgroup ROUTE_44, 9, 30 ; 6
+ mapgroup MAHOGANY_TOWN, 9, 10 ; 7
+
+ newgroup ; 3
+
+ mapgroup SPROUT_TOWER_1F, 8, 10 ; 1
+ mapgroup SPROUT_TOWER_2F, 8, 10 ; 2
+ mapgroup SPROUT_TOWER_3F, 8, 10 ; 3
+ mapgroup TIN_TOWER_1F, 9, 10 ; 4
+ mapgroup TIN_TOWER_2F, 9, 10 ; 5
+ mapgroup TIN_TOWER_3F, 9, 10 ; 6
+ mapgroup TIN_TOWER_4F, 9, 10 ; 7
+ mapgroup TIN_TOWER_5F, 9, 10 ; 8
+ mapgroup TIN_TOWER_6F, 9, 10 ; 9
+ mapgroup TIN_TOWER_7F, 9, 10 ; 10
+ mapgroup TIN_TOWER_8F, 9, 10 ; 11
+ mapgroup TIN_TOWER_9F, 9, 10 ; 12
+ mapgroup BURNED_TOWER_1F, 9, 10 ; 13
+ mapgroup BURNED_TOWER_B1F, 9, 10 ; 14
+ mapgroup NATIONAL_PARK, 27, 20 ; 15
+ mapgroup NATIONAL_PARK_BUG_CONTEST, 27, 20 ; 16
+ mapgroup RADIO_TOWER_1F, 4, 9 ; 17
+ mapgroup RADIO_TOWER_2F, 4, 9 ; 18
+ mapgroup RADIO_TOWER_3F, 4, 9 ; 19
+ mapgroup RADIO_TOWER_4F, 4, 9 ; 20
+ mapgroup RADIO_TOWER_5F, 4, 9 ; 21
+ mapgroup RUINS_OF_ALPH_OUTSIDE, 18, 10 ; 22
+ mapgroup RUINS_OF_ALPH_HO_OH_CHAMBER, 5, 4 ; 23
+ mapgroup RUINS_OF_ALPH_KABUTO_CHAMBER, 5, 4 ; 24
+ mapgroup RUINS_OF_ALPH_OMANYTE_CHAMBER, 5, 4 ; 25
+ mapgroup RUINS_OF_ALPH_AERODACTYL_CHAMBER, 5, 4 ; 26
+ mapgroup RUINS_OF_ALPH_INNER_CHAMBER, 14, 10 ; 27
+ mapgroup RUINS_OF_ALPH_RESEARCH_CENTER, 4, 4 ; 28
+ mapgroup RUINS_OF_ALPH_HO_OH_ITEM_ROOM, 5, 4 ; 29
+ mapgroup RUINS_OF_ALPH_KABUTO_ITEM_ROOM, 5, 4 ; 30
+ mapgroup RUINS_OF_ALPH_OMANYTE_ITEM_ROOM, 5, 4 ; 31
+ mapgroup RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM, 5, 4 ; 32
+ mapgroup RUINS_OF_ALPH_HO_OH_WORD_ROOM, 12, 10 ; 33
+ mapgroup RUINS_OF_ALPH_KABUTO_WORD_ROOM, 7, 10 ; 34
+ mapgroup RUINS_OF_ALPH_OMANYTE_WORD_ROOM, 8, 10 ; 35
+ mapgroup RUINS_OF_ALPH_AERODACTYL_WORD_ROOM, 7, 10 ; 36
+ mapgroup UNION_CAVE_1F, 18, 10 ; 37
+ mapgroup UNION_CAVE_B1F, 18, 10 ; 38
+ mapgroup UNION_CAVE_B2F, 18, 10 ; 39
+ mapgroup SLOWPOKE_WELL_B1F, 9, 10 ; 40
+ mapgroup SLOWPOKE_WELL_B2F, 9, 10 ; 41
+ mapgroup OLIVINE_LIGHTHOUSE_1F, 9, 10 ; 42
+ mapgroup OLIVINE_LIGHTHOUSE_2F, 9, 10 ; 43
+ mapgroup OLIVINE_LIGHTHOUSE_3F, 9, 10 ; 44
+ mapgroup OLIVINE_LIGHTHOUSE_4F, 9, 10 ; 45
+ mapgroup OLIVINE_LIGHTHOUSE_5F, 9, 10 ; 46
+ mapgroup OLIVINE_LIGHTHOUSE_6F, 9, 10 ; 47
+ mapgroup MAHOGANY_MART_1F, 4, 4 ; 48
+ mapgroup TEAM_ROCKET_BASE_B1F, 9, 15 ; 49
+ mapgroup TEAM_ROCKET_BASE_B2F, 9, 15 ; 50
+ mapgroup TEAM_ROCKET_BASE_B3F, 9, 15 ; 51
+ mapgroup ILEX_FOREST, 27, 15 ; 52
+ mapgroup WAREHOUSE_ENTRANCE, 18, 15 ; 53
+ mapgroup UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES, 18, 15 ; 54
+ mapgroup GOLDENROD_DEPT_STORE_B1F, 9, 10 ; 55
+ mapgroup UNDERGROUND_WAREHOUSE, 9, 10 ; 56
+ mapgroup MOUNT_MORTAR_1F_OUTSIDE, 18, 20 ; 57
+ mapgroup MOUNT_MORTAR_1F_INSIDE, 27, 20 ; 58
+ mapgroup MOUNT_MORTAR_2F_INSIDE, 18, 20 ; 59
+ mapgroup MOUNT_MORTAR_B1F, 18, 20 ; 60
+ mapgroup ICE_PATH_1F, 18, 20 ; 61
+ mapgroup ICE_PATH_B1F, 18, 10 ; 62
+ mapgroup ICE_PATH_B2F_MAHOGANY_SIDE, 9, 10 ; 63
+ mapgroup ICE_PATH_B2F_BLACKTHORN_SIDE, 9, 5 ; 64
+ mapgroup ICE_PATH_B3F, 9, 10 ; 65
+ mapgroup WHIRL_ISLAND_NW, 9, 5 ; 66
+ mapgroup WHIRL_ISLAND_NE, 9, 10 ; 67
+ mapgroup WHIRL_ISLAND_SW, 9, 10 ; 68
+ mapgroup WHIRL_ISLAND_CAVE, 9, 5 ; 69
+ mapgroup WHIRL_ISLAND_SE, 9, 5 ; 70
+ mapgroup WHIRL_ISLAND_B1F, 18, 20 ; 71
+ mapgroup WHIRL_ISLAND_B2F, 18, 10 ; 72
+ mapgroup WHIRL_ISLAND_LUGIA_CHAMBER, 9, 10 ; 73
+ mapgroup SILVER_CAVE_ROOM_1, 18, 10 ; 74
+ mapgroup SILVER_CAVE_ROOM_2, 18, 15 ; 75
+ mapgroup SILVER_CAVE_ROOM_3, 18, 10 ; 76
+ mapgroup SILVER_CAVE_ITEM_ROOMS, 9, 10 ; 77
+ mapgroup DARK_CAVE_VIOLET_ENTRANCE, 18, 20 ; 78
+ mapgroup DARK_CAVE_BLACKTHORN_ENTRANCE, 18, 15 ; 79
+ mapgroup DRAGONS_DEN_1F, 9, 5 ; 80
+ mapgroup DRAGONS_DEN_B1F, 18, 20 ; 81
+ mapgroup DRAGON_SHRINE, 5, 5 ; 82
+ mapgroup TOHJO_FALLS, 9, 15 ; 83
+ mapgroup DIGLETTS_CAVE, 18, 10 ; 84
+ mapgroup MOUNT_MOON, 9, 15 ; 85
+ mapgroup UNDERGROUND, 14, 3 ; 86
+ mapgroup ROCK_TUNNEL_1F, 18, 15 ; 87
+ mapgroup ROCK_TUNNEL_B1F, 18, 15 ; 88
+ mapgroup SAFARI_ZONE_FUCHSIA_GATE_BETA, 4, 5 ; 89
+ mapgroup SAFARI_ZONE_BETA, 18, 10 ; 90
+ mapgroup VICTORY_ROAD, 36, 10 ; 91
+
+ newgroup ; 4
+
+ mapgroup ECRUTEAK_HOUSE, 9, 10 ; 1
+ mapgroup WISE_TRIOS_ROOM, 4, 4 ; 2
+ mapgroup ECRUTEAK_POKECENTER_1F, 4, 5 ; 3
+ mapgroup ECRUTEAK_LUGIA_SPEECH_HOUSE, 4, 4 ; 4
+ mapgroup DANCE_THEATRE, 7, 6 ; 5
+ mapgroup ECRUTEAK_MART, 4, 6 ; 6
+ mapgroup ECRUTEAK_GYM, 9, 5 ; 7
+ mapgroup ECRUTEAK_ITEMFINDER_HOUSE, 4, 4 ; 8
+ mapgroup ECRUTEAK_CITY, 18, 20 ; 9
+
+ newgroup ; 5
+
+ mapgroup BLACKTHORN_GYM_1F, 9, 5 ; 1
+ mapgroup BLACKTHORN_GYM_2F, 9, 5 ; 2
+ mapgroup BLACKTHORN_DRAGON_SPEECH_HOUSE, 4, 4 ; 3
+ mapgroup BLACKTHORN_DODRIO_TRADE_HOUSE, 4, 4 ; 4
+ mapgroup BLACKTHORN_MART, 4, 6 ; 5
+ mapgroup BLACKTHORN_POKECENTER_1F, 4, 5 ; 6
+ mapgroup MOVE_DELETERS_HOUSE, 4, 4 ; 7
+ mapgroup ROUTE_45, 45, 10 ; 8
+ mapgroup ROUTE_46, 18, 10 ; 9
+ mapgroup BLACKTHORN_CITY, 18, 20 ; 10
+
+ newgroup ; 6
+
+ mapgroup CINNABAR_POKECENTER_1F, 4, 5 ; 1
+ mapgroup CINNABAR_POKECENTER_2F_BETA, 4, 8 ; 2
+ mapgroup ROUTE_19___FUCHSIA_GATE, 4, 5 ; 3
+ mapgroup SEAFOAM_GYM, 4, 5 ; 4
+ mapgroup ROUTE_19, 18, 10 ; 5
+ mapgroup ROUTE_20, 9, 30 ; 6
+ mapgroup ROUTE_21, 18, 10 ; 7
+ mapgroup CINNABAR_ISLAND, 9, 10 ; 8
+
+ newgroup ; 7
+
+ mapgroup CERULEAN_GYM_BADGE_SPEECH_HOUSE, 4, 4 ; 1
+ mapgroup CERULEAN_POLICE_STATION, 4, 4 ; 2
+ mapgroup CERULEAN_TRADE_SPEECH_HOUSE, 4, 4 ; 3
+ mapgroup CERULEAN_POKECENTER_1F, 4, 5 ; 4
+ mapgroup CERULEAN_POKECENTER_2F_BETA, 4, 8 ; 5
+ mapgroup CERULEAN_GYM, 8, 5 ; 6
+ mapgroup CERULEAN_MART, 4, 6 ; 7
+ mapgroup ROUTE_10_POKECENTER_1F, 4, 5 ; 8
+ mapgroup ROUTE_10_POKECENTER_2F_BETA, 4, 8 ; 9
+ mapgroup POWER_PLANT, 9, 10 ; 10
+ mapgroup BILLS_HOUSE, 4, 4 ; 11
+ mapgroup ROUTE_4, 9, 20 ; 12
+ mapgroup ROUTE_9, 9, 30 ; 13
+ mapgroup ROUTE_10_NORTH, 9, 10 ; 14
+ mapgroup ROUTE_24, 9, 10 ; 15
+ mapgroup ROUTE_25, 9, 30 ; 16
+ mapgroup CERULEAN_CITY, 18, 20 ; 17
+
+ newgroup ; 8
+
+ mapgroup AZALEA_POKECENTER_1F, 4, 5 ; 1
+ mapgroup CHARCOAL_KILN, 4, 4 ; 2
+ mapgroup AZALEA_MART, 4, 6 ; 3
+ mapgroup KURTS_HOUSE, 4, 8 ; 4
+ mapgroup AZALEA_GYM, 8, 5 ; 5
+ mapgroup ROUTE_33, 9, 10 ; 6
+ mapgroup AZALEA_TOWN, 9, 20 ; 7
+
+ newgroup ; 9
+
+ mapgroup LAKE_OF_RAGE_HIDDEN_POWER_HOUSE, 4, 4 ; 1
+ mapgroup LAKE_OF_RAGE_MAGIKARP_HOUSE, 4, 4 ; 2
+ mapgroup ROUTE_43_MAHOGANY_GATE, 4, 5 ; 3
+ mapgroup ROUTE_43_GATE, 4, 5 ; 4
+ mapgroup ROUTE_43, 27, 10 ; 5
+ mapgroup LAKE_OF_RAGE, 18, 20 ; 6
+
+ newgroup ; 10
+
+ mapgroup ROUTE_32, 45, 10 ; 1
+ mapgroup ROUTE_35, 18, 10 ; 2
+ mapgroup ROUTE_36, 9, 30 ; 3
+ mapgroup ROUTE_37, 9, 10 ; 4
+ mapgroup VIOLET_CITY, 18, 20 ; 5
+ mapgroup VIOLET_MART, 4, 6 ; 6
+ mapgroup VIOLET_GYM, 8, 5 ; 7
+ mapgroup EARLS_POKEMON_ACADEMY, 8, 4 ; 8
+ mapgroup VIOLET_NICKNAME_SPEECH_HOUSE, 4, 4 ; 9
+ mapgroup VIOLET_POKECENTER_1F, 4, 5 ; 10
+ mapgroup VIOLET_ONIX_TRADE_HOUSE, 4, 4 ; 11
+ mapgroup ROUTE_32_RUINS_OF_ALPH_GATE, 4, 5 ; 12
+ mapgroup ROUTE_32_POKECENTER_1F, 4, 5 ; 13
+ mapgroup ROUTE_35_GOLDENROD_GATE, 4, 5 ; 14
+ mapgroup ROUTE_35_NATIONAL_PARK_GATE, 4, 4 ; 15
+ mapgroup ROUTE_36_RUINS_OF_ALPH_GATE, 4, 5 ; 16
+ mapgroup ROUTE_36_NATIONAL_PARK_GATE, 4, 5 ; 17
+
+ newgroup ; 11
+
+ mapgroup ROUTE_34, 27, 10 ; 1
+ mapgroup GOLDENROD_CITY, 18, 20 ; 2
+ mapgroup GOLDENROD_GYM, 9, 10 ; 3
+ mapgroup GOLDENROD_BIKE_SHOP, 4, 4 ; 4
+ mapgroup GOLDENROD_HAPPINESS_RATER, 4, 4 ; 5
+ mapgroup GOLDENROD_BILLS_HOUSE, 4, 4 ; 6
+ mapgroup GOLDENROD_MAGNET_TRAIN_STATION, 9, 10 ; 7
+ mapgroup GOLDENROD_FLOWER_SHOP, 4, 4 ; 8
+ mapgroup GOLDENROD_PP_SPEECH_HOUSE, 4, 4 ; 9
+ mapgroup GOLDENROD_NAME_RATERS_HOUSE, 4, 4 ; 10
+ mapgroup GOLDENROD_DEPT_STORE_1F, 4, 8 ; 11
+ mapgroup GOLDENROD_DEPT_STORE_2F, 4, 8 ; 12
+ mapgroup GOLDENROD_DEPT_STORE_3F, 4, 8 ; 13
+ mapgroup GOLDENROD_DEPT_STORE_4F, 4, 8 ; 14
+ mapgroup GOLDENROD_DEPT_STORE_5F, 4, 8 ; 15
+ mapgroup GOLDENROD_DEPT_STORE_6F, 4, 8 ; 16
+ mapgroup GOLDENROD_DEPT_STORE_ELEVATOR, 2, 2 ; 17
+ mapgroup GOLDENROD_DEPT_STORE_ROOF, 4, 8 ; 18
+ mapgroup GOLDENROD_GAME_CORNER, 7, 10 ; 19
+ mapgroup GOLDENROD_POKECENTER_1F, 4, 5 ; 20
+ mapgroup GOLDENROD_POKECOM_CENTER_2F_MOBILE, 16, 16 ; 21
+ mapgroup ILEX_FOREST_AZALEA_GATE, 4, 5 ; 22
+ mapgroup ROUTE_34_ILEX_FOREST_GATE, 4, 5 ; 23
+ mapgroup DAYCARE, 4, 5 ; 24
+
+ newgroup ; 12
+
+ mapgroup ROUTE_6, 9, 10 ; 1
+ mapgroup ROUTE_11, 9, 20 ; 2
+ mapgroup VERMILION_CITY, 18, 20 ; 3
+ mapgroup VERMILION_HOUSE_FISHING_SPEECH_HOUSE, 4, 4 ; 4
+ mapgroup VERMILION_POKECENTER_1F, 4, 5 ; 5
+ mapgroup VERMILION_POKECENTER_2F_BETA, 4, 8 ; 6
+ mapgroup POKEMON_FAN_CLUB, 4, 5 ; 7
+ mapgroup VERMILION_MAGNET_TRAIN_SPEECH_HOUSE, 4, 4 ; 8
+ mapgroup VERMILION_MART, 4, 6 ; 9
+ mapgroup VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE, 4, 4 ; 10
+ mapgroup VERMILION_GYM, 9, 5 ; 11
+ mapgroup ROUTE_6_SAFFRON_GATE, 4, 5 ; 12
+ mapgroup ROUTE_6_UNDERGROUND_ENTRANCE, 4, 4 ; 13
+
+ newgroup ; 13
+
+ mapgroup ROUTE_1, 18, 10 ; 1
+ mapgroup PALLET_TOWN, 9, 10 ; 2
+ mapgroup REDS_HOUSE_1F, 4, 4 ; 3
+ mapgroup REDS_HOUSE_2F, 4, 4 ; 4
+ mapgroup BLUES_HOUSE, 4, 4 ; 5
+ mapgroup OAKS_LAB, 6, 5 ; 6
+
+ newgroup ; 14
+
+ mapgroup ROUTE_3, 9, 30 ; 1
+ mapgroup PEWTER_CITY, 18, 20 ; 2
+ mapgroup PEWTER_NIDORAN_SPEECH_HOUSE, 4, 4 ; 3
+ mapgroup PEWTER_GYM, 7, 5 ; 4
+ mapgroup PEWTER_MART, 4, 6 ; 5
+ mapgroup PEWTER_POKECENTER_1F, 4, 5 ; 6
+ mapgroup PEWTER_POKECENTER_2F_BETA, 4, 8 ; 7
+ mapgroup PEWTER_SNOOZE_SPEECH_HOUSE, 4, 4 ; 8
+
+ newgroup ; 15
+
+ mapgroup OLIVINE_PORT, 18, 10 ; 1
+ mapgroup VERMILION_PORT, 18, 10 ; 2
+ mapgroup FAST_SHIP_1F, 9, 16 ; 3
+ mapgroup FAST_SHIP_CABINS_NNW_NNE_NE, 16, 4 ; 4
+ mapgroup FAST_SHIP_CABINS_SW_SSW_NW, 16, 4 ; 5
+ mapgroup FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN, 17, 5 ; 6
+ mapgroup FAST_SHIP_B1F, 8, 16 ; 7
+ mapgroup OLIVINE_PORT_PASSAGE, 9, 10 ; 8
+ mapgroup VERMILION_PORT_PASSAGE, 9, 10 ; 9
+ mapgroup MOUNT_MOON_SQUARE, 9, 15 ; 10
+ mapgroup MOUNT_MOON_GIFT_SHOP, 4, 4 ; 11
+ mapgroup TIN_TOWER_ROOF, 9, 10 ; 12
+
+ newgroup ; 16
+
+ mapgroup ROUTE_23, 9, 10 ; 1
+ mapgroup INDIGO_PLATEAU_POKECENTER_1F, 7, 9 ; 2
+ mapgroup WILLS_ROOM, 9, 5 ; 3
+ mapgroup KOGAS_ROOM, 9, 5 ; 4
+ mapgroup BRUNOS_ROOM, 9, 5 ; 5
+ mapgroup KARENS_ROOM, 9, 5 ; 6
+ mapgroup LANCES_ROOM, 12, 5 ; 7
+ mapgroup HALL_OF_FAME, 7, 5 ; 8
+
+ newgroup ; 17
+
+ mapgroup ROUTE_13, 9, 30 ; 1
+ mapgroup ROUTE_14, 18, 10 ; 2
+ mapgroup ROUTE_15, 9, 20 ; 3
+ mapgroup ROUTE_18, 9, 10 ; 4
+ mapgroup FUCHSIA_CITY, 18, 20 ; 5
+ mapgroup FUCHSIA_MART, 4, 6 ; 6
+ mapgroup SAFARI_ZONE_MAIN_OFFICE, 4, 4 ; 7
+ mapgroup FUCHSIA_GYM, 9, 5 ; 8
+ mapgroup FUCHSIA_BILL_SPEECH_HOUSE, 4, 4 ; 9
+ mapgroup FUCHSIA_POKECENTER_1F, 4, 5 ; 10
+ mapgroup FUCHSIA_POKECENTER_2F_BETA, 4, 8 ; 11
+ mapgroup SAFARI_ZONE_WARDENS_HOME, 4, 5 ; 12
+ mapgroup ROUTE_15_FUCHSIA_GATE, 4, 5 ; 13
+
+ newgroup ; 18
+
+ mapgroup ROUTE_8, 9, 20 ; 1
+ mapgroup ROUTE_12, 27, 10 ; 2
+ mapgroup ROUTE_10_SOUTH, 9, 10 ; 3
+ mapgroup LAVENDER_TOWN, 9, 10 ; 4
+ mapgroup LAVENDER_POKECENTER_1F, 4, 5 ; 5
+ mapgroup LAVENDER_POKECENTER_2F_BETA, 4, 8 ; 6
+ mapgroup MR_FUJIS_HOUSE, 4, 5 ; 7
+ mapgroup LAVENDER_TOWN_SPEECH_HOUSE, 4, 4 ; 8
+ mapgroup LAVENDER_NAME_RATER, 4, 4 ; 9
+ mapgroup LAVENDER_MART, 4, 6 ; 10
+ mapgroup SOUL_HOUSE, 4, 5 ; 11
+ mapgroup LAV_RADIO_TOWER_1F, 4, 10 ; 12
+ mapgroup ROUTE_8_SAFFRON_GATE, 4, 5 ; 13
+ mapgroup ROUTE_12_SUPER_ROD_HOUSE, 4, 4 ; 14
+
+ newgroup ; 19
+
+ mapgroup ROUTE_28, 9, 20 ; 1
+ mapgroup SILVER_CAVE_OUTSIDE, 18, 20 ; 2
+ mapgroup SILVER_CAVE_POKECENTER_1F, 4, 5 ; 3
+ mapgroup ROUTE_28_FAMOUS_SPEECH_HOUSE, 4, 4 ; 4
+
+ newgroup ; 20
+
+ mapgroup POKECENTER_2F, 4, 8 ; 1
+ mapgroup TRADE_CENTER, 4, 5 ; 2
+ mapgroup COLOSSEUM, 4, 5 ; 3
+ mapgroup TIME_CAPSULE, 4, 5 ; 4
+ mapgroup MOBILE_TRADE_ROOM_MOBILE, 4, 5 ; 5
+ mapgroup MOBILE_BATTLE_ROOM, 4, 5 ; 6
+
+ newgroup ; 21
+
+ mapgroup ROUTE_7, 9, 10 ; 1
+ mapgroup ROUTE_16, 9, 10 ; 2
+ mapgroup ROUTE_17, 45, 10 ; 3
+ mapgroup CELADON_CITY, 18, 20 ; 4
+ mapgroup CELADON_DEPT_STORE_1F, 4, 8 ; 5
+ mapgroup CELADON_DEPT_STORE_2F, 4, 8 ; 6
+ mapgroup CELADON_DEPT_STORE_3F, 4, 8 ; 7
+ mapgroup CELADON_DEPT_STORE_4F, 4, 8 ; 8
+ mapgroup CELADON_DEPT_STORE_5F, 4, 8 ; 9
+ mapgroup CELADON_DEPT_STORE_6F, 4, 8 ; 10
+ mapgroup CELADON_DEPT_STORE_ELEVATOR, 2, 2 ; 11
+ mapgroup CELADON_MANSION_1F, 5, 4 ; 12
+ mapgroup CELADON_MANSION_2F, 5, 4 ; 13
+ mapgroup CELADON_MANSION_3F, 5, 4 ; 14
+ mapgroup CELADON_MANSION_ROOF, 5, 4 ; 15
+ mapgroup CELADON_MANSION_ROOF_HOUSE, 4, 4 ; 16
+ mapgroup CELADON_POKECENTER_1F, 4, 5 ; 17
+ mapgroup CELADON_POKECENTER_2F_BETA, 4, 8 ; 18
+ mapgroup CELADON_GAME_CORNER, 7, 10 ; 19
+ mapgroup CELADON_GAME_CORNER_PRIZE_ROOM, 3, 3 ; 20
+ mapgroup CELADON_GYM, 9, 5 ; 21
+ mapgroup CELADON_CAFE, 4, 6 ; 22
+ mapgroup ROUTE_16_FUCHSIA_SPEECH_HOUSE, 4, 4 ; 23
+ mapgroup ROUTE_16_GATE, 4, 5 ; 24
+ mapgroup ROUTE_7_SAFFRON_GATE, 4, 5 ; 25
+ mapgroup ROUTE_17_18_GATE, 4, 5 ; 26
+
+ newgroup ; 22
+
+ mapgroup ROUTE_40, 18, 10 ; 1
+ mapgroup ROUTE_41, 27, 25 ; 2
+ mapgroup CIANWOOD_CITY, 27, 15 ; 3
+ mapgroup MANIAS_HOUSE, 4, 4 ; 4
+ mapgroup CIANWOOD_GYM, 9, 5 ; 5
+ mapgroup CIANWOOD_POKECENTER_1F, 4, 5 ; 6
+ mapgroup CIANWOOD_PHARMACY, 4, 4 ; 7
+ mapgroup CIANWOOD_CITY_PHOTO_STUDIO, 4, 4 ; 8
+ mapgroup CIANWOOD_LUGIA_SPEECH_HOUSE, 4, 4 ; 9
+ mapgroup POKE_SEERS_HOUSE, 4, 4 ; 10
+ mapgroup BATTLE_TOWER_1F, 5, 8 ; 11
+ mapgroup BATTLE_TOWER_BATTLE_ROOM, 4, 4 ; 12
+ mapgroup BATTLE_TOWER_ELEVATOR, 2, 2 ; 13
+ mapgroup BATTLE_TOWER_HALLWAY, 2, 11 ; 14
+ mapgroup ROUTE_40_BATTLE_TOWER_GATE, 4, 5 ; 15
+ mapgroup BATTLE_TOWER_OUTSIDE, 14, 10 ; 16
+
+ newgroup ; 23
+
+ mapgroup ROUTE_2, 27, 10 ; 1
+ mapgroup ROUTE_22, 9, 20 ; 2
+ mapgroup VIRIDIAN_CITY, 18, 20 ; 3
+ mapgroup VIRIDIAN_GYM, 9, 5 ; 4
+ mapgroup VIRIDIAN_NICKNAME_SPEECH_HOUSE, 4, 4 ; 5
+ mapgroup TRAINER_HOUSE_1F, 7, 5 ; 6
+ mapgroup TRAINER_HOUSE_B1F, 8, 5 ; 7
+ mapgroup VIRIDIAN_MART, 4, 6 ; 8
+ mapgroup VIRIDIAN_POKECENTER_1F, 4, 5 ; 9
+ mapgroup VIRIDIAN_POKECENTER_2F_BETA, 4, 8 ; 10
+ mapgroup ROUTE_2_NUGGET_SPEECH_HOUSE, 4, 4 ; 11
+ mapgroup ROUTE_2_GATE, 4, 5 ; 12
+ mapgroup VICTORY_ROAD_GATE, 9, 10 ; 13
+
+ newgroup ; 24
+
+ mapgroup ROUTE_26, 54, 10 ; 1
+ mapgroup ROUTE_27, 9, 40 ; 2
+ mapgroup ROUTE_29, 9, 30 ; 3
+ mapgroup NEW_BARK_TOWN, 9, 10 ; 4
+ mapgroup ELMS_LAB, 6, 5 ; 5
+ mapgroup KRISS_HOUSE_1F, 4, 5 ; 6
+ mapgroup KRISS_HOUSE_2F, 3, 4 ; 7
+ mapgroup KRISS_NEIGHBORS_HOUSE, 4, 4 ; 8
+ mapgroup ELMS_HOUSE, 4, 4 ; 9
+ mapgroup ROUTE_26_HEAL_SPEECH_HOUSE, 4, 4 ; 10
+ mapgroup ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE, 4, 4 ; 11
+ mapgroup ROUTE_27_SANDSTORM_HOUSE, 4, 4 ; 12
+ mapgroup ROUTE_29_46_GATE, 4, 5 ; 13
+
+ newgroup ; 25
+
+ mapgroup ROUTE_5, 9, 10 ; 1
+ mapgroup SAFFRON_CITY, 18, 20 ; 2
+ mapgroup FIGHTING_DOJO, 6, 5 ; 3
+ mapgroup SAFFRON_GYM, 9, 10 ; 4
+ mapgroup SAFFRON_MART, 4, 6 ; 5
+ mapgroup SAFFRON_POKECENTER_1F, 4, 5 ; 6
+ mapgroup SAFFRON_POKECENTER_2F_BETA, 4, 8 ; 7
+ mapgroup MR_PSYCHICS_HOUSE, 4, 4 ; 8
+ mapgroup SAFFRON_TRAIN_STATION, 9, 10 ; 9
+ mapgroup SILPH_CO_1F, 4, 8 ; 10
+ mapgroup COPYCATS_HOUSE_1F, 4, 4 ; 11
+ mapgroup COPYCATS_HOUSE_2F, 3, 5 ; 12
+ mapgroup ROUTE_5_UNDERGROUND_ENTRANCE, 4, 4 ; 13
+ mapgroup ROUTE_5_SAFFRON_CITY_GATE, 4, 5 ; 14
+ mapgroup ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE, 4, 4 ; 15
+
+ newgroup ; 26
+
+ mapgroup ROUTE_30, 27, 10 ; 1
+ mapgroup ROUTE_31, 9, 20 ; 2
+ mapgroup CHERRYGROVE_CITY, 9, 20 ; 3
+ mapgroup CHERRYGROVE_MART, 4, 6 ; 4
+ mapgroup CHERRYGROVE_POKECENTER_1F, 4, 5 ; 5
+ mapgroup CHERRYGROVE_GYM_SPEECH_HOUSE, 4, 4 ; 6
+ mapgroup GUIDE_GENTS_HOUSE, 4, 4 ; 7
+ mapgroup CHERRYGROVE_EVOLUTION_SPEECH_HOUSE, 4, 4 ; 8
+ mapgroup ROUTE_30_BERRY_SPEECH_HOUSE, 4, 4 ; 9
+ mapgroup MR_POKEMONS_HOUSE, 4, 4 ; 10
+ mapgroup ROUTE_31_VIOLET_GATE, 4, 5 ; 11
+
+
+; elevator floors
+
+ const_def
+ const _B4F
+ const _B3F
+ const _B2F
+ const _B1F
+ const _1F
+ const _2F
+ const _3F
+ const _4F
+ const _5F
+ const _6F
+ const _7F
+ const _8F
+ const _9F
+ const _10F
+ const _11F
+ const _ROOF
+
+; connection directions
+ const_def
+ const EAST_F
+ const WEST_F
+ const SOUTH_F
+ const NORTH_F
+
+ const_def
+ shift_const EAST
+ shift_const WEST
+ shift_const SOUTH
+ shift_const NORTH
+
+; permissions
+const_value SET 1
+ const TOWN
+ const ROUTE
+ const INDOOR
+ const CAVE
+ const PERM_5
+ const GATE
+ const DUNGEON
+
+; object struct
+ const_def
+ const OBJECT_SPRITE
+ const OBJECT_MAP_OBJECT_INDEX
+ const OBJECT_SPRITE_TILE
+ const OBJECT_MOVEMENTTYPE
+ const OBJECT_FLAGS1
+ const OBJECT_FLAGS2
+ const OBJECT_PALETTE
+ const OBJECT_DIRECTION_WALKING
+ const OBJECT_FACING
+ const OBJECT_STEP_TYPE
+ const OBJECT_STEP_DURATION
+ const OBJECT_ACTION
+ const OBJECT_STEP_FRAME
+ const OBJECT_FACING_STEP
+ const OBJECT_NEXT_TILE
+ const OBJECT_STANDING_TILE
+ const OBJECT_NEXT_MAP_X
+ const OBJECT_NEXT_MAP_Y
+ const OBJECT_MAP_X
+ const OBJECT_MAP_Y
+ const OBJECT_INIT_X
+ const OBJECT_INIT_Y
+ const OBJECT_RADIUS
+ const OBJECT_SPRITE_X
+ const OBJECT_SPRITE_Y
+ const OBJECT_SPRITE_X_OFFSET
+ const OBJECT_SPRITE_Y_OFFSET
+ const OBJECT_MOVEMENT_BYTE_INDEX
+ const OBJECT_28
+ const OBJECT_29
+ const OBJECT_30
+ const OBJECT_31
+ const OBJECT_RANGE
+; 33-39 are not used
+
+; map object struct
+ const_def
+ const MAPOBJECT_OBJECT_STRUCT_ID ; 0
+ const MAPOBJECT_SPRITE ; 1
+ const MAPOBJECT_Y_COORD ; 2
+ const MAPOBJECT_X_COORD ; 3
+ const MAPOBJECT_MOVEMENT ; 4
+ const MAPOBJECT_RADIUS ; 5
+ const MAPOBJECT_HOUR ; 6
+ const MAPOBJECT_TIMEOFDAY ; 7
+ const MAPOBJECT_COLOR ; 8
+ const MAPOBJECT_RANGE ; 9
+ const MAPOBJECT_SCRIPT_POINTER ; a
+ const MAPOBJECT_POINTER_HI ; b
+ const MAPOBJECT_EVENT_FLAG ; c
+ const MAPOBJECT_FLAG_HI ; d
+ const MAPOBJECT_E ; unused
+ const MAPOBJECT_F ; unused
+OBJECT_LENGTH EQU const_value
+
+MAPOBJECT_SCREEN_HEIGHT EQU 11
+MAPOBJECT_SCREEN_WIDTH EQU 12
+
+OW_DOWN EQU DOWN << 2
+OW_UP EQU UP << 2
+OW_LEFT EQU LEFT << 2
+OW_RIGHT EQU RIGHT << 2
+
+ const_def
+ const EMOTE_SHOCK ; 0
+ const EMOTE_QUESTION ; 1
+ const EMOTE_HAPPY ; 2
+ const EMOTE_SAD ; 3
+ const EMOTE_HEART ; 4
+ const EMOTE_BOLT ; 5
+ const EMOTE_SLEEP ; 6
+ const EMOTE_FISH ; 7
+ const EMOTE_SHADOW ; 8
+ const EMOTE_ROD ; 9
+ const EMOTE_BOULDER_DUST ; 10
+ const EMOTE_0B ; 11
+EMOTE_MEM EQU -1
+
+ const_def
+ const SIGNPOST_READ
+ const SIGNPOST_UP
+ const SIGNPOST_DOWN
+ const SIGNPOST_RIGHT
+ const SIGNPOST_LEFT
+ const SIGNPOST_IFSET
+ const SIGNPOST_IFNOTSET
+ const SIGNPOST_ITEM
+ const SIGNPOST_COPY
+
+; I'm relocating spawn constants here, so that they can be used anywhere in the disassembly.
+
+
+const_value = -1
+ const SPAWN_N_A
+
+ const SPAWN_HOME
+ const SPAWN_DEBUG
+
+ const SPAWN_PALLET
+ const SPAWN_VIRIDIAN
+ const SPAWN_PEWTER
+ const SPAWN_CERULEAN
+ const SPAWN_ROCK_TUNNEL
+ const SPAWN_VERMILION
+ const SPAWN_LAVENDER
+ const SPAWN_SAFFRON
+ const SPAWN_CELADON
+ const SPAWN_FUCHSIA
+ const SPAWN_CINNABAR
+ const SPAWN_INDIGO
+
+ const SPAWN_NEW_BARK
+ const SPAWN_CHERRYGROVE
+ const SPAWN_VIOLET
+ const SPAWN_UNION_CAVE
+ const SPAWN_AZALEA
+ const SPAWN_CIANWOOD
+ const SPAWN_GOLDENROD
+ const SPAWN_OLIVINE
+ const SPAWN_ECRUTEAK
+ const SPAWN_MAHOGANY
+ const SPAWN_LAKE
+ const SPAWN_BLACKTHORN
+ const SPAWN_MT_SILVER
+ const SPAWN_FAST_SHIP
+NUM_SPAWNS EQU const_value
+
+ const_def
+ const PALETTE_AUTO
+ const PALETTE_DAY
+ const PALETTE_NITE
+ const PALETTE_MORN
+ const PALETTE_DARK
+
+INVISIBLE EQU 0
+FIXED_FACING EQU 2
+SLIDING EQU 3
+EMOTE_OBJECT EQU 7
+
+ const_def
+ const PERSONTYPE_SCRIPT
+ const PERSONTYPE_ITEMBALL
+ const PERSONTYPE_TRAINER
+ const PERSONTYPE_3
+ const PERSONTYPE_4
+ const PERSONTYPE_5
+ const PERSONTYPE_6
+
+; fruit trees
+const_value SET 1
+ const FRUITTREE_ROUTE_29 ; 01
+ const FRUITTREE_ROUTE_30_1 ; 02
+ const FRUITTREE_ROUTE_38 ; 03
+ const FRUITTREE_ROUTE_46_1 ; 04
+ const FRUITTREE_ROUTE_30_2 ; 05
+ const FRUITTREE_ROUTE_33 ; 06
+ const FRUITTREE_ROUTE_31 ; 07
+ const FRUITTREE_ROUTE_43 ; 08
+ const FRUITTREE_VIOLET_CITY ; 09
+ const FRUITTREE_ROUTE_46_2 ; 0a
+ const FRUITTREE_ROUTE_35 ; 0b
+ const FRUITTREE_ROUTE_45 ; 0c
+ const FRUITTREE_ROUTE_36 ; 0d
+ const FRUITTREE_ROUTE_26 ; 0e
+ const FRUITTREE_ROUTE_39 ; 0f
+ const FRUITTREE_ROUTE_44 ; 10
+ const FRUITTREE_ROUTE_37_1 ; 11
+ const FRUITTREE_ROUTE_37_2 ; 12
+ const FRUITTREE_ROUTE_37_3 ; 13
+ const FRUITTREE_AZALEA_TOWN ; 14
+ const FRUITTREE_ROUTE_42_1 ; 15
+ const FRUITTREE_ROUTE_42_2 ; 16
+ const FRUITTREE_ROUTE_42_3 ; 17
+ const FRUITTREE_ROUTE_11 ; 18
+ const FRUITTREE_ROUTE_2 ; 19
+ const FRUITTREE_ROUTE_1 ; 1a
+ const FRUITTREE_ROUTE_8 ; 1b
+ const FRUITTREE_PEWTER_CITY_1 ; 1c
+ const FRUITTREE_PEWTER_CITY_2 ; 1d
+ const FRUITTREE_FUCHSIA_CITY ; 1e
+NUM_FRUIT_TREES EQU const_value +- 1
+
+CMDQUEUE_TYPE EQU 0
+CMDQUEUE_ADDR EQU 1
+CMDQUEUE_03 EQU 3
+CMDQUEUE_04 EQU 4
+CMDQUEUE_05 EQU 5
+CMDQUEUE_ENTRY_SIZE EQU 6
+CMDQUEUE_CAPACITY EQU 4
diff --git a/constants/map_setup_constants.asm b/constants/map_setup_constants.asm
new file mode 100644
index 00000000..0ee137ea
--- /dev/null
+++ b/constants/map_setup_constants.asm
@@ -0,0 +1,71 @@
+const_value SET $f1
+ const MAPSETUP_WARP
+ const MAPSETUP_CONTINUE
+ const MAPSETUP_RELOADMAP
+ const MAPSETUP_TELEPORT
+ const MAPSETUP_DOOR
+ const MAPSETUP_FALL
+ const MAPSETUP_CONNECTION
+ const MAPSETUP_LINKRETURN
+ const MAPSETUP_TRAIN
+ const MAPSETUP_SUBMENU
+ const MAPSETUP_BADWARP
+ const MAPSETUP_FLY
+
+const_value SET 1
+ const MAPCALLBACK_TILES
+ const MAPCALLBACK_OBJECTS
+ const MAPCALLBACK_CMDQUEUE
+ const MAPCALLBACK_SPRITES
+ const MAPCALLBACK_NEWMAP
+
+; Command descriptions from Condensation water's scripting compendium. const_def
+ const_def
+
+ const map_lcd_on ; 00
+ const map_lcd_off ; 01
+ const map_sound_off ; 02
+ const map_music ; 03
+ const map_start_music ; 04
+ const map_fade_music ; 05
+ const map_fade ; 06
+ const map_bike_music ; 07
+ const map_music_force ; 08
+ const map_max_volume ; 09
+ const map_load_blocks ; 0a
+ const map_connection_blocks ; 0b
+ const map_save_screen ; 0c
+ const map_buffer_screen ; 0d
+ const map_load_graphics ; 0e
+ const map_load_tileset_header ; 0f
+ const map_time_of_day ; 10
+ const map_palettes ; 11
+ const map_wildmons ; 12
+ const map_sprites ; 13
+ const map_change_callback ; 14
+ const map_start_callback ; 15
+ const map_load_objects ; 16
+ const map_load_spawn ; 17
+ const map_load_connection ; 18
+ const map_load_warp ; 19
+ const map_attributes ; 1a
+ const map_attributes_2 ; 1b
+ const map_clear_bg_palettes ; 1c
+ const map_fade_out_palettes ; 1d
+ const map_fade_in_palettes ; 1e
+ const map_anchor_screen ; 1f
+ const map_warp_face ; 20
+ const map_face_down ; 21
+ const map_spawn_coord ; 22
+ const map_player_coord ; 23
+ const map_prolong_sprites ; 24
+ const map_delay_sprites ; 25
+ const map_update_roam ; 26
+ const map_keep_roam ; 27
+ const map_fade_out_music ; 28
+ const map_animations_on ; 29
+ const map_animations_off ; 2a
+ const map_keep_palettes ; 2b
+ const map_text_scroll_off ; 2c
+ const map_stop_script ; 2d
+map_end EQU -1
diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm
new file mode 100644
index 00000000..4787f97e
--- /dev/null
+++ b/constants/misc_constants.asm
@@ -0,0 +1,214 @@
+PARTY_LENGTH EQU 6
+
+MAX_ITEMS EQU 20
+MAX_BALLS EQU 12
+MAX_KEY_ITEMS EQU 25
+MAX_PC_ITEMS EQU 50
+
+; strings
+PLAYER_NAME_LENGTH EQU 8
+BOX_NAME_LENGTH EQU 9
+PKMN_NAME_LENGTH EQU 11
+MOVE_NAME_LENGTH EQU 13
+ITEM_NAME_LENGTH EQU 13
+TRAINER_CLASS_NAME_LENGTH EQU 13
+NAME_LENGTH EQU 11
+LV_CHAR EQU $6e
+
+; GetName types
+PKMN_NAME EQU 1
+MOVE_NAME EQU 2
+ITEM_NAME EQU 4
+PARTY_OT_NAME EQU 5
+ENEMY_OT_NAME EQU 6
+TRAINER_NAME EQU 7
+
+; hp
+HP_GREEN EQU 0
+HP_YELLOW EQU 1
+HP_RED EQU 2
+
+; boxes
+MONS_PER_BOX EQU 20
+NUM_BOXES EQU 14
+
+; mail
+MAIL_STRUCT_LENGTH EQU $2f
+MAILBOX_CAPACITY EQU 10
+MAIL_MSG_LENGTH EQU $20
+
+; hall of fame
+HOF_MON_LENGTH = 1 + 2 + 2 + 1 + (PKMN_NAME_LENGTH +- 1) ; species, id, dvs, level, nick
+HOF_LENGTH = 1 + HOF_MON_LENGTH * PARTY_LENGTH + 1 ; win count, party, terminator
+NUM_HOF_TEAMS = 30
+
+
+; flag manipulation
+RESET_FLAG EQU 0
+SET_FLAG EQU 1
+CHECK_FLAG EQU 2
+
+; Boolean checks
+FALSE EQU 0
+TRUE EQU 1
+
+; joypad
+
+ const_def
+ const A_BUTTON_F
+ const B_BUTTON_F
+ const SELECT_F
+ const START_F
+ const D_RIGHT_F
+ const D_LEFT_F
+ const D_UP_F
+ const D_DOWN_F
+
+NO_INPUT EQU %00000000
+A_BUTTON EQU 1 << A_BUTTON_F
+B_BUTTON EQU 1 << B_BUTTON_F
+SELECT EQU 1 << SELECT_F
+START EQU 1 << START_F
+D_RIGHT EQU 1 << D_RIGHT_F
+D_LEFT EQU 1 << D_LEFT_F
+D_UP EQU 1 << D_UP_F
+D_DOWN EQU 1 << D_DOWN_F
+
+BUTTONS EQU A_BUTTON | B_BUTTON | SELECT | START
+D_PAD EQU D_RIGHT | D_LEFT | D_UP | D_DOWN
+
+R_DPAD EQU %00100000
+R_BUTTONS EQU %00010000
+
+; screen
+HP_BAR_LENGTH EQU 6
+HP_BAR_LENGTH_PX EQU HP_BAR_LENGTH * 8
+EXP_BAR_LENGTH EQU 8
+EXP_BAR_LENGTH_PX EQU EXP_BAR_LENGTH * 8
+
+SCREEN_WIDTH EQU 20
+SCREEN_HEIGHT EQU 18
+SCREEN_WIDTH_PX EQU SCREEN_WIDTH * 8
+SCREEN_HEIGHT_PX EQU SCREEN_HEIGHT * 8
+
+BG_MAP_WIDTH EQU 32
+BG_MAP_HEIGHT EQU 32
+WMISC_WIDTH EQU 6 * 4
+WMISC_HEIGHT EQU 5 * 4
+
+TILE_WIDTH EQU 8
+
+
+; movement
+STEP_SLOW EQU 0
+STEP_WALK EQU 1
+STEP_BIKE EQU 2
+STEP_LEDGE EQU 3
+STEP_ICE EQU 4
+STEP_TURN EQU 5
+STEP_BACK_LEDGE EQU 6
+STEP_WALK_IN_PLACE EQU 7
+
+
+; ai
+CONTEXT_USE_F EQU 6
+UNKNOWN_USE_F EQU 5
+ALWAYS_USE_F EQU 4
+SWITCH_SOMETIMES_F EQU 2
+SWITCH_RARELY_F EQU 1
+SWITCH_OFTEN_F EQU 0
+
+CONTEXT_USE EQU 1 << CONTEXT_USE_F
+UNKNOWN_USE EQU 1 << UNKNOWN_USE_F
+ALWAYS_USE EQU 1 << ALWAYS_USE_F
+SWITCH_SOMETIMES EQU 1 << SWITCH_SOMETIMES_F
+SWITCH_RARELY EQU 1 << SWITCH_RARELY_F
+SWITCH_OFTEN EQU 1 << SWITCH_OFTEN_F
+SPRITE_GFX_LIST_CAPACITY EQU $20
+
+const_value = 1
+ const MOM_ITEM
+ const MOM_DOLL
+
+BATTLETOWER_NROFPKMNS EQU 3
+BATTLETOWER_TRAINERDATALENGTH EQU $24
+BATTLETOWER_NROFTRAINERS EQU 7
+BATTLETOWER_NRMONSPERLEVELBRACKET EQU BATTLETOWER_NROFPKMNS * BATTLETOWER_NROFTRAINERS
+BATTLE_TOWER_STRUCT_LENGTH EQU $e0 ; NAME_LENGTH + 3 * (PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH) + BATTLETOWER_TRAINERDATALENGTH
+
+NUM_WILDMONS_PER_AREA_TIME_OF_DAY EQU 7
+WILDMON_GRASS_STRUCTURE_LENGTH EQU 2 + 3 * (1 + 2 * NUM_WILDMONS_PER_AREA_TIME_OF_DAY)
+
+MOBILE_EVENT_OBJECT_GS_BALL EQU $b
+
+MALE EQU 0
+FEMALE EQU 1
+
+PRINTNUM_MONEY_F EQU 5
+PRINTNUM_RIGHTALIGN_F EQU 6
+PRINTNUM_LEADINGZEROS_F EQU 7
+
+PRINTNUM_MONEY EQU 1 << PRINTNUM_MONEY_F
+PRINTNUM_RIGHTALIGN EQU 1 << PRINTNUM_RIGHTALIGN_F
+PRINTNUM_LEADINGZEROS EQU 1 << PRINTNUM_LEADINGZEROS_F
+
+const_value = 1
+ const HAPPINESS_GAINLEVEL ; 01
+ const HAPPINESS_USEDITEM ; 02
+ const HAPPINESS_USEDXITEM ; 03
+ const HAPPINESS_GYMBATTLE ; 04
+ const HAPPINESS_LEARNMOVE ; 05
+ const HAPPINESS_FAINTED ; 06
+ const HAPPINESS_POISONFAINT ; 07
+ const HAPPINESS_BEATENBYSTRONGFOE ; 08
+ const HAPPINESS_YOUNGCUT1 ; 09
+ const HAPPINESS_YOUNGCUT2 ; 0a
+ const HAPPINESS_YOUNGCUT3 ; 0b
+ const HAPPINESS_OLDERCUT1 ; 0c
+ const HAPPINESS_OLDERCUT2 ; 0d
+ const HAPPINESS_OLDERCUT3 ; 0e
+ const HAPPINESS_BITTERPOWDER ; 0f
+ const HAPPINESS_ENERGYROOT ; 10
+ const HAPPINESS_REVIVALHERB ; 11
+ const HAPPINESS_MASSAGE ; 12
+ const HAPPINESS_GAINLEVELATHOME ; 13
+
+
+ const_def
+ const LINK_NULL
+ const LINK_TIMECAPSULE
+ const LINK_TRADECENTER
+ const LINK_COLOSSEUM
+ const LINK_MOBILE
+
+SERIAL_TIMECAPSULE EQU $60
+SERIAL_TRADECENTER EQU $70
+SERIAL_BATTLE EQU $80
+
+HMENURETURN_SCRIPT EQU %10000000
+HMENURETURN_ASM EQU %11111111
+
+NUM_MON_SUBMENU_ITEMS EQU 8
+
+ const_def
+ const ZEPHYRBADGE
+ const HIVEBADGE
+ const PLAINBADGE
+ const FOGBADGE
+ const MINERALBADGE
+ const STORMBADGE
+ const GLACIERBADGE
+ const RISINGBADGE
+NUM_JOHTO_BADGES EQU const_value
+ const_def
+ const BOULDERBADGE
+ const CASCADEBADGE
+ const THUNDERBADGE
+ const RAINBOWBADGE
+ const SOULBADGE
+ const MARSHBADGE
+ const VOLCANOBADGE
+ const EARTHBADGE
+NUM_KANTO_BADGES EQU const_value
+NUM_BADGES EQU NUM_JOHTO_BADGES + NUM_KANTO_BADGES
+NUM_KANA EQU $2d
diff --git a/constants/move_constants.asm b/constants/move_constants.asm
new file mode 100644
index 00000000..8492c241
--- /dev/null
+++ b/constants/move_constants.asm
@@ -0,0 +1,299 @@
+
+ const_def
+ const NO_MOVE ; $00
+ const POUND ; $01
+ const KARATE_CHOP ; $02
+ const DOUBLESLAP ; $03
+ const COMET_PUNCH ; $04
+ const MEGA_PUNCH ; $05
+ const PAY_DAY ; $06
+ const FIRE_PUNCH ; $07
+ const ICE_PUNCH ; $08
+ const THUNDERPUNCH ; $09
+ const SCRATCH ; $0a
+ const VICEGRIP ; $0b
+ const GUILLOTINE ; $0c
+ const RAZOR_WIND ; $0d
+ const SWORDS_DANCE ; $0e
+ const CUT ; $0f
+ const GUST ; $10
+ const WING_ATTACK ; $11
+ const WHIRLWIND ; $12
+ const FLY ; $13
+ const BIND ; $14
+ const SLAM ; $15
+ const VINE_WHIP ; $16
+ const STOMP ; $17
+ const DOUBLE_KICK ; $18
+ const MEGA_KICK ; $19
+ const JUMP_KICK ; $1a
+ const ROLLING_KICK ; $1b
+ const SAND_ATTACK ; $1c
+ const HEADBUTT ; $1d
+ const HORN_ATTACK ; $1e
+ const FURY_ATTACK ; $1f
+ const HORN_DRILL ; $20
+ const TACKLE ; $21
+ const BODY_SLAM ; $22
+ const WRAP ; $23
+ const TAKE_DOWN ; $24
+ const THRASH ; $25
+ const DOUBLE_EDGE ; $26
+ const TAIL_WHIP ; $27
+ const POISON_STING ; $28
+ const TWINEEDLE ; $29
+ const PIN_MISSILE ; $2a
+ const LEER ; $2b
+ const BITE ; $2c
+ const GROWL ; $2d
+ const ROAR ; $2e
+ const SING ; $2f
+ const SUPERSONIC ; $30
+ const SONICBOOM ; $31
+ const DISABLE ; $32
+ const ACID ; $33
+ const EMBER ; $34
+ const FLAMETHROWER ; $35
+ const MIST ; $36
+ const WATER_GUN ; $37
+ const HYDRO_PUMP ; $38
+ const SURF ; $39
+ const ICE_BEAM ; $3a
+ const BLIZZARD ; $3b
+ const PSYBEAM ; $3c
+ const BUBBLEBEAM ; $3d
+ const AURORA_BEAM ; $3e
+ const HYPER_BEAM ; $3f
+ const PECK ; $40
+ const DRILL_PECK ; $41
+ const SUBMISSION ; $42
+ const LOW_KICK ; $43
+ const COUNTER ; $44
+ const SEISMIC_TOSS ; $45
+ const STRENGTH ; $46
+ const ABSORB ; $47
+ const MEGA_DRAIN ; $48
+ const LEECH_SEED ; $49
+ const GROWTH ; $4a
+ const RAZOR_LEAF ; $4b
+ const SOLARBEAM ; $4c
+ const POISONPOWDER ; $4d
+ const STUN_SPORE ; $4e
+ const SLEEP_POWDER ; $4f
+ const PETAL_DANCE ; $50
+ const STRING_SHOT ; $51
+ const DRAGON_RAGE ; $52
+ const FIRE_SPIN ; $53
+ const THUNDERSHOCK ; $54
+ const THUNDERBOLT ; $55
+ const THUNDER_WAVE ; $56
+ const THUNDER ; $57
+ const ROCK_THROW ; $58
+ const EARTHQUAKE ; $59
+ const FISSURE ; $5a
+ const DIG ; $5b
+ const TOXIC ; $5c
+ const CONFUSION ; $5d
+ const PSYCHIC_M ; $5e
+ const HYPNOSIS ; $5f
+ const MEDITATE ; $60
+ const AGILITY ; $61
+ const QUICK_ATTACK ; $62
+ const RAGE ; $63
+ const TELEPORT ; $64
+ const NIGHT_SHADE ; $65
+ const MIMIC ; $66
+ const SCREECH ; $67
+ const DOUBLE_TEAM ; $68
+ const RECOVER ; $69
+ const HARDEN ; $6a
+ const MINIMIZE ; $6b
+ const SMOKESCREEN ; $6c
+ const CONFUSE_RAY ; $6d
+ const WITHDRAW ; $6e
+ const DEFENSE_CURL ; $6f
+ const BARRIER ; $70
+ const LIGHT_SCREEN ; $71
+ const HAZE ; $72
+ const REFLECT ; $73
+ const FOCUS_ENERGY ; $74
+ const BIDE ; $75
+ const METRONOME ; $76
+ const MIRROR_MOVE ; $77
+ const SELFDESTRUCT ; $78
+ const EGG_BOMB ; $79
+ const LICK ; $7a
+ const SMOG ; $7b
+ const SLUDGE ; $7c
+ const BONE_CLUB ; $7d
+ const FIRE_BLAST ; $7e
+ const WATERFALL ; $7f
+ const CLAMP ; $80
+ const SWIFT ; $81
+ const SKULL_BASH ; $82
+ const SPIKE_CANNON ; $83
+ const CONSTRICT ; $84
+ const AMNESIA ; $85
+ const KINESIS ; $86
+ const SOFTBOILED ; $87
+ const HI_JUMP_KICK ; $88
+ const GLARE ; $89
+ const DREAM_EATER ; $8a
+ const POISON_GAS ; $8b
+ const BARRAGE ; $8c
+ const LEECH_LIFE ; $8d
+ const LOVELY_KISS ; $8e
+ const SKY_ATTACK ; $8f
+ const TRANSFORM ; $90
+ const BUBBLE ; $91
+ const DIZZY_PUNCH ; $92
+ const SPORE ; $93
+ const FLASH ; $94
+ const PSYWAVE ; $95
+ const SPLASH ; $96
+ const ACID_ARMOR ; $97
+ const CRABHAMMER ; $98
+ const EXPLOSION ; $99
+ const FURY_SWIPES ; $9a
+ const BONEMERANG ; $9b
+ const REST ; $9c
+ const ROCK_SLIDE ; $9d
+ const HYPER_FANG ; $9e
+ const SHARPEN ; $9f
+ const CONVERSION ; $a0
+ const TRI_ATTACK ; $a1
+ const SUPER_FANG ; $a2
+ const SLASH ; $a3
+ const SUBSTITUTE ; $a4
+ const STRUGGLE ; $a5
+ const SKETCH ; $a6
+ const TRIPLE_KICK ; $a7
+ const THIEF ; $a8
+ const SPIDER_WEB ; $a9
+ const MIND_READER ; $aa
+ const NIGHTMARE ; $ab
+ const FLAME_WHEEL ; $ac
+ const SNORE ; $ad
+ const CURSE ; $ae
+ const FLAIL ; $af
+ const CONVERSION2 ; $b0
+ const AEROBLAST ; $b1
+ const COTTON_SPORE ; $b2
+ const REVERSAL ; $b3
+ const SPITE ; $b4
+ const POWDER_SNOW ; $b5
+ const PROTECT ; $b6
+ const MACH_PUNCH ; $b7
+ const SCARY_FACE ; $b8
+ const FAINT_ATTACK ; $b9
+ const SWEET_KISS ; $ba
+ const BELLY_DRUM ; $bb
+ const SLUDGE_BOMB ; $bc
+ const MUD_SLAP ; $bd
+ const OCTAZOOKA ; $be
+ const SPIKES ; $bf
+ const ZAP_CANNON ; $c0
+ const FORESIGHT ; $c1
+ const DESTINY_BOND ; $c2
+ const PERISH_SONG ; $c3
+ const ICY_WIND ; $c4
+ const DETECT ; $c5
+ const BONE_RUSH ; $c6
+ const LOCK_ON ; $c7
+ const OUTRAGE ; $c8
+ const SANDSTORM ; $c9
+ const GIGA_DRAIN ; $ca
+ const ENDURE ; $cb
+ const CHARM ; $cc
+ const ROLLOUT ; $cd
+ const FALSE_SWIPE ; $ce
+ const SWAGGER ; $cf
+ const MILK_DRINK ; $d0
+ const SPARK ; $d1
+ const FURY_CUTTER ; $d2
+ const STEEL_WING ; $d3
+ const MEAN_LOOK ; $d4
+ const ATTRACT ; $d5
+ const SLEEP_TALK ; $d6
+ const HEAL_BELL ; $d7
+ const RETURN ; $d8
+ const PRESENT ; $d9
+ const FRUSTRATION ; $da
+ const SAFEGUARD ; $db
+ const PAIN_SPLIT ; $dc
+ const SACRED_FIRE ; $dd
+ const MAGNITUDE ; $de
+ const DYNAMICPUNCH ; $df
+ const MEGAHORN ; $e0
+ const DRAGONBREATH ; $e1
+ const BATON_PASS ; $e2
+ const ENCORE ; $e3
+ const PURSUIT ; $e4
+ const RAPID_SPIN ; $e5
+ const SWEET_SCENT ; $e6
+ const IRON_TAIL ; $e7
+ const METAL_CLAW ; $e8
+ const VITAL_THROW ; $e9
+ const MORNING_SUN ; $ea
+ const SYNTHESIS ; $eb
+ const MOONLIGHT ; $ec
+ const HIDDEN_POWER ; $ed
+ const CROSS_CHOP ; $ee
+ const TWISTER ; $ef
+ const RAIN_DANCE ; $f0
+ const SUNNY_DAY ; $f1
+ const CRUNCH ; $f2
+ const MIRROR_COAT ; $f3
+ const PSYCH_UP ; $f4
+ const EXTREMESPEED ; $f5
+ const ANCIENTPOWER ; $f6
+ const SHADOW_BALL ; $f7
+ const FUTURE_SIGHT ; $f8
+ const ROCK_SMASH ; $f9
+ const WHIRLPOOL ; $fa
+ const BEAT_UP ; $fb
+
+const_value SET const_value + -1
+
+ const NUM_ATTACKS ; $fb
+
+; Battle animations use the same constants
+; as the moves up to this point.
+ const ANIM_FC ; $fc
+ const ANIM_FD ; $fd
+ const ANIM_FE ; $fe
+ const ANIM_SWEET_SCENT_2 ; $ff
+ const ANIM_THROW_POKE_BALL ; $100
+ const ANIM_SEND_OUT_MON ; $101
+ const ANIM_RETURN_MON ; $102
+ const ANIM_CONFUSED ; $103
+ const ANIM_SLP ; $104
+ const ANIM_BRN ; $105
+ const ANIM_PSN ; $106
+ const ANIM_SAP ; $107
+ const ANIM_FRZ ; $108
+ const ANIM_PAR ; $109
+ const ANIM_IN_LOVE ; $10a
+ const ANIM_IN_SANDSTORM ; $10b
+ const ANIM_IN_NIGHTMARE ; $10c
+ const ANIM_IN_WHIRLPOOL ; $10d
+; battle anims
+ const ANIM_MISS ; $10e
+ const ANIM_ENEMY_DAMAGE ; $10f
+ const ANIM_ENEMY_STAT_DOWN ; $110
+ const ANIM_PLAYER_STAT_DOWN ; $111
+ const ANIM_PLAYER_DAMAGE ; $112
+ const ANIM_WOBBLE ; $113
+ const ANIM_SHAKE ; $114
+ const ANIM_HIT_CONFUSION ; $115
+
+; wNumHits uses offsets from ANIM_MISS
+ const_def
+ const BATTLEANIM_NONE
+ const BATTLEANIM_ENEMY_DAMAGE
+ const BATTLEANIM_ENEMY_STAT_DOWN
+ const BATTLEANIM_PLAYER_STAT_DOWN
+ const BATTLEANIM_PLAYER_DAMAGE
+ const BATTLEANIM_WOBBLE
+ const BATTLEANIM_SHAKE
+ const BATTLEANIM_HIT_CONFUSION \ No newline at end of file
diff --git a/constants/music_constants.asm b/constants/music_constants.asm
new file mode 100644
index 00000000..5c54c3dc
--- /dev/null
+++ b/constants/music_constants.asm
@@ -0,0 +1,107 @@
+ const_def
+
+ const MUSIC_NONE ; 00
+ const MUSIC_TITLE ; 01
+ const MUSIC_ROUTE_1 ; 02
+ const MUSIC_ROUTE_3 ; 03
+ const MUSIC_ROUTE_12 ; 04
+ const MUSIC_MAGNET_TRAIN ; 05
+ const MUSIC_KANTO_GYM_LEADER_BATTLE ; 06
+ const MUSIC_KANTO_TRAINER_BATTLE ; 07
+ const MUSIC_KANTO_WILD_BATTLE ; 08
+ const MUSIC_POKEMON_CENTER ; 09
+ const MUSIC_HIKER_ENCOUNTER ; 0a
+ const MUSIC_LASS_ENCOUNTER ; 0b
+ const MUSIC_OFFICER_ENCOUNTER ; 0c
+ const MUSIC_HEAL ; 0d
+ const MUSIC_LAVENDER_TOWN ; 0e
+ const MUSIC_ROUTE_2 ; 0f
+ const MUSIC_MT_MOON ; 10
+ const MUSIC_SHOW_ME_AROUND ; 11
+ const MUSIC_GAME_CORNER ; 12
+ const MUSIC_BICYCLE ; 13
+ const MUSIC_HALL_OF_FAME ; 14
+ const MUSIC_VIRIDIAN_CITY ; 15
+ const MUSIC_CELADON_CITY ; 16
+ const MUSIC_TRAINER_VICTORY ; 17
+ const MUSIC_WILD_VICTORY ; 18
+ const MUSIC_GYM_VICTORY ; 19
+ const MUSIC_MT_MOON_SQUARE ; 1a
+ const MUSIC_GYM ; 1b
+ const MUSIC_PALLET_TOWN ; 1c
+ const MUSIC_POKEMON_TALK ; 1d
+ const MUSIC_PROF_OAK ; 1e
+ const MUSIC_RIVAL_ENCOUNTER ; 1f
+ const MUSIC_RIVAL_AFTER ; 20
+ const MUSIC_SURF ; 21
+ const MUSIC_EVOLUTION ; 22
+ const MUSIC_NATIONAL_PARK ; 23
+ const MUSIC_CREDITS ; 24
+ const MUSIC_AZALEA_TOWN ; 25
+ const MUSIC_CHERRYGROVE_CITY ; 26
+ const MUSIC_KIMONO_ENCOUNTER ; 27
+ const MUSIC_UNION_CAVE ; 28
+ const MUSIC_JOHTO_WILD_BATTLE ; 29
+ const MUSIC_JOHTO_TRAINER_BATTLE ; 2a
+ const MUSIC_ROUTE_30 ; 2b
+ const MUSIC_ECRUTEAK_CITY ; 2c
+ const MUSIC_VIOLET_CITY ; 2d
+ const MUSIC_JOHTO_GYM_LEADER_BATTLE ; 2e
+ const MUSIC_CHAMPION_BATTLE ; 2f
+ const MUSIC_RIVAL_BATTLE ; 30
+ const MUSIC_ROCKET_BATTLE ; 31
+ const MUSIC_PROF_ELM ; 32
+ const MUSIC_DARK_CAVE ; 33
+ const MUSIC_ROUTE_29 ; 34
+ const MUSIC_ROUTE_36 ; 35
+ const MUSIC_SS_AQUA ; 36
+ const MUSIC_YOUNGSTER_ENCOUNTER ; 37
+ const MUSIC_BEAUTY_ENCOUNTER ; 38
+ const MUSIC_ROCKET_ENCOUNTER ; 39
+ const MUSIC_POKEMANIAC_ENCOUNTER ; 3a
+ const MUSIC_SAGE_ENCOUNTER ; 3b
+ const MUSIC_NEW_BARK_TOWN ; 3c
+ const MUSIC_GOLDENROD_CITY ; 3d
+ const MUSIC_VERMILION_CITY ; 3e
+ const MUSIC_POKEMON_CHANNEL ; 3f
+ const MUSIC_POKE_FLUTE_CHANNEL ; 40
+ const MUSIC_TIN_TOWER ; 41
+ const MUSIC_SPROUT_TOWER ; 42
+ const MUSIC_BURNED_TOWER ; 43
+ const MUSIC_LIGHTHOUSE ; 44
+ const MUSIC_LAKE_OF_RAGE ; 45
+ const MUSIC_INDIGO_PLATEAU ; 46
+ const MUSIC_ROUTE_37 ; 47
+ const MUSIC_ROCKET_HIDEOUT ; 48
+ const MUSIC_DRAGONS_DEN ; 49
+ const MUSIC_JOHTO_WILD_BATTLE_NIGHT ; 4a
+ const MUSIC_RUINS_OF_ALPH_RADIO ; 4b
+ const MUSIC_CAPTURE ; 4c
+ const MUSIC_ROUTE_26 ; 4d
+ const MUSIC_MOM ; 4e
+ const MUSIC_VICTORY_ROAD ; 4f
+ const MUSIC_POKEMON_LULLABY ; 50
+ const MUSIC_POKEMON_MARCH ; 51
+ const MUSIC_GS_OPENING ; 52
+ const MUSIC_GS_OPENING_2 ; 53
+ const MUSIC_MAIN_MENU ; 54
+ const MUSIC_RUINS_OF_ALPH_INTERIOR ; 55
+ const MUSIC_ROCKET_OVERTURE ; 56
+ const MUSIC_DANCING_HALL ; 57
+ const MUSIC_BUG_CATCHING_CONTEST_RANKING ; 58
+ const MUSIC_BUG_CATCHING_CONTEST ; 59
+ const MUSIC_LAKE_OF_RAGE_ROCKET_RADIO ; 5a
+ const MUSIC_PRINTER ; 5b
+ const MUSIC_POST_CREDITS ; 5c
+ const MUSIC_CLAIR ; 5d
+ const MUSIC_MOBILE_ADAPTER_MENU ; 5e
+ const MUSIC_MOBILE_ADAPTER ; 5f
+ const MUSIC_BUENAS_PASSWORD ; 60
+ const MUSIC_MYSTICALMAN_ENCOUNTER ; 61
+ const MUSIC_CRYSTAL_OPENING ; 62
+ const MUSIC_BATTLE_TOWER_THEME ; 63
+ const MUSIC_SUICUNE_BATTLE ; 64
+ const MUSIC_BATTLE_TOWER_LOBBY ; 65
+ const MUSIC_MOBILE_CENTER ; 66
+
+MUSIC_MAHOGANY_MART EQU $64 ; leftover from gold
diff --git a/constants/phone_constants.asm b/constants/phone_constants.asm
new file mode 100644
index 00000000..1eb2b2d2
--- /dev/null
+++ b/constants/phone_constants.asm
@@ -0,0 +1,67 @@
+
+ const_def
+ const PHONE_00
+ const PHONE_MOM
+ const PHONE_OAK
+ const PHONE_BILL
+ const PHONE_ELM
+ const PHONE_SCHOOLBOY_JACK
+ const PHONE_POKEFAN_BEVERLY
+ const PHONE_SAILOR_HUEY
+ const PHONE_08
+ const PHONE_09
+ const PHONE_0A
+ const PHONE_COOLTRAINERM_GAVEN
+ const PHONE_COOLTRAINERF_BETH
+ const PHONE_BIRDKEEPER_JOSE
+ const PHONE_COOLTRAINERF_REENA
+ const PHONE_YOUNGSTER_JOEY
+ const PHONE_BUG_CATCHER_WADE
+ const PHONE_FISHER_RALPH
+ const PHONE_PICNICKER_LIZ
+ const PHONE_HIKER_ANTHONY
+ const PHONE_CAMPER_TODD
+ const PHONE_PICNICKER_GINA
+ const PHONE_JUGGLER_IRWIN
+ const PHONE_BUG_CATCHER_ARNIE
+ const PHONE_SCHOOLBOY_ALAN
+ const PHONE_19
+ const PHONE_LASS_DANA
+ const PHONE_SCHOOLBOY_CHAD
+ const PHONE_POKEFANM_DEREK
+ const PHONE_FISHER_TULLY
+ const PHONE_POKEMANIAC_BRENT
+ const PHONE_PICNICKER_TIFFANY
+ const PHONE_BIRDKEEPER_VANCE
+ const PHONE_FISHER_WILTON
+ const PHONE_BLACKBELT_KENJI
+ const PHONE_HIKER_PARRY
+ const PHONE_PICNICKER_ERIN
+ const PHONE_BUENA
+
+ const_def
+ const SPECIALCALL_NONE
+ const SPECIALCALL_POKERUS
+ const SPECIALCALL_ROBBED
+ const SPECIALCALL_ASSISTANT
+ const SPECIALCALL_WEIRDBROADCAST
+ const SPECIALCALL_SSTICKET
+ const SPECIALCALL_BIKESHOP
+ const SPECIALCALL_WORRIED
+ const SPECIALCALL_MASTERBALL
+
+ const_def
+ const PHONE_CONTACT_TRAINER_CLASS
+ const PHONE_CONTACT_TRAINER_NUMBER
+ const PHONE_CONTACT_MAP_GROUP
+ const PHONE_CONTACT_MAP_NUMBER
+ const PHONE_CONTACT_SCRIPT1_TIME
+ const PHONE_CONTACT_SCRIPT1_BANK
+ const PHONE_CONTACT_SCRIPT1_ADDR_LO
+ const PHONE_CONTACT_SCRIPT1_ADDR_HI
+ const PHONE_CONTACT_SCRIPT2_TIME
+ const PHONE_CONTACT_SCRIPT2_BANK
+ const PHONE_CONTACT_SCRIPT2_ADDR_LO
+ const PHONE_CONTACT_SCRIPT2_ADDR_HI
+PHONE_TABLE_WIDTH EQU const_value
+CONTACT_LIST_SIZE EQU 10
diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm
new file mode 100644
index 00000000..5041f706
--- /dev/null
+++ b/constants/pokemon_constants.asm
@@ -0,0 +1,321 @@
+
+; pokemon
+const_value set 1
+ const BULBASAUR
+ const IVYSAUR
+ const VENUSAUR
+ const CHARMANDER
+ const CHARMELEON
+ const CHARIZARD
+ const SQUIRTLE
+ const WARTORTLE
+ const BLASTOISE
+ const CATERPIE
+ const METAPOD
+ const BUTTERFREE
+ const WEEDLE
+ const KAKUNA
+ const BEEDRILL
+ const PIDGEY
+ const PIDGEOTTO
+ const PIDGEOT
+ const RATTATA
+ const RATICATE
+ const SPEAROW
+ const FEAROW
+ const EKANS
+ const ARBOK
+ const PIKACHU
+ const RAICHU
+ const SANDSHREW
+ const SANDSLASH
+ const NIDORAN_F
+ const NIDORINA
+ const NIDOQUEEN
+ const NIDORAN_M
+ const NIDORINO
+ const NIDOKING
+ const CLEFAIRY
+ const CLEFABLE
+ const VULPIX
+ const NINETALES
+ const JIGGLYPUFF
+ const WIGGLYTUFF
+ const ZUBAT
+ const GOLBAT
+ const ODDISH
+ const GLOOM
+ const VILEPLUME
+ const PARAS
+ const PARASECT
+ const VENONAT
+ const VENOMOTH
+ const DIGLETT
+ const DUGTRIO
+ const MEOWTH
+ const PERSIAN
+ const PSYDUCK
+ const GOLDUCK
+ const MANKEY
+ const PRIMEAPE
+ const GROWLITHE
+ const ARCANINE
+ const POLIWAG
+ const POLIWHIRL
+ const POLIWRATH
+ const ABRA
+ const KADABRA
+ const ALAKAZAM
+ const MACHOP
+ const MACHOKE
+ const MACHAMP
+ const BELLSPROUT
+ const WEEPINBELL
+ const VICTREEBEL
+ const TENTACOOL
+ const TENTACRUEL
+ const GEODUDE
+ const GRAVELER
+ const GOLEM
+ const PONYTA
+ const RAPIDASH
+ const SLOWPOKE
+ const SLOWBRO
+ const MAGNEMITE
+ const MAGNETON
+ const FARFETCH_D
+ const DODUO
+ const DODRIO
+ const SEEL
+ const DEWGONG
+ const GRIMER
+ const MUK
+ const SHELLDER
+ const CLOYSTER
+ const GASTLY
+ const HAUNTER
+ const GENGAR
+ const ONIX
+ const DROWZEE
+ const HYPNO
+ const KRABBY
+ const KINGLER
+ const VOLTORB
+ const ELECTRODE
+ const EXEGGCUTE
+ const EXEGGUTOR
+ const CUBONE
+ const MAROWAK
+ const HITMONLEE
+ const HITMONCHAN
+ const LICKITUNG
+ const KOFFING
+ const WEEZING
+ const RHYHORN
+ const RHYDON
+ const CHANSEY
+ const TANGELA
+ const KANGASKHAN
+ const HORSEA
+ const SEADRA
+ const GOLDEEN
+ const SEAKING
+ const STARYU
+ const STARMIE
+ const MR__MIME
+ const SCYTHER
+ const JYNX
+ const ELECTABUZZ
+ const MAGMAR
+ const PINSIR
+ const TAUROS
+ const MAGIKARP
+ const GYARADOS
+ const LAPRAS
+ const DITTO
+ const EEVEE
+ const VAPOREON
+ const JOLTEON
+ const FLAREON
+ const PORYGON
+ const OMANYTE
+ const OMASTAR
+ const KABUTO
+ const KABUTOPS
+ const AERODACTYL
+ const SNORLAX
+ const ARTICUNO
+ const ZAPDOS
+ const MOLTRES
+ const DRATINI
+ const DRAGONAIR
+ const DRAGONITE
+ const MEWTWO
+ const MEW
+ const CHIKORITA
+ const BAYLEEF
+ const MEGANIUM
+ const CYNDAQUIL
+ const QUILAVA
+ const TYPHLOSION
+ const TOTODILE
+ const CROCONAW
+ const FERALIGATR
+ const SENTRET
+ const FURRET
+ const HOOTHOOT
+ const NOCTOWL
+ const LEDYBA
+ const LEDIAN
+ const SPINARAK
+ const ARIADOS
+ const CROBAT
+ const CHINCHOU
+ const LANTURN
+ const PICHU
+ const CLEFFA
+ const IGGLYBUFF
+ const TOGEPI
+ const TOGETIC
+ const NATU
+ const XATU
+ const MAREEP
+ const FLAAFFY
+ const AMPHAROS
+ const BELLOSSOM
+ const MARILL
+ const AZUMARILL
+ const SUDOWOODO
+ const POLITOED
+ const HOPPIP
+ const SKIPLOOM
+ const JUMPLUFF
+ const AIPOM
+ const SUNKERN
+ const SUNFLORA
+ const YANMA
+ const WOOPER
+ const QUAGSIRE
+ const ESPEON
+ const UMBREON
+ const MURKROW
+ const SLOWKING
+ const MISDREAVUS
+ const UNOWN
+ const WOBBUFFET
+ const GIRAFARIG
+ const PINECO
+ const FORRETRESS
+ const DUNSPARCE
+ const GLIGAR
+ const STEELIX
+ const SNUBBULL
+ const GRANBULL
+ const QWILFISH
+ const SCIZOR
+ const SHUCKLE
+ const HERACROSS
+ const SNEASEL
+ const TEDDIURSA
+ const URSARING
+ const SLUGMA
+ const MAGCARGO
+ const SWINUB
+ const PILOSWINE
+ const CORSOLA
+ const REMORAID
+ const OCTILLERY
+ const DELIBIRD
+ const MANTINE
+ const SKARMORY
+ const HOUNDOUR
+ const HOUNDOOM
+ const KINGDRA
+ const PHANPY
+ const DONPHAN
+ const PORYGON2
+ const STANTLER
+ const SMEARGLE
+ const TYROGUE
+ const HITMONTOP
+ const SMOOCHUM
+ const ELEKID
+ const MAGBY
+ const MILTANK
+ const BLISSEY
+ const RAIKOU
+ const ENTEI
+ const SUICUNE
+ const LARVITAR
+ const PUPITAR
+ const TYRANITAR
+ const LUGIA
+ const HO_OH
+ const CELEBI
+
+const_value SET const_value + -1
+
+NUM_POKEMON EQU const_value
+
+EGG EQU 253
+
+; pokemon structure in RAM
+MON_SPECIES EQUS "(PartyMon1Species - PartyMon1)"
+MON_ITEM EQUS "(PartyMon1Item - PartyMon1)"
+MON_MOVES EQUS "(PartyMon1Moves - PartyMon1)"
+MON_ID EQUS "(PartyMon1ID - PartyMon1)"
+MON_EXP EQUS "(PartyMon1Exp - PartyMon1)"
+MON_STAT_EXP EQUS "(PartyMon1StatExp - PartyMon1)"
+MON_HP_EXP EQUS "(PartyMon1HPExp - PartyMon1)"
+MON_ATK_EXP EQUS "(PartyMon1AtkExp - PartyMon1)"
+MON_DEF_EXP EQUS "(PartyMon1DefExp - PartyMon1)"
+MON_SPD_EXP EQUS "(PartyMon1SpdExp - PartyMon1)"
+MON_SPC_EXP EQUS "(PartyMon1SpcExp - PartyMon1)"
+MON_DVS EQUS "(PartyMon1DVs - PartyMon1)"
+MON_PP EQUS "(PartyMon1PP - PartyMon1)"
+MON_HAPPINESS EQUS "(PartyMon1Happiness - PartyMon1)"
+MON_PKRUS EQUS "(PartyMon1PokerusStatus - PartyMon1)"
+MON_CAUGHTDATA EQUS "(PartyMon1CaughtData - PartyMon1)"
+MON_CAUGHTLEVEL EQUS "(PartyMon1CaughtLevel - PartyMon1)"
+MON_CAUGHTTIME EQUS "(PartyMon1CaughtTime - PartyMon1)"
+MON_CAUGHTGENDER EQUS "(PartyMon1CaughtGender - PartyMon1)"
+MON_CAUGHTLOCATION EQUS "(PartyMon1CaughtLocation - PartyMon1)"
+MON_LEVEL EQUS "(PartyMon1Level - PartyMon1)"
+MON_STATUS EQUS "(PartyMon1Status - PartyMon1)"
+MON_HP EQUS "(PartyMon1HP - PartyMon1)"
+MON_MAXHP EQUS "(PartyMon1MaxHP - PartyMon1)"
+MON_ATK EQUS "(PartyMon1Attack - PartyMon1)"
+MON_DEF EQUS "(PartyMon1Defense - PartyMon1)"
+MON_SPD EQUS "(PartyMon1Speed - PartyMon1)"
+MON_SAT EQUS "(PartyMon1SpclAtk - PartyMon1)"
+MON_SDF EQUS "(PartyMon1SpclDef - PartyMon1)"
+BOXMON_STRUCT_LENGTH EQUS "(PartyMon1End - PartyMon1)"
+PARTYMON_STRUCT_LENGTH EQUS "(PartyMon1StatsEnd - PartyMon1)"
+REDMON_STRUCT_LENGTH EQU 44
+
+const_value SET 1
+ const MONMENU_CUT ; 1
+ const MONMENU_FLY ; 2
+ const MONMENU_SURF ; 3
+ const MONMENU_STRENGTH ; 4
+ const MONMENU_WATERFALL ; 5
+ const MONMENU_FLASH ; 6
+ const MONMENU_WHIRLPOOL ; 7
+ const MONMENU_DIG ; 8
+ const MONMENU_TELEPORT ; 9
+ const MONMENU_SOFTBOILED ; 10
+ const MONMENU_HEADBUTT ; 11
+ const MONMENU_ROCKSMASH ; 12
+ const MONMENU_MILKDRINK ; 13
+ const MONMENU_SWEETSCENT ; 14
+
+ const MONMENU_STATS ; 15
+ const MONMENU_SWITCH ; 16
+ const MONMENU_ITEM ; 17
+ const MONMENU_CANCEL ; 18
+ const MONMENU_MOVE ; 19
+ const MONMENU_MAIL ; 20
+ const MONMENU_ERROR ; 21
+
+MONMENU_FIELD_MOVE EQU 0
+MONMENU_MENUOPTION EQU 1
diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm
new file mode 100644
index 00000000..383e9bac
--- /dev/null
+++ b/constants/pokemon_data_constants.asm
@@ -0,0 +1,101 @@
+; growth rate
+ const_def
+ const MEDIUM_FAST
+ const SLIGHTLY_FAST
+ const SLIGHTLY_SLOW
+ const MEDIUM_SLOW
+ const SLOW
+ const FAST
+
+; egg group constants
+const_value SET 1
+ const MONSTER ; 1
+ const AMPHIBIAN ; 2
+ const INSECT ; 3
+ const AVIAN ; 4
+ const FIELD ; 5
+ const FAIRY ; 6
+ const PLANT ; 7
+ const HUMANSHAPE ; 8
+ const INVERTEBRATE ; 9
+ const INANIMATE ; a
+ const AMORPHOUS ; b
+ const FISH ; c
+ const LADIES_MAN ; d
+ const REPTILE ; e
+ const NO_EGGS ; f
+
+
+; menu sprites
+const_value SET 1
+ const ICON_POLIWAG
+ const ICON_JIGGLYPUFF
+ const ICON_DIGLETT
+ const ICON_PIKACHU
+ const ICON_STARYU
+ const ICON_FISH
+ const ICON_BIRD
+ const ICON_MONSTER
+ const ICON_CLEFAIRY
+ const ICON_ODDISH
+ const ICON_BUG
+ const ICON_GHOST
+ const ICON_LAPRAS
+ const ICON_HUMANSHAPE
+ const ICON_FOX
+ const ICON_EQUINE
+ const ICON_SHELL
+ const ICON_BLOB
+ const ICON_SERPENT
+ const ICON_VOLTORB
+ const ICON_SQUIRTLE
+ const ICON_BULBASAUR
+ const ICON_CHARMANDER
+ const ICON_CATERPILLAR
+ const ICON_UNOWN
+ const ICON_GEODUDE
+ const ICON_FIGHTER
+ const ICON_EGG
+ const ICON_JELLYFISH
+ const ICON_MOTH
+ const ICON_BAT
+ const ICON_SNORLAX
+ const ICON_HO_OH
+ const ICON_LUGIA
+ const ICON_GYARADOS
+ const ICON_SLOWPOKE
+ const ICON_SUDOWOODO
+ const ICON_BIGMON
+
+
+; evolution types
+const_value SET 1
+ const EVOLVE_LEVEL
+ const EVOLVE_ITEM
+ const EVOLVE_TRADE
+ const EVOLVE_HAPPINESS
+ const EVOLVE_STAT
+
+
+BASE_HAPPINESS EQU 70
+FRIEND_BALL_HAPPINESS EQU 200
+
+; happiness evolution triggers
+HAPPINESS_TO_EVOLVE EQU 220
+const_value SET 1
+ const TR_ANYTIME
+ const TR_MORNDAY
+ const TR_NITE
+
+
+; stat evolution triggers
+const_value SET 1
+ const ATK_GT_DEF
+ const ATK_LT_DEF
+ const ATK_EQ_DEF
+
+NUM_GRASSMON EQU 7
+NUM_WATERMON EQU 3
+
+GRASS_WILDDATA_LENGTH EQU (NUM_GRASSMON * 2 + 1) * 3 + 2
+WATER_WILDDATA_LENGTH EQU (NUM_WATERMON * 2 + 1) * 1 + 2
diff --git a/constants/radio_constants.asm b/constants/radio_constants.asm
new file mode 100644
index 00000000..92aa39ad
--- /dev/null
+++ b/constants/radio_constants.asm
@@ -0,0 +1,121 @@
+ const_def
+ const OAKS_POKEMON_TALK ; $00
+ const POKEDEX_SHOW ; $01
+ const POKEMON_MUSIC ; $02
+ const LUCKY_CHANNEL ; $03
+ const BUENAS_PASSWORD ; $04
+ const PLACES_AND_PEOPLE ; $05
+ const LETS_ALL_SING ; $06
+ const ROCKET_RADIO ; $07
+ const POKE_FLUTE_RADIO ; $08
+ const UNOWN_RADIO ; $09
+ const EVOLUTION_RADIO ; $0a
+ const OAKS_POKEMON_TALK_2 ; $0b
+ const OAKS_POKEMON_TALK_3 ; $0c
+ const OAKS_POKEMON_TALK_4 ; $0d
+ const OAKS_POKEMON_TALK_5 ; $0e
+ const OAKS_POKEMON_TALK_6 ; $0f
+ const OAKS_POKEMON_TALK_7 ; $10
+ const OAKS_POKEMON_TALK_8 ; $11
+ const OAKS_POKEMON_TALK_9 ; $12
+ const POKEDEX_SHOW_2 ; $13
+ const POKEDEX_SHOW_3 ; $14
+ const POKEDEX_SHOW_4 ; $15
+ const POKEDEX_SHOW_5 ; $16
+ const POKEMON_MUSIC_2 ; $17
+ const POKEMON_MUSIC_3 ; $18
+ const POKEMON_MUSIC_4 ; $19
+ const POKEMON_MUSIC_5 ; $1a
+ const POKEMON_MUSIC_6 ; $1b
+ const POKEMON_MUSIC_7 ; $1c
+ const LETS_ALL_SING_2 ; $1d
+ const LUCKY_NUMBER_SHOW_2 ; $1e
+ const LUCKY_NUMBER_SHOW_3 ; $1f
+ const LUCKY_NUMBER_SHOW_4 ; $20
+ const LUCKY_NUMBER_SHOW_5 ; $21
+ const LUCKY_NUMBER_SHOW_6 ; $22
+ const LUCKY_NUMBER_SHOW_7 ; $23
+ const LUCKY_NUMBER_SHOW_8 ; $24
+ const LUCKY_NUMBER_SHOW_9 ; $25
+ const LUCKY_NUMBER_SHOW_10 ; $26
+ const LUCKY_NUMBER_SHOW_11 ; $27
+ const LUCKY_NUMBER_SHOW_12 ; $28
+ const LUCKY_NUMBER_SHOW_13 ; $29
+ const LUCKY_NUMBER_SHOW_14 ; $2a
+ const LUCKY_NUMBER_SHOW_15 ; $2b
+ const PLACES_AND_PEOPLE_2 ; $2c
+ const PLACES_AND_PEOPLE_3 ; $2d
+ const PLACES_AND_PEOPLE_4 ; $2e
+ const PLACES_AND_PEOPLE_5 ; $2f
+ const PLACES_AND_PEOPLE_6 ; $30
+ const PLACES_AND_PEOPLE_7 ; $31
+ const ROCKET_RADIO_2 ; $32
+ const ROCKET_RADIO_3 ; $33
+ const ROCKET_RADIO_4 ; $34
+ const ROCKET_RADIO_5 ; $35
+ const ROCKET_RADIO_6 ; $36
+ const ROCKET_RADIO_7 ; $37
+ const ROCKET_RADIO_8 ; $38
+ const ROCKET_RADIO_9 ; $39
+ const ROCKET_RADIO_10 ; $3a
+ const OAKS_POKEMON_TALK_10 ; $3b
+ const OAKS_POKEMON_TALK_11 ; $3c
+ const OAKS_POKEMON_TALK_12 ; $3d
+ const OAKS_POKEMON_TALK_13 ; $3e
+ const OAKS_POKEMON_TALK_14 ; $3f
+ const BUENAS_PASSWORD_2 ; $40
+ const BUENAS_PASSWORD_3 ; $41
+ const BUENAS_PASSWORD_4 ; $42
+ const BUENAS_PASSWORD_5 ; $43
+ const BUENAS_PASSWORD_6 ; $44
+ const BUENAS_PASSWORD_7 ; $45
+ const BUENAS_PASSWORD_8 ; $46
+ const BUENAS_PASSWORD_9 ; $47
+ const BUENAS_PASSWORD_10 ; $48
+ const BUENAS_PASSWORD_11 ; $49
+ const BUENAS_PASSWORD_12 ; $4a
+ const BUENAS_PASSWORD_13 ; $4b
+ const BUENAS_PASSWORD_14 ; $4c
+ const BUENAS_PASSWORD_15 ; $4d
+ const BUENAS_PASSWORD_16 ; $4e
+ const BUENAS_PASSWORD_17 ; $4f
+ const BUENAS_PASSWORD_18 ; $50
+ const BUENAS_PASSWORD_19 ; $51
+ const BUENAS_PASSWORD_20 ; $52
+ const BUENAS_PASSWORD_21 ; $53
+ const RADIO_SCROLL ; $54
+ const POKEDEX_SHOW_6 ; $55
+ const POKEDEX_SHOW_7 ; $56
+ const POKEDEX_SHOW_8 ; $57
+
+ const_def
+ const MAPRADIO_POKEMON_CHANNEL
+ const MAPRADIO_OAKS_MON_TALK
+ const MAPRADIO_POKEDEX_SHOW
+ const MAPRADIO_PKMN_MUSIC
+ const MAPRADIO_LUCKY_CHANNEL
+ const MAPRADIO_UNOWN
+ const MAPRADIO_PLACES_PEOPLE
+ const MAPRADIO_LETS_ALL_SING
+ const MAPRADIO_ROCKET
+
+ const_def
+ const BUENA_MON
+ const BUENA_ITEM
+ const BUENA_MOVE
+ const BUENA_STRING
+
+ const_def
+ const BUENA_STARTERS
+ const BUENA_DRINKS
+ const BUENA_ITEMS
+ const BUENA_BALLS
+ const BUENA_MON1
+ const BUENA_MON2
+ const BUENA_TOWNS
+ const BUENA_TYPES
+ const BUENA_MOVES
+ const BUENA_XITEMS
+ const BUENA_STATIONS
+NUM_PASSWORD_CATEGORIES EQU const_value
+NUM_PASSWORDS_PER_CATEGORY EQU 3
diff --git a/constants/script_constants.asm b/constants/script_constants.asm
new file mode 100644
index 00000000..b695c4ee
--- /dev/null
+++ b/constants/script_constants.asm
@@ -0,0 +1,51 @@
+; script vars
+PLAYER EQU 0
+LAST_TALKED EQU -2
+
+ const_def
+ const VAR_STRINGBUFFER2 ; 00
+ const VAR_PARTYCOUNT ; 01
+ const VAR_BATTLERESULT ; 02
+ const VAR_BATTLETYPE ; 03
+ const VAR_TIMEOFDAY ; 04
+ const VAR_DEXCAUGHT ; 05
+ const VAR_DEXSEEN ; 06
+ const VAR_BADGES ; 07
+ const VAR_MOVEMENT ; 08
+ const VAR_FACING ; 09
+ const VAR_HOUR ; 0a
+ const VAR_WEEKDAY ; 0b
+ const VAR_MAPGROUP ; 0c
+ const VAR_MAPNUMBER ; 0d
+ const VAR_UNOWNCOUNT ; 0e
+ const VAR_ROOFPALETTE ; 0f
+ const VAR_BOXSPACE ; 10
+ const VAR_CONTESTMINUTES ; 11
+ const VAR_XCOORD ; 12
+ const VAR_YCOORD ; 13
+ const VAR_SPECIALPHONECALL ; 14
+ const VAR_BT_WIN_STREAK ; 15
+ const VAR_KURT_APRICORNS ; 16
+ const VAR_CALLERID ; 17
+ const VAR_BLUECARDBALANCE ; 18
+ const VAR_BUENASPASSWORD ; 19
+ const VAR_KENJI_BREAK ; 1a
+NUM_VARS EQU const_value ; 1b
+
+RETVAR_STRBUF2 EQU (0 << 6)
+RETVAR_ADDR_DE EQU (1 << 6)
+RETVAR_EXECUTE EQU (2 << 6)
+
+const_value SET -1
+ const PLAYEREVENT_MAPSCRIPT
+ const PLAYEREVENT_NONE
+ const PLAYEREVENT_SEENBYTRAINER
+ const PLAYEREVENT_TALKTOTRAINER
+ const PLAYEREVENT_ITEMBALL
+ const PLAYEREVENT_CONNECTION
+ const PLAYEREVENT_WARP
+ const PLAYEREVENT_FALL
+ const PLAYEREVENT_WHITEOUT
+ const PLAYEREVENT_HATCH
+ const PLAYEREVENT_JOYCHANGEFACING
+NUM_PLAYER_EVENTS EQU const_value
diff --git a/constants/sfx_constants.asm b/constants/sfx_constants.asm
new file mode 100644
index 00000000..d0d2a8b3
--- /dev/null
+++ b/constants/sfx_constants.asm
@@ -0,0 +1,192 @@
+ const_def
+
+ const SFX_DEX_FANFARE_50_79
+ const SFX_ITEM
+ const SFX_CAUGHT_MON
+ const SFX_POKEBALLS_PLACED_ON_TABLE
+ const SFX_POTION
+ const SFX_FULL_HEAL
+ const SFX_MENU
+ const SFX_READ_TEXT
+ const SFX_READ_TEXT_2
+ const SFX_DEX_FANFARE_20_49
+ const SFX_DEX_FANFARE_80_109
+ const SFX_POISON
+ const SFX_GOT_SAFARI_BALLS
+ const SFX_BOOT_PC
+ const SFX_SHUT_DOWN_PC
+ const SFX_CHOOSE_PC_OPTION
+ const SFX_ESCAPE_ROPE
+ const SFX_PUSH_BUTTON
+ const SFX_SECOND_PART_OF_ITEMFINDER
+ const SFX_WARP_TO
+ const SFX_WARP_FROM
+ const SFX_CHANGE_DEX_MODE
+ const SFX_JUMP_OVER_LEDGE
+ const SFX_GRASS_RUSTLE
+ const SFX_FLY
+ const SFX_WRONG
+ const SFX_SQUEAK
+ const SFX_STRENGTH
+ const SFX_BOAT
+ const SFX_WALL_OPEN
+ const SFX_PLACE_PUZZLE_PIECE_DOWN
+ const SFX_ENTER_DOOR
+ const SFX_SWITCH_POKEMON
+ const SFX_TALLY
+ const SFX_TRANSACTION
+ const SFX_EXIT_BUILDING
+ const SFX_BUMP
+ const SFX_SAVE
+ const SFX_POKEFLUTE
+ const SFX_ELEVATOR_END
+ const SFX_THROW_BALL
+ const SFX_BALL_POOF
+ const SFX_FAINT
+ const SFX_RUN
+ const SFX_SLOT_MACHINE_START
+ const SFX_FANFARE
+ const SFX_PECK
+ const SFX_KINESIS
+ const SFX_LICK
+ const SFX_POUND
+ const SFX_MOVE_PUZZLE_PIECE
+ const SFX_COMET_PUNCH
+ const SFX_MEGA_PUNCH
+ const SFX_SCRATCH
+ const SFX_VICEGRIP
+ const SFX_RAZOR_WIND
+ const SFX_CUT
+ const SFX_WING_ATTACK
+ const SFX_WHIRLWIND
+ const SFX_BIND
+ const SFX_VINE_WHIP
+ const SFX_DOUBLE_KICK
+ const SFX_MEGA_KICK
+ const SFX_HEADBUTT
+ const SFX_HORN_ATTACK
+ const SFX_TACKLE
+ const SFX_POISON_STING
+ const SFX_POWDER
+ const SFX_DOUBLESLAP
+ const SFX_BITE
+ const SFX_JUMP_KICK
+ const SFX_STOMP
+ const SFX_TAIL_WHIP
+ const SFX_KARATE_CHOP
+ const SFX_SUBMISSION
+ const SFX_WATER_GUN
+ const SFX_SWORDS_DANCE
+ const SFX_THUNDER
+ const SFX_SUPERSONIC
+ const SFX_LEER
+ const SFX_EMBER
+ const SFX_BUBBLEBEAM
+ const SFX_HYDRO_PUMP
+ const SFX_SURF
+ const SFX_PSYBEAM
+ const SFX_CHARGE
+ const SFX_THUNDERSHOCK
+ const SFX_PSYCHIC
+ const SFX_SCREECH
+ const SFX_BONE_CLUB
+ const SFX_SHARPEN
+ const SFX_EGG_BOMB
+ const SFX_SING
+ const SFX_HYPER_BEAM
+ const SFX_SHINE
+ const SFX_UNKNOWN_5F
+ const SFX_UNKNOWN_60
+ const SFX_UNKNOWN_61
+ const SFX_SWITCH_POCKETS
+ const SFX_UNKNOWN_63
+ const SFX_BURN
+ const SFX_TITLE_SCREEN_ENTRANCE
+ const SFX_UNKNOWN_66
+ const SFX_GET_COIN_FROM_SLOTS
+ const SFX_PAY_DAY
+ const SFX_METRONOME
+ const SFX_CALL
+ const SFX_HANG_UP
+ const SFX_NO_SIGNAL
+ const SFX_SANDSTORM
+ const SFX_ELEVATOR
+ const SFX_PROTECT
+ const SFX_SKETCH
+ const SFX_RAIN_DANCE
+ const SFX_AEROBLAST
+ const SFX_SPARK
+ const SFX_CURSE
+ const SFX_RAGE
+ const SFX_THIEF
+ const SFX_THIEF_2
+ const SFX_SPIDER_WEB
+ const SFX_MIND_READER
+ const SFX_NIGHTMARE
+ const SFX_SNORE
+ const SFX_SWEET_KISS
+ const SFX_SWEET_KISS_2
+ const SFX_BELLY_DRUM
+ const SFX_UNKNOWN_7F
+ const SFX_SLUDGE_BOMB
+ const SFX_FORESIGHT
+ const SFX_SPITE
+ const SFX_OUTRAGE
+ const SFX_PERISH_SONG
+ const SFX_GIGA_DRAIN
+ const SFX_ATTRACT
+ const SFX_KINESIS_2
+ const SFX_ZAP_CANNON
+ const SFX_MEAN_LOOK
+ const SFX_HEAL_BELL
+ const SFX_RETURN
+ const SFX_EXP_BAR
+ const SFX_MILK_DRINK
+ const SFX_PRESENT
+ const SFX_MORNING_SUN
+ const SFX_LEVEL_UP
+ const SFX_KEY_ITEM
+ const SFX_FANFARE_2
+ const SFX_REGISTER_PHONE_NUMBER
+ const SFX_3RD_PLACE
+ const SFX_GET_EGG_FROM_DAYCARE_MAN
+ const SFX_GET_EGG_FROM_DAYCARE_LADY
+ const SFX_MOVE_DELETED
+ const SFX_2ND_PLACE
+ const SFX_1ST_PLACE
+ const SFX_CHOOSE_A_CARD
+ const SFX_GET_TM
+ const SFX_GET_BADGE
+ const SFX_QUIT_SLOTS
+ const SFX_EGG_CRACK
+ const SFX_DEX_FANFARE_LESS_THAN_20
+ const SFX_DEX_FANFARE_140_169
+ const SFX_DEX_FANFARE_170_199
+ const SFX_DEX_FANFARE_200_229
+ const SFX_DEX_FANFARE_230_PLUS
+ const SFX_EVOLVED
+ const SFX_MASTER_BALL
+ const SFX_EGG_HATCH
+ const SFX_GS_INTRO_CHARIZARD_FIREBALL
+ const SFX_GS_INTRO_POKEMON_APPEARS
+ const SFX_FLASH
+ const SFX_GAME_FREAK_LOGO_GS
+ const SFX_NOT_VERY_EFFECTIVE
+ const SFX_DAMAGE
+ const SFX_SUPER_EFFECTIVE
+ const SFX_BALL_BOUNCE
+ const SFX_MOONLIGHT
+ const SFX_ENCORE
+ const SFX_BEAT_UP
+ const SFX_BATON_PASS
+ const SFX_BALL_WIGGLE
+ const SFX_SWEET_SCENT
+ const SFX_SWEET_SCENT_2
+ const SFX_HIT_END_OF_EXP_BAR
+ const SFX_GIVE_TRADEMON
+ const SFX_GET_TRADEMON
+ const SFX_TRAIN_ARRIVED
+ const SFX_STOP_SLOT
+ const SFX_2_BOOPS
+ const SFX_GLASS_TING
+ const SFX_GLASS_TING_2
diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm
new file mode 100644
index 00000000..70399052
--- /dev/null
+++ b/constants/sprite_constants.asm
@@ -0,0 +1,519 @@
+
+; sprites
+ const_def
+ const SPRITE_NONE ; 00
+ const SPRITE_CHRIS ; 01
+ const SPRITE_CHRIS_BIKE ; 02
+ const SPRITE_GAMEBOY_KID ; 03
+ const SPRITE_SILVER ; 04
+ const SPRITE_OAK ; 05
+ const SPRITE_RED ; 06
+ const SPRITE_BLUE ; 07
+ const SPRITE_BILL ; 08
+ const SPRITE_ELDER ; 09
+ const SPRITE_JANINE ; 0a
+ const SPRITE_KURT ; 0b
+ const SPRITE_MOM ; 0c
+ const SPRITE_BLAINE ; 0d
+ const SPRITE_REDS_MOM ; 0e
+ const SPRITE_DAISY ; 0f
+ const SPRITE_ELM ; 10
+ const SPRITE_WILL ; 11
+ const SPRITE_FALKNER ; 12
+ const SPRITE_WHITNEY ; 13
+ const SPRITE_BUGSY ; 14
+ const SPRITE_MORTY ; 15
+ const SPRITE_CHUCK ; 16
+ const SPRITE_JASMINE ; 17
+ const SPRITE_PRYCE ; 18
+ const SPRITE_CLAIR ; 19
+ const SPRITE_BROCK ; 1a
+ const SPRITE_KAREN ; 1b
+ const SPRITE_BRUNO ; 1c
+ const SPRITE_MISTY ; 1d
+ const SPRITE_LANCE ; 1e
+ const SPRITE_SURGE ; 1f
+ const SPRITE_ERIKA ; 20
+ const SPRITE_KOGA ; 21
+ const SPRITE_SABRINA ; 22
+ const SPRITE_COOLTRAINER_M ; 23
+ const SPRITE_COOLTRAINER_F ; 24
+ const SPRITE_BUG_CATCHER ; 25
+ const SPRITE_TWIN ; 26
+ const SPRITE_YOUNGSTER ; 27
+ const SPRITE_LASS ; 28
+ const SPRITE_TEACHER ; 29
+ const SPRITE_BUENA ; 2a
+ const SPRITE_SUPER_NERD ; 2b
+ const SPRITE_ROCKER ; 2c
+ const SPRITE_POKEFAN_M ; 2d
+ const SPRITE_POKEFAN_F ; 2e
+ const SPRITE_GRAMPS ; 2f
+ const SPRITE_GRANNY ; 30
+ const SPRITE_SWIMMER_GUY ; 31
+ const SPRITE_SWIMMER_GIRL ; 32
+ const SPRITE_BIG_SNORLAX ; 33
+ const SPRITE_SURFING_PIKACHU ; 34
+ const SPRITE_ROCKET ; 35
+ const SPRITE_ROCKET_GIRL ; 36
+ const SPRITE_NURSE ; 37
+ const SPRITE_LINK_RECEPTIONIST ; 38
+ const SPRITE_CLERK ; 39
+ const SPRITE_FISHER ; 3a
+ const SPRITE_FISHING_GURU ; 3b
+ const SPRITE_SCIENTIST ; 3c
+ const SPRITE_KIMONO_GIRL ; 3d
+ const SPRITE_SAGE ; 3e
+ const SPRITE_UNUSED_GUY ; 3f
+ const SPRITE_GENTLEMAN ; 40
+ const SPRITE_BLACK_BELT ; 41
+ const SPRITE_RECEPTIONIST ; 42
+ const SPRITE_OFFICER ; 43
+ const SPRITE_CAL ; 44
+ const SPRITE_SLOWPOKE ; 45
+ const SPRITE_CAPTAIN ; 46
+ const SPRITE_BIG_LAPRAS ; 47
+ const SPRITE_GYM_GUY ; 48
+ const SPRITE_SAILOR ; 49
+ const SPRITE_BIKER ; 4a
+ const SPRITE_PHARMACIST ; 4b
+ const SPRITE_MONSTER ; 4c
+ const SPRITE_FAIRY ; 4d
+ const SPRITE_BIRD ; 4e
+ const SPRITE_DRAGON ; 4f
+ const SPRITE_BIG_ONIX ; 50
+ const SPRITE_N64 ; 51
+ const SPRITE_SUDOWOODO ; 52
+ const SPRITE_SURF ; 53
+ const SPRITE_POKE_BALL ; 54
+ const SPRITE_POKEDEX ; 55
+ const SPRITE_PAPER ; 56
+ const SPRITE_VIRTUAL_BOY ; 57
+ const SPRITE_OLD_LINK_RECEPTIONIST ; 58
+ const SPRITE_ROCK ; 59
+ const SPRITE_BOULDER ; 5a
+ const SPRITE_SNES ; 5b
+ const SPRITE_FAMICOM ; 5c
+ const SPRITE_FRUIT_TREE ; 5d
+ const SPRITE_GOLD_TROPHY ; 5e
+ const SPRITE_SILVER_TROPHY ; 5f
+ const SPRITE_KRIS ; 60
+ const SPRITE_KRIS_BIKE ; 61
+ const SPRITE_KURT_OUTSIDE ; 62
+ const SPRITE_SUICUNE ; 63
+ const SPRITE_ENTEI ; 64
+ const SPRITE_RAIKOU ; 65
+ const SPRITE_STANDING_YOUNGSTER ; 66
+
+const_value SET $80
+
+SPRITE_POKEMON EQU const_value
+ const SPRITE_UNOWN ; 80
+ const SPRITE_GEODUDE ; 81
+ const SPRITE_GROWLITHE ; 82
+ const SPRITE_WEEDLE ; 83
+ const SPRITE_SHELLDER ; 84
+ const SPRITE_ODDISH ; 85
+ const SPRITE_GENGAR ; 86
+ const SPRITE_ZUBAT ; 87
+ const SPRITE_MAGIKARP ; 88
+ const SPRITE_SQUIRTLE ; 89
+ const SPRITE_TOGEPI ; 8a
+ const SPRITE_BUTTERFREE ; 8b
+ const SPRITE_DIGLETT ; 8c
+ const SPRITE_POLIWAG ; 8d
+ const SPRITE_PIKACHU ; 8e
+ const SPRITE_CLEFAIRY ; 8f
+ const SPRITE_CHARMANDER ; 90
+ const SPRITE_JYNX ; 91
+ const SPRITE_STARMIE ; 92
+ const SPRITE_BULBASAUR ; 93
+ const SPRITE_JIGGLYPUFF ; 94
+ const SPRITE_GRIMER ; 95
+ const SPRITE_EKANS ; 96
+ const SPRITE_PARAS ; 97
+ const SPRITE_TENTACOOL ; 98
+ const SPRITE_TAUROS ; 99
+ const SPRITE_MACHOP ; 9a
+ const SPRITE_VOLTORB ; 9b
+ const SPRITE_LAPRAS ; 9c
+ const SPRITE_RHYDON ; 9d
+ const SPRITE_MOLTRES ; 9e
+ const SPRITE_SNORLAX ; 9f
+ const SPRITE_GYARADOS ; a0
+ const SPRITE_LUGIA ; a1
+ const SPRITE_HO_OH ; a2
+
+const_value SET $e0
+ const SPRITE_DAYCARE_MON_1 ; e0
+ const SPRITE_DAYCARE_MON_2 ; e1
+
+const_value SET $f0
+SPRITE_VARS EQU const_value
+ const SPRITE_CONSOLE ; f0
+ const SPRITE_DOLL_1 ; f1
+ const SPRITE_DOLL_2 ; f2
+ const SPRITE_BIG_DOLL ; f3
+ const SPRITE_WEIRD_TREE ; f4
+ const SPRITE_OLIVINE_RIVAL ; f5
+ const SPRITE_AZALEA_ROCKET ; f6
+ const SPRITE_FUCHSIA_GYM_1 ; f7
+ const SPRITE_FUCHSIA_GYM_2 ; f8
+ const SPRITE_FUCHSIA_GYM_3 ; f9
+ const SPRITE_FUCHSIA_GYM_4 ; fa
+ const SPRITE_COPYCAT ; fb
+ const SPRITE_JANINE_IMPERSONATOR ; fc
+
+; sprite types
+const_value SET 1
+ const WALKING_SPRITE
+ const STANDING_SPRITE
+ const STILL_SPRITE
+
+; sprite header fields
+ const_def
+ const SPRITEHEADER_ADDR_LO
+ const SPRITEHEADER_ADDR_HI
+ const SPRITEHEADER_SIZE
+ const SPRITEHEADER_BANK
+ const SPRITEHEADER_TYPE
+ const SPRITEHEADER_PALETTE
+NUM_SPRITEHEADER_FIELDS EQU const_value
+
+; sprite palettes
+ const_def
+ const PAL_OW_RED
+ const PAL_OW_BLUE
+ const PAL_OW_GREEN
+ const PAL_OW_BROWN
+ const PAL_OW_PINK
+ const PAL_OW_SILVER
+ const PAL_OW_TREE
+ const PAL_OW_ROCK
+
+; sprite movement data table indices
+ const_def
+ const SPRITEMOVEDATA_00
+ const SPRITEMOVEDATA_ITEM_TREE
+ const SPRITEMOVEDATA_WANDER
+ const SPRITEMOVEDATA_SPINRANDOM_SLOW
+ const SPRITEMOVEDATA_WALK_UP_DOWN
+ const SPRITEMOVEDATA_WALK_LEFT_RIGHT
+ const SPRITEMOVEDATA_STANDING_DOWN
+ const SPRITEMOVEDATA_STANDING_UP
+ const SPRITEMOVEDATA_STANDING_LEFT
+ const SPRITEMOVEDATA_STANDING_RIGHT
+ const SPRITEMOVEDATA_SPINRANDOM_FAST
+ const SPRITEMOVEDATA_PLAYER
+ const SPRITEMOVEDATA_0C
+ const SPRITEMOVEDATA_0D
+ const SPRITEMOVEDATA_0E
+ const SPRITEMOVEDATA_0F
+ const SPRITEMOVEDATA_10
+ const SPRITEMOVEDATA_11
+ const SPRITEMOVEDATA_12
+ const SPRITEMOVEDATA_FOLLOWING
+ const SPRITEMOVEDATA_SCRIPTED
+ const SPRITEMOVEDATA_SNORLAX
+ const SPRITEMOVEDATA_POKEMON
+ const SPRITEMOVEDATA_SUDOWOODO
+ const SPRITEMOVEDATA_SMASHABLE_ROCK
+ const SPRITEMOVEDATA_STRENGTH_BOULDER
+ const SPRITEMOVEDATA_FOLLOWNOTEXACT
+ const SPRITEMOVEDATA_SHADOW
+ const SPRITEMOVEDATA_EMOTE
+ const SPRITEMOVEDATA_SCREENSHAKE
+ const SPRITEMOVEDATA_SPINCOUNTERCLOCKWISE
+ const SPRITEMOVEDATA_SPINCLOCKWISE
+ const SPRITEMOVEDATA_20
+ const SPRITEMOVEDATA_BIGDOLL
+ const SPRITEMOVEDATA_BOULDERDUST
+ const SPRITEMOVEDATA_GRASS
+ const SPRITEMOVEDATA_LAPRAS
+ const SPRITEMOVEDATA_25
+NUM_SPRITEMOVEDATA EQU const_value +- 1
+SPRITEMOVEDATA_FIELDS EQU 6
+
+; sprite movement functions
+ const_def
+ const SPRITEMOVEFN_00
+ const SPRITEMOVEFN_RANDOM_WALK_Y
+ const SPRITEMOVEFN_RANDOM_WALK_X
+ const SPRITEMOVEFN_RANDOM_WALK_XY
+ const SPRITEMOVEFN_SLOW_RANDOM_SPIN
+ const SPRITEMOVEFN_FAST_RANDOM_SPIN
+ const SPRITEMOVEFN_STANDING
+ const SPRITEMOVEFN_OBEY_DPAD
+ const SPRITEMOVEFN_08
+ const SPRITEMOVEFN_09
+ const SPRITEMOVEFN_0A
+ const SPRITEMOVEFN_0B
+ const SPRITEMOVEFN_0C
+ const SPRITEMOVEFN_0D
+ const SPRITEMOVEFN_0E
+ const SPRITEMOVEFN_FOLLOW
+ const SPRITEMOVEFN_SCRIPTED
+ const SPRITEMOVEFN_STRENGTH
+ const SPRITEMOVEFN_FOLLOWNOTEXACT
+ const SPRITEMOVEFN_SHADOW
+ const SPRITEMOVEFN_EMOTE
+ const SPRITEMOVEFN_BIG_SNORLAX
+ const SPRITEMOVEFN_BOUNCE
+ const SPRITEMOVEFN_SCREENSHAKE
+ const SPRITEMOVEFN_SPIN_CLOCKWISE
+ const SPRITEMOVEFN_SPIN_COUNTERCLOCKWISE
+ const SPRITEMOVEFN_BOULDERDUST
+ const SPRITEMOVEFN_GRASS
+
+MAX_OUTDOOR_SPRITES EQU 23
+
+ const_def
+ const STEP_TYPE_00
+ const STEP_TYPE_SLEEP
+ const STEP_TYPE_NPC_WALK
+ const STEP_TYPE_03
+ const STEP_TYPE_04
+ const STEP_TYPE_05
+ const STEP_TYPE_PLAYER_WALK
+ const STEP_TYPE_07
+ const STEP_TYPE_NPC_JUMP
+ const STEP_TYPE_PLAYER_JUMP
+ const STEP_TYPE_HALF_STEP
+ const STEP_TYPE_BUMP
+ const STEP_TYPE_TELEPORT_FROM
+ const STEP_TYPE_TELEPORT_TO
+ const STEP_TYPE_SKYFALL
+ const STEP_TYPE_0F
+ const STEP_TYPE_GOT_BITE
+ const STEP_TYPE_ROCK_SMASH
+ const STEP_TYPE_RETURN_DIG
+ const STEP_TYPE_TRACKING_OBJECT
+ const STEP_TYPE_14
+ const STEP_TYPE_15
+ const STEP_TYPE_16
+ const STEP_TYPE_17
+ const STEP_TYPE_18
+ const STEP_TYPE_SKYFALL_TOP
+
+ const_def
+ const PERSON_ACTION_00
+ const PERSON_ACTION_STAND
+ const PERSON_ACTION_STEP
+ const PERSON_ACTION_BUMP
+ const PERSON_ACTION_SPIN
+ const PERSON_ACTION_SPIN_FLICKER
+ const PERSON_ACTION_FISHING
+ const PERSON_ACTION_07
+ const PERSON_ACTION_EMOTE
+ const PERSON_ACTION_09
+ const PERSON_ACTION_0A
+ const PERSON_ACTION_0B
+ const PERSON_ACTION_0C
+ const PERSON_ACTION_0D
+ const PERSON_ACTION_0E
+ const PERSON_ACTION_0F
+ const PERSON_ACTION_10
+
+ const_def
+ const FACING_00
+ const FACING_01
+ const FACING_02
+ const FACING_03
+ const FACING_04
+ const FACING_05
+ const FACING_06
+ const FACING_07
+ const FACING_08
+ const FACING_09
+ const FACING_0A
+ const FACING_0B
+ const FACING_0C
+ const FACING_0D
+ const FACING_0E
+ const FACING_0F
+ const FACING_10
+ const FACING_11
+ const FACING_12
+ const FACING_13
+ const FACING_EMOTE
+ const FACING_15
+ const FACING_16
+ const FACING_17
+ const FACING_18
+ const FACING_19
+ const FACING_1A
+ const FACING_1B
+ const FACING_1C
+ const FACING_1D
+ const FACING_1E
+ const FACING_1F
+
+ const_def
+ const SPRITEANIMSTRUCT_INDEX ; 0
+ const SPRITEANIMSTRUCT_FRAMESET_ID ; 1
+ const SPRITEANIMSTRUCT_ANIM_SEQ_ID ; 2
+ const SPRITEANIMSTRUCT_TILE_ID ; 3
+ const SPRITEANIMSTRUCT_XCOORD ; 4
+ const SPRITEANIMSTRUCT_YCOORD ; 5
+ const SPRITEANIMSTRUCT_XOFFSET ; 6
+ const SPRITEANIMSTRUCT_YOFFSET ; 7
+ const SPRITEANIMSTRUCT_DURATION ; 8
+ const SPRITEANIMSTRUCT_DURATIONOFFSET ; 9
+ const SPRITEANIMSTRUCT_FRAME ; a
+ const SPRITEANIMSTRUCT_0B ; b
+ const SPRITEANIMSTRUCT_0C ; c
+ const SPRITEANIMSTRUCT_0D ; d
+ const SPRITEANIMSTRUCT_0E ; e
+ const SPRITEANIMSTRUCT_0F ; f
+
+ const_def
+ const SPRITE_ANIM_FRAMESET_00
+ const SPRITE_ANIM_FRAMESET_01
+ const SPRITE_ANIM_FRAMESET_02
+ const SPRITE_ANIM_FRAMESET_03
+ const SPRITE_ANIM_FRAMESET_04
+ const SPRITE_ANIM_FRAMESET_05
+ const SPRITE_ANIM_FRAMESET_06
+ const SPRITE_ANIM_FRAMESET_07
+ const SPRITE_ANIM_FRAMESET_08
+ const SPRITE_ANIM_FRAMESET_09
+ const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO
+ const SPRITE_ANIM_FRAMESET_0B
+ const SPRITE_ANIM_FRAMESET_0C
+ const SPRITE_ANIM_FRAMESET_SLOT_GOLEM
+ const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY
+ const SPRITE_ANIM_FRAMESET_0F
+ const SPRITE_ANIM_FRAMESET_SLOTS_EGG
+ const SPRITE_ANIM_FRAMESET_WALK_CYCLE
+ const SPRITE_ANIM_FRAMESET_12
+ const SPRITE_ANIM_FRAMESET_13
+ const SPRITE_ANIM_FRAMESET_14
+ const SPRITE_ANIM_FRAMESET_15
+ const SPRITE_ANIM_FRAMESET_16
+ const SPRITE_ANIM_FRAMESET_17
+ const SPRITE_ANIM_FRAMESET_18
+ const SPRITE_ANIM_FRAMESET_19
+ const SPRITE_ANIM_FRAMESET_1A
+ const SPRITE_ANIM_FRAMESET_1B
+ const SPRITE_ANIM_FRAMESET_1C
+ const SPRITE_ANIM_FRAMESET_LEAF
+ const SPRITE_ANIM_FRAMESET_1E
+ const SPRITE_ANIM_FRAMESET_1F
+ const SPRITE_ANIM_FRAMESET_20
+ const SPRITE_ANIM_FRAMESET_21
+ const SPRITE_ANIM_FRAMESET_22
+ const SPRITE_ANIM_FRAMESET_23
+ const SPRITE_ANIM_FRAMESET_24
+ const SPRITE_ANIM_FRAMESET_25
+ const SPRITE_ANIM_FRAMESET_26
+ const SPRITE_ANIM_FRAMESET_27
+ const SPRITE_ANIM_FRAMESET_28
+ const SPRITE_ANIM_FRAMESET_29
+ const SPRITE_ANIM_FRAMESET_2A
+ const SPRITE_ANIM_FRAMESET_2B
+ const SPRITE_ANIM_FRAMESET_2C
+ const SPRITE_ANIM_FRAMESET_2D
+ const SPRITE_ANIM_FRAMESET_2E
+ const SPRITE_ANIM_FRAMESET_2F
+ const SPRITE_ANIM_FRAMESET_30
+ const SPRITE_ANIM_FRAMESET_31
+ const SPRITE_ANIM_FRAMESET_32
+ const SPRITE_ANIM_FRAMESET_33
+ const SPRITE_ANIM_FRAMESET_34
+ const SPRITE_ANIM_FRAMESET_35
+ const SPRITE_ANIM_FRAMESET_36
+ const SPRITE_ANIM_FRAMESET_37
+ const SPRITE_ANIM_FRAMESET_38
+ const SPRITE_ANIM_FRAMESET_39
+ const SPRITE_ANIM_FRAMESET_3A
+ const SPRITE_ANIM_FRAMESET_3B
+ const SPRITE_ANIM_FRAMESET_3C
+ const SPRITE_ANIM_FRAMESET_3D
+ const SPRITE_ANIM_FRAMESET_3E
+ const SPRITE_ANIM_FRAMESET_3F
+ const SPRITE_ANIM_FRAMESET_40
+ const SPRITE_ANIM_FRAMESET_41
+
+ const_def
+ const SPRITE_ANIM_SEQ_NULL
+ const SPRITE_ANIM_SEQ_01
+ const SPRITE_ANIM_SEQ_02
+ const SPRITE_ANIM_SEQ_03
+ const SPRITE_ANIM_SEQ_04
+ const SPRITE_ANIM_SEQ_05
+ const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO
+ const SPRITE_ANIM_SEQ_07
+ const SPRITE_ANIM_SEQ_08
+ const SPRITE_ANIM_SEQ_SLOT_GOLEM
+ const SPRITE_ANIM_SEQ_SLOTS_CHANSEY
+ const SPRITE_ANIM_SEQ_SLOTS_EGG
+ const SPRITE_ANIM_SEQ_0C
+ const SPRITE_ANIM_SEQ_0D
+ const SPRITE_ANIM_SEQ_0E
+ const SPRITE_ANIM_SEQ_0F
+ const SPRITE_ANIM_SEQ_10
+ const SPRITE_ANIM_SEQ_11
+ const SPRITE_ANIM_SEQ_12
+ const SPRITE_ANIM_SEQ_13
+ const SPRITE_ANIM_SEQ_14
+ const SPRITE_ANIM_SEQ_15
+ const SPRITE_ANIM_SEQ_FLY_FROM
+ const SPRITE_ANIM_SEQ_FLY_LEAF
+ const SPRITE_ANIM_SEQ_FLY_TO
+ const SPRITE_ANIM_SEQ_19
+ const SPRITE_ANIM_SEQ_1A
+ const SPRITE_ANIM_SEQ_1B
+ const SPRITE_ANIM_SEQ_1C
+ const SPRITE_ANIM_SEQ_1D
+ const SPRITE_ANIM_SEQ_1E
+ const SPRITE_ANIM_SEQ_1F
+ const SPRITE_ANIM_SEQ_20
+ const SPRITE_ANIM_SEQ_21
+ const SPRITE_ANIM_SEQ_22
+
+ const_def
+ const SPRITE_ANIM_INDEX_00
+ const SPRITE_ANIM_INDEX_01
+ const SPRITE_ANIM_INDEX_02
+ const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
+ const SPRITE_ANIM_INDEX_04
+ const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
+ const SPRITE_ANIM_INDEX_SLOT_GOLEM
+ const SPRITE_ANIM_INDEX_SLOTS_CHANSEY
+ const SPRITE_ANIM_INDEX_SLOTS_EGG
+ const SPRITE_ANIM_INDEX_09
+ const SPRITE_ANIM_INDEX_RED_WALK
+ const SPRITE_ANIM_INDEX_0B
+ const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
+ const SPRITE_ANIM_INDEX_0D
+ const SPRITE_ANIM_INDEX_0E
+ const SPRITE_ANIM_INDEX_0F
+ const SPRITE_ANIM_INDEX_10
+ const SPRITE_ANIM_INDEX_11
+ const SPRITE_ANIM_INDEX_12
+ const SPRITE_ANIM_INDEX_13
+ const SPRITE_ANIM_INDEX_14
+ const SPRITE_ANIM_INDEX_15
+ const SPRITE_ANIM_INDEX_LEAF
+ const SPRITE_ANIM_INDEX_CUT_TREE
+ const SPRITE_ANIM_INDEX_FLY_LEAF
+ const SPRITE_ANIM_INDEX_19
+ const SPRITE_ANIM_INDEX_1A
+ const SPRITE_ANIM_INDEX_1B
+ const SPRITE_ANIM_INDEX_1C
+ const SPRITE_ANIM_INDEX_1D
+ const SPRITE_ANIM_INDEX_BLUE_WALK
+ const SPRITE_ANIM_INDEX_1F
+ const SPRITE_ANIM_INDEX_20
+ const SPRITE_ANIM_INDEX_21
+ const SPRITE_ANIM_INDEX_22
+ const SPRITE_ANIM_INDEX_23
+ const SPRITE_ANIM_INDEX_24
+ const SPRITE_ANIM_INDEX_25
+ const SPRITE_ANIM_INDEX_26
+ const SPRITE_ANIM_INDEX_27
+ const SPRITE_ANIM_INDEX_28
+ const SPRITE_ANIM_INDEX_29
+ const SPRITE_ANIM_INDEX_2A
+ const SPRITE_ANIM_INDEX_2B
+ const SPRITE_ANIM_INDEX_2C
diff --git a/constants/sram_constants.asm b/constants/sram_constants.asm
new file mode 100755
index 00000000..caac8347
--- /dev/null
+++ b/constants/sram_constants.asm
@@ -0,0 +1,3 @@
+; Mobile bank 5
+sMobileLoginPassword EQU $aa4b
+LOGIN_PASSWORD_LENGTH EQU 17
diff --git a/constants/std_constants.asm b/constants/std_constants.asm
new file mode 100644
index 00000000..039b2707
--- /dev/null
+++ b/constants/std_constants.asm
@@ -0,0 +1,53 @@
+ enum_start
+ enum pokecenternurse
+ enum difficultbookshelf
+ enum picturebookshelf
+ enum magazinebookshelf
+ enum teamrocketoath
+ enum incenseburner
+ enum merchandiseshelf
+ enum townmap
+ enum window
+ enum tv
+ enum homepage
+ enum radio1
+ enum radio2
+ enum trashcan
+ enum strengthboulder
+ enum smashrock
+ enum pokecentersign
+ enum martsign
+ enum goldenrodrockets
+ enum radiotowerrockets
+ enum elevatorbutton
+ enum daytotext
+ enum bugcontestresultswarp
+ enum bugcontestresults
+ enum initializeevents
+ enum asknumber1m
+ enum asknumber2m
+ enum registerednumberm
+ enum numberacceptedm
+ enum numberdeclinedm
+ enum phonefullm
+ enum rematchm
+ enum giftm
+ enum packfullm
+ enum rematchgiftm
+ enum asknumber1f
+ enum asknumber2f
+ enum registerednumberf
+ enum numberacceptedf
+ enum numberdeclinedf
+ enum phonefullf
+ enum rematchf
+ enum giftf
+ enum packfullf
+ enum rematchgiftf
+ enum gymstatue1
+ enum gymstatue2
+ enum receiveitem
+ enum receivetogepiegg
+ enum pcscript
+ enum gamecornercoinvendor
+ enum happinesschecknpc
diff --git a/constants/tilemap_constants.asm b/constants/tilemap_constants.asm
new file mode 100644
index 00000000..e64d042d
--- /dev/null
+++ b/constants/tilemap_constants.asm
@@ -0,0 +1,43 @@
+LANDTILE EQU 0
+WALLTILE EQU 1
+WATRTILE EQU 15
+
+TALK EQU 1 << 4
+
+const_value SET 1
+ const TILESET_JOHTO_1 ; 01
+ const TILESET_JOHTO_2 ; 02
+ const TILESET_KANTO ; 03
+ const TILESET_BATTLE_TOWER_OUTSIDE ; 04
+ const TILESET_HOUSE_1 ; 05
+ const TILESET_KRISS_HOUSE ; 06
+ const TILESET_POKECENTER ; 07
+ const TILESET_GATE ; 08
+ const TILESET_PORT ; 09
+ const TILESET_LAB ; 0a
+ const TILESET_POWER_PLANT ; 0b
+ const TILESET_MART ; 0c
+ const TILESET_CELADON_MANSION ; 0d
+ const TILESET_GAME_CORNER ; 0e
+ const TILESET_GYM_1 ; 0f
+ const TILESET_KURT_HOUSE ; 10
+ const TILESET_TRAIN_STATION ; 11
+ const TILESET_OLIVINE_GYM ; 12
+ const TILESET_LIGHTHOUSE ; 13
+ const TILESET_KRISS_HOUSE_2F ; 14
+ const TILESET_POKECOM_CENTER ; 15
+ const TILESET_BATTLE_TOWER ; 16
+ const TILESET_SPROUT_TOWER ; 17
+ const TILESET_CAVE ; 18
+ const TILESET_PARK ; 19
+ const TILESET_RUINS_OF_ALPH ; 1a
+ const TILESET_RADIO_TOWER ; 1b
+ const TILESET_UNDERGROUND ; 1c
+ const TILESET_ICE_PATH ; 1d
+ const TILESET_WHIRL_ISLANDS ; 1e
+ const TILESET_ILEX_FOREST ; 1f
+ const TILESET_20 ; 20
+ const TILESET_HO_OH_WORD_ROOM ; 21
+ const TILESET_KABUTO_WORD_ROOM ; 22
+ const TILESET_OMANYTE_WORD_ROOM ; 23
+ const TILESET_AERODACTYL_WORD_ROOM ; 24
diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm
new file mode 100644
index 00000000..06a26334
--- /dev/null
+++ b/constants/trainer_constants.asm
@@ -0,0 +1,648 @@
+; trainer groups
+ enum_start
+CHRIS EQU __enum__
+ trainerclass TRAINER_NONE ; 0
+ const PHONECONTACT_MOM
+ const PHONECONTACT_BIKESHOP
+ const PHONECONTACT_BILL
+ const PHONECONTACT_ELM
+ const PHONECONTACT_BUENA
+
+KRIS EQU __enum__
+ trainerclass FALKNER ; 1
+
+ trainerclass WHITNEY ; 2
+
+ trainerclass BUGSY ; 3
+
+ trainerclass MORTY ; 4
+
+ trainerclass PRYCE ; 5
+
+ trainerclass JASMINE ; 6
+
+ trainerclass CHUCK ; 7
+
+ trainerclass CLAIR ; 8
+
+ trainerclass RIVAL1 ; 9
+ const RIVAL1_1
+ const RIVAL1_2
+ const RIVAL1_3
+ const RIVAL1_4
+ const RIVAL1_5
+ const RIVAL1_6
+ const RIVAL1_7
+ const RIVAL1_8
+ const RIVAL1_9
+ const RIVAL1_10
+ const RIVAL1_11
+ const RIVAL1_12
+ const RIVAL1_13
+ const RIVAL1_14
+ const RIVAL1_15
+
+ trainerclass POKEMON_PROF ; a
+
+ trainerclass WILL ; b
+
+ trainerclass CAL ; c
+ const CAL1
+ const CAL2
+ const CAL3
+
+ trainerclass BRUNO ; d
+
+ trainerclass KAREN ; e
+
+ trainerclass KOGA ; f
+
+ trainerclass CHAMPION ; 10
+ const LANCE
+
+ trainerclass BROCK ; 11
+
+ trainerclass MISTY ; 12
+
+ trainerclass LT_SURGE ; 13
+
+ trainerclass SCIENTIST ; 14
+ const ROSS
+ const MITCH
+ const JED
+ const MARC
+ const RICH
+
+ trainerclass ERIKA ; 15
+
+ trainerclass YOUNGSTER ; 16
+ const JOEY1
+ const MIKEY
+ const ALBERT
+ const GORDON
+ const SAMUEL
+ const IAN
+ const JOEY2
+ const JOEY3
+ const WARREN
+ const JIMMY
+ const OWEN
+ const JASON
+ const JOEY4
+ const JOEY5
+
+ trainerclass SCHOOLBOY ; 17
+ const JACK1
+ const KIPP
+ const ALAN1
+ const JOHNNY
+ const DANNY
+ const TOMMY
+ const DUDLEY
+ const JOE
+ const BILLY
+ const CHAD1
+ const NATE
+ const RICKY
+ const JACK2
+ const JACK3
+ const ALAN2
+ const ALAN3
+ const CHAD2
+ const CHAD3
+ const JACK4
+ const JACK5
+ const ALAN4
+ const ALAN5
+ const CHAD4
+ const CHAD5
+
+ trainerclass BIRD_KEEPER ; 18
+ const ROD
+ const ABE
+ const BRYAN
+ const THEO
+ const TOBY
+ const DENIS
+ const VANCE1
+ const HANK
+ const ROY
+ const BORIS
+ const BOB
+ const JOSE1
+ const PETER
+ const JOSE2
+ const PERRY
+ const BRET
+ const JOSE3
+ const VANCE2
+ const VANCE3
+
+ trainerclass LASS ; 19
+ const CARRIE
+ const BRIDGET
+ const ALICE
+ const KRISE
+ const CONNIE1
+ const LINDA
+ const LAURA
+ const SHANNON
+ const MICHELLE
+ const DANA1
+ const ELLEN
+ const CONNIE2
+ const CONNIE3
+ const DANA2
+ const DANA3
+ const DANA4
+ const DANA5
+
+ trainerclass JANINE ; 1a
+
+ trainerclass COOLTRAINERM ; 1b
+ const NICK
+ const AARON
+ const PAUL
+ const CODY
+ const MIKE
+ const GAVEN1
+ const GAVEN2
+ const RYAN
+ const JAKE
+ const GAVEN3
+ const BLAKE
+ const BRIAN
+ const ERICK
+ const ANDY
+ const TYLER
+ const SEAN
+ const KEVIN
+ const STEVE
+ const ALLEN
+ const DARIN
+
+ trainerclass COOLTRAINERF ; 1c
+ const GWEN
+ const LOIS
+ const FRAN
+ const LOLA
+ const KATE
+ const IRENE
+ const KELLY
+ const JOYCE
+ const BETH1
+ const REENA1
+ const MEGAN
+ const BETH2
+ const CAROL
+ const QUINN
+ const EMMA
+ const CYBIL
+ const JENN
+ const BETH3
+ const REENA2
+ const REENA3
+ const CARA
+
+ trainerclass BEAUTY ; 1d
+ const VICTORIA
+ const SAMANTHA
+ const JULIE
+ const JACLYN
+ const BRENDA
+ const CASSIE
+ const CAROLINE
+ const CARLENE
+ const JESSICA
+ const RACHAEL
+ const ANGELICA
+ const KENDRA
+ const VERONICA
+ const JULIA
+ const THERESA
+ const VALERIE
+ const OLIVIA
+
+ trainerclass POKEMANIAC ; 1e
+ const LARRY
+ const ANDREW
+ const CALVIN
+ const SHANE
+ const BEN
+ const BRENT1
+ const RON
+ const ETHAN
+ const BRENT2
+ const BRENT3
+ const ISSAC
+ const DONALD
+ const ZACH
+ const BRENT4
+ const MILLER
+
+ trainerclass GRUNTM ; 1f
+
+ trainerclass GENTLEMAN ; 20
+ const PRESTON
+ const EDWARD
+ const GREGORY
+ const VIRGIL
+ const ALFRED
+
+ trainerclass SKIER ; 21
+ const ROXANNE
+ const CLARISSA
+
+ trainerclass TEACHER ; 22
+ const COLETTE
+ const HILLARY
+ const SHIRLEY
+
+ trainerclass SABRINA ; 23
+
+ trainerclass BUG_CATCHER ; 24
+ const DON
+ const ROB
+ const ED
+ const WADE1
+ const BUG_CATCHER_BENNY
+ const AL
+ const JOSH
+ const ARNIE1
+ const KEN
+ const WADE2
+ const WADE3
+ const DOUG
+ const ARNIE2
+ const ARNIE3
+ const WADE4
+ const WADE5
+ const ARNIE4
+ const ARNIE5
+ const WAYNE
+
+ trainerclass FISHER ; 25
+ const JUSTIN
+ const RALPH1
+ const ARNOLD
+ const KYLE
+ const HENRY
+ const MARVIN
+ const TULLY1
+ const ANDRE
+ const RAYMOND
+ const WILTON1
+ const EDGAR
+ const JONAH
+ const MARTIN
+ const STEPHEN
+ const BARNEY
+ const RALPH2
+ const RALPH3
+ const TULLY2
+ const TULLY3
+ const WILTON2
+ const SCOTT
+ const WILTON3
+ const RALPH4
+ const RALPH5
+ const TULLY4
+
+ trainerclass SWIMMERM ; 26
+ const HAROLD
+ const SIMON
+ const RANDALL
+ const CHARLIE
+ const GEORGE
+ const BERKE
+ const KIRK
+ const MATHEW
+ const HAL
+ const PATON
+ const DARYL
+ const WALTER
+ const TONY
+ const JEROME
+ const TUCKER
+ const RICK
+ const CAMERON
+ const SETH
+ const JAMES
+ const LEWIS
+ const PARKER
+
+ trainerclass SWIMMERF ; 27
+ const ELAINE
+ const PAULA
+ const KAYLEE
+ const SUSIE
+ const DENISE
+ const KARA
+ const WENDY
+ const LISA
+ const JILL
+ const MARY
+ const KATIE
+ const DAWN
+ const TARA
+ const NICOLE
+ const LORI
+ const JODY
+ const NIKKI
+ const DIANA
+ const BRIANA
+
+ trainerclass SAILOR ; 28
+ const EUGENE
+ const HUEY1
+ const TERRELL
+ const KENT
+ const ERNEST
+ const JEFF
+ const GARRETT
+ const KENNETH
+ const STANLY
+ const HARRY
+ const HUEY2
+ const HUEY3
+ const HUEY4
+
+ trainerclass SUPER_NERD ; 29
+ const STAN
+ const ERIC
+ const GREGG
+ const JAY
+ const DAVE
+ const SAM
+ const TOM
+ const PAT
+ const SHAWN
+ const TERU
+ const RUSS
+ const NORTON
+ const HUGH
+ const MARKUS
+
+ trainerclass RIVAL2 ; 2a
+
+ trainerclass GUITARIST ; 2b
+ const CLYDE
+ const VINCENT
+
+ trainerclass HIKER ; 2c
+ const ANTHONY1
+ const RUSSELL
+ const PHILLIP
+ const LEONARD
+ const ANTHONY2
+ const BENJAMIN
+ const ERIK
+ const MICHAEL
+ const PARRY1
+ const TIMOTHY
+ const BAILEY
+ const ANTHONY3
+ const TIM
+ const NOLAND
+ const SIDNEY
+ const KENNY
+ const JIM
+ const DANIEL
+ const PARRY2
+ const PARRY3
+ const ANTHONY4
+ const ANTHONY5
+
+ trainerclass BIKER ; 2d
+ const BIKER_BENNY
+ const KAZU
+ const DWAYNE
+ const HARRIS
+ const ZEKE
+ const CHARLES
+ const RILEY
+ const JOEL
+ const GLENN
+
+ trainerclass BLAINE ; 2e
+
+ trainerclass BURGLAR ; 2f
+ const DUNCAN
+ const EDDIE
+ const COREY
+
+ trainerclass FIREBREATHER ; 30
+ const OTIS
+ const DICK
+ const NED
+ const BURT
+ const BILL
+ const WALT
+ const RAY
+ const LYLE
+
+ trainerclass JUGGLER ; 31
+ const IRWIN1
+ const FRITZ
+ const HORTON
+ const IRWIN2
+ const IRWIN3
+ const IRWIN4
+
+ trainerclass BLACKBELT_T ; 32
+ const KENJI1
+ const YOSHI
+ const KENJI2
+ const LAO
+ const NOB
+ const KIYO
+ const LUNG
+ const KENJI3
+ const WAI
+
+ trainerclass EXECUTIVEM ; 33
+
+ trainerclass PSYCHIC_T ; 34
+ const NATHAN
+ const FRANKLIN
+ const HERMAN
+ const FIDEL
+ const GREG
+ const NORMAN
+ const MARK
+ const PHIL
+ const RICHARD
+ const GILBERT
+ const JARED
+ const RODNEY
+
+ trainerclass PICNICKER ; 35
+ const LIZ1
+ const GINA1
+ const BROOKE
+ const KIM
+ const CINDY
+ const HOPE
+ const SHARON
+ const DEBRA
+ const GINA2
+ const ERIN1
+ const LIZ2
+ const LIZ3
+ const HEIDI
+ const EDNA
+ const GINA3
+ const TIFFANY1
+ const TIFFANY2
+ const ERIN2
+ const TANYA
+ const TIFFANY3
+ const ERIN3
+ const LIZ4
+ const LIZ5
+ const GINA4
+ const GINA5
+ const TIFFANY4
+
+ trainerclass CAMPER ; 36
+ const ROLAND
+ const TODD1
+ const IVAN
+ const ELLIOT
+ const BARRY
+ const LLOYD
+ const DEAN
+ const SID
+ const HARVEY
+ const DALE
+ const TED
+ const TODD2
+ const TODD3
+ const THOMAS
+ const LEROY
+ const DAVID
+ const JOHN
+ const JERRY
+ const SPENCER
+ const TODD4
+ const TODD5
+ const QUENTIN
+
+ trainerclass EXECUTIVEF ; 37
+
+ trainerclass SAGE ; 38
+ const CHOW
+ const NICO
+ const JIN
+ const TROY
+ const JEFFREY
+ const PING
+ const EDMOND
+ const NEAL
+ const LI
+ const GAKU
+ const MASA
+ const KOJI
+
+ trainerclass MEDIUM ; 39
+ const MARTHA
+ const GRACE
+ const BETHANY
+ const MARGRET
+ const ETHEL
+ const REBECCA
+ const DORIS
+
+ trainerclass BOARDER ; 3a
+ const RONALD
+ const BRAD
+ const DOUGLAS
+
+ trainerclass POKEFANM ; 3b
+ const WILLIAM
+ const DEREK1
+ const ROBERT
+ const JOSHUA
+ const CARTER
+ const TREVOR
+ const BRANDON
+ const JEREMY
+ const COLIN
+ const DEREK2
+ const DEREK3
+ const ALEX
+ const REX
+ const ALLAN
+
+ trainerclass KIMONO_GIRL ; 3c
+ const NAOKO1
+ const NAOKO2
+ const SAYO
+ const ZUKI
+ const KUNI
+ const MIKI
+
+ trainerclass TWINS ; 3d
+ const AMYANDMAY1
+ const ANNANDANNE1
+ const ANNANDANNE2
+ const AMYANDMAY2
+ const JOANDZOE1
+ const JOANDZOE2
+ const MEGANDPEG1
+ const MEGANDPEG2
+ const LEAANDPIA1
+ const LEAANDPIA2
+
+ trainerclass POKEFANF ; 3e
+ const BEVERLY1
+ const RUTH
+ const BEVERLY2
+ const BEVERLY3
+ const GEORGIA
+ const JAIME
+
+ trainerclass RED ; 3f
+
+ trainerclass BLUE ; 40
+
+ trainerclass OFFICER ; 41
+ const KEITH
+ const DIRK
+
+ trainerclass GRUNTF ; 42
+
+ trainerclass MYSTICALMAN ; 43
+ const EUSINE
+
+NUM_TRAINER_CLASSES EQU __enum__
+
+ const_def
+ const NO_AI
+const_value = 0
+ shift_const AI_BASIC
+ shift_const AI_SETUP
+ shift_const AI_TYPES
+ shift_const AI_OFFENSIVE
+ shift_const AI_SMART
+ shift_const AI_OPPORTUNIST
+ shift_const AI_AGGRESSIVE
+ shift_const AI_CAUTIOUS
+ shift_const AI_STATUS
+ shift_const AI_RISKY
+ shift_const AI_10
+ shift_const AI_11
+ shift_const AI_12
+ shift_const AI_13
+ shift_const AI_14
+ shift_const AI_15
+
+ const_def
+ const TRNATTR_ITEM1
+ const TRNATTR_ITEM2
+ const TRNATTR_BASEMONEY
+ const TRNATTR_AI_MOVE_WEIGHTS
+ const TRNATTR_AI2
+ const TRNATTR_AI_ITEM_SWITCH
+ const TRNATTR_AI4
+NUM_TRAINER_ATTRIBUTES EQU const_value
diff --git a/constants/type_constants.asm b/constants/type_constants.asm
new file mode 100644
index 00000000..b7b350e3
--- /dev/null
+++ b/constants/type_constants.asm
@@ -0,0 +1,38 @@
+ const_def
+
+PHYSICAL EQU const_value
+ const NORMAL
+ const FIGHTING
+ const FLYING
+ const POISON
+ const GROUND
+ const ROCK
+ const BIRD
+ const BUG
+ const GHOST
+ const STEEL
+
+UNUSED_TYPES EQU const_value
+ const TYPE_10
+ const TYPE_11
+ const TYPE_12
+ const TYPE_13
+ const TYPE_14
+ const TYPE_15
+ const TYPE_16
+ const TYPE_17
+ const TYPE_18
+ const CURSE_T
+UNUSED_TYPES_END EQU const_value
+
+SPECIAL EQU const_value
+ const FIRE
+ const WATER
+ const GRASS
+ const ELECTRIC
+ const PSYCHIC
+ const ICE
+ const DRAGON
+ const DARK
+
+TYPES_END EQU const_value
diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm
new file mode 100644
index 00000000..f7486fc8
--- /dev/null
+++ b/constants/wram_constants.asm
@@ -0,0 +1,105 @@
+
+; MonType: ; cf5f
+PARTYMON EQU 0
+OTPARTYMON EQU 1
+BOXMON EQU 2
+BREEDMON EQU 3
+WILDMON EQU 4
+
+; Options: ; cfcc
+FAST_TEXT EQU 0
+MED_TEXT EQU 1
+SLOW_TEXT EQU 2
+NO_TEXT_SCROLL EQU 4
+; bits
+STEREO EQU 5
+BATTLE_SHIFT EQU 6
+BATTLE_SCENE EQU 7
+
+; Options2:
+MENU_ACCOUNT EQU 0
+
+; GBPrinter:
+PRINT_LIGHTEST EQU $00
+PRINT_LIGHTER EQU $20
+PRINT_NORMAL EQU $40
+PRINT_DARKER EQU $60
+PRINT_DARKEST EQU $7f
+
+; WalkingDirection: ; d043
+STANDING EQU -1
+DOWN EQU 0
+UP EQU 1
+LEFT EQU 2
+RIGHT EQU 3
+
+; FacingDirection: ; d044
+FACE_CURRENT EQU 0
+FACE_DOWN EQU 8
+FACE_UP EQU 4
+FACE_LEFT EQU 2
+FACE_RIGHT EQU 1
+
+; TimeOfDay: ; d269
+MORN EQU 0
+DAY EQU 1
+NITE EQU 2
+DARKNESS EQU 3
+
+; ScriptFlags: ; d434
+SCRIPT_RUNNING EQU 2
+
+; ScriptMode: ; d437
+SCRIPT_OFF EQU 0
+SCRIPT_READ EQU 1
+SCRIPT_WAIT_MOVEMENT EQU 2
+SCRIPT_WAIT EQU 3
+
+; CurDay: ; d4cb
+SUNDAY EQU 0
+MONDAY EQU 1
+TUESDAY EQU 2
+WEDNESDAY EQU 3
+THURSDAY EQU 4
+FRIDAY EQU 5
+SATURDAY EQU 6
+
+; MapObjects: ; d71e
+
+PLAYER_OBJECT EQU 0
+
+NUM_OBJECTS EQU $10
+
+; InputType: ; c2c7
+AUTO_INPUT EQU $ff
+
+; WhichRegisteredItem: ; d95b
+REGISTERED_POCKET EQU %11000000
+REGISTERED_NUMBER EQU %00111111
+
+; PlayerState: ; d95d
+PLAYER_NORMAL EQU 0
+PLAYER_BIKE EQU 1
+PLAYER_SLIP EQU 2
+PLAYER_SURF EQU 4
+PLAYER_SURF_PIKA EQU 8
+
+OBJECT_STRUCT_LENGTH EQU 40
+NUM_OBJECT_STRUCTS EQU 13
+
+; After-Champion Spawn
+SPAWN_LANCE EQU 1
+SPAWN_RED EQU 2
+
+; wPokemonWithdrawDepositParameter
+PC_WITHDRAW EQU 0
+PC_DEPOSIT EQU 1
+DAYCARE_WITHDRAW EQU 2
+DAYCARE_DEPOSIT EQU 3
+
+; wCurrentDexMode
+ const_def
+ const DEXMODE_NEW
+ const DEXMODE_OLD
+ const DEXMODE_ABC
+ const DEXMODE_UNOWN