summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--asm/battle_anim_80A5C6C.s74
-rw-r--r--asm/battle_anim_80A9C70.s4
-rw-r--r--asm/battle_anim_80FE840.s720
-rwxr-xr-xasm/battle_anim_815A0D4.s118
-rw-r--r--asm/battle_anim_8170478.s78
-rw-r--r--asm/contest.s52
-rw-r--r--asm/crt0.s4
-rw-r--r--asm/macros/battle_script.inc16
-rw-r--r--asm/macros/pokemon_data.inc2
-rw-r--r--asm/main_menu.s2
-rw-r--r--asm/overworld.s (renamed from asm/rom4.s)0
-rwxr-xr-xasm/pokeball.s2861
-rwxr-xr-xasm/pokemon_summary_screen.s6
-rw-r--r--asm/trade.s8
-rwxr-xr-x[-rw-r--r--]asmdiff.sh0
-rw-r--r--constants/ability_constants.inc78
-rw-r--r--constants/battle_script_constants.inc6
-rw-r--r--constants/constants.inc8
-rw-r--r--constants/easy_chat_constants.inc1067
-rw-r--r--constants/field_object_constants.inc251
-rw-r--r--constants/flags.inc1574
-rw-r--r--constants/item_constants.inc310
-rw-r--r--constants/map_constants.inc1
-rw-r--r--constants/map_object_constants.inc258
-rw-r--r--constants/move_constants.inc355
-rw-r--r--constants/songs.inc461
-rw-r--r--constants/variables.inc278
-rw-r--r--data/battle_frontier/battle_frontier_mons.inc2
-rw-r--r--data/battle_frontier/battle_frontier_trainers.inc11250
-rw-r--r--data/battle_frontier/fallarbor_battle_tent_trainers.inc1050
-rw-r--r--data/battle_frontier/slateport_battle_tent_trainers.inc1026
-rw-r--r--data/battle_frontier/verdanturf_battle_tent_trainers.inc1020
-rw-r--r--data/battle_frontier_2.s2
-rw-r--r--data/battle_scripts_1.s457
-rw-r--r--data/battle_scripts_2.s48
-rw-r--r--data/battle_tower.s4
-rw-r--r--data/cable_car.s1
-rw-r--r--data/data2b.s3
-rw-r--r--data/data2c.s4
-rw-r--r--data/easy_chat.s3
-rw-r--r--data/event_scripts.s10
-rw-r--r--data/field_map_obj.s1
-rw-r--r--data/graphics.s102
-rw-r--r--data/graphics/field_objects/berry_tree_graphics_tables.inc20
-rw-r--r--data/graphics/pokemon/animation_delay_table.inc2
-rw-r--r--data/graphics/pokemon/front_anim_ids_table.inc2
-rw-r--r--data/item_menu_icons.s1
-rw-r--r--data/link.s1
-rw-r--r--data/map_events.s6
-rw-r--r--data/maps.s1
-rw-r--r--data/overworld.s (renamed from data/rom4.s)0
-rw-r--r--data/player_pc.s1
-rw-r--r--data/pokeball.s14
-rw-r--r--data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc2
-rw-r--r--data/scripts/maps/PetalburgWoods.inc4
-rw-r--r--data/scripts/maps/Route102.inc4
-rw-r--r--data/scripts/maps/Route104.inc12
-rw-r--r--data/scripts/maps/Route116.inc8
-rw-r--r--data/scripts/maps/RustboroCity.inc2
-rw-r--r--data/scripts/players_house.inc2
-rw-r--r--data/text/contest_strings.inc228
-rw-r--r--data/text/easy_chat/easy_chat_group_pokemon2.s2
-rw-r--r--data/text/easy_chat/easy_chat_words_by_letter.inc4850
-rw-r--r--data/trade.s3
-rw-r--r--data/wild_encounter.s1
-rw-r--r--data/wild_mons.inc3950
-rw-r--r--graphics/interface/ball/dive.pngbin0 -> 326 bytes
-rw-r--r--graphics/interface/ball/great.pngbin0 -> 257 bytes
-rw-r--r--graphics/interface/ball/luxury.pngbin0 -> 350 bytes
-rw-r--r--graphics/interface/ball/master.pngbin0 -> 260 bytes
-rw-r--r--graphics/interface/ball/nest.pngbin0 -> 266 bytes
-rw-r--r--graphics/interface/ball/net.pngbin0 -> 246 bytes
-rw-r--r--graphics/interface/ball/poke.pngbin0 -> 249 bytes
-rw-r--r--graphics/interface/ball/premier.pngbin0 -> 289 bytes
-rw-r--r--graphics/interface/ball/repeat.pngbin0 -> 257 bytes
-rw-r--r--graphics/interface/ball/safari.pngbin0 -> 259 bytes
-rw-r--r--graphics/interface/ball/timer.pngbin0 -> 296 bytes
-rw-r--r--include/abilities.h81
-rw-r--r--include/battle.h20
-rw-r--r--include/battle_anim.h18
-rw-r--r--include/battle_move_effects.h222
-rw-r--r--include/battle_scripts.h378
-rw-r--r--include/battle_util.h6
-rw-r--r--include/constants/abilities.h83
-rw-r--r--include/constants/battle_move_effects.h219
-rw-r--r--include/constants/decorations.h126
-rw-r--r--include/constants/easy_chat.h1079
-rw-r--r--include/constants/flags.h1578
-rw-r--r--include/constants/game_stat.h (renamed from include/game_stat.h)9
-rw-r--r--include/constants/hold_effects.h (renamed from include/hold_effects.h)0
-rw-r--r--include/constants/items.h393
-rw-r--r--include/constants/map_objects.h263
-rw-r--r--include/constants/maps.h595
-rw-r--r--include/constants/mauville_man.h10
-rw-r--r--include/constants/moves.h362
-rw-r--r--include/constants/songs.h465
-rw-r--r--include/constants/species.h450
-rw-r--r--include/constants/vars.h285
-rw-r--r--include/data/bard_music/pokemon.h2
-rw-r--r--include/decoration.h124
-rw-r--r--include/event_data.h4
-rw-r--r--include/flags.h122
-rw-r--r--include/global.h10
-rw-r--r--include/graphics.h26
-rw-r--r--include/items.h396
-rw-r--r--include/mail.h2
-rw-r--r--include/map_constants.h1342
-rw-r--r--include/map_object_constants.h239
-rw-r--r--include/moves.h366
-rw-r--r--include/overworld.h3
-rw-r--r--include/pokeball.h26
-rw-r--r--include/random.h (renamed from include/rng.h)6
-rw-r--r--include/species.h454
-rw-r--r--include/sprite.h9
-rw-r--r--include/vars.h77
-rw-r--r--ld_script.txt10
-rw-r--r--src/battle_2.c198
-rw-r--r--src/battle_ai_script_commands.c11
-rw-r--r--src/battle_ai_switch_items.c10
-rw-r--r--src/battle_anim.c2
-rw-r--r--src/battle_controller_link_opponent.c54
-rw-r--r--src/battle_controller_link_partner.c56
-rw-r--r--src/battle_controller_opponent.c62
-rw-r--r--src/battle_controller_player.c66
-rw-r--r--src/battle_controller_player_partner.c58
-rw-r--r--src/battle_controller_recorded_opponent.c52
-rw-r--r--src/battle_controller_recorded_player.c62
-rw-r--r--src/battle_controller_safari.c4
-rw-r--r--src/battle_controller_wally.c50
-rw-r--r--src/battle_controllers.c4
-rw-r--r--src/battle_dome_cards.c2
-rw-r--r--src/battle_gfx_sfx_util.c22
-rw-r--r--src/battle_interface.c148
-rw-r--r--src/battle_message.c8
-rw-r--r--src/battle_script_commands.c46
-rw-r--r--src/battle_setup.c18
-rw-r--r--src/battle_util.c124
-rw-r--r--src/battle_util2.c12
-rw-r--r--src/berry.c4
-rw-r--r--src/berry_blender.c122
-rwxr-xr-xsrc/braille_puzzles.c6
-rw-r--r--src/calculate_base_damage.c12
-rwxr-xr-xsrc/clear_save_data_screen.c2
-rw-r--r--src/daycare.c8
-rw-r--r--src/decompress.c2
-rw-r--r--src/decoration.c73
-rw-r--r--src/decoration_inventory.c1
-rw-r--r--src/egg_hatch.c86
-rw-r--r--src/event_data.c2
-rw-r--r--src/evolution_graphics.c84
-rw-r--r--src/evolution_scene.c50
-rwxr-xr-xsrc/field_map_obj.c470
-rw-r--r--src/field_poison.c2
-rwxr-xr-xsrc/field_special_scene.c4
-rw-r--r--src/hall_of_fame.c28
-rw-r--r--src/heal_location.c4
-rw-r--r--src/item.c2
-rw-r--r--src/lilycove_lady.c4
-rw-r--r--src/load_save.c8
-rw-r--r--src/lottery_corner.c6
-rw-r--r--src/mail.c3
-rw-r--r--src/main.c2
-rw-r--r--src/new_game.c2
-rw-r--r--src/overworld.c (renamed from src/rom4.c)0
-rw-r--r--src/pokeball.c1282
-rw-r--r--src/pokemon_1.c4
-rw-r--r--src/pokemon_2.c4
-rw-r--r--src/pokemon_3.c12
-rw-r--r--src/pokemon_size_record.c2
-rw-r--r--src/pokemon_storage_system.c2
-rwxr-xr-xsrc/pokemon_summary_screen.c12
-rw-r--r--src/random.c (renamed from src/rng.c)2
-rw-r--r--src/recorded_battle.c2
-rw-r--r--src/region_map.c152
-rw-r--r--src/reshow_battle_screen.c20
-rw-r--r--src/roamer.c4
-rw-r--r--src/safari_zone.c2
-rw-r--r--src/save.c2
-rwxr-xr-xsrc/save_location.c83
-rw-r--r--src/scrcmd.c2
-rw-r--r--src/secret_base.c57
-rw-r--r--src/sound.c2
-rw-r--r--src/sprite.c17
-rw-r--r--src/starter_choose.c26
-rw-r--r--src/tv.c35
-rw-r--r--src/wild_encounter.c25
-rw-r--r--sym_bss.txt56
-rw-r--r--sym_ewram.txt2
189 files changed, 21284 insertions, 25132 deletions
diff --git a/Makefile b/Makefile
index 4bff6887a..0d06d5687 100644
--- a/Makefile
+++ b/Makefile
@@ -130,7 +130,7 @@ $(DATA_ASM_BUILDDIR)/%.o: data_dep :=
endif
$(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s $$(data_dep)
- $(PREPROC) $< charmap.txt | $(AS) $(ASFLAGS) -o $@
+ $(PREPROC) $< charmap.txt | $(CPP) -I include | $(AS) $(ASFLAGS) -o $@
$(OBJ_DIR)/sym_bss.ld: sym_bss.txt
$(RAMSCRGEN) .bss $< ENGLISH > $@
diff --git a/asm/battle_anim_80A5C6C.s b/asm/battle_anim_80A5C6C.s
index 158da2a02..08baa4595 100644
--- a/asm/battle_anim_80A5C6C.s
+++ b/asm/battle_anim_80A5C6C.s
@@ -5,8 +5,8 @@
.text
- thumb_func_start sub_80A5C6C
-sub_80A5C6C: @ 80A5C6C
+ thumb_func_start GetBankPosition
+GetBankPosition: @ 80A5C6C
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
@@ -154,7 +154,7 @@ _080A5DB0:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80A5C6C
+ thumb_func_end GetBankPosition
thumb_func_start sub_80A5DB8
sub_80A5DB8: @ 80A5DB8
@@ -577,7 +577,7 @@ _080A611C:
_080A6126:
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80A5C6C
+ bl GetBankPosition
_080A612E:
lsls r0, 24
lsrs r0, 24
@@ -592,7 +592,7 @@ GetBankSpriteDefault_Y: @ 80A6138
lsls r0, 24
lsrs r0, 24
movs r1, 0x4
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
pop {r1}
@@ -611,7 +611,7 @@ GetSubstituteSpriteDefault_Y: @ 80A614C
beq _080A6170
adds r0, r4, 0
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 8
movs r1, 0x80
@@ -620,7 +620,7 @@ GetSubstituteSpriteDefault_Y: @ 80A614C
_080A6170:
adds r0, r4, 0
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 8
movs r1, 0x88
@@ -642,7 +642,7 @@ sub_80A6190: @ 80A6190
lsrs r5, r0, 24
adds r0, r5, 0
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r6, r0, 24
bl IsContest
@@ -1245,13 +1245,13 @@ sub_80A65EC: @ 80A65EC
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -1442,13 +1442,13 @@ sub_80A6760: @ 80A6760
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -1550,13 +1550,13 @@ sub_80A6838: @ 80A6838
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -1578,13 +1578,13 @@ sub_80A6864: @ 80A6864
ldr r7, =gAnimBankAttacker
ldrb r0, [r7]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r6, r0, 24
ldr r0, =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
cmp r6, r0
@@ -1646,8 +1646,8 @@ sub_80A68D4: @ 80A68D4
bx r0
thumb_func_end sub_80A68D4
- thumb_func_start sub_80A6900
-sub_80A6900: @ 80A6900
+ thumb_func_start AnimateBallThrow
+AnimateBallThrow: @ 80A6900
push {r4,lr}
adds r4, r0, 0
bl sub_80A6F3C
@@ -1674,7 +1674,7 @@ _080A692E:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_80A6900
+ thumb_func_end AnimateBallThrow
thumb_func_start sub_80A6934
sub_80A6934: @ 80A6934
@@ -3685,7 +3685,7 @@ _080A785C:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x4]
@@ -3693,7 +3693,7 @@ _080A785C:
strh r0, [r5, 0x32]
ldrb r0, [r4]
adds r1, r7, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x6]
@@ -3733,7 +3733,7 @@ _080A78CC:
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -3741,7 +3741,7 @@ _080A78CC:
strh r0, [r6, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x6]
@@ -3763,7 +3763,7 @@ _080A78CC:
sub_80A791C: @ 80A791C
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _080A7930
@@ -3828,7 +3828,7 @@ _080A798E:
strh r0, [r5, 0x2E]
adds r0, r6, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r2, [r4, 0x4]
@@ -3836,7 +3836,7 @@ _080A798E:
strh r0, [r5, 0x32]
adds r0, r6, 0
adds r1, r7, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x6]
@@ -5713,7 +5713,7 @@ _080A88A6:
_080A88AE:
mov r0, r8
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrb r1, [r4]
@@ -5722,7 +5722,7 @@ _080A88AE:
_080A88C0:
mov r0, r8
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrb r1, [r4]
@@ -5731,7 +5731,7 @@ _080A88C0:
_080A88D2:
mov r0, r8
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrb r2, [r4]
@@ -5744,7 +5744,7 @@ _080A88E4:
_080A88EA:
mov r0, r8
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrb r2, [r4]
@@ -5757,7 +5757,7 @@ _080A88FC:
_080A8902:
mov r0, r8
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, 0x1F
@@ -5798,13 +5798,13 @@ _080A8942:
_080A8946:
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
mov r8, r0
adds r0, r4, 0
adds r1, r6, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r7, r0, 24
bl IsDoubleBattle
@@ -5819,12 +5819,12 @@ _080A8946:
eors r4, r0
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r5, r0, 24
adds r0, r4, 0
adds r1, r6, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r3, r0, 24
mov r0, r8
@@ -6392,13 +6392,13 @@ sub_80A8E30: @ 80A8E30
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
diff --git a/asm/battle_anim_80A9C70.s b/asm/battle_anim_80A9C70.s
index d27852961..bdb1a51ec 100644
--- a/asm/battle_anim_80A9C70.s
+++ b/asm/battle_anim_80A9C70.s
@@ -334,7 +334,7 @@ sub_80A9EF4: @ 80A9EF4
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 8
ldr r1, =0xffe00000
@@ -342,7 +342,7 @@ sub_80A9EF4: @ 80A9EF4
lsrs r5, r0, 16
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 8
ldr r1, =0xffdc0000
diff --git a/asm/battle_anim_80FE840.s b/asm/battle_anim_80FE840.s
index 315f884cf..75879519e 100644
--- a/asm/battle_anim_80FE840.s
+++ b/asm/battle_anim_80FE840.s
@@ -99,13 +99,13 @@ sub_80FE8E0: @ 80FE8E0
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -135,13 +135,13 @@ sub_80FE930: @ 80FE930
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -170,7 +170,7 @@ sub_80FE988: @ 80FE988
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -178,7 +178,7 @@ sub_80FE988: @ 80FE988
strh r0, [r4, 0x34]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -324,13 +324,13 @@ sub_80FEAD8: @ 80FEAD8
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -350,7 +350,7 @@ sub_80FEAD8: @ 80FEAD8
sub_80FEB28: @ 80FEB28
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _080FEB3C
@@ -377,13 +377,13 @@ sub_80FEB44: @ 80FEB44
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -413,7 +413,7 @@ _080FEB94:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
@@ -421,7 +421,7 @@ _080FEB94:
strh r0, [r5, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -511,7 +511,7 @@ _080FEC68:
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -519,7 +519,7 @@ _080FEC68:
strh r0, [r6, 0x32]
ldrb r0, [r5]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x6]
@@ -541,7 +541,7 @@ _080FEC68:
sub_80FECB8: @ 80FECB8
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _080FECE2
@@ -774,7 +774,7 @@ sub_80FEE78: @ 80FEE78
ldr r0, =gAnimBankAttacker
ldrb r0, [r0]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r5, [r5, 0x4]
@@ -871,7 +871,7 @@ sub_80FEF44: @ 80FEF44
ldr r0, =gAnimBankAttacker
ldrb r0, [r0]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r5, [r5, 0x4]
@@ -953,13 +953,13 @@ sub_80FEFFC: @ 80FEFFC
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -1101,7 +1101,7 @@ _080FF114:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x4]
@@ -1109,7 +1109,7 @@ _080FF114:
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x6]
@@ -1175,7 +1175,7 @@ sub_80FF1C0: @ 80FF1C0
movs r0, 0x1
strh r0, [r6, 0x2E]
adds r0, r6, 0
- bl sub_80A6900
+ bl AnimateBallThrow
ldrh r0, [r6, 0x3C]
strh r5, [r6, 0x2E]
lsls r4, 16
@@ -1799,7 +1799,7 @@ _080FF6AA:
_080FF6C2:
ldrb r0, [r6]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -1808,7 +1808,7 @@ _080FF6C2:
strh r0, [r5, 0x20]
ldrb r0, [r6]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x2]
@@ -1848,13 +1848,13 @@ _080FF704:
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -1881,13 +1881,13 @@ sub_80FF768: @ 80FF768
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -1944,13 +1944,13 @@ sub_80FF7EC: @ 80FF7EC
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
mov r8, r0
mov r0, r8
lsls r0, 24
@@ -1959,13 +1959,13 @@ sub_80FF7EC: @ 80FF7EC
ldr r6, =gAnimBankTarget
ldrb r0, [r6]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldrb r0, [r6]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
adds r2, r0, 0
lsls r2, 24
subs r4, r5
@@ -2098,7 +2098,7 @@ sub_80FF934: @ 80FF934
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -2107,7 +2107,7 @@ sub_80FF934: @ 80FF934
strh r0, [r6, 0x20]
ldrb r0, [r5]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x2]
@@ -2352,12 +2352,12 @@ sub_80FFB18: @ 80FFB18
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r2, r0, 24
ldr r0, =gAnimBankAttacker
@@ -2456,7 +2456,7 @@ sub_80FFBF4: @ 80FFBF4
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
@@ -2554,12 +2554,12 @@ sub_80FFCB4: @ 80FFCB4
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r2, r0, 24
ldr r0, =gAnimBankTarget
@@ -2963,13 +2963,13 @@ sub_80FFFC0: @ 80FFFC0
strh r0, [r5, 0x10]
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x14]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x16]
@@ -3161,7 +3161,7 @@ _08100180:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
bne _08100196
@@ -3190,7 +3190,7 @@ _081001B4:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
bne _081001CA
@@ -3219,7 +3219,7 @@ _081001E6:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
bne _081001FC
@@ -3272,7 +3272,7 @@ _08100254:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
bne _0810026A
@@ -3403,7 +3403,7 @@ _08100362:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
bne _08100378
@@ -3514,7 +3514,7 @@ _08100448:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _081004FC
@@ -3566,7 +3566,7 @@ _081004B6:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _081004FC
@@ -3837,7 +3837,7 @@ _081006CE:
_081006D4:
adds r0, r6, 0
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r5, [r5]
@@ -3860,7 +3860,7 @@ _08100700:
ldr r0, =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r7, [r7]
@@ -4082,12 +4082,12 @@ _081008C4:
_081008C6:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r5, r0, 24
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r2, r0, 24
ldr r0, =gBattleAnimArgs
@@ -4346,13 +4346,13 @@ sub_8100AE0: @ 8100AE0
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -4444,7 +4444,7 @@ _08100BA8:
movs r4, 0x2
eors r0, r4
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r7, r0, 24
ldrb r0, [r5]
@@ -4456,12 +4456,12 @@ _08100BC8:
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r7, r0, 24
ldrb r0, [r5]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r4, r0, 24
ldrb r0, [r5]
@@ -4477,7 +4477,7 @@ _08100BC8:
mov r2, r8
eors r0, r2
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, r7
@@ -4486,7 +4486,7 @@ _08100BC8:
mov r1, r8
eors r0, r1
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, r4
@@ -4497,13 +4497,13 @@ _08100C24:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r7, r0, 24
ldrb r0, [r4]
_08100C34:
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r4, r0, 24
_08100C3E:
@@ -5093,14 +5093,14 @@ sub_81010CC: @ 81010CC
ldr r6, =gAnimBankTarget
ldrb r0, [r6]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
movs r5, 0
strh r0, [r4, 0x20]
ldrb r0, [r6]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldr r1, =0x0000ffe8
@@ -5470,7 +5470,7 @@ _081013C4:
bne _081013E8
adds r0, r6, 0
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
@@ -5481,14 +5481,14 @@ _081013C4:
_081013E8:
adds r0, r6, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
adds r0, r6, 0
movs r1, 0x3
_081013FA:
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x2]
@@ -5888,14 +5888,14 @@ _08101718:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, r7
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, r6
@@ -6930,7 +6930,7 @@ _08101F5C:
_08101F5E:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x2]
@@ -6938,7 +6938,7 @@ _08101F5E:
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x4]
@@ -6965,7 +6965,7 @@ sub_8101FA8: @ 8101FA8
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldr r1, =0x0000ffd0
@@ -6973,7 +6973,7 @@ sub_8101FA8: @ 8101FA8
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -6995,7 +6995,7 @@ sub_8101FF0: @ 8101FF0
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldr r1, =gBattleAnimArgs
@@ -7007,7 +7007,7 @@ sub_8101FF0: @ 8101FF0
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -7123,7 +7123,7 @@ _081020F4:
_081020F6:
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x2]
@@ -7131,7 +7131,7 @@ _081020F6:
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x4]
@@ -7194,14 +7194,14 @@ sub_810217C: @ 810217C
ldr r6, =gAnimBankAttacker
ldrb r0, [r6]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
movs r5, 0
strh r0, [r4, 0x20]
ldrb r0, [r6]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
subs r0, 0xC
@@ -7319,7 +7319,7 @@ sub_8102268: @ 8102268
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
ldr r5, =gBattleAnimArgs
lsrs r0, 24
@@ -7328,7 +7328,7 @@ sub_8102268: @ 8102268
strh r0, [r6, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r5, [r5, 0x2]
@@ -7468,13 +7468,13 @@ _08102390:
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -7676,7 +7676,7 @@ sub_8102540: @ 8102540
ldr r0, =gAnimBankAttacker
ldrb r0, [r0]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
ldr r2, =gBattleAnimArgs
lsrs r0, 24
@@ -8071,7 +8071,7 @@ _08102862:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6]
@@ -8079,7 +8079,7 @@ _08102862:
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x2]
@@ -8660,12 +8660,12 @@ _08102D34:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r3, r0, 24
_08102D4E:
@@ -8870,7 +8870,7 @@ sub_8102EB0: @ 8102EB0
_08102ECE:
ldrb r0, [r7]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -8880,7 +8880,7 @@ _08102ECE:
strh r0, [r6, 0x20]
ldrb r0, [r7]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r2, [r4, 0x4]
@@ -9005,14 +9005,14 @@ _08102FDE:
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, r6
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, 0x8
@@ -9167,7 +9167,7 @@ _08103136:
strh r0, [r6, 0x20]
adds r0, r5, 0
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
adds r4, r0, 0
adds r0, r5, 0
movs r1, 0
@@ -9334,7 +9334,7 @@ _081032A2:
ldrb r5, [r0]
adds r0, r5, 0
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
movs r6, 0
@@ -9719,13 +9719,13 @@ sub_810358C: @ 810358C
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -10140,7 +10140,7 @@ _0810390E:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
ldr r6, =gBattleAnimArgs
lsrs r0, 24
@@ -10151,7 +10151,7 @@ _0810390E:
mov r8, r0
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r2, [r6, 0x6]
@@ -10719,7 +10719,7 @@ _08103DB6:
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
ldr r1, =gTasks
mov r3, r8
adds r4, r3, r7
@@ -10731,7 +10731,7 @@ _08103DB6:
adds r6, r0, 0
ldrb r0, [r5]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x1C]
@@ -10762,13 +10762,13 @@ _08103E20:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
mov r1, r10
@@ -11053,12 +11053,12 @@ sub_8104088: @ 8104088
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -11203,13 +11203,13 @@ sub_81041C4: @ 81041C4
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -11426,14 +11426,14 @@ _08104390:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
add r0, r8
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, r6
@@ -11513,7 +11513,7 @@ _08104448:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
add r0, r9
@@ -11522,7 +11522,7 @@ _08104448:
strh r0, [r5, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, r6
@@ -12356,7 +12356,7 @@ sub_8104B1C: @ 8104B1C
bl StartSpriteAnim
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, 0x20
@@ -12370,7 +12370,7 @@ _08104B50:
bl StartSpriteAnim
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
subs r0, 0x20
@@ -12381,7 +12381,7 @@ _08104B6A:
ldr r0, =gAnimBankAttacker
ldrb r0, [r0]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
movs r1, 0
@@ -12432,7 +12432,7 @@ _08104BCA:
_08104BE4:
adds r0, r5, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -12441,7 +12441,7 @@ _08104BE4:
strh r0, [r6, 0x20]
adds r0, r5, 0
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x4]
@@ -12962,7 +12962,7 @@ sub_810501C: @ 810501C
ldr r6, =gAnimBankTarget
ldrb r0, [r6]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
subs r0, 0x10
@@ -13231,7 +13231,7 @@ _08105230:
adds r0, r5, 0
movs r1, 0x2
_08105234:
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r4, r0, 24
adds r0, r5, 0
@@ -13341,7 +13341,7 @@ _08105310:
beq _0810536C
adds r0, r7, 0
mov r1, r10
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
ldr r1, =gBattleAnimArgs
lsrs r0, 24
@@ -13372,7 +13372,7 @@ _0810535C:
_0810536C:
adds r0, r7, 0
mov r1, r10
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldr r1, =gBattleAnimArgs
@@ -13442,7 +13442,7 @@ _081053FA:
strb r0, [r1]
adds r0, r7, 0
ldr r1, [sp, 0x4]
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -13473,13 +13473,13 @@ _0810544C:
mov r4, sp
mov r0, r8
mov r1, r10
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4]
mov r0, r8
ldr r1, [sp, 0x4]
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
mov r2, sp
@@ -14295,13 +14295,13 @@ sub_8105AAC: @ 8105AAC
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x24]
ldrb r0, [r5]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -14700,7 +14700,7 @@ _08105E08:
strh r0, [r5, 0x2E]
ldrb r0, [r6]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -14708,7 +14708,7 @@ _08105E08:
strh r0, [r5, 0x32]
ldrb r0, [r6]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x6]
@@ -15075,7 +15075,7 @@ sub_8106140: @ 8106140
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -15083,7 +15083,7 @@ sub_8106140: @ 8106140
strh r0, [r4, 0x34]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -15776,13 +15776,13 @@ sub_810673C: @ 810673C
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -15927,13 +15927,13 @@ sub_8106878: @ 8106878
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -16032,13 +16032,13 @@ sub_8106944: @ 8106944
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -16513,13 +16513,13 @@ _08106CFC:
_08106CFE:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -16666,7 +16666,7 @@ _08106E1E:
_08106E38:
adds r0, r6, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
ldr r7, =gBattleAnimArgs
lsrs r0, 24
@@ -16676,7 +16676,7 @@ _08106E38:
strh r0, [r5, 0x20]
adds r0, r6, 0
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r7, 0x4]
@@ -17019,13 +17019,13 @@ _081070F8:
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, 0x28
@@ -17204,7 +17204,7 @@ sub_8107260: @ 8107260
beq _08107290
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldr r4, =gBattleAnimArgs
@@ -17215,7 +17215,7 @@ sub_8107260: @ 8107260
_08107290:
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -17225,7 +17225,7 @@ _081072A2:
strh r0, [r6, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x2]
@@ -17256,7 +17256,7 @@ _081072D8:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x32]
@@ -17264,7 +17264,7 @@ _081072D8:
strh r0, [r6, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x36]
@@ -17448,7 +17448,7 @@ _08107482:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, r6
@@ -17457,7 +17457,7 @@ _08107482:
strh r0, [r5, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r7, [r7, 0x6]
@@ -17624,7 +17624,7 @@ sub_81075EC: @ 81075EC
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
@@ -17632,7 +17632,7 @@ sub_81075EC: @ 81075EC
strh r0, [r5, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -17776,13 +17776,13 @@ sub_8107730: @ 8107730
ldr r7, =gAnimBankAttacker
ldrb r0, [r7]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r7]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -17913,7 +17913,7 @@ _08107842:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r5, 0x4]
@@ -17921,7 +17921,7 @@ _08107842:
strh r0, [r6, 0x32]
ldrb r0, [r4]
adds r1, r7, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r5, [r5, 0x6]
@@ -19353,13 +19353,13 @@ sub_8108408: @ 8108408
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
mov r8, r0
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r6, r0, 24
movs r5, 0xAC
@@ -19959,14 +19959,14 @@ sub_81088E4: @ 81088E4
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
movs r6, 0
strh r0, [r5, 0xE]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x10]
@@ -20234,7 +20234,7 @@ _08108B1A:
sub_8108B2C: @ 8108B2C
push {r4-r6,lr}
adds r6, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _08108B86
@@ -20283,7 +20283,7 @@ _08108B86:
sub_8108B94: @ 8108B94
push {r4-r6,lr}
adds r5, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _08108BD0
@@ -20421,13 +20421,13 @@ sub_8108C94: @ 8108C94
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x30]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -21131,7 +21131,7 @@ sub_8109244: @ 8109244
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
@@ -21139,7 +21139,7 @@ sub_8109244: @ 8109244
strh r0, [r5, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -21167,13 +21167,13 @@ sub_810929C: @ 810929C
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x22]
@@ -22359,7 +22359,7 @@ _08109BCE:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
@@ -22367,7 +22367,7 @@ _08109BCE:
strh r0, [r5, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -23181,13 +23181,13 @@ sub_810A274: @ 810A274
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -23307,7 +23307,7 @@ _0810A384:
bne _0810A3AC
adds r0, r4, 0
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
@@ -23318,14 +23318,14 @@ _0810A384:
_0810A3AC:
adds r0, r4, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
adds r0, r4, 0
movs r1, 0x3
_0810A3BE:
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -23420,7 +23420,7 @@ sub_810A46C: @ 810A46C
ldr r6, =gAnimBankTarget
ldrb r0, [r6]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -23428,7 +23428,7 @@ sub_810A46C: @ 810A46C
strh r0, [r4, 0x34]
ldrb r0, [r6]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -23591,7 +23591,7 @@ _0810A5E0:
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -23600,7 +23600,7 @@ _0810A5E0:
strh r0, [r6, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -23657,7 +23657,7 @@ _0810A666:
_0810A66E:
adds r0, r6, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -23666,7 +23666,7 @@ _0810A66E:
strh r0, [r5, 0x20]
adds r0, r6, 0
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x2]
@@ -23830,7 +23830,7 @@ sub_810A7DC: @ 810A7DC
ldr r6, =gAnimBankTarget
ldrb r0, [r6]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
ldr r1, =gTasks
lsls r4, r5, 2
adds r4, r5
@@ -23844,7 +23844,7 @@ sub_810A7DC: @ 810A7DC
strh r0, [r4, 0x8]
ldrb r0, [r6]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r5, 0x2]
@@ -24228,13 +24228,13 @@ _0810AB28:
_0810AB2A:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x24]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x26]
@@ -24448,13 +24448,13 @@ _0810ACF4:
_0810ACF6:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -24486,13 +24486,13 @@ _0810AD4C:
_0810AD4E:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -24521,13 +24521,13 @@ sub_810AD98: @ 810AD98
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -24649,7 +24649,7 @@ _0810AE90:
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x24]
@@ -24855,13 +24855,13 @@ _0810B012:
_0810B048:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0xE]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x12]
@@ -24881,13 +24881,13 @@ _0810B070:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x12]
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
movs r2, 0xA
@@ -25127,13 +25127,13 @@ _0810B24E:
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -25194,13 +25194,13 @@ _0810B2DC:
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x14]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x16]
@@ -25209,7 +25209,7 @@ _0810B2DC:
ldr r0, =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x1C]
@@ -25542,7 +25542,7 @@ _0810B58A:
ldr r0, =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, 0x20
@@ -25564,7 +25564,7 @@ _0810B5B4:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -25724,26 +25724,26 @@ sub_810B6C4: @ 810B6C4
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
mov r9, r0
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
mov r8, r0
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r3, r0, 24
ldrb r0, [r4]
movs r1, 0x3
str r3, [sp]
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r6, r0, 24
ldr r1, =gBattleAnimArgs
@@ -25979,7 +25979,7 @@ sub_810B8EC: @ 810B8EC
ldr r0, =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -26006,7 +26006,7 @@ _0810B936:
ldr r0, =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
ldr r1, =gBattleAnimArgs
lsrs r0, 24
@@ -26133,13 +26133,13 @@ sub_810BA24: @ 810BA24
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x6]
@@ -26434,13 +26434,13 @@ sub_810BC94: @ 810BC94
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -27182,13 +27182,13 @@ sub_810C2F0: @ 810C2F0
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -27460,12 +27460,12 @@ sub_810C560: @ 810C560
mov r8, r0
ldrb r0, [r0]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
adds r4, r0, 0
ldr r7, =gAnimBankTarget
ldrb r0, [r7]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r4, 24
lsls r0, 24
cmp r4, r0
@@ -27526,13 +27526,13 @@ _0810C5F4:
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -27548,7 +27548,7 @@ _0810C5F4:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x6]
@@ -27570,7 +27570,7 @@ _0810C65C:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x6]
@@ -27583,7 +27583,7 @@ _0810C65C:
ldrb r0, [r4]
movs r1, 0x1
_0810C684:
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x8]
@@ -27679,7 +27679,7 @@ _0810C736:
ldr r6, =gAnimBankTarget
ldrb r0, [r6]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
@@ -28062,12 +28062,12 @@ sub_810C9E4: @ 810C9E4
str r0, [sp, 0x4]
adds r0, r5, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r7, r0, 24
adds r0, r5, 0
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r6, r0, 24
mov r1, r8
@@ -28384,7 +28384,7 @@ _0810CCCE:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x4]
@@ -28392,7 +28392,7 @@ _0810CCCE:
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x6]
@@ -28414,7 +28414,7 @@ _0810CCCE:
sub_810CD1C: @ 810CD1C
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _0810CD3E
@@ -28705,13 +28705,13 @@ _0810CF74:
bl StartSpriteAnim
mov r0, r8
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
mov r0, r8
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -29149,13 +29149,13 @@ sub_810D308: @ 810D308
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -29275,13 +29275,13 @@ _0810D428:
_0810D42A:
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -29389,7 +29389,7 @@ sub_810D4F4: @ 810D4F4
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r2, [r6, 0x4]
@@ -29400,7 +29400,7 @@ _0810D520:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x4]
@@ -29409,7 +29409,7 @@ _0810D532:
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x6]
@@ -29523,13 +29523,13 @@ sub_810D608: @ 810D608
ldr r4, =gBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -29601,7 +29601,7 @@ sub_810D6A8: @ 810D6A8
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -29611,7 +29611,7 @@ sub_810D6A8: @ 810D6A8
lsls r0, 24
lsrs r0, 24
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -29715,13 +29715,13 @@ _0810D7C2:
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
adds r6, r0, 0
lsls r6, 24
lsrs r6, 24
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
@@ -29729,14 +29729,14 @@ _0810D7C2:
mov r8, r2
ldrb r0, [r2]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
mov r1, r8
ldrb r0, [r1]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
subs r4, r6
strh r4, [r7, 0x2E]
@@ -29811,13 +29811,13 @@ sub_810D874: @ 810D874
ldr r4, =gBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -29879,7 +29879,7 @@ _0810D918:
strh r0, [r5, 0x30]
adds r0, r4, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
@@ -29887,7 +29887,7 @@ _0810D918:
strh r0, [r5, 0x34]
adds r0, r4, 0
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -29932,13 +29932,13 @@ sub_810D984: @ 810D984
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -30208,13 +30208,13 @@ _0810DBC2:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -30234,7 +30234,7 @@ _0810DBC2:
sub_810DC10: @ 810DC10
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _0810DC24
@@ -30309,7 +30309,7 @@ _0810DC72:
sub_810DCB4: @ 810DCB4
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _0810DCC8
@@ -30699,7 +30699,7 @@ _0810DFC8:
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -30709,7 +30709,7 @@ _0810DFC8:
strh r0, [r6, 0x34]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x6]
@@ -30782,13 +30782,13 @@ _0810E070:
_0810E088:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
ldr r2, =gBattleAnimArgs
ldrh r1, [r2]
@@ -30808,13 +30808,13 @@ _0810E088:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -30958,7 +30958,7 @@ _0810E1FE:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
@@ -30966,7 +30966,7 @@ _0810E1FE:
strh r0, [r5, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -31118,7 +31118,7 @@ _0810E33E:
_0810E354:
adds r0, r6, 0
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -31127,7 +31127,7 @@ _0810E354:
strh r0, [r7, 0x20]
adds r0, r6, 0
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
ldrh r1, [r4, 0x2]
lsrs r0, 24
@@ -32064,13 +32064,13 @@ sub_810EA4C: @ 810EA4C
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -32240,13 +32240,13 @@ sub_810EB88: @ 810EB88
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
@@ -32344,7 +32344,7 @@ _0810ECB0:
ldr r0, =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -32553,13 +32553,13 @@ _0810EE40:
_0810EE42:
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -32708,13 +32708,13 @@ _0810EF74:
_0810EF76:
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, 0x20
@@ -32864,14 +32864,14 @@ sub_810F084: @ 810F084
ldr r6, =gAnimBankAttacker
ldrb r0, [r6]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
mov r1, r8
strh r0, [r1, 0x20]
ldrb r0, [r6]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
adds r6, r0, 0
lsls r6, 24
lsrs r6, 24
@@ -33139,7 +33139,7 @@ _0810F2B8:
_0810F2CE:
ldrb r0, [r6]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -33148,7 +33148,7 @@ _0810F2CE:
strh r0, [r5, 0x20]
ldrb r0, [r6]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x2]
@@ -33571,13 +33571,13 @@ sub_810F634: @ 810F634
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -33656,14 +33656,14 @@ sub_810F6B0: @ 810F6B0
_0810F6F6:
ldrb r0, [r6]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, r4
strh r0, [r5, 0x20]
ldrb r0, [r6]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, r7
@@ -33955,13 +33955,13 @@ sub_810F940: @ 810F940
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x24]
@@ -34263,13 +34263,13 @@ sub_810FBA8: @ 810FBA8
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -34508,7 +34508,7 @@ _0810FDE8:
sub_810FDF0: @ 810FDF0
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _0810FE0E
@@ -35065,13 +35065,13 @@ _08110260:
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -35254,7 +35254,7 @@ _081103C4:
strh r0, [r6, 0x2E]
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -35262,7 +35262,7 @@ _081103C4:
strh r0, [r6, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x6]
@@ -35333,13 +35333,13 @@ _08110478:
strh r0, [r6, 0x2E]
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x36]
@@ -35387,13 +35387,13 @@ _08110500:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -35715,7 +35715,7 @@ _081107B2:
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
adds r4, r0, 0
lsls r4, 24
ldr r6, =gBattleAnimArgs
@@ -35726,7 +35726,7 @@ _081107B2:
lsrs r4, 16
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -35797,7 +35797,7 @@ _08110870:
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -35805,7 +35805,7 @@ _08110870:
strh r0, [r6, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x6]
@@ -35844,7 +35844,7 @@ sub_81108CC: @ 81108CC
ands r1, r0
strb r1, [r2]
adds r0, r4, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _081108F8
@@ -35879,7 +35879,7 @@ _0811090E:
lsls r0, 16
lsrs r6, r0, 16
adds r0, r4, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
bne _08110988
@@ -35949,13 +35949,13 @@ _081109B0:
_081109B2:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, 0x12
@@ -36623,13 +36623,13 @@ sub_8110F74: @ 8110F74
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
mov r9, r0
ldrb r0, [r5]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 8
movs r1, 0xC0
@@ -36639,13 +36639,13 @@ sub_8110F74: @ 8110F74
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
mov r10, r0
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 8
movs r2, 0xC0
@@ -37059,7 +37059,7 @@ _08111304:
sub_811131C: @ 811131C
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _0811134E
@@ -37219,13 +37219,13 @@ sub_8111444: @ 8111444
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldr r2, =gBattleAnimArgs
@@ -37446,7 +37446,7 @@ sub_811160C: @ 811160C
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -37454,7 +37454,7 @@ sub_811160C: @ 811160C
strh r0, [r4, 0x34]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -37929,7 +37929,7 @@ sub_81119E0: @ 81119E0
mov r8, r0
ldrb r0, [r0]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
movs r1, 0
@@ -37938,7 +37938,7 @@ sub_81119E0: @ 81119E0
mov r1, r8
ldrb r0, [r1]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -38045,13 +38045,13 @@ _08111AD2:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x30]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
@@ -38107,13 +38107,13 @@ _08111B3C:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -38982,12 +38982,12 @@ sub_8112264: @ 8112264
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 8
movs r2, 0xE0
@@ -39001,12 +39001,12 @@ _081122AC:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 8
movs r2, 0xE0
@@ -39017,13 +39017,13 @@ _081122AC:
_081122D0:
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
mov r10, r0
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 8
movs r1, 0xE0
@@ -39169,7 +39169,7 @@ sub_81123C4: @ 81123C4
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x4]
@@ -39221,7 +39221,7 @@ _08112436:
beq _08112502
adds r0, r4, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
mov r10, r0
@@ -40198,7 +40198,7 @@ sub_8112C6C: @ 8112C6C
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x1A]
@@ -40682,13 +40682,13 @@ sub_8113064: @ 8113064
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -40755,13 +40755,13 @@ sub_8113100: @ 8113100
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -40842,13 +40842,13 @@ _081131D0:
_081131D2:
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -40901,14 +40901,14 @@ sub_8113250: @ 8113250
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
movs r5, 0
strh r0, [r6, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x22]
@@ -41358,14 +41358,14 @@ sub_81135EC: @ 81135EC
mov r8, r1
ldrb r0, [r1]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
mov r2, r8
ldrb r0, [r2]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r3, [r5, 0x8]
@@ -41693,26 +41693,26 @@ sub_81138D4: @ 81138D4
ldr r6, =gAnimBankTarget
ldrb r0, [r6]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x30]
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r6]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x34]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -42031,7 +42031,7 @@ _08113B60:
sub_8113B90: @ 8113B90
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _08113BA4
@@ -42057,7 +42057,7 @@ sub_8113BAC: @ 8113BAC
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, 0x1F
@@ -42076,7 +42076,7 @@ sub_8113BAC: @ 8113BAC
strh r1, [r5, 0x22]
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
@@ -42475,7 +42475,7 @@ _08113F84:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, 0x1F
@@ -42492,7 +42492,7 @@ _08113F84:
strh r1, [r5, 0x22]
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
subs r1, r0, 0x4
@@ -43658,13 +43658,13 @@ sub_8114994: @ 8114994
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -43673,13 +43673,13 @@ sub_8114994: @ 8114994
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -43699,7 +43699,7 @@ sub_8114994: @ 8114994
sub_81149FC: @ 81149FC
push {r4,r5,lr}
adds r5, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _08114A50
@@ -43719,13 +43719,13 @@ sub_81149FC: @ 81149FC
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -43746,7 +43746,7 @@ _08114A50:
sub_8114A60: @ 8114A60
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _08114A74
@@ -43781,7 +43781,7 @@ _08114A9C:
ldr r5, =gAnimBankTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -43789,7 +43789,7 @@ _08114A9C:
strh r0, [r6, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x6]
@@ -43893,7 +43893,7 @@ sub_8114B80: @ 8114B80
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r2, [r6, 0x2]
@@ -43901,7 +43901,7 @@ sub_8114B80: @ 8114B80
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r3, [r6, 0x4]
@@ -44657,7 +44657,7 @@ _081151BE:
_081151DA:
adds r0, r4, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, r6
@@ -44693,7 +44693,7 @@ _081151DA:
sub_8115228: @ 8115228
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _0811523C
@@ -44723,7 +44723,7 @@ _08115262:
ldrb r5, [r0]
adds r0, r5, 0
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldr r2, =0x0000fff0
@@ -45244,7 +45244,7 @@ _0811565A:
adds r4, r0
adds r0, r5, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
movs r1, 0x20
@@ -45255,7 +45255,7 @@ _0811565A:
strh r1, [r4, 0xA]
adds r0, r5, 0
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
movs r1, 0x40
diff --git a/asm/battle_anim_815A0D4.s b/asm/battle_anim_815A0D4.s
index d2a401f59..611e4b067 100755
--- a/asm/battle_anim_815A0D4.s
+++ b/asm/battle_anim_815A0D4.s
@@ -90,7 +90,7 @@ sub_815A160: @ 815A160
ldr r6, =gAnimBankTarget
ldrb r0, [r6]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
adds r4, r0, 0
lsls r4, 24
lsrs r4, 8
@@ -100,7 +100,7 @@ sub_815A160: @ 815A160
asrs r4, 16
ldrb r0, [r6]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
adds r1, r0, 0
lsls r1, 24
lsrs r1, 8
@@ -210,13 +210,13 @@ sub_815A254: @ 815A254
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r7, r0, 0
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r6, r0, 0
@@ -816,7 +816,7 @@ _0815A6F8:
sub_815A73C: @ 815A73C
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _0815A75E
@@ -1254,13 +1254,13 @@ sub_815AAA4: @ 815AAA4
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -1510,7 +1510,7 @@ _0815ACEC:
_0815ACEE:
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x2]
@@ -1518,7 +1518,7 @@ _0815ACEE:
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -1906,13 +1906,13 @@ sub_815AFF0: @ 815AFF0
ldr r6, =gAnimBankAttacker
ldrb r0, [r6]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0xC]
ldrb r0, [r6]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0xE]
@@ -2281,13 +2281,13 @@ _0815B2D8:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -2373,13 +2373,13 @@ _0815B3BE:
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -2817,7 +2817,7 @@ _0815B71E:
ldr r0, =gAnimBankAttacker
ldrb r0, [r0]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -3624,14 +3624,14 @@ _0815BE2E:
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, r5
strh r0, [r7, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, 0x20
@@ -4994,13 +4994,13 @@ sub_815C95C: @ 815C95C
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -5531,13 +5531,13 @@ sub_815CDB4: @ 815CDB4
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -5842,13 +5842,13 @@ _0815D05A:
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldrb r0, [r5]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
mov r2, r10
lsls r1, r2, 16
@@ -6840,7 +6840,7 @@ _0815D896:
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x2]
@@ -6848,7 +6848,7 @@ _0815D896:
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x4]
@@ -7382,13 +7382,13 @@ _0815DCEA:
ldrb r4, [r0]
adds r0, r4, 0
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x10]
adds r0, r4, 0
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x12]
@@ -7789,7 +7789,7 @@ sub_815E01C: @ 815E01C
_0815E038:
ldrb r0, [r6]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -7798,7 +7798,7 @@ _0815E038:
strh r0, [r5, 0x20]
ldrb r0, [r6]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x2]
@@ -7931,7 +7931,7 @@ _0815E14E:
bne _0815E188
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
adds r4, r0, 0
ldrb r0, [r5]
movs r1, 0
@@ -7951,7 +7951,7 @@ _0815E17C:
_0815E188:
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
adds r4, r0, 0
ldrb r0, [r5]
movs r1, 0
@@ -7971,7 +7971,7 @@ _0815E1AC:
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
adds r4, r0, 0
ldrb r0, [r5]
movs r1, 0
@@ -7990,13 +7990,13 @@ _0815E1D0:
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x22]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x24]
@@ -8349,14 +8349,14 @@ sub_815E47C: @ 815E47C
mov r10, r0
ldrb r0, [r0]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r7, 0x1E]
mov r1, r10
ldrb r0, [r1]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r7, 0x20]
@@ -8364,14 +8364,14 @@ sub_815E47C: @ 815E47C
mov r8, r0
ldrb r0, [r0]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r7, 0x22]
mov r1, r8
ldrb r0, [r1]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
adds r4, r0, 0
mov r1, r8
ldrb r0, [r1]
@@ -8524,7 +8524,7 @@ _0815E5FE:
lsls r0, 2
ldr r1, =gSprites
adds r0, r1
- bl sub_80A6900
+ bl AnimateBallThrow
ldrh r0, [r4, 0xC]
adds r0, 0x1
strh r0, [r4, 0xC]
@@ -8542,7 +8542,7 @@ _0815E634:
lsls r0, 2
ldr r1, =gSprites
adds r0, r1
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _0815E6D2
@@ -8659,7 +8659,7 @@ _0815E724:
strh r1, [r4, 0x3C]
adds r0, r5, 0
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -8950,7 +8950,7 @@ _0815E970:
_0815E972:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
@@ -9342,7 +9342,7 @@ sub_815EC48: @ 815EC48
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -9350,7 +9350,7 @@ sub_815EC48: @ 815EC48
movs r0, 0x2
eors r0, r1
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
cmp r4, r0
@@ -9771,14 +9771,14 @@ _0815EFEC:
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r5, r0, 24
ldrh r0, [r4, 0x3C]
lsls r0, 24
lsrs r0, 24
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r1, r0, 24
_0815F00C:
@@ -9994,10 +9994,10 @@ sub_815F18C: @ 815F18C
ldr r4, =gAnimBankTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
ldrb r0, [r4]
bl GetBankSide
lsls r0, 24
@@ -10387,7 +10387,7 @@ _0815F4C8:
ldr r0, =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -11180,7 +11180,7 @@ _0815FB50:
ldr r0, =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
lsls r3, r5, 16
@@ -11318,7 +11318,7 @@ _0815FC56:
ldr r0, =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
cmp r4, r0
@@ -11331,7 +11331,7 @@ _0815FCB4:
ldr r0, =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
cmp r4, r0
@@ -11469,7 +11469,7 @@ _0815FD8C:
mov r1, r10
ldrb r0, [r1]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r3, r5, 0
@@ -11499,7 +11499,7 @@ _0815FE0C:
mov r2, r10
ldrb r0, [r2]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r3, r5, 0
@@ -11566,7 +11566,7 @@ _0815FE92:
ldr r0, =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r0, 0x10
@@ -11724,14 +11724,14 @@ _08160008:
ldr r0, =gAnimBankAttacker
ldrb r0, [r0]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r5, r0, 0
ldr r0, =gAnimBankTarget
ldrb r0, [r0]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
adds r2, r0, 0
@@ -12169,7 +12169,7 @@ sub_81603A8: @ 81603A8
ldr r4, =gAnimBankAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
diff --git a/asm/battle_anim_8170478.s b/asm/battle_anim_8170478.s
index a5e3b5f88..635c02e03 100644
--- a/asm/battle_anim_8170478.s
+++ b/asm/battle_anim_8170478.s
@@ -886,7 +886,7 @@ _08170C08:
bl GetMonData
lsls r0, 16
lsrs r0, 16
- bl ball_number_to_ball_processing_index
+ bl ItemIdToBallId
lsls r0, 24
lsrs r0, 24
mov r8, r0
@@ -907,13 +907,13 @@ _08170C44:
ldr r5, =gAnimBankAttacker
ldrb r0, [r5]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldrb r0, [r5]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
adds r1, r0, 0
lsls r1, 24
ldr r2, =gSprites
@@ -934,7 +934,7 @@ _08170C44:
mov r0, r8
str r0, [sp]
adds r0, r4, 0
- bl sub_8171D98
+ bl LaunchBallStarsTask
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x1C]
@@ -950,7 +950,7 @@ _08170C44:
ldrb r1, [r5]
movs r0, 0
mov r3, r8
- bl sub_81729E8
+ bl LaunchBallFadeMonTask
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x1E]
@@ -998,10 +998,10 @@ sub_8170CFC: @ 8170CFC
lsrs r4, 24
ldr r0, =gLastUsedItem
ldrh r0, [r0]
- bl ball_number_to_ball_processing_index
+ bl ItemIdToBallId
lsls r0, 24
lsrs r0, 24
- bl sub_8076A78
+ bl LoadBallGfx
adds r0, r4, 0
bl DestroyAnimVisualTask
pop {r4}
@@ -1018,10 +1018,10 @@ sub_8170D24: @ 8170D24
lsrs r4, 24
ldr r0, =gLastUsedItem
ldrh r0, [r0]
- bl ball_number_to_ball_processing_index
+ bl ItemIdToBallId
lsls r0, 24
lsrs r0, 24
- bl sub_8076AE8
+ bl FreeBallGfx
adds r0, r4, 0
bl DestroyAnimVisualTask
pop {r4}
@@ -1057,8 +1057,8 @@ _08170D74:
.pool
thumb_func_end sub_8170D4C
- thumb_func_start ball_number_to_ball_processing_index
-ball_number_to_ball_processing_index: @ 8170D84
+ thumb_func_start ItemIdToBallId
+ItemIdToBallId: @ 8170D84
push {lr}
lsls r0, 16
lsrs r0, 16
@@ -1123,7 +1123,7 @@ _08170DFC:
_08170DFE:
pop {r1}
bx r1
- thumb_func_end ball_number_to_ball_processing_index
+ thumb_func_end ItemIdToBallId
thumb_func_start sub_8170E04
sub_8170E04: @ 8170E04
@@ -1138,14 +1138,14 @@ sub_8170E04: @ 8170E04
mov r10, r0
ldr r0, =gLastUsedItem
ldrh r0, [r0]
- bl ball_number_to_ball_processing_index
+ bl ItemIdToBallId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
lsls r0, r1, 1
adds r0, r1
lsls r0, 3
- ldr r1, =gUnknown_0832C588
+ ldr r1, =gBallSpriteTemplates
adds r0, r1
movs r1, 0x20
movs r2, 0x50
@@ -1166,14 +1166,14 @@ sub_8170E04: @ 8170E04
mov r8, r2
ldrb r0, [r2]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x30]
mov r1, r8
ldrb r0, [r1]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
subs r0, 0x10
@@ -1278,7 +1278,7 @@ _08170F50:
_08170F54:
ldr r0, =gLastUsedItem
ldrh r0, [r0]
- bl ball_number_to_ball_processing_index
+ bl ItemIdToBallId
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -1294,7 +1294,7 @@ _08170F54:
lsls r0, r4, 1
adds r0, r4
lsls r0, 3
- ldr r1, =gUnknown_0832C588
+ ldr r1, =gBallSpriteTemplates
adds r0, r1
adds r1, r6, 0
adds r1, 0x20
@@ -1317,14 +1317,14 @@ _08170F54:
mov r8, r1
ldrb r0, [r1]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x30]
mov r1, r8
ldrb r0, [r1]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
subs r0, 0x10
@@ -1487,7 +1487,7 @@ sub_8171134: @ 8171134
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _081711D2
@@ -1532,7 +1532,7 @@ _08171188:
str r0, [r4, 0x1C]
ldr r0, =gLastUsedItem
ldrh r0, [r0]
- bl ball_number_to_ball_processing_index
+ bl ItemIdToBallId
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0xB
@@ -1549,13 +1549,13 @@ _08171188:
str r5, [sp]
movs r2, 0x1
movs r3, 0x1C
- bl sub_8171D98
+ bl LaunchBallStarsTask
ldr r0, =gAnimBankTarget
ldrb r1, [r0]
movs r0, 0
movs r2, 0xE
adds r3, r5, 0
- bl sub_81729E8
+ bl LaunchBallFadeMonTask
_081711D2:
add sp, 0x4
pop {r4,r5}
@@ -2671,7 +2671,7 @@ sub_8171AAC: @ 8171AAC
orrs r0, r1
strb r0, [r3]
adds r0, r4, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _08171ADC
@@ -2697,7 +2697,7 @@ sub_8171AE4: @ 8171AE4
str r0, [r4, 0x1C]
ldr r0, =gLastUsedItem
ldrh r0, [r0]
- bl ball_number_to_ball_processing_index
+ bl ItemIdToBallId
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0xB
@@ -2714,13 +2714,13 @@ sub_8171AE4: @ 8171AE4
str r5, [sp]
movs r2, 0x1
movs r3, 0x1C
- bl sub_8171D98
+ bl LaunchBallStarsTask
ldr r0, =gAnimBankTarget
ldrb r1, [r0]
movs r0, 0x1
movs r2, 0xE
adds r3, r5, 0
- bl sub_81729E8
+ bl LaunchBallFadeMonTask
_08171B36:
ldr r6, =gSprites
ldr r5, =gBankSpriteIds
@@ -3007,8 +3007,8 @@ _08171D86:
.pool
thumb_func_end sub_8171D60
- thumb_func_start sub_8171D98
-sub_8171D98: @ 8171D98
+ thumb_func_start LaunchBallStarsTask
+LaunchBallStarsTask: @ 8171D98
push {r4-r6,lr}
mov r6, r10
mov r5, r9
@@ -3070,7 +3070,7 @@ sub_8171D98: @ 8171D98
pop {r1}
bx r1
.pool
- thumb_func_end sub_8171D98
+ thumb_func_end LaunchBallStarsTask
thumb_func_start sub_8171E20
sub_8171E20: @ 8171E20
@@ -4476,8 +4476,8 @@ _081729E2:
bx r0
thumb_func_end sub_8172944
- thumb_func_start sub_81729E8
-sub_81729E8: @ 81729E8
+ thumb_func_start LaunchBallFadeMonTask
+LaunchBallFadeMonTask: @ 81729E8
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@@ -4563,7 +4563,7 @@ _08172A7E:
pop {r1}
bx r1
.pool
- thumb_func_end sub_81729E8
+ thumb_func_end LaunchBallFadeMonTask
thumb_func_start sub_8172AB0
sub_8172AB0: @ 8172AB0
@@ -5234,12 +5234,12 @@ _0817303A:
ldrb r0, [r4, 0x8]
mov r8, r0
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r5, r0, 24
mov r0, r8
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r2, r0, 24
movs r1, 0x1E
@@ -5579,7 +5579,7 @@ sub_817330C: @ 817330C
lsls r0, 24
lsrs r0, 24
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
ldr r5, =gBattleAnimArgs
lsrs r0, 24
@@ -5591,7 +5591,7 @@ sub_817330C: @ 817330C
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
ldrh r5, [r5, 0x6]
@@ -5652,7 +5652,7 @@ _081733C0:
sub_81733D4: @ 81733D4
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _081733F6
diff --git a/asm/contest.s b/asm/contest.s
index 88d4203ab..e3e4ccf86 100644
--- a/asm/contest.s
+++ b/asm/contest.s
@@ -1416,13 +1416,13 @@ sub_80D833C: @ 80D833C
cmp r0, 0
bne _080D83CC
ldr r0, =gDisplayedStringBattle
- ldr r1, =gUnknown_0827D507
+ ldr r1, =gText_0827D507
bl StringCopy
b _080D83D4
.pool
_080D83CC:
ldr r0, =gDisplayedStringBattle
- ldr r1, =gUnknown_0827D531
+ ldr r1, =gText_0827D531
bl StringCopy
_080D83D4:
bl sub_80DB89C
@@ -1753,13 +1753,13 @@ _080D868E:
cmp r0, 0
bne _080D86DC
ldr r0, =gDisplayedStringBattle
- ldr r1, =gUnknown_0827D507
+ ldr r1, =gText_0827D507
bl StringCopy
b _080D86E4
.pool
_080D86DC:
ldr r0, =gDisplayedStringBattle
- ldr r1, =gUnknown_0827D531
+ ldr r1, =gText_0827D531
bl StringCopy
_080D86E4:
bl sub_80DB89C
@@ -2655,7 +2655,7 @@ _080D8F38:
bl StringCopy
_080D8F48:
ldr r4, =gStringVar4
- ldr r1, =gUnknown_0827D55A
+ ldr r1, =gText_0827D55A
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -3566,7 +3566,7 @@ _080D96D4:
adds r1, r2
bl StringCopy
ldr r4, =gStringVar4
- ldr r1, =gUnknown_0827E793
+ ldr r1, =gText_0827E793
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -3638,20 +3638,20 @@ _080D9774:
asrs r0, r4, 24
cmp r0, 0x1
bne _080D97A0
- ldr r0, =gUnknown_0827E32E
+ ldr r0, =gText_0827E32E
b _080D97A6
.pool
_080D97A0:
cmp r0, 0x2
bne _080D97B4
- ldr r0, =gUnknown_0827E35B
+ ldr r0, =gText_0827E35B
_080D97A6:
movs r1, 0x1
bl sub_80DEC30
b _080D97BC
.pool
_080D97B4:
- ldr r0, =gUnknown_0827E38D
+ ldr r0, =gText_0827E38D
movs r1, 0x1
bl sub_80DEC30
_080D97BC:
@@ -3675,7 +3675,7 @@ _080D97DC:
adds r1, r2
bl StringCopy
ldr r4, =gStringVar4
- ldr r1, =gUnknown_0827E2FE
+ ldr r1, =gText_0827E2FE
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -3813,7 +3813,7 @@ _080D9904:
adds r1, r2
bl StringCopy
ldr r4, =gStringVar4
- ldr r1, =gUnknown_0827E6E3
+ ldr r1, =gText_0827E6E3
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -4043,7 +4043,7 @@ _080D9B30:
cmp r3, 0
bge _080D9B48
ldr r0, =gStringVar4
- ldr r1, =gUnknown_0827E73C
+ ldr r1, =gText_0827E73C
bl StringExpandPlaceholders
b _080D9B74
.pool
@@ -4058,13 +4058,13 @@ _080D9B48:
cmp r0, 0x4
bgt _080D9B6C
ldr r0, =gStringVar4
- ldr r1, =gUnknown_0827E717
+ ldr r1, =gText_0827E717
bl StringExpandPlaceholders
b _080D9B74
.pool
_080D9B6C:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_0827E76A
+ ldr r1, =gText_0827E76A
bl StringExpandPlaceholders
_080D9B74:
ldr r0, =gStringVar4
@@ -4402,7 +4402,7 @@ _080D9DD4:
adds r1, r2
bl StringCopy
ldr r4, =gStringVar4
- ldr r1, =gUnknown_0827E7EA
+ ldr r1, =gText_0827E7EA
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -4426,7 +4426,7 @@ _080D9E60:
_080D9E6A:
bl sub_80DB89C
ldr r4, =gStringVar4
- ldr r1, =gUnknown_0827E817
+ ldr r1, =gText_0827E817
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -4491,7 +4491,7 @@ _080D9EDC:
adds r1, r2
bl StringCopy
ldr r4, =gStringVar4
- ldr r1, =gUnknown_0827E58A
+ ldr r1, =gText_0827E58A
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -4630,7 +4630,7 @@ _080DA038:
adds r1, r2
bl StringCopy
ldr r4, =gStringVar4
- ldr r1, =gUnknown_0827D56F
+ ldr r1, =gText_0827D56F
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -5373,7 +5373,7 @@ _080DA668:
ldr r0, [r0]
str r0, [r1]
ldr r4, =gStringVar4
- ldr r1, =gUnknown_0827D597
+ ldr r1, =gText_0827D597
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -11207,7 +11207,7 @@ sub_80DD45C: @ 80DD45C
cmp r1, 0
bne _080DD4DC
ldr r0, =gStringVar3
- ldr r1, =gUnknown_0827E837
+ ldr r1, =gText_0827E837
bl StringCopy
b _080DD52C
.pool
@@ -11216,7 +11216,7 @@ _080DD4DC:
cmp r0, 0x1
bne _080DD4F4
ldr r0, =gStringVar3
- ldr r1, =gUnknown_0827E83F
+ ldr r1, =gText_0827E83F
bl StringCopy
b _080DD52C
.pool
@@ -11225,7 +11225,7 @@ _080DD4F4:
cmp r0, 0x2
bne _080DD50C
ldr r0, =gStringVar3
- ldr r1, =gUnknown_0827E847
+ ldr r1, =gText_0827E847
bl StringCopy
b _080DD52C
.pool
@@ -11234,13 +11234,13 @@ _080DD50C:
cmp r0, 0x3
bne _080DD524
ldr r0, =gStringVar3
- ldr r1, =gUnknown_0827E850
+ ldr r1, =gText_0827E850
bl StringCopy
b _080DD52C
.pool
_080DD524:
ldr r0, =gStringVar3
- ldr r1, =gUnknown_0827E85A
+ ldr r1, =gText_0827E85A
bl StringCopy
_080DD52C:
ldr r4, =gStringVar4
@@ -13829,13 +13829,13 @@ sub_80DEA5C: @ 80DEA5C
strh r0, [r4, 0x26]
movs r0, 0x3
movs r1, 0
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
movs r0, 0x3
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBankPosition
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
diff --git a/asm/crt0.s b/asm/crt0.s
index 0b14a1469..9ed678968 100644
--- a/asm/crt0.s
+++ b/asm/crt0.s
@@ -68,8 +68,8 @@ GPIOPortReadEnable: @ 80000C8
.4byte gAbilityDescriptionPointers
.4byte gItems
.4byte gBattleMoves
- .4byte gUnknown_0832C400
- .4byte gUnknown_0832C460
+ .4byte gBallSpriteSheets
+ .4byte gBallSpritePalettes
.4byte 0x000000a8, 0x00000864, 0x0000089b
diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc
index 47e124a86..a16b59366 100644
--- a/asm/macros/battle_script.inc
+++ b/asm/macros/battle_script.inc
@@ -422,10 +422,10 @@
.byte \bank
.endm
- .macro switchinanim bank, param1
+ .macro switchinanim bank, dontclearsubstitutebit
.byte 0x4e
.byte \bank
- .byte \param1
+ .byte \dontclearsubstitutebit
.endm
.macro jumpifcantswitch bank, param1
@@ -1387,3 +1387,15 @@
.macro jumpifnostatus3 bank, status, jumpptr
jumpifstatus3condition \bank, \status, 0x1, \jumpptr
.endm
+
+ .macro jumpifmovehadnoeffect jumpptr
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, \jumpptr
+ .endm
+
+ .macro jumpifbattletype flags, jumpptr
+ jumpifword COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
+ .endm
+
+ .macro jumpifnotbattletype flags, jumpptr
+ jumpifword NO_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
+ .endm
diff --git a/asm/macros/pokemon_data.inc b/asm/macros/pokemon_data.inc
index 31c015334..ce8ef98ac 100644
--- a/asm/macros/pokemon_data.inc
+++ b/asm/macros/pokemon_data.inc
@@ -52,5 +52,5 @@
.byte \max_level
.endif
- .2byte SPECIES_\species
+ .2byte \species
.endm
diff --git a/asm/main_menu.s b/asm/main_menu.s
index 6194f0487..7b7ce49f7 100644
--- a/asm/main_menu.s
+++ b/asm/main_menu.s
@@ -2215,7 +2215,7 @@ sub_8030A70: @ 8030A70
str r2, [sp, 0x10]
movs r2, 0x70
movs r3, 0x3A
- bl sub_8076438
+ bl CreatePokeballSpriteToReleaseMon
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
diff --git a/asm/rom4.s b/asm/overworld.s
index 7e91b8054..7e91b8054 100644
--- a/asm/rom4.s
+++ b/asm/overworld.s
diff --git a/asm/pokeball.s b/asm/pokeball.s
deleted file mode 100755
index b4fc36d97..000000000
--- a/asm/pokeball.s
+++ /dev/null
@@ -1,2861 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80753E8
-sub_80753E8: @ 80753E8
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =gDoingBattleAnim
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r6, =gActiveBank
- ldrb r1, [r6]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0]
- ldr r0, =sub_8075450
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0xA]
- strh r5, [r1, 0xC]
- ldrb r0, [r6]
- strh r0, [r1, 0xE]
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80753E8
-
- thumb_func_start sub_8075450
-sub_8075450: @ 8075450
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- movs r0, 0
- str r0, [sp]
- ldr r1, =gTasks
- mov r2, r10
- lsls r0, r2, 2
- add r0, r10
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0x8]
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _08075488
- adds r0, r2, 0x1
- strh r0, [r1, 0x8]
- b _08075602
- .pool
-_08075488:
- ldrh r0, [r1, 0xC]
- mov r8, r0
- ldrb r5, [r1, 0xE]
- adds r0, r5, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _080754B4
- ldr r1, =gBattlePartyID
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- b _080754C2
- .pool
-_080754B4:
- ldr r1, =gBattlePartyID
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
-_080754C2:
- adds r0, r1
- movs r1, 0x26
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl ball_number_to_ball_processing_index
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_8076A78
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 3
- ldr r1, =gUnknown_0832C588
- adds r0, r1
- movs r1, 0x20
- movs r2, 0x50
- movs r3, 0x1D
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, =gSprites
- mov r9, r2
- lsls r0, r7, 4
- adds r0, r7
- lsls r6, r0, 2
- adds r4, r6, r2
- movs r0, 0x80
- strh r0, [r4, 0x2E]
- movs r3, 0
- strh r3, [r4, 0x30]
- mov r0, r8
- strh r0, [r4, 0x3C]
- mov r2, r8
- cmp r2, 0xFE
- beq _08075548
- cmp r2, 0xFF
- bne _08075584
- ldr r0, =gBankTarget
- strb r5, [r0]
- movs r0, 0x18
- strh r0, [r4, 0x20]
- movs r0, 0x44
- strh r0, [r4, 0x22]
- mov r0, r9
- adds r0, 0x1C
- adds r0, r6, r0
- ldr r1, =sub_80761B4
- str r1, [r0]
- b _08075592
- .pool
-_08075548:
- adds r0, r5, 0
- movs r1, 0
- bl sub_80A5C6C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A5C6C
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x18
- strh r0, [r4, 0x22]
- ldr r0, =gBankTarget
- strb r5, [r0]
- movs r3, 0
- strh r3, [r4, 0x2E]
- mov r0, r9
- adds r0, 0x1C
- adds r0, r6, r0
- ldr r1, =sub_8076398
- str r1, [r0]
- b _08075592
- .pool
-_08075584:
- movs r0, 0x1
- bl GetBankByIdentity
- ldr r1, =gBankTarget
- strb r0, [r1]
- movs r0, 0x1
- str r0, [sp]
-_08075592:
- ldr r0, =gSprites
- lsls r1, r7, 4
- adds r1, r7
- lsls r1, 2
- adds r4, r1, r0
- ldr r5, =gBankTarget
- ldrb r0, [r5]
- strh r0, [r4, 0x3A]
- ldr r2, [sp]
- cmp r2, 0
- bne _080755B8
- mov r0, r10
- bl DestroyTask
- b _08075602
- .pool
-_080755B8:
- movs r0, 0x22
- strh r0, [r4, 0x2E]
- ldrb r0, [r5]
- movs r1, 0
- bl sub_80A5C6C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r5]
- movs r1, 0x1
- bl sub_80A5C6C
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x10
- strh r0, [r4, 0x36]
- ldr r0, =0x0000ffd8
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl sub_80A68D4
- mov r3, r10
- strh r3, [r4, 0x6]
- ldr r1, =gTasks
- mov r2, r10
- lsls r0, r2, 2
- add r0, r10
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r5]
- strh r1, [r0, 0x10]
- ldr r1, =TaskDummy
- str r1, [r0]
- movs r0, 0x3D
- bl PlaySE
-_08075602:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8075450
-
- thumb_func_start objc_0804ABD4
-objc_0804ABD4: @ 8075620
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r7, r0, 0
- bl sub_80A6900
- lsls r0, 24
- cmp r0, 0
- beq _080756C0
- ldrb r6, [r7, 0x6]
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldrb r5, [r0, 0x10]
- ldrb r0, [r0, 0xC]
- mov r8, r0
- adds r0, r7, 0
- movs r1, 0x1
- bl StartSpriteAnim
- adds r2, r7, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r7, 0x24]
- ldrh r1, [r7, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r7, 0x20]
- ldrh r0, [r7, 0x26]
- ldrh r2, [r7, 0x22]
- adds r0, r2
- strh r0, [r7, 0x22]
- strh r1, [r7, 0x24]
- strh r1, [r7, 0x26]
- strh r1, [r7, 0x38]
- adds r0, r5, 0
- bl sub_8076B14
- lsls r0, 16
- lsrs r0, 16
- bl ball_number_to_ball_processing_index
- adds r4, r0, 0
- ldrh r0, [r7, 0x20]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r7, 0x22]
- subs r1, 0x5
- lsls r1, 24
- lsrs r1, 24
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- movs r2, 0x1
- movs r3, 0x1C
- bl sub_8171D98
- movs r0, 0
- adds r1, r5, 0
- movs r2, 0xE
- adds r3, r4, 0
- bl sub_81729E8
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0x2E]
- strh r5, [r7, 0x3A]
- mov r0, r8
- strh r0, [r7, 0x3C]
- adds r0, r6, 0
- bl DestroyTask
- ldr r0, =sub_80756D4
- str r0, [r7, 0x1C]
-_080756C0:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end objc_0804ABD4
-
- thumb_func_start sub_80756D4
-sub_80756D4: @ 80756D4
- ldr r1, =sub_80756E0
- str r1, [r0, 0x1C]
- bx lr
- .pool
- thumb_func_end sub_80756D4
-
- thumb_func_start sub_80756E0
-sub_80756E0: @ 80756E0
- push {r4-r7,lr}
- adds r6, r0, 0
- ldrh r0, [r6, 0x38]
- adds r0, 0x1
- movs r7, 0
- strh r0, [r6, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _0807573A
- strh r7, [r6, 0x38]
- ldr r0, =sub_807574C
- str r0, [r6, 0x1C]
- ldr r5, =gBankSpriteIds
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- movs r1, 0x2
- bl StartSpriteAffineAnim
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl AnimateSprite
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r7, [r0, 0x30]
-_0807573A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80756E0
-
- thumb_func_start sub_807574C
-sub_807574C: @ 807574C
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- bne _08075764
- movs r0, 0x3C
- bl PlaySE
-_08075764:
- ldr r6, =gSprites
- ldr r5, =gBankSpriteIds
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r6
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _080757BC
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0
- strh r0, [r4, 0x38]
- ldr r0, =sub_80757E4
- str r0, [r4, 0x1C]
- b _080757DC
- .pool
-_080757BC:
- ldrh r0, [r1, 0x30]
- adds r0, 0x60
- strh r0, [r1, 0x30]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- adds r0, r5
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- movs r2, 0x30
- ldrsh r0, [r1, r2]
- negs r0, r0
- asrs r0, 8
- strh r0, [r1, 0x26]
-_080757DC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_807574C
-
- thumb_func_start sub_80757E4
-sub_80757E4: @ 80757E4
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0807582C
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _0807582C
- strh r1, [r4, 0x34]
- movs r0, 0x20
- strh r0, [r4, 0x36]
- strh r1, [r4, 0x38]
- movs r0, 0
- movs r1, 0x20
- bl Cos
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- movs r0, 0x36
- ldrsh r1, [r4, r0]
- movs r0, 0
- bl Cos
- negs r0, r0
- strh r0, [r4, 0x26]
- ldr r0, =sub_8075838
- str r0, [r4, 0x1C]
-_0807582C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80757E4
-
- thumb_func_start sub_8075838
-sub_8075838: @ 8075838
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0
- ldrh r0, [r4, 0x34]
- movs r1, 0xFF
- ands r1, r0
- cmp r1, 0
- beq _0807584E
- cmp r1, 0x1
- beq _080758C2
- b _080758EE
-_0807584E:
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl Cos
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r1, [r4, 0x38]
- adds r1, 0x4
- ldrh r2, [r4, 0x34]
- lsls r0, r2, 16
- asrs r0, 24
- adds r1, r0
- strh r1, [r4, 0x38]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x3F
- ble _080758EE
- ldrh r0, [r4, 0x36]
- subs r0, 0xA
- strh r0, [r4, 0x36]
- ldr r1, =0x00000101
- adds r0, r2, r1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 24
- cmp r0, 0x4
- bne _0807588A
- movs r5, 0x1
-_0807588A:
- cmp r0, 0x2
- beq _080758AA
- cmp r0, 0x2
- bgt _0807589C
- cmp r0, 0x1
- beq _080758A2
- b _080758BA
- .pool
-_0807589C:
- cmp r0, 0x3
- beq _080758B2
- b _080758BA
-_080758A2:
- movs r0, 0x38
- bl PlaySE
- b _080758EE
-_080758AA:
- movs r0, 0x39
- bl PlaySE
- b _080758EE
-_080758B2:
- movs r0, 0x3A
- bl PlaySE
- b _080758EE
-_080758BA:
- movs r0, 0x3B
- bl PlaySE
- b _080758EE
-_080758C2:
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl Cos
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r1, [r4, 0x38]
- subs r1, 0x4
- ldrh r2, [r4, 0x34]
- lsls r0, r2, 16
- asrs r0, 24
- subs r1, r0
- strh r1, [r4, 0x38]
- lsls r1, 16
- cmp r1, 0
- bgt _080758EE
- strh r5, [r4, 0x38]
- ldr r0, =0xffffff00
- ands r0, r2
- strh r0, [r4, 0x34]
-_080758EE:
- cmp r5, 0
- beq _08075926
- movs r5, 0
- strh r5, [r4, 0x34]
- movs r0, 0x40
- movs r1, 0x20
- bl Cos
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- strh r5, [r4, 0x26]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0807591C
- ldr r0, =sub_8075D14
- str r0, [r4, 0x1C]
- b _08075926
- .pool
-_0807591C:
- ldr r0, =sub_8075930
- str r0, [r4, 0x1C]
- movs r0, 0x1
- strh r0, [r4, 0x36]
- strh r5, [r4, 0x38]
-_08075926:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8075838
-
- thumb_func_start sub_8075930
-sub_8075930: @ 8075930
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- bne _08075964
- movs r0, 0
- strh r0, [r4, 0x34]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r0, =sub_8075970
- str r0, [r4, 0x1C]
- movs r0, 0x17
- bl PlaySE
-_08075964:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8075930
-
- thumb_func_start sub_8075970
-sub_8075970: @ 8075970
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x34]
- movs r1, 0xFF
- ands r1, r0
- cmp r1, 0x4
- bhi _08075A70
- lsls r0, r1, 2
- ldr r1, =_0807598C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807598C:
- .4byte _080759A0
- .4byte _080759D2
- .4byte _080759A0
- .4byte _08075A26
- .4byte _08075A70
-_080759A0:
- ldrh r0, [r4, 0x36]
- ldrh r2, [r4, 0x24]
- adds r1, r0, r2
- strh r1, [r4, 0x24]
- ldrh r1, [r4, 0x38]
- adds r0, r1
- strh r0, [r4, 0x38]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x38]
- adds r0, 0x3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x6
- bls _08075AB6
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- movs r0, 0
- strh r0, [r4, 0x38]
- b _08075AB6
-_080759D2:
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _08075A18
- movs r0, 0
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x36]
- negs r0, r0
- strh r0, [r4, 0x36]
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bge _08075A0E
- adds r0, r4, 0
- movs r1, 0x2
- bl ChangeSpriteAffineAnim
- b _08075AB6
-_08075A0E:
- adds r0, r4, 0
- movs r1, 0x1
- bl ChangeSpriteAffineAnim
- b _08075AB6
-_08075A18:
- adds r0, r4, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
- b _08075AB6
-_08075A26:
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1, 0
- ldrh r2, [r4, 0x34]
- adds r0, r2
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 24
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _08075A48
- ldr r0, =sub_8075D14
- str r0, [r4, 0x1C]
- b _08075AB6
- .pool
-_08075A48:
- cmp r1, 0x4
- bne _08075A5C
- cmp r0, 0x3
- bne _08075A5C
- ldr r0, =sub_8075FB4
- str r0, [r4, 0x1C]
- b _08075A62
- .pool
-_08075A5C:
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
-_08075A62:
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- b _08075AB6
-_08075A70:
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- bne _08075AB6
- movs r0, 0
- strh r0, [r4, 0x38]
- ldrh r1, [r4, 0x34]
- ldr r0, =0xffffff00
- ands r0, r1
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- movs r1, 0x3
- bl StartSpriteAffineAnim
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bge _08075AA8
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- b _08075AB0
- .pool
-_08075AA8:
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_08075AB0:
- movs r0, 0x17
- bl PlaySE
-_08075AB6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8075970
-
- thumb_func_start c3_0804B070
-c3_0804B070: @ 8075ABC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r2
- ldrb r1, [r0, 0xC]
- mov r12, r1
- ldrb r5, [r0, 0xA]
- ldrh r6, [r0, 0x8]
- ldrb r3, [r0, 0xE]
- mov r8, r3
- ldrb r7, [r0, 0x10]
- movs r3, 0x12
- ldrsh r1, [r0, r3]
- lsls r3, r1, 16
- ldrh r1, [r0, 0x14]
- orrs r3, r1
- movs r1, 0x26
- ldrsh r0, [r0, r1]
- cmp r0, 0x20
- bhi _08075B88
- lsls r0, 2
- ldr r1, =_08075B04
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08075B04:
- .4byte _08075B88
- .4byte _08075BB4
- .4byte _08075BDA
- .4byte _08075C54
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075BF8
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075C66
- .4byte _08075C7E
- .4byte _08075CA8
-_08075B88:
- ldr r0, =gSprites
- lsls r1, r7, 4
- adds r1, r7
- lsls r1, 2
- adds r1, r0
- adds r1, 0x3F
- ldrb r0, [r1]
- lsls r0, 26
- cmp r0, 0
- blt _08075B9E
- b _08075D04
-_08075B9E:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r2
- mov r1, r12
- adds r1, 0x1
- strh r1, [r0, 0x26]
- b _08075D04
- .pool
-_08075BB4:
- adds r0, r3, 0
- bl ShouldPlayNormalPokeCry
- cmp r0, 0x1
- bne _08075BCC
- lsls r1, r5, 24
- asrs r1, 24
- adds r0, r6, 0
- movs r2, 0
- bl PlayCry3
- b _08075C2E
-_08075BCC:
- lsls r1, r5, 24
- asrs r1, 24
- adds r0, r6, 0
- movs r2, 0xB
- bl PlayCry3
- b _08075C2E
-_08075BDA:
- bl StopCryAndClearCrySongs
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x3
- strh r1, [r0, 0x1C]
- movs r1, 0x14
- strh r1, [r0, 0x26]
- b _08075D04
- .pool
-_08075BF8:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r2
- ldrh r2, [r1, 0x1C]
- movs r7, 0x1C
- ldrsh r0, [r1, r7]
- cmp r0, 0
- bne _08075CBA
- adds r0, r3, 0
- bl ShouldPlayNormalPokeCry
- cmp r0, 0x1
- bne _08075C22
- lsls r1, r5, 24
- asrs r1, 24
- adds r0, r6, 0
- movs r2, 0x1
- bl PlayCry4
- b _08075C2E
-_08075C22:
- lsls r1, r5, 24
- asrs r1, 24
- adds r0, r6, 0
- movs r2, 0xC
- bl PlayCry4
-_08075C2E:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- mov r2, r8
- lsls r1, r2, 1
- add r1, r8
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x1]
- movs r0, 0x41
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- adds r0, r4, 0
- bl DestroyTask
- b _08075D04
- .pool
-_08075C54:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r2
- movs r1, 0x6
- strh r1, [r0, 0x1C]
- movs r1, 0x1E
- strh r1, [r0, 0x26]
- b _08075D04
-_08075C66:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r2
- ldrh r2, [r1, 0x1C]
- movs r3, 0x1C
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _08075CBA
- ldrh r0, [r1, 0x26]
- adds r0, 0x1
- strh r0, [r1, 0x26]
-_08075C7E:
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- bne _08075D04
- bl StopCryAndClearCrySongs
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x3
- strh r0, [r1, 0x1C]
- ldrh r0, [r1, 0x26]
- adds r0, 0x1
- strh r0, [r1, 0x26]
- b _08075D04
- .pool
-_08075CA8:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r2
- ldrh r2, [r1, 0x1C]
- movs r7, 0x1C
- ldrsh r0, [r1, r7]
- cmp r0, 0
- beq _08075CC0
-_08075CBA:
- subs r0, r2, 0x1
- strh r0, [r1, 0x1C]
- b _08075D04
-_08075CC0:
- adds r0, r3, 0
- bl ShouldPlayNormalPokeCry
- cmp r0, 0x1
- bne _08075CD8
- lsls r1, r5, 24
- asrs r1, 24
- adds r0, r6, 0
- movs r2, 0
- bl PlayCry4
- b _08075CE4
-_08075CD8:
- lsls r1, r5, 24
- asrs r1, 24
- adds r0, r6, 0
- movs r2, 0xB
- bl PlayCry4
-_08075CE4:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- mov r2, r8
- lsls r1, r2, 1
- add r1, r8
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x1]
- movs r0, 0x41
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- adds r0, r4, 0
- bl DestroyTask
-_08075D04:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c3_0804B070
-
- thumb_func_start sub_8075D14
-sub_8075D14: @ 8075D14
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r0, 0
- ldrh r0, [r6, 0x3A]
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r6, 0
- movs r1, 0x1
- bl StartSpriteAnim
- adds r0, r5, 0
- bl sub_8076B14
- lsls r0, 16
- lsrs r0, 16
- bl ball_number_to_ball_processing_index
- adds r4, r0, 0
- ldrh r0, [r6, 0x20]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x22]
- subs r1, 0x5
- lsls r1, 24
- lsrs r1, 24
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- movs r2, 0x1
- movs r3, 0x1C
- bl sub_8171D98
- ldrh r1, [r6, 0x3A]
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- movs r2, 0xE
- adds r3, r4, 0
- bl sub_81729E8
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x2E]
- ldr r0, =sub_8075FD4
- str r0, [r6, 0x1C]
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08075D88
- b _08075EF4
-_08075D88:
- adds r0, r5, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _08075DC0
- ldr r0, =gBattlePartyID
- lsls r2, r5, 1
- adds r0, r2, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gEnemyParty
- adds r7, r1, r0
- movs r4, 0x19
- mov r10, r4
- b _08075DD4
- .pool
-_08075DC0:
- ldr r0, =gBattlePartyID
- lsls r2, r5, 1
- adds r0, r2, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r7, r1, r0
- movs r0, 0xE7
- mov r10, r0
-_08075DD4:
- mov r8, r2
- adds r0, r7, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- movs r0, 0
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- beq _08075E00
- movs r0, 0x1
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bne _08075E56
-_08075E00:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08075E56
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- ldrb r1, [r0, 0x9]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08075E56
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x42
- ands r0, r1
- cmp r0, 0x42
- bne _08075E4C
- bl IsBGMPlaying
- lsls r0, 24
- cmp r0, 0
- beq _08075E56
- ldr r0, =gMPlay_BGM
- bl m4aMPlayStop
- b _08075E56
- .pool
-_08075E4C:
- ldr r0, =gMPlay_BGM
- ldr r1, =0x0000ffff
- movs r2, 0x80
- bl m4aMPlayVolumeControl
-_08075E56:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08075E70
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- ldrb r1, [r0, 0x9]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08075E80
-_08075E70:
- movs r4, 0
- b _08075EA2
- .pool
-_08075E80:
- movs r0, 0
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- beq _08075E9C
- movs r0, 0x1
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bne _08075EA0
-_08075E9C:
- movs r4, 0x1
- b _08075EA2
-_08075EA0:
- movs r4, 0x2
-_08075EA2:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- mov r2, r8
- adds r1, r2, r5
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- movs r2, 0x40
- orrs r0, r2
- strb r0, [r1, 0x1]
- ldr r0, =c3_0804B070
- movs r1, 0x3
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r3, 0
- mov r0, r9
- strh r0, [r1, 0x8]
- mov r2, r10
- lsls r0, r2, 24
- asrs r0, 24
- strh r0, [r1, 0xA]
- strh r4, [r1, 0xC]
- strh r5, [r1, 0xE]
- ldr r2, =gBankSpriteIds
- movs r4, 0x3A
- ldrsh r0, [r6, r4]
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r1, 0x10]
- lsrs r0, r7, 16
- strh r0, [r1, 0x12]
- strh r7, [r1, 0x14]
- strh r3, [r1, 0x26]
-_08075EF4:
- ldr r4, =gBankSpriteIds
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, =gSprites
- adds r0, r5
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldrh r0, [r6, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08075F50
- movs r2, 0x3A
- ldrsh r0, [r6, r2]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_8039B58
- b _08075F66
- .pool
-_08075F50:
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_8039E44
-_08075F66:
- str r1, [r0]
- ldr r5, =gBankSpriteIds
- movs r2, 0x3A
- ldrsh r0, [r6, r2]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl AnimateSprite
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x80
- lsls r1, 5
- strh r1, [r0, 0x30]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8075D14
-
- thumb_func_start sub_8075FB4
-sub_8075FB4: @ 8075FB4
- adds r3, r0, 0
- adds r3, 0x2C
- ldrb r1, [r3]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r3]
- ldr r1, =sub_80760F8
- str r1, [r0, 0x1C]
- movs r1, 0
- strh r1, [r0, 0x34]
- strh r1, [r0, 0x36]
- strh r1, [r0, 0x38]
- bx lr
- .pool
- thumb_func_end sub_8075FB4
-
- thumb_func_start sub_8075FD4
-sub_8075FD4: @ 8075FD4
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r7, 0
- ldrh r0, [r5, 0x3A]
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r4, =gSprites
- ldr r0, =gBankSpriteIds
- adds r3, r6, r0
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08076016
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_08076016:
- ldrb r0, [r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _08076040
- adds r0, r1, 0
- movs r1, 0
- bl StartSpriteAffineAnim
- movs r7, 0x1
- b _0807605C
- .pool
-_08076040:
- ldr r2, =0xfffffee0
- adds r0, r2, 0
- ldrh r2, [r1, 0x30]
- adds r0, r2
- strh r0, [r1, 0x30]
- ldrb r0, [r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r1, 0x26]
-_0807605C:
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080760DE
- cmp r7, 0
- beq _080760DE
- ldr r2, =gSprites
- ldr r0, =gBankSpriteIds
- adds r0, r6, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r2, 0
- movs r1, 0
- strh r1, [r0, 0x26]
- ldr r0, =gDoingBattleAnim
- strb r2, [r0]
- ldr r4, =gBattleSpritesDataPtr
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x9
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl FreeSpriteOamMatrix
- adds r0, r5, 0
- bl DestroySprite
- movs r3, 0
- ldr r0, [r4]
- ldr r2, [r0, 0x4]
- movs r5, 0x8
- movs r4, 0x3
-_080760B6:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _080760C2
- adds r3, 0x1
-_080760C2:
- adds r2, 0xC
- subs r4, 0x1
- cmp r4, 0
- bge _080760B6
- cmp r3, 0x4
- bne _080760DE
- movs r4, 0
-_080760D0:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8076AE8
- adds r4, 0x1
- cmp r4, 0xB
- ble _080760D0
-_080760DE:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8075FD4
-
- thumb_func_start sub_80760F8
-sub_80760F8: @ 80760F8
- push {r4-r7,lr}
- adds r6, r0, 0
- ldrh r0, [r6, 0x3A]
- lsls r0, 24
- lsrs r7, r0, 24
- ldrh r0, [r6, 0x36]
- adds r0, 0x1
- strh r0, [r6, 0x36]
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0x28
- beq _08076196
- cmp r1, 0x5F
- bne _08076130
- ldr r0, =gDoingBattleAnim
- movs r1, 0
- strb r1, [r0]
- bl m4aMPlayAllStop
- ldr r0, =0x00000173
- bl PlaySE
- b _08076196
- .pool
-_08076130:
- ldr r0, =0x0000013b
- cmp r1, r0
- bne _08076196
- ldr r5, =gSprites
- ldr r4, =gBankSpriteIds
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- adds r0, r6, 0
- bl DestroySpriteAndFreeResources
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08076196
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- lsls r1, r7, 1
- adds r1, r7
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x9
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
-_08076196:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80760F8
-
- thumb_func_start sub_80761B4
-sub_80761B4: @ 80761B4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x19
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl sub_80A5C6C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl sub_80A5C6C
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x18
- strh r0, [r4, 0x36]
- ldr r0, =0x0000ffe2
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x3A]
- strh r0, [r4, 0x6]
- adds r0, r4, 0
- bl sub_80A68D4
- ldr r0, =sub_8076204
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80761B4
-
- thumb_func_start sub_8076204
-sub_8076204: @ 8076204
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- ldrh r0, [r5, 0x3C]
- movs r1, 0xFF
- mov r8, r1
- lsrs r0, 8
- subs r0, 0x23
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2C
- bhi _080762F8
- ldrh r1, [r5, 0x6]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- bne _08076266
- ldrh r0, [r5, 0x30]
- movs r1, 0x1
- adds r6, r1, 0
- ands r6, r0
- ldrh r0, [r5, 0x32]
- adds r7, r1, 0
- ands r7, r0
- movs r2, 0x30
- ldrsh r0, [r5, r2]
- movs r1, 0x3
- bl __divsi3
- movs r1, 0x2
- negs r1, r1
- adds r4, r1, 0
- ands r0, r4
- orrs r6, r0
- strh r6, [r5, 0x30]
- movs r2, 0x32
- ldrsh r0, [r5, r2]
- movs r1, 0x3
- bl __divsi3
- ands r0, r4
- orrs r7, r0
- strh r7, [r5, 0x32]
- adds r0, r5, 0
- movs r1, 0x4
- bl StartSpriteAffineAnim
-_08076266:
- ldrh r4, [r5, 0x2E]
- adds r0, r5, 0
- bl sub_80A6F3C
- movs r1, 0x3A
- ldrsh r0, [r5, r1]
- movs r1, 0x3
- bl __divsi3
- adds r1, r0, 0
- ldrh r0, [r5, 0x3C]
- adds r0, r1
- strh r0, [r5, 0x3C]
- lsls r0, 16
- asrs r0, 24
- mov r2, r8
- ands r0, r2
- movs r2, 0x38
- ldrsh r1, [r5, r2]
- bl Sin
- ldrh r1, [r5, 0x26]
- adds r0, r1
- strh r0, [r5, 0x26]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- ldrh r1, [r5, 0x6]
- adds r0, r1
- strh r0, [r5, 0x6]
- lsls r0, 16
- lsrs r0, 24
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- beq _080762B6
- strh r4, [r5, 0x2E]
- b _080762BE
-_080762B6:
- lsls r0, r4, 16
- asrs r0, 16
- subs r0, 0x1
- strh r0, [r5, 0x2E]
-_080762BE:
- ldrh r0, [r5, 0x3C]
- lsrs r0, 8
- cmp r0, 0x4F
- ble _08076364
- ldrh r0, [r5, 0x30]
- movs r1, 0x1
- adds r6, r1, 0
- ands r6, r0
- ldrh r0, [r5, 0x32]
- adds r7, r1, 0
- ands r7, r0
- movs r2, 0x30
- ldrsh r1, [r5, r2]
- lsls r0, r1, 1
- adds r0, r1
- movs r1, 0x2
- negs r1, r1
- adds r2, r1, 0
- ands r0, r2
- orrs r0, r6
- strh r0, [r5, 0x30]
- movs r0, 0x32
- ldrsh r1, [r5, r0]
- lsls r0, r1, 1
- adds r0, r1
- ands r0, r2
- orrs r0, r7
- strh r0, [r5, 0x32]
- b _08076364
-_080762F8:
- adds r0, r5, 0
- bl sub_80A6900
- lsls r0, 24
- cmp r0, 0
- beq _08076364
- ldrh r0, [r5, 0x24]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x26]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- strh r1, [r5, 0x26]
- strh r1, [r5, 0x24]
- ldrb r0, [r5, 0x6]
- strh r0, [r5, 0x3A]
- strh r1, [r5, 0x2E]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08076358
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- ldrb r1, [r0, 0x9]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08076358
- movs r0, 0x3A
- ldrsh r4, [r5, r0]
- movs r0, 0x2
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _08076358
- ldr r0, =sub_8076374
- b _0807635A
- .pool
-_08076358:
- ldr r0, =sub_8075D14
-_0807635A:
- str r0, [r5, 0x1C]
- adds r0, r5, 0
- movs r1, 0
- bl StartSpriteAffineAnim
-_08076364:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8076204
-
- thumb_func_start sub_8076374
-sub_8076374: @ 8076374
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- adds r1, r0, 0x1
- strh r1, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x18
- ble _0807638E
- movs r0, 0
- strh r0, [r2, 0x2E]
- ldr r0, =sub_8075D14
- str r0, [r2, 0x1C]
-_0807638E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8076374
-
- thumb_func_start sub_8076398
-sub_8076398: @ 8076398
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- ble _080763EC
- movs r0, 0
- strh r0, [r5, 0x2E]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _080763E8
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- ldrb r1, [r0, 0x9]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080763E8
- movs r0, 0x3A
- ldrsh r4, [r5, r0]
- movs r0, 0x3
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _080763E8
- ldr r0, =sub_8076374
- b _080763EA
- .pool
-_080763E8:
- ldr r0, =sub_8075D14
-_080763EA:
- str r0, [r5, 0x1C]
-_080763EC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8076398
-
- thumb_func_start sub_80763F8
-sub_80763F8: @ 80763F8
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- movs r4, 0
- str r4, [sp]
- bl sub_8171D98
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80763F8
-
- thumb_func_start sub_8076420
-sub_8076420: @ 8076420
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0
- bl sub_81729E8
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8076420
-
- thumb_func_start sub_8076438
-sub_8076438: @ 8076438
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r5, r0, 0
- mov r9, r2
- mov r10, r3
- ldr r6, [sp, 0x28]
- ldr r4, [sp, 0x2C]
- ldr r0, [sp, 0x30]
- ldr r2, [sp, 0x38]
- lsls r5, 24
- lsrs r5, 24
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- mov r1, r9
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r3, 24
- lsrs r3, 24
- mov r10, r3
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- lsls r0, r2, 16
- lsrs r7, r0, 16
- ldr r0, =gUnknown_0832C400
- bl LoadCompressedObjectPicUsingHeap
- ldr r0, =gUnknown_0832C460
- bl LoadCompressedObjectPaletteUsingHeap
- ldr r0, =gUnknown_0832C588
- mov r1, r9
- mov r2, r10
- adds r3, r4, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSprites
- mov r8, r1
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r2, r4, r1
- strh r5, [r2, 0x2E]
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- add r1, r8
- ldrh r0, [r1, 0x20]
- strh r0, [r2, 0x38]
- ldrh r0, [r1, 0x22]
- strh r0, [r2, 0x3A]
- mov r3, r9
- strh r3, [r1, 0x20]
- mov r0, r10
- strh r0, [r1, 0x22]
- strh r7, [r1, 0x3C]
- mov r3, sp
- ldrh r3, [r3, 0x4]
- strh r3, [r2, 0x30]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r2, 0x32]
- mov r3, sp
- ldrh r3, [r3, 0x34]
- strh r3, [r2, 0x34]
- ldr r3, [sp, 0x34]
- lsrs r0, r3, 16
- strh r0, [r2, 0x36]
- movs r0, 0x3
- ands r6, r0
- lsls r6, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r6
- strb r0, [r2, 0x5]
- movs r0, 0x1C
- add r8, r0
- add r4, r8
- ldr r0, =sub_8076524
- str r0, [r4]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8076438
-
- thumb_func_start sub_8076524
-sub_8076524: @ 8076524
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldrh r1, [r6, 0x30]
- movs r2, 0x30
- ldrsh r0, [r6, r2]
- cmp r0, 0
- bne _080765D0
- ldrh r0, [r6, 0x2E]
- lsls r0, 24
- lsrs r7, r0, 24
- ldrh r0, [r6, 0x32]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrh r4, [r6, 0x34]
- ldrh r0, [r6, 0x36]
- lsls r0, 16
- orrs r4, r0
- adds r0, r6, 0
- adds r0, 0x43
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807655E
- subs r0, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- b _08076560
-_0807655E:
- movs r5, 0
-_08076560:
- adds r0, r6, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldrh r0, [r6, 0x20]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x22]
- subs r1, 0x5
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r6, 0x5]
- lsls r2, 28
- lsrs r2, 30
- adds r3, r5, 0
- bl sub_80763F8
- movs r0, 0x1
- mov r1, r8
- adds r2, r4, 0
- bl sub_8076420
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- strh r0, [r6, 0x30]
- ldr r0, =sub_80765E0
- str r0, [r6, 0x1C]
- ldr r0, =gSprites
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- adds r4, r0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- adds r0, r4, 0
- bl AnimateSprite
- movs r0, 0x80
- lsls r0, 5
- strh r0, [r4, 0x30]
- strh r5, [r6, 0x3C]
- b _080765D4
- .pool
-_080765D0:
- subs r0, r1, 0x1
- strh r0, [r6, 0x30]
-_080765D4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8076524
-
- thumb_func_start sub_80765E0
-sub_80765E0: @ 80765E0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- movs r0, 0
- mov r12, r0
- movs r7, 0
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08076610
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_08076610:
- ldr r1, =gSprites
- lsls r2, r6, 4
- adds r0, r2, r6
- lsls r0, 2
- adds r5, r0, r1
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- mov r8, r2
- cmp r0, 0
- bge _08076634
- adds r0, r5, 0
- movs r1, 0
- bl StartSpriteAffineAnim
- movs r1, 0x1
- mov r12, r1
-_08076634:
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- movs r3, 0x20
- ldrsh r1, [r4, r3]
- subs r0, r1
- movs r1, 0x3C
- ldrsh r2, [r4, r1]
- muls r0, r2
- cmp r0, 0
- bge _0807664A
- adds r0, 0x7F
-_0807664A:
- asrs r0, 7
- ldrh r3, [r4, 0x20]
- adds r0, r3
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- movs r3, 0x22
- ldrsh r1, [r4, r3]
- subs r0, r1
- muls r0, r2
- cmp r0, 0
- bge _08076668
- adds r0, 0x7F
-_08076668:
- asrs r0, 7
- ldrh r1, [r4, 0x22]
- adds r0, r1
- mov r2, r9
- strh r2, [r5, 0x20]
- strh r0, [r5, 0x22]
- ldrh r2, [r4, 0x3C]
- movs r3, 0x3C
- ldrsh r0, [r4, r3]
- cmp r0, 0x7F
- bgt _080766AC
- ldr r1, =gSineTable
- lsls r0, r2, 24
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _08076690
- adds r0, 0x7
-_08076690:
- asrs r0, 3
- negs r0, r0
- lsls r0, 16
- lsrs r0, 16
- adds r1, r2, 0x4
- strh r1, [r4, 0x3C]
- strh r0, [r5, 0x24]
- strh r0, [r5, 0x26]
- b _080766BA
- .pool
-_080766AC:
- ldrh r0, [r4, 0x38]
- strh r0, [r5, 0x20]
- ldrh r0, [r4, 0x3A]
- strh r0, [r5, 0x22]
- strh r7, [r5, 0x24]
- strh r7, [r5, 0x26]
- movs r7, 0x1
-_080766BA:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0807670E
- mov r2, r12
- cmp r2, 0
- beq _0807670E
- cmp r7, 0
- beq _0807670E
- ldr r1, =gSprites
- mov r3, r8
- adds r0, r3, r6
- lsls r0, 2
- adds r2, r0, r1
- movs r0, 0x3C
- ldrsh r1, [r2, r0]
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bne _080766FC
- ldrh r1, [r2, 0x3C]
- adds r0, r2, 0
- movs r2, 0x1
- movs r3, 0
- bl DoMonFrontSpriteAnimation
- b _08076708
- .pool
-_080766FC:
- ldrh r1, [r2, 0x3C]
- adds r0, r2, 0
- movs r2, 0
- movs r3, 0
- bl DoMonFrontSpriteAnimation
-_08076708:
- adds r0, r4, 0
- bl DestroySpriteAndFreeResources
-_0807670E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80765E0
-
- thumb_func_start sub_807671C
-sub_807671C: @ 807671C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r0
- adds r6, r2, 0
- mov r8, r3
- ldr r5, [sp, 0x20]
- ldr r4, [sp, 0x24]
- ldr r0, [sp, 0x28]
- mov r9, r0
- mov r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r6, 24
- lsrs r6, 24
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, =gUnknown_0832C400
- bl LoadCompressedObjectPicUsingHeap
- ldr r0, =gUnknown_0832C460
- bl LoadCompressedObjectPaletteUsingHeap
- ldr r0, =gUnknown_0832C588
- adds r1, r6, 0
- mov r2, r8
- adds r3, r4, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r6, =gSprites
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- adds r2, r3, r6
- mov r1, r10
- strh r1, [r2, 0x2E]
- mov r4, r9
- strh r4, [r2, 0x30]
- strh r7, [r2, 0x32]
- mov r1, sp
- ldrh r1, [r1, 0x2C]
- strh r1, [r2, 0x34]
- ldr r4, [sp, 0x2C]
- lsrs r1, r4, 16
- strh r1, [r2, 0x36]
- movs r1, 0x3
- ands r5, r1
- lsls r5, 2
- ldrb r4, [r2, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r4
- orrs r1, r5
- strb r1, [r2, 0x5]
- adds r6, 0x1C
- adds r3, r6
- ldr r1, =sub_80767D4
- str r1, [r3]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_807671C
-
- thumb_func_start sub_80767D4
-sub_80767D4: @ 80767D4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0807686C
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r7, r0, 24
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrh r5, [r4, 0x34]
- ldrh r0, [r4, 0x36]
- lsls r0, 16
- orrs r5, r0
- adds r0, r4, 0
- adds r0, 0x43
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807680E
- subs r0, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- b _08076810
-_0807680E:
- movs r6, 0
-_08076810:
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldrh r0, [r4, 0x20]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x22]
- subs r1, 0x5
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r4, 0x5]
- lsls r2, 28
- lsrs r2, 30
- adds r3, r6, 0
- bl sub_80763F8
- movs r0, 0x1
- mov r1, r8
- adds r2, r5, 0
- bl sub_8076420
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- strh r0, [r4, 0x30]
- ldr r0, =sub_807687C
- str r0, [r4, 0x1C]
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- adds r0, r4, 0
- bl AnimateSprite
- strh r5, [r4, 0x30]
- b _08076870
- .pool
-_0807686C:
- subs r0, r1, 0x1
- strh r0, [r4, 0x30]
-_08076870:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80767D4
-
- thumb_func_start sub_807687C
-sub_807687C: @ 807687C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x38]
- adds r0, 0x1
- strh r0, [r5, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- bne _08076894
- movs r0, 0x3C
- bl PlaySE
-_08076894:
- ldrh r1, [r5, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r0, r2
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _080768D8
- adds r0, r5, 0
- movs r1, 0x2
- bl StartSpriteAnim
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0
- strh r0, [r5, 0x38]
- ldr r0, =sub_80768F0
- str r0, [r5, 0x1C]
- b _080768E8
- .pool
-_080768D8:
- ldrh r0, [r4, 0x30]
- adds r0, 0x60
- strh r0, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- negs r0, r0
- asrs r0, 8
- strh r0, [r4, 0x26]
-_080768E8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_807687C
-
- thumb_func_start sub_80768F0
-sub_80768F0: @ 80768F0
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08076904
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_08076904:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80768F0
-
- thumb_func_start obj_delete_and_free_associated_resources_
-obj_delete_and_free_associated_resources_: @ 807690C
- push {lr}
- bl DestroySpriteAndFreeResources
- pop {r0}
- bx r0
- thumb_func_end obj_delete_and_free_associated_resources_
-
- thumb_func_start sub_8076918
-sub_8076918: @ 8076918
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r0, =gHealthBoxesIds
- adds r0, r5, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r6, =gSprites
- adds r4, r0, r6
- movs r1, 0
- movs r0, 0x5
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x30]
- movs r0, 0x73
- strh r0, [r4, 0x24]
- strh r1, [r4, 0x26]
- ldr r0, =sub_80769CC
- str r0, [r4, 0x1C]
- adds r0, r5, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _08076966
- ldrh r0, [r4, 0x2E]
- negs r0, r0
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- negs r0, r0
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x24]
- negs r0, r0
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x26]
- negs r0, r0
- strh r0, [r4, 0x26]
-_08076966:
- movs r0, 0x38
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r6, 0
- adds r1, 0x1C
- adds r1, r0, r1
- adds r0, r6
- ldr r1, [r1]
- bl _call_via_r1
- adds r0, r5, 0
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08076990
- ldr r0, =sub_80769A8
- str r0, [r4, 0x1C]
-_08076990:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8076918
-
- thumb_func_start sub_80769A8
-sub_80769A8: @ 80769A8
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bne _080769C2
- movs r0, 0
- strh r0, [r1, 0x30]
- ldr r0, =sub_80769CC
- str r0, [r1, 0x1C]
-_080769C2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80769A8
-
- thumb_func_start sub_80769CC
-sub_80769CC: @ 80769CC
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x24]
- ldrh r1, [r2, 0x2E]
- subs r0, r1
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x26]
- ldrh r1, [r2, 0x30]
- subs r0, r1
- strh r0, [r2, 0x26]
- ldr r0, [r2, 0x24]
- cmp r0, 0
- bne _080769EA
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_080769EA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80769CC
-
- thumb_func_start DoHitAnimHealthboxEffect
-DoHitAnimHealthboxEffect: @ 80769F4
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =oamc_804BEB4
- adds r0, r5, 0
- bl CreateInvisibleSpriteWithCallback
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r3, r1, r2
- movs r0, 0x1
- strh r0, [r3, 0x2E]
- ldr r0, =gHealthBoxesIds
- adds r4, r0
- ldrb r0, [r4]
- strh r0, [r3, 0x30]
- adds r2, 0x1C
- adds r1, r2
- str r5, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DoHitAnimHealthboxEffect
-
- thumb_func_start oamc_804BEB4
-oamc_804BEB4: @ 8076A38
- push {lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- ldrh r0, [r3, 0x2E]
- movs r2, 0
- strh r0, [r1, 0x26]
- ldrh r0, [r3, 0x2E]
- negs r0, r0
- strh r0, [r3, 0x2E]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x15
- bne _08076A70
- strh r2, [r1, 0x24]
- strh r2, [r1, 0x26]
- adds r0, r3, 0
- bl DestroySprite
-_08076A70:
- pop {r0}
- bx r0
- .pool
- thumb_func_end oamc_804BEB4
-
- thumb_func_start sub_8076A78
-sub_8076A78: @ 8076A78
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0832C400
- lsls r6, r4, 3
- adds r5, r6, r0
- ldrh r0, [r5, 0x6]
- bl GetSpriteTileStartByTag
- lsls r0, 16
- ldr r1, =0xffff0000
- cmp r0, r1
- bne _08076AA0
- adds r0, r5, 0
- bl LoadCompressedObjectPicUsingHeap
- ldr r0, =gUnknown_0832C460
- adds r0, r6, r0
- bl LoadCompressedObjectPaletteUsingHeap
-_08076AA0:
- cmp r4, 0x6
- beq _08076ACC
- cmp r4, 0x6
- blt _08076AB0
- cmp r4, 0xB
- bgt _08076AB0
- cmp r4, 0xA
- bge _08076ACC
-_08076AB0:
- ldr r1, =gUnknown_0832C400
- lsls r0, r4, 3
- adds r0, r1
- ldrh r0, [r0, 0x6]
- bl GetSpriteTileStartByTag
- adds r1, r0, 0
- lsls r1, 16
- ldr r0, =gUnknown_08C02300
- lsrs r1, 11
- ldr r2, =0x06010100
- adds r1, r2
- bl LZDecompressVram
-_08076ACC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8076A78
-
- thumb_func_start sub_8076AE8
-sub_8076AE8: @ 8076AE8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- ldr r0, =gUnknown_0832C400
- lsrs r4, 21
- adds r0, r4, r0
- ldrh r0, [r0, 0x6]
- bl FreeSpriteTilesByTag
- ldr r0, =gUnknown_0832C460
- adds r4, r0
- ldrh r0, [r4, 0x4]
- bl FreeSpritePaletteByTag
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8076AE8
-
- thumb_func_start sub_8076B14
-sub_8076B14: @ 8076B14
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _08076B40
- ldr r1, =gBattlePartyID
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- b _08076B4E
- .pool
-_08076B40:
- ldr r1, =gBattlePartyID
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
-_08076B4E:
- adds r0, r1
- movs r1, 0x26
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8076B14
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s
index 4441767db..f0628ebee 100755
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -1424,16 +1424,16 @@ sub_81C4A08: @ 81C4A08
bl GetMonData
lsls r0, 16
lsrs r0, 16
- bl ball_number_to_ball_processing_index
+ bl ItemIdToBallId
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
adds r0, r4, 0
- bl sub_8076A78
+ bl LoadBallGfx
lsls r0, r4, 1
adds r0, r4
lsls r0, 3
- ldr r1, =gUnknown_0832C588
+ ldr r1, =gBallSpriteTemplates
adds r0, r1
movs r1, 0x10
movs r2, 0x88
diff --git a/asm/trade.s b/asm/trade.s
index 74e907aee..d36ae3c67 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -1,5 +1,7 @@
.include "asm/macros.inc"
- .include "constants/constants.inc"
+ .include "constants/gba_constants.inc"
+ .include "constants/misc_constants.inc"
+ .include "constants/species_constants.inc"
.syntax unified
@@ -10445,7 +10447,7 @@ _0807CD1C:
str r2, [sp, 0x10]
movs r2, 0x78
movs r3, 0x54
- bl sub_8076438
+ bl CreatePokeballSpriteToReleaseMon
ldr r0, [r7]
adds r0, 0xD3
ldrb r1, [r0]
@@ -12550,7 +12552,7 @@ _0807E168:
str r2, [sp, 0x10]
movs r2, 0x78
movs r3, 0x54
- bl sub_8076438
+ bl CreatePokeballSpriteToReleaseMon
ldr r0, [r7]
adds r0, 0xD3
ldrb r1, [r0]
diff --git a/asmdiff.sh b/asmdiff.sh
index 1d2141c32..1d2141c32 100644..100755
--- a/asmdiff.sh
+++ b/asmdiff.sh
diff --git a/constants/ability_constants.inc b/constants/ability_constants.inc
deleted file mode 100644
index 8ccc872f7..000000000
--- a/constants/ability_constants.inc
+++ /dev/null
@@ -1,78 +0,0 @@
- .set ABILITY_NONE, 0x00
- .set ABILITY_STENCH, 0x01
- .set ABILITY_DRIZZLE, 0x02
- .set ABILITY_SPEED_BOOST, 0x03
- .set ABILITY_BATTLE_ARMOR, 0x04
- .set ABILITY_STURDY, 0x05
- .set ABILITY_DAMP, 0x06
- .set ABILITY_LIMBER, 0x07
- .set ABILITY_SAND_VEIL, 0x08
- .set ABILITY_STATIC, 0x09
- .set ABILITY_VOLT_ABSORB, 0x0a
- .set ABILITY_WATER_ABSORB, 0x0b
- .set ABILITY_OBLIVIOUS, 0x0c
- .set ABILITY_CLOUD_NINE, 0x0d
- .set ABILITY_COMPOUND_EYES, 0x0e
- .set ABILITY_INSOMNIA, 0x0f
- .set ABILITY_COLOR_CHANGE, 0x10
- .set ABILITY_IMMUNITY, 0x11
- .set ABILITY_FLASH_FIRE, 0x12
- .set ABILITY_SHIELD_DUST, 0x13
- .set ABILITY_OWN_TEMPO, 0x14
- .set ABILITY_SUCTION_CUPS, 0x15
- .set ABILITY_INTIMIDATE, 0x16
- .set ABILITY_SHADOW_TAG, 0x17
- .set ABILITY_ROUGH_SKIN, 0x18
- .set ABILITY_WONDER_GUARD, 0x19
- .set ABILITY_LEVITATE, 0x1a
- .set ABILITY_EFFECT_SPORE, 0x1b
- .set ABILITY_SYNCHRONIZE, 0x1c
- .set ABILITY_CLEAR_BODY, 0x1d
- .set ABILITY_NATURAL_CURE, 0x1e
- .set ABILITY_LIGHTNING_ROD, 0x1f
- .set ABILITY_SERENE_GRACE, 0x20
- .set ABILITY_SWIFT_SWIM, 0x21
- .set ABILITY_CHLOROPHYLL, 0x22
- .set ABILITY_ILLUMINATE, 0x23
- .set ABILITY_TRACE, 0x24
- .set ABILITY_HUGE_POWER, 0x25
- .set ABILITY_POISON_POINT, 0x26
- .set ABILITY_INNER_FOCUS, 0x27
- .set ABILITY_MAGMA_ARMOR, 0x28
- .set ABILITY_WATER_VEIL, 0x29
- .set ABILITY_MAGNET_PULL, 0x2a
- .set ABILITY_SOUNDPROOF, 0x2b
- .set ABILITY_RAIN_DISH, 0x2c
- .set ABILITY_SAND_STREAM, 0x2d
- .set ABILITY_PRESSURE, 0x2e
- .set ABILITY_THICK_FAT, 0x2f
- .set ABILITY_EARLY_BIRD, 0x30
- .set ABILITY_FLAME_BODY, 0x31
- .set ABILITY_RUN_AWAY, 0x32
- .set ABILITY_KEEN_EYE, 0x33
- .set ABILITY_HYPER_CUTTER, 0x34
- .set ABILITY_PICKUP, 0x35
- .set ABILITY_TRUANT, 0x36
- .set ABILITY_HUSTLE, 0x37
- .set ABILITY_CUTE_CHARM, 0x38
- .set ABILITY_PLUS, 0x39
- .set ABILITY_MINUS, 0x3a
- .set ABILITY_FORECAST, 0x3b
- .set ABILITY_STICKY_HOLD, 0x3c
- .set ABILITY_SHED_SKIN, 0x3d
- .set ABILITY_GUTS, 0x3e
- .set ABILITY_MARVEL_SCALE, 0x3f
- .set ABILITY_LIQUID_OOZE, 0x40
- .set ABILITY_OVERGROW, 0x41
- .set ABILITY_BLAZE, 0x42
- .set ABILITY_TORRENT, 0x43
- .set ABILITY_SWARM, 0x44
- .set ABILITY_ROCK_HEAD, 0x45
- .set ABILITY_DROUGHT, 0x46
- .set ABILITY_ARENA_TRAP, 0x47
- .set ABILITY_VITAL_SPIRIT, 0x48
- .set ABILITY_WHITE_SMOKE, 0x49
- .set ABILITY_PURE_POWER, 0x4a
- .set ABILITY_SHELL_ARMOR, 0x4b
- .set ABILITY_CACOPHONY, 0x4c
- .set ABILITY_AIR_LOCK, 0x4d
diff --git a/constants/battle_script_constants.inc b/constants/battle_script_constants.inc
index fb0c39ab9..fe0e7dddc 100644
--- a/constants/battle_script_constants.inc
+++ b/constants/battle_script_constants.inc
@@ -18,7 +18,7 @@
.set ANIM_ITEM_STEAL, 0x10
.set ANIM_SNATCH_MOVE, 0x11
.set ANIM_FUTURE_SIGHT_HIT, 0x12
- .set ANIM_x13, 0x13
+ .set ANIM_DOOM_DESIRE_HIT, 0x13
.set ANIM_x14, 0x14
.set ANIM_INGRAIN_HEAL, 0x15
.set ANIM_WISH_HEAL, 0x16
@@ -146,8 +146,8 @@
.equiv sANIM_ARG2, gBattleScripting + 0x11
.equiv sTRIPLE_KICK_POWER, gBattleScripting + 0x12
.equiv sMOVEEND_STATE, gBattleScripting + 0x14
- .equiv sFIELD_15, gBattleScripting + 0x15
- .equiv sFIELD_16, gBattleScripting + 0x16
+ .equiv sBANK_WITH_ABILITY, gBattleScripting + 0x15
+ .equiv sMULTIHIT_EFFECT, gBattleScripting + 0x16
.equiv sBANK, gBattleScripting + 0x17
.equiv sANIM_TURN, gBattleScripting + 0x18
.equiv sANIM_TARGETS_HIT, gBattleScripting + 0x19
diff --git a/constants/constants.inc b/constants/constants.inc
index fbd4e8af0..99c3d3c73 100644
--- a/constants/constants.inc
+++ b/constants/constants.inc
@@ -1,20 +1,12 @@
.include "constants/gba_constants.inc"
.include "constants/misc_constants.inc"
- .include "constants/species_constants.inc"
- .include "constants/ability_constants.inc"
- .include "constants/move_constants.inc"
- .include "constants/item_constants.inc"
.include "constants/type_constants.inc"
.include "constants/contest_constants.inc"
.include "constants/pokemon_data_constants.inc"
.include "constants/item_data_constants.inc"
.include "constants/battle_move_constants.inc"
- .include "constants/easy_chat_constants.inc"
.include "constants/trainer_constants.inc"
.include "constants/battle_frontier_constants.inc"
.include "constants/map_constants.inc"
- .include "constants/map_object_constants.inc"
.include "constants/berry_constants.inc"
- .include "constants/field_object_constants.inc"
.include "constants/contest_move_effects.inc"
- .include "constants/songs.inc"
diff --git a/constants/easy_chat_constants.inc b/constants/easy_chat_constants.inc
deleted file mode 100644
index 4d9aecec5..000000000
--- a/constants/easy_chat_constants.inc
+++ /dev/null
@@ -1,1067 +0,0 @@
- .set EC_GROUP_POKEMON, 0x0
- .set EC_GROUP_TRAINER, 0x1
- .set EC_GROUP_STATUS, 0x2
- .set EC_GROUP_BATTLE, 0x3
- .set EC_GROUP_GREETINGS, 0x4
- .set EC_GROUP_PEOPLE, 0x5
- .set EC_GROUP_VOICES, 0x6
- .set EC_GROUP_SPEECH, 0x7
- .set EC_GROUP_ENDINGS, 0x8
- .set EC_GROUP_FEELINGS, 0x9
- .set EC_GROUP_CONDITIONS, 0xa
- .set EC_GROUP_ACTIONS, 0xb
- .set EC_GROUP_LIFESTYLE, 0xc
- .set EC_GROUP_HOBBIES, 0xd
- .set EC_GROUP_TIME, 0xe
- .set EC_GROUP_MISC, 0xf
- .set EC_GROUP_ADJECTIVES, 0x10
- .set EC_GROUP_EVENTS, 0x11
- .set EC_GROUP_MOVE_1, 0x12
- .set EC_GROUP_MOVE_2, 0x13
- .set EC_GROUP_TRENDY_SAYING, 0x14
- .set EC_GROUP_POKEMON2, 0x15
-
-@ Trainer
- .set EC_WORD_I_CHOOSE_YOU, (EC_GROUP_TRAINER << 9) | 0x0
- .set EC_WORD_GOTCHA, (EC_GROUP_TRAINER << 9) | 0x1
- .set EC_WORD_TRADE, (EC_GROUP_TRAINER << 9) | 0x2
- .set EC_WORD_SAPPHIRE, (EC_GROUP_TRAINER << 9) | 0x3
- .set EC_WORD_EVOLVE, (EC_GROUP_TRAINER << 9) | 0x4
- .set EC_WORD_ENCYCLOPEDIA, (EC_GROUP_TRAINER << 9) | 0x5
- .set EC_WORD_NATURE, (EC_GROUP_TRAINER << 9) | 0x6
- .set EC_WORD_CENTER, (EC_GROUP_TRAINER << 9) | 0x7
- .set EC_WORD_EGG, (EC_GROUP_TRAINER << 9) | 0x8
- .set EC_WORD_LINK, (EC_GROUP_TRAINER << 9) | 0x9
- .set EC_WORD_SP_ABILITY, (EC_GROUP_TRAINER << 9) | 0xa
- .set EC_WORD_TRAINER, (EC_GROUP_TRAINER << 9) | 0xb
- .set EC_WORD_VERSION, (EC_GROUP_TRAINER << 9) | 0xc
- .set EC_WORD_POKENAV, (EC_GROUP_TRAINER << 9) | 0xd
- .set EC_WORD_POKEMON, (EC_GROUP_TRAINER << 9) | 0xe
- .set EC_WORD_GET, (EC_GROUP_TRAINER << 9) | 0xf
- .set EC_WORD_POKEDEX, (EC_GROUP_TRAINER << 9) | 0x10
- .set EC_WORD_RUBY, (EC_GROUP_TRAINER << 9) | 0x11
- .set EC_WORD_LEVEL, (EC_GROUP_TRAINER << 9) | 0x12
- .set EC_WORD_RED, (EC_GROUP_TRAINER << 9) | 0x13
- .set EC_WORD_GREEN, (EC_GROUP_TRAINER << 9) | 0x14
- .set EC_WORD_BAG, (EC_GROUP_TRAINER << 9) | 0x15
- .set EC_WORD_FLAME, (EC_GROUP_TRAINER << 9) | 0x16
- .set EC_WORD_GOLD, (EC_GROUP_TRAINER << 9) | 0x17
- .set EC_WORD_LEAF, (EC_GROUP_TRAINER << 9) | 0x18
- .set EC_WORD_SILVER, (EC_GROUP_TRAINER << 9) | 0x19
- .set EC_WORD_EMERALD, (EC_GROUP_TRAINER << 9) | 0x1a
-
-@ Status
- .set EC_WORD_DARK, (EC_GROUP_STATUS << 9) | 0x0
- .set EC_WORD_STENCH, (EC_GROUP_STATUS << 9) | 0x1
- .set EC_WORD_THICK_FAT, (EC_GROUP_STATUS << 9) | 0x2
- .set EC_WORD_RAIN_DISH, (EC_GROUP_STATUS << 9) | 0x3
- .set EC_WORD_DRIZZLE, (EC_GROUP_STATUS << 9) | 0x4
- .set EC_WORD_ARENA_TRAP, (EC_GROUP_STATUS << 9) | 0x5
- .set EC_WORD_INTIMIDATE, (EC_GROUP_STATUS << 9) | 0x6
- .set EC_WORD_ROCK_HEAD, (EC_GROUP_STATUS << 9) | 0x7
- .set EC_WORD_COLOR, (EC_GROUP_STATUS << 9) | 0x8
- .set EC_WORD_ALT_COLOR, (EC_GROUP_STATUS << 9) | 0x9
- .set EC_WORD_ROCK, (EC_GROUP_STATUS << 9) | 0xa
- .set EC_WORD_BEAUTIFUL, (EC_GROUP_STATUS << 9) | 0xb
- .set EC_WORD_BEAUTY, (EC_GROUP_STATUS << 9) | 0xc
- .set EC_WORD_AIR_LOCK, (EC_GROUP_STATUS << 9) | 0xd
- .set EC_WORD_PSYCHIC, (EC_GROUP_STATUS << 9) | 0xe
- .set EC_WORD_HYPER_CUTTER, (EC_GROUP_STATUS << 9) | 0xf
- .set EC_WORD_FIGHTING, (EC_GROUP_STATUS << 9) | 0x10
- .set EC_WORD_SHADOW_TAG, (EC_GROUP_STATUS << 9) | 0x11
- .set EC_WORD_SMART, (EC_GROUP_STATUS << 9) | 0x12
- .set EC_WORD_SMARTNESS, (EC_GROUP_STATUS << 9) | 0x13
- .set EC_WORD_SPEED_BOOST, (EC_GROUP_STATUS << 9) | 0x14
- .set EC_WORD_COOL, (EC_GROUP_STATUS << 9) | 0x15
- .set EC_WORD_COOLNESS, (EC_GROUP_STATUS << 9) | 0x16
- .set EC_WORD_BATTLE_ARMOR, (EC_GROUP_STATUS << 9) | 0x17
- .set EC_WORD_CUTE, (EC_GROUP_STATUS << 9) | 0x18
- .set EC_WORD_CUTENESS, (EC_GROUP_STATUS << 9) | 0x19
- .set EC_WORD_STURDY, (EC_GROUP_STATUS << 9) | 0x1a
- .set EC_WORD_SUCTION_CUPS, (EC_GROUP_STATUS << 9) | 0x1b
- .set EC_WORD_GRASS, (EC_GROUP_STATUS << 9) | 0x1c
- .set EC_WORD_CLEAR_BODY, (EC_GROUP_STATUS << 9) | 0x1d
- .set EC_WORD_TORRENT, (EC_GROUP_STATUS << 9) | 0x1e
- .set EC_WORD_GHOST, (EC_GROUP_STATUS << 9) | 0x1f
- .set EC_WORD_ICE, (EC_GROUP_STATUS << 9) | 0x20
- .set EC_WORD_GUTS, (EC_GROUP_STATUS << 9) | 0x21
- .set EC_WORD_ROUGH_SKIN, (EC_GROUP_STATUS << 9) | 0x22
- .set EC_WORD_SHELL_ARMOR, (EC_GROUP_STATUS << 9) | 0x23
- .set EC_WORD_NATURAL_CURE, (EC_GROUP_STATUS << 9) | 0x24
- .set EC_WORD_DAMP, (EC_GROUP_STATUS << 9) | 0x25
- .set EC_WORD_GROUND, (EC_GROUP_STATUS << 9) | 0x26
- .set EC_WORD_LIMBER, (EC_GROUP_STATUS << 9) | 0x27
- .set EC_WORD_MAGNET_PULL, (EC_GROUP_STATUS << 9) | 0x28
- .set EC_WORD_WHITE_SMOKE, (EC_GROUP_STATUS << 9) | 0x29
- .set EC_WORD_SYNCHRONIZE, (EC_GROUP_STATUS << 9) | 0x2a
- .set EC_WORD_OVERGROW, (EC_GROUP_STATUS << 9) | 0x2b
- .set EC_WORD_SWIFT_SWIM, (EC_GROUP_STATUS << 9) | 0x2c
- .set EC_WORD_SAND_STREAM, (EC_GROUP_STATUS << 9) | 0x2d
- .set EC_WORD_SAND_VEIL, (EC_GROUP_STATUS << 9) | 0x2e
- .set EC_WORD_KEEN_EYE, (EC_GROUP_STATUS << 9) | 0x2f
- .set EC_WORD_INNER_FOCUS, (EC_GROUP_STATUS << 9) | 0x30
- .set EC_WORD_STATIC, (EC_GROUP_STATUS << 9) | 0x31
- .set EC_WORD_TYPE, (EC_GROUP_STATUS << 9) | 0x32
- .set EC_WORD_TOUGH, (EC_GROUP_STATUS << 9) | 0x33
- .set EC_WORD_TOUGHNESS, (EC_GROUP_STATUS << 9) | 0x34
- .set EC_WORD_SHED_SKIN, (EC_GROUP_STATUS << 9) | 0x35
- .set EC_WORD_HUGE_POWER, (EC_GROUP_STATUS << 9) | 0x36
- .set EC_WORD_VOLT_ABSORB, (EC_GROUP_STATUS << 9) | 0x37
- .set EC_WORD_WATER_ABSORB, (EC_GROUP_STATUS << 9) | 0x38
- .set EC_WORD_ELECTRIC, (EC_GROUP_STATUS << 9) | 0x39
- .set EC_WORD_FORECAST, (EC_GROUP_STATUS << 9) | 0x3a
- .set EC_WORD_SERENE_GRACE, (EC_GROUP_STATUS << 9) | 0x3b
- .set EC_WORD_POISON, (EC_GROUP_STATUS << 9) | 0x3c
- .set EC_WORD_POISON_POINT, (EC_GROUP_STATUS << 9) | 0x3d
- .set EC_WORD_DRAGON, (EC_GROUP_STATUS << 9) | 0x3e
- .set EC_WORD_TRACE, (EC_GROUP_STATUS << 9) | 0x3f
- .set EC_WORD_OBLIVIOUS, (EC_GROUP_STATUS << 9) | 0x40
- .set EC_WORD_TRUANT, (EC_GROUP_STATUS << 9) | 0x41
- .set EC_WORD_RUN_AWAY, (EC_GROUP_STATUS << 9) | 0x42
- .set EC_WORD_STICKY_HOLD, (EC_GROUP_STATUS << 9) | 0x43
- .set EC_WORD_CLOUD_NINE, (EC_GROUP_STATUS << 9) | 0x44
- .set EC_WORD_NORMAL, (EC_GROUP_STATUS << 9) | 0x45
- .set EC_WORD_STEEL, (EC_GROUP_STATUS << 9) | 0x46
- .set EC_WORD_ILLUMINATE, (EC_GROUP_STATUS << 9) | 0x47
- .set EC_WORD_EARLY_BIRD, (EC_GROUP_STATUS << 9) | 0x48
- .set EC_WORD_HUSTLE, (EC_GROUP_STATUS << 9) | 0x49
- .set EC_WORD_SHINE, (EC_GROUP_STATUS << 9) | 0x4a
- .set EC_WORD_FLYING, (EC_GROUP_STATUS << 9) | 0x4b
- .set EC_WORD_DROUGHT, (EC_GROUP_STATUS << 9) | 0x4c
- .set EC_WORD_LIGHTNINGROD, (EC_GROUP_STATUS << 9) | 0x4d
- .set EC_WORD_COMPOUNDEYES, (EC_GROUP_STATUS << 9) | 0x4e
- .set EC_WORD_MARVEL_SCALE, (EC_GROUP_STATUS << 9) | 0x4f
- .set EC_WORD_WONDER_GUARD, (EC_GROUP_STATUS << 9) | 0x50
- .set EC_WORD_INSOMNIA, (EC_GROUP_STATUS << 9) | 0x51
- .set EC_WORD_LEVITATE, (EC_GROUP_STATUS << 9) | 0x52
- .set EC_WORD_PLUS, (EC_GROUP_STATUS << 9) | 0x53
- .set EC_WORD_PRESSURE, (EC_GROUP_STATUS << 9) | 0x54
- .set EC_WORD_LIQUID_OOZE, (EC_GROUP_STATUS << 9) | 0x55
- .set EC_WORD_COLOR_CHANGE, (EC_GROUP_STATUS << 9) | 0x56
- .set EC_WORD_SOUNDPROOF, (EC_GROUP_STATUS << 9) | 0x57
- .set EC_WORD_EFFECT_SPORE, (EC_GROUP_STATUS << 9) | 0x58
- .set EC_WORD_PKRS, (EC_GROUP_STATUS << 9) | 0x59
- .set EC_WORD_FIRE, (EC_GROUP_STATUS << 9) | 0x5a
- .set EC_WORD_FLAME_BODY, (EC_GROUP_STATUS << 9) | 0x5b
- .set EC_WORD_MINUS, (EC_GROUP_STATUS << 9) | 0x5c
- .set EC_WORD_OWN_TEMPO, (EC_GROUP_STATUS << 9) | 0x5d
- .set EC_WORD_MAGMA_ARMOR, (EC_GROUP_STATUS << 9) | 0x5e
- .set EC_WORD_WATER, (EC_GROUP_STATUS << 9) | 0x5f
- .set EC_WORD_WATER_VEIL, (EC_GROUP_STATUS << 9) | 0x60
- .set EC_WORD_BUG, (EC_GROUP_STATUS << 9) | 0x61
- .set EC_WORD_SWARM, (EC_GROUP_STATUS << 9) | 0x62
- .set EC_WORD_CUTE_CHARM, (EC_GROUP_STATUS << 9) | 0x63
- .set EC_WORD_IMMUNITY, (EC_GROUP_STATUS << 9) | 0x64
- .set EC_WORD_BLAZE, (EC_GROUP_STATUS << 9) | 0x65
- .set EC_WORD_PICKUP, (EC_GROUP_STATUS << 9) | 0x66
- .set EC_WORD_PATTERN, (EC_GROUP_STATUS << 9) | 0x67
- .set EC_WORD_FLASH_FIRE, (EC_GROUP_STATUS << 9) | 0x68
- .set EC_WORD_VITAL_SPIRIT, (EC_GROUP_STATUS << 9) | 0x69
- .set EC_WORD_CHLOROPHYLL, (EC_GROUP_STATUS << 9) | 0x6a
- .set EC_WORD_PURE_POWER, (EC_GROUP_STATUS << 9) | 0x6b
- .set EC_WORD_SHIELD_DUST, (EC_GROUP_STATUS << 9) | 0x6c
-
-@ Battle
- .set EC_WORD_MATCH_UP, (EC_GROUP_BATTLE << 9) | 0x0
- .set EC_WORD_GO, (EC_GROUP_BATTLE << 9) | 0x1
- .set EC_WORD_NO_1, (EC_GROUP_BATTLE << 9) | 0x2
- .set EC_WORD_DECIDE, (EC_GROUP_BATTLE << 9) | 0x3
- .set EC_WORD_LET_ME_WIN, (EC_GROUP_BATTLE << 9) | 0x4
- .set EC_WORD_WINS, (EC_GROUP_BATTLE << 9) | 0x5
- .set EC_WORD_WIN, (EC_GROUP_BATTLE << 9) | 0x6
- .set EC_WORD_WON, (EC_GROUP_BATTLE << 9) | 0x7
- .set EC_WORD_IF_I_WIN, (EC_GROUP_BATTLE << 9) | 0x8
- .set EC_WORD_WHEN_I_WIN, (EC_GROUP_BATTLE << 9) | 0x9
- .set EC_WORD_CAN_T_WIN, (EC_GROUP_BATTLE << 9) | 0xa
- .set EC_WORD_CAN_WIN, (EC_GROUP_BATTLE << 9) | 0xb
- .set EC_WORD_NO_MATCH, (EC_GROUP_BATTLE << 9) | 0xc
- .set EC_WORD_SPIRIT, (EC_GROUP_BATTLE << 9) | 0xd
- .set EC_WORD_DECIDED, (EC_GROUP_BATTLE << 9) | 0xe
- .set EC_WORD_TRUMP_CARD, (EC_GROUP_BATTLE << 9) | 0xf
- .set EC_WORD_TAKE_THAT, (EC_GROUP_BATTLE << 9) | 0x10
- .set EC_WORD_COME_ON, (EC_GROUP_BATTLE << 9) | 0x11
- .set EC_WORD_ATTACK, (EC_GROUP_BATTLE << 9) | 0x12
- .set EC_WORD_SURRENDER, (EC_GROUP_BATTLE << 9) | 0x13
- .set EC_WORD_GUTSY, (EC_GROUP_BATTLE << 9) | 0x14
- .set EC_WORD_TALENT, (EC_GROUP_BATTLE << 9) | 0x15
- .set EC_WORD_STRATEGY, (EC_GROUP_BATTLE << 9) | 0x16
- .set EC_WORD_SMITE, (EC_GROUP_BATTLE << 9) | 0x17
- .set EC_WORD_MATCH, (EC_GROUP_BATTLE << 9) | 0x18
- .set EC_WORD_VICTORY, (EC_GROUP_BATTLE << 9) | 0x19
- .set EC_WORD_OFFENSIVE, (EC_GROUP_BATTLE << 9) | 0x1a
- .set EC_WORD_SENSE, (EC_GROUP_BATTLE << 9) | 0x1b
- .set EC_WORD_VERSUS, (EC_GROUP_BATTLE << 9) | 0x1c
- .set EC_WORD_FIGHTS, (EC_GROUP_BATTLE << 9) | 0x1d
- .set EC_WORD_POWER, (EC_GROUP_BATTLE << 9) | 0x1e
- .set EC_WORD_CHALLENGE, (EC_GROUP_BATTLE << 9) | 0x1f
- .set EC_WORD_STRONG, (EC_GROUP_BATTLE << 9) | 0x20
- .set EC_WORD_TOO_STRONG, (EC_GROUP_BATTLE << 9) | 0x21
- .set EC_WORD_GO_EASY, (EC_GROUP_BATTLE << 9) | 0x22
- .set EC_WORD_FOE, (EC_GROUP_BATTLE << 9) | 0x23
- .set EC_WORD_GENIUS, (EC_GROUP_BATTLE << 9) | 0x24
- .set EC_WORD_LEGEND, (EC_GROUP_BATTLE << 9) | 0x25
- .set EC_WORD_ESCAPE, (EC_GROUP_BATTLE << 9) | 0x26
- .set EC_WORD_AIM, (EC_GROUP_BATTLE << 9) | 0x27
- .set EC_WORD_BATTLE, (EC_GROUP_BATTLE << 9) | 0x28
- .set EC_WORD_FIGHT, (EC_GROUP_BATTLE << 9) | 0x29
- .set EC_WORD_RESUSCITATE, (EC_GROUP_BATTLE << 9) | 0x2a
- .set EC_WORD_POINTS, (EC_GROUP_BATTLE << 9) | 0x2b
- .set EC_WORD_SERIOUS, (EC_GROUP_BATTLE << 9) | 0x2c
- .set EC_WORD_GIVE_UP, (EC_GROUP_BATTLE << 9) | 0x2d
- .set EC_WORD_LOSS, (EC_GROUP_BATTLE << 9) | 0x2e
- .set EC_WORD_IF_I_LOSE, (EC_GROUP_BATTLE << 9) | 0x2f
- .set EC_WORD_LOST, (EC_GROUP_BATTLE << 9) | 0x30
- .set EC_WORD_LOSE, (EC_GROUP_BATTLE << 9) | 0x31
- .set EC_WORD_GUARD, (EC_GROUP_BATTLE << 9) | 0x32
- .set EC_WORD_PARTNER, (EC_GROUP_BATTLE << 9) | 0x33
- .set EC_WORD_REJECT, (EC_GROUP_BATTLE << 9) | 0x34
- .set EC_WORD_ACCEPT, (EC_GROUP_BATTLE << 9) | 0x35
- .set EC_WORD_INVINCIBLE, (EC_GROUP_BATTLE << 9) | 0x36
- .set EC_WORD_RECEIVED, (EC_GROUP_BATTLE << 9) | 0x37
- .set EC_WORD_EASY, (EC_GROUP_BATTLE << 9) | 0x38
- .set EC_WORD_WEAK, (EC_GROUP_BATTLE << 9) | 0x39
- .set EC_WORD_TOO_WEAK, (EC_GROUP_BATTLE << 9) | 0x3a
- .set EC_WORD_PUSHOVER, (EC_GROUP_BATTLE << 9) | 0x3b
- .set EC_WORD_LEADER, (EC_GROUP_BATTLE << 9) | 0x3c
- .set EC_WORD_RULE, (EC_GROUP_BATTLE << 9) | 0x3d
- .set EC_WORD_MOVE, (EC_GROUP_BATTLE << 9) | 0x3e
-
-@ Greetings
- .set EC_WORD_THANKS, (EC_GROUP_GREETINGS << 9) | 0x0
- .set EC_WORD_YES, (EC_GROUP_GREETINGS << 9) | 0x1
- .set EC_WORD_HERE_GOES, (EC_GROUP_GREETINGS << 9) | 0x2
- .set EC_WORD_HERE_I_COME, (EC_GROUP_GREETINGS << 9) | 0x3
- .set EC_WORD_HERE_IT_IS, (EC_GROUP_GREETINGS << 9) | 0x4
- .set EC_WORD_YEAH, (EC_GROUP_GREETINGS << 9) | 0x5
- .set EC_WORD_WELCOME, (EC_GROUP_GREETINGS << 9) | 0x6
- .set EC_WORD_OI, (EC_GROUP_GREETINGS << 9) | 0x7
- .set EC_WORD_HOW_DO, (EC_GROUP_GREETINGS << 9) | 0x8
- .set EC_WORD_CONGRATS, (EC_GROUP_GREETINGS << 9) | 0x9
- .set EC_WORD_GIVE_ME, (EC_GROUP_GREETINGS << 9) | 0xa
- .set EC_WORD_SORRY, (EC_GROUP_GREETINGS << 9) | 0xb
- .set EC_WORD_APOLOGIZE, (EC_GROUP_GREETINGS << 9) | 0xc
- .set EC_WORD_FORGIVE, (EC_GROUP_GREETINGS << 9) | 0xd
- .set EC_WORD_HEY_THERE, (EC_GROUP_GREETINGS << 9) | 0xe
- .set EC_WORD_HELLO, (EC_GROUP_GREETINGS << 9) | 0xf
- .set EC_WORD_GOOD_BYE, (EC_GROUP_GREETINGS << 9) | 0x10
- .set EC_WORD_THANK_YOU, (EC_GROUP_GREETINGS << 9) | 0x11
- .set EC_WORD_I_VE_ARRIVED, (EC_GROUP_GREETINGS << 9) | 0x12
- .set EC_WORD_PARDON, (EC_GROUP_GREETINGS << 9) | 0x13
- .set EC_WORD_EXCUSE, (EC_GROUP_GREETINGS << 9) | 0x14
- .set EC_WORD_SEE_YA, (EC_GROUP_GREETINGS << 9) | 0x15
- .set EC_WORD_EXCUSE_ME, (EC_GROUP_GREETINGS << 9) | 0x16
- .set EC_WORD_WELL_THEN, (EC_GROUP_GREETINGS << 9) | 0x17
- .set EC_WORD_GO_AHEAD, (EC_GROUP_GREETINGS << 9) | 0x18
- .set EC_WORD_APPRECIATE, (EC_GROUP_GREETINGS << 9) | 0x19
- .set EC_WORD_HEY_QUES, (EC_GROUP_GREETINGS << 9) | 0x1a
- .set EC_WORD_WHAT_S_UP_QUES, (EC_GROUP_GREETINGS << 9) | 0x1b
- .set EC_WORD_HUH_QUES, (EC_GROUP_GREETINGS << 9) | 0x1c
- .set EC_WORD_NO, (EC_GROUP_GREETINGS << 9) | 0x1d
- .set EC_WORD_HI, (EC_GROUP_GREETINGS << 9) | 0x1e
- .set EC_WORD_YEAH_YEAH, (EC_GROUP_GREETINGS << 9) | 0x1f
- .set EC_WORD_BYE_BYE, (EC_GROUP_GREETINGS << 9) | 0x20
- .set EC_WORD_MEET_YOU, (EC_GROUP_GREETINGS << 9) | 0x21
- .set EC_WORD_HEY, (EC_GROUP_GREETINGS << 9) | 0x22
- .set EC_WORD_SMELL, (EC_GROUP_GREETINGS << 9) | 0x23
- .set EC_WORD_LISTENING, (EC_GROUP_GREETINGS << 9) | 0x24
- .set EC_WORD_HOO_HAH, (EC_GROUP_GREETINGS << 9) | 0x25
- .set EC_WORD_YAHOO, (EC_GROUP_GREETINGS << 9) | 0x26
- .set EC_WORD_YO, (EC_GROUP_GREETINGS << 9) | 0x27
- .set EC_WORD_COME_OVER, (EC_GROUP_GREETINGS << 9) | 0x28
- .set EC_WORD_COUNT_ON, (EC_GROUP_GREETINGS << 9) | 0x29
-
-@ People
- .set EC_WORD_OPPONENT, (EC_GROUP_PEOPLE << 9) | 0x0
- .set EC_WORD_I, (EC_GROUP_PEOPLE << 9) | 0x1
- .set EC_WORD_YOU, (EC_GROUP_PEOPLE << 9) | 0x2
- .set EC_WORD_YOURS, (EC_GROUP_PEOPLE << 9) | 0x3
- .set EC_WORD_SON, (EC_GROUP_PEOPLE << 9) | 0x4
- .set EC_WORD_YOUR, (EC_GROUP_PEOPLE << 9) | 0x5
- .set EC_WORD_YOU_RE, (EC_GROUP_PEOPLE << 9) | 0x6
- .set EC_WORD_YOU_VE, (EC_GROUP_PEOPLE << 9) | 0x7
- .set EC_WORD_MOTHER, (EC_GROUP_PEOPLE << 9) | 0x8
- .set EC_WORD_GRANDFATHER, (EC_GROUP_PEOPLE << 9) | 0x9
- .set EC_WORD_UNCLE, (EC_GROUP_PEOPLE << 9) | 0xa
- .set EC_WORD_FATHER, (EC_GROUP_PEOPLE << 9) | 0xb
- .set EC_WORD_BOY, (EC_GROUP_PEOPLE << 9) | 0xc
- .set EC_WORD_ADULT, (EC_GROUP_PEOPLE << 9) | 0xd
- .set EC_WORD_BROTHER, (EC_GROUP_PEOPLE << 9) | 0xe
- .set EC_WORD_SISTER, (EC_GROUP_PEOPLE << 9) | 0xf
- .set EC_WORD_GRANDMOTHER, (EC_GROUP_PEOPLE << 9) | 0x10
- .set EC_WORD_AUNT, (EC_GROUP_PEOPLE << 9) | 0x11
- .set EC_WORD_PARENT, (EC_GROUP_PEOPLE << 9) | 0x12
- .set EC_WORD_MAN, (EC_GROUP_PEOPLE << 9) | 0x13
- .set EC_WORD_ME, (EC_GROUP_PEOPLE << 9) | 0x14
- .set EC_WORD_GIRL, (EC_GROUP_PEOPLE << 9) | 0x15
- .set EC_WORD_BABE, (EC_GROUP_PEOPLE << 9) | 0x16
- .set EC_WORD_FAMILY, (EC_GROUP_PEOPLE << 9) | 0x17
- .set EC_WORD_HER, (EC_GROUP_PEOPLE << 9) | 0x18
- .set EC_WORD_HIM, (EC_GROUP_PEOPLE << 9) | 0x19
- .set EC_WORD_HE, (EC_GROUP_PEOPLE << 9) | 0x1a
- .set EC_WORD_PLACE, (EC_GROUP_PEOPLE << 9) | 0x1b
- .set EC_WORD_DAUGHTER, (EC_GROUP_PEOPLE << 9) | 0x1c
- .set EC_WORD_HIS, (EC_GROUP_PEOPLE << 9) | 0x1d
- .set EC_WORD_HE_S, (EC_GROUP_PEOPLE << 9) | 0x1e
- .set EC_WORD_AREN_T, (EC_GROUP_PEOPLE << 9) | 0x1f
- .set EC_WORD_SIBLINGS, (EC_GROUP_PEOPLE << 9) | 0x20
- .set EC_WORD_KID, (EC_GROUP_PEOPLE << 9) | 0x21
- .set EC_WORD_CHILDREN, (EC_GROUP_PEOPLE << 9) | 0x22
- .set EC_WORD_MR, (EC_GROUP_PEOPLE << 9) | 0x23
- .set EC_WORD_MRS, (EC_GROUP_PEOPLE << 9) | 0x24
- .set EC_WORD_MYSELF, (EC_GROUP_PEOPLE << 9) | 0x25
- .set EC_WORD_I_WAS, (EC_GROUP_PEOPLE << 9) | 0x26
- .set EC_WORD_TO_ME, (EC_GROUP_PEOPLE << 9) | 0x27
- .set EC_WORD_MY, (EC_GROUP_PEOPLE << 9) | 0x28
- .set EC_WORD_I_AM, (EC_GROUP_PEOPLE << 9) | 0x29
- .set EC_WORD_I_VE, (EC_GROUP_PEOPLE << 9) | 0x2a
- .set EC_WORD_WHO, (EC_GROUP_PEOPLE << 9) | 0x2b
- .set EC_WORD_SOMEONE, (EC_GROUP_PEOPLE << 9) | 0x2c
- .set EC_WORD_WHO_WAS, (EC_GROUP_PEOPLE << 9) | 0x2d
- .set EC_WORD_TO_WHOM, (EC_GROUP_PEOPLE << 9) | 0x2e
- .set EC_WORD_WHOSE, (EC_GROUP_PEOPLE << 9) | 0x2f
- .set EC_WORD_WHO_IS, (EC_GROUP_PEOPLE << 9) | 0x30
- .set EC_WORD_IT_S, (EC_GROUP_PEOPLE << 9) | 0x31
- .set EC_WORD_LADY, (EC_GROUP_PEOPLE << 9) | 0x32
- .set EC_WORD_FRIEND, (EC_GROUP_PEOPLE << 9) | 0x33
- .set EC_WORD_ALLY, (EC_GROUP_PEOPLE << 9) | 0x34
- .set EC_WORD_PERSON, (EC_GROUP_PEOPLE << 9) | 0x35
- .set EC_WORD_DUDE, (EC_GROUP_PEOPLE << 9) | 0x36
- .set EC_WORD_THEY, (EC_GROUP_PEOPLE << 9) | 0x37
- .set EC_WORD_THEY_WERE, (EC_GROUP_PEOPLE << 9) | 0x38
- .set EC_WORD_TO_THEM, (EC_GROUP_PEOPLE << 9) | 0x39
- .set EC_WORD_THEIR, (EC_GROUP_PEOPLE << 9) | 0x3a
- .set EC_WORD_THEY_RE, (EC_GROUP_PEOPLE << 9) | 0x3b
- .set EC_WORD_THEY_VE, (EC_GROUP_PEOPLE << 9) | 0x3c
- .set EC_WORD_WE, (EC_GROUP_PEOPLE << 9) | 0x3d
- .set EC_WORD_BEEN, (EC_GROUP_PEOPLE << 9) | 0x3e
- .set EC_WORD_TO_US, (EC_GROUP_PEOPLE << 9) | 0x3f
- .set EC_WORD_OUR, (EC_GROUP_PEOPLE << 9) | 0x40
- .set EC_WORD_WE_RE, (EC_GROUP_PEOPLE << 9) | 0x41
- .set EC_WORD_RIVAL, (EC_GROUP_PEOPLE << 9) | 0x42
- .set EC_WORD_WE_VE, (EC_GROUP_PEOPLE << 9) | 0x43
- .set EC_WORD_WOMAN, (EC_GROUP_PEOPLE << 9) | 0x44
- .set EC_WORD_SHE, (EC_GROUP_PEOPLE << 9) | 0x45
- .set EC_WORD_SHE_WAS, (EC_GROUP_PEOPLE << 9) | 0x46
- .set EC_WORD_TO_HER, (EC_GROUP_PEOPLE << 9) | 0x47
- .set EC_WORD_HERS, (EC_GROUP_PEOPLE << 9) | 0x48
- .set EC_WORD_SHE_IS, (EC_GROUP_PEOPLE << 9) | 0x49
- .set EC_WORD_SOME, (EC_GROUP_PEOPLE << 9) | 0x4a
-
-@ Voices
- .set EC_WORD_EXCL, (EC_GROUP_VOICES << 9) | 0x0
- .set EC_WORD_EXCL_EXCL, (EC_GROUP_VOICES << 9) | 0x1
- .set EC_WORD_QUES_EXCL, (EC_GROUP_VOICES << 9) | 0x2
- .set EC_WORD_QUES, (EC_GROUP_VOICES << 9) | 0x3
- .set EC_WORD_ELLIPSIS, (EC_GROUP_VOICES << 9) | 0x4
- .set EC_WORD_ELLIPSIS_EXCL, (EC_GROUP_VOICES << 9) | 0x5
- .set EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, (EC_GROUP_VOICES << 9) | 0x6
- .set EC_WORD_DASH, (EC_GROUP_VOICES << 9) | 0x7
- .set EC_WORD_DASH_DASH_DASH, (EC_GROUP_VOICES << 9) | 0x8
- .set EC_WORD_UH_OH, (EC_GROUP_VOICES << 9) | 0x9
- .set EC_WORD_WAAAH, (EC_GROUP_VOICES << 9) | 0xa
- .set EC_WORD_AHAHA, (EC_GROUP_VOICES << 9) | 0xb
- .set EC_WORD_OH_QUES, (EC_GROUP_VOICES << 9) | 0xc
- .set EC_WORD_NOPE, (EC_GROUP_VOICES << 9) | 0xd
- .set EC_WORD_URGH, (EC_GROUP_VOICES << 9) | 0xe
- .set EC_WORD_HMM, (EC_GROUP_VOICES << 9) | 0xf
- .set EC_WORD_WHOAH, (EC_GROUP_VOICES << 9) | 0x10
- .set EC_WORD_WROOOAAR_EXCL, (EC_GROUP_VOICES << 9) | 0x11
- .set EC_WORD_WOW, (EC_GROUP_VOICES << 9) | 0x12
- .set EC_WORD_GIGGLE, (EC_GROUP_VOICES << 9) | 0x13
- .set EC_WORD_SIGH, (EC_GROUP_VOICES << 9) | 0x14
- .set EC_WORD_UNBELIEVABLE, (EC_GROUP_VOICES << 9) | 0x15
- .set EC_WORD_CRIES, (EC_GROUP_VOICES << 9) | 0x16
- .set EC_WORD_AGREE, (EC_GROUP_VOICES << 9) | 0x17
- .set EC_WORD_EH_QUES, (EC_GROUP_VOICES << 9) | 0x18
- .set EC_WORD_CRY, (EC_GROUP_VOICES << 9) | 0x19
- .set EC_WORD_EHEHE, (EC_GROUP_VOICES << 9) | 0x1a
- .set EC_WORD_OI_OI_OI, (EC_GROUP_VOICES << 9) | 0x1b
- .set EC_WORD_OH_YEAH, (EC_GROUP_VOICES << 9) | 0x1c
- .set EC_WORD_OH, (EC_GROUP_VOICES << 9) | 0x1d
- .set EC_WORD_OOPS, (EC_GROUP_VOICES << 9) | 0x1e
- .set EC_WORD_SHOCKED, (EC_GROUP_VOICES << 9) | 0x1f
- .set EC_WORD_EEK, (EC_GROUP_VOICES << 9) | 0x20
- .set EC_WORD_GRAAAH, (EC_GROUP_VOICES << 9) | 0x21
- .set EC_WORD_GWAHAHAHA, (EC_GROUP_VOICES << 9) | 0x22
- .set EC_WORD_WAY, (EC_GROUP_VOICES << 9) | 0x23
- .set EC_WORD_TCH, (EC_GROUP_VOICES << 9) | 0x24
- .set EC_WORD_HEHE, (EC_GROUP_VOICES << 9) | 0x25
- .set EC_WORD_HAH, (EC_GROUP_VOICES << 9) | 0x26
- .set EC_WORD_YUP, (EC_GROUP_VOICES << 9) | 0x27
- .set EC_WORD_HAHAHA, (EC_GROUP_VOICES << 9) | 0x28
- .set EC_WORD_AIYEEH, (EC_GROUP_VOICES << 9) | 0x29
- .set EC_WORD_HIYAH, (EC_GROUP_VOICES << 9) | 0x2a
- .set EC_WORD_FUFUFU, (EC_GROUP_VOICES << 9) | 0x2b
- .set EC_WORD_LOL, (EC_GROUP_VOICES << 9) | 0x2c
- .set EC_WORD_SNORT, (EC_GROUP_VOICES << 9) | 0x2d
- .set EC_WORD_HUMPH, (EC_GROUP_VOICES << 9) | 0x2e
- .set EC_WORD_HEHEHE, (EC_GROUP_VOICES << 9) | 0x2f
- .set EC_WORD_HEH, (EC_GROUP_VOICES << 9) | 0x30
- .set EC_WORD_HOHOHO, (EC_GROUP_VOICES << 9) | 0x31
- .set EC_WORD_UH_HUH, (EC_GROUP_VOICES << 9) | 0x32
- .set EC_WORD_OH_DEAR, (EC_GROUP_VOICES << 9) | 0x33
- .set EC_WORD_ARRGH, (EC_GROUP_VOICES << 9) | 0x34
- .set EC_WORD_MUFUFU, (EC_GROUP_VOICES << 9) | 0x35
- .set EC_WORD_MMM, (EC_GROUP_VOICES << 9) | 0x36
- .set EC_WORD_OH_KAY, (EC_GROUP_VOICES << 9) | 0x37
- .set EC_WORD_OKAY, (EC_GROUP_VOICES << 9) | 0x38
- .set EC_WORD_LALALA, (EC_GROUP_VOICES << 9) | 0x39
- .set EC_WORD_YAY, (EC_GROUP_VOICES << 9) | 0x3a
- .set EC_WORD_AWW, (EC_GROUP_VOICES << 9) | 0x3b
- .set EC_WORD_WOWEE, (EC_GROUP_VOICES << 9) | 0x3c
- .set EC_WORD_GWAH, (EC_GROUP_VOICES << 9) | 0x3d
- .set EC_WORD_WAHAHAHA, (EC_GROUP_VOICES << 9) | 0x3e
-
-@ Speech
- .set EC_WORD_LISTEN, (EC_GROUP_SPEECH << 9) | 0x0
- .set EC_WORD_NOT_VERY, (EC_GROUP_SPEECH << 9) | 0x1
- .set EC_WORD_MEAN, (EC_GROUP_SPEECH << 9) | 0x2
- .set EC_WORD_LIE, (EC_GROUP_SPEECH << 9) | 0x3
- .set EC_WORD_LAY, (EC_GROUP_SPEECH << 9) | 0x4
- .set EC_WORD_RECOMMEND, (EC_GROUP_SPEECH << 9) | 0x5
- .set EC_WORD_NITWIT, (EC_GROUP_SPEECH << 9) | 0x6
- .set EC_WORD_QUITE, (EC_GROUP_SPEECH << 9) | 0x7
- .set EC_WORD_FROM, (EC_GROUP_SPEECH << 9) | 0x8
- .set EC_WORD_FEELING, (EC_GROUP_SPEECH << 9) | 0x9
- .set EC_WORD_BUT, (EC_GROUP_SPEECH << 9) | 0xa
- .set EC_WORD_HOWEVER, (EC_GROUP_SPEECH << 9) | 0xb
- .set EC_WORD_CASE, (EC_GROUP_SPEECH << 9) | 0xc
- .set EC_WORD_THE, (EC_GROUP_SPEECH << 9) | 0xd
- .set EC_WORD_MISS, (EC_GROUP_SPEECH << 9) | 0xe
- .set EC_WORD_HOW, (EC_GROUP_SPEECH << 9) | 0xf
- .set EC_WORD_HIT, (EC_GROUP_SPEECH << 9) | 0x10
- .set EC_WORD_ENOUGH, (EC_GROUP_SPEECH << 9) | 0x11
- .set EC_WORD_A_LOT, (EC_GROUP_SPEECH << 9) | 0x12
- .set EC_WORD_A_LITTLE, (EC_GROUP_SPEECH << 9) | 0x13
- .set EC_WORD_ABSOLUTELY, (EC_GROUP_SPEECH << 9) | 0x14
- .set EC_WORD_AND, (EC_GROUP_SPEECH << 9) | 0x15
- .set EC_WORD_ONLY, (EC_GROUP_SPEECH << 9) | 0x16
- .set EC_WORD_AROUND, (EC_GROUP_SPEECH << 9) | 0x17
- .set EC_WORD_PROBABLY, (EC_GROUP_SPEECH << 9) | 0x18
- .set EC_WORD_IF, (EC_GROUP_SPEECH << 9) | 0x19
- .set EC_WORD_VERY, (EC_GROUP_SPEECH << 9) | 0x1a
- .set EC_WORD_A_TINY_BIT, (EC_GROUP_SPEECH << 9) | 0x1b
- .set EC_WORD_WILD, (EC_GROUP_SPEECH << 9) | 0x1c
- .set EC_WORD_THAT_S, (EC_GROUP_SPEECH << 9) | 0x1d
- .set EC_WORD_JUST, (EC_GROUP_SPEECH << 9) | 0x1e
- .set EC_WORD_EVEN_SO, (EC_GROUP_SPEECH << 9) | 0x1f
- .set EC_WORD_MUST_BE, (EC_GROUP_SPEECH << 9) | 0x20
- .set EC_WORD_NATURALLY, (EC_GROUP_SPEECH << 9) | 0x21
- .set EC_WORD_FOR_NOW, (EC_GROUP_SPEECH << 9) | 0x22
- .set EC_WORD_UNDERSTOOD, (EC_GROUP_SPEECH << 9) | 0x23
- .set EC_WORD_JOKING, (EC_GROUP_SPEECH << 9) | 0x24
- .set EC_WORD_READY, (EC_GROUP_SPEECH << 9) | 0x25
- .set EC_WORD_SOMETHING, (EC_GROUP_SPEECH << 9) | 0x26
- .set EC_WORD_SOMEHOW, (EC_GROUP_SPEECH << 9) | 0x27
- .set EC_WORD_ALTHOUGH, (EC_GROUP_SPEECH << 9) | 0x28
- .set EC_WORD_ALSO, (EC_GROUP_SPEECH << 9) | 0x29
- .set EC_WORD_PERFECT, (EC_GROUP_SPEECH << 9) | 0x2a
- .set EC_WORD_AS_MUCH_AS, (EC_GROUP_SPEECH << 9) | 0x2b
- .set EC_WORD_REALLY, (EC_GROUP_SPEECH << 9) | 0x2c
- .set EC_WORD_TRULY, (EC_GROUP_SPEECH << 9) | 0x2d
- .set EC_WORD_SERIOUSLY, (EC_GROUP_SPEECH << 9) | 0x2e
- .set EC_WORD_TOTALLY, (EC_GROUP_SPEECH << 9) | 0x2f
- .set EC_WORD_UNTIL, (EC_GROUP_SPEECH << 9) | 0x30
- .set EC_WORD_AS_IF, (EC_GROUP_SPEECH << 9) | 0x31
- .set EC_WORD_MOOD, (EC_GROUP_SPEECH << 9) | 0x32
- .set EC_WORD_RATHER, (EC_GROUP_SPEECH << 9) | 0x33
- .set EC_WORD_AWFULLY, (EC_GROUP_SPEECH << 9) | 0x34
- .set EC_WORD_MODE, (EC_GROUP_SPEECH << 9) | 0x35
- .set EC_WORD_MORE, (EC_GROUP_SPEECH << 9) | 0x36
- .set EC_WORD_TOO_LATE, (EC_GROUP_SPEECH << 9) | 0x37
- .set EC_WORD_FINALLY, (EC_GROUP_SPEECH << 9) | 0x38
- .set EC_WORD_ANY, (EC_GROUP_SPEECH << 9) | 0x39
- .set EC_WORD_INSTEAD, (EC_GROUP_SPEECH << 9) | 0x3a
- .set EC_WORD_FANTASTIC, (EC_GROUP_SPEECH << 9) | 0x3b
-
-@ Endings
- .set EC_WORD_WILL, (EC_GROUP_ENDINGS << 9) | 0x0
- .set EC_WORD_WILL_BE_HERE, (EC_GROUP_ENDINGS << 9) | 0x1
- .set EC_WORD_OR, (EC_GROUP_ENDINGS << 9) | 0x2
- .set EC_WORD_TIMES, (EC_GROUP_ENDINGS << 9) | 0x3
- .set EC_WORD_WONDER, (EC_GROUP_ENDINGS << 9) | 0x4
- .set EC_WORD_IS_IT_QUES, (EC_GROUP_ENDINGS << 9) | 0x5
- .set EC_WORD_BE, (EC_GROUP_ENDINGS << 9) | 0x6
- .set EC_WORD_GIMME, (EC_GROUP_ENDINGS << 9) | 0x7
- .set EC_WORD_COULD, (EC_GROUP_ENDINGS << 9) | 0x8
- .set EC_WORD_LIKELY_TO, (EC_GROUP_ENDINGS << 9) | 0x9
- .set EC_WORD_WOULD, (EC_GROUP_ENDINGS << 9) | 0xa
- .set EC_WORD_IS, (EC_GROUP_ENDINGS << 9) | 0xb
- .set EC_WORD_ISN_T_IT_QUES, (EC_GROUP_ENDINGS << 9) | 0xc
- .set EC_WORD_LET_S, (EC_GROUP_ENDINGS << 9) | 0xd
- .set EC_WORD_OTHER, (EC_GROUP_ENDINGS << 9) | 0xe
- .set EC_WORD_ARE, (EC_GROUP_ENDINGS << 9) | 0xf
- .set EC_WORD_WAS, (EC_GROUP_ENDINGS << 9) | 0x10
- .set EC_WORD_WERE, (EC_GROUP_ENDINGS << 9) | 0x11
- .set EC_WORD_THOSE, (EC_GROUP_ENDINGS << 9) | 0x12
- .set EC_WORD_ISN_T, (EC_GROUP_ENDINGS << 9) | 0x13
- .set EC_WORD_WON_T, (EC_GROUP_ENDINGS << 9) | 0x14
- .set EC_WORD_CAN_T, (EC_GROUP_ENDINGS << 9) | 0x15
- .set EC_WORD_CAN, (EC_GROUP_ENDINGS << 9) | 0x16
- .set EC_WORD_DON_T, (EC_GROUP_ENDINGS << 9) | 0x17
- .set EC_WORD_DO, (EC_GROUP_ENDINGS << 9) | 0x18
- .set EC_WORD_DOES, (EC_GROUP_ENDINGS << 9) | 0x19
- .set EC_WORD_WHOM, (EC_GROUP_ENDINGS << 9) | 0x1a
- .set EC_WORD_WHICH, (EC_GROUP_ENDINGS << 9) | 0x1b
- .set EC_WORD_WASN_T, (EC_GROUP_ENDINGS << 9) | 0x1c
- .set EC_WORD_WEREN_T, (EC_GROUP_ENDINGS << 9) | 0x1d
- .set EC_WORD_HAVE, (EC_GROUP_ENDINGS << 9) | 0x1e
- .set EC_WORD_HAVEN_T, (EC_GROUP_ENDINGS << 9) | 0x1f
- .set EC_WORD_A, (EC_GROUP_ENDINGS << 9) | 0x20
- .set EC_WORD_AN, (EC_GROUP_ENDINGS << 9) | 0x21
- .set EC_WORD_NOT, (EC_GROUP_ENDINGS << 9) | 0x22
- .set EC_WORD_THERE, (EC_GROUP_ENDINGS << 9) | 0x23
- .set EC_WORD_OK_QUES, (EC_GROUP_ENDINGS << 9) | 0x24
- .set EC_WORD_SO, (EC_GROUP_ENDINGS << 9) | 0x25
- .set EC_WORD_MAYBE, (EC_GROUP_ENDINGS << 9) | 0x26
- .set EC_WORD_ABOUT, (EC_GROUP_ENDINGS << 9) | 0x27
- .set EC_WORD_OVER, (EC_GROUP_ENDINGS << 9) | 0x28
- .set EC_WORD_IT, (EC_GROUP_ENDINGS << 9) | 0x29
- .set EC_WORD_ALL, (EC_GROUP_ENDINGS << 9) | 0x2a
- .set EC_WORD_FOR, (EC_GROUP_ENDINGS << 9) | 0x2b
- .set EC_WORD_ON, (EC_GROUP_ENDINGS << 9) | 0x2c
- .set EC_WORD_OFF, (EC_GROUP_ENDINGS << 9) | 0x2d
- .set EC_WORD_AS, (EC_GROUP_ENDINGS << 9) | 0x2e
- .set EC_WORD_TO, (EC_GROUP_ENDINGS << 9) | 0x2f
- .set EC_WORD_WITH, (EC_GROUP_ENDINGS << 9) | 0x30
- .set EC_WORD_BETTER, (EC_GROUP_ENDINGS << 9) | 0x31
- .set EC_WORD_EVER, (EC_GROUP_ENDINGS << 9) | 0x32
- .set EC_WORD_SINCE, (EC_GROUP_ENDINGS << 9) | 0x33
- .set EC_WORD_OF, (EC_GROUP_ENDINGS << 9) | 0x34
- .set EC_WORD_BELONGS_TO, (EC_GROUP_ENDINGS << 9) | 0x35
- .set EC_WORD_AT, (EC_GROUP_ENDINGS << 9) | 0x36
- .set EC_WORD_IN, (EC_GROUP_ENDINGS << 9) | 0x37
- .set EC_WORD_OUT, (EC_GROUP_ENDINGS << 9) | 0x38
- .set EC_WORD_TOO, (EC_GROUP_ENDINGS << 9) | 0x39
- .set EC_WORD_LIKE, (EC_GROUP_ENDINGS << 9) | 0x3a
- .set EC_WORD_DID, (EC_GROUP_ENDINGS << 9) | 0x3b
- .set EC_WORD_DIDN_T, (EC_GROUP_ENDINGS << 9) | 0x3c
- .set EC_WORD_DOESN_T, (EC_GROUP_ENDINGS << 9) | 0x3d
- .set EC_WORD_WITHOUT, (EC_GROUP_ENDINGS << 9) | 0x3e
- .set EC_WORD_AFTER, (EC_GROUP_ENDINGS << 9) | 0x3f
- .set EC_WORD_BEFORE, (EC_GROUP_ENDINGS << 9) | 0x40
- .set EC_WORD_WHILE, (EC_GROUP_ENDINGS << 9) | 0x41
- .set EC_WORD_THAN, (EC_GROUP_ENDINGS << 9) | 0x42
- .set EC_WORD_ONCE, (EC_GROUP_ENDINGS << 9) | 0x43
- .set EC_WORD_ANYWHERE, (EC_GROUP_ENDINGS << 9) | 0x44
-
-@ Feelings
- .set EC_WORD_MEET, (EC_GROUP_FEELINGS << 9) | 0x0
- .set EC_WORD_PLAY, (EC_GROUP_FEELINGS << 9) | 0x1
- .set EC_WORD_HURRIED, (EC_GROUP_FEELINGS << 9) | 0x2
- .set EC_WORD_GOES, (EC_GROUP_FEELINGS << 9) | 0x3
- .set EC_WORD_GIDDY, (EC_GROUP_FEELINGS << 9) | 0x4
- .set EC_WORD_HAPPY, (EC_GROUP_FEELINGS << 9) | 0x5
- .set EC_WORD_HAPPINESS, (EC_GROUP_FEELINGS << 9) | 0x6
- .set EC_WORD_EXCITE, (EC_GROUP_FEELINGS << 9) | 0x7
- .set EC_WORD_IMPORTANT, (EC_GROUP_FEELINGS << 9) | 0x8
- .set EC_WORD_FUNNY, (EC_GROUP_FEELINGS << 9) | 0x9
- .set EC_WORD_GOT, (EC_GROUP_FEELINGS << 9) | 0xa
- .set EC_WORD_GO_HOME, (EC_GROUP_FEELINGS << 9) | 0xb
- .set EC_WORD_DISAPPOINTED, (EC_GROUP_FEELINGS << 9) | 0xc
- .set EC_WORD_DISAPPOINTS, (EC_GROUP_FEELINGS << 9) | 0xd
- .set EC_WORD_SAD, (EC_GROUP_FEELINGS << 9) | 0xe
- .set EC_WORD_TRY, (EC_GROUP_FEELINGS << 9) | 0xf
- .set EC_WORD_TRIES, (EC_GROUP_FEELINGS << 9) | 0x10
- .set EC_WORD_HEARS, (EC_GROUP_FEELINGS << 9) | 0x11
- .set EC_WORD_THINK, (EC_GROUP_FEELINGS << 9) | 0x12
- .set EC_WORD_HEAR, (EC_GROUP_FEELINGS << 9) | 0x13
- .set EC_WORD_WANTS, (EC_GROUP_FEELINGS << 9) | 0x14
- .set EC_WORD_MISHEARD, (EC_GROUP_FEELINGS << 9) | 0x15
- .set EC_WORD_DISLIKE, (EC_GROUP_FEELINGS << 9) | 0x16
- .set EC_WORD_ANGRY, (EC_GROUP_FEELINGS << 9) | 0x17
- .set EC_WORD_ANGER, (EC_GROUP_FEELINGS << 9) | 0x18
- .set EC_WORD_SCARY, (EC_GROUP_FEELINGS << 9) | 0x19
- .set EC_WORD_LONESOME, (EC_GROUP_FEELINGS << 9) | 0x1a
- .set EC_WORD_DISAPPOINT, (EC_GROUP_FEELINGS << 9) | 0x1b
- .set EC_WORD_JOY, (EC_GROUP_FEELINGS << 9) | 0x1c
- .set EC_WORD_GETS, (EC_GROUP_FEELINGS << 9) | 0x1d
- .set EC_WORD_NEVER, (EC_GROUP_FEELINGS << 9) | 0x1e
- .set EC_WORD_DARN, (EC_GROUP_FEELINGS << 9) | 0x1f
- .set EC_WORD_DOWNCAST, (EC_GROUP_FEELINGS << 9) | 0x20
- .set EC_WORD_INCREDIBLE, (EC_GROUP_FEELINGS << 9) | 0x21
- .set EC_WORD_LIKES, (EC_GROUP_FEELINGS << 9) | 0x22
- .set EC_WORD_DISLIKES, (EC_GROUP_FEELINGS << 9) | 0x23
- .set EC_WORD_BORING, (EC_GROUP_FEELINGS << 9) | 0x24
- .set EC_WORD_CARE, (EC_GROUP_FEELINGS << 9) | 0x25
- .set EC_WORD_CARES, (EC_GROUP_FEELINGS << 9) | 0x26
- .set EC_WORD_ALL_RIGHT, (EC_GROUP_FEELINGS << 9) | 0x27
- .set EC_WORD_ADORE, (EC_GROUP_FEELINGS << 9) | 0x28
- .set EC_WORD_DISASTER, (EC_GROUP_FEELINGS << 9) | 0x29
- .set EC_WORD_ENJOY, (EC_GROUP_FEELINGS << 9) | 0x2a
- .set EC_WORD_ENJOYS, (EC_GROUP_FEELINGS << 9) | 0x2b
- .set EC_WORD_EAT, (EC_GROUP_FEELINGS << 9) | 0x2c
- .set EC_WORD_LACKING, (EC_GROUP_FEELINGS << 9) | 0x2d
- .set EC_WORD_BAD, (EC_GROUP_FEELINGS << 9) | 0x2e
- .set EC_WORD_HARD, (EC_GROUP_FEELINGS << 9) | 0x2f
- .set EC_WORD_TERRIBLE, (EC_GROUP_FEELINGS << 9) | 0x30
- .set EC_WORD_SHOULD, (EC_GROUP_FEELINGS << 9) | 0x31
- .set EC_WORD_NICE, (EC_GROUP_FEELINGS << 9) | 0x32
- .set EC_WORD_DRINK, (EC_GROUP_FEELINGS << 9) | 0x33
- .set EC_WORD_SURPRISE, (EC_GROUP_FEELINGS << 9) | 0x34
- .set EC_WORD_FEAR, (EC_GROUP_FEELINGS << 9) | 0x35
- .set EC_WORD_WANT, (EC_GROUP_FEELINGS << 9) | 0x36
- .set EC_WORD_WAIT, (EC_GROUP_FEELINGS << 9) | 0x37
- .set EC_WORD_SATISFIED, (EC_GROUP_FEELINGS << 9) | 0x38
- .set EC_WORD_SEE, (EC_GROUP_FEELINGS << 9) | 0x39
- .set EC_WORD_RARE, (EC_GROUP_FEELINGS << 9) | 0x3a
- .set EC_WORD_NEGATIVE, (EC_GROUP_FEELINGS << 9) | 0x3b
- .set EC_WORD_DONE, (EC_GROUP_FEELINGS << 9) | 0x3c
- .set EC_WORD_DANGER, (EC_GROUP_FEELINGS << 9) | 0x3d
- .set EC_WORD_DEFEATED, (EC_GROUP_FEELINGS << 9) | 0x3e
- .set EC_WORD_BEAT, (EC_GROUP_FEELINGS << 9) | 0x3f
- .set EC_WORD_GREAT, (EC_GROUP_FEELINGS << 9) | 0x40
- .set EC_WORD_ROMANTIC, (EC_GROUP_FEELINGS << 9) | 0x41
- .set EC_WORD_QUESTION, (EC_GROUP_FEELINGS << 9) | 0x42
- .set EC_WORD_UNDERSTAND, (EC_GROUP_FEELINGS << 9) | 0x43
- .set EC_WORD_UNDERSTANDS, (EC_GROUP_FEELINGS << 9) | 0x44
-
-@ Conditions
- .set EC_WORD_HOT, (EC_GROUP_CONDITIONS << 9) | 0x0
- .set EC_WORD_EXISTS, (EC_GROUP_CONDITIONS << 9) | 0x1
- .set EC_WORD_EXCESS, (EC_GROUP_CONDITIONS << 9) | 0x2
- .set EC_WORD_APPROVED, (EC_GROUP_CONDITIONS << 9) | 0x3
- .set EC_WORD_HAS, (EC_GROUP_CONDITIONS << 9) | 0x4
- .set EC_WORD_GOOD, (EC_GROUP_CONDITIONS << 9) | 0x5
- .set EC_WORD_LESS, (EC_GROUP_CONDITIONS << 9) | 0x6
- .set EC_WORD_MOMENTUM, (EC_GROUP_CONDITIONS << 9) | 0x7
- .set EC_WORD_GOING, (EC_GROUP_CONDITIONS << 9) | 0x8
- .set EC_WORD_WEIRD, (EC_GROUP_CONDITIONS << 9) | 0x9
- .set EC_WORD_BUSY, (EC_GROUP_CONDITIONS << 9) | 0xa
- .set EC_WORD_TOGETHER, (EC_GROUP_CONDITIONS << 9) | 0xb
- .set EC_WORD_FULL, (EC_GROUP_CONDITIONS << 9) | 0xc
- .set EC_WORD_ABSENT, (EC_GROUP_CONDITIONS << 9) | 0xd
- .set EC_WORD_BEING, (EC_GROUP_CONDITIONS << 9) | 0xe
- .set EC_WORD_NEED, (EC_GROUP_CONDITIONS << 9) | 0xf
- .set EC_WORD_TASTY, (EC_GROUP_CONDITIONS << 9) | 0x10
- .set EC_WORD_SKILLED, (EC_GROUP_CONDITIONS << 9) | 0x11
- .set EC_WORD_NOISY, (EC_GROUP_CONDITIONS << 9) | 0x12
- .set EC_WORD_BIG, (EC_GROUP_CONDITIONS << 9) | 0x13
- .set EC_WORD_LATE, (EC_GROUP_CONDITIONS << 9) | 0x14
- .set EC_WORD_CLOSE, (EC_GROUP_CONDITIONS << 9) | 0x15
- .set EC_WORD_DOCILE, (EC_GROUP_CONDITIONS << 9) | 0x16
- .set EC_WORD_AMUSING, (EC_GROUP_CONDITIONS << 9) | 0x17
- .set EC_WORD_ENTERTAINING, (EC_GROUP_CONDITIONS << 9) | 0x18
- .set EC_WORD_PERFECTION, (EC_GROUP_CONDITIONS << 9) | 0x19
- .set EC_WORD_PRETTY, (EC_GROUP_CONDITIONS << 9) | 0x1a
- .set EC_WORD_HEALTHY, (EC_GROUP_CONDITIONS << 9) | 0x1b
- .set EC_WORD_EXCELLENT, (EC_GROUP_CONDITIONS << 9) | 0x1c
- .set EC_WORD_UPSIDE_DOWN, (EC_GROUP_CONDITIONS << 9) | 0x1d
- .set EC_WORD_COLD, (EC_GROUP_CONDITIONS << 9) | 0x1e
- .set EC_WORD_REFRESHING, (EC_GROUP_CONDITIONS << 9) | 0x1f
- .set EC_WORD_UNAVOIDABLE, (EC_GROUP_CONDITIONS << 9) | 0x20
- .set EC_WORD_MUCH, (EC_GROUP_CONDITIONS << 9) | 0x21
- .set EC_WORD_OVERWHELMING, (EC_GROUP_CONDITIONS << 9) | 0x22
- .set EC_WORD_FABULOUS, (EC_GROUP_CONDITIONS << 9) | 0x23
- .set EC_WORD_ELSE, (EC_GROUP_CONDITIONS << 9) | 0x24
- .set EC_WORD_EXPENSIVE, (EC_GROUP_CONDITIONS << 9) | 0x25
- .set EC_WORD_CORRECT, (EC_GROUP_CONDITIONS << 9) | 0x26
- .set EC_WORD_IMPOSSIBLE, (EC_GROUP_CONDITIONS << 9) | 0x27
- .set EC_WORD_SMALL, (EC_GROUP_CONDITIONS << 9) | 0x28
- .set EC_WORD_DIFFERENT, (EC_GROUP_CONDITIONS << 9) | 0x29
- .set EC_WORD_TIRED, (EC_GROUP_CONDITIONS << 9) | 0x2a
- .set EC_WORD_SKILL, (EC_GROUP_CONDITIONS << 9) | 0x2b
- .set EC_WORD_TOP, (EC_GROUP_CONDITIONS << 9) | 0x2c
- .set EC_WORD_NON_STOP, (EC_GROUP_CONDITIONS << 9) | 0x2d
- .set EC_WORD_PREPOSTEROUS, (EC_GROUP_CONDITIONS << 9) | 0x2e
- .set EC_WORD_NONE, (EC_GROUP_CONDITIONS << 9) | 0x2f
- .set EC_WORD_NOTHING, (EC_GROUP_CONDITIONS << 9) | 0x30
- .set EC_WORD_NATURAL, (EC_GROUP_CONDITIONS << 9) | 0x31
- .set EC_WORD_BECOMES, (EC_GROUP_CONDITIONS << 9) | 0x32
- .set EC_WORD_LUKEWARM, (EC_GROUP_CONDITIONS << 9) | 0x33
- .set EC_WORD_FAST, (EC_GROUP_CONDITIONS << 9) | 0x34
- .set EC_WORD_LOW, (EC_GROUP_CONDITIONS << 9) | 0x35
- .set EC_WORD_AWFUL, (EC_GROUP_CONDITIONS << 9) | 0x36
- .set EC_WORD_ALONE, (EC_GROUP_CONDITIONS << 9) | 0x37
- .set EC_WORD_BORED, (EC_GROUP_CONDITIONS << 9) | 0x38
- .set EC_WORD_SECRET, (EC_GROUP_CONDITIONS << 9) | 0x39
- .set EC_WORD_MYSTERY, (EC_GROUP_CONDITIONS << 9) | 0x3a
- .set EC_WORD_LACKS, (EC_GROUP_CONDITIONS << 9) | 0x3b
- .set EC_WORD_BEST, (EC_GROUP_CONDITIONS << 9) | 0x3c
- .set EC_WORD_LOUSY, (EC_GROUP_CONDITIONS << 9) | 0x3d
- .set EC_WORD_MISTAKE, (EC_GROUP_CONDITIONS << 9) | 0x3e
- .set EC_WORD_KIND, (EC_GROUP_CONDITIONS << 9) | 0x3f
- .set EC_WORD_WELL, (EC_GROUP_CONDITIONS << 9) | 0x40
- .set EC_WORD_WEAKENED, (EC_GROUP_CONDITIONS << 9) | 0x41
- .set EC_WORD_SIMPLE, (EC_GROUP_CONDITIONS << 9) | 0x42
- .set EC_WORD_SEEMS, (EC_GROUP_CONDITIONS << 9) | 0x43
- .set EC_WORD_BADLY, (EC_GROUP_CONDITIONS << 9) | 0x44
-
-@ Actions
- .set EC_WORD_MEETS, (EC_GROUP_ACTIONS << 9) | 0x0
- .set EC_WORD_CONCEDE, (EC_GROUP_ACTIONS << 9) | 0x1
- .set EC_WORD_GIVE, (EC_GROUP_ACTIONS << 9) | 0x2
- .set EC_WORD_GIVES, (EC_GROUP_ACTIONS << 9) | 0x3
- .set EC_WORD_PLAYED, (EC_GROUP_ACTIONS << 9) | 0x4
- .set EC_WORD_PLAYS, (EC_GROUP_ACTIONS << 9) | 0x5
- .set EC_WORD_COLLECT, (EC_GROUP_ACTIONS << 9) | 0x6
- .set EC_WORD_WALKING, (EC_GROUP_ACTIONS << 9) | 0x7
- .set EC_WORD_WALKS, (EC_GROUP_ACTIONS << 9) | 0x8
- .set EC_WORD_SAYS, (EC_GROUP_ACTIONS << 9) | 0x9
- .set EC_WORD_WENT, (EC_GROUP_ACTIONS << 9) | 0xa
- .set EC_WORD_SAID, (EC_GROUP_ACTIONS << 9) | 0xb
- .set EC_WORD_WAKE_UP, (EC_GROUP_ACTIONS << 9) | 0xc
- .set EC_WORD_WAKES_UP, (EC_GROUP_ACTIONS << 9) | 0xd
- .set EC_WORD_ANGERS, (EC_GROUP_ACTIONS << 9) | 0xe
- .set EC_WORD_TEACH, (EC_GROUP_ACTIONS << 9) | 0xf
- .set EC_WORD_TEACHES, (EC_GROUP_ACTIONS << 9) | 0x10
- .set EC_WORD_PLEASE, (EC_GROUP_ACTIONS << 9) | 0x11
- .set EC_WORD_LEARN, (EC_GROUP_ACTIONS << 9) | 0x12
- .set EC_WORD_CHANGE, (EC_GROUP_ACTIONS << 9) | 0x13
- .set EC_WORD_STORY, (EC_GROUP_ACTIONS << 9) | 0x14
- .set EC_WORD_TRUST, (EC_GROUP_ACTIONS << 9) | 0x15
- .set EC_WORD_LAVISH, (EC_GROUP_ACTIONS << 9) | 0x16
- .set EC_WORD_LISTENS, (EC_GROUP_ACTIONS << 9) | 0x17
- .set EC_WORD_HEARING, (EC_GROUP_ACTIONS << 9) | 0x18
- .set EC_WORD_TRAINS, (EC_GROUP_ACTIONS << 9) | 0x19
- .set EC_WORD_CHOOSE, (EC_GROUP_ACTIONS << 9) | 0x1a
- .set EC_WORD_COME, (EC_GROUP_ACTIONS << 9) | 0x1b
- .set EC_WORD_CAME, (EC_GROUP_ACTIONS << 9) | 0x1c
- .set EC_WORD_SEARCH, (EC_GROUP_ACTIONS << 9) | 0x1d
- .set EC_WORD_MAKE, (EC_GROUP_ACTIONS << 9) | 0x1e
- .set EC_WORD_CAUSE, (EC_GROUP_ACTIONS << 9) | 0x1f
- .set EC_WORD_KNOW, (EC_GROUP_ACTIONS << 9) | 0x20
- .set EC_WORD_KNOWS, (EC_GROUP_ACTIONS << 9) | 0x21
- .set EC_WORD_REFUSE, (EC_GROUP_ACTIONS << 9) | 0x22
- .set EC_WORD_STORES, (EC_GROUP_ACTIONS << 9) | 0x23
- .set EC_WORD_BRAG, (EC_GROUP_ACTIONS << 9) | 0x24
- .set EC_WORD_IGNORANT, (EC_GROUP_ACTIONS << 9) | 0x25
- .set EC_WORD_THINKS, (EC_GROUP_ACTIONS << 9) | 0x26
- .set EC_WORD_BELIEVE, (EC_GROUP_ACTIONS << 9) | 0x27
- .set EC_WORD_SLIDE, (EC_GROUP_ACTIONS << 9) | 0x28
- .set EC_WORD_EATS, (EC_GROUP_ACTIONS << 9) | 0x29
- .set EC_WORD_USE, (EC_GROUP_ACTIONS << 9) | 0x2a
- .set EC_WORD_USES, (EC_GROUP_ACTIONS << 9) | 0x2b
- .set EC_WORD_USING, (EC_GROUP_ACTIONS << 9) | 0x2c
- .set EC_WORD_COULDN_T, (EC_GROUP_ACTIONS << 9) | 0x2d
- .set EC_WORD_CAPABLE, (EC_GROUP_ACTIONS << 9) | 0x2e
- .set EC_WORD_DISAPPEAR, (EC_GROUP_ACTIONS << 9) | 0x2f
- .set EC_WORD_APPEAR, (EC_GROUP_ACTIONS << 9) | 0x30
- .set EC_WORD_THROW, (EC_GROUP_ACTIONS << 9) | 0x31
- .set EC_WORD_WORRY, (EC_GROUP_ACTIONS << 9) | 0x32
- .set EC_WORD_SLEPT, (EC_GROUP_ACTIONS << 9) | 0x33
- .set EC_WORD_SLEEP, (EC_GROUP_ACTIONS << 9) | 0x34
- .set EC_WORD_RELEASE, (EC_GROUP_ACTIONS << 9) | 0x35
- .set EC_WORD_DRINKS, (EC_GROUP_ACTIONS << 9) | 0x36
- .set EC_WORD_RUNS, (EC_GROUP_ACTIONS << 9) | 0x37
- .set EC_WORD_RUN, (EC_GROUP_ACTIONS << 9) | 0x38
- .set EC_WORD_WORKS, (EC_GROUP_ACTIONS << 9) | 0x39
- .set EC_WORD_WORKING, (EC_GROUP_ACTIONS << 9) | 0x3a
- .set EC_WORD_TALKING, (EC_GROUP_ACTIONS << 9) | 0x3b
- .set EC_WORD_TALK, (EC_GROUP_ACTIONS << 9) | 0x3c
- .set EC_WORD_SINK, (EC_GROUP_ACTIONS << 9) | 0x3d
- .set EC_WORD_SMACK, (EC_GROUP_ACTIONS << 9) | 0x3e
- .set EC_WORD_PRETEND, (EC_GROUP_ACTIONS << 9) | 0x3f
- .set EC_WORD_PRAISE, (EC_GROUP_ACTIONS << 9) | 0x40
- .set EC_WORD_OVERDO, (EC_GROUP_ACTIONS << 9) | 0x41
- .set EC_WORD_SHOW, (EC_GROUP_ACTIONS << 9) | 0x42
- .set EC_WORD_LOOKS, (EC_GROUP_ACTIONS << 9) | 0x43
- .set EC_WORD_SEES, (EC_GROUP_ACTIONS << 9) | 0x44
- .set EC_WORD_SEEK, (EC_GROUP_ACTIONS << 9) | 0x45
- .set EC_WORD_OWN, (EC_GROUP_ACTIONS << 9) | 0x46
- .set EC_WORD_TAKE, (EC_GROUP_ACTIONS << 9) | 0x47
- .set EC_WORD_ALLOW, (EC_GROUP_ACTIONS << 9) | 0x48
- .set EC_WORD_FORGET, (EC_GROUP_ACTIONS << 9) | 0x49
- .set EC_WORD_FORGETS, (EC_GROUP_ACTIONS << 9) | 0x4a
- .set EC_WORD_APPEARS, (EC_GROUP_ACTIONS << 9) | 0x4b
- .set EC_WORD_FAINT, (EC_GROUP_ACTIONS << 9) | 0x4c
- .set EC_WORD_FAINTED, (EC_GROUP_ACTIONS << 9) | 0x4d
-
-@ Lifestyle
- .set EC_WORD_CHORES, (EC_GROUP_LIFESTYLE << 9) | 0x0
- .set EC_WORD_HOME, (EC_GROUP_LIFESTYLE << 9) | 0x1
- .set EC_WORD_MONEY, (EC_GROUP_LIFESTYLE << 9) | 0x2
- .set EC_WORD_ALLOWANCE, (EC_GROUP_LIFESTYLE << 9) | 0x3
- .set EC_WORD_BATH, (EC_GROUP_LIFESTYLE << 9) | 0x4
- .set EC_WORD_CONVERSATION, (EC_GROUP_LIFESTYLE << 9) | 0x5
- .set EC_WORD_SCHOOL, (EC_GROUP_LIFESTYLE << 9) | 0x6
- .set EC_WORD_COMMEMORATE, (EC_GROUP_LIFESTYLE << 9) | 0x7
- .set EC_WORD_HABIT, (EC_GROUP_LIFESTYLE << 9) | 0x8
- .set EC_WORD_GROUP, (EC_GROUP_LIFESTYLE << 9) | 0x9
- .set EC_WORD_WORD, (EC_GROUP_LIFESTYLE << 9) | 0xa
- .set EC_WORD_STORE, (EC_GROUP_LIFESTYLE << 9) | 0xb
- .set EC_WORD_SERVICE, (EC_GROUP_LIFESTYLE << 9) | 0xc
- .set EC_WORD_WORK, (EC_GROUP_LIFESTYLE << 9) | 0xd
- .set EC_WORD_SYSTEM, (EC_GROUP_LIFESTYLE << 9) | 0xe
- .set EC_WORD_TRAIN, (EC_GROUP_LIFESTYLE << 9) | 0xf
- .set EC_WORD_CLASS, (EC_GROUP_LIFESTYLE << 9) | 0x10
- .set EC_WORD_LESSONS, (EC_GROUP_LIFESTYLE << 9) | 0x11
- .set EC_WORD_INFORMATION, (EC_GROUP_LIFESTYLE << 9) | 0x12
- .set EC_WORD_LIVING, (EC_GROUP_LIFESTYLE << 9) | 0x13
- .set EC_WORD_TEACHER, (EC_GROUP_LIFESTYLE << 9) | 0x14
- .set EC_WORD_TOURNAMENT, (EC_GROUP_LIFESTYLE << 9) | 0x15
- .set EC_WORD_LETTER, (EC_GROUP_LIFESTYLE << 9) | 0x16
- .set EC_WORD_EVENT, (EC_GROUP_LIFESTYLE << 9) | 0x17
- .set EC_WORD_DIGITAL, (EC_GROUP_LIFESTYLE << 9) | 0x18
- .set EC_WORD_TEST, (EC_GROUP_LIFESTYLE << 9) | 0x19
- .set EC_WORD_DEPT_STORE, (EC_GROUP_LIFESTYLE << 9) | 0x1a
- .set EC_WORD_TELEVISION, (EC_GROUP_LIFESTYLE << 9) | 0x1b
- .set EC_WORD_PHONE, (EC_GROUP_LIFESTYLE << 9) | 0x1c
- .set EC_WORD_ITEM, (EC_GROUP_LIFESTYLE << 9) | 0x1d
- .set EC_WORD_NAME, (EC_GROUP_LIFESTYLE << 9) | 0x1e
- .set EC_WORD_NEWS, (EC_GROUP_LIFESTYLE << 9) | 0x1f
- .set EC_WORD_POPULAR, (EC_GROUP_LIFESTYLE << 9) | 0x20
- .set EC_WORD_PARTY, (EC_GROUP_LIFESTYLE << 9) | 0x21
- .set EC_WORD_STUDY, (EC_GROUP_LIFESTYLE << 9) | 0x22
- .set EC_WORD_MACHINE, (EC_GROUP_LIFESTYLE << 9) | 0x23
- .set EC_WORD_MAIL, (EC_GROUP_LIFESTYLE << 9) | 0x24
- .set EC_WORD_MESSAGE, (EC_GROUP_LIFESTYLE << 9) | 0x25
- .set EC_WORD_PROMISE, (EC_GROUP_LIFESTYLE << 9) | 0x26
- .set EC_WORD_DREAM, (EC_GROUP_LIFESTYLE << 9) | 0x27
- .set EC_WORD_KINDERGARTEN, (EC_GROUP_LIFESTYLE << 9) | 0x28
- .set EC_WORD_LIFE, (EC_GROUP_LIFESTYLE << 9) | 0x29
- .set EC_WORD_RADIO, (EC_GROUP_LIFESTYLE << 9) | 0x2a
- .set EC_WORD_RENTAL, (EC_GROUP_LIFESTYLE << 9) | 0x2b
- .set EC_WORD_WORLD, (EC_GROUP_LIFESTYLE << 9) | 0x2c
-
-@ Hobbies
- .set EC_WORD_IDOL, (EC_GROUP_HOBBIES << 9) | 0x0
- .set EC_WORD_ANIME, (EC_GROUP_HOBBIES << 9) | 0x1
- .set EC_WORD_SONG, (EC_GROUP_HOBBIES << 9) | 0x2
- .set EC_WORD_MOVIE, (EC_GROUP_HOBBIES << 9) | 0x3
- .set EC_WORD_SWEETS, (EC_GROUP_HOBBIES << 9) | 0x4
- .set EC_WORD_CHAT, (EC_GROUP_HOBBIES << 9) | 0x5
- .set EC_WORD_CHILD_S_PLAY, (EC_GROUP_HOBBIES << 9) | 0x6
- .set EC_WORD_TOYS, (EC_GROUP_HOBBIES << 9) | 0x7
- .set EC_WORD_MUSIC, (EC_GROUP_HOBBIES << 9) | 0x8
- .set EC_WORD_CARDS, (EC_GROUP_HOBBIES << 9) | 0x9
- .set EC_WORD_SHOPPING, (EC_GROUP_HOBBIES << 9) | 0xa
- .set EC_WORD_CAMERA, (EC_GROUP_HOBBIES << 9) | 0xb
- .set EC_WORD_VIEWING, (EC_GROUP_HOBBIES << 9) | 0xc
- .set EC_WORD_SPECTATOR, (EC_GROUP_HOBBIES << 9) | 0xd
- .set EC_WORD_GOURMET, (EC_GROUP_HOBBIES << 9) | 0xe
- .set EC_WORD_GAME, (EC_GROUP_HOBBIES << 9) | 0xf
- .set EC_WORD_RPG, (EC_GROUP_HOBBIES << 9) | 0x10
- .set EC_WORD_COLLECTION, (EC_GROUP_HOBBIES << 9) | 0x11
- .set EC_WORD_COMPLETE, (EC_GROUP_HOBBIES << 9) | 0x12
- .set EC_WORD_MAGAZINE, (EC_GROUP_HOBBIES << 9) | 0x13
- .set EC_WORD_WALK, (EC_GROUP_HOBBIES << 9) | 0x14
- .set EC_WORD_BIKE, (EC_GROUP_HOBBIES << 9) | 0x15
- .set EC_WORD_HOBBY, (EC_GROUP_HOBBIES << 9) | 0x16
- .set EC_WORD_SPORTS, (EC_GROUP_HOBBIES << 9) | 0x17
- .set EC_WORD_SOFTWARE, (EC_GROUP_HOBBIES << 9) | 0x18
- .set EC_WORD_SONGS, (EC_GROUP_HOBBIES << 9) | 0x19
- .set EC_WORD_DIET, (EC_GROUP_HOBBIES << 9) | 0x1a
- .set EC_WORD_TREASURE, (EC_GROUP_HOBBIES << 9) | 0x1b
- .set EC_WORD_TRAVEL, (EC_GROUP_HOBBIES << 9) | 0x1c
- .set EC_WORD_DANCE, (EC_GROUP_HOBBIES << 9) | 0x1d
- .set EC_WORD_CHANNEL, (EC_GROUP_HOBBIES << 9) | 0x1e
- .set EC_WORD_MAKING, (EC_GROUP_HOBBIES << 9) | 0x1f
- .set EC_WORD_FISHING, (EC_GROUP_HOBBIES << 9) | 0x20
- .set EC_WORD_DATE, (EC_GROUP_HOBBIES << 9) | 0x21
- .set EC_WORD_DESIGN, (EC_GROUP_HOBBIES << 9) | 0x22
- .set EC_WORD_LOCOMOTIVE, (EC_GROUP_HOBBIES << 9) | 0x23
- .set EC_WORD_PLUSH_DOLL, (EC_GROUP_HOBBIES << 9) | 0x24
- .set EC_WORD_PC, (EC_GROUP_HOBBIES << 9) | 0x25
- .set EC_WORD_FLOWERS, (EC_GROUP_HOBBIES << 9) | 0x26
- .set EC_WORD_HERO, (EC_GROUP_HOBBIES << 9) | 0x27
- .set EC_WORD_NAP, (EC_GROUP_HOBBIES << 9) | 0x28
- .set EC_WORD_HEROINE, (EC_GROUP_HOBBIES << 9) | 0x29
- .set EC_WORD_FASHION, (EC_GROUP_HOBBIES << 9) | 0x2a
- .set EC_WORD_ADVENTURE, (EC_GROUP_HOBBIES << 9) | 0x2b
- .set EC_WORD_BOARD, (EC_GROUP_HOBBIES << 9) | 0x2c
- .set EC_WORD_BALL, (EC_GROUP_HOBBIES << 9) | 0x2d
- .set EC_WORD_BOOK, (EC_GROUP_HOBBIES << 9) | 0x2e
- .set EC_WORD_FESTIVAL, (EC_GROUP_HOBBIES << 9) | 0x2f
- .set EC_WORD_COMICS, (EC_GROUP_HOBBIES << 9) | 0x30
- .set EC_WORD_HOLIDAY, (EC_GROUP_HOBBIES << 9) | 0x31
- .set EC_WORD_PLANS, (EC_GROUP_HOBBIES << 9) | 0x32
- .set EC_WORD_TRENDY, (EC_GROUP_HOBBIES << 9) | 0x33
- .set EC_WORD_VACATION, (EC_GROUP_HOBBIES << 9) | 0x34
- .set EC_WORD_LOOK, (EC_GROUP_HOBBIES << 9) | 0x35
-
-@ Time
- .set EC_WORD_FALL, (EC_GROUP_TIME << 9) | 0x0
- .set EC_WORD_MORNING, (EC_GROUP_TIME << 9) | 0x1
- .set EC_WORD_TOMORROW, (EC_GROUP_TIME << 9) | 0x2
- .set EC_WORD_LAST, (EC_GROUP_TIME << 9) | 0x3
- .set EC_WORD_DAY, (EC_GROUP_TIME << 9) | 0x4
- .set EC_WORD_SOMETIME, (EC_GROUP_TIME << 9) | 0x5
- .set EC_WORD_ALWAYS, (EC_GROUP_TIME << 9) | 0x6
- .set EC_WORD_CURRENT, (EC_GROUP_TIME << 9) | 0x7
- .set EC_WORD_FOREVER, (EC_GROUP_TIME << 9) | 0x8
- .set EC_WORD_DAYS, (EC_GROUP_TIME << 9) | 0x9
- .set EC_WORD_END, (EC_GROUP_TIME << 9) | 0xa
- .set EC_WORD_TUESDAY, (EC_GROUP_TIME << 9) | 0xb
- .set EC_WORD_YESTERDAY, (EC_GROUP_TIME << 9) | 0xc
- .set EC_WORD_TODAY, (EC_GROUP_TIME << 9) | 0xd
- .set EC_WORD_FRIDAY, (EC_GROUP_TIME << 9) | 0xe
- .set EC_WORD_MONDAY, (EC_GROUP_TIME << 9) | 0xf
- .set EC_WORD_LATER, (EC_GROUP_TIME << 9) | 0x10
- .set EC_WORD_EARLIER, (EC_GROUP_TIME << 9) | 0x11
- .set EC_WORD_ANOTHER, (EC_GROUP_TIME << 9) | 0x12
- .set EC_WORD_TIME, (EC_GROUP_TIME << 9) | 0x13
- .set EC_WORD_FINISH, (EC_GROUP_TIME << 9) | 0x14
- .set EC_WORD_WEDNESDAY, (EC_GROUP_TIME << 9) | 0x15
- .set EC_WORD_SOON, (EC_GROUP_TIME << 9) | 0x16
- .set EC_WORD_START, (EC_GROUP_TIME << 9) | 0x17
- .set EC_WORD_MONTH, (EC_GROUP_TIME << 9) | 0x18
- .set EC_WORD_STOP, (EC_GROUP_TIME << 9) | 0x19
- .set EC_WORD_NOW, (EC_GROUP_TIME << 9) | 0x1a
- .set EC_WORD_FINAL, (EC_GROUP_TIME << 9) | 0x1b
- .set EC_WORD_NEXT, (EC_GROUP_TIME << 9) | 0x1c
- .set EC_WORD_AGE, (EC_GROUP_TIME << 9) | 0x1d
- .set EC_WORD_SATURDAY, (EC_GROUP_TIME << 9) | 0x1e
- .set EC_WORD_SUMMER, (EC_GROUP_TIME << 9) | 0x1f
- .set EC_WORD_SUNDAY, (EC_GROUP_TIME << 9) | 0x20
- .set EC_WORD_BEGINNING, (EC_GROUP_TIME << 9) | 0x21
- .set EC_WORD_SPRING, (EC_GROUP_TIME << 9) | 0x22
- .set EC_WORD_DAYTIME, (EC_GROUP_TIME << 9) | 0x23
- .set EC_WORD_WINTER, (EC_GROUP_TIME << 9) | 0x24
- .set EC_WORD_DAILY, (EC_GROUP_TIME << 9) | 0x25
- .set EC_WORD_OLDEN, (EC_GROUP_TIME << 9) | 0x26
- .set EC_WORD_ALMOST, (EC_GROUP_TIME << 9) | 0x27
- .set EC_WORD_NEARLY, (EC_GROUP_TIME << 9) | 0x28
- .set EC_WORD_THURSDAY, (EC_GROUP_TIME << 9) | 0x29
- .set EC_WORD_NIGHTTIME, (EC_GROUP_TIME << 9) | 0x2a
- .set EC_WORD_NIGHT, (EC_GROUP_TIME << 9) | 0x2b
- .set EC_WORD_WEEK, (EC_GROUP_TIME << 9) | 0x2c
-
-@ Misc.
- .set EC_WORD_HIGHS, (EC_GROUP_MISC << 9) | 0x0
- .set EC_WORD_LOWS, (EC_GROUP_MISC << 9) | 0x1
- .set EC_WORD_UM, (EC_GROUP_MISC << 9) | 0x2
- .set EC_WORD_REAR, (EC_GROUP_MISC << 9) | 0x3
- .set EC_WORD_THINGS, (EC_GROUP_MISC << 9) | 0x4
- .set EC_WORD_THING, (EC_GROUP_MISC << 9) | 0x5
- .set EC_WORD_BELOW, (EC_GROUP_MISC << 9) | 0x6
- .set EC_WORD_ABOVE, (EC_GROUP_MISC << 9) | 0x7
- .set EC_WORD_BACK, (EC_GROUP_MISC << 9) | 0x8
- .set EC_WORD_HIGH, (EC_GROUP_MISC << 9) | 0x9
- .set EC_WORD_HERE, (EC_GROUP_MISC << 9) | 0xa
- .set EC_WORD_INSIDE, (EC_GROUP_MISC << 9) | 0xb
- .set EC_WORD_OUTSIDE, (EC_GROUP_MISC << 9) | 0xc
- .set EC_WORD_BESIDE, (EC_GROUP_MISC << 9) | 0xd
- .set EC_WORD_THIS_IS_IT_EXCL, (EC_GROUP_MISC << 9) | 0xe
- .set EC_WORD_THIS, (EC_GROUP_MISC << 9) | 0xf
- .set EC_WORD_EVERY, (EC_GROUP_MISC << 9) | 0x10
- .set EC_WORD_THESE, (EC_GROUP_MISC << 9) | 0x11
- .set EC_WORD_THESE_WERE, (EC_GROUP_MISC << 9) | 0x12
- .set EC_WORD_DOWN, (EC_GROUP_MISC << 9) | 0x13
- .set EC_WORD_THAT, (EC_GROUP_MISC << 9) | 0x14
- .set EC_WORD_THOSE_ARE, (EC_GROUP_MISC << 9) | 0x15
- .set EC_WORD_THOSE_WERE, (EC_GROUP_MISC << 9) | 0x16
- .set EC_WORD_THAT_S_IT_EXCL, (EC_GROUP_MISC << 9) | 0x17
- .set EC_WORD_AM, (EC_GROUP_MISC << 9) | 0x18
- .set EC_WORD_THAT_WAS, (EC_GROUP_MISC << 9) | 0x19
- .set EC_WORD_FRONT, (EC_GROUP_MISC << 9) | 0x1a
- .set EC_WORD_UP, (EC_GROUP_MISC << 9) | 0x1b
- .set EC_WORD_CHOICE, (EC_GROUP_MISC << 9) | 0x1c
- .set EC_WORD_FAR, (EC_GROUP_MISC << 9) | 0x1d
- .set EC_WORD_AWAY, (EC_GROUP_MISC << 9) | 0x1e
- .set EC_WORD_NEAR, (EC_GROUP_MISC << 9) | 0x1f
- .set EC_WORD_WHERE, (EC_GROUP_MISC << 9) | 0x20
- .set EC_WORD_WHEN, (EC_GROUP_MISC << 9) | 0x21
- .set EC_WORD_WHAT, (EC_GROUP_MISC << 9) | 0x22
- .set EC_WORD_DEEP, (EC_GROUP_MISC << 9) | 0x23
- .set EC_WORD_SHALLOW, (EC_GROUP_MISC << 9) | 0x24
- .set EC_WORD_WHY, (EC_GROUP_MISC << 9) | 0x25
- .set EC_WORD_CONFUSED, (EC_GROUP_MISC << 9) | 0x26
- .set EC_WORD_OPPOSITE, (EC_GROUP_MISC << 9) | 0x27
- .set EC_WORD_LEFT, (EC_GROUP_MISC << 9) | 0x28
- .set EC_WORD_RIGHT, (EC_GROUP_MISC << 9) | 0x29
-
-@ Adjectives
- .set EC_WORD_WANDERING, (EC_GROUP_ADJECTIVES << 9) | 0x0
- .set EC_WORD_RICKETY, (EC_GROUP_ADJECTIVES << 9) | 0x1
- .set EC_WORD_ROCK_SOLID, (EC_GROUP_ADJECTIVES << 9) | 0x2
- .set EC_WORD_HUNGRY, (EC_GROUP_ADJECTIVES << 9) | 0x3
- .set EC_WORD_TIGHT, (EC_GROUP_ADJECTIVES << 9) | 0x4
- .set EC_WORD_TICKLISH, (EC_GROUP_ADJECTIVES << 9) | 0x5
- .set EC_WORD_TWIRLING, (EC_GROUP_ADJECTIVES << 9) | 0x6
- .set EC_WORD_SPIRALING, (EC_GROUP_ADJECTIVES << 9) | 0x7
- .set EC_WORD_THIRSTY, (EC_GROUP_ADJECTIVES << 9) | 0x8
- .set EC_WORD_LOLLING, (EC_GROUP_ADJECTIVES << 9) | 0x9
- .set EC_WORD_SILKY, (EC_GROUP_ADJECTIVES << 9) | 0xa
- .set EC_WORD_SADLY, (EC_GROUP_ADJECTIVES << 9) | 0xb
- .set EC_WORD_HOPELESS, (EC_GROUP_ADJECTIVES << 9) | 0xc
- .set EC_WORD_USELESS, (EC_GROUP_ADJECTIVES << 9) | 0xd
- .set EC_WORD_DROOLING, (EC_GROUP_ADJECTIVES << 9) | 0xe
- .set EC_WORD_EXCITING, (EC_GROUP_ADJECTIVES << 9) | 0xf
- .set EC_WORD_THICK, (EC_GROUP_ADJECTIVES << 9) | 0x10
- .set EC_WORD_SMOOTH, (EC_GROUP_ADJECTIVES << 9) | 0x11
- .set EC_WORD_SLIMY, (EC_GROUP_ADJECTIVES << 9) | 0x12
- .set EC_WORD_THIN, (EC_GROUP_ADJECTIVES << 9) | 0x13
- .set EC_WORD_BREAK, (EC_GROUP_ADJECTIVES << 9) | 0x14
- .set EC_WORD_VORACIOUS, (EC_GROUP_ADJECTIVES << 9) | 0x15
- .set EC_WORD_SCATTER, (EC_GROUP_ADJECTIVES << 9) | 0x16
- .set EC_WORD_AWESOME, (EC_GROUP_ADJECTIVES << 9) | 0x17
- .set EC_WORD_WIMPY, (EC_GROUP_ADJECTIVES << 9) | 0x18
- .set EC_WORD_WOBBLY, (EC_GROUP_ADJECTIVES << 9) | 0x19
- .set EC_WORD_SHAKY, (EC_GROUP_ADJECTIVES << 9) | 0x1a
- .set EC_WORD_RIPPED, (EC_GROUP_ADJECTIVES << 9) | 0x1b
- .set EC_WORD_SHREDDED, (EC_GROUP_ADJECTIVES << 9) | 0x1c
- .set EC_WORD_INCREASING, (EC_GROUP_ADJECTIVES << 9) | 0x1d
- .set EC_WORD_YET, (EC_GROUP_ADJECTIVES << 9) | 0x1e
- .set EC_WORD_DESTROYED, (EC_GROUP_ADJECTIVES << 9) | 0x1f
- .set EC_WORD_FIERY, (EC_GROUP_ADJECTIVES << 9) | 0x20
- .set EC_WORD_LOVEY_DOVEY, (EC_GROUP_ADJECTIVES << 9) | 0x21
- .set EC_WORD_HAPPILY, (EC_GROUP_ADJECTIVES << 9) | 0x22
- .set EC_WORD_ANTICIPATION, (EC_GROUP_ADJECTIVES << 9) | 0x23
-
-@ Events
- .set EC_WORD_APPEAL, (EC_GROUP_EVENTS << 9) | 0x0
- .set EC_WORD_EVENTS, (EC_GROUP_EVENTS << 9) | 0x1
- .set EC_WORD_STAY_AT_HOME, (EC_GROUP_EVENTS << 9) | 0x2
- .set EC_WORD_BERRY, (EC_GROUP_EVENTS << 9) | 0x3
- .set EC_WORD_CONTEST, (EC_GROUP_EVENTS << 9) | 0x4
- .set EC_WORD_MC, (EC_GROUP_EVENTS << 9) | 0x5
- .set EC_WORD_JUDGE, (EC_GROUP_EVENTS << 9) | 0x6
- .set EC_WORD_SUPER, (EC_GROUP_EVENTS << 9) | 0x7
- .set EC_WORD_STAGE, (EC_GROUP_EVENTS << 9) | 0x8
- .set EC_WORD_HALL_OF_FAME, (EC_GROUP_EVENTS << 9) | 0x9
- .set EC_WORD_EVOLUTION, (EC_GROUP_EVENTS << 9) | 0xa
- .set EC_WORD_HYPER, (EC_GROUP_EVENTS << 9) | 0xb
- .set EC_WORD_BATTLE_TOWER, (EC_GROUP_EVENTS << 9) | 0xc
- .set EC_WORD_LEADERS, (EC_GROUP_EVENTS << 9) | 0xd
- .set EC_WORD_BATTLE_ROOM, (EC_GROUP_EVENTS << 9) | 0xe
- .set EC_WORD_HIDDEN, (EC_GROUP_EVENTS << 9) | 0xf
- .set EC_WORD_SECRET_BASE, (EC_GROUP_EVENTS << 9) | 0x10
- .set EC_WORD_BLEND, (EC_GROUP_EVENTS << 9) | 0x11
- .set EC_WORD_POKEBLOCK, (EC_GROUP_EVENTS << 9) | 0x12
- .set EC_WORD_MASTER, (EC_GROUP_EVENTS << 9) | 0x13
- .set EC_WORD_RANK, (EC_GROUP_EVENTS << 9) | 0x14
- .set EC_WORD_RIBBON, (EC_GROUP_EVENTS << 9) | 0x15
- .set EC_WORD_CRUSH, (EC_GROUP_EVENTS << 9) | 0x16
- .set EC_WORD_DIRECT, (EC_GROUP_EVENTS << 9) | 0x17
- .set EC_WORD_TOWER, (EC_GROUP_EVENTS << 9) | 0x18
- .set EC_WORD_UNION, (EC_GROUP_EVENTS << 9) | 0x19
- .set EC_WORD_ROOM, (EC_GROUP_EVENTS << 9) | 0x1a
- .set EC_WORD_WIRELESS, (EC_GROUP_EVENTS << 9) | 0x1b
- .set EC_WORD_FRONTIER, (EC_GROUP_EVENTS << 9) | 0x1c
-
-@ Trendy Saying
- .set EC_WORD_KTHX_BYE, (EC_GROUP_TRENDY_SAYING << 9) | 0x0
- .set EC_WORD_YES_SIR_EXCL, (EC_GROUP_TRENDY_SAYING << 9) | 0x1
- .set EC_WORD_AVANT_GARDE, (EC_GROUP_TRENDY_SAYING << 9) | 0x2
- .set EC_WORD_COUPLE, (EC_GROUP_TRENDY_SAYING << 9) | 0x3
- .set EC_WORD_MUCH_OBLIGED, (EC_GROUP_TRENDY_SAYING << 9) | 0x4
- .set EC_WORD_YEEHAW_EXCL, (EC_GROUP_TRENDY_SAYING << 9) | 0x5
- .set EC_WORD_MEGA, (EC_GROUP_TRENDY_SAYING << 9) | 0x6
- .set EC_WORD_1_HIT_KO_EXCL, (EC_GROUP_TRENDY_SAYING << 9) | 0x7
- .set EC_WORD_DESTINY, (EC_GROUP_TRENDY_SAYING << 9) | 0x8
- .set EC_WORD_CANCEL, (EC_GROUP_TRENDY_SAYING << 9) | 0x9
- .set EC_WORD_NEW, (EC_GROUP_TRENDY_SAYING << 9) | 0xa
- .set EC_WORD_FLATTEN, (EC_GROUP_TRENDY_SAYING << 9) | 0xb
- .set EC_WORD_KIDDING, (EC_GROUP_TRENDY_SAYING << 9) | 0xc
- .set EC_WORD_LOSER, (EC_GROUP_TRENDY_SAYING << 9) | 0xd
- .set EC_WORD_LOSING, (EC_GROUP_TRENDY_SAYING << 9) | 0xe
- .set EC_WORD_HAPPENING, (EC_GROUP_TRENDY_SAYING << 9) | 0xf
- .set EC_WORD_HIP_AND, (EC_GROUP_TRENDY_SAYING << 9) | 0x10
- .set EC_WORD_SHAKE, (EC_GROUP_TRENDY_SAYING << 9) | 0x11
- .set EC_WORD_SHADY, (EC_GROUP_TRENDY_SAYING << 9) | 0x12
- .set EC_WORD_UPBEAT, (EC_GROUP_TRENDY_SAYING << 9) | 0x13
- .set EC_WORD_MODERN, (EC_GROUP_TRENDY_SAYING << 9) | 0x14
- .set EC_WORD_SMELL_YA, (EC_GROUP_TRENDY_SAYING << 9) | 0x15
- .set EC_WORD_BANG, (EC_GROUP_TRENDY_SAYING << 9) | 0x16
- .set EC_WORD_KNOCKOUT, (EC_GROUP_TRENDY_SAYING << 9) | 0x17
- .set EC_WORD_HASSLE, (EC_GROUP_TRENDY_SAYING << 9) | 0x18
- .set EC_WORD_WINNER, (EC_GROUP_TRENDY_SAYING << 9) | 0x19
- .set EC_WORD_FEVER, (EC_GROUP_TRENDY_SAYING << 9) | 0x1a
- .set EC_WORD_WANNABE, (EC_GROUP_TRENDY_SAYING << 9) | 0x1b
- .set EC_WORD_BABY, (EC_GROUP_TRENDY_SAYING << 9) | 0x1c
- .set EC_WORD_HEART, (EC_GROUP_TRENDY_SAYING << 9) | 0x1d
- .set EC_WORD_OLD, (EC_GROUP_TRENDY_SAYING << 9) | 0x1e
- .set EC_WORD_YOUNG, (EC_GROUP_TRENDY_SAYING << 9) | 0x1f
- .set EC_WORD_UGLY, (EC_GROUP_TRENDY_SAYING << 9) | 0x20
-
diff --git a/constants/field_object_constants.inc b/constants/field_object_constants.inc
deleted file mode 100644
index 50cdbd848..000000000
--- a/constants/field_object_constants.inc
+++ /dev/null
@@ -1,251 +0,0 @@
- .set FIELD_OBJ_GFX_BRENDAN_NORMAL, 0
- .set FIELD_OBJ_GFX_BRENDAN_MACH_BIKE, 1
- .set FIELD_OBJ_GFX_BRENDAN_SURFING, 2
- .set FIELD_OBJ_GFX_BRENDAN_FIELD_MOVE, 3
- .set FIELD_OBJ_GFX_QUINTY_PLUMP, 4
- .set FIELD_OBJ_GFX_LITTLE_BOY_1, 5
- .set FIELD_OBJ_GFX_LITTLE_GIRL_1, 6
- .set FIELD_OBJ_GFX_BOY_1, 7
- .set FIELD_OBJ_GFX_GIRL_1, 8
- .set FIELD_OBJ_GFX_BOY_2, 9
- .set FIELD_OBJ_GFX_GIRL_2, 10
- .set FIELD_OBJ_GFX_LITTLE_BOY_2, 11
- .set FIELD_OBJ_GFX_LITTLE_GIRL_2, 12
- .set FIELD_OBJ_GFX_BOY_3, 13
- .set FIELD_OBJ_GFX_GIRL_3, 14
- .set FIELD_OBJ_GFX_BOY_4, 15
- .set FIELD_OBJ_GFX_WOMAN_1, 16
- .set FIELD_OBJ_GFX_FAT_MAN, 17
- .set FIELD_OBJ_GFX_WOMAN_2, 18
- .set FIELD_OBJ_GFX_MAN_1, 19
- .set FIELD_OBJ_GFX_WOMAN_3, 20
- .set FIELD_OBJ_GFX_OLD_MAN_1, 21
- .set FIELD_OBJ_GFX_OLD_WOMAN_1, 22
- .set FIELD_OBJ_GFX_MAN_2, 23
- .set FIELD_OBJ_GFX_WOMAN_4, 24
- .set FIELD_OBJ_GFX_MAN_3, 25
- .set FIELD_OBJ_GFX_WOMAN_5, 26
- .set FIELD_OBJ_GFX_COOK, 27
- .set FIELD_OBJ_GFX_WOMAN_6, 28
- .set FIELD_OBJ_GFX_OLD_MAN_2, 29
- .set FIELD_OBJ_GFX_OLD_WOMAN_2, 30
- .set FIELD_OBJ_GFX_CAMPER, 31
- .set FIELD_OBJ_GFX_PICNICKER, 32
- .set FIELD_OBJ_GFX_MAN_4, 33
- .set FIELD_OBJ_GFX_WOMAN_7, 34
- .set FIELD_OBJ_GFX_YOUNGSTER, 35
- .set FIELD_OBJ_GFX_BUG_CATCHER, 36
- .set FIELD_OBJ_GFX_PSYCHIC_M, 37
- .set FIELD_OBJ_GFX_SCHOOL_KID_M, 38
- .set FIELD_OBJ_GFX_MANIAC, 39
- .set FIELD_OBJ_GFX_HEX_MANIAC, 40
- .set FIELD_OBJ_GFX_RAYQUAZA_1, 41
- .set FIELD_OBJ_GFX_SWIMMER_M, 42
- .set FIELD_OBJ_GFX_SWIMMER_F, 43
- .set FIELD_OBJ_GFX_BLACK_BELT, 44
- .set FIELD_OBJ_GFX_BEAUTY, 45
- .set FIELD_OBJ_GFX_SCIENTIST_1, 46
- .set FIELD_OBJ_GFX_LASS, 47
- .set FIELD_OBJ_GFX_GENTLEMAN, 48
- .set FIELD_OBJ_GFX_SAILOR, 49
- .set FIELD_OBJ_GFX_FISHERMAN, 50
- .set FIELD_OBJ_GFX_RUNNING_TRIATHLETE_M, 51
- .set FIELD_OBJ_GFX_RUNNING_TRIATHLETE_F, 52
- .set FIELD_OBJ_GFX_TUBER_F, 53
- .set FIELD_OBJ_GFX_TUBER_M, 54
- .set FIELD_OBJ_GFX_HIKER, 55
- .set FIELD_OBJ_GFX_CYCLING_TRIATHLETE_M, 56
- .set FIELD_OBJ_GFX_CYCLING_TRIATHLETE_F, 57
- .set FIELD_OBJ_GFX_NURSE, 58
- .set FIELD_OBJ_GFX_ITEM_BALL, 59
- .set FIELD_OBJ_GFX_BERRY_TREE, 60
- .set FIELD_OBJ_GFX_BERRY_TREE_EARLY_STAGES, 61
- .set FIELD_OBJ_GFX_BERRY_TREE_LATE_STAGES, 62
- .set FIELD_OBJ_GFX_BRENDAN_ACRO_BIKE, 63
- .set FIELD_OBJ_GFX_PROF_BIRCH, 64
- .set FIELD_OBJ_GFX_MAN_5, 65
- .set FIELD_OBJ_GFX_MAN_6, 66
- .set FIELD_OBJ_GFX_REPORTER_M, 67
- .set FIELD_OBJ_GFX_REPORTER_F, 68
- .set FIELD_OBJ_GFX_MAUVILLE_OLD_MAN, 69
- .set FIELD_OBJ_GFX_ANABEL, 70
- .set FIELD_OBJ_GFX_TUCKER, 71
- .set FIELD_OBJ_GFX_GRETA, 72
- .set FIELD_OBJ_GFX_SPENSER, 73
- .set FIELD_OBJ_GFX_NOLAND, 74
- .set FIELD_OBJ_GFX_LUCY, 75
- .set FIELD_OBJ_GFX_UNUSED_NATU_DOLL, 76
- .set FIELD_OBJ_GFX_UNUSED_MAGNEMITE_DOLL, 77
- .set FIELD_OBJ_GFX_UNUSED_SQUIRTLE_DOLL, 78
- .set FIELD_OBJ_GFX_UNUSED_WOOPER_DOLL, 79
- .set FIELD_OBJ_GFX_UNUSED_PIKACHU_DOLL, 80
- .set FIELD_OBJ_GFX_UNUSED_PORYGON2_DOLL, 81
- .set FIELD_OBJ_GFX_CUTTABLE_TREE, 82
- .set FIELD_OBJ_GFX_MART_EMPLOYEE, 83
- .set FIELD_OBJ_GFX_ROOFTOP_SALE_WOMAN, 84
- .set FIELD_OBJ_GFX_TEALA, 85
- .set FIELD_OBJ_GFX_BREAKABLE_ROCK, 86
- .set FIELD_OBJ_GFX_PUSHABLE_BOULDER, 87
- .set FIELD_OBJ_GFX_MR_BRINEYS_BOAT, 88
- .set FIELD_OBJ_GFX_MAY_NORMAL, 89
- .set FIELD_OBJ_GFX_MAY_MACH_BIKE, 90
- .set FIELD_OBJ_GFX_MAY_ACRO_BIKE, 91
- .set FIELD_OBJ_GFX_MAY_SURFING, 92
- .set FIELD_OBJ_GFX_MAY_FIELD_MOVE, 93
- .set FIELD_OBJ_GFX_TRUCK, 94
- .set FIELD_OBJ_GFX_VIGOROTH_CARRYING_BOX, 95
- .set FIELD_OBJ_GFX_VIGOROTH_FACING_AWAY, 96
- .set FIELD_OBJ_GFX_BIRCHS_BAG, 97
- .set FIELD_OBJ_GFX_ENEMY_ZIGZAGOON, 98
- .set FIELD_OBJ_GFX_ARTIST, 99
- .set FIELD_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 100
- .set FIELD_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE, 101
- .set FIELD_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE, 102
- .set FIELD_OBJ_GFX_RIVAL_BRENDAN_SURFING, 103
- .set FIELD_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE, 104
- .set FIELD_OBJ_GFX_RIVAL_MAY_NORMAL, 105
- .set FIELD_OBJ_GFX_RIVAL_MAY_MACH_BIKE, 106
- .set FIELD_OBJ_GFX_RIVAL_MAY_ACRO_BIKE, 107
- .set FIELD_OBJ_GFX_RIVAL_MAY_SURFING, 108
- .set FIELD_OBJ_GFX_RIVAL_MAY_FIELD_MOVE, 109
- .set FIELD_OBJ_GFX_CAMERAMAN, 110
- .set FIELD_OBJ_GFX_BRENDAN_UNDERWATER, 111
- .set FIELD_OBJ_GFX_MAY_UNDERWATER, 112
- .set FIELD_OBJ_GFX_MOVING_BOX, 113
- .set FIELD_OBJ_GFX_CABLE_CAR, 114
- .set FIELD_OBJ_GFX_SCIENTIST_2, 115
- .set FIELD_OBJ_GFX_MAN_7, 116
- .set FIELD_OBJ_GFX_AQUA_MEMBER_M, 117
- .set FIELD_OBJ_GFX_AQUA_MEMBER_F, 118
- .set FIELD_OBJ_GFX_MAGMA_MEMBER_M, 119
- .set FIELD_OBJ_GFX_MAGMA_MEMBER_F, 120
- .set FIELD_OBJ_GFX_SIDNEY, 121
- .set FIELD_OBJ_GFX_PHOEBE, 122
- .set FIELD_OBJ_GFX_GLACIA, 123
- .set FIELD_OBJ_GFX_DRAKE, 124
- .set FIELD_OBJ_GFX_ROXANNE, 125
- .set FIELD_OBJ_GFX_BRAWLY, 126
- .set FIELD_OBJ_GFX_WATTSON, 127
- .set FIELD_OBJ_GFX_FLANNERY, 128
- .set FIELD_OBJ_GFX_NORMAN, 129
- .set FIELD_OBJ_GFX_WINONA, 130
- .set FIELD_OBJ_GFX_LIZA, 131
- .set FIELD_OBJ_GFX_TATE, 132
- .set FIELD_OBJ_GFX_WALLACE, 133
- .set FIELD_OBJ_GFX_STEVEN, 134
- .set FIELD_OBJ_GFX_WALLY, 135
- .set FIELD_OBJ_GFX_RUBY_SAPPHIRE_LITTLE_BOY, 136
- .set FIELD_OBJ_GFX_BRENDAN_FISHING, 137
- .set FIELD_OBJ_GFX_MAY_FISHING, 138
- .set FIELD_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN, 139
- .set FIELD_OBJ_GFX_SS_TIDAL, 140
- .set FIELD_OBJ_GFX_SUBMARINE_SHADOW, 141
- .set FIELD_OBJ_GFX_PICHU_DOLL, 142
- .set FIELD_OBJ_GFX_PIKACHU_DOLL, 143
- .set FIELD_OBJ_GFX_MARILL_DOLL, 144
- .set FIELD_OBJ_GFX_TOGEPI_DOLL, 145
- .set FIELD_OBJ_GFX_CYNDAQUIL_DOLL, 146
- .set FIELD_OBJ_GFX_CHIKORITA_DOLL, 147
- .set FIELD_OBJ_GFX_TOTODILE_DOLL, 148
- .set FIELD_OBJ_GFX_JIGGLYPUFF_DOLL, 149
- .set FIELD_OBJ_GFX_MEOWTH_DOLL, 150
- .set FIELD_OBJ_GFX_CLEFAIRY_DOLL, 151
- .set FIELD_OBJ_GFX_DITTO_DOLL, 152
- .set FIELD_OBJ_GFX_SMOOCHUM_DOLL, 153
- .set FIELD_OBJ_GFX_TREECKO_DOLL, 154
- .set FIELD_OBJ_GFX_TORCHIC_DOLL, 155
- .set FIELD_OBJ_GFX_MUDKIP_DOLL, 156
- .set FIELD_OBJ_GFX_DUSKULL_DOLL, 157
- .set FIELD_OBJ_GFX_WYNAUT_DOLL, 158
- .set FIELD_OBJ_GFX_BALTOY_DOLL, 159
- .set FIELD_OBJ_GFX_KECLEON_DOLL, 160
- .set FIELD_OBJ_GFX_AZURILL_DOLL, 161
- .set FIELD_OBJ_GFX_SKITTY_DOLL, 162
- .set FIELD_OBJ_GFX_SWABLU_DOLL, 163
- .set FIELD_OBJ_GFX_GULPIN_DOLL, 164
- .set FIELD_OBJ_GFX_LOTAD_DOLL, 165
- .set FIELD_OBJ_GFX_SEEDOT_DOLL, 166
- .set FIELD_OBJ_GFX_PIKA_CUSHION, 167
- .set FIELD_OBJ_GFX_ROUND_CUSHION, 168
- .set FIELD_OBJ_GFX_KISS_CUSHION, 169
- .set FIELD_OBJ_GFX_ZIGZAG_CUSHION, 170
- .set FIELD_OBJ_GFX_SPIN_CUSHION, 171
- .set FIELD_OBJ_GFX_DIAMOND_CUSHION, 172
- .set FIELD_OBJ_GFX_BALL_CUSHION, 173
- .set FIELD_OBJ_GFX_GRASS_CUSHION, 174
- .set FIELD_OBJ_GFX_FIRE_CUSHION, 175
- .set FIELD_OBJ_GFX_WATER_CUSHION, 176
- .set FIELD_OBJ_GFX_BIG_SNORLAX_DOLL, 177
- .set FIELD_OBJ_GFX_BIG_RHYDON_DOLL, 178
- .set FIELD_OBJ_GFX_BIG_LAPRAS_DOLL, 179
- .set FIELD_OBJ_GFX_BIG_VENUSAUR_DOLL, 180
- .set FIELD_OBJ_GFX_BIG_CHARIZARD_DOLL, 181
- .set FIELD_OBJ_GFX_BIG_BLASTOISE_DOLL, 182
- .set FIELD_OBJ_GFX_BIG_WAILMER_DOLL, 183
- .set FIELD_OBJ_GFX_BIG_REGIROCK_DOLL, 184
- .set FIELD_OBJ_GFX_BIG_REGICE_DOLL, 185
- .set FIELD_OBJ_GFX_BIG_REGISTEEL_DOLL, 186
- .set FIELD_OBJ_GFX_LATIAS, 187
- .set FIELD_OBJ_GFX_LATIOS, 188
- .set FIELD_OBJ_GFX_BOY_5, 189
- .set FIELD_OBJ_GFX_CONTEST_OLD_MAN, 190
- .set FIELD_OBJ_GFX_BRENDAN_WATERING, 191
- .set FIELD_OBJ_GFX_MAY_WATERING, 192
- .set FIELD_OBJ_GFX_BRENDAN_UNKNOWN, 193
- .set FIELD_OBJ_GFX_MAY_UNKNOWN, 194
- .set FIELD_OBJ_GFX_ARCHIE, 195
- .set FIELD_OBJ_GFX_MAXIE, 196
- .set FIELD_OBJ_GFX_KYOGRE_1, 197
- .set FIELD_OBJ_GFX_GROUDON_1, 198
- .set FIELD_OBJ_GFX_FOSSIL, 199
- .set FIELD_OBJ_GFX_REGIROCK, 200
- .set FIELD_OBJ_GFX_REGICE, 201
- .set FIELD_OBJ_GFX_REGISTEEL, 202
- .set FIELD_OBJ_GFX_SKITTY, 203
- .set FIELD_OBJ_GFX_KECLEON_1, 204
- .set FIELD_OBJ_GFX_KYOGRE_2, 205
- .set FIELD_OBJ_GFX_GROUDON_2, 206
- .set FIELD_OBJ_GFX_RAYQUAZA_2, 207
- .set FIELD_OBJ_GFX_ZIGZAGOON, 208
- .set FIELD_OBJ_GFX_PIKACHU, 209
- .set FIELD_OBJ_GFX_AZUMARILL, 210
- .set FIELD_OBJ_GFX_WINGULL, 211
- .set FIELD_OBJ_GFX_KECLEON_2, 212
- .set FIELD_OBJ_GFX_TUBER_M_SWIMMING, 213
- .set FIELD_OBJ_GFX_AZURILL, 214
- .set FIELD_OBJ_GFX_MOM, 215
- .set FIELD_OBJ_GFX_LINK_BRENDAN, 216
- .set FIELD_OBJ_GFX_LINK_MAY, 217
- .set FIELD_OBJ_GFX_JUAN, 218
- .set FIELD_OBJ_GFX_SCOTT, 219
- .set FIELD_OBJ_GFX_POOCHYENA, 220
- .set FIELD_OBJ_GFX_KYOGRE_3, 221
- .set FIELD_OBJ_GFX_GROUDON_3, 222
- .set FIELD_OBJ_GFX_MYSTERY_EVENT_DELIVERYMAN, 223
- .set FIELD_OBJ_GFX_STATUE, 224
- .set FIELD_OBJ_GFX_KIRLIA, 225
- .set FIELD_OBJ_GFX_DUSCLOPS, 226
- .set FIELD_OBJ_GFX_UNION_ROOM_ATTENDANT, 227
- .set FIELD_OBJ_GFX_SUDOWOODO, 228
- .set FIELD_OBJ_GFX_MEW, 229
- .set FIELD_OBJ_GFX_RED, 230
- .set FIELD_OBJ_GFX_LEAF, 231
- .set FIELD_OBJ_GFX_DEOXYS, 232
- .set FIELD_OBJ_GFX_BIRTH_ISLAND_STONE, 233
- .set FIELD_OBJ_GFX_BRANDON, 234
- .set FIELD_OBJ_GFX_RUBY_SAPPHIRE_BRENDAN, 235
- .set FIELD_OBJ_GFX_RUBY_SAPPHIRE_MAY, 236
- .set FIELD_OBJ_GFX_LUGIA, 237
- .set FIELD_OBJ_GFX_HO_OH, 238
-
- .set SHADOW_SIZE_S, 0
- .set SHADOW_SIZE_M, 1
- .set SHADOW_SIZE_L, 2
- .set SHADOW_SIZE_XL, 3
-
- .set F_INANIMATE, 1 << 6
- .set F_DISABLE_REFLECTION_PALETTE_LOAD, 1 << 7
-
- .set TRACKS_NONE, 0
- .set TRACKS_FOOT, 1
- .set TRACKS_BIKE_TIRE, 2
diff --git a/constants/flags.inc b/constants/flags.inc
deleted file mode 100644
index 66663cb65..000000000
--- a/constants/flags.inc
+++ /dev/null
@@ -1,1574 +0,0 @@
- .equiv FLAG_0x001, 0x1
- .equiv FLAG_0x002, 0x2
- .equiv FLAG_0x003, 0x3
- .equiv FLAG_0x004, 0x4
- .equiv FLAG_0x005, 0x5
- .equiv FLAG_0x006, 0x6
- .equiv FLAG_0x007, 0x7
- .equiv FLAG_0x008, 0x8
- .equiv FLAG_0x009, 0x9
- .equiv FLAG_0x00A, 0xA
- .equiv FLAG_0x00B, 0xB
- .equiv FLAG_0x00C, 0xC
- .equiv FLAG_0x00D, 0xD
- .equiv FLAG_0x00E, 0xE
- .equiv FLAG_0x00F, 0xF
- .equiv FLAG_0x010, 0x10
- .equiv FLAG_0x011, 0x11
- .equiv FLAG_0x012, 0x12
- .equiv FLAG_0x013, 0x13
- .equiv FLAG_0x014, 0x14
- .equiv FLAG_0x015, 0x15
- .equiv FLAG_0x016, 0x16
- .equiv FLAG_0x017, 0x17
- .equiv FLAG_0x018, 0x18
- .equiv FLAG_0x019, 0x19
- .equiv FLAG_0x01A, 0x1A
- .equiv FLAG_0x01B, 0x1B
- .equiv FLAG_0x01C, 0x1C
- .equiv FLAG_0x01D, 0x1D
- .equiv FLAG_0x01E, 0x1E
- .equiv FLAG_0x01F, 0x1F
- .equiv FLAG_0x020, 0x20
- .equiv FLAG_0x021, 0x21
- .equiv FLAG_0x022, 0x22
- .equiv FLAG_0x023, 0x23
- .equiv FLAG_0x024, 0x24
- .equiv FLAG_0x025, 0x25
- .equiv FLAG_0x026, 0x26
- .equiv FLAG_0x027, 0x27
- .equiv FLAG_0x028, 0x28
- .equiv FLAG_0x029, 0x29
- .equiv FLAG_0x02A, 0x2A
- .equiv FLAG_0x02B, 0x2B
- .equiv FLAG_0x02C, 0x2C
- .equiv FLAG_0x02D, 0x2D
- .equiv FLAG_0x02E, 0x2E
- .equiv FLAG_0x02F, 0x2F
- .equiv FLAG_0x030, 0x30
- .equiv FLAG_0x031, 0x31
- .equiv FLAG_0x032, 0x32
- .equiv FLAG_0x033, 0x33
- .equiv FLAG_0x034, 0x34
- .equiv FLAG_0x035, 0x35
- .equiv FLAG_0x036, 0x36
- .equiv FLAG_0x037, 0x37
- .equiv FLAG_0x038, 0x38
- .equiv FLAG_0x039, 0x39
- .equiv FLAG_0x03A, 0x3A
- .equiv FLAG_0x03B, 0x3B
- .equiv FLAG_0x03C, 0x3C
- .equiv FLAG_0x03D, 0x3D
- .equiv FLAG_0x03E, 0x3E
- .equiv FLAG_0x03F, 0x3F
- .equiv FLAG_0x040, 0x40
- .equiv FLAG_0x041, 0x41
- .equiv FLAG_0x042, 0x42
- .equiv FLAG_0x043, 0x43
- .equiv FLAG_0x044, 0x44
- .equiv FLAG_0x045, 0x45
- .equiv FLAG_0x046, 0x46
- .equiv FLAG_0x047, 0x47
- .equiv FLAG_0x048, 0x48
- .equiv FLAG_0x049, 0x49
- .equiv FLAG_0x04A, 0x4A
- .equiv FLAG_0x04B, 0x4B
- .equiv FLAG_0x04C, 0x4C
- .equiv FLAG_0x04D, 0x4D
- .equiv FLAG_0x04E, 0x4E
- .equiv FLAG_0x04F, 0x4F
- .equiv FLAG_0x050, 0x50
- .equiv FLAG_0x051, 0x51
- .equiv FLAG_0x052, 0x52
- .equiv FLAG_LEGENDARIES_IN_SOOTOPOLIS, 0x53
- .equiv FLAG_0x054, 0x54
- .equiv FLAG_0x055, 0x55
- .equiv FLAG_0x056, 0x56
- .equiv FLAG_0x057, 0x57
- .equiv FLAG_0x058, 0x58
- .equiv FLAG_0x059, 0x59
- .equiv FLAG_0x05A, 0x5A
- .equiv FLAG_0x05B, 0x5B
- .equiv FLAG_0x05C, 0x5C
- .equiv FLAG_0x05D, 0x5D
- .equiv FLAG_0x05E, 0x5E
- .equiv FLAG_0x05F, 0x5F
- .equiv FLAG_0x060, 0x60
- .equiv FLAG_0x061, 0x61
- .equiv FLAG_0x062, 0x62
- .equiv FLAG_0x063, 0x63
- .equiv FLAG_0x064, 0x64
- .equiv FLAG_0x065, 0x65
- .equiv FLAG_0x066, 0x66
- .equiv FLAG_0x067, 0x67
- .equiv FLAG_0x068, 0x68
- .equiv FLAG_0x069, 0x69
- .equiv FLAG_0x06A, 0x6A
- .equiv FLAG_0x06B, 0x6B
- .equiv FLAG_0x06C, 0x6C
- .equiv FLAG_0x06D, 0x6D
- .equiv FLAG_0x06E, 0x6E
- .equiv FLAG_0x06F, 0x6F
- .equiv FLAG_0x070, 0x70
- .equiv FLAG_0x071, 0x71
- .equiv FLAG_0x072, 0x72
- .equiv FLAG_0x073, 0x73
- .equiv FLAG_0x074, 0x74
- .equiv FLAG_0x075, 0x75
- .equiv FLAG_0x076, 0x76
- .equiv FLAG_0x077, 0x77
- .equiv FLAG_0x078, 0x78
- .equiv FLAG_0x079, 0x79
- .equiv FLAG_0x07A, 0x7A
- .equiv FLAG_0x07B, 0x7B
- .equiv FLAG_0x07C, 0x7C
- .equiv FLAG_0x07D, 0x7D
- .equiv FLAG_0x07E, 0x7E
- .equiv FLAG_0x07F, 0x7F
- .equiv FLAG_0x080, 0x80
- .equiv FLAG_0x081, 0x81
- .equiv FLAG_0x082, 0x82
- .equiv FLAG_0x083, 0x83
- .equiv FLAG_0x084, 0x84
- .equiv FLAG_0x085, 0x85
- .equiv FLAG_PENDING_DAYCARE_EGG, 0x86
- .equiv FLAG_0x087, 0x87
- .equiv FLAG_0x088, 0x88
- .equiv FLAG_0x089, 0x89
- .equiv FLAG_0x08A, 0x8A
- .equiv FLAG_0x08B, 0x8B
- .equiv FLAG_0x08C, 0x8C
- .equiv FLAG_0x08D, 0x8D
- .equiv FLAG_0x08E, 0x8E
- .equiv FLAG_0x08F, 0x8F
- .equiv FLAG_0x090, 0x90
- .equiv FLAG_0x091, 0x91
- .equiv FLAG_0x092, 0x92
- .equiv FLAG_0x093, 0x93
- .equiv FLAG_0x094, 0x94
- .equiv FLAG_0x095, 0x95
- .equiv FLAG_0x096, 0x96
- .equiv FLAG_0x097, 0x97
- .equiv FLAG_0x098, 0x98
- .equiv FLAG_0x099, 0x99
- .equiv FLAG_0x09A, 0x9A
- .equiv FLAG_0x09B, 0x9B
- .equiv FLAG_0x09C, 0x9C
- .equiv FLAG_0x09D, 0x9D
- .equiv FLAG_0x09E, 0x9E
- .equiv FLAG_0x09F, 0x9F
- .equiv FLAG_0x0A0, 0xA0
- .equiv FLAG_0x0A1, 0xA1
- .equiv FLAG_0x0A2, 0xA2
- .equiv FLAG_0x0A3, 0xA3
- .equiv FLAG_0x0A4, 0xA4
- .equiv FLAG_0x0A5, 0xA5
- .equiv FLAG_0x0A6, 0xA6
- .equiv FLAG_0x0A7, 0xA7
- .equiv FLAG_0x0A8, 0xA8
- .equiv FLAG_0x0A9, 0xA9
- .equiv FLAG_0x0AA, 0xAA
- .equiv FLAG_0x0AB, 0xAB
- .equiv FLAG_0x0AC, 0xAC
- .equiv FLAG_0x0AD, 0xAD
- .equiv FLAG_0x0AE, 0xAE
- .equiv FLAG_0x0AF, 0xAF
- .equiv FLAG_0x0B0, 0xB0
- .equiv FLAG_0x0B1, 0xB1
- .equiv FLAG_0x0B2, 0xB2
- .equiv FLAG_0x0B3, 0xB3
- .equiv FLAG_0x0B4, 0xB4
- .equiv FLAG_0x0B5, 0xB5
- .equiv FLAG_0x0B6, 0xB6
- .equiv FLAG_0x0B7, 0xB7
- .equiv FLAG_0x0B8, 0xB8
- .equiv FLAG_0x0B9, 0xB9
- .equiv FLAG_0x0BA, 0xBA
- .equiv FLAG_0x0BB, 0xBB
- .equiv FLAG_0x0BC, 0xBC
- .equiv FLAG_0x0BD, 0xBD
- .equiv FLAG_0x0BE, 0xBE
- .equiv FLAG_0x0BF, 0xBF
- .equiv FLAG_0x0C0, 0xC0
- .equiv FLAG_0x0C1, 0xC1
- .equiv FLAG_0x0C2, 0xC2
- .equiv FLAG_0x0C3, 0xC3
- .equiv FLAG_0x0C4, 0xC4
- .equiv FLAG_0x0C5, 0xC5
- .equiv FLAG_0x0C6, 0xC6
- .equiv FLAG_0x0C7, 0xC7
- .equiv FLAG_0x0C8, 0xC8
- .equiv FLAG_0x0C9, 0xC9
- .equiv FLAG_0x0CA, 0xCA
- .equiv FLAG_0x0CB, 0xCB
- .equiv FLAG_0x0CC, 0xCC
- .equiv FLAG_0x0CD, 0xCD
- .equiv FLAG_0x0CE, 0xCE
- .equiv FLAG_0x0CF, 0xCF
- .equiv FLAG_0x0D0, 0xD0
- .equiv FLAG_0x0D1, 0xD1
- .equiv FLAG_0x0D2, 0xD2
- .equiv FLAG_0x0D3, 0xD3
- .equiv FLAG_0x0D4, 0xD4
- .equiv FLAG_0x0D5, 0xD5
- .equiv FLAG_0x0D6, 0xD6
- .equiv FLAG_0x0D7, 0xD7
- .equiv FLAG_0x0D8, 0xD8
- .equiv FLAG_0x0D9, 0xD9
- .equiv FLAG_0x0DA, 0xDA
- .equiv FLAG_0x0DB, 0xDB
- .equiv FLAG_0x0DC, 0xDC
- .equiv FLAG_0x0DD, 0xDD
- .equiv FLAG_0x0DE, 0xDE
- .equiv FLAG_0x0DF, 0xDF
- .equiv FLAG_0x0E0, 0xE0
- .equiv FLAG_0x0E1, 0xE1
- .equiv FLAG_0x0E2, 0xE2
- .equiv FLAG_0x0E3, 0xE3
- .equiv FLAG_0x0E4, 0xE4
- .equiv FLAG_0x0E5, 0xE5
- .equiv FLAG_0x0E6, 0xE6
- .equiv FLAG_0x0E7, 0xE7
- .equiv FLAG_0x0E8, 0xE8
- .equiv FLAG_0x0E9, 0xE9
- .equiv FLAG_0x0EA, 0xEA
- .equiv FLAG_0x0EB, 0xEB
- .equiv FLAG_0x0EC, 0xEC
- .equiv FLAG_0x0ED, 0xED
- .equiv FLAG_0x0EE, 0xEE
- .equiv FLAG_0x0EF, 0xEF
- .equiv FLAG_0x0F0, 0xF0
- .equiv FLAG_0x0F1, 0xF1
- .equiv FLAG_0x0F2, 0xF2
- .equiv FLAG_0x0F3, 0xF3
- .equiv FLAG_0x0F4, 0xF4
- .equiv FLAG_0x0F5, 0xF5
- .equiv FLAG_0x0F6, 0xF6
- .equiv FLAG_0x0F7, 0xF7
- .equiv FLAG_0x0F8, 0xF8
- .equiv FLAG_0x0F9, 0xF9
- .equiv FLAG_0x0FA, 0xFA
- .equiv FLAG_0x0FB, 0xFB
- .equiv FLAG_0x0FC, 0xFC
- .equiv FLAG_0x0FD, 0xFD
- .equiv FLAG_0x0FE, 0xFE
- .equiv FLAG_0x0FF, 0xFF
- .equiv FLAG_0x100, 0x100
- .equiv FLAG_0x101, 0x101
- .equiv FLAG_0x102, 0x102
- .equiv FLAG_0x103, 0x103
- .equiv FLAG_0x104, 0x104
- .equiv FLAG_0x105, 0x105
- .equiv FLAG_0x106, 0x106
- .equiv FLAG_0x107, 0x107
- .equiv FLAG_0x108, 0x108
- .equiv FLAG_0x109, 0x109
- .equiv FLAG_0x10A, 0x10A
- .equiv FLAG_0x10B, 0x10B
- .equiv FLAG_0x10C, 0x10C
- .equiv FLAG_0x10D, 0x10D
- .equiv FLAG_0x10E, 0x10E
- .equiv FLAG_0x10F, 0x10F
- .equiv FLAG_0x110, 0x110
- .equiv FLAG_0x111, 0x111
- .equiv FLAG_0x112, 0x112
- .equiv FLAG_0x113, 0x113
- .equiv FLAG_0x114, 0x114
- .equiv FLAG_0x115, 0x115
- .equiv FLAG_0x116, 0x116
- .equiv FLAG_0x117, 0x117
- .equiv FLAG_0x118, 0x118
- .equiv FLAG_0x119, 0x119
- .equiv FLAG_0x11A, 0x11A
- .equiv FLAG_0x11B, 0x11B
- .equiv FLAG_0x11C, 0x11C
- .equiv FLAG_0x11D, 0x11D
- .equiv FLAG_0x11E, 0x11E
- .equiv FLAG_0x11F, 0x11F
- .equiv FLAG_0x120, 0x120
- .equiv FLAG_0x121, 0x121
- .equiv FLAG_0x122, 0x122
- .equiv FLAG_0x123, 0x123
- .equiv FLAG_0x124, 0x124
- .equiv FLAG_0x125, 0x125
- .equiv FLAG_0x126, 0x126
- .equiv FLAG_0x127, 0x127
- .equiv FLAG_0x128, 0x128
- .equiv FLAG_0x129, 0x129
- .equiv FLAG_0x12A, 0x12A
- .equiv FLAG_0x12B, 0x12B
- .equiv FLAG_0x12C, 0x12C
- .equiv FLAG_0x12D, 0x12D
- .equiv FLAG_0x12E, 0x12E
- .equiv FLAG_0x12F, 0x12F
- .equiv FLAG_0x130, 0x130
- .equiv FLAG_0x131, 0x131
- .equiv FLAG_0x132, 0x132
- .equiv FLAG_0x133, 0x133
- .equiv FLAG_0x134, 0x134
- .equiv FLAG_0x135, 0x135
- .equiv FLAG_0x136, 0x136
- .equiv FLAG_0x137, 0x137
- .equiv FLAG_0x138, 0x138
- .equiv FLAG_0x139, 0x139
- .equiv FLAG_0x13A, 0x13A
- .equiv FLAG_0x13B, 0x13B
- .equiv FLAG_0x13C, 0x13C
- .equiv FLAG_0x13D, 0x13D
- .equiv FLAG_0x13E, 0x13E
- .equiv FLAG_0x13F, 0x13F
- .equiv FLAG_0x140, 0x140
- .equiv FLAG_0x141, 0x141
- .equiv FLAG_0x142, 0x142
- .equiv FLAG_0x143, 0x143
- .equiv FLAG_0x144, 0x144
- .equiv FLAG_0x145, 0x145
- .equiv FLAG_0x146, 0x146
- .equiv FLAG_0x147, 0x147
- .equiv FLAG_0x148, 0x148
- .equiv FLAG_0x149, 0x149
- .equiv FLAG_0x14A, 0x14A
- .equiv FLAG_0x14B, 0x14B
- .equiv FLAG_0x14C, 0x14C
- .equiv FLAG_0x14D, 0x14D
- .equiv FLAG_0x14E, 0x14E
- .equiv FLAG_0x14F, 0x14F
- .equiv FLAG_0x150, 0x150
- .equiv FLAG_0x151, 0x151
- .equiv FLAG_0x152, 0x152
- .equiv FLAG_0x153, 0x153
- .equiv FLAG_0x154, 0x154
- .equiv FLAG_0x155, 0x155
- .equiv FLAG_0x156, 0x156
- .equiv FLAG_0x157, 0x157
- .equiv FLAG_0x158, 0x158
- .equiv FLAG_0x159, 0x159
- .equiv FLAG_0x15A, 0x15A
- .equiv FLAG_0x15B, 0x15B
- .equiv FLAG_0x15C, 0x15C
- .equiv FLAG_0x15D, 0x15D
- .equiv FLAG_0x15E, 0x15E
- .equiv FLAG_0x15F, 0x15F
- .equiv FLAG_0x160, 0x160
- .equiv FLAG_0x161, 0x161
- .equiv FLAG_0x162, 0x162
- .equiv FLAG_0x163, 0x163
- .equiv FLAG_0x164, 0x164
- .equiv FLAG_0x165, 0x165
- .equiv FLAG_0x166, 0x166
- .equiv FLAG_0x167, 0x167
- .equiv FLAG_0x168, 0x168
- .equiv FLAG_0x169, 0x169
- .equiv FLAG_0x16A, 0x16A
- .equiv FLAG_0x16B, 0x16B
- .equiv FLAG_0x16C, 0x16C
- .equiv FLAG_0x16D, 0x16D
- .equiv FLAG_0x16E, 0x16E
- .equiv FLAG_0x16F, 0x16F
- .equiv FLAG_0x170, 0x170
- .equiv FLAG_0x171, 0x171
- .equiv FLAG_0x172, 0x172
- .equiv FLAG_0x173, 0x173
- .equiv FLAG_0x174, 0x174
- .equiv FLAG_0x175, 0x175
- .equiv FLAG_0x176, 0x176
- .equiv FLAG_0x177, 0x177
- .equiv FLAG_0x178, 0x178
- .equiv FLAG_0x179, 0x179
- .equiv FLAG_0x17A, 0x17A
- .equiv FLAG_0x17B, 0x17B
- .equiv FLAG_0x17C, 0x17C
- .equiv FLAG_0x17D, 0x17D
- .equiv FLAG_0x17E, 0x17E
- .equiv FLAG_0x17F, 0x17F
- .equiv FLAG_0x180, 0x180
- .equiv FLAG_0x181, 0x181
- .equiv FLAG_0x182, 0x182
- .equiv FLAG_0x183, 0x183
- .equiv FLAG_0x184, 0x184
- .equiv FLAG_0x185, 0x185
- .equiv FLAG_0x186, 0x186
- .equiv FLAG_0x187, 0x187
- .equiv FLAG_0x188, 0x188
- .equiv FLAG_0x189, 0x189
- .equiv FLAG_0x18A, 0x18A
- .equiv FLAG_0x18B, 0x18B
- .equiv FLAG_0x18C, 0x18C
- .equiv FLAG_0x18D, 0x18D
- .equiv FLAG_0x18E, 0x18E
- .equiv FLAG_0x18F, 0x18F
- .equiv FLAG_0x190, 0x190
- .equiv FLAG_0x191, 0x191
- .equiv FLAG_0x192, 0x192
- .equiv FLAG_0x193, 0x193
- .equiv FLAG_0x194, 0x194
- .equiv FLAG_0x195, 0x195
- .equiv FLAG_0x196, 0x196
- .equiv FLAG_0x197, 0x197
- .equiv FLAG_0x198, 0x198
- .equiv FLAG_0x199, 0x199
- .equiv FLAG_0x19A, 0x19A
- .equiv FLAG_0x19B, 0x19B
- .equiv FLAG_0x19C, 0x19C
- .equiv FLAG_0x19D, 0x19D
- .equiv FLAG_0x19E, 0x19E
- .equiv FLAG_0x19F, 0x19F
- .equiv FLAG_0x1A0, 0x1A0
- .equiv FLAG_0x1A1, 0x1A1
- .equiv FLAG_0x1A2, 0x1A2
- .equiv FLAG_0x1A3, 0x1A3
- .equiv FLAG_0x1A4, 0x1A4
- .equiv FLAG_0x1A5, 0x1A5
- .equiv FLAG_0x1A6, 0x1A6
- .equiv FLAG_0x1A7, 0x1A7
- .equiv FLAG_0x1A8, 0x1A8
- .equiv FLAG_0x1A9, 0x1A9
- .equiv FLAG_0x1AA, 0x1AA
- .equiv FLAG_0x1AB, 0x1AB
- .equiv FLAG_0x1AC, 0x1AC
- .equiv FLAG_0x1AD, 0x1AD
- .equiv FLAG_0x1AE, 0x1AE
- .equiv FLAG_0x1AF, 0x1AF
- .equiv FLAG_0x1B0, 0x1B0
- .equiv FLAG_0x1B1, 0x1B1
- .equiv FLAG_0x1B2, 0x1B2
- .equiv FLAG_0x1B3, 0x1B3
- .equiv FLAG_0x1B4, 0x1B4
- .equiv FLAG_0x1B5, 0x1B5
- .equiv FLAG_0x1B6, 0x1B6
- .equiv FLAG_0x1B7, 0x1B7
- .equiv FLAG_0x1B8, 0x1B8
- .equiv FLAG_0x1B9, 0x1B9
- .equiv FLAG_0x1BA, 0x1BA
- .equiv FLAG_0x1BB, 0x1BB
- .equiv FLAG_0x1BC, 0x1BC
- .equiv FLAG_0x1BD, 0x1BD
- .equiv FLAG_0x1BE, 0x1BE
- .equiv FLAG_0x1BF, 0x1BF
- .equiv FLAG_0x1C0, 0x1C0
- .equiv FLAG_0x1C1, 0x1C1
- .equiv FLAG_0x1C2, 0x1C2
- .equiv FLAG_0x1C3, 0x1C3
- .equiv FLAG_0x1C4, 0x1C4
- .equiv FLAG_0x1C5, 0x1C5
- .equiv FLAG_0x1C6, 0x1C6
- .equiv FLAG_0x1C7, 0x1C7
- .equiv FLAG_0x1C8, 0x1C8
- .equiv FLAG_0x1C9, 0x1C9
- .equiv FLAG_0x1CA, 0x1CA
- .equiv FLAG_0x1CB, 0x1CB
- .equiv FLAG_0x1CC, 0x1CC
- .equiv FLAG_0x1CD, 0x1CD
- .equiv FLAG_0x1CE, 0x1CE
- .equiv FLAG_0x1CF, 0x1CF
- .equiv FLAG_0x1D0, 0x1D0
- .equiv FLAG_0x1D1, 0x1D1
- .equiv FLAG_0x1D2, 0x1D2
- .equiv FLAG_0x1D3, 0x1D3
- .equiv FLAG_0x1D4, 0x1D4
- .equiv FLAG_0x1D5, 0x1D5
- .equiv FLAG_0x1D6, 0x1D6
- .equiv FLAG_0x1D7, 0x1D7
- .equiv FLAG_0x1D8, 0x1D8
- .equiv FLAG_0x1D9, 0x1D9
- .equiv FLAG_0x1DA, 0x1DA
- .equiv FLAG_0x1DB, 0x1DB
- .equiv FLAG_0x1DC, 0x1DC
- .equiv FLAG_0x1DD, 0x1DD
- .equiv FLAG_0x1DE, 0x1DE
- .equiv FLAG_0x1DF, 0x1DF
- .equiv FLAG_0x1E0, 0x1E0
- .equiv FLAG_0x1E1, 0x1E1
- .equiv FLAG_0x1E2, 0x1E2
- .equiv FLAG_0x1E3, 0x1E3
- .equiv FLAG_0x1E4, 0x1E4
- .equiv FLAG_0x1E5, 0x1E5
- .equiv FLAG_0x1E6, 0x1E6
- .equiv FLAG_0x1E7, 0x1E7
- .equiv FLAG_0x1E8, 0x1E8
- .equiv FLAG_0x1E9, 0x1E9
- .equiv FLAG_0x1EA, 0x1EA
- .equiv FLAG_0x1EB, 0x1EB
- .equiv FLAG_0x1EC, 0x1EC
- .equiv FLAG_0x1ED, 0x1ED
- .equiv FLAG_0x1EE, 0x1EE
- .equiv FLAG_0x1EF, 0x1EF
- .equiv FLAG_0x1F0, 0x1F0
- .equiv FLAG_0x1F1, 0x1F1
- .equiv FLAG_0x1F2, 0x1F2
- .equiv FLAG_0x1F3, 0x1F3
- .equiv FLAG_0x1F4, 0x1F4
- .equiv FLAG_0x1F5, 0x1F5
- .equiv FLAG_0x1F6, 0x1F6
- .equiv FLAG_0x1F7, 0x1F7
- .equiv FLAG_0x1F8, 0x1F8
- .equiv FLAG_0x1F9, 0x1F9
- .equiv FLAG_0x1FA, 0x1FA
- .equiv FLAG_0x1FB, 0x1FB
- .equiv FLAG_0x1FC, 0x1FC
- .equiv FLAG_0x1FD, 0x1FD
- .equiv FLAG_0x1FE, 0x1FE
- .equiv FLAG_0x1FF, 0x1FF
- .equiv FLAG_0x200, 0x200
- .equiv FLAG_0x201, 0x201
- .equiv FLAG_0x202, 0x202
- .equiv FLAG_0x203, 0x203
- .equiv FLAG_0x204, 0x204
- .equiv FLAG_0x205, 0x205
- .equiv FLAG_0x206, 0x206
- .equiv FLAG_0x207, 0x207
- .equiv FLAG_0x208, 0x208
- .equiv FLAG_0x209, 0x209
- .equiv FLAG_0x20A, 0x20A
- .equiv FLAG_0x20B, 0x20B
- .equiv FLAG_0x20C, 0x20C
- .equiv FLAG_0x20D, 0x20D
- .equiv FLAG_0x20E, 0x20E
- .equiv FLAG_0x20F, 0x20F
- .equiv FLAG_0x210, 0x210
- .equiv FLAG_0x211, 0x211
- .equiv FLAG_0x212, 0x212
- .equiv FLAG_0x213, 0x213
- .equiv FLAG_0x214, 0x214
- .equiv FLAG_0x215, 0x215
- .equiv FLAG_0x216, 0x216
- .equiv FLAG_0x217, 0x217
- .equiv FLAG_0x218, 0x218
- .equiv FLAG_0x219, 0x219
- .equiv FLAG_0x21A, 0x21A
- .equiv FLAG_0x21B, 0x21B
- .equiv FLAG_0x21C, 0x21C
- .equiv FLAG_0x21D, 0x21D
- .equiv FLAG_0x21E, 0x21E
- .equiv FLAG_0x21F, 0x21F
- .equiv FLAG_0x220, 0x220
- .equiv FLAG_0x221, 0x221
- .equiv FLAG_0x222, 0x222
- .equiv FLAG_0x223, 0x223
- .equiv FLAG_0x224, 0x224
- .equiv FLAG_0x225, 0x225
- .equiv FLAG_0x226, 0x226
- .equiv FLAG_0x227, 0x227
- .equiv FLAG_0x228, 0x228
- .equiv FLAG_0x229, 0x229
- .equiv FLAG_0x22A, 0x22A
- .equiv FLAG_0x22B, 0x22B
- .equiv FLAG_0x22C, 0x22C
- .equiv FLAG_0x22D, 0x22D
- .equiv FLAG_0x22E, 0x22E
- .equiv FLAG_0x22F, 0x22F
- .equiv FLAG_0x230, 0x230
- .equiv FLAG_0x231, 0x231
- .equiv FLAG_0x232, 0x232
- .equiv FLAG_0x233, 0x233
- .equiv FLAG_0x234, 0x234
- .equiv FLAG_0x235, 0x235
- .equiv FLAG_0x236, 0x236
- .equiv FLAG_0x237, 0x237
- .equiv FLAG_0x238, 0x238
- .equiv FLAG_0x239, 0x239
- .equiv FLAG_0x23A, 0x23A
- .equiv FLAG_0x23B, 0x23B
- .equiv FLAG_0x23C, 0x23C
- .equiv FLAG_0x23D, 0x23D
- .equiv FLAG_0x23E, 0x23E
- .equiv FLAG_0x23F, 0x23F
- .equiv FLAG_0x240, 0x240
- .equiv FLAG_0x241, 0x241
- .equiv FLAG_0x242, 0x242
- .equiv FLAG_0x243, 0x243
- .equiv FLAG_0x244, 0x244
- .equiv FLAG_0x245, 0x245
- .equiv FLAG_0x246, 0x246
- .equiv FLAG_0x247, 0x247
- .equiv FLAG_0x248, 0x248
- .equiv FLAG_0x249, 0x249
- .equiv FLAG_0x24A, 0x24A
- .equiv FLAG_0x24B, 0x24B
- .equiv FLAG_0x24C, 0x24C
- .equiv FLAG_0x24D, 0x24D
- .equiv FLAG_0x24E, 0x24E
- .equiv FLAG_0x24F, 0x24F
- .equiv FLAG_0x250, 0x250
- .equiv FLAG_0x251, 0x251
- .equiv FLAG_0x252, 0x252
- .equiv FLAG_0x253, 0x253
- .equiv FLAG_0x254, 0x254
- .equiv FLAG_0x255, 0x255
- .equiv FLAG_0x256, 0x256
- .equiv FLAG_0x257, 0x257
- .equiv FLAG_0x258, 0x258
- .equiv FLAG_0x259, 0x259
- .equiv FLAG_0x25A, 0x25A
- .equiv FLAG_0x25B, 0x25B
- .equiv FLAG_0x25C, 0x25C
- .equiv FLAG_0x25D, 0x25D
- .equiv FLAG_0x25E, 0x25E
- .equiv FLAG_0x25F, 0x25F
- .equiv FLAG_0x260, 0x260
- .equiv FLAG_0x261, 0x261
- .equiv FLAG_0x262, 0x262
- .equiv FLAG_0x263, 0x263
- .equiv FLAG_0x264, 0x264
- .equiv FLAG_0x265, 0x265
- .equiv FLAG_0x266, 0x266
- .equiv FLAG_0x267, 0x267
- .equiv FLAG_0x268, 0x268
- .equiv FLAG_0x269, 0x269
- .equiv FLAG_0x26A, 0x26A
- .equiv FLAG_0x26B, 0x26B
- .equiv FLAG_0x26C, 0x26C
- .equiv FLAG_0x26D, 0x26D
- .equiv FLAG_0x26E, 0x26E
- .equiv FLAG_0x26F, 0x26F
- .equiv FLAG_0x270, 0x270
- .equiv FLAG_0x271, 0x271
- .equiv FLAG_0x272, 0x272
- .equiv FLAG_0x273, 0x273
- .equiv FLAG_0x274, 0x274
- .equiv FLAG_0x275, 0x275
- .equiv FLAG_0x276, 0x276
- .equiv FLAG_0x277, 0x277
- .equiv FLAG_0x278, 0x278
- .equiv FLAG_0x279, 0x279
- .equiv FLAG_0x27A, 0x27A
- .equiv FLAG_0x27B, 0x27B
- .equiv FLAG_0x27C, 0x27C
- .equiv FLAG_0x27D, 0x27D
- .equiv FLAG_0x27E, 0x27E
- .equiv FLAG_0x27F, 0x27F
- .equiv FLAG_0x280, 0x280
- .equiv FLAG_0x281, 0x281
- .equiv FLAG_0x282, 0x282
- .equiv FLAG_0x283, 0x283
- .equiv FLAG_0x284, 0x284
- .equiv FLAG_0x285, 0x285
- .equiv FLAG_0x286, 0x286
- .equiv FLAG_0x287, 0x287
- .equiv FLAG_0x288, 0x288
- .equiv FLAG_0x289, 0x289
- .equiv FLAG_0x28A, 0x28A
- .equiv FLAG_0x28B, 0x28B
- .equiv FLAG_0x28C, 0x28C
- .equiv FLAG_0x28D, 0x28D
- .equiv FLAG_0x28E, 0x28E
- .equiv FLAG_0x28F, 0x28F
- .equiv FLAG_0x290, 0x290
- .equiv FLAG_0x291, 0x291
- .equiv FLAG_0x292, 0x292
- .equiv FLAG_0x293, 0x293
- .equiv FLAG_0x294, 0x294
- .equiv FLAG_0x295, 0x295
- .equiv FLAG_0x296, 0x296
- .equiv FLAG_0x297, 0x297
- .equiv FLAG_0x298, 0x298
- .equiv FLAG_0x299, 0x299
- .equiv FLAG_0x29A, 0x29A
- .equiv FLAG_0x29B, 0x29B
- .equiv FLAG_0x29C, 0x29C
- .equiv FLAG_0x29D, 0x29D
- .equiv FLAG_0x29E, 0x29E
- .equiv FLAG_0x29F, 0x29F
- .equiv FLAG_0x2A0, 0x2A0
- .equiv FLAG_0x2A1, 0x2A1
- .equiv FLAG_0x2A2, 0x2A2
- .equiv FLAG_0x2A3, 0x2A3
- .equiv FLAG_0x2A4, 0x2A4
- .equiv FLAG_0x2A5, 0x2A5
- .equiv FLAG_0x2A6, 0x2A6
- .equiv FLAG_0x2A7, 0x2A7
- .equiv FLAG_0x2A8, 0x2A8
- .equiv FLAG_0x2A9, 0x2A9
- .equiv FLAG_0x2AA, 0x2AA
- .equiv FLAG_0x2AB, 0x2AB
- .equiv FLAG_0x2AC, 0x2AC
- .equiv FLAG_0x2AD, 0x2AD
- .equiv FLAG_0x2AE, 0x2AE
- .equiv FLAG_0x2AF, 0x2AF
- .equiv FLAG_0x2B0, 0x2B0
- .equiv FLAG_0x2B1, 0x2B1
- .equiv FLAG_0x2B2, 0x2B2
- .equiv FLAG_0x2B3, 0x2B3
- .equiv FLAG_0x2B4, 0x2B4
- .equiv FLAG_0x2B5, 0x2B5
- .equiv FLAG_0x2B6, 0x2B6
- .equiv FLAG_0x2B7, 0x2B7
- .equiv FLAG_0x2B8, 0x2B8
- .equiv FLAG_0x2B9, 0x2B9
- .equiv FLAG_0x2BA, 0x2BA
- .equiv FLAG_0x2BB, 0x2BB
- .equiv FLAG_0x2BC, 0x2BC
- .equiv FLAG_0x2BD, 0x2BD
- .equiv FLAG_0x2BE, 0x2BE
- .equiv FLAG_0x2BF, 0x2BF
- .equiv FLAG_0x2C0, 0x2C0
- .equiv FLAG_0x2C1, 0x2C1
- .equiv FLAG_0x2C2, 0x2C2
- .equiv FLAG_0x2C3, 0x2C3
- .equiv FLAG_0x2C4, 0x2C4
- .equiv FLAG_0x2C5, 0x2C5
- .equiv FLAG_0x2C6, 0x2C6
- .equiv FLAG_0x2C7, 0x2C7
- .equiv FLAG_0x2C8, 0x2C8
- .equiv FLAG_0x2C9, 0x2C9
- .equiv FLAG_0x2CA, 0x2CA
- .equiv FLAG_0x2CB, 0x2CB
- .equiv FLAG_0x2CC, 0x2CC
- .equiv FLAG_0x2CD, 0x2CD
- .equiv FLAG_0x2CE, 0x2CE
- .equiv FLAG_0x2CF, 0x2CF
- .equiv FLAG_0x2D0, 0x2D0
- .equiv FLAG_0x2D1, 0x2D1
- .equiv FLAG_0x2D2, 0x2D2
- .equiv FLAG_0x2D3, 0x2D3
- .equiv FLAG_0x2D4, 0x2D4
- .equiv FLAG_0x2D5, 0x2D5
- .equiv FLAG_0x2D6, 0x2D6
- .equiv FLAG_0x2D7, 0x2D7
- .equiv FLAG_0x2D8, 0x2D8
- .equiv FLAG_0x2D9, 0x2D9
- .equiv FLAG_0x2DA, 0x2DA
- .equiv FLAG_0x2DB, 0x2DB
- .equiv FLAG_0x2DC, 0x2DC
- .equiv FLAG_0x2DD, 0x2DD
- .equiv FLAG_0x2DE, 0x2DE
- .equiv FLAG_0x2DF, 0x2DF
- .equiv FLAG_0x2E0, 0x2E0
- .equiv FLAG_0x2E1, 0x2E1
- .equiv FLAG_0x2E2, 0x2E2
- .equiv FLAG_0x2E3, 0x2E3
- .equiv FLAG_0x2E4, 0x2E4
- .equiv FLAG_0x2E5, 0x2E5
- .equiv FLAG_0x2E6, 0x2E6
- .equiv FLAG_0x2E7, 0x2E7
- .equiv FLAG_0x2E8, 0x2E8
- .equiv FLAG_0x2E9, 0x2E9
- .equiv FLAG_0x2EA, 0x2EA
- .equiv FLAG_0x2EB, 0x2EB
- .equiv FLAG_0x2EC, 0x2EC
- .equiv FLAG_0x2ED, 0x2ED
- .equiv FLAG_0x2EE, 0x2EE
- .equiv FLAG_0x2EF, 0x2EF
- .equiv FLAG_0x2F0, 0x2F0
- .equiv FLAG_0x2F1, 0x2F1
- .equiv FLAG_0x2F2, 0x2F2
- .equiv FLAG_0x2F3, 0x2F3
- .equiv FLAG_0x2F4, 0x2F4
- .equiv FLAG_0x2F5, 0x2F5
- .equiv FLAG_0x2F6, 0x2F6
- .equiv FLAG_0x2F7, 0x2F7
- .equiv FLAG_0x2F8, 0x2F8
- .equiv FLAG_0x2F9, 0x2F9
- .equiv FLAG_0x2FA, 0x2FA
- .equiv FLAG_0x2FB, 0x2FB
- .equiv FLAG_0x2FC, 0x2FC
- .equiv FLAG_0x2FD, 0x2FD
- .equiv FLAG_0x2FE, 0x2FE
- .equiv FLAG_0x2FF, 0x2FF
- .equiv FLAG_0x300, 0x300
- .equiv FLAG_0x301, 0x301
- .equiv FLAG_0x302, 0x302
- .equiv FLAG_0x303, 0x303
- .equiv FLAG_0x304, 0x304
- .equiv FLAG_0x305, 0x305
- .equiv FLAG_0x306, 0x306
- .equiv FLAG_0x307, 0x307
- .equiv FLAG_0x308, 0x308
- .equiv FLAG_0x309, 0x309
- .equiv FLAG_0x30A, 0x30A
- .equiv FLAG_0x30B, 0x30B
- .equiv FLAG_0x30C, 0x30C
- .equiv FLAG_0x30D, 0x30D
- .equiv FLAG_0x30E, 0x30E
- .equiv FLAG_0x30F, 0x30F
- .equiv FLAG_0x310, 0x310
- .equiv FLAG_0x311, 0x311
- .equiv FLAG_0x312, 0x312
- .equiv FLAG_0x313, 0x313
- .equiv FLAG_0x314, 0x314
- .equiv FLAG_0x315, 0x315
- .equiv FLAG_0x316, 0x316
- .equiv FLAG_0x317, 0x317
- .equiv FLAG_0x318, 0x318
- .equiv FLAG_0x319, 0x319
- .equiv FLAG_0x31A, 0x31A
- .equiv FLAG_0x31B, 0x31B
- .equiv FLAG_0x31C, 0x31C
- .equiv FLAG_0x31D, 0x31D
- .equiv FLAG_0x31E, 0x31E
- .equiv FLAG_0x31F, 0x31F
- .equiv FLAG_0x320, 0x320
- .equiv FLAG_0x321, 0x321
- .equiv FLAG_0x322, 0x322
- .equiv FLAG_0x323, 0x323
- .equiv FLAG_0x324, 0x324
- .equiv FLAG_0x325, 0x325
- .equiv FLAG_0x326, 0x326
- .equiv FLAG_0x327, 0x327
- .equiv FLAG_0x328, 0x328
- .equiv FLAG_0x329, 0x329
- .equiv FLAG_0x32A, 0x32A
- .equiv FLAG_0x32B, 0x32B
- .equiv FLAG_0x32C, 0x32C
- .equiv FLAG_0x32D, 0x32D
- .equiv FLAG_0x32E, 0x32E
- .equiv FLAG_0x32F, 0x32F
- .equiv FLAG_0x330, 0x330
- .equiv FLAG_0x331, 0x331
- .equiv FLAG_0x332, 0x332
- .equiv FLAG_0x333, 0x333
- .equiv FLAG_0x334, 0x334
- .equiv FLAG_0x335, 0x335
- .equiv FLAG_0x336, 0x336
- .equiv FLAG_0x337, 0x337
- .equiv FLAG_0x338, 0x338
- .equiv FLAG_0x339, 0x339
- .equiv FLAG_0x33A, 0x33A
- .equiv FLAG_0x33B, 0x33B
- .equiv FLAG_0x33C, 0x33C
- .equiv FLAG_0x33D, 0x33D
- .equiv FLAG_0x33E, 0x33E
- .equiv FLAG_0x33F, 0x33F
- .equiv FLAG_0x340, 0x340
- .equiv FLAG_0x341, 0x341
- .equiv FLAG_0x342, 0x342
- .equiv FLAG_0x343, 0x343
- .equiv FLAG_0x344, 0x344
- .equiv FLAG_0x345, 0x345
- .equiv FLAG_0x346, 0x346
- .equiv FLAG_0x347, 0x347
- .equiv FLAG_0x348, 0x348
- .equiv FLAG_0x349, 0x349
- .equiv FLAG_0x34A, 0x34A
- .equiv FLAG_0x34B, 0x34B
- .equiv FLAG_0x34C, 0x34C
- .equiv FLAG_0x34D, 0x34D
- .equiv FLAG_0x34E, 0x34E
- .equiv FLAG_0x34F, 0x34F
- .equiv FLAG_0x350, 0x350
- .equiv FLAG_0x351, 0x351
- .equiv FLAG_0x352, 0x352
- .equiv FLAG_0x353, 0x353
- .equiv FLAG_0x354, 0x354
- .equiv FLAG_0x355, 0x355
- .equiv FLAG_0x356, 0x356
- .equiv FLAG_0x357, 0x357
- .equiv FLAG_0x358, 0x358
- .equiv FLAG_0x359, 0x359
- .equiv FLAG_0x35A, 0x35A
- .equiv FLAG_0x35B, 0x35B
- .equiv FLAG_0x35C, 0x35C
- .equiv FLAG_0x35D, 0x35D
- .equiv FLAG_0x35E, 0x35E
- .equiv FLAG_0x35F, 0x35F
- .equiv FLAG_0x360, 0x360
- .equiv FLAG_0x361, 0x361
- .equiv FLAG_0x362, 0x362
- .equiv FLAG_0x363, 0x363
- .equiv FLAG_0x364, 0x364
- .equiv FLAG_0x365, 0x365
- .equiv FLAG_0x366, 0x366
- .equiv FLAG_0x367, 0x367
- .equiv FLAG_0x368, 0x368
- .equiv FLAG_0x369, 0x369
- .equiv FLAG_0x36A, 0x36A
- .equiv FLAG_0x36B, 0x36B
- .equiv FLAG_0x36C, 0x36C
- .equiv FLAG_0x36D, 0x36D
- .equiv FLAG_0x36E, 0x36E
- .equiv FLAG_0x36F, 0x36F
- .equiv FLAG_0x370, 0x370
- .equiv FLAG_0x371, 0x371
- .equiv FLAG_0x372, 0x372
- .equiv FLAG_0x373, 0x373
- .equiv FLAG_0x374, 0x374
- .equiv FLAG_0x375, 0x375
- .equiv FLAG_0x376, 0x376
- .equiv FLAG_0x377, 0x377
- .equiv FLAG_0x378, 0x378
- .equiv FLAG_0x379, 0x379
- .equiv FLAG_0x37A, 0x37A
- .equiv FLAG_0x37B, 0x37B
- .equiv FLAG_0x37C, 0x37C
- .equiv FLAG_0x37D, 0x37D
- .equiv FLAG_0x37E, 0x37E
- .equiv FLAG_0x37F, 0x37F
- .equiv FLAG_0x380, 0x380
- .equiv FLAG_0x381, 0x381
- .equiv FLAG_0x382, 0x382
- .equiv FLAG_0x383, 0x383
- .equiv FLAG_0x384, 0x384
- .equiv FLAG_0x385, 0x385
- .equiv FLAG_0x386, 0x386
- .equiv FLAG_0x387, 0x387
- .equiv FLAG_0x388, 0x388
- .equiv FLAG_0x389, 0x389
- .equiv FLAG_0x38A, 0x38A
- .equiv FLAG_0x38B, 0x38B
- .equiv FLAG_0x38C, 0x38C
- .equiv FLAG_0x38D, 0x38D
- .equiv FLAG_0x38E, 0x38E
- .equiv FLAG_0x38F, 0x38F
- .equiv FLAG_0x390, 0x390
- .equiv FLAG_0x391, 0x391
- .equiv FLAG_0x392, 0x392
- .equiv FLAG_0x393, 0x393
- .equiv FLAG_0x394, 0x394
- .equiv FLAG_0x395, 0x395
- .equiv FLAG_0x396, 0x396
- .equiv FLAG_0x397, 0x397
- .equiv FLAG_0x398, 0x398
- .equiv FLAG_0x399, 0x399
- .equiv FLAG_0x39A, 0x39A
- .equiv FLAG_0x39B, 0x39B
- .equiv FLAG_0x39C, 0x39C
- .equiv FLAG_0x39D, 0x39D
- .equiv FLAG_0x39E, 0x39E
- .equiv FLAG_0x39F, 0x39F
- .equiv FLAG_0x3A0, 0x3A0
- .equiv FLAG_0x3A1, 0x3A1
- .equiv FLAG_0x3A2, 0x3A2
- .equiv FLAG_0x3A3, 0x3A3
- .equiv FLAG_0x3A4, 0x3A4
- .equiv FLAG_0x3A5, 0x3A5
- .equiv FLAG_0x3A6, 0x3A6
- .equiv FLAG_0x3A7, 0x3A7
- .equiv FLAG_0x3A8, 0x3A8
- .equiv FLAG_0x3A9, 0x3A9
- .equiv FLAG_0x3AA, 0x3AA
- .equiv FLAG_0x3AB, 0x3AB
- .equiv FLAG_0x3AC, 0x3AC
- .equiv FLAG_0x3AD, 0x3AD
- .equiv FLAG_0x3AE, 0x3AE
- .equiv FLAG_0x3AF, 0x3AF
- .equiv FLAG_0x3B0, 0x3B0
- .equiv FLAG_0x3B1, 0x3B1
- .equiv FLAG_0x3B2, 0x3B2
- .equiv FLAG_0x3B3, 0x3B3
- .equiv FLAG_0x3B4, 0x3B4
- .equiv FLAG_0x3B5, 0x3B5
- .equiv FLAG_0x3B6, 0x3B6
- .equiv FLAG_0x3B7, 0x3B7
- .equiv FLAG_0x3B8, 0x3B8
- .equiv FLAG_0x3B9, 0x3B9
- .equiv FLAG_0x3BA, 0x3BA
- .equiv FLAG_0x3BB, 0x3BB
- .equiv FLAG_0x3BC, 0x3BC
- .equiv FLAG_0x3BD, 0x3BD
- .equiv FLAG_0x3BE, 0x3BE
- .equiv FLAG_0x3BF, 0x3BF
- .equiv FLAG_0x3C0, 0x3C0
- .equiv FLAG_0x3C1, 0x3C1
- .equiv FLAG_0x3C2, 0x3C2
- .equiv FLAG_0x3C3, 0x3C3
- .equiv FLAG_0x3C4, 0x3C4
- .equiv FLAG_0x3C5, 0x3C5
- .equiv FLAG_0x3C6, 0x3C6
- .equiv FLAG_0x3C7, 0x3C7
- .equiv FLAG_0x3C8, 0x3C8
- .equiv FLAG_0x3C9, 0x3C9
- .equiv FLAG_0x3CA, 0x3CA
- .equiv FLAG_0x3CB, 0x3CB
- .equiv FLAG_0x3CC, 0x3CC
- .equiv FLAG_0x3CD, 0x3CD
- .equiv FLAG_0x3CE, 0x3CE
- .equiv FLAG_0x3CF, 0x3CF
- .equiv FLAG_0x3D0, 0x3D0
- .equiv FLAG_0x3D1, 0x3D1
- .equiv FLAG_0x3D2, 0x3D2
- .equiv FLAG_0x3D3, 0x3D3
- .equiv FLAG_0x3D4, 0x3D4
- .equiv FLAG_0x3D5, 0x3D5
- .equiv FLAG_0x3D6, 0x3D6
- .equiv FLAG_0x3D7, 0x3D7
- .equiv FLAG_0x3D8, 0x3D8
- .equiv FLAG_0x3D9, 0x3D9
- .equiv FLAG_0x3DA, 0x3DA
- .equiv FLAG_0x3DB, 0x3DB
- .equiv FLAG_0x3DC, 0x3DC
- .equiv FLAG_0x3DD, 0x3DD
- .equiv FLAG_0x3DE, 0x3DE
- .equiv FLAG_0x3DF, 0x3DF
- .equiv FLAG_0x3E0, 0x3E0
- .equiv FLAG_0x3E1, 0x3E1
- .equiv FLAG_0x3E2, 0x3E2
- .equiv FLAG_0x3E3, 0x3E3
- .equiv FLAG_0x3E4, 0x3E4
- .equiv FLAG_0x3E5, 0x3E5
- .equiv FLAG_0x3E6, 0x3E6
- .equiv FLAG_0x3E7, 0x3E7
- .equiv FLAG_0x3E8, 0x3E8
- .equiv FLAG_0x3E9, 0x3E9
- .equiv FLAG_0x3EA, 0x3EA
- .equiv FLAG_0x3EB, 0x3EB
- .equiv FLAG_0x3EC, 0x3EC
- .equiv FLAG_0x3ED, 0x3ED
- .equiv FLAG_0x3EE, 0x3EE
- .equiv FLAG_0x3EF, 0x3EF
- .equiv FLAG_0x3F0, 0x3F0
- .equiv FLAG_0x3F1, 0x3F1
- .equiv FLAG_0x3F2, 0x3F2
- .equiv FLAG_0x3F3, 0x3F3
- .equiv FLAG_0x3F4, 0x3F4
- .equiv FLAG_0x3F5, 0x3F5
- .equiv FLAG_0x3F6, 0x3F6
- .equiv FLAG_0x3F7, 0x3F7
- .equiv FLAG_0x3F8, 0x3F8
- .equiv FLAG_0x3F9, 0x3F9
- .equiv FLAG_0x3FA, 0x3FA
- .equiv FLAG_0x3FB, 0x3FB
- .equiv FLAG_0x3FC, 0x3FC
- .equiv FLAG_0x3FD, 0x3FD
- .equiv FLAG_0x3FE, 0x3FE
- .equiv FLAG_0x3FF, 0x3FF
- .equiv FLAG_0x400, 0x400
- .equiv FLAG_0x401, 0x401
- .equiv FLAG_0x402, 0x402
- .equiv FLAG_0x403, 0x403
- .equiv FLAG_0x404, 0x404
- .equiv FLAG_0x405, 0x405
- .equiv FLAG_0x406, 0x406
- .equiv FLAG_0x407, 0x407
- .equiv FLAG_0x408, 0x408
- .equiv FLAG_0x409, 0x409
- .equiv FLAG_0x40A, 0x40A
- .equiv FLAG_0x40B, 0x40B
- .equiv FLAG_0x40C, 0x40C
- .equiv FLAG_0x40D, 0x40D
- .equiv FLAG_0x40E, 0x40E
- .equiv FLAG_0x40F, 0x40F
- .equiv FLAG_0x410, 0x410
- .equiv FLAG_0x411, 0x411
- .equiv FLAG_0x412, 0x412
- .equiv FLAG_0x413, 0x413
- .equiv FLAG_0x414, 0x414
- .equiv FLAG_0x415, 0x415
- .equiv FLAG_0x416, 0x416
- .equiv FLAG_0x417, 0x417
- .equiv FLAG_0x418, 0x418
- .equiv FLAG_0x419, 0x419
- .equiv FLAG_0x41A, 0x41A
- .equiv FLAG_0x41B, 0x41B
- .equiv FLAG_0x41C, 0x41C
- .equiv FLAG_0x41D, 0x41D
- .equiv FLAG_0x41E, 0x41E
- .equiv FLAG_0x41F, 0x41F
- .equiv FLAG_0x420, 0x420
- .equiv FLAG_0x421, 0x421
- .equiv FLAG_0x422, 0x422
- .equiv FLAG_0x423, 0x423
- .equiv FLAG_0x424, 0x424
- .equiv FLAG_0x425, 0x425
- .equiv FLAG_0x426, 0x426
- .equiv FLAG_0x427, 0x427
- .equiv FLAG_0x428, 0x428
- .equiv FLAG_0x429, 0x429
- .equiv FLAG_0x42A, 0x42A
- .equiv FLAG_0x42B, 0x42B
- .equiv FLAG_0x42C, 0x42C
- .equiv FLAG_0x42D, 0x42D
- .equiv FLAG_0x42E, 0x42E
- .equiv FLAG_0x42F, 0x42F
- .equiv FLAG_0x430, 0x430
- .equiv FLAG_0x431, 0x431
- .equiv FLAG_0x432, 0x432
- .equiv FLAG_0x433, 0x433
- .equiv FLAG_0x434, 0x434
- .equiv FLAG_0x435, 0x435
- .equiv FLAG_0x436, 0x436
- .equiv FLAG_0x437, 0x437
- .equiv FLAG_0x438, 0x438
- .equiv FLAG_0x439, 0x439
- .equiv FLAG_0x43A, 0x43A
- .equiv FLAG_0x43B, 0x43B
- .equiv FLAG_0x43C, 0x43C
- .equiv FLAG_0x43D, 0x43D
- .equiv FLAG_0x43E, 0x43E
- .equiv FLAG_0x43F, 0x43F
- .equiv FLAG_0x440, 0x440
- .equiv FLAG_0x441, 0x441
- .equiv FLAG_0x442, 0x442
- .equiv FLAG_0x443, 0x443
- .equiv FLAG_0x444, 0x444
- .equiv FLAG_0x445, 0x445
- .equiv FLAG_0x446, 0x446
- .equiv FLAG_0x447, 0x447
- .equiv FLAG_0x448, 0x448
- .equiv FLAG_0x449, 0x449
- .equiv FLAG_0x44A, 0x44A
- .equiv FLAG_0x44B, 0x44B
- .equiv FLAG_0x44C, 0x44C
- .equiv FLAG_0x44D, 0x44D
- .equiv FLAG_0x44E, 0x44E
- .equiv FLAG_0x44F, 0x44F
- .equiv FLAG_0x450, 0x450
- .equiv FLAG_0x451, 0x451
- .equiv FLAG_0x452, 0x452
- .equiv FLAG_0x453, 0x453
- .equiv FLAG_0x454, 0x454
- .equiv FLAG_0x455, 0x455
- .equiv FLAG_0x456, 0x456
- .equiv FLAG_0x457, 0x457
- .equiv FLAG_0x458, 0x458
- .equiv FLAG_0x459, 0x459
- .equiv FLAG_0x45A, 0x45A
- .equiv FLAG_0x45B, 0x45B
- .equiv FLAG_0x45C, 0x45C
- .equiv FLAG_0x45D, 0x45D
- .equiv FLAG_0x45E, 0x45E
- .equiv FLAG_0x45F, 0x45F
- .equiv FLAG_0x460, 0x460
- .equiv FLAG_0x461, 0x461
- .equiv FLAG_0x462, 0x462
- .equiv FLAG_0x463, 0x463
- .equiv FLAG_0x464, 0x464
- .equiv FLAG_0x465, 0x465
- .equiv FLAG_0x466, 0x466
- .equiv FLAG_0x467, 0x467
- .equiv FLAG_0x468, 0x468
- .equiv FLAG_0x469, 0x469
- .equiv FLAG_0x46A, 0x46A
- .equiv FLAG_0x46B, 0x46B
- .equiv FLAG_0x46C, 0x46C
- .equiv FLAG_0x46D, 0x46D
- .equiv FLAG_0x46E, 0x46E
- .equiv FLAG_0x46F, 0x46F
- .equiv FLAG_0x470, 0x470
- .equiv FLAG_0x471, 0x471
- .equiv FLAG_0x472, 0x472
- .equiv FLAG_0x473, 0x473
- .equiv FLAG_0x474, 0x474
- .equiv FLAG_0x475, 0x475
- .equiv FLAG_0x476, 0x476
- .equiv FLAG_0x477, 0x477
- .equiv FLAG_0x478, 0x478
- .equiv FLAG_0x479, 0x479
- .equiv FLAG_0x47A, 0x47A
- .equiv FLAG_0x47B, 0x47B
- .equiv FLAG_0x47C, 0x47C
- .equiv FLAG_0x47D, 0x47D
- .equiv FLAG_0x47E, 0x47E
- .equiv FLAG_0x47F, 0x47F
- .equiv FLAG_0x480, 0x480
- .equiv FLAG_0x481, 0x481
- .equiv FLAG_0x482, 0x482
- .equiv FLAG_0x483, 0x483
- .equiv FLAG_0x484, 0x484
- .equiv FLAG_0x485, 0x485
- .equiv FLAG_0x486, 0x486
- .equiv FLAG_0x487, 0x487
- .equiv FLAG_0x488, 0x488
- .equiv FLAG_0x489, 0x489
- .equiv FLAG_0x48A, 0x48A
- .equiv FLAG_0x48B, 0x48B
- .equiv FLAG_0x48C, 0x48C
- .equiv FLAG_0x48D, 0x48D
- .equiv FLAG_0x48E, 0x48E
- .equiv FLAG_0x48F, 0x48F
- .equiv FLAG_0x490, 0x490
- .equiv FLAG_0x491, 0x491
- .equiv FLAG_0x492, 0x492
- .equiv FLAG_0x493, 0x493
- .equiv FLAG_0x494, 0x494
- .equiv FLAG_0x495, 0x495
- .equiv FLAG_0x496, 0x496
- .equiv FLAG_0x497, 0x497
- .equiv FLAG_0x498, 0x498
- .equiv FLAG_0x499, 0x499
- .equiv FLAG_0x49A, 0x49A
- .equiv FLAG_0x49B, 0x49B
- .equiv FLAG_0x49C, 0x49C
- .equiv FLAG_0x49D, 0x49D
- .equiv FLAG_0x49E, 0x49E
- .equiv FLAG_0x49F, 0x49F
- .equiv FLAG_0x4A0, 0x4A0
- .equiv FLAG_0x4A1, 0x4A1
- .equiv FLAG_0x4A2, 0x4A2
- .equiv FLAG_0x4A3, 0x4A3
- .equiv FLAG_0x4A4, 0x4A4
- .equiv FLAG_0x4A5, 0x4A5
- .equiv FLAG_0x4A6, 0x4A6
- .equiv FLAG_0x4A7, 0x4A7
- .equiv FLAG_0x4A8, 0x4A8
- .equiv FLAG_0x4A9, 0x4A9
- .equiv FLAG_0x4AA, 0x4AA
- .equiv FLAG_0x4AB, 0x4AB
- .equiv FLAG_0x4AC, 0x4AC
- .equiv FLAG_0x4AD, 0x4AD
- .equiv FLAG_0x4AE, 0x4AE
- .equiv FLAG_0x4AF, 0x4AF
- .equiv FLAG_0x4B0, 0x4B0
- .equiv FLAG_0x4B1, 0x4B1
- .equiv FLAG_0x4B2, 0x4B2
- .equiv FLAG_0x4B3, 0x4B3
- .equiv FLAG_0x4B4, 0x4B4
- .equiv FLAG_0x4B5, 0x4B5
- .equiv FLAG_0x4B6, 0x4B6
- .equiv FLAG_0x4B7, 0x4B7
- .equiv FLAG_0x4B8, 0x4B8
- .equiv FLAG_0x4B9, 0x4B9
- .equiv FLAG_0x4BA, 0x4BA
- .equiv FLAG_0x4BB, 0x4BB
- .equiv FLAG_0x4BC, 0x4BC
- .equiv FLAG_0x4BD, 0x4BD
- .equiv FLAG_0x4BE, 0x4BE
- .equiv FLAG_0x4BF, 0x4BF
- .equiv FLAG_0x4C0, 0x4C0
- .equiv FLAG_0x4C1, 0x4C1
- .equiv FLAG_0x4C2, 0x4C2
- .equiv FLAG_0x4C3, 0x4C3
- .equiv FLAG_0x4C4, 0x4C4
- .equiv FLAG_0x4C5, 0x4C5
- .equiv FLAG_0x4C6, 0x4C6
- .equiv FLAG_0x4C7, 0x4C7
- .equiv FLAG_0x4C8, 0x4C8
- .equiv FLAG_0x4C9, 0x4C9
- .equiv FLAG_0x4CA, 0x4CA
- .equiv FLAG_0x4CB, 0x4CB
- .equiv FLAG_0x4CC, 0x4CC
- .equiv FLAG_0x4CD, 0x4CD
- .equiv FLAG_0x4CE, 0x4CE
- .equiv FLAG_0x4CF, 0x4CF
- .equiv FLAG_0x4D0, 0x4D0
- .equiv FLAG_0x4D1, 0x4D1
- .equiv FLAG_0x4D2, 0x4D2
- .equiv FLAG_0x4D3, 0x4D3
- .equiv FLAG_0x4D4, 0x4D4
- .equiv FLAG_0x4D5, 0x4D5
- .equiv FLAG_0x4D6, 0x4D6
- .equiv FLAG_0x4D7, 0x4D7
- .equiv FLAG_0x4D8, 0x4D8
- .equiv FLAG_0x4D9, 0x4D9
- .equiv FLAG_0x4DA, 0x4DA
- .equiv FLAG_0x4DB, 0x4DB
- .equiv FLAG_0x4DC, 0x4DC
- .equiv FLAG_0x4DD, 0x4DD
- .equiv FLAG_0x4DE, 0x4DE
- .equiv FLAG_0x4DF, 0x4DF
- .equiv FLAG_0x4E0, 0x4E0
- .equiv FLAG_0x4E1, 0x4E1
- .equiv FLAG_0x4E2, 0x4E2
- .equiv FLAG_0x4E3, 0x4E3
- .equiv FLAG_0x4E4, 0x4E4
- .equiv FLAG_0x4E5, 0x4E5
- .equiv FLAG_0x4E6, 0x4E6
- .equiv FLAG_0x4E7, 0x4E7
- .equiv FLAG_0x4E8, 0x4E8
- .equiv FLAG_0x4E9, 0x4E9
- .equiv FLAG_0x4EA, 0x4EA
- .equiv FLAG_0x4EB, 0x4EB
- .equiv FLAG_0x4EC, 0x4EC
- .equiv FLAG_0x4ED, 0x4ED
- .equiv FLAG_0x4EE, 0x4EE
- .equiv FLAG_0x4EF, 0x4EF
- .equiv FLAG_0x4F0, 0x4F0
- .equiv FLAG_0x4F1, 0x4F1
- .equiv FLAG_0x4F2, 0x4F2
- .equiv FLAG_0x4F3, 0x4F3
- .equiv FLAG_0x4F4, 0x4F4
- .equiv FLAG_0x4F5, 0x4F5
- .equiv FLAG_0x4F6, 0x4F6
- .equiv FLAG_0x4F7, 0x4F7
- .equiv FLAG_0x4F8, 0x4F8
- .equiv FLAG_0x4F9, 0x4F9
- .equiv FLAG_0x4FA, 0x4FA
- .equiv FLAG_0x4FB, 0x4FB
- .equiv FLAG_0x4FC, 0x4FC
- .equiv FLAG_0x4FD, 0x4FD
- .equiv FLAG_0x4FE, 0x4FE
- .equiv FLAG_0x4FF, 0x4FF
- .equiv FLAG_TRAINER_FLAG_START, 0x500
-
- .equiv TRAINERS_FLAG_NO, 0x356
- .equiv CODE_FLAGS, (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) @ 0x860
-
-@ SYSTEM FLAGS
-
- .equiv FLAG_SYS_POKEMON_GET, CODE_FLAGS + 0x0
- .equiv FLAG_SYS_POKEDEX_GET, CODE_FLAGS + 0x1
- .equiv FLAG_SYS_POKENAV_GET, CODE_FLAGS + 0x2
- .equiv FLAG_0x863, CODE_FLAGS + 0x3
- .equiv FLAG_SYS_GAME_CLEAR, CODE_FLAGS + 0x4
- .equiv FLAG_SYS_CHAT_USED, CODE_FLAGS + 0x5
- .equiv FLAG_SYS_HIPSTER_MEET, CODE_FLAGS + 0x6
-
-@ badges
- .equiv FLAG_BADGE01_GET, CODE_FLAGS + 0x7
- .equiv FLAG_BADGE02_GET, CODE_FLAGS + 0x8
- .equiv FLAG_BADGE03_GET, CODE_FLAGS + 0x9
- .equiv FLAG_BADGE04_GET, CODE_FLAGS + 0xA
- .equiv FLAG_BADGE05_GET, CODE_FLAGS + 0xB
- .equiv FLAG_BADGE06_GET, CODE_FLAGS + 0xC
- .equiv FLAG_BADGE07_GET, CODE_FLAGS + 0xD
- .equiv FLAG_BADGE08_GET, CODE_FLAGS + 0xE
-
-@ cities and towns
- .equiv FLAG_VISITED_LITTLEROOT_TOWN, CODE_FLAGS + 0xF
- .equiv FLAG_VISITED_OLDALE_TOWN, CODE_FLAGS + 0x10
- .equiv FLAG_VISITED_DEWFORD_TOWN, CODE_FLAGS + 0x11
- .equiv FLAG_VISITED_LAVARIDGE_TOWN, CODE_FLAGS + 0x12
- .equiv FLAG_VISITED_FALLARBOR_TOWN, CODE_FLAGS + 0x13
- .equiv FLAG_VISITED_VERDANTURF_TOWN, CODE_FLAGS + 0x14
- .equiv FLAG_VISITED_PACIFIDLOG_TOWN, CODE_FLAGS + 0x15
- .equiv FLAG_VISITED_PETALBURG_CITY, CODE_FLAGS + 0x16
- .equiv FLAG_VISITED_SLATEPORT_CITY, CODE_FLAGS + 0x17
- .equiv FLAG_VISITED_MAUVILLE_CITY, CODE_FLAGS + 0x18
- .equiv FLAG_VISITED_RUSTBORO_CITY, CODE_FLAGS + 0x19
- .equiv FLAG_VISITED_FORTREE_CITY, CODE_FLAGS + 0x1A
- .equiv FLAG_VISITED_LILYCOVE_CITY, CODE_FLAGS + 0x1B
- .equiv FLAG_VISITED_MOSSDEEP_CITY, CODE_FLAGS + 0x1C
- .equiv FLAG_VISITED_SOOTOPOLIS_CITY, CODE_FLAGS + 0x1D
- .equiv FLAG_VISITED_EVER_GRANDE_CITY, CODE_FLAGS + 0x1E
-
- .equiv FLAG_0x87F, CODE_FLAGS + 0x1F
- .equiv FLAG_0x880, CODE_FLAGS + 0x20
- .equiv FLAG_0x881, CODE_FLAGS + 0x21
- .equiv FLAG_0x882, CODE_FLAGS + 0x22
- .equiv FLAG_0x883, CODE_FLAGS + 0x23
- .equiv FLAG_0x884, CODE_FLAGS + 0x24
- .equiv FLAG_0x885, CODE_FLAGS + 0x25
- .equiv FLAG_0x886, CODE_FLAGS + 0x26
- .equiv FLAG_0x887, CODE_FLAGS + 0x27
-
- .equiv FLAG_SYS_USE_FLASH, CODE_FLAGS + 0x28
- .equiv FLAG_SYS_USE_STRENGTH, CODE_FLAGS + 0x29
- .equiv FLAG_SYS_WEATHER_CTRL, CODE_FLAGS + 0x2A
- .equiv FLAG_SYS_CYCLING_ROAD, CODE_FLAGS + 0x2B
- .equiv FLAG_SYS_SAFARI_MODE, CODE_FLAGS + 0x2C
- .equiv FLAG_SYS_CRUISE_MODE, CODE_FLAGS + 0x2D
-
- .equiv FLAG_0x88E, CODE_FLAGS + 0x2E
- .equiv FLAG_0x88F, CODE_FLAGS + 0x2F
-
- .equiv FLAG_SYS_TV_HOME, CODE_FLAGS + 0x30
- .equiv FLAG_SYS_TV_WATCH, CODE_FLAGS + 0x31
- .equiv FLAG_SYS_TV_START, CODE_FLAGS + 0x32
- .equiv FLAG_SYS_POPWORD_INPUT, CODE_FLAGS + 0x33
- .equiv FLAG_SYS_MIX_RECORD, CODE_FLAGS + 0x34
- .equiv FLAG_SYS_CLOCK_SET, CODE_FLAGS + 0x35
- .equiv FLAG_SYS_NATIONAL_DEX, CODE_FLAGS + 0x36
- .equiv FLAG_SYS_CAVE_SHIP, CODE_FLAGS + 0x37
- .equiv FLAG_SYS_CAVE_WONDER, CODE_FLAGS + 0x38
- .equiv FLAG_SYS_CAVE_BATTLE, CODE_FLAGS + 0x39
- .equiv FLAG_SYS_SHOAL_TIDE, CODE_FLAGS + 0x3A
- .equiv FLAG_SYS_RIBBON_GET, CODE_FLAGS + 0x3B
-
- .equiv FLAG_0x89C, CODE_FLAGS + 0x3C
- .equiv FLAG_0x89D, CODE_FLAGS + 0x3D
- .equiv FLAG_0x89E, CODE_FLAGS + 0x3E
- .equiv FLAG_0x89F, CODE_FLAGS + 0x3F
- .equiv FLAG_0x8A0, CODE_FLAGS + 0x40
- .equiv FLAG_0x8A1, CODE_FLAGS + 0x41
- .equiv FLAG_0x8A2, CODE_FLAGS + 0x42
- .equiv FLAG_0x8A3, CODE_FLAGS + 0x43
- .equiv FLAG_0x8A4, CODE_FLAGS + 0x44
- .equiv FLAG_0x8A5, CODE_FLAGS + 0x45
- .equiv FLAG_0x8A6, CODE_FLAGS + 0x46
- .equiv FLAG_0x8A7, CODE_FLAGS + 0x47
- .equiv FLAG_UNLOCK_BATTLE_FRONTIER, CODE_FLAGS + 0x48
- .equiv FLAG_UNLOCK_SOUTHERN_ISLAND, CODE_FLAGS + 0x49
- .equiv FLAG_0x8AA, CODE_FLAGS + 0x4A
-
- .equiv FLAG_SYS_PC_LANETTE, CODE_FLAGS + 0x4B
- .equiv FLAG_SYS_MYSTERY_EVENT_ENABLE, CODE_FLAGS + 0x4C
- .equiv FLAG_SYS_ENC_UP_ITEM, CODE_FLAGS + 0x4D
- .equiv FLAG_SYS_ENC_DOWN_ITEM, CODE_FLAGS + 0x4E
-
- .equiv FLAG_SYS_BRAILLE_DIG, CODE_FLAGS + 0x4F
- .equiv FLAG_SYS_BRAILLE_STRENGTH, CODE_FLAGS + 0x50
- .equiv FLAG_SYS_BRAILLE_WAIT, CODE_FLAGS + 0x51
- .equiv FLAG_SYS_BRAILLE_FLY, CODE_FLAGS + 0x52
-
- .equiv FLAG_SYS_HAS_EON_TICKET, CODE_FLAGS + 0x53
-
- .equiv FLAG_SYS_POKEMON_LEAGUE_FLY, CODE_FLAGS + 0x54
-
- .equiv FLAG_0x8B5, CODE_FLAGS + 0x55
- .equiv FLAG_0x8B6, CODE_FLAGS + 0x56
- .equiv FLAG_0x8B7, CODE_FLAGS + 0x57
- .equiv FLAG_0x8B8, CODE_FLAGS + 0x58
- .equiv FLAG_0x8B9, CODE_FLAGS + 0x59
- .equiv FLAG_0x8BA, CODE_FLAGS + 0x5A
- .equiv FLAG_0x8BB, CODE_FLAGS + 0x5B
- .equiv FLAG_0x8BC, CODE_FLAGS + 0x5C
-
- .equiv FLAG_SYS_TV_LATI, CODE_FLAGS + 0x5D
-
- .equiv FLAG_0x8BE, CODE_FLAGS + 0x5E
-
- .equiv FLAG_SYS_SHOAL_ITEM, CODE_FLAGS + 0x5F
- .equiv FLAG_SYS_B_DASH, CODE_FLAGS + 0x60 @ got Running Shoes
- .equiv FLAG_SYS_CTRL_OBJ_DELETE, CODE_FLAGS + 0x61
- .equiv FLAG_SYS_RESET_RTC_ENABLE, CODE_FLAGS + 0x62
-
- .equiv FLAG_0x8C3, CODE_FLAGS + 0x63
-
- .equiv FLAG_SYS_TOWER_SILVER, CODE_FLAGS + 0x64
- .equiv FLAG_SYS_TOWER_GOLD, CODE_FLAGS + 0x65
- .equiv FLAG_SYS_DOME_SILVER, CODE_FLAGS + 0x66
- .equiv FLAG_SYS_DOME_GOLD, CODE_FLAGS + 0x67
- .equiv FLAG_SYS_PALACE_SILVER, CODE_FLAGS + 0x68
- .equiv FLAG_SYS_PALACE_GOLD, CODE_FLAGS + 0x69
- .equiv FLAG_SYS_ARENA_SILVER, CODE_FLAGS + 0x6A
- .equiv FLAG_SYS_ARENA_GOLD, CODE_FLAGS + 0x6B
- .equiv FLAG_SYS_FACTORY_SILVER, CODE_FLAGS + 0x6C
- .equiv FLAG_SYS_FACTORY_GOLD, CODE_FLAGS + 0x6D
- .equiv FLAG_SYS_PIKE_SILVER, CODE_FLAGS + 0x6E
- .equiv FLAG_SYS_PIKE_GOLD, CODE_FLAGS + 0x6F
- .equiv FLAG_SYS_PYRAMID_SILVER, CODE_FLAGS + 0x70
- .equiv FLAG_SYS_PYRAMID_GOLD, CODE_FLAGS + 0x71
- .equiv FLAG_SYS_FRONTIER_PASS, CODE_FLAGS + 0x72
-
- .equiv FLAG_0x8D3, CODE_FLAGS + 0x73
- .equiv FLAG_0x8D4, CODE_FLAGS + 0x74
- .equiv FLAG_0x8D5, CODE_FLAGS + 0x75
- .equiv FLAG_0x8D6, CODE_FLAGS + 0x76
-
- .equiv FLAG_SYS_STORAGE_UNKNOWN_FLAG, CODE_FLAGS + 0x77
-
- .equiv FLAG_0x8D8, CODE_FLAGS + 0x78
- .equiv FLAG_0x8D9, CODE_FLAGS + 0x79
- .equiv FLAG_0x8DA, CODE_FLAGS + 0x7A
-
- .equiv FLAG_SYS_MYSTERY_GIFT_ENABLE, CODE_FLAGS + 0x7B
-
- .equiv FLAG_0x8DC, CODE_FLAGS + 0x7C
- .equiv FLAG_0x8DD, CODE_FLAGS + 0x7D
- .equiv FLAG_0x8DE, CODE_FLAGS + 0x7E
- .equiv FLAG_0x8DF, CODE_FLAGS + 0x7F
- .equiv FLAG_0x8E0, CODE_FLAGS + 0x80
- .equiv FLAG_0x8E1, CODE_FLAGS + 0x81
- .equiv FLAG_0x8E2, CODE_FLAGS + 0x82
- .equiv FLAG_0x8E3, CODE_FLAGS + 0x83
- .equiv FLAG_0x8E4, CODE_FLAGS + 0x84
- .equiv FLAG_0x8E5, CODE_FLAGS + 0x85
- .equiv FLAG_0x8E6, CODE_FLAGS + 0x86
- .equiv FLAG_0x8E7, CODE_FLAGS + 0x87
- .equiv FLAG_0x8E8, CODE_FLAGS + 0x88
- .equiv FLAG_0x8E9, CODE_FLAGS + 0x89
- .equiv FLAG_0x8EA, CODE_FLAGS + 0x8A
- .equiv FLAG_0x8EB, CODE_FLAGS + 0x8B
- .equiv FLAG_0x8EC, CODE_FLAGS + 0x8C
- .equiv FLAG_0x8ED, CODE_FLAGS + 0x8D
- .equiv FLAG_0x8EE, CODE_FLAGS + 0x8E
- .equiv FLAG_0x8EF, CODE_FLAGS + 0x8F
- .equiv FLAG_0x8F0, CODE_FLAGS + 0x90
- .equiv FLAG_0x8F1, CODE_FLAGS + 0x91
- .equiv FLAG_0x8F2, CODE_FLAGS + 0x92
- .equiv FLAG_0x8F3, CODE_FLAGS + 0x93
- .equiv FLAG_0x8F4, CODE_FLAGS + 0x94
- .equiv FLAG_0x8F5, CODE_FLAGS + 0x95
- .equiv FLAG_0x8F6, CODE_FLAGS + 0x96
- .equiv FLAG_0x8F7, CODE_FLAGS + 0x97
- .equiv FLAG_0x8F8, CODE_FLAGS + 0x98
- .equiv FLAG_0x8F9, CODE_FLAGS + 0x99
- .equiv FLAG_0x8FA, CODE_FLAGS + 0x9A
- .equiv FLAG_0x8FB, CODE_FLAGS + 0x9B
- .equiv FLAG_0x8FC, CODE_FLAGS + 0x9C
- .equiv FLAG_0x8FD, CODE_FLAGS + 0x9D
- .equiv FLAG_0x8FE, CODE_FLAGS + 0x9E
- .equiv FLAG_0x8FF, CODE_FLAGS + 0x9F
- .equiv FLAG_0x900, CODE_FLAGS + 0xA0
- .equiv FLAG_0x901, CODE_FLAGS + 0xA1
- .equiv FLAG_0x902, CODE_FLAGS + 0xA2
- .equiv FLAG_0x903, CODE_FLAGS + 0xA3
- .equiv FLAG_0x904, CODE_FLAGS + 0xA4
- .equiv FLAG_0x905, CODE_FLAGS + 0xA5
- .equiv FLAG_0x906, CODE_FLAGS + 0xA6
- .equiv FLAG_0x907, CODE_FLAGS + 0xA7
- .equiv FLAG_0x908, CODE_FLAGS + 0xA8
- .equiv FLAG_0x909, CODE_FLAGS + 0xA9
- .equiv FLAG_0x90A, CODE_FLAGS + 0xAA
- .equiv FLAG_0x90B, CODE_FLAGS + 0xAB
- .equiv FLAG_0x90C, CODE_FLAGS + 0xAC
- .equiv FLAG_0x90D, CODE_FLAGS + 0xAD
- .equiv FLAG_0x90E, CODE_FLAGS + 0xAE
- .equiv FLAG_0x90F, CODE_FLAGS + 0xAF
- .equiv FLAG_0x910, CODE_FLAGS + 0xB0
- .equiv FLAG_0x911, CODE_FLAGS + 0xB1
- .equiv FLAG_0x912, CODE_FLAGS + 0xB2
- .equiv FLAG_0x913, CODE_FLAGS + 0xB3
- .equiv FLAG_0x914, CODE_FLAGS + 0xB4
- .equiv FLAG_0x915, CODE_FLAGS + 0xB5
- .equiv FLAG_0x916, CODE_FLAGS + 0xB6
- .equiv FLAG_0x917, CODE_FLAGS + 0xB7
- .equiv FLAG_0x918, CODE_FLAGS + 0xB8
- .equiv FLAG_0x919, CODE_FLAGS + 0xB9
- .equiv FLAG_0x91A, CODE_FLAGS + 0xBA
- .equiv FLAG_0x91B, CODE_FLAGS + 0xBB
- .equiv FLAG_0x91C, CODE_FLAGS + 0xBC
- .equiv FLAG_0x91D, CODE_FLAGS + 0xBD
- .equiv FLAG_0x91E, CODE_FLAGS + 0xBE
- .equiv FLAG_0x91F, CODE_FLAGS + 0xBF
- .equiv FLAG_0x920, CODE_FLAGS + 0xC0
- .equiv FLAG_0x921, CODE_FLAGS + 0xC1
- .equiv FLAG_0x922, CODE_FLAGS + 0xC2
- .equiv FLAG_0x923, CODE_FLAGS + 0xC3
- .equiv FLAG_0x924, CODE_FLAGS + 0xC4
- .equiv FLAG_0x925, CODE_FLAGS + 0xC5
- .equiv FLAG_0x926, CODE_FLAGS + 0xC6
- .equiv FLAG_0x927, CODE_FLAGS + 0xC7
- .equiv FLAG_0x928, CODE_FLAGS + 0xC8
- .equiv FLAG_0x929, CODE_FLAGS + 0xC9
- .equiv FLAG_0x92A, CODE_FLAGS + 0xCA
- .equiv FLAG_0x92B, CODE_FLAGS + 0xCB
- .equiv FLAG_0x92C, CODE_FLAGS + 0xCC
- .equiv FLAG_0x92D, CODE_FLAGS + 0xCD
- .equiv FLAG_0x92E, CODE_FLAGS + 0xCE
- .equiv FLAG_0x92F, CODE_FLAGS + 0xCF
- .equiv FLAG_0x930, CODE_FLAGS + 0xD0
- .equiv FLAG_0x931, CODE_FLAGS + 0xD1
- .equiv FLAG_0x932, CODE_FLAGS + 0xD2
- .equiv FLAG_0x933, CODE_FLAGS + 0xD3
- .equiv FLAG_0x934, CODE_FLAGS + 0xD4
- .equiv FLAG_0x935, CODE_FLAGS + 0xD5
- .equiv FLAG_0x936, CODE_FLAGS + 0xD6
- .equiv FLAG_0x937, CODE_FLAGS + 0xD7
- .equiv FLAG_0x938, CODE_FLAGS + 0xD8
- .equiv FLAG_0x939, CODE_FLAGS + 0xD9
- .equiv FLAG_0x93A, CODE_FLAGS + 0xDA
- .equiv FLAG_0x93B, CODE_FLAGS + 0xDB
- .equiv FLAG_0x93C, CODE_FLAGS + 0xDC
- .equiv FLAG_0x93D, CODE_FLAGS + 0xDD
- .equiv FLAG_0x93E, CODE_FLAGS + 0xDE
- .equiv FLAG_0x93F, CODE_FLAGS + 0xDF
- .equiv FLAG_0x940, CODE_FLAGS + 0xE0
- .equiv FLAG_0x941, CODE_FLAGS + 0xE1
- .equiv FLAG_0x942, CODE_FLAGS + 0xE2
- .equiv FLAG_0x943, CODE_FLAGS + 0xE3
- .equiv FLAG_0x944, CODE_FLAGS + 0xE4
- .equiv FLAG_0x945, CODE_FLAGS + 0xE5
- .equiv FLAG_0x946, CODE_FLAGS + 0xE6
- .equiv FLAG_0x947, CODE_FLAGS + 0xE7
- .equiv FLAG_0x948, CODE_FLAGS + 0xE8
- .equiv FLAG_0x949, CODE_FLAGS + 0xE9
- .equiv FLAG_0x94A, CODE_FLAGS + 0xEA
- .equiv FLAG_0x94B, CODE_FLAGS + 0xEB
- .equiv FLAG_0x94C, CODE_FLAGS + 0xEC
- .equiv FLAG_0x94D, CODE_FLAGS + 0xED
- .equiv FLAG_0x94E, CODE_FLAGS + 0xEE
- .equiv FLAG_0x94F, CODE_FLAGS + 0xEF
- .equiv FLAG_0x950, CODE_FLAGS + 0xF0
- .equiv FLAG_0x951, CODE_FLAGS + 0xF1
- .equiv FLAG_0x952, CODE_FLAGS + 0xF2
- .equiv FLAG_0x953, CODE_FLAGS + 0xF3
- .equiv FLAG_0x954, CODE_FLAGS + 0xF4
- .equiv FLAG_0x955, CODE_FLAGS + 0xF5
- .equiv FLAG_0x956, CODE_FLAGS + 0xF6
- .equiv FLAG_0x957, CODE_FLAGS + 0xF7
- .equiv FLAG_0x958, CODE_FLAGS + 0xF8
- .equiv FLAG_0x959, CODE_FLAGS + 0xF9
- .equiv FLAG_0x95A, CODE_FLAGS + 0xFA
- .equiv FLAG_0x95B, CODE_FLAGS + 0xFB
- .equiv FLAG_0x95C, CODE_FLAGS + 0xFC
- .equiv FLAG_0x95D, CODE_FLAGS + 0xFD
- .equiv FLAG_0x95E, CODE_FLAGS + 0xFE
- .equiv FLAG_0x95F, CODE_FLAGS + 0xFF
-
-@ SPECIAL FLAGS (unknown purpose)
-
- .equiv FLAG_SPECIAL_FLAG_0x4000, 0x4000
- .equiv FLAG_SPECIAL_FLAG_0x4001, 0x4001
- .equiv FLAG_SPECIAL_FLAG_0x4002, 0x4002
- .equiv FLAG_SPECIAL_FLAG_0x4003, 0x4003
- .equiv FLAG_SPECIAL_FLAG_0x4004, 0x4004
diff --git a/constants/item_constants.inc b/constants/item_constants.inc
deleted file mode 100644
index 934ebd798..000000000
--- a/constants/item_constants.inc
+++ /dev/null
@@ -1,310 +0,0 @@
- .set ITEM_NONE, 0x000
- .set ITEM_MASTER_BALL, 0x001
- .set ITEM_ULTRA_BALL, 0x002
- .set ITEM_GREAT_BALL, 0x003
- .set ITEM_POKE_BALL, 0x004
- .set ITEM_SAFARI_BALL, 0x005
- .set ITEM_NET_BALL, 0x006
- .set ITEM_DIVE_BALL, 0x007
- .set ITEM_NEST_BALL, 0x008
- .set ITEM_REPEAT_BALL, 0x009
- .set ITEM_TIMER_BALL, 0x00a
- .set ITEM_LUXURY_BALL, 0x00b
- .set ITEM_PREMIER_BALL, 0x00c
- .set ITEM_POTION, 0x00d
- .set ITEM_ANTIDOTE, 0x00e
- .set ITEM_BURN_HEAL, 0x00f
- .set ITEM_ICE_HEAL, 0x010
- .set ITEM_AWAKENING, 0x011
- .set ITEM_PARALYZE_HEAL, 0x012
- .set ITEM_FULL_RESTORE, 0x013
- .set ITEM_MAX_POTION, 0x014
- .set ITEM_HYPER_POTION, 0x015
- .set ITEM_SUPER_POTION, 0x016
- .set ITEM_FULL_HEAL, 0x017
- .set ITEM_REVIVE, 0x018
- .set ITEM_MAX_REVIVE, 0x019
- .set ITEM_FRESH_WATER, 0x01a
- .set ITEM_SODA_POP, 0x01b
- .set ITEM_LEMONADE, 0x01c
- .set ITEM_MOOMOO_MILK, 0x01d
- .set ITEM_ENERGY_POWDER, 0x01e
- .set ITEM_ENERGY_ROOT, 0x01f
- .set ITEM_HEAL_POWDER, 0x020
- .set ITEM_REVIVAL_HERB, 0x021
- .set ITEM_ETHER, 0x022
- .set ITEM_MAX_ETHER, 0x023
- .set ITEM_ELIXIR, 0x024
- .set ITEM_MAX_ELIXIR, 0x025
- .set ITEM_LAVA_COOKIE, 0x026
- .set ITEM_BLUE_FLUTE, 0x027
- .set ITEM_YELLOW_FLUTE, 0x028
- .set ITEM_RED_FLUTE, 0x029
- .set ITEM_BLACK_FLUTE, 0x02a
- .set ITEM_WHITE_FLUTE, 0x02b
- .set ITEM_BERRY_JUICE, 0x02c
- .set ITEM_SACRED_ASH, 0x02d
- .set ITEM_SHOAL_SALT, 0x02e
- .set ITEM_SHOAL_SHELL, 0x02f
- .set ITEM_RED_SHARD, 0x030
- .set ITEM_BLUE_SHARD, 0x031
- .set ITEM_YELLOW_SHARD, 0x032
- .set ITEM_GREEN_SHARD, 0x033
- .set ITEM_HP_UP, 0x03f
- .set ITEM_PROTEIN, 0x040
- .set ITEM_IRON, 0x041
- .set ITEM_CARBOS, 0x042
- .set ITEM_CALCIUM, 0x043
- .set ITEM_RARE_CANDY, 0x044
- .set ITEM_PP_UP, 0x045
- .set ITEM_ZINC, 0x046
- .set ITEM_PP_MAX, 0x047
- .set ITEM_GUARD_SPEC, 0x049
- .set ITEM_DIRE_HIT, 0x04a
- .set ITEM_X_ATTACK, 0x04b
- .set ITEM_X_DEFEND, 0x04c
- .set ITEM_X_SPEED, 0x04d
- .set ITEM_X_ACCURACY, 0x04e
- .set ITEM_X_SPECIAL, 0x04f
- .set ITEM_POKE_DOLL, 0x050
- .set ITEM_FLUFFY_TAIL, 0x051
- .set ITEM_SUPER_REPEL, 0x053
- .set ITEM_MAX_REPEL, 0x054
- .set ITEM_ESCAPE_ROPE, 0x055
- .set ITEM_REPEL, 0x056
- .set ITEM_SUN_STONE, 0x05d
- .set ITEM_MOON_STONE, 0x05e
- .set ITEM_FIRE_STONE, 0x05f
- .set ITEM_THUNDER_STONE, 0x060
- .set ITEM_WATER_STONE, 0x061
- .set ITEM_LEAF_STONE, 0x062
- .set ITEM_TINY_MUSHROOM, 0x067
- .set ITEM_BIG_MUSHROOM, 0x068
- .set ITEM_PEARL, 0x06a
- .set ITEM_BIG_PEARL, 0x06b
- .set ITEM_STARDUST, 0x06c
- .set ITEM_STAR_PIECE, 0x06d
- .set ITEM_NUGGET, 0x06e
- .set ITEM_HEART_SCALE, 0x06f
- .set ITEM_ORANGE_MAIL, 0x079
- .set ITEM_HARBOR_MAIL, 0x07a
- .set ITEM_GLITTER_MAIL, 0x07b
- .set ITEM_MECH_MAIL, 0x07c
- .set ITEM_WOOD_MAIL, 0x07d
- .set ITEM_WAVE_MAIL, 0x07e
- .set ITEM_BEAD_MAIL, 0x07f
- .set ITEM_SHADOW_MAIL, 0x080
- .set ITEM_TROPIC_MAIL, 0x081
- .set ITEM_DREAM_MAIL, 0x082
- .set ITEM_FAB_MAIL, 0x083
- .set ITEM_RETRO_MAIL, 0x084
- .set ITEM_CHERI_BERRY, 0x085
- .set ITEM_CHESTO_BERRY, 0x086
- .set ITEM_PECHA_BERRY, 0x087
- .set ITEM_RAWST_BERRY, 0x088
- .set ITEM_ASPEAR_BERRY, 0x089
- .set ITEM_LEPPA_BERRY, 0x08a
- .set ITEM_ORAN_BERRY, 0x08b
- .set ITEM_PERSIM_BERRY, 0x08c
- .set ITEM_LUM_BERRY, 0x08d
- .set ITEM_SITRUS_BERRY, 0x08e
- .set ITEM_FIGY_BERRY, 0x08f
- .set ITEM_WIKI_BERRY, 0x090
- .set ITEM_MAGO_BERRY, 0x091
- .set ITEM_AGUAV_BERRY, 0x092
- .set ITEM_IAPAPA_BERRY, 0x093
- .set ITEM_RAZZ_BERRY, 0x094
- .set ITEM_BLUK_BERRY, 0x095
- .set ITEM_NANAB_BERRY, 0x096
- .set ITEM_WEPEAR_BERRY, 0x097
- .set ITEM_PINAP_BERRY, 0x098
- .set ITEM_POMEG_BERRY, 0x099
- .set ITEM_KELPSY_BERRY, 0x09a
- .set ITEM_QUALOT_BERRY, 0x09b
- .set ITEM_HONDEW_BERRY, 0x09c
- .set ITEM_GREPA_BERRY, 0x09d
- .set ITEM_TAMATO_BERRY, 0x09e
- .set ITEM_CORNN_BERRY, 0x09f
- .set ITEM_MAGOST_BERRY, 0x0a0
- .set ITEM_RABUTA_BERRY, 0x0a1
- .set ITEM_NOMEL_BERRY, 0x0a2
- .set ITEM_SPELON_BERRY, 0x0a3
- .set ITEM_PAMTRE_BERRY, 0x0a4
- .set ITEM_WATMEL_BERRY, 0x0a5
- .set ITEM_DURIN_BERRY, 0x0a6
- .set ITEM_BELUE_BERRY, 0x0a7
- .set ITEM_LIECHI_BERRY, 0x0a8
- .set ITEM_GANLON_BERRY, 0x0a9
- .set ITEM_SALAC_BERRY, 0x0aa
- .set ITEM_PETAYA_BERRY, 0x0ab
- .set ITEM_APICOT_BERRY, 0x0ac
- .set ITEM_LANSAT_BERRY, 0x0ad
- .set ITEM_STARF_BERRY, 0x0ae
- .set ITEM_ENIGMA_BERRY, 0x0af
- .set ITEM_BRIGHT_POWDER, 0x0b3
- .set ITEM_WHITE_HERB, 0x0b4
- .set ITEM_MACHO_BRACE, 0x0b5
- .set ITEM_EXP_SHARE, 0x0b6
- .set ITEM_QUICK_CLAW, 0x0b7
- .set ITEM_SOOTHE_BELL, 0x0b8
- .set ITEM_MENTAL_HERB, 0x0b9
- .set ITEM_CHOICE_BAND, 0x0ba
- .set ITEM_KINGS_ROCK, 0x0bb
- .set ITEM_SILVER_POWDER, 0x0bc
- .set ITEM_AMULET_COIN, 0x0bd
- .set ITEM_CLEANSE_TAG, 0x0be
- .set ITEM_SOUL_DEW, 0x0bf
- .set ITEM_DEEP_SEA_TOOTH, 0x0c0
- .set ITEM_DEEP_SEA_SCALE, 0x0c1
- .set ITEM_SMOKE_BALL, 0x0c2
- .set ITEM_EVERSTONE, 0x0c3
- .set ITEM_FOCUS_BAND, 0x0c4
- .set ITEM_LUCKY_EGG, 0x0c5
- .set ITEM_SCOPE_LENS, 0x0c6
- .set ITEM_METAL_COAT, 0x0c7
- .set ITEM_LEFTOVERS, 0x0c8
- .set ITEM_DRAGON_SCALE, 0x0c9
- .set ITEM_LIGHT_BALL, 0x0ca
- .set ITEM_SOFT_SAND, 0x0cb
- .set ITEM_HARD_STONE, 0x0cc
- .set ITEM_MIRACLE_SEED, 0x0cd
- .set ITEM_BLACK_GLASSES, 0x0ce
- .set ITEM_BLACK_BELT, 0x0cf
- .set ITEM_MAGNET, 0x0d0
- .set ITEM_MYSTIC_WATER, 0x0d1
- .set ITEM_SHARP_BEAK, 0x0d2
- .set ITEM_POISON_BARB, 0x0d3
- .set ITEM_NEVER_MELT_ICE, 0x0d4
- .set ITEM_SPELL_TAG, 0x0d5
- .set ITEM_TWISTED_SPOON, 0x0d6
- .set ITEM_CHARCOAL, 0x0d7
- .set ITEM_DRAGON_FANG, 0x0d8
- .set ITEM_SILK_SCARF, 0x0d9
- .set ITEM_UP_GRADE, 0x0da
- .set ITEM_SHELL_BELL, 0x0db
- .set ITEM_SEA_INCENSE, 0x0dc
- .set ITEM_LAX_INCENSE, 0x0dd
- .set ITEM_LUCKY_PUNCH, 0x0de
- .set ITEM_METAL_POWDER, 0x0df
- .set ITEM_THICK_CLUB, 0x0e0
- .set ITEM_STICK, 0x0e1
- .set ITEM_RED_SCARF, 0x0fe
- .set ITEM_BLUE_SCARF, 0x0ff
- .set ITEM_PINK_SCARF, 0x100
- .set ITEM_GREEN_SCARF, 0x101
- .set ITEM_YELLOW_SCARF, 0x102
- .set ITEM_MACH_BIKE, 0x103
- .set ITEM_COIN_CASE, 0x104
- .set ITEM_ITEMFINDER, 0x105
- .set ITEM_OLD_ROD, 0x106
- .set ITEM_GOOD_ROD, 0x107
- .set ITEM_SUPER_ROD, 0x108
- .set ITEM_SS_TICKET, 0x109
- .set ITEM_CONTEST_PASS, 0x10a
- .set ITEM_WAILMER_PAIL, 0x10c
- .set ITEM_DEVON_GOODS, 0x10d
- .set ITEM_SOOT_SACK, 0x10e
- .set ITEM_BASEMENT_KEY, 0x10f
- .set ITEM_ACRO_BIKE, 0x110
- .set ITEM_POKEBLOCK_CASE, 0x111
- .set ITEM_LETTER, 0x112
- .set ITEM_EON_TICKET, 0x113
- .set ITEM_RED_ORB, 0x114
- .set ITEM_BLUE_ORB, 0x115
- .set ITEM_SCANNER, 0x116
- .set ITEM_GO_GOGGLES, 0x117
- .set ITEM_METEORITE, 0x118
- .set ITEM_ROOM_1_KEY, 0x119
- .set ITEM_ROOM_2_KEY, 0x11a
- .set ITEM_ROOM_4_KEY, 0x11b
- .set ITEM_ROOM_6_KEY, 0x11c
- .set ITEM_STORAGE_KEY, 0x11d
- .set ITEM_ROOT_FOSSIL, 0x11e
- .set ITEM_CLAW_FOSSIL, 0x11f
- .set ITEM_DEVON_SCOPE, 0x120
- .set ITEM_TM01, 0x121
- .set ITEM_TM02, 0x122
- .set ITEM_TM03, 0x123
- .set ITEM_TM04, 0x124
- .set ITEM_TM05, 0x125
- .set ITEM_TM06, 0x126
- .set ITEM_TM07, 0x127
- .set ITEM_TM08, 0x128
- .set ITEM_TM09, 0x129
- .set ITEM_TM10, 0x12a
- .set ITEM_TM11, 0x12b
- .set ITEM_TM12, 0x12c
- .set ITEM_TM13, 0x12d
- .set ITEM_TM14, 0x12e
- .set ITEM_TM15, 0x12f
- .set ITEM_TM16, 0x130
- .set ITEM_TM17, 0x131
- .set ITEM_TM18, 0x132
- .set ITEM_TM19, 0x133
- .set ITEM_TM20, 0x134
- .set ITEM_TM21, 0x135
- .set ITEM_TM22, 0x136
- .set ITEM_TM23, 0x137
- .set ITEM_TM24, 0x138
- .set ITEM_TM25, 0x139
- .set ITEM_TM26, 0x13a
- .set ITEM_TM27, 0x13b
- .set ITEM_TM28, 0x13c
- .set ITEM_TM29, 0x13d
- .set ITEM_TM30, 0x13e
- .set ITEM_TM31, 0x13f
- .set ITEM_TM32, 0x140
- .set ITEM_TM33, 0x141
- .set ITEM_TM34, 0x142
- .set ITEM_TM35, 0x143
- .set ITEM_TM36, 0x144
- .set ITEM_TM37, 0x145
- .set ITEM_TM38, 0x146
- .set ITEM_TM39, 0x147
- .set ITEM_TM40, 0x148
- .set ITEM_TM41, 0x149
- .set ITEM_TM42, 0x14a
- .set ITEM_TM43, 0x14b
- .set ITEM_TM44, 0x14c
- .set ITEM_TM45, 0x14d
- .set ITEM_TM46, 0x14e
- .set ITEM_TM47, 0x14f
- .set ITEM_TM48, 0x150
- .set ITEM_TM49, 0x151
- .set ITEM_TM50, 0x152
- .set ITEM_HM01, 0x153
- .set ITEM_HM02, 0x154
- .set ITEM_HM03, 0x155
- .set ITEM_HM04, 0x156
- .set ITEM_HM05, 0x157
- .set ITEM_HM06, 0x158
- .set ITEM_HM07, 0x159
- .set ITEM_HM08, 0x15a
- .set ITEM_OAKS_PARCEL, 0x15d
- .set ITEM_POKE_FLUTE, 0x15e
- .set ITEM_SECRET_KEY, 0x15f
- .set ITEM_BIKE_VOUCHER, 0x160
- .set ITEM_GOLD_TEETH, 0x161
- .set ITEM_OLD_AMBER, 0x162
- .set ITEM_CARD_KEY, 0x163
- .set ITEM_LIFT_KEY, 0x164
- .set ITEM_HELIX_FOSSIL, 0x165
- .set ITEM_DOME_FOSSIL, 0x166
- .set ITEM_SILPH_SCOPE, 0x167
- .set ITEM_BICYCLE, 0x168
- .set ITEM_TOWN_MAP, 0x169
- .set ITEM_VS_SEEKER, 0x16a
- .set ITEM_FAME_CHECKER, 0x16b
- .set ITEM_TM_CASE, 0x16c
- .set ITEM_BERRY_POUCH, 0x16d
- .set ITEM_TEACHY_TV, 0x16e
- .set ITEM_TRI_PASS, 0x16f
- .set ITEM_RAINBOW_PASS, 0x170
- .set ITEM_TEA, 0x171
- .set ITEM_MYSTIC_TICKET, 0x172
- .set ITEM_AURORA_TICKET, 0x173
- .set ITEM_POWDER_JAR, 0x174
- .set ITEM_RUBY, 0x175
- .set ITEM_SAPPHIRE, 0x176
- .set ITEM_MAGMA_EMBLEM, 0x177
- .set ITEM_OLD_SEA_MAP, 0x178
diff --git a/constants/map_constants.inc b/constants/map_constants.inc
index eabfe6e69..a061d2501 100644
--- a/constants/map_constants.inc
+++ b/constants/map_constants.inc
@@ -1,3 +1,4 @@
+@ TODO: these need to match the names in include/constants/maps.h
.set cur_map_group, -1
new_map_group
diff --git a/constants/map_object_constants.inc b/constants/map_object_constants.inc
deleted file mode 100644
index 50b171d9c..000000000
--- a/constants/map_object_constants.inc
+++ /dev/null
@@ -1,258 +0,0 @@
- .set MAP_OBJ_GFX_BRENDAN_NORMAL, 0
- .set MAP_OBJ_GFX_BRENDAN_MACH_BIKE, 1
- .set MAP_OBJ_GFX_BRENDAN_SURFING, 2
- .set MAP_OBJ_GFX_BRENDAN_FIELD_MOVE, 3
- .set MAP_OBJ_GFX_QUINTY_PLUMP, 4
- .set MAP_OBJ_GFX_LITTLE_BOY_1, 5
- .set MAP_OBJ_GFX_LITTLE_GIRL_1, 6
- .set MAP_OBJ_GFX_BOY_1, 7
- .set MAP_OBJ_GFX_GIRL_1, 8
- .set MAP_OBJ_GFX_BOY_2, 9
- .set MAP_OBJ_GFX_GIRL_2, 10
- .set MAP_OBJ_GFX_LITTLE_BOY_2, 11
- .set MAP_OBJ_GFX_LITTLE_GIRL_2, 12
- .set MAP_OBJ_GFX_BOY_3, 13
- .set MAP_OBJ_GFX_GIRL_3, 14
- .set MAP_OBJ_GFX_BOY_4, 15
- .set MAP_OBJ_GFX_WOMAN_1, 16
- .set MAP_OBJ_GFX_FAT_MAN, 17
- .set MAP_OBJ_GFX_WOMAN_2, 18
- .set MAP_OBJ_GFX_MAN_1, 19
- .set MAP_OBJ_GFX_WOMAN_3, 20
- .set MAP_OBJ_GFX_OLD_MAN_1, 21
- .set MAP_OBJ_GFX_OLD_WOMAN_1, 22
- .set MAP_OBJ_GFX_MAN_2, 23
- .set MAP_OBJ_GFX_WOMAN_4, 24
- .set MAP_OBJ_GFX_MAN_3, 25
- .set MAP_OBJ_GFX_WOMAN_5, 26
- .set MAP_OBJ_GFX_COOK, 27
- .set MAP_OBJ_GFX_WOMAN_6, 28
- .set MAP_OBJ_GFX_OLD_MAN_2, 29
- .set MAP_OBJ_GFX_OLD_WOMAN_2, 30
- .set MAP_OBJ_GFX_CAMPER, 31
- .set MAP_OBJ_GFX_PICNICKER, 32
- .set MAP_OBJ_GFX_MAN_4, 33
- .set MAP_OBJ_GFX_WOMAN_7, 34
- .set MAP_OBJ_GFX_YOUNGSTER, 35
- .set MAP_OBJ_GFX_BUG_CATCHER, 36
- .set MAP_OBJ_GFX_PSYCHIC_M, 37
- .set MAP_OBJ_GFX_SCHOOL_KID_M, 38
- .set MAP_OBJ_GFX_MANIAC, 39
- .set MAP_OBJ_GFX_HEX_MANIAC, 40
- .set MAP_OBJ_GFX_RAYQUAZA_1, 41
- .set MAP_OBJ_GFX_SWIMMER_M, 42
- .set MAP_OBJ_GFX_SWIMMER_F, 43
- .set MAP_OBJ_GFX_BLACK_BELT, 44
- .set MAP_OBJ_GFX_BEAUTY, 45
- .set MAP_OBJ_GFX_SCIENTIST_1, 46
- .set MAP_OBJ_GFX_LASS, 47
- .set MAP_OBJ_GFX_GENTLEMAN, 48
- .set MAP_OBJ_GFX_SAILOR, 49
- .set MAP_OBJ_GFX_FISHERMAN, 50
- .set MAP_OBJ_GFX_RUNNING_TRIATHLETE_M, 51
- .set MAP_OBJ_GFX_RUNNING_TRIATHLETE_F, 52
- .set MAP_OBJ_GFX_TUBER_F, 53
- .set MAP_OBJ_GFX_TUBER_M, 54
- .set MAP_OBJ_GFX_HIKER, 55
- .set MAP_OBJ_GFX_CYCLING_TRIATHLETE_M, 56
- .set MAP_OBJ_GFX_CYCLING_TRIATHLETE_F, 57
- .set MAP_OBJ_GFX_NURSE, 58
- .set MAP_OBJ_GFX_ITEM_BALL, 59
- .set MAP_OBJ_GFX_BERRY_TREE, 60
- .set MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES, 61
- .set MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES, 62
- .set MAP_OBJ_GFX_BRENDAN_ACRO_BIKE, 63
- .set MAP_OBJ_GFX_PROF_BIRCH, 64
- .set MAP_OBJ_GFX_MAN_5, 65
- .set MAP_OBJ_GFX_MAN_6, 66
- .set MAP_OBJ_GFX_REPORTER_M, 67
- .set MAP_OBJ_GFX_REPORTER_F, 68
- .set MAP_OBJ_GFX_BARD, 69
- .set MAP_OBJ_GFX_ANABEL, 70
- .set MAP_OBJ_GFX_TUCKER, 71
- .set MAP_OBJ_GFX_GRETA, 72
- .set MAP_OBJ_GFX_SPENSER, 73
- .set MAP_OBJ_GFX_NOLAND, 74
- .set MAP_OBJ_GFX_LUCY, 75
- .set MAP_OBJ_GFX_UNUSED_NATU_DOLL, 76
- .set MAP_OBJ_GFX_UNUSED_MAGNEMITE_DOLL, 77
- .set MAP_OBJ_GFX_UNUSED_SQUIRTLE_DOLL, 78
- .set MAP_OBJ_GFX_UNUSED_WOOPER_DOLL, 79
- .set MAP_OBJ_GFX_UNUSED_PIKACHU_DOLL, 80
- .set MAP_OBJ_GFX_UNUSED_PORYGON2_DOLL, 81
- .set MAP_OBJ_GFX_CUTTABLE_TREE, 82
- .set MAP_OBJ_GFX_MART_EMPLOYEE, 83
- .set MAP_OBJ_GFX_ROOFTOP_SALE_WOMAN, 84
- .set MAP_OBJ_GFX_TEALA, 85
- .set MAP_OBJ_GFX_BREAKABLE_ROCK, 86
- .set MAP_OBJ_GFX_PUSHABLE_BOULDER, 87
- .set MAP_OBJ_GFX_MR_BRINEYS_BOAT, 88
- .set MAP_OBJ_GFX_MAY_NORMAL, 89
- .set MAP_OBJ_GFX_MAY_MACH_BIKE, 90
- .set MAP_OBJ_GFX_MAY_ACRO_BIKE, 91
- .set MAP_OBJ_GFX_MAY_SURFING, 92
- .set MAP_OBJ_GFX_MAY_FIELD_MOVE, 93
- .set MAP_OBJ_GFX_TRUCK, 94
- .set MAP_OBJ_GFX_VIGAROTH_CARRYING_BOX, 95
- .set MAP_OBJ_GFX_VIGAROTH_FACING_AWAY, 96
- .set MAP_OBJ_GFX_BIRCHS_BAG, 97
- .set MAP_OBJ_GFX_ZIGZAGOON_1, 98
- .set MAP_OBJ_GFX_ARTIST, 99
- .set MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 100
- .set MAP_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE, 101
- .set MAP_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE, 102
- .set MAP_OBJ_GFX_RIVAL_BRENDAN_SURFING, 103
- .set MAP_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE, 104
- .set MAP_OBJ_GFX_RIVAL_MAY_NORMAL, 105
- .set MAP_OBJ_GFX_RIVAL_MAY_MACH_BIKE, 106
- .set MAP_OBJ_GFX_RIVAL_MAY_ACRO_BIKE, 107
- .set MAP_OBJ_GFX_RIVAL_MAY_SURFING, 108
- .set MAP_OBJ_GFX_RIVAL_MAY_FIELD_MOVE, 109
- .set MAP_OBJ_GFX_CAMERAMAN, 110
- .set MAP_OBJ_GFX_BRENDAN_UNDERWATER, 111
- .set MAP_OBJ_GFX_MAY_UNDERWATER, 112
- .set MAP_OBJ_GFX_MOVING_BOX, 113
- .set MAP_OBJ_GFX_CABLE_CAR, 114
- .set MAP_OBJ_GFX_SCIENTIST_2, 115
- .set MAP_OBJ_GFX_MAN_7, 116
- .set MAP_OBJ_GFX_AQUA_MEMBER_M, 117
- .set MAP_OBJ_GFX_AQUA_MEMBER_F, 118
- .set MAP_OBJ_GFX_MAGMA_MEMBER_M, 119
- .set MAP_OBJ_GFX_MAGMA_MEMBER_F, 120
- .set MAP_OBJ_GFX_SIDNEY, 121
- .set MAP_OBJ_GFX_PHOEBE, 122
- .set MAP_OBJ_GFX_GLACIA, 123
- .set MAP_OBJ_GFX_DRAKE, 124
- .set MAP_OBJ_GFX_ROXANNE, 125
- .set MAP_OBJ_GFX_BRAWLY, 126
- .set MAP_OBJ_GFX_WATTSON, 127
- .set MAP_OBJ_GFX_FLANNERY, 128
- .set MAP_OBJ_GFX_NORMAN, 129
- .set MAP_OBJ_GFX_WINONA, 130
- .set MAP_OBJ_GFX_LIZA, 131
- .set MAP_OBJ_GFX_TATE, 132
- .set MAP_OBJ_GFX_WALLACE, 133
- .set MAP_OBJ_GFX_STEVEN, 134
- .set MAP_OBJ_GFX_WALLY, 135
- .set MAP_OBJ_GFX_LITTLE_BOY_3, 136
- .set MAP_OBJ_GFX_BRENDAN_FISHING, 137
- .set MAP_OBJ_GFX_MAY_FISHING, 138
- .set MAP_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN, 139
- .set MAP_OBJ_GFX_SS_TIDAL, 140
- .set MAP_OBJ_GFX_SUBMARINE_SHADOW, 141
- .set MAP_OBJ_GFX_PICHU_DOLL, 142
- .set MAP_OBJ_GFX_PIKACHU_DOLL, 143
- .set MAP_OBJ_GFX_MARILL_DOLL, 144
- .set MAP_OBJ_GFX_TOGEPI_DOLL, 145
- .set MAP_OBJ_GFX_CYNDAQUIL_DOLL, 146
- .set MAP_OBJ_GFX_CHIKORITA_DOLL, 147
- .set MAP_OBJ_GFX_TOTODILE_DOLL, 148
- .set MAP_OBJ_GFX_JIGGLYPUFF_DOLL, 149
- .set MAP_OBJ_GFX_MEOWTH_DOLL, 150
- .set MAP_OBJ_GFX_CLEFAIRY_DOLL, 151
- .set MAP_OBJ_GFX_DITTO_DOLL, 152
- .set MAP_OBJ_GFX_SMOOCHUM_DOLL, 153
- .set MAP_OBJ_GFX_TREECKO_DOLL, 154
- .set MAP_OBJ_GFX_TORCHIC_DOLL, 155
- .set MAP_OBJ_GFX_MUDKIP_DOLL, 156
- .set MAP_OBJ_GFX_DUSKULL_DOLL, 157
- .set MAP_OBJ_GFX_WYNAUT_DOLL, 158
- .set MAP_OBJ_GFX_BALTOY_DOLL, 159
- .set MAP_OBJ_GFX_KECLEON_DOLL, 160
- .set MAP_OBJ_GFX_AZURILL_DOLL, 161
- .set MAP_OBJ_GFX_SKITTY_DOLL, 162
- .set MAP_OBJ_GFX_SWABLU_DOLL, 163
- .set MAP_OBJ_GFX_GULPIN_DOLL, 164
- .set MAP_OBJ_GFX_LOTAD_DOLL, 165
- .set MAP_OBJ_GFX_SEEDOT_DOLL, 166
- .set MAP_OBJ_GFX_PIKA_CUSHION, 167
- .set MAP_OBJ_GFX_ROUND_CUSHION, 168
- .set MAP_OBJ_GFX_KISS_CUSHION, 169
- .set MAP_OBJ_GFX_ZIGZAG_CUSHION, 170
- .set MAP_OBJ_GFX_SPIN_CUSHION, 171
- .set MAP_OBJ_GFX_DIAMOND_CUSHION, 172
- .set MAP_OBJ_GFX_BALL_CUSHION, 173
- .set MAP_OBJ_GFX_GRASS_CUSHION, 174
- .set MAP_OBJ_GFX_FIRE_CUSHION, 175
- .set MAP_OBJ_GFX_WATER_CUSHION, 176
- .set MAP_OBJ_GFX_BIG_SNORLAX_DOLL, 177
- .set MAP_OBJ_GFX_BIG_RHYDON_DOLL, 178
- .set MAP_OBJ_GFX_BIG_LAPRAS_DOLL, 179
- .set MAP_OBJ_GFX_BIG_VENUSAUR_DOLL, 180
- .set MAP_OBJ_GFX_BIG_CHARIZARD_DOLL, 181
- .set MAP_OBJ_GFX_BIG_BLASTOISE_DOLL, 182
- .set MAP_OBJ_GFX_BIG_WAILMER_DOLL, 183
- .set MAP_OBJ_GFX_BIG_REGIROCK_DOLL, 184
- .set MAP_OBJ_GFX_BIG_REGICE_DOLL, 185
- .set MAP_OBJ_GFX_BIG_REGISTEEL_DOLL, 186
- .set MAP_OBJ_GFX_LATIAS, 187
- .set MAP_OBJ_GFX_LATIOS, 188
- .set MAP_OBJ_GFX_BOY_5, 189
- .set MAP_OBJ_GFX_CONTEST_JUDGE, 190
- .set MAP_OBJ_GFX_BRENDAN_WATERING, 191
- .set MAP_OBJ_GFX_MAY_WATERING, 192
- .set MAP_OBJ_GFX_BRENDAN_DECORATING, 193
- .set MAP_OBJ_GFX_MAY_DECORATING, 194
- .set MAP_OBJ_GFX_ARCHIE, 195
- .set MAP_OBJ_GFX_MAXIE, 196
- .set MAP_OBJ_GFX_KYOGRE_1, 197
- .set MAP_OBJ_GFX_GROUDON_1, 198
- .set MAP_OBJ_GFX_FOSSIL, 199
- .set MAP_OBJ_GFX_REGIROCK, 200
- .set MAP_OBJ_GFX_REGICE, 201
- .set MAP_OBJ_GFX_REGISTEEL, 202
- .set MAP_OBJ_GFX_SKITTY, 203
- .set MAP_OBJ_GFX_KECLEON_1, 204
- .set MAP_OBJ_GFX_KYOGRE_2, 205
- .set MAP_OBJ_GFX_GROUDON_2, 206
- .set MAP_OBJ_GFX_RAYQUAZA_2, 207
- .set MAP_OBJ_GFX_ZIGZAGOON_2, 208
- .set MAP_OBJ_GFX_PIKACHU, 209
- .set MAP_OBJ_GFX_AZUMARILL, 210
- .set MAP_OBJ_GFX_WINGULL, 211
- .set MAP_OBJ_GFX_KECLEON_2, 212
- .set MAP_OBJ_GFX_TUBER_M_SWIMMING, 213
- .set MAP_OBJ_GFX_AZURILL, 214
- .set MAP_OBJ_GFX_MOM, 215
- .set MAP_OBJ_GFX_LINK_BRENDAN, 216
- .set MAP_OBJ_GFX_LINK_MAY, 217
- .set MAP_OBJ_GFX_JUAN, 218
- .set MAP_OBJ_GFX_SCOTT, 219
- .set MAP_OBJ_GFX_POOCHYENA, 220
- .set MAP_OBJ_GFX_KYOGRE_3, 221
- .set MAP_OBJ_GFX_GROUDON_3, 222
- .set MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 223
- .set MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 224
- .set MAP_OBJ_GFX_KIRLIA, 225
- .set MAP_OBJ_GFX_DUSCLOPS, 226
- .set MAP_OBJ_GFX_UNION_ROOM_NURSE, 227
- .set MAP_OBJ_GFX_SUDOWOODO, 228
- .set MAP_OBJ_GFX_MEW, 229
- .set MAP_OBJ_GFX_RED, 230
- .set MAP_OBJ_GFX_LEAF, 231
- .set MAP_OBJ_GFX_DEOXYS, 232
- .set MAP_OBJ_GFX_DEOXYS_TRIANGLE, 233
- .set MAP_OBJ_GFX_BRANDON, 234
- .set MAP_OBJ_GFX_LINK_RS_BRENDAN, 235
- .set MAP_OBJ_GFX_LINK_RS_MAY, 236
- .set MAP_OBJ_GFX_LUGIA, 237
- .set MAP_OBJ_GFX_HOOH, 238
- .set MAP_OBJ_GFX_BARD_2, 239
- .set MAP_OBJ_GFX_HIPSTER, 240
- .set MAP_OBJ_GFX_TRADER, 241
- .set MAP_OBJ_GFX_STORYTELLER, 242
- .set MAP_OBJ_GFX_GIDDY, 243
- .set MAP_OBJ_GFX_PLACEHOLDER_1, 244
- .set MAP_OBJ_GFX_PLACEHOLDER_2, 245
-
- .set SHADOW_SIZE_S, 0
- .set SHADOW_SIZE_M, 1
- .set SHADOW_SIZE_L, 2
- .set SHADOW_SIZE_XL, 3
-
- .set F_INANIMATE, 1 << 6
- .set F_DISABLE_REFLECTION_PALETTE_LOAD, 1 << 7
-
- .set TRACKS_NONE, 0
- .set TRACKS_FOOT, 1
- .set TRACKS_BIKE_TIRE, 2
diff --git a/constants/move_constants.inc b/constants/move_constants.inc
deleted file mode 100644
index b6c8edf98..000000000
--- a/constants/move_constants.inc
+++ /dev/null
@@ -1,355 +0,0 @@
- .set MOVE_NONE, 0x000
- .set MOVE_POUND, 0x001
- .set MOVE_KARATE_CHOP, 0x002
- .set MOVE_DOUBLE_SLAP, 0x003
- .set MOVE_COMET_PUNCH, 0x004
- .set MOVE_MEGA_PUNCH, 0x005
- .set MOVE_PAY_DAY, 0x006
- .set MOVE_FIRE_PUNCH, 0x007
- .set MOVE_ICE_PUNCH, 0x008
- .set MOVE_THUNDER_PUNCH, 0x009
- .set MOVE_SCRATCH, 0x00a
- .set MOVE_VICE_GRIP, 0x00b
- .set MOVE_GUILLOTINE, 0x00c
- .set MOVE_RAZOR_WIND, 0x00d
- .set MOVE_SWORDS_DANCE, 0x00e
- .set MOVE_CUT, 0x00f
- .set MOVE_GUST, 0x010
- .set MOVE_WING_ATTACK, 0x011
- .set MOVE_WHIRLWIND, 0x012
- .set MOVE_FLY, 0x013
- .set MOVE_BIND, 0x014
- .set MOVE_SLAM, 0x015
- .set MOVE_VINE_WHIP, 0x016
- .set MOVE_STOMP, 0x017
- .set MOVE_DOUBLE_KICK, 0x018
- .set MOVE_MEGA_KICK, 0x019
- .set MOVE_JUMP_KICK, 0x01a
- .set MOVE_ROLLING_KICK, 0x01b
- .set MOVE_SAND_ATTACK, 0x01c
- .set MOVE_HEADBUTT, 0x01d
- .set MOVE_HORN_ATTACK, 0x01e
- .set MOVE_FURY_ATTACK, 0x01f
- .set MOVE_HORN_DRILL, 0x020
- .set MOVE_TACKLE, 0x021
- .set MOVE_BODY_SLAM, 0x022
- .set MOVE_WRAP, 0x023
- .set MOVE_TAKE_DOWN, 0x024
- .set MOVE_THRASH, 0x025
- .set MOVE_DOUBLE_EDGE, 0x026
- .set MOVE_TAIL_WHIP, 0x027
- .set MOVE_POISON_STING, 0x028
- .set MOVE_TWINEEDLE, 0x029
- .set MOVE_PIN_MISSILE, 0x02a
- .set MOVE_LEER, 0x02b
- .set MOVE_BITE, 0x02c
- .set MOVE_GROWL, 0x02d
- .set MOVE_ROAR, 0x02e
- .set MOVE_SING, 0x02f
- .set MOVE_SUPERSONIC, 0x030
- .set MOVE_SONIC_BOOM, 0x031
- .set MOVE_DISABLE, 0x032
- .set MOVE_ACID, 0x033
- .set MOVE_EMBER, 0x034
- .set MOVE_FLAMETHROWER, 0x035
- .set MOVE_MIST, 0x036
- .set MOVE_WATER_GUN, 0x037
- .set MOVE_HYDRO_PUMP, 0x038
- .set MOVE_SURF, 0x039
- .set MOVE_ICE_BEAM, 0x03a
- .set MOVE_BLIZZARD, 0x03b
- .set MOVE_PSYBEAM, 0x03c
- .set MOVE_BUBBLE_BEAM, 0x03d
- .set MOVE_AURORA_BEAM, 0x03e
- .set MOVE_HYPER_BEAM, 0x03f
- .set MOVE_PECK, 0x040
- .set MOVE_DRILL_PECK, 0x041
- .set MOVE_SUBMISSION, 0x042
- .set MOVE_LOW_KICK, 0x043
- .set MOVE_COUNTER, 0x044
- .set MOVE_SEISMIC_TOSS, 0x045
- .set MOVE_STRENGTH, 0x046
- .set MOVE_ABSORB, 0x047
- .set MOVE_MEGA_DRAIN, 0x048
- .set MOVE_LEECH_SEED, 0x049
- .set MOVE_GROWTH, 0x04a
- .set MOVE_RAZOR_LEAF, 0x04b
- .set MOVE_SOLAR_BEAM, 0x04c
- .set MOVE_POISON_POWDER, 0x04d
- .set MOVE_STUN_SPORE, 0x04e
- .set MOVE_SLEEP_POWDER, 0x04f
- .set MOVE_PETAL_DANCE, 0x050
- .set MOVE_STRING_SHOT, 0x051
- .set MOVE_DRAGON_RAGE, 0x052
- .set MOVE_FIRE_SPIN, 0x053
- .set MOVE_THUNDER_SHOCK, 0x054
- .set MOVE_THUNDERBOLT, 0x055
- .set MOVE_THUNDER_WAVE, 0x056
- .set MOVE_THUNDER, 0x057
- .set MOVE_ROCK_THROW, 0x058
- .set MOVE_EARTHQUAKE, 0x059
- .set MOVE_FISSURE, 0x05a
- .set MOVE_DIG, 0x05b
- .set MOVE_TOXIC, 0x05c
- .set MOVE_CONFUSION, 0x05d
- .set MOVE_PSYCHIC, 0x05e
- .set MOVE_HYPNOSIS, 0x05f
- .set MOVE_MEDITATE, 0x060
- .set MOVE_AGILITY, 0x061
- .set MOVE_QUICK_ATTACK, 0x062
- .set MOVE_RAGE, 0x063
- .set MOVE_TELEPORT, 0x064
- .set MOVE_NIGHT_SHADE, 0x065
- .set MOVE_MIMIC, 0x066
- .set MOVE_SCREECH, 0x067
- .set MOVE_DOUBLE_TEAM, 0x068
- .set MOVE_RECOVER, 0x069
- .set MOVE_HARDEN, 0x06a
- .set MOVE_MINIMIZE, 0x06b
- .set MOVE_SMOKESCREEN, 0x06c
- .set MOVE_CONFUSE_RAY, 0x06d
- .set MOVE_WITHDRAW, 0x06e
- .set MOVE_DEFENSE_CURL, 0x06f
- .set MOVE_BARRIER, 0x070
- .set MOVE_LIGHT_SCREEN, 0x071
- .set MOVE_HAZE, 0x072
- .set MOVE_REFLECT, 0x073
- .set MOVE_FOCUS_ENERGY, 0x074
- .set MOVE_BIDE, 0x075
- .set MOVE_METRONOME, 0x076
- .set MOVE_MIRROR_MOVE, 0x077
- .set MOVE_SELF_DESTRUCT, 0x078
- .set MOVE_EGG_BOMB, 0x079
- .set MOVE_LICK, 0x07a
- .set MOVE_SMOG, 0x07b
- .set MOVE_SLUDGE, 0x07c
- .set MOVE_BONE_CLUB, 0x07d
- .set MOVE_FIRE_BLAST, 0x07e
- .set MOVE_WATERFALL, 0x07f
- .set MOVE_CLAMP, 0x080
- .set MOVE_SWIFT, 0x081
- .set MOVE_SKULL_BASH, 0x082
- .set MOVE_SPIKE_CANNON, 0x083
- .set MOVE_CONSTRICT, 0x084
- .set MOVE_AMNESIA, 0x085
- .set MOVE_KINESIS, 0x086
- .set MOVE_SOFT_BOILED, 0x087
- .set MOVE_HI_JUMP_KICK, 0x088
- .set MOVE_GLARE, 0x089
- .set MOVE_DREAM_EATER, 0x08a
- .set MOVE_POISON_GAS, 0x08b
- .set MOVE_BARRAGE, 0x08c
- .set MOVE_LEECH_LIFE, 0x08d
- .set MOVE_LOVELY_KISS, 0x08e
- .set MOVE_SKY_ATTACK, 0x08f
- .set MOVE_TRANSFORM, 0x090
- .set MOVE_BUBBLE, 0x091
- .set MOVE_DIZZY_PUNCH, 0x092
- .set MOVE_SPORE, 0x093
- .set MOVE_FLASH, 0x094
- .set MOVE_PSYWAVE, 0x095
- .set MOVE_SPLASH, 0x096
- .set MOVE_ACID_ARMOR, 0x097
- .set MOVE_CRABHAMMER, 0x098
- .set MOVE_EXPLOSION, 0x099
- .set MOVE_FURY_SWIPES, 0x09a
- .set MOVE_BONEMERANG, 0x09b
- .set MOVE_REST, 0x09c
- .set MOVE_ROCK_SLIDE, 0x09d
- .set MOVE_HYPER_FANG, 0x09e
- .set MOVE_SHARPEN, 0x09f
- .set MOVE_CONVERSION, 0x0a0
- .set MOVE_TRI_ATTACK, 0x0a1
- .set MOVE_SUPER_FANG, 0x0a2
- .set MOVE_SLASH, 0x0a3
- .set MOVE_SUBSTITUTE, 0x0a4
- .set MOVE_STRUGGLE, 0x0a5
- .set MOVE_SKETCH, 0x0a6
- .set MOVE_TRIPLE_KICK, 0x0a7
- .set MOVE_THIEF, 0x0a8
- .set MOVE_SPIDER_WEB, 0x0a9
- .set MOVE_MIND_READER, 0x0aa
- .set MOVE_NIGHTMARE, 0x0ab
- .set MOVE_FLAME_WHEEL, 0x0ac
- .set MOVE_SNORE, 0x0ad
- .set MOVE_CURSE, 0x0ae
- .set MOVE_FLAIL, 0x0af
- .set MOVE_CONVERSION_2, 0x0b0
- .set MOVE_AEROBLAST, 0x0b1
- .set MOVE_COTTON_SPORE, 0x0b2
- .set MOVE_REVERSAL, 0x0b3
- .set MOVE_SPITE, 0x0b4
- .set MOVE_POWDER_SNOW, 0x0b5
- .set MOVE_PROTECT, 0x0b6
- .set MOVE_MACH_PUNCH, 0x0b7
- .set MOVE_SCARY_FACE, 0x0b8
- .set MOVE_FAINT_ATTACK, 0x0b9
- .set MOVE_SWEET_KISS, 0x0ba
- .set MOVE_BELLY_DRUM, 0x0bb
- .set MOVE_SLUDGE_BOMB, 0x0bc
- .set MOVE_MUD_SLAP, 0x0bd
- .set MOVE_OCTAZOOKA, 0x0be
- .set MOVE_SPIKES, 0x0bf
- .set MOVE_ZAP_CANNON, 0x0c0
- .set MOVE_FORESIGHT, 0x0c1
- .set MOVE_DESTINY_BOND, 0x0c2
- .set MOVE_PERISH_SONG, 0x0c3
- .set MOVE_ICY_WIND, 0x0c4
- .set MOVE_DETECT, 0x0c5
- .set MOVE_BONE_RUSH, 0x0c6
- .set MOVE_LOCK_ON, 0x0c7
- .set MOVE_OUTRAGE, 0x0c8
- .set MOVE_SANDSTORM, 0x0c9
- .set MOVE_GIGA_DRAIN, 0x0ca
- .set MOVE_ENDURE, 0x0cb
- .set MOVE_CHARM, 0x0cc
- .set MOVE_ROLLOUT, 0x0cd
- .set MOVE_FALSE_SWIPE, 0x0ce
- .set MOVE_SWAGGER, 0x0cf
- .set MOVE_MILK_DRINK, 0x0d0
- .set MOVE_SPARK, 0x0d1
- .set MOVE_FURY_CUTTER, 0x0d2
- .set MOVE_STEEL_WING, 0x0d3
- .set MOVE_MEAN_LOOK, 0x0d4
- .set MOVE_ATTRACT, 0x0d5
- .set MOVE_SLEEP_TALK, 0x0d6
- .set MOVE_HEAL_BELL, 0x0d7
- .set MOVE_RETURN, 0x0d8
- .set MOVE_PRESENT, 0x0d9
- .set MOVE_FRUSTRATION, 0x0da
- .set MOVE_SAFEGUARD, 0x0db
- .set MOVE_PAIN_SPLIT, 0x0dc
- .set MOVE_SACRED_FIRE, 0x0dd
- .set MOVE_MAGNITUDE, 0x0de
- .set MOVE_DYNAMIC_PUNCH, 0x0df
- .set MOVE_MEGAHORN, 0x0e0
- .set MOVE_DRAGON_BREATH, 0x0e1
- .set MOVE_BATON_PASS, 0x0e2
- .set MOVE_ENCORE, 0x0e3
- .set MOVE_PURSUIT, 0x0e4
- .set MOVE_RAPID_SPIN, 0x0e5
- .set MOVE_SWEET_SCENT, 0x0e6
- .set MOVE_IRON_TAIL, 0x0e7
- .set MOVE_METAL_CLAW, 0x0e8
- .set MOVE_VITAL_THROW, 0x0e9
- .set MOVE_MORNING_SUN, 0x0ea
- .set MOVE_SYNTHESIS, 0x0eb
- .set MOVE_MOONLIGHT, 0x0ec
- .set MOVE_HIDDEN_POWER, 0x0ed
- .set MOVE_CROSS_CHOP, 0x0ee
- .set MOVE_TWISTER, 0x0ef
- .set MOVE_RAIN_DANCE, 0x0f0
- .set MOVE_SUNNY_DAY, 0x0f1
- .set MOVE_CRUNCH, 0x0f2
- .set MOVE_MIRROR_COAT, 0x0f3
- .set MOVE_PSYCH_UP, 0x0f4
- .set MOVE_EXTREME_SPEED, 0x0f5
- .set MOVE_ANCIENT_POWER, 0x0f6
- .set MOVE_SHADOW_BALL, 0x0f7
- .set MOVE_FUTURE_SIGHT, 0x0f8
- .set MOVE_ROCK_SMASH, 0x0f9
- .set MOVE_WHIRLPOOL, 0x0fa
- .set MOVE_BEAT_UP, 0x0fb
- .set MOVE_FAKE_OUT, 0x0fc
- .set MOVE_UPROAR, 0x0fd
- .set MOVE_STOCKPILE, 0x0fe
- .set MOVE_SPIT_UP, 0x0ff
- .set MOVE_SWALLOW, 0x100
- .set MOVE_HEAT_WAVE, 0x101
- .set MOVE_HAIL, 0x102
- .set MOVE_TORMENT, 0x103
- .set MOVE_FLATTER, 0x104
- .set MOVE_WILL_O_WISP, 0x105
- .set MOVE_MEMENTO, 0x106
- .set MOVE_FACADE, 0x107
- .set MOVE_FOCUS_PUNCH, 0x108
- .set MOVE_SMELLING_SALT, 0x109
- .set MOVE_FOLLOW_ME, 0x10a
- .set MOVE_NATURE_POWER, 0x10b
- .set MOVE_CHARGE, 0x10c
- .set MOVE_TAUNT, 0x10d
- .set MOVE_HELPING_HAND, 0x10e
- .set MOVE_TRICK, 0x10f
- .set MOVE_ROLE_PLAY, 0x110
- .set MOVE_WISH, 0x111
- .set MOVE_ASSIST, 0x112
- .set MOVE_INGRAIN, 0x113
- .set MOVE_SUPERPOWER, 0x114
- .set MOVE_MAGIC_COAT, 0x115
- .set MOVE_RECYCLE, 0x116
- .set MOVE_REVENGE, 0x117
- .set MOVE_BRICK_BREAK, 0x118
- .set MOVE_YAWN, 0x119
- .set MOVE_KNOCK_OFF, 0x11a
- .set MOVE_ENDEAVOR, 0x11b
- .set MOVE_ERUPTION, 0x11c
- .set MOVE_SKILL_SWAP, 0x11d
- .set MOVE_IMPRISON, 0x11e
- .set MOVE_REFRESH, 0x11f
- .set MOVE_GRUDGE, 0x120
- .set MOVE_SNATCH, 0x121
- .set MOVE_SECRET_POWER, 0x122
- .set MOVE_DIVE, 0x123
- .set MOVE_ARM_THRUST, 0x124
- .set MOVE_CAMOUFLAGE, 0x125
- .set MOVE_TAIL_GLOW, 0x126
- .set MOVE_LUSTER_PURGE, 0x127
- .set MOVE_MIST_BALL, 0x128
- .set MOVE_FEATHER_DANCE, 0x129
- .set MOVE_TEETER_DANCE, 0x12a
- .set MOVE_BLAZE_KICK, 0x12b
- .set MOVE_MUD_SPORT, 0x12c
- .set MOVE_ICE_BALL, 0x12d
- .set MOVE_NEEDLE_ARM, 0x12e
- .set MOVE_SLACK_OFF, 0x12f
- .set MOVE_HYPER_VOICE, 0x130
- .set MOVE_POISON_FANG, 0x131
- .set MOVE_CRUSH_CLAW, 0x132
- .set MOVE_BLAST_BURN, 0x133
- .set MOVE_HYDRO_CANNON, 0x134
- .set MOVE_METEOR_MASH, 0x135
- .set MOVE_ASTONISH, 0x136
- .set MOVE_WEATHER_BALL, 0x137
- .set MOVE_AROMATHERAPY, 0x138
- .set MOVE_FAKE_TEARS, 0x139
- .set MOVE_AIR_CUTTER, 0x13a
- .set MOVE_OVERHEAT, 0x13b
- .set MOVE_ODOR_SLEUTH, 0x13c
- .set MOVE_ROCK_TOMB, 0x13d
- .set MOVE_SILVER_WIND, 0x13e
- .set MOVE_METAL_SOUND, 0x13f
- .set MOVE_GRASS_WHISTLE, 0x140
- .set MOVE_TICKLE, 0x141
- .set MOVE_COSMIC_POWER, 0x142
- .set MOVE_WATER_SPOUT, 0x143
- .set MOVE_SIGNAL_BEAM, 0x144
- .set MOVE_SHADOW_PUNCH, 0x145
- .set MOVE_EXTRASENSORY, 0x146
- .set MOVE_SKY_UPPERCUT, 0x147
- .set MOVE_SAND_TOMB, 0x148
- .set MOVE_SHEER_COLD, 0x149
- .set MOVE_MUDDY_WATER, 0x14a
- .set MOVE_BULLET_SEED, 0x14b
- .set MOVE_AERIAL_ACE, 0x14c
- .set MOVE_ICICLE_SPEAR, 0x14d
- .set MOVE_IRON_DEFENSE, 0x14e
- .set MOVE_BLOCK, 0x14f
- .set MOVE_HOWL, 0x150
- .set MOVE_DRAGON_CLAW, 0x151
- .set MOVE_FRENZY_PLANT, 0x152
- .set MOVE_BULK_UP, 0x153
- .set MOVE_BOUNCE, 0x154
- .set MOVE_MUD_SHOT, 0x155
- .set MOVE_POISON_TAIL, 0x156
- .set MOVE_COVET, 0x157
- .set MOVE_VOLT_TACKLE, 0x158
- .set MOVE_MAGICAL_LEAF, 0x159
- .set MOVE_WATER_SPORT, 0x15a
- .set MOVE_CALM_MIND, 0x15b
- .set MOVE_LEAF_BLADE, 0x15c
- .set MOVE_DRAGON_DANCE, 0x15d
- .set MOVE_ROCK_BLAST, 0x15e
- .set MOVE_SHOCK_WAVE, 0x15f
- .set MOVE_WATER_PULSE, 0x160
- .set MOVE_DOOM_DESIRE, 0x161
- .set MOVE_PSYCHO_BOOST, 0x162
diff --git a/constants/songs.inc b/constants/songs.inc
deleted file mode 100644
index 61362f058..000000000
--- a/constants/songs.inc
+++ /dev/null
@@ -1,461 +0,0 @@
- .equiv SE_STOP, 0
- .equiv SE_KAIFUKU, 1
- .equiv SE_PC_LOGON, 2
- .equiv SE_PC_OFF, 3
- .equiv SE_PC_ON, 4
- .equiv SE_SELECT, 5
- .equiv SE_WIN_OPEN, 6
- .equiv SE_WALL_HIT, 7
- .equiv SE_DOOR, 8
- .equiv SE_KAIDAN, 9
- .equiv SE_DANSA, 10
- .equiv SE_JITENSYA, 11
- .equiv SE_KOUKA_L, 12
- .equiv SE_KOUKA_M, 13
- .equiv SE_KOUKA_H, 14
- .equiv SE_BOWA2, 15
- .equiv SE_POKE_DEAD, 16
- .equiv SE_NIGERU, 17
- .equiv SE_JIDO_DOA, 18
- .equiv SE_NAMINORI, 19
- .equiv SE_BAN, 20
- .equiv SE_PIN, 21
- .equiv SE_BOO, 22
- .equiv SE_BOWA, 23
- .equiv SE_JYUNI, 24
- .equiv SE_A, 25
- .equiv SE_I, 26
- .equiv SE_U, 27
- .equiv SE_E, 28
- .equiv SE_O, 29
- .equiv SE_N, 30
- .equiv SE_SEIKAI, 31
- .equiv SE_HAZURE, 32
- .equiv SE_EXP, 33
- .equiv SE_JITE_PYOKO, 34
- .equiv SE_MU_PACHI, 35
- .equiv SE_TK_KASYA, 36
- .equiv SE_FU_ZAKU, 37
- .equiv SE_FU_ZAKU2, 38
- .equiv SE_FU_ZUZUZU, 39
- .equiv SE_RU_GASHIN, 40
- .equiv SE_RU_GASYAN, 41
- .equiv SE_RU_BARI, 42
- .equiv SE_RU_HYUU, 43
- .equiv SE_KI_GASYAN, 44
- .equiv SE_TK_WARPIN, 45
- .equiv SE_TK_WARPOUT, 46
- .equiv SE_TU_SAA, 47
- .equiv SE_HI_TURUN, 48
- .equiv SE_TRACK_MOVE, 49
- .equiv SE_TRACK_STOP, 50
- .equiv SE_TRACK_HAIK, 51
- .equiv SE_TRACK_DOOR, 52
- .equiv SE_MOTER, 53
- .equiv SE_CARD, 54
- .equiv SE_SAVE, 55
- .equiv SE_KON, 56
- .equiv SE_KON2, 57
- .equiv SE_KON3, 58
- .equiv SE_KON4, 59
- .equiv SE_SUIKOMU, 60
- .equiv SE_NAGERU, 61
- .equiv SE_TOY_C, 62
- .equiv SE_TOY_D, 63
- .equiv SE_TOY_E, 64
- .equiv SE_TOY_F, 65
- .equiv SE_TOY_G, 66
- .equiv SE_TOY_A, 67
- .equiv SE_TOY_B, 68
- .equiv SE_TOY_C1, 69
- .equiv SE_MIZU, 70
- .equiv SE_HASHI, 71
- .equiv SE_DAUGI, 72
- .equiv SE_PINPON, 73
- .equiv SE_FUUSEN1, 74
- .equiv SE_FUUSEN2, 75
- .equiv SE_FUUSEN3, 76
- .equiv SE_TOY_KABE, 77
- .equiv SE_TOY_DANGO, 78
- .equiv SE_DOKU, 79
- .equiv SE_ESUKA, 80
- .equiv SE_T_AME, 81
- .equiv SE_T_AME_E, 82
- .equiv SE_T_OOAME, 83
- .equiv SE_T_OOAME_E, 84
- .equiv SE_T_KOAME, 85
- .equiv SE_T_KOAME_E, 86
- .equiv SE_T_KAMI, 87
- .equiv SE_T_KAMI2, 88
- .equiv SE_ELEBETA, 89
- .equiv SE_HINSI, 90
- .equiv SE_EXPMAX, 91
- .equiv SE_TAMAKORO, 92
- .equiv SE_TAMAKORO_E, 93
- .equiv SE_BASABASA, 94
- .equiv SE_REGI, 95
- .equiv SE_C_GAJI, 96
- .equiv SE_C_MAKU_U, 97
- .equiv SE_C_MAKU_D, 98
- .equiv SE_C_PASI, 99
- .equiv SE_C_SYU, 100
- .equiv SE_C_PIKON, 101
- .equiv SE_REAPOKE, 102
- .equiv SE_OP_BASYU, 103
- .equiv SE_BT_START, 104
- .equiv SE_DENDOU, 105
- .equiv SE_JIHANKI, 106
- .equiv SE_TAMA, 107
- .equiv SE_Z_SCROLL, 108
- .equiv SE_Z_PAGE, 109
- .equiv SE_PN_ON, 110
- .equiv SE_PN_OFF, 111
- .equiv SE_Z_SEARCH, 112
- .equiv SE_TAMAGO, 113
- .equiv SE_TB_START, 114
- .equiv SE_TB_KON, 115
- .equiv SE_TB_KARA, 116
- .equiv SE_BIDORO, 117
- .equiv SE_W085, 118
- .equiv SE_W085B, 119
- .equiv SE_W231, 120
- .equiv SE_W171, 121
- .equiv SE_W233, 122
- .equiv SE_W233B, 123
- .equiv SE_W145, 124
- .equiv SE_W145B, 125
- .equiv SE_W145C, 126
- .equiv SE_W240, 127
- .equiv SE_W015, 128
- .equiv SE_W081, 129
- .equiv SE_W081B, 130
- .equiv SE_W088, 131
- .equiv SE_W016, 132
- .equiv SE_W016B, 133
- .equiv SE_W003, 134
- .equiv SE_W104, 135
- .equiv SE_W013, 136
- .equiv SE_W196, 137
- .equiv SE_W086, 138
- .equiv SE_W004, 139
- .equiv SE_W025, 140
- .equiv SE_W025B, 141
- .equiv SE_W152, 142
- .equiv SE_W026, 143
- .equiv SE_W172, 144
- .equiv SE_W172B, 145
- .equiv SE_W053, 146
- .equiv SE_W007, 147
- .equiv SE_W092, 148
- .equiv SE_W221, 149
- .equiv SE_W221B, 150
- .equiv SE_W052, 151
- .equiv SE_W036, 152
- .equiv SE_W059, 153
- .equiv SE_W059B, 154
- .equiv SE_W010, 155
- .equiv SE_W011, 156
- .equiv SE_W017, 157
- .equiv SE_W019, 158
- .equiv SE_W028, 159
- .equiv SE_W013B, 160
- .equiv SE_W044, 161
- .equiv SE_W029, 162
- .equiv SE_W057, 163
- .equiv SE_W056, 164
- .equiv SE_W250, 165
- .equiv SE_W030, 166
- .equiv SE_W039, 167
- .equiv SE_W054, 168
- .equiv SE_W077, 169
- .equiv SE_W020, 170
- .equiv SE_W082, 171
- .equiv SE_W047, 172
- .equiv SE_W195, 173
- .equiv SE_W006, 174
- .equiv SE_W091, 175
- .equiv SE_W146, 176
- .equiv SE_W120, 177
- .equiv SE_W153, 178
- .equiv SE_W071B, 179
- .equiv SE_W071, 180
- .equiv SE_W103, 181
- .equiv SE_W062, 182
- .equiv SE_W062B, 183
- .equiv SE_W048, 184
- .equiv SE_W187, 185
- .equiv SE_W118, 186
- .equiv SE_W155, 187
- .equiv SE_W122, 188
- .equiv SE_W060, 189
- .equiv SE_W185, 190
- .equiv SE_W014, 191
- .equiv SE_W043, 192
- .equiv SE_W207, 193
- .equiv SE_W207B, 194
- .equiv SE_W215, 195
- .equiv SE_W109, 196
- .equiv SE_W173, 197
- .equiv SE_W280, 198
- .equiv SE_W202, 199
- .equiv SE_W060B, 200
- .equiv SE_W076, 201
- .equiv SE_W080, 202
- .equiv SE_W100, 203
- .equiv SE_W107, 204
- .equiv SE_W166, 205
- .equiv SE_W129, 206
- .equiv SE_W115, 207
- .equiv SE_W112, 208
- .equiv SE_W197, 209
- .equiv SE_W199, 210
- .equiv SE_W236, 211
- .equiv SE_W204, 212
- .equiv SE_W268, 213
- .equiv SE_W070, 214
- .equiv SE_W063, 215
- .equiv SE_W127, 216
- .equiv SE_W179, 217
- .equiv SE_W151, 218
- .equiv SE_W201, 219
- .equiv SE_W161, 220
- .equiv SE_W161B, 221
- .equiv SE_W227, 222
- .equiv SE_W227B, 223
- .equiv SE_W226, 224
- .equiv SE_W208, 225
- .equiv SE_W213, 226
- .equiv SE_W213B, 227
- .equiv SE_W234, 228
- .equiv SE_W260, 229
- .equiv SE_W328, 230
- .equiv SE_W320, 231
- .equiv SE_W255, 232
- .equiv SE_W291, 233
- .equiv SE_W089, 234
- .equiv SE_W239, 235
- .equiv SE_W230, 236
- .equiv SE_W281, 237
- .equiv SE_W327, 238
- .equiv SE_W287, 239
- .equiv SE_W257, 240
- .equiv SE_W253, 241
- .equiv SE_W258, 242
- .equiv SE_W322, 243
- .equiv SE_W298, 244
- .equiv SE_W287B, 245
- .equiv SE_W114, 246
- .equiv SE_W063B, 247
-
- .equiv BGM_STOP, 349
- .equiv BGM_TETSUJI, 350
- .equiv BGM_FIELD13, 351
- .equiv BGM_KACHI22, 352
- .equiv BGM_KACHI2, 353
- .equiv BGM_KACHI3, 354
- .equiv BGM_KACHI5, 355
- .equiv BGM_PCC, 356
- .equiv BGM_NIBI, 357
- .equiv BGM_SUIKUN, 358
- .equiv BGM_DOORO1, 359
- .equiv BGM_DOORO_X1, 360
- .equiv BGM_DOORO_X3, 361
- .equiv BGM_MACHI_S2, 362
- .equiv BGM_MACHI_S4, 363
- .equiv BGM_GIM, 364
- .equiv BGM_NAMINORI, 365
- .equiv BGM_DAN01, 366
- .equiv BGM_FANFA1, 367
- .equiv BGM_ME_ASA, 368
- .equiv BGM_ME_BACHI, 369
- .equiv BGM_FANFA4, 370
- .equiv BGM_FANFA5, 371
- .equiv BGM_ME_WAZA, 372
- .equiv BGM_BIJYUTU, 373
- .equiv BGM_DOORO_X4, 374
- .equiv BGM_FUNE_KAN, 375
- .equiv BGM_ME_SHINKA, 376
- .equiv BGM_SHINKA, 377
- .equiv BGM_ME_WASURE, 378
- .equiv BGM_SYOUJOEYE, 379
- .equiv BGM_BOYEYE, 380
- .equiv BGM_DAN02, 381
- .equiv BGM_MACHI_S3, 382
- .equiv BGM_ODAMAKI, 383
- .equiv BGM_B_TOWER, 384
- .equiv BGM_SWIMEYE, 385
- .equiv BGM_DAN03, 386
- .equiv BGM_ME_KINOMI, 387
- .equiv BGM_ME_TAMA, 388
- .equiv BGM_ME_B_BIG, 389
- .equiv BGM_ME_B_SMALL, 390
- .equiv BGM_ME_ZANNEN, 391
- .equiv BGM_BD_TIME, 392
- .equiv BGM_TEST1, 393
- .equiv BGM_TEST2, 394
- .equiv BGM_TEST3, 395
- .equiv BGM_TEST4, 396
- .equiv BGM_TEST, 397
- .equiv BGM_GOMACHI0, 398
- .equiv BGM_GOTOWN, 399
- .equiv BGM_POKECEN, 400
- .equiv BGM_NEXTROAD, 401
- .equiv BGM_GRANROAD, 402
- .equiv BGM_CYCLING, 403
- .equiv BGM_FRIENDLY, 404
- .equiv BGM_MISHIRO, 405
- .equiv BGM_TOZAN, 406
- .equiv BGM_GIRLEYE, 407
- .equiv BGM_MINAMO, 408
- .equiv BGM_ASHROAD, 409
- .equiv BGM_EVENT0, 410
- .equiv BGM_DEEPDEEP, 411
- .equiv BGM_KACHI1, 412
- .equiv BGM_TITLE3, 413
- .equiv BGM_DEMO1, 414
- .equiv BGM_GIRL_SUP, 415
- .equiv BGM_HAGESHII, 416
- .equiv BGM_KAKKOII, 417
- .equiv BGM_KAZANBAI, 418
- .equiv BGM_AQA_0, 419
- .equiv BGM_TSURETEK, 420
- .equiv BGM_BOY_SUP, 421
- .equiv BGM_RAINBOW, 422
- .equiv BGM_AYASII, 423
- .equiv BGM_KACHI4, 424
- .equiv BGM_ROPEWAY, 425
- .equiv BGM_CASINO, 426
- .equiv BGM_HIGHTOWN, 427
- .equiv BGM_SAFARI, 428
- .equiv BGM_C_ROAD, 429
- .equiv BGM_AJITO, 430
- .equiv BGM_M_BOAT, 431
- .equiv BGM_M_DUNGON, 432
- .equiv BGM_FINECITY, 433
- .equiv BGM_MACHUPI, 434
- .equiv BGM_P_SCHOOL, 435
- .equiv BGM_DENDOU, 436
- .equiv BGM_TONEKUSA, 437
- .equiv BGM_MABOROSI, 438
- .equiv BGM_CON_FAN, 439
- .equiv BGM_CONTEST0, 440
- .equiv BGM_MGM0, 441
- .equiv BGM_T_BATTLE, 442
- .equiv BGM_OOAME, 443
- .equiv BGM_HIDERI, 444
- .equiv BGM_RUNECITY, 445
- .equiv BGM_CON_K, 446
- .equiv BGM_EIKOU_R, 447
- .equiv BGM_KARAKURI, 448
- .equiv BGM_HUTAGO, 449
- .equiv BGM_SITENNOU, 450
- .equiv BGM_YAMA_EYE, 451
- .equiv BGM_CONLOBBY, 452
- .equiv BGM_INTER_V, 453
- .equiv BGM_DAIGO, 454
- .equiv BGM_THANKFOR, 455
- .equiv BGM_END, 456
- .equiv BGM_BATTLE_FRONTIER, 457
- .equiv BGM_BATTLE_ARENA, 458
- .equiv BGM_ME_BATTLE_POINTS, 459
- .equiv BGM_ME_MATCH_CALL, 460
- .equiv BGM_BATTLE_PYRAMID, 461
- .equiv BGM_BATTLE_PYRAMID_SUMMIT, 462
- .equiv BGM_BATTLE_PALACE, 463
- .equiv BGM_FANFA_RAYQUAZA, 464
- .equiv BGM_BATTLE_TOWER, 465
- .equiv BGM_ME_BATTLE_SYMBOL, 466
- .equiv BGM_BATTLE_DOME_TOURNAMENT, 467
- .equiv BGM_BATTLE_PIKE, 468
- .equiv BGM_BATTLE_FACTORY, 469
- .equiv BGM_BATTLE_LEGENDARY, 470
- .equiv BGM_BATTLE_FRONTIER_BRAIN, 471
- .equiv BGM_BATTLE_MEW, 472
- .equiv BGM_BATTLE_DOME, 473
- .equiv BGM_BATTLE27, 474
- .equiv BGM_BATTLE31, 475
- .equiv BGM_BATTLE20, 476
- .equiv BGM_BATTLE32, 477
- .equiv BGM_BATTLE33, 478
- .equiv BGM_BATTLE36, 479
- .equiv BGM_BATTLE34, 480
- .equiv BGM_BATTLE35, 481
- .equiv BGM_BATTLE38, 482
- .equiv BGM_BATTLE30, 483
- .equiv BGM_FRLG_FOLLOW_ME, 484
- .equiv BGM_FRLG_GAMECORNER, 485
- .equiv BGM_FRLG_ROCKET_HIDEOUT, 486
- .equiv BGM_FRLG_GYM, 487
- .equiv BGM_FRLG_JIGGLYPUFF, 488
- .equiv BGM_FRLG_OPENING, 489
- .equiv BGM_FRLG_TITLE, 490
- .equiv BGM_FRLG_CINNABAR_ISLAND, 491
- .equiv BGM_FRLG_LAVENDER_TOWN, 492
- .equiv BGM_FRLG_HEALING_TEST, 493
- .equiv BGM_FRLG_BICYCLE, 494
- .equiv BGM_FRLG_SUSPICIOUS_EYE, 495
- .equiv BGM_FRLG_GIRL_EYE, 496
- .equiv BGM_FRLG_BOY_EYE, 497
- .equiv BGM_FRLG_CONGRATULATIONS_HALL_OF_FAME, 498
- .equiv BGM_FRLG_VIRIDIAN_FOREST, 499
- .equiv BGM_FRLG_MT_MOON, 500
- .equiv BGM_FRLG_POKEMON_MANSION, 501
- .equiv BGM_FRLG_CREDITS, 502
- .equiv BGM_FRLG_ROUTE_1, 503
- .equiv BGM_FRLG_ROUTE_24, 504
- .equiv BGM_FRLG_ROUTE_3, 505
- .equiv BGM_FRLG_ROUTE_11, 506
- .equiv BGM_FRLG_INDIGO_PLATEAU, 507
- .equiv BGM_FRLG_BATTLE_LEADER, 508
- .equiv BGM_FRLG_BATTLE_TRAINER, 509
- .equiv BGM_FRLG_BATTLE_WILD_POKEMON, 510
- .equiv BGM_FRLG_BATTLE_CHAMPION, 511
- .equiv BGM_FRLG_PALLET_TOWN, 512
- .equiv BGM_FRLG_OAK_LAB, 513
- .equiv BGM_FRLG_PROF_OAK, 514
- .equiv BGM_FRLG_POKEMON_CENTER, 515
- .equiv BGM_FRLG_SS_ANNE, 516
- .equiv BGM_FRLG_SURF, 517
- .equiv BGM_FRLG_POKEMON_TOWER, 518
- .equiv BGM_FRLG_SILPH, 519
- .equiv BGM_FRLG_CERULEAN_CITY, 520
- .equiv BGM_FRLG_CELADON_CITY, 521
- .equiv BGM_FRLG_KACHI_TRAINER, 522
- .equiv BGM_FRLG_KACHI_WILD_POKEMON, 523
- .equiv BGM_FRLG_KACHI_LEADER, 524
- .equiv BGM_FRLG_VERMILION_CITY, 525
- .equiv BGM_FRLG_VIRIDIAN_CITY, 526
- .equiv BGM_FRLG_RIVAL, 527
- .equiv BGM_FRLG_RIVAL_POSTBATTLE, 528
- .equiv BGM_FRLG_ME_POKEDEX_EVAL, 529
- .equiv BGM_FRLG_ME_KEYITEM, 530
- .equiv BGM_FRLG_FANFA_POKEMON_CAUGHT, 531
- .equiv BGM_FRLG_FANFA_TRAINERCARD_PHOTO, 532
- .equiv BGM_FRLG_GAMEFREAK_LOGO, 533
- .equiv BGM_FRLG_CAUGHT_POKEMON, 534
- .equiv BGM_FRLG_GAME_EXPLANATION_START, 535
- .equiv BGM_FRLG_GAME_EXPLANATION_MIDDLE, 536
- .equiv BGM_FRLG_GAME_EXPLANATION_END, 537
- .equiv BGM_FRLG_POKEMON_JUMP, 538
- .equiv BGM_FRLG_UNION_ROOM, 539
- .equiv BGM_FRLG_POKEMON_NETWORK_CENTER, 540
- .equiv BGM_FRLG_MYSTERY_GIFT, 541
- .equiv BGM_FRLG_DODRIO_BERRY_PICK, 542
- .equiv BGM_FRLG_MT_EMBER, 543
- .equiv BGM_FRLG_TEACHY_TV_EPISODE, 544
- .equiv BGM_FRLG_SEVII_ISLANDS, 545
- .equiv BGM_FRLG_TANOBY_RUINS, 546
- .equiv BGM_FRLG_ISLAND_ONE, 547
- .equiv BGM_FRLG_ISLAND_FOUR, 548
- .equiv BGM_FRLG_ISLAND_SIX, 549
- .equiv BGM_FRLG_FLUTE, 550
- .equiv BGM_FRLG_BATTLE_DEOXYS, 551
- .equiv BGM_FRLG_BATTLE_MEWTWO, 552
- .equiv BGM_FRLG_BATTLE_LEGENDARY, 553
- .equiv BGM_FRLG_LEADER_EYE, 554
- .equiv BGM_FRLG_DEOXYS_EYE, 555
- .equiv BGM_FRLG_TRAINER_TOWER, 556
- .equiv BGM_FRLG_HALL_OF_FAME_PALLET_TOWN, 557
- .equiv BGM_FRLG_TEACHY_TV, 558
-
- .equiv BGM_ROUTE_118, 0x7fff
diff --git a/constants/variables.inc b/constants/variables.inc
deleted file mode 100644
index 47748891b..000000000
--- a/constants/variables.inc
+++ /dev/null
@@ -1,278 +0,0 @@
- .equiv VAR_0x4000, 0x4000
- .equiv VAR_0x4001, 0x4001
- .equiv VAR_0x4002, 0x4002
- .equiv VAR_0x4003, 0x4003
- .equiv VAR_0x4004, 0x4004
- .equiv VAR_0x4005, 0x4005
- .equiv VAR_0x4006, 0x4006
- .equiv VAR_0x4007, 0x4007
- .equiv VAR_0x4008, 0x4008
- .equiv VAR_0x4009, 0x4009
- .equiv VAR_0x400A, 0x400A
- .equiv VAR_0x400B, 0x400B
- .equiv VAR_0x400C, 0x400C
- .equiv VAR_0x400D, 0x400D
- .equiv VAR_0x400E, 0x400E
- .equiv VAR_0x400F, 0x400F
- .equiv VAR_0x4010, 0x4010
- .equiv VAR_0x4011, 0x4011
- .equiv VAR_0x4012, 0x4012
- .equiv VAR_0x4013, 0x4013
- .equiv VAR_0x4014, 0x4014
- .equiv VAR_0x4015, 0x4015
- .equiv VAR_0x4016, 0x4016
- .equiv VAR_0x4017, 0x4017
- .equiv VAR_0x4018, 0x4018
- .equiv VAR_0x4019, 0x4019
- .equiv VAR_0x401A, 0x401A
- .equiv VAR_0x401B, 0x401B
- .equiv VAR_0x401C, 0x401C
- .equiv VAR_0x401D, 0x401D
- .equiv VAR_0x401E, 0x401E
- .equiv VAR_0x401F, 0x401F
- .equiv VAR_RECYCLE_GOODS, 0x4020
- .equiv VAR_REPEL_STEP_COUNT, 0x4021
- .equiv VAR_ICE_STEP_COUNT, 0x4022
- .equiv VAR_FIRST_POKE, 0x4023
- .equiv VAR_MIRAGE_RND_H, 0x4024
- .equiv VAR_MIRAGE_RND_L, 0x4025
- .equiv VAR_SECRET_BASE_MAP, 0x4026
- .equiv VAR_0x4027, 0x4027
- .equiv VAR_0x4028, 0x4028
- .equiv VAR_0x4029, 0x4029
- .equiv VAR_HAPPINESS_STEP_COUNTER, 0x402A
- .equiv VAR_POISON_STEP_COUNTER, 0x402B
- .equiv VAR_RESET_RTC_ENABLE, 0x402C
- .equiv VAR_0x402D, 0x402D
- .equiv VAR_0x402E, 0x402E
- .equiv VAR_0x402F, 0x402F
- .equiv VAR_0x4030, 0x4030
- .equiv VAR_0x4031, 0x4031
- .equiv VAR_0x4032, 0x4032
- .equiv VAR_0x4033, 0x4033
- .equiv VAR_0x4034, 0x4034
- .equiv VAR_0x4035, 0x4035
- .equiv VAR_STORAGE_UNKNOWN, 0x4036
- .equiv VAR_0x4037, 0x4037
- .equiv VAR_0x4038, 0x4038
- .equiv VAR_0x4039, 0x4039
- .equiv VAR_0x403A, 0x403A
- .equiv VAR_0x403B, 0x403B
- .equiv VAR_0x403C, 0x403C
- .equiv VAR_0x403D, 0x403D
- .equiv VAR_ALTERING_CAVE_WILD_SET, 0x403E
- .equiv VAR_0x403F, 0x403F
- .equiv VAR_DAYS, 0x4040
- .equiv VAR_0x4041, 0x4041
- .equiv VAR_0x4042, 0x4042
- .equiv VAR_DEPT_STORE_FLOOR, 0x4043
- .equiv VAR_0x4044, 0x4044
- .equiv VAR_POKELOT_PRIZE, 0x4045
- .equiv VAR_NATIONAL_DEX, 0x4046
- .equiv VAR_SEEDOT_SIZE_RECORD, 0x4047
- .equiv VAR_ASH_GATHER_COUNT, 0x4048
- .equiv VAR_BIRCH_STATE, 0x4049
- .equiv VAR_CRUISE_STEP_COUNT, 0x404A
- .equiv VAR_POKELOT_RND1, 0x404B
- .equiv VAR_POKELOT_RND2, 0x404C
- .equiv VAR_0x404D, 0x404D
- .equiv VAR_0x404E, 0x404E
- .equiv VAR_LOTAD_SIZE_RECORD, 0x404F
- .equiv VAR_0x4050, 0x4050
- .equiv VAR_0x4051, 0x4051
- .equiv VAR_0x4052, 0x4052
- .equiv VAR_0x4053, 0x4053
- .equiv VAR_0x4054, 0x4054
- .equiv VAR_0x4055, 0x4055
- .equiv VAR_0x4056, 0x4056
- .equiv VAR_0x4057, 0x4057
- .equiv VAR_0x4058, 0x4058
- .equiv VAR_0x4059, 0x4059
- .equiv VAR_0x405A, 0x405A
- .equiv VAR_0x405B, 0x405B
- .equiv VAR_0x405C, 0x405C
- .equiv VAR_0x405D, 0x405D
- .equiv VAR_0x405E, 0x405E
- .equiv VAR_0x405F, 0x405F
- .equiv VAR_0x4060, 0x4060
- .equiv VAR_0x4061, 0x4061
- .equiv VAR_0x4062, 0x4062
- .equiv VAR_0x4063, 0x4063
- .equiv VAR_0x4064, 0x4064
- .equiv VAR_0x4065, 0x4065
- .equiv VAR_0x4066, 0x4066
- .equiv VAR_0x4067, 0x4067
- .equiv VAR_0x4068, 0x4068
- .equiv VAR_0x4069, 0x4069
- .equiv VAR_0x406A, 0x406A
- .equiv VAR_0x406B, 0x406B
- .equiv VAR_0x406C, 0x406C
- .equiv VAR_0x406D, 0x406D
- .equiv VAR_0x406E, 0x406E
- .equiv VAR_0x406F, 0x406F
- .equiv VAR_0x4070, 0x4070
- .equiv VAR_0x4071, 0x4071
- .equiv VAR_0x4072, 0x4072
- .equiv VAR_0x4073, 0x4073
- .equiv VAR_0x4074, 0x4074
- .equiv VAR_0x4075, 0x4075
- .equiv VAR_0x4076, 0x4076
- .equiv VAR_0x4077, 0x4077
- .equiv VAR_0x4078, 0x4078
- .equiv VAR_0x4079, 0x4079
- .equiv VAR_0x407A, 0x407A
- .equiv VAR_0x407B, 0x407B
- .equiv VAR_0x407C, 0x407C
- .equiv VAR_0x407D, 0x407D
- .equiv VAR_0x407E, 0x407E
- .equiv VAR_0x407F, 0x407F
- .equiv VAR_0x4080, 0x4080
- .equiv VAR_0x4081, 0x4081
- .equiv VAR_0x4082, 0x4082
- .equiv VAR_0x4083, 0x4083
- .equiv VAR_0x4084, 0x4084
- .equiv VAR_0x4085, 0x4085
- .equiv VAR_0x4086, 0x4086
- .equiv VAR_0x4087, 0x4087
- .equiv VAR_0x4088, 0x4088
- .equiv VAR_0x4089, 0x4089
- .equiv VAR_0x408A, 0x408A
- .equiv VAR_0x408B, 0x408B
- .equiv VAR_0x408C, 0x408C
- .equiv VAR_0x408D, 0x408D
- .equiv VAR_0x408E, 0x408E
- .equiv VAR_0x408F, 0x408F
- .equiv VAR_0x4090, 0x4090
- .equiv VAR_0x4091, 0x4091
- .equiv VAR_0x4092, 0x4092
- .equiv VAR_0x4093, 0x4093
- .equiv VAR_0x4094, 0x4094
- .equiv VAR_0x4095, 0x4095
- .equiv VAR_0x4096, 0x4096
- .equiv VAR_0x4097, 0x4097
- .equiv VAR_0x4098, 0x4098
- .equiv VAR_0x4099, 0x4099
- .equiv VAR_0x409A, 0x409A
- .equiv VAR_0x409B, 0x409B
- .equiv VAR_0x409C, 0x409C
- .equiv VAR_0x409D, 0x409D
- .equiv VAR_0x409E, 0x409E
- .equiv VAR_0x409F, 0x409F
- .equiv VAR_0x40A0, 0x40A0
- .equiv VAR_0x40A1, 0x40A1
- .equiv VAR_0x40A2, 0x40A2
- .equiv VAR_0x40A3, 0x40A3
- .equiv VAR_0x40A4, 0x40A4
- .equiv VAR_0x40A5, 0x40A5
- .equiv VAR_0x40A6, 0x40A6
- .equiv VAR_0x40A7, 0x40A7
- .equiv VAR_0x40A8, 0x40A8
- .equiv VAR_0x40A9, 0x40A9
- .equiv VAR_0x40AA, 0x40AA
- .equiv VAR_0x40AB, 0x40AB
- .equiv VAR_0x40AC, 0x40AC
- .equiv VAR_0x40AD, 0x40AD
- .equiv VAR_0x40AE, 0x40AE
- .equiv VAR_0x40AF, 0x40AF
- .equiv VAR_0x40B0, 0x40B0
- .equiv VAR_0x40B1, 0x40B1
- .equiv VAR_0x40B2, 0x40B2
- .equiv VAR_0x40B3, 0x40B3
- .equiv VAR_PORTHOLE, 0x40B4
- .equiv VAR_0x40B5, 0x40B5
- .equiv VAR_0x40B6, 0x40B6
- .equiv VAR_0x40B7, 0x40B7
- .equiv VAR_0x40B8, 0x40B8
- .equiv VAR_0x40B9, 0x40B9
- .equiv VAR_0x40BA, 0x40BA
- .equiv VAR_0x40BB, 0x40BB
- .equiv VAR_0x40BC, 0x40BC
- .equiv VAR_0x40BD, 0x40BD
- .equiv VAR_0x40BE, 0x40BE
- .equiv VAR_0x40BF, 0x40BF
- .equiv VAR_0x40C0, 0x40C0
- .equiv VAR_0x40C1, 0x40C1
- .equiv VAR_0x40C2, 0x40C2
- .equiv VAR_0x40C3, 0x40C3
- .equiv VAR_0x40C4, 0x40C4
- .equiv VAR_0x40C5, 0x40C5
- .equiv VAR_0x40C6, 0x40C6
- .equiv VAR_0x40C7, 0x40C7
- .equiv VAR_0x40C8, 0x40C8
- .equiv VAR_0x40C9, 0x40C9
- .equiv VAR_0x40CA, 0x40CA
- .equiv VAR_0x40CB, 0x40CB
- .equiv VAR_0x40CC, 0x40CC
- .equiv VAR_0x40CD, 0x40CD
- .equiv VAR_0x40CE, 0x40CE
- .equiv VAR_FRONTIER_FACILITY, 0x40CF
- .equiv VAR_0x40D0, 0x40D0
- .equiv VAR_0x40D1, 0x40D1
- .equiv VAR_0x40D2, 0x40D2
- .equiv VAR_0x40D3, 0x40D3
- .equiv VAR_0x40D4, 0x40D4
- .equiv VAR_0x40D5, 0x40D5
- .equiv VAR_0x40D6, 0x40D6
- .equiv VAR_0x40D7, 0x40D7
- .equiv VAR_0x40D8, 0x40D8
- .equiv VAR_0x40D9, 0x40D9
- .equiv VAR_0x40DA, 0x40DA
- .equiv VAR_0x40DB, 0x40DB
- .equiv VAR_0x40DC, 0x40DC
- .equiv VAR_0x40DD, 0x40DD
- .equiv VAR_0x40DE, 0x40DE
- .equiv VAR_0x40DF, 0x40DF
- .equiv VAR_0x40E0, 0x40E0
- .equiv VAR_0x40E1, 0x40E1
- .equiv VAR_0x40E2, 0x40E2
- .equiv VAR_0x40E3, 0x40E3
- .equiv VAR_0x40E4, 0x40E4
- .equiv VAR_0x40E5, 0x40E5
- .equiv VAR_DAILY_SLOTS, 0x40E6
- .equiv VAR_DAILY_WILDS, 0x40E7
- .equiv VAR_DAILY_BLENDER, 0x40E8
- .equiv VAR_DAILY_PLANTED_BERRIES, 0x40E9
- .equiv VAR_DAILY_PICKED_BERRIES, 0x40EA
- .equiv VAR_DAILY_ROULETTE, 0x40EB
- .equiv VAR_0x40EC, 0x40EC
- .equiv VAR_0x40ED, 0x40ED
- .equiv VAR_0x40EE, 0x40EE
- .equiv VAR_0x40EF, 0x40EF
- .equiv VAR_0x40F0, 0x40F0
- .equiv VAR_DAILY_BP, 0x40F1
- .equiv VAR_0x40F2, 0x40F2
- .equiv VAR_0x40F3, 0x40F3
- .equiv VAR_0x40F4, 0x40F4
- .equiv VAR_0x40F5, 0x40F5
- .equiv VAR_0x40F6, 0x40F6
- .equiv VAR_0x40F7, 0x40F7
- .equiv VAR_0x40F8, 0x40F8
- .equiv VAR_0x40F9, 0x40F9
- .equiv VAR_0x40FA, 0x40FA
- .equiv VAR_0x40FB, 0x40FB
- .equiv VAR_0x40FC, 0x40FC
- .equiv VAR_0x40FD, 0x40FD
- .equiv VAR_0x40FE, 0x40FE
- .equiv VAR_0x40FF, 0x40FF
-
- .equiv VAR_0x8000, 0x8000
- .equiv VAR_0x8001, 0x8001
- .equiv VAR_0x8002, 0x8002
- .equiv VAR_0x8003, 0x8003
- .equiv VAR_0x8004, 0x8004
- .equiv VAR_0x8005, 0x8005
- .equiv VAR_0x8006, 0x8006
- .equiv VAR_0x8007, 0x8007
- .equiv VAR_0x8008, 0x8008
- .equiv VAR_0x8009, 0x8009
- .equiv VAR_0x800A, 0x800A
- .equiv VAR_0x800B, 0x800B
- .equiv VAR_FACING, 0x800C
- .equiv VAR_RESULT, 0x800D
- .equiv VAR_ITEM_ID, 0x800E
- .equiv VAR_LAST_TALKED, 0x800F
- .equiv VAR_CONTEST_RANK, 0x8010
- .equiv VAR_CONTEST_CATEGORY, 0x8011
- .equiv VAR_MON_BOX_ID, 0x8012
- .equiv VAR_MON_BOX_POS, 0x8013
- .equiv VAR_0x8014, 0x8014
diff --git a/data/battle_frontier/battle_frontier_mons.inc b/data/battle_frontier/battle_frontier_mons.inc
index 47ba6b4ef..6b77c8378 100644
--- a/data/battle_frontier/battle_frontier_mons.inc
+++ b/data/battle_frontier/battle_frontier_mons.inc
@@ -960,7 +960,7 @@ gBattleFrontierMons:: @ 85D97BC
.4byte NATURE_DOCILE
@ 137
- .2byte SPECIES_FARFETCH_D
+ .2byte SPECIES_FARFETCHD
.2byte MOVE_SLASH, MOVE_KNOCK_OFF, MOVE_SWORDS_DANCE, MOVE_AGILITY
.byte BATTLE_FRONTIER_ITEM_STICK
.byte F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP
diff --git a/data/battle_frontier/battle_frontier_trainers.inc b/data/battle_frontier/battle_frontier_trainers.inc
index fc8f29261..fc97ffe89 100644
--- a/data/battle_frontier/battle_frontier_trainers.inc
+++ b/data/battle_frontier/battle_frontier_trainers.inc
@@ -4,389 +4,389 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_YOUNGSTER
.string "BRADY$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word NEVER
- ec_word GOING
- ec_word TO
- ec_word LOSE
- ec_word EXCL
-@ win speech
- ec_word I_AM
- ec_word STRONG
- ec_word AREN_T
- ec_word I
- ec_word QUES
- .2byte -1
-@ loss speech
- ec_word WHAT
- ec_word QUES
- .2byte -1
- ec_word BUT
- ec_word HOW
- ec_word QUES
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_NEVER
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_LOSE
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_STRONG
+ .2byte EC_WORD_AREN_T
+ .2byte EC_WORD_I
+ .2byte EC_WORD_QUES
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_QUES
+ .2byte -1
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Brady
@ 1
.4byte TRAINER_CLASS_YOUNGSTER
.string "CONNER$", 8
@ pre-battle speech
- ec_word LOSING
- ec_word DOESN_T
- ec_word BUG
- ec_word ME
+ .2byte EC_WORD_LOSING
+ .2byte EC_WORD_DOESN_T
+ .2byte EC_WORD_BUG
+ .2byte EC_WORD_ME
.2byte -1
.2byte -1
@ win speech
- ec_word A
- ec_word WIN
- ec_word IS
- ec_word JUST
- ec_word AWESOME
+ .2byte EC_WORD_A
+ .2byte EC_WORD_WIN
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_JUST
+ .2byte EC_WORD_AWESOME
.2byte -1
@ loss speech
- ec_word DARN
- ec_word ELLIPSIS
- ec_word LOSING
- ec_word DOES
- ec_word BUG
- ec_word ME
+ .2byte EC_WORD_DARN
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_LOSING
+ .2byte EC_WORD_DOES
+ .2byte EC_WORD_BUG
+ .2byte EC_WORD_ME
.4byte gBattleFrontierTrainerMons_Conner
@ 2
.4byte TRAINER_CLASS_YOUNGSTER
.string "BRADLEY$", 8
@ pre-battle speech
- ec_word HEY_THERE
- ec_word EXCL
- ec_word YOU_RE
- ec_word MY
- ec_word OPPONENT
- ec_word TODAY
-@ win speech
- ec_word HAHAHA
- ec_word EXCL
- .2byte -1
- ec_word SEE_YA
- ec_word LATER
- ec_word EXCL
-@ loss speech
- ec_word TOMORROW
- ec_word IS
- ec_word WHEN
- ec_word WE
- ec_word REALLY
- ec_word BATTLE
+ .2byte EC_WORD_HEY_THERE
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_OPPONENT
+ .2byte EC_WORD_TODAY
+@ win speech
+ .2byte EC_WORD_HAHAHA
+ .2byte EC_WORD_EXCL
+ .2byte -1
+ .2byte EC_WORD_SEE_YA
+ .2byte EC_WORD_LATER
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_TOMORROW
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_WHEN
+ .2byte EC_WORD_WE
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_BATTLE
.4byte gBattleFrontierTrainerMons_Bradley
@ 3
.4byte TRAINER_CLASS_LASS
.string "CYBIL$", 8
@ pre-battle speech
- ec_word YOU_RE
- ec_word REALLY
- ec_word NOT_VERY
- ec_word SCARY
- ec_word AT
- ec_word ALL
-@ win speech
- ec_word IT_S
- ec_word SAD
- ec_word TO
- ec_word SEE
- ec_word YOU
- ec_move2 STRUGGLE
-@ loss speech
- ec_word THIS
- ec_word CAN_T
- ec_word BE
- ec_word HAPPENING
- ec_word TO_ME
- ec_word EXCL
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_NOT_VERY
+ .2byte EC_WORD_SCARY
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_ALL
+@ win speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_SAD
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_YOU
+ .2byte EC_MOVE2(STRUGGLE)
+@ loss speech
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_HAPPENING
+ .2byte EC_WORD_TO_ME
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Cybil
@ 4
.4byte TRAINER_CLASS_LASS
.string "RODETTE$", 8
@ pre-battle speech
- ec_word OH
- ec_word THIS
- ec_word IS
- ec_word SO
- ec_word EXCITING
- ec_word EXCL
-@ win speech
- ec_word IT_S
- ec_word INCREDIBLE
- ec_word HOW
- ec_word STRONG
- ec_word I_AM
- ec_word EXCL
-@ loss speech
- ec_word OH_DEAR
- ec_word ELLIPSIS
- ec_word I_AM
- ec_word JUST
- ec_word NO
- ec_word GOOD
+ .2byte EC_WORD_OH
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_EXCITING
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_INCREDIBLE
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_STRONG
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_OH_DEAR
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_JUST
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_GOOD
.4byte gBattleFrontierTrainerMons_Rodette
@ 5
.4byte TRAINER_CLASS_LASS
.string "PEGGY$", 8
@ pre-battle speech
- ec_word GET
- ec_word READY
- ec_word TO
- ec_word BE
- ec_word DESTROYED
- ec_word EXCL
-@ win speech
- ec_word HAHAHA
- ec_word EXCL_EXCL
- .2byte -1
- ec_word I_AM
- ec_word LOLLING
- ec_word EXCL
-@ loss speech
- ec_word I_AM
- ec_word FEELING
- ec_word SAD
- ec_word THANKS
- ec_word TO
- ec_word YOU
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_READY
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_DESTROYED
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_HAHAHA
+ .2byte EC_WORD_EXCL_EXCL
+ .2byte -1
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_LOLLING
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_FEELING
+ .2byte EC_WORD_SAD
+ .2byte EC_WORD_THANKS
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_YOU
.4byte gBattleFrontierTrainerMons_Peggy
@ 6
.4byte TRAINER_CLASS_SCHOOL_KID_1
.string "KEITH$", 8
@ pre-battle speech
- ec_word I
- ec_word DON_T
- ec_word JUST
- ec_word STUDY
- ec_word YOU
- ec_word KNOW
-@ win speech
- ec_word YOU
- ec_word DON_T
- ec_word STUDY
- ec_word ENOUGH
- ec_word ELLIPSIS
- .2byte -1
-@ loss speech
- ec_word I
- ec_word NEED
- ec_word TO
- ec_word STUDY
- ec_word MORE
- ec_word ELLIPSIS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_JUST
+ .2byte EC_WORD_STUDY
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_KNOW
+@ win speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_STUDY
+ .2byte EC_WORD_ENOUGH
+ .2byte EC_WORD_ELLIPSIS
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_STUDY
+ .2byte EC_WORD_MORE
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Keith
@ 7
.4byte TRAINER_CLASS_SCHOOL_KID_1
.string "GRAYSON$", 8
@ pre-battle speech
- ec_word A
- ec_word POKEMON
- ec_word BATTLE
- ec_word ISN_T
- ec_word CHILD_S_PLAY
- ec_word EXCL
-@ win speech
- ec_word YOU_RE
- ec_word DONE
- ec_word AREN_T
- ec_word YOU
- ec_word QUES
- .2byte -1
-@ loss speech
- ec_word WE
- ec_word WERE
- ec_word LIKE
- ec_word TOYS
- ec_word TO
- ec_word YOU
+ .2byte EC_WORD_A
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_ISN_T
+ .2byte EC_WORD_CHILD_S_PLAY
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_DONE
+ .2byte EC_WORD_AREN_T
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_QUES
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_WE
+ .2byte EC_WORD_WERE
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_TOYS
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_YOU
.4byte gBattleFrontierTrainerMons_Grayson
@ 8
.4byte TRAINER_CLASS_SCHOOL_KID_1
.string "GLENN$", 8
@ pre-battle speech
- ec_word I
- ec_word WOULD
- ec_word BE
- ec_word COOL
- ec_word IF_I_WIN
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WOULD
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_COOL
+ .2byte EC_WORD_IF_I_WIN
.2byte -1
@ win speech
- ec_word COOL
- ec_word EXCL
+ .2byte EC_WORD_COOL
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word THAT_S
- ec_word WHAT
- ec_word I_AM
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_I_AM
@ loss speech
- ec_word I_AM
- ec_word NOT
- ec_word GOING
- ec_word TO
- ec_word BE
- ec_word COOL
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_COOL
.4byte gBattleFrontierTrainerMons_Glenn
@ 9
.4byte TRAINER_CLASS_SCHOOL_KID_2
.string "LILIANA$", 8
@ pre-battle speech
- ec_word I
- ec_word WON_T
- ec_word GIVE_UP
- ec_word UNTIL
- ec_word I
- ec_word WIN
-@ win speech
- ec_word THERE
- ec_word IS
- ec_word NO
- ec_word SURRENDER
- ec_word IN
- ec_word ME
-@ loss speech
- ec_word THAT_S
- ec_word IT
- ec_word ELLIPSIS
- ec_word I
- ec_word GIVE_UP
- ec_word ELLIPSIS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WON_T
+ .2byte EC_WORD_GIVE_UP
+ .2byte EC_WORD_UNTIL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WIN
+@ win speech
+ .2byte EC_WORD_THERE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_SURRENDER
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_ME
+@ loss speech
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_IT
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_GIVE_UP
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Liliana
@ 10
.4byte TRAINER_CLASS_SCHOOL_KID_2
.string "ELISE$", 8
@ pre-battle speech
- ec_word MY
- ec_word STRATEGY
- ec_word IS
- ec_word FROM
- ec_word MY
- ec_word FATHER
-@ win speech
- ec_word I
- ec_word WIN
- ec_word EXCL
- ec_word FATHER
- ec_word I_VE
- ec_word WON
-@ loss speech
- ec_word FORGIVE
- ec_word ME
- ec_word FATHER
- ec_word FOR
- ec_word I_VE
- ec_word LOST
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_STRATEGY
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_FROM
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_FATHER
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WIN
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_FATHER
+ .2byte EC_WORD_I_VE
+ .2byte EC_WORD_WON
+@ loss speech
+ .2byte EC_WORD_FORGIVE
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_FATHER
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_I_VE
+ .2byte EC_WORD_LOST
.4byte gBattleFrontierTrainerMons_Elise
@ 11
.4byte TRAINER_CLASS_SCHOOL_KID_2
.string "ZOEY$", 8
@ pre-battle speech
- ec_word PLEASE
- ec_word BATTLE
- ec_word LIKE
- ec_word YOU
- ec_word MEAN
- ec_word IT
-@ win speech
- ec_word THANK_YOU
- ec_word EXCL_EXCL
- .2byte -1
- ec_word THANK_YOU
- ec_word SO
- ec_word MUCH
-@ loss speech
- ec_word WERE
- ec_word YOU
- ec_word REALLY
- ec_word BEING
- ec_word SERIOUS
- ec_word QUES
+ .2byte EC_WORD_PLEASE
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_MEAN
+ .2byte EC_WORD_IT
+@ win speech
+ .2byte EC_WORD_THANK_YOU
+ .2byte EC_WORD_EXCL_EXCL
+ .2byte -1
+ .2byte EC_WORD_THANK_YOU
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_MUCH
+@ loss speech
+ .2byte EC_WORD_WERE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_BEING
+ .2byte EC_WORD_SERIOUS
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Zoey
@ 12
.4byte TRAINER_CLASS_RICH_BOY
.string "MANUEL$", 8
@ pre-battle speech
- ec_word ME
- ec_word LOSE
- ec_word QUES
- ec_word THAT_S
- ec_word PREPOSTEROUS
- ec_word EXCL
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_LOSE
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_PREPOSTEROUS
+ .2byte EC_WORD_EXCL
@ win speech
- ec_word NATURALLY
- ec_word I
- ec_word WIN
+ .2byte EC_WORD_NATURALLY
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WIN
.2byte -1
.2byte -1
.2byte -1
@ loss speech
- ec_word WAAAH
- ec_word EXCL
+ .2byte EC_WORD_WAAAH
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word I
- ec_word LOST
- ec_word MOTHER
+ .2byte EC_WORD_I
+ .2byte EC_WORD_LOST
+ .2byte EC_WORD_MOTHER
.4byte gBattleFrontierTrainerMons_Manuel
@ 13
.4byte TRAINER_CLASS_RICH_BOY
.string "RUSS$", 8
@ pre-battle speech
- ec_word THEY
- ec_word ALL
- ec_word WANT
- ec_word MY
- ec_word FABULOUS
- ec_word POKEMON
-@ win speech
- ec_word I
- ec_word WILL
- ec_word HAVE
- ec_word A
- ec_word POKEMON
- ec_word PARTY
-@ loss speech
- ec_word HOW
- ec_word COULD
- ec_word YOU
- ec_word DO
- ec_word THAT
- ec_word QUES
+ .2byte EC_WORD_THEY
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_FABULOUS
+ .2byte EC_WORD_POKEMON
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_PARTY
+@ loss speech
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_COULD
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_DO
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Russ
@ 14
.4byte TRAINER_CLASS_RICH_BOY
.string "DUSTIN$", 8
@ pre-battle speech
- ec_word I
- ec_word REALLY
- ec_word LIKE
- ec_word COOL
- ec_word POKEMON
+ .2byte EC_WORD_I
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_COOL
+ .2byte EC_WORD_POKEMON
.2byte -1
@ win speech
- ec_word I
- ec_word LIKE
- ec_word MYSELF
- ec_word WHEN_I_WIN
- ec_word EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_MYSELF
+ .2byte EC_WORD_WHEN_I_WIN
+ .2byte EC_WORD_EXCL
.2byte -1
@ loss speech
- ec_word I
- ec_word LIKE
- ec_word MYSELF
- ec_word IF_I_LOSE
- ec_word TOO
+ .2byte EC_WORD_I
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_MYSELF
+ .2byte EC_WORD_IF_I_LOSE
+ .2byte EC_WORD_TOO
.2byte -1
.4byte gBattleFrontierTrainerMons_Dustin
@@ -394,50 +394,50 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_LADY
.string "TINA$", 8
@ pre-battle speech
- ec_word IF_I_WIN
- ec_word YOU
- ec_word CAN
- ec_word HAVE
- ec_word A
- ec_move2 SWEET_KISS
-@ win speech
- ec_word HERE_IT_IS
- ec_word YOUR
- ec_move2 SWEET_KISS
- ec_word FROM
- ec_word MY
- ec_pokemon2 JYNX
-@ loss speech
- ec_word YOU
- ec_word WANT
- ec_word A
- ec_move1 SWIFT
- ec_move2 MEGA_KICK
- ec_word INSTEAD
+ .2byte EC_WORD_IF_I_WIN
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_CAN
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_A
+ .2byte EC_MOVE2(SWEET_KISS)
+@ win speech
+ .2byte EC_WORD_HERE_IT_IS
+ .2byte EC_WORD_YOUR
+ .2byte EC_MOVE2(SWEET_KISS)
+ .2byte EC_WORD_FROM
+ .2byte EC_WORD_MY
+ .2byte EC_POKEMON2(JYNX)
+@ loss speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_A
+ .2byte EC_MOVE(SWIFT)
+ .2byte EC_MOVE2(MEGA_KICK)
+ .2byte EC_WORD_INSTEAD
.4byte gBattleFrontierTrainerMons_Tina
@ 16
.4byte TRAINER_CLASS_LADY
.string "GILLIAN$", 8
@ pre-battle speech
- ec_word THE
- ec_word GOURMET
- ec_word THING
- ec_word IS
- ec_word SO
- ec_word YESTERDAY
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_GOURMET
+ .2byte EC_WORD_THING
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_YESTERDAY
@ win speech
- ec_word POKEMON
- ec_word NEVER
- ec_word GO
- ec_word OUT
- ec_word OF
- ec_word FASHION
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_NEVER
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_OUT
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_FASHION
@ loss speech
- ec_word LOSING
- ec_word DOESN_T
- ec_word DISAPPOINT
- ec_word ME
+ .2byte EC_WORD_LOSING
+ .2byte EC_WORD_DOESN_T
+ .2byte EC_WORD_DISAPPOINT
+ .2byte EC_WORD_ME
.2byte -1
.2byte -1
.4byte gBattleFrontierTrainerMons_Gillian
@@ -446,103 +446,103 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_LADY
.string "ZOE$", 8
@ pre-battle speech
- ec_word I
- ec_word HAVEN_T
- ec_word A
- ec_word WORRY
- ec_word AT
- ec_word ALL
-@ win speech
- ec_word LIFE
- ec_word IS
- ec_word ALWAYS
- ec_word GOOD
- ec_word TO_ME
- .2byte -1
-@ loss speech
- ec_word I
- ec_word WORRY
- ec_word ABOUT
- ec_word MY
- ec_word POKEMON
- ec_word SKILL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_HAVEN_T
+ .2byte EC_WORD_A
+ .2byte EC_WORD_WORRY
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_ALL
+@ win speech
+ .2byte EC_WORD_LIFE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_ALWAYS
+ .2byte EC_WORD_GOOD
+ .2byte EC_WORD_TO_ME
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WORRY
+ .2byte EC_WORD_ABOUT
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_SKILL
.4byte gBattleFrontierTrainerMons_Zoe
@ 18
.4byte TRAINER_CLASS_CAMPER
.string "CHEN$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word TOTALLY
- ec_word READY
- ec_word TO
- ec_word ROCK
- ec_word TODAY
-@ win speech
- ec_word I_AM
- ec_word READY
- ec_word TO
- ec_word GO
- ec_word ON
- ec_word EXCL
-@ loss speech
- ec_word I_VE
- ec_word LOST
- ec_word MY
- ec_move1 FOCUS_ENERGY
- ec_word AND
- ec_word TOUGHNESS
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_TOTALLY
+ .2byte EC_WORD_READY
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_ROCK
+ .2byte EC_WORD_TODAY
+@ win speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_READY
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_I_VE
+ .2byte EC_WORD_LOST
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE(FOCUS_ENERGY)
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_TOUGHNESS
.4byte gBattleFrontierTrainerMons_Chen
@ 19
.4byte TRAINER_CLASS_CAMPER
.string "AL$", 8
@ pre-battle speech
- ec_word YOUR
- ec_word LOOK
- ec_word SAYS
- ec_word YOU_RE
- ec_word REALLY
- ec_word TOUGH
-@ win speech
- ec_word IT_S
- ec_word ME
- ec_word WHO_IS
- ec_word REALLY
- ec_word TOUGH
- .2byte -1
-@ loss speech
- ec_word I_AM
- ec_word RIGHT
- ec_word EXCL
- ec_word YOU_RE
- ec_word REALLY
- ec_word TOUGH
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_LOOK
+ .2byte EC_WORD_SAYS
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_TOUGH
+@ win speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_WHO_IS
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_TOUGH
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_RIGHT
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_TOUGH
.4byte gBattleFrontierTrainerMons_Al
@ 20
.4byte TRAINER_CLASS_CAMPER
.string "MITCH$", 8
@ pre-battle speech
- ec_word MOTHER
- ec_word NATURE
- ec_word IS
- ec_word MY
- ec_word ALLY
- ec_word EXCL
-@ win speech
- ec_word WAS
- ec_word THAT
- ec_word ENOUGH
- ec_word FOR
- ec_word YOU
- ec_word QUES
-@ loss speech
- ec_word MOTHER
- ec_word NATURE
- ec_word DIDN_T
- ec_word LET_ME_WIN
- ec_word QUES
+ .2byte EC_WORD_MOTHER
+ .2byte EC_WORD_NATURE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_ALLY
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_ENOUGH
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_QUES
+@ loss speech
+ .2byte EC_WORD_MOTHER
+ .2byte EC_WORD_NATURE
+ .2byte EC_WORD_DIDN_T
+ .2byte EC_WORD_LET_ME_WIN
+ .2byte EC_WORD_QUES
.2byte -1
.4byte gBattleFrontierTrainerMons_Mitch
@@ -550,25 +550,25 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_PICNICKER
.string "ANNE$", 8
@ pre-battle speech
- ec_word I
- ec_word CAN_T
- ec_word WAIT
- ec_word LET_S
- ec_word BATTLE
- ec_word NOW
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_WAIT
+ .2byte EC_WORD_LET_S
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_NOW
@ win speech
- ec_word MY
- ec_word HAPPINESS
- ec_word IS
- ec_word OVERWHELMING
- ec_word EXCL
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_HAPPINESS
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_OVERWHELMING
+ .2byte EC_WORD_EXCL
.2byte -1
@ loss speech
- ec_word YOU_VE
- ec_word DESTROYED
- ec_word MY
- ec_word HAPPINESS
- ec_word ELLIPSIS
+ .2byte EC_WORD_YOU_VE
+ .2byte EC_WORD_DESTROYED
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_HAPPINESS
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
.4byte gBattleFrontierTrainerMons_Anne
@@ -576,207 +576,207 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_PICNICKER
.string "ALIZE$", 8
@ pre-battle speech
- ec_word CUTE
- ec_word AND
- ec_word AWFULLY
- ec_word STRONG
- ec_word THAT_S
- ec_word ME
-@ win speech
- ec_word YUP
- ec_word I_AM
- ec_word CUTE
- ec_word AND
- ec_word AWFULLY
- ec_word STRONG
-@ loss speech
- ec_word I_AM
- ec_word WEAK
- ec_word ELLIPSIS
- ec_word BUT
- ec_word I_AM
- ec_word CUTE
+ .2byte EC_WORD_CUTE
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_AWFULLY
+ .2byte EC_WORD_STRONG
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_ME
+@ win speech
+ .2byte EC_WORD_YUP
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_CUTE
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_AWFULLY
+ .2byte EC_WORD_STRONG
+@ loss speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_WEAK
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_CUTE
.4byte gBattleFrontierTrainerMons_Alize
@ 23
.4byte TRAINER_CLASS_PICNICKER
.string "LAUREN$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word OLD
- ec_word BUT
- ec_word I_AM
- ec_word ALSO
- ec_word GOOD
-@ win speech
- ec_word I
- ec_word SAID
- ec_word I_WAS
- ec_word OLD
- ec_word BUT
- ec_word GOOD
-@ loss speech
- ec_word WHAT
- ec_word A
- ec_word WEIRD
- ec_word DREAM
- ec_word THAT_WAS
- ec_word EXCL
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_OLD
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_ALSO
+ .2byte EC_WORD_GOOD
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_SAID
+ .2byte EC_WORD_I_WAS
+ .2byte EC_WORD_OLD
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_GOOD
+@ loss speech
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_A
+ .2byte EC_WORD_WEIRD
+ .2byte EC_WORD_DREAM
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Lauren
@ 24
.4byte TRAINER_CLASS_TUBER_2
.string "KIPP$", 8
@ pre-battle speech
- ec_word IF_I_WIN
- ec_word I_AM
- ec_word GOING
- ec_word TO
- ec_word GO
- ec_move2 SURF
-@ win speech
- ec_word YEAH
- ec_word EXCL
- ec_word I_AM
- ec_word OFF
- ec_word TO
- ec_move2 SURF
-@ loss speech
- ec_word OH
- ec_word NO
- ec_word EXCL
- ec_word A
- ec_move1 WHIRLPOOL
- ec_word EXCL
+ .2byte EC_WORD_IF_I_WIN
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_GO
+ .2byte EC_MOVE2(SURF)
+@ win speech
+ .2byte EC_WORD_YEAH
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_OFF
+ .2byte EC_WORD_TO
+ .2byte EC_MOVE2(SURF)
+@ loss speech
+ .2byte EC_WORD_OH
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_A
+ .2byte EC_MOVE(WHIRLPOOL)
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Kipp
@ 25
.4byte TRAINER_CLASS_TUBER_2
.string "JASON$", 8
@ pre-battle speech
- ec_word TEACH
- ec_word ME
- ec_word A
- ec_word GOOD
- ec_word STRATEGY
+ .2byte EC_WORD_TEACH
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_A
+ .2byte EC_WORD_GOOD
+ .2byte EC_WORD_STRATEGY
.2byte -1
@ win speech
- ec_word THAT_WAS
- ec_word YOUR
- ec_word GOOD
- ec_word STRATEGY
- ec_word QUES_EXCL
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_GOOD
+ .2byte EC_WORD_STRATEGY
+ .2byte EC_WORD_QUES_EXCL
.2byte -1
@ loss speech
- ec_word WOW
- ec_word THAT
- ec_word IS
- ec_word AN
- ec_word AWESOME
- ec_word STRATEGY
+ .2byte EC_WORD_WOW
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_AWESOME
+ .2byte EC_WORD_STRATEGY
.4byte gBattleFrontierTrainerMons_Jason
@ 26
.4byte TRAINER_CLASS_TUBER_2
.string "JOHN$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word A
- ec_word PRETTY
- ec_word NEW
- ec_word TRAINER
- .2byte -1
-@ win speech
- ec_word I_AM
- ec_word NEW
- ec_word BUT
- ec_word I
- ec_word WON
- ec_word EXCL
-@ loss speech
- ec_word I_AM
- ec_word NEW
- ec_word SO
- ec_word WHAT
- ec_word IF_I_LOSE
- ec_word QUES
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_A
+ .2byte EC_WORD_PRETTY
+ .2byte EC_WORD_NEW
+ .2byte EC_WORD_TRAINER
+ .2byte -1
+@ win speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_NEW
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WON
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_NEW
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_IF_I_LOSE
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_John
@ 27
.4byte TRAINER_CLASS_TUBER_1
.string "ANN$", 8
@ pre-battle speech
- ec_word IT_S
- ec_word SO
- ec_word EXCITING
- ec_word IT
- ec_word REALLY
- ec_word IS
-@ win speech
- ec_word I_AM
- ec_word SO
- ec_word HAPPY
- ec_word I
- ec_word CAN
- ec_word CRY
-@ loss speech
- ec_word I_AM
- ec_word SO
- ec_word SAD
- ec_word I
- ec_word WILL
- ec_word CRY
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_EXCITING
+ .2byte EC_WORD_IT
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_IS
+@ win speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_HAPPY
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CAN
+ .2byte EC_WORD_CRY
+@ loss speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_SAD
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_CRY
.4byte gBattleFrontierTrainerMons_Ann
@ 28
.4byte TRAINER_CLASS_TUBER_1
.string "EILEEN$", 8
@ pre-battle speech
- ec_word LET_S
- ec_word PRETEND
- ec_word I_AM
- ec_word AN
- ec_word ADULT
- ec_word OK_QUES
-@ win speech
- ec_word SO
- ec_word THIS
- ec_word IS
- ec_word AN
- ec_word ADULT
- ec_word FEELING
-@ loss speech
- ec_word AN
- ec_word ADULT
- ec_word CAN_T
- ec_word BEAT
- ec_word YOU
- ec_word QUES
+ .2byte EC_WORD_LET_S
+ .2byte EC_WORD_PRETEND
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_ADULT
+ .2byte EC_WORD_OK_QUES
+@ win speech
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_ADULT
+ .2byte EC_WORD_FEELING
+@ loss speech
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_ADULT
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_BEAT
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Eileen
@ 29
.4byte TRAINER_CLASS_TUBER_1
.string "CARLIE$", 8
@ pre-battle speech
- ec_word MY
- ec_word SUMMER
- ec_word VACATION
- ec_word IS
- ec_word FOR
- ec_word POKEMON
-@ win speech
- ec_word MY
- ec_word SUMMER
- ec_word VACATION
- ec_word WILL
- ec_word BE
- ec_word AWESOME
-@ loss speech
- ec_word I
- ec_word CAN_T_WIN
- ec_word LIKE
- ec_word THIS
- ec_word ELLIPSIS
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_SUMMER
+ .2byte EC_WORD_VACATION
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_POKEMON
+@ win speech
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_SUMMER
+ .2byte EC_WORD_VACATION
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_AWESOME
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CAN_T_WIN
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
.4byte gBattleFrontierTrainerMons_Carlie
@@ -784,389 +784,389 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_SWIMMER_M
.string "GORDON$", 8
@ pre-battle speech
- ec_word VICTORY
- ec_word WILL
- ec_word COME
- ec_word TO_ME
- ec_word EXCL
+ .2byte EC_WORD_VICTORY
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_COME
+ .2byte EC_WORD_TO_ME
+ .2byte EC_WORD_EXCL
.2byte -1
@ win speech
- ec_word OH_YEAH
- ec_word EXCL
+ .2byte EC_WORD_OH_YEAH
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word I
- ec_word REALLY
- ec_word WON
+ .2byte EC_WORD_I
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_WON
@ loss speech
- ec_word NOTHING
- ec_word IS
- ec_word WORKING
- ec_word OUT
- ec_word FOR
- ec_word ME
+ .2byte EC_WORD_NOTHING
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_WORKING
+ .2byte EC_WORD_OUT
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_ME
.4byte gBattleFrontierTrainerMons_Gordon
@ 31
.4byte TRAINER_CLASS_SWIMMER_M
.string "AYDEN$", 8
@ pre-battle speech
- ec_word COME_ON
- ec_word I
- ec_word NEED
- ec_word A
- ec_word HOT
- ec_word BATTLE
-@ win speech
- ec_word I
- ec_word NEED
- ec_word WATER
- ec_word TO
- ec_word COOL
- ec_word DOWN
-@ loss speech
- ec_word YOU
- ec_word HAVE
- ec_word ME
- ec_word FEELING
- ec_word ICE
- ec_word COLD
+ .2byte EC_WORD_COME_ON
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_A
+ .2byte EC_WORD_HOT
+ .2byte EC_WORD_BATTLE
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_WATER
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_COOL
+ .2byte EC_WORD_DOWN
+@ loss speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_FEELING
+ .2byte EC_WORD_ICE
+ .2byte EC_WORD_COLD
.4byte gBattleFrontierTrainerMons_Ayden
@ 32
.4byte TRAINER_CLASS_SWIMMER_M
.string "MARCO$", 8
@ pre-battle speech
- ec_word I
- ec_move2 SURF
- ec_word IN
- ec_word THE
- ec_word WINTER
- ec_word TOO
-@ win speech
- ec_word I
- ec_word WILL
- ec_word GO
- ec_move2 SURF
- ec_word RIGHT
- ec_word NOW
-@ loss speech
- ec_word I
- ec_word WILL
- ec_move2 BEAT_UP
- ec_word MY
- ec_move2 SURF
- ec_word BOARD
+ .2byte EC_WORD_I
+ .2byte EC_MOVE2(SURF)
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_WINTER
+ .2byte EC_WORD_TOO
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_GO
+ .2byte EC_MOVE2(SURF)
+ .2byte EC_WORD_RIGHT
+ .2byte EC_WORD_NOW
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_MOVE2(BEAT_UP)
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(SURF)
+ .2byte EC_WORD_BOARD
.4byte gBattleFrontierTrainerMons_Marco
@ 33
.4byte TRAINER_CLASS_SWIMMER_F
.string "CIERRA$", 8
@ pre-battle speech
- ec_word I
- ec_word LIKE
- ec_word TO
- ec_word SYNCHRONIZE
- ec_word MY
- ec_word SWIFT_SWIM
-@ win speech
- ec_word MY
- ec_word POKEMON
- ec_word SYNCHRONIZE
- ec_word WITH
- ec_word ME
- .2byte -1
-@ loss speech
- ec_word I
- ec_word NEED
- ec_word TO
- ec_word SYNCHRONIZE
- ec_word BETTER
- ec_word ELLIPSIS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_SYNCHRONIZE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_SWIFT_SWIM
+@ win speech
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_SYNCHRONIZE
+ .2byte EC_WORD_WITH
+ .2byte EC_WORD_ME
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_SYNCHRONIZE
+ .2byte EC_WORD_BETTER
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Cierra
@ 34
.4byte TRAINER_CLASS_SWIMMER_F
.string "MARCY$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word A
- ec_word KNOCKOUT
- ec_word YOU
- ec_word CAN_T_WIN
- ec_word EXCL
-@ win speech
- ec_word AFTER
- ec_word ALL
- ec_word I_AM
- ec_word A
- ec_word KNOCKOUT
- ec_word EXCL
-@ loss speech
- ec_word THAT_S
- ec_word NOT
- ec_word THE
- ec_word KNOCKOUT
- ec_word I
- ec_word MEAN
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_A
+ .2byte EC_WORD_KNOCKOUT
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_CAN_T_WIN
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_AFTER
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_A
+ .2byte EC_WORD_KNOCKOUT
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_KNOCKOUT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_MEAN
.4byte gBattleFrontierTrainerMons_Marcy
@ 35
.4byte TRAINER_CLASS_SWIMMER_F
.string "KATHY$", 8
@ pre-battle speech
- ec_word I_VE
- ec_word WON
- ec_word EVERY
- ec_word MATCH
- ec_word TODAY
- ec_word EXCL
-@ win speech
- ec_word IT_S
- ec_word SO
- ec_word GREAT
- ec_word TO
- ec_word WIN
- ec_word EXCL
-@ loss speech
- ec_word HUH_QUES
- ec_word I
- ec_word SHOULD
- ec_word NOT
- ec_word HAVE
- ec_word LOST
+ .2byte EC_WORD_I_VE
+ .2byte EC_WORD_WON
+ .2byte EC_WORD_EVERY
+ .2byte EC_WORD_MATCH
+ .2byte EC_WORD_TODAY
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_GREAT
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_WIN
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_HUH_QUES
+ .2byte EC_WORD_I
+ .2byte EC_WORD_SHOULD
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_LOST
.4byte gBattleFrontierTrainerMons_Kathy
@ 36
.4byte TRAINER_CLASS_POKEFAN_1
.string "PEYTON$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word NEVER
- ec_word DISAPPOINTED
- ec_word WITH
- ec_word MY
- ec_word POKEMON
-@ win speech
- ec_word I_AM
- ec_word HAPPY
- ec_word IF
- ec_word WE
- ec_word WIN
- ec_word TOGETHER
-@ loss speech
- ec_word I
- ec_word ADORE
- ec_word MY
- ec_word POKEMON
- ec_word MORE
- ec_word IF_I_LOSE
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_NEVER
+ .2byte EC_WORD_DISAPPOINTED
+ .2byte EC_WORD_WITH
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POKEMON
+@ win speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_HAPPY
+ .2byte EC_WORD_IF
+ .2byte EC_WORD_WE
+ .2byte EC_WORD_WIN
+ .2byte EC_WORD_TOGETHER
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_ADORE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_MORE
+ .2byte EC_WORD_IF_I_LOSE
.4byte gBattleFrontierTrainerMons_Peyton
@ 37
.4byte TRAINER_CLASS_POKEFAN_1
.string "JULIAN$", 8
@ pre-battle speech
- ec_word YOU
- ec_word ADORE
- ec_word YOUR
- ec_word POKEMON
- ec_word RIGHT
- ec_word QUES
-@ win speech
- ec_word YOU_RE
- ec_word TOTALLY
- ec_word OUT
- ec_word OF
- ec_word THE
- ec_word QUESTION
-@ loss speech
- ec_word YOU
- ec_word DO
- ec_word ADORE
- ec_word YOUR
- ec_word POKEMON
- ec_word EXCL
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_ADORE
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_RIGHT
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_TOTALLY
+ .2byte EC_WORD_OUT
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_QUESTION
+@ loss speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_DO
+ .2byte EC_WORD_ADORE
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Julian
@ 38
.4byte TRAINER_CLASS_POKEFAN_1
.string "QUINN$", 8
@ pre-battle speech
- ec_word MY
- ec_word POKEMON
- ec_word ARE
- ec_word BUT
- ec_word A
- ec_word DREAM
-@ win speech
- ec_word THIS
- ec_word IS
- ec_word A
- ec_word BEAUTIFUL
- ec_word DREAM
- ec_word EXCL
-@ loss speech
- ec_word THIS
- ec_word IS
- ec_word AN
- ec_word AWFUL
- ec_move1 NIGHTMARE
- ec_word EXCL
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_A
+ .2byte EC_WORD_DREAM
+@ win speech
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_A
+ .2byte EC_WORD_BEAUTIFUL
+ .2byte EC_WORD_DREAM
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_AWFUL
+ .2byte EC_MOVE(NIGHTMARE)
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Quinn
@ 39
.4byte TRAINER_CLASS_POKEFAN_2
.string "HAYLEE$", 8
@ pre-battle speech
- ec_word I
- ec_word DON_T
- ec_word KNOW
- ec_word HOW
- ec_word I_AM
- ec_word FEELING
-@ win speech
- ec_word I_AM
- ec_word FEELING
- ec_word OVERWHELMING
- ec_word JOY
- ec_word OVER
- ec_word THIS
-@ loss speech
- ec_word DESTROYED
- ec_word IS
- ec_word THE
- ec_word WAY
- ec_word I_AM
- ec_word FEELING
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_KNOW
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_FEELING
+@ win speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_FEELING
+ .2byte EC_WORD_OVERWHELMING
+ .2byte EC_WORD_JOY
+ .2byte EC_WORD_OVER
+ .2byte EC_WORD_THIS
+@ loss speech
+ .2byte EC_WORD_DESTROYED
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_WAY
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_FEELING
.4byte gBattleFrontierTrainerMons_Haylee
@ 40
.4byte TRAINER_CLASS_POKEFAN_2
.string "AMANDA$", 8
@ pre-battle speech
- ec_word I
- ec_word COME
- ec_word FROM
- ec_word A
- ec_word TRAINER
- ec_word FAMILY
-@ win speech
- ec_word I
- ec_word WILL
- ec_word TREASURE
- ec_word THIS
- ec_word WIN
- .2byte -1
-@ loss speech
- ec_word I
- ec_word WANT
- ec_word TO
- ec_word GO_HOME
- ec_word RIGHT
- ec_word NOW
+ .2byte EC_WORD_I
+ .2byte EC_WORD_COME
+ .2byte EC_WORD_FROM
+ .2byte EC_WORD_A
+ .2byte EC_WORD_TRAINER
+ .2byte EC_WORD_FAMILY
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_TREASURE
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_WIN
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_GO_HOME
+ .2byte EC_WORD_RIGHT
+ .2byte EC_WORD_NOW
.4byte gBattleFrontierTrainerMons_Amanda
@ 41
.4byte TRAINER_CLASS_POKEFAN_2
.string "STACY$", 8
@ pre-battle speech
- ec_word ALL
- ec_word POKEMON
- ec_word HAVE
- ec_word THEIR
- ec_word OWN
- ec_word CUTE_CHARM
-@ win speech
- ec_word YOU
- ec_word SEE
- ec_word WHAT
- ec_word I
- ec_word MEAN
- ec_word QUES
-@ loss speech
- ec_word SHOULD
- ec_word I
- ec_word NOT
- ec_word ADORE
- ec_word POKEMON
- ec_word QUES
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_THEIR
+ .2byte EC_WORD_OWN
+ .2byte EC_WORD_CUTE_CHARM
+@ win speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_MEAN
+ .2byte EC_WORD_QUES
+@ loss speech
+ .2byte EC_WORD_SHOULD
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_ADORE
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Stacy
@ 42
.4byte TRAINER_CLASS_PKMN_BREEDER_2
.string "RAFAEL$", 8
@ pre-battle speech
- ec_word COME_ON
- ec_word EXCL
- ec_word LET_S
- ec_word SEE
- ec_word SOME
- ec_word SPIRIT
-@ win speech
- ec_word THAT_S_IT_EXCL
- ec_word THAT_S
- ec_word THE
- ec_word SPIRIT
- ec_word EXCL
- .2byte -1
-@ loss speech
- ec_word WELL
- ec_word SO
- ec_word MUCH
- ec_word FOR
- ec_word OUR
- ec_word SPIRIT
+ .2byte EC_WORD_COME_ON
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_LET_S
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_SOME
+ .2byte EC_WORD_SPIRIT
+@ win speech
+ .2byte EC_WORD_THAT_S_IT_EXCL
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_SPIRIT
+ .2byte EC_WORD_EXCL
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_WELL
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_MUCH
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_OUR
+ .2byte EC_WORD_SPIRIT
.4byte gBattleFrontierTrainerMons_Rafael
@ 43
.4byte TRAINER_CLASS_PKMN_BREEDER_2
.string "OLIVER$", 8
@ pre-battle speech
- ec_word A
- ec_word GENIUS
- ec_word THAT_S
- ec_word WHAT
- ec_word I_AM
- ec_word EXCL
-@ win speech
- ec_word THAT_S
- ec_word HOW
- ec_word A
- ec_word GENIUS
- ec_word WORKS
- ec_word EXCL
-@ loss speech
- ec_word YOU_RE
- ec_word MORE
- ec_word A
- ec_word GENIUS
- ec_word THAN
- ec_word I_AM
+ .2byte EC_WORD_A
+ .2byte EC_WORD_GENIUS
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_A
+ .2byte EC_WORD_GENIUS
+ .2byte EC_WORD_WORKS
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_MORE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_GENIUS
+ .2byte EC_WORD_THAN
+ .2byte EC_WORD_I_AM
.4byte gBattleFrontierTrainerMons_Oliver
@ 44
.4byte TRAINER_CLASS_PKMN_BREEDER_2
.string "PAYTON$", 8
@ pre-battle speech
- ec_word I
- ec_word TRAIN
- ec_word FROM
- ec_word THE
- ec_word EGG
- ec_word UP
+ .2byte EC_WORD_I
+ .2byte EC_WORD_TRAIN
+ .2byte EC_WORD_FROM
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_EGG
+ .2byte EC_WORD_UP
@ win speech
- ec_word WELL
- ec_word DONE
- ec_word EXCL
+ .2byte EC_WORD_WELL
+ .2byte EC_WORD_DONE
+ .2byte EC_WORD_EXCL
.2byte -1
.2byte -1
.2byte -1
@ loss speech
- ec_word THAT_WAS
- ec_word A
- ec_move2 SOFT_BOILED
- ec_word LOSS
- ec_word ELLIPSIS
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_A
+ .2byte EC_MOVE2(SOFT_BOILED)
+ .2byte EC_WORD_LOSS
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
.4byte gBattleFrontierTrainerMons_Payton
@@ -1174,129 +1174,129 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_PKMN_BREEDER_1
.string "PAMELA$", 8
@ pre-battle speech
- ec_word ALL
- ec_word POKEMON
- ec_word ADORE
- ec_word A
- ec_word KIND
- ec_word TRAINER
-@ win speech
- ec_word IT_S
- ec_word TOO
- ec_word BAD
- ec_word YOU
- ec_word LOST
- .2byte -1
-@ loss speech
- ec_word YOU_RE
- ec_word KIND
- ec_word AND
- ec_word YOU_RE
- ec_word ALSO
- ec_word STRONG
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_ADORE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_KIND
+ .2byte EC_WORD_TRAINER
+@ win speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_BAD
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_LOST
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_KIND
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_ALSO
+ .2byte EC_WORD_STRONG
.4byte gBattleFrontierTrainerMons_Pamela
@ 46
.4byte TRAINER_CLASS_PKMN_BREEDER_1
.string "ELIZA$", 8
@ pre-battle speech
- ec_word I
- ec_word ADORE
- ec_word POKEMON
- ec_word LIKE
- ec_word MY
- ec_word CHILDREN
-@ win speech
- ec_word I_AM
- ec_word SO
- ec_word HAPPY
- ec_word FOR
- ec_word MY
- ec_word POKEMON
-@ loss speech
- ec_word OH_DEAR
- ec_word I_AM
- ec_word SO
- ec_word SORRY
- ec_word ABOUT
- ec_word THIS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_ADORE
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_CHILDREN
+@ win speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_HAPPY
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POKEMON
+@ loss speech
+ .2byte EC_WORD_OH_DEAR
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_SORRY
+ .2byte EC_WORD_ABOUT
+ .2byte EC_WORD_THIS
.4byte gBattleFrontierTrainerMons_Eliza
@ 47
.4byte TRAINER_CLASS_PKMN_BREEDER_1
.string "MARISA$", 8
@ pre-battle speech
- ec_word I
- ec_word PROMISE
- ec_word TO
- ec_word BATTLE
- ec_word SERIOUSLY
- .2byte -1
-@ win speech
- ec_word PROMISE
- ec_word ME
- ec_word YOU
- ec_word WILL
- ec_word DO
- ec_word BETTER
-@ loss speech
- ec_word PROMISE
- ec_word ME
- ec_word ANOTHER
- ec_word BATTLE
- ec_word PLEASE
- ec_word EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_PROMISE
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_SERIOUSLY
+ .2byte -1
+@ win speech
+ .2byte EC_WORD_PROMISE
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_DO
+ .2byte EC_WORD_BETTER
+@ loss speech
+ .2byte EC_WORD_PROMISE
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_ANOTHER
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_PLEASE
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Marisa
@ 48
.4byte TRAINER_CLASS_BUG_CATCHER
.string "LEWIS$", 8
@ pre-battle speech
- ec_word A_LITTLE
- ec_word BUG
- ec_word IS
- ec_word SCARY
- ec_word QUES
- ec_word HAHAHA
-@ win speech
- ec_word LOOK
- ec_word LOOK
- ec_word EXCL
- ec_word A
- ec_word SCARY
- ec_word BUG
-@ loss speech
- ec_word OH
- ec_word A
- ec_word BUG
- ec_word ISN_T
- ec_word SCARY
- ec_word ELLIPSIS
+ .2byte EC_WORD_A_LITTLE
+ .2byte EC_WORD_BUG
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_SCARY
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_HAHAHA
+@ win speech
+ .2byte EC_WORD_LOOK
+ .2byte EC_WORD_LOOK
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_A
+ .2byte EC_WORD_SCARY
+ .2byte EC_WORD_BUG
+@ loss speech
+ .2byte EC_WORD_OH
+ .2byte EC_WORD_A
+ .2byte EC_WORD_BUG
+ .2byte EC_WORD_ISN_T
+ .2byte EC_WORD_SCARY
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Lewis
@ 49
.4byte TRAINER_CLASS_BUG_CATCHER
.string "YOSHI$", 8
@ pre-battle speech
- ec_word BUG
- ec_word POKEMON
- ec_word MAKE
- ec_word ME
- ec_word FEELING
- ec_word LOVEY_DOVEY
-@ win speech
- ec_word BUG
- ec_word POKEMON
- ec_word ARE
- ec_word THE
- ec_word BEST
- ec_word EXCL
-@ loss speech
- ec_word YOU_RE
- ec_word IGNORANT
- ec_word ABOUT
- ec_word BUG
- ec_word POKEMON
+ .2byte EC_WORD_BUG
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_MAKE
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_FEELING
+ .2byte EC_WORD_LOVEY_DOVEY
+@ win speech
+ .2byte EC_WORD_BUG
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_BEST
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_IGNORANT
+ .2byte EC_WORD_ABOUT
+ .2byte EC_WORD_BUG
+ .2byte EC_WORD_POKEMON
.2byte -1
.4byte gBattleFrontierTrainerMons_Yoshi
@@ -1304,25 +1304,25 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_BUG_CATCHER
.string "DESTIN$", 8
@ pre-battle speech
- ec_word IT_S
- ec_word WAY
- ec_word TOO
- ec_word HOT
- ec_word HERE
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_WAY
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_HOT
+ .2byte EC_WORD_HERE
.2byte -1
@ win speech
- ec_word I_AM
- ec_word ABOUT
- ec_word TO
- ec_move1 OVERHEAT
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_ABOUT
+ .2byte EC_WORD_TO
+ .2byte EC_MOVE(OVERHEAT)
.2byte -1
.2byte -1
@ loss speech
- ec_word PLEASE
- ec_word I
- ec_word NEED
- ec_word SOME
- ec_word WATER
+ .2byte EC_WORD_PLEASE
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_SOME
+ .2byte EC_WORD_WATER
.2byte -1
.4byte gBattleFrontierTrainerMons_Destin
@@ -1330,23 +1330,23 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_NINJA_BOY
.string "KEON$", 8
@ pre-battle speech
- ec_word FORGIVE
- ec_word ME
- ec_word BUT
- ec_word HERE_I_COME
- ec_word EXCL
+ .2byte EC_WORD_FORGIVE
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_HERE_I_COME
+ .2byte EC_WORD_EXCL
.2byte -1
@ win speech
- ec_word FORGIVE
- ec_word ME
- ec_word FOR
- ec_word MY
- ec_word OVERWHELMING
- ec_word POWER
+ .2byte EC_WORD_FORGIVE
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_OVERWHELMING
+ .2byte EC_WORD_POWER
@ loss speech
- ec_word I_AM
- ec_word SORRY
- ec_word ELLIPSIS
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SORRY
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
.2byte -1
.2byte -1
@@ -1356,51 +1356,51 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_NINJA_BOY
.string "STUART$", 8
@ pre-battle speech
- ec_word I
- ec_word PROMISE
- ec_word YOU
- ec_word A
- ec_word HOT
- ec_word BATTLE
-@ win speech
- ec_word THE
- ec_word MASTER
- ec_word OF
- ec_word COOL
- ec_word THAT_S
- ec_word ME
-@ loss speech
- ec_word I
- ec_word SEE
- ec_word I_AM
- ec_word NOT
- ec_word SO
- ec_word COOL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_PROMISE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_A
+ .2byte EC_WORD_HOT
+ .2byte EC_WORD_BATTLE
+@ win speech
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_MASTER
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_COOL
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_ME
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_COOL
.4byte gBattleFrontierTrainerMons_Stuart
@ 53
.4byte TRAINER_CLASS_NINJA_BOY
.string "NESTOR$", 8
@ pre-battle speech
- ec_word SHOW
- ec_word ME
- ec_word A
- ec_word REALLY
- ec_word SMOOTH
- ec_word MOVE
-@ win speech
- ec_word THERE
- ec_word WAS
- ec_word NOTHING
- ec_word SMOOTH
- ec_word ABOUT
- ec_word THAT
-@ loss speech
- ec_word YOU
- ec_word REALLY
- ec_word ARE
- ec_word SMOOTH
- ec_word EXCL
+ .2byte EC_WORD_SHOW
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_A
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_SMOOTH
+ .2byte EC_WORD_MOVE
+@ win speech
+ .2byte EC_WORD_THERE
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_NOTHING
+ .2byte EC_WORD_SMOOTH
+ .2byte EC_WORD_ABOUT
+ .2byte EC_WORD_THAT
+@ loss speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_SMOOTH
+ .2byte EC_WORD_EXCL
.2byte -1
.4byte gBattleFrontierTrainerMons_Nestor
@@ -1408,50 +1408,50 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_BUG_MANIAC
.string "DERRICK$", 8
@ pre-battle speech
- ec_word LET_S
- ec_word SEE
- ec_word YOU
- ec_move2 MEDITATE
- ec_word LIKE
- ec_word ME
-@ win speech
- ec_word HOW
- ec_word I
- ec_move2 MEDITATE
- ec_word IS
- ec_word JUST
- ec_word BEAUTIFUL
-@ loss speech
- ec_word I
- ec_word WILL
- ec_move2 MEDITATE
- ec_word FOR
- ec_word A
- ec_move2 CALM_MIND
+ .2byte EC_WORD_LET_S
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_YOU
+ .2byte EC_MOVE2(MEDITATE)
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_ME
+@ win speech
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_I
+ .2byte EC_MOVE2(MEDITATE)
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_JUST
+ .2byte EC_WORD_BEAUTIFUL
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_MOVE2(MEDITATE)
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_A
+ .2byte EC_MOVE2(CALM_MIND)
.4byte gBattleFrontierTrainerMons_Derrick
@ 55
.4byte TRAINER_CLASS_BUG_MANIAC
.string "BRYSON$", 8
@ pre-battle speech
- ec_move2 POISON_POWDER
- ec_word IS
- ec_word IN
- ec_word OUR
- ec_move2 COTTON_SPORE
- ec_word MOVE
+ .2byte EC_MOVE2(POISON_POWDER)
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_OUR
+ .2byte EC_MOVE2(COTTON_SPORE)
+ .2byte EC_WORD_MOVE
@ win speech
- ec_word HOW_DO
- ec_word YOU
- ec_word LIKE
- ec_word OUR
- ec_move2 POISON_POWDER
- ec_word QUES
+ .2byte EC_WORD_HOW_DO
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_OUR
+ .2byte EC_MOVE2(POISON_POWDER)
+ .2byte EC_WORD_QUES
@ loss speech
- ec_word MY
- ec_move2 COTTON_SPORE
- ec_word WAS
- ec_word USELESS
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(COTTON_SPORE)
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_USELESS
.2byte -1
.2byte -1
.4byte gBattleFrontierTrainerMons_Bryson
@@ -1460,103 +1460,103 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_BUG_MANIAC
.string "CLAYTON$", 8
@ pre-battle speech
- ec_word HUH_QUES
+ .2byte EC_WORD_HUH_QUES
.2byte -1
.2byte -1
- ec_word WHERE
- ec_word IS_IT_QUES
+ .2byte EC_WORD_WHERE
+ .2byte EC_WORD_IS_IT_QUES
.2byte -1
@ win speech
- ec_word WHERE
- ec_word IS_IT_QUES
- ec_word I_VE
- ec_word LOST
- ec_word MY
- ec_word POKENAV
+ .2byte EC_WORD_WHERE
+ .2byte EC_WORD_IS_IT_QUES
+ .2byte EC_WORD_I_VE
+ .2byte EC_WORD_LOST
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POKENAV
@ loss speech
- ec_word WHERE
- ec_word IS_IT_QUES
- ec_word I_VE
- ec_word LOST
- ec_word MY
- ec_word SENSE
+ .2byte EC_WORD_WHERE
+ .2byte EC_WORD_IS_IT_QUES
+ .2byte EC_WORD_I_VE
+ .2byte EC_WORD_LOST
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_SENSE
.4byte gBattleFrontierTrainerMons_Clayton
@ 57
.4byte TRAINER_CLASS_FISHERMAN
.string "TRENTON$", 8
@ pre-battle speech
- ec_word COME_OVER
- ec_word FOR
- ec_word SOME
- ec_word TASTY
- ec_word WATER
- .2byte -1
-@ win speech
- ec_word MMM
- ec_word DO
- ec_word YOU
- ec_word WANT
- ec_word SOME
- ec_word QUES
-@ loss speech
- ec_word I
- ec_word GOT
- ec_word THIS
- ec_word TASTY
- ec_word WATER
- ec_word SHOPPING
+ .2byte EC_WORD_COME_OVER
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_SOME
+ .2byte EC_WORD_TASTY
+ .2byte EC_WORD_WATER
+ .2byte -1
+@ win speech
+ .2byte EC_WORD_MMM
+ .2byte EC_WORD_DO
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_SOME
+ .2byte EC_WORD_QUES
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_GOT
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_TASTY
+ .2byte EC_WORD_WATER
+ .2byte EC_WORD_SHOPPING
.4byte gBattleFrontierTrainerMons_Trenton
@ 58
.4byte TRAINER_CLASS_FISHERMAN
.string "JENSON$", 8
@ pre-battle speech
- ec_word MY
- ec_word POKEMON
- ec_word WILL
- ec_word MAKE
- ec_word YOU
- ec_word DOWNCAST
-@ win speech
- ec_word YOUR
- ec_word POKEMON
- ec_word DON_T
- ec_word MAKE
- ec_word THE
- ec_move1 CUT
-@ loss speech
- ec_word I_AM
- ec_word THE
- ec_word TRAINER
- ec_word WHO_IS
- ec_word FEELING
- ec_word DOWNCAST
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_MAKE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_DOWNCAST
+@ win speech
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_MAKE
+ .2byte EC_WORD_THE
+ .2byte EC_MOVE(CUT)
+@ loss speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_TRAINER
+ .2byte EC_WORD_WHO_IS
+ .2byte EC_WORD_FEELING
+ .2byte EC_WORD_DOWNCAST
.4byte gBattleFrontierTrainerMons_Jenson
@ 59
.4byte TRAINER_CLASS_FISHERMAN
.string "WESLEY$", 8
@ pre-battle speech
- ec_pokemon2 MEW
- ec_pokemon2 MEW
- ec_word IS
- ec_word HOW
- ec_word I
- ec_word CRY
-@ win speech
- ec_word YES
- ec_word I
- ec_word KNOW
- ec_word I_AM
- ec_word CUTE
- ec_word EXCL
-@ loss speech
- ec_pokemon2 MEW
- ec_pokemon2 MEW
- ec_word EXCL
- ec_pokemon2 MEW
- ec_word EXCL_EXCL
+ .2byte EC_POKEMON2(MEW)
+ .2byte EC_POKEMON2(MEW)
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CRY
+@ win speech
+ .2byte EC_WORD_YES
+ .2byte EC_WORD_I
+ .2byte EC_WORD_KNOW
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_CUTE
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_POKEMON2(MEW)
+ .2byte EC_POKEMON2(MEW)
+ .2byte EC_WORD_EXCL
+ .2byte EC_POKEMON2(MEW)
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
.4byte gBattleFrontierTrainerMons_Wesley
@@ -1564,129 +1564,129 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_RUIN_MANIAC
.string "ANTON$", 8
@ pre-battle speech
- ec_word GET
- ec_word READY
- ec_word FOR
- ec_word ME
- ec_word TO
- ec_move1 THRASH
-@ win speech
- ec_word WAHAHAHA
- ec_word EXCL
- ec_word SORRY
- ec_word ABOUT
- ec_word THAT
- ec_word EXCL
-@ loss speech
- ec_word IT_S
- ec_word A
- ec_word TOUGH
- ec_word LOSS
- ec_word TO
- ec_move2 SWALLOW
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_READY
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_TO
+ .2byte EC_MOVE(THRASH)
+@ win speech
+ .2byte EC_WORD_WAHAHAHA
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_SORRY
+ .2byte EC_WORD_ABOUT
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_A
+ .2byte EC_WORD_TOUGH
+ .2byte EC_WORD_LOSS
+ .2byte EC_WORD_TO
+ .2byte EC_MOVE2(SWALLOW)
.4byte gBattleFrontierTrainerMons_Anton
@ 61
.4byte TRAINER_CLASS_RUIN_MANIAC
.string "LAWSON$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word YOUNG
- ec_word AT
- ec_word HEART
- ec_word EXCL
- .2byte -1
-@ win speech
- ec_word NOT
- ec_word COOL
- ec_word EXCL
- ec_word NOT
- ec_word AT
- ec_word ALL
-@ loss speech
- ec_word I_AM
- ec_word OLD
- ec_word AND
- ec_word FEELING
- ec_word SHAKY
- ec_word ELLIPSIS
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_YOUNG
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_HEART
+ .2byte EC_WORD_EXCL
+ .2byte -1
+@ win speech
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_COOL
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_ALL
+@ loss speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_OLD
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_FEELING
+ .2byte EC_WORD_SHAKY
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Lawson
@ 62
.4byte TRAINER_CLASS_RUIN_MANIAC
.string "SAMMY$", 8
@ pre-battle speech
- ec_word MY
- ec_word PARTY
- ec_word IS
- ec_word READY
- ec_word TO
- ec_word ROCK
-@ win speech
- ec_word MY
- ec_word PARTY
- ec_word IS
- ec_word JUST
- ec_word INCREDIBLE
- ec_word EXCL
-@ loss speech
- ec_word I
- ec_word CRY
- ec_word FOR
- ec_word MY
- ec_word PARTY
- ec_word ELLIPSIS
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_PARTY
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_READY
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_ROCK
+@ win speech
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_PARTY
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_JUST
+ .2byte EC_WORD_INCREDIBLE
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CRY
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_PARTY
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Sammy
@ 63
.4byte TRAINER_CLASS_COLLECTOR
.string "ARNIE$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word NO_1
- ec_word I
- ec_word HAVE
- ec_word NO
- ec_word RIVAL
-@ win speech
- ec_word YOU
- ec_word SEE
- ec_word QUES
- ec_word I
- ec_word CAN_T
- ec_word LOSE
-@ loss speech
- ec_word NO
- ec_word EXCL
- ec_word I
- ec_word WON_T
- ec_word ACCEPT
- ec_word THIS
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_NO_1
+ .2byte EC_WORD_I
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_RIVAL
+@ win speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_LOSE
+@ loss speech
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WON_T
+ .2byte EC_WORD_ACCEPT
+ .2byte EC_WORD_THIS
.4byte gBattleFrontierTrainerMons_Arnie
@ 64
.4byte TRAINER_CLASS_COLLECTOR
.string "ADRIAN$", 8
@ pre-battle speech
- ec_word YAHOO
- ec_word EXCL
+ .2byte EC_WORD_YAHOO
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word YAHOO
- ec_word EXCL_EXCL
+ .2byte EC_WORD_YAHOO
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
@ win speech
- ec_word THANK_YOU
- ec_word EXCL
+ .2byte EC_WORD_THANK_YOU
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word THANK_YOU
- ec_word EXCL_EXCL
+ .2byte EC_WORD_THANK_YOU
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
@ loss speech
- ec_word GOOD_BYE
- ec_word EXCL
+ .2byte EC_WORD_GOOD_BYE
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word GOOD_BYE
- ec_word EXCL_EXCL
+ .2byte EC_WORD_GOOD_BYE
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
.4byte gBattleFrontierTrainerMons_Adrian
@@ -1694,103 +1694,103 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_COLLECTOR
.string "TRISTAN$", 8
@ pre-battle speech
- ec_word CONFUSED
- ec_word QUES
+ .2byte EC_WORD_CONFUSED
+ .2byte EC_WORD_QUES
.2byte -1
- ec_word I_AM
- ec_word A
- ec_word GENIUS
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_A
+ .2byte EC_WORD_GENIUS
@ win speech
- ec_word SEE
- ec_word QUES
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_QUES
.2byte -1
- ec_word I_AM
- ec_word A
- ec_word GENIUS
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_A
+ .2byte EC_WORD_GENIUS
@ loss speech
- ec_word I_AM
- ec_word NOT
- ec_word A
- ec_word GENIUS
- ec_word IN
- ec_word BATTLE
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_A
+ .2byte EC_WORD_GENIUS
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_BATTLE
.4byte gBattleFrontierTrainerMons_Tristan
@ 66
.4byte TRAINER_CLASS_PARASOL_LADY
.string "JULIANA$", 8
@ pre-battle speech
- ec_word I
- ec_word THINK
- ec_word I_AM
- ec_word SHOPPING
- ec_word TOO
- ec_word MUCH
-@ win speech
- ec_word BUT
- ec_word I
- ec_word WANT
- ec_word A
- ec_word POKEMON
- ec_word PLUSH_DOLL
-@ loss speech
- ec_word I
- ec_word SO
- ec_word WANT
- ec_word ANOTHER
- ec_word POKEMON
- ec_word PLUSH_DOLL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_THINK
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SHOPPING
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_MUCH
+@ win speech
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_A
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_PLUSH_DOLL
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_ANOTHER
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_PLUSH_DOLL
.4byte gBattleFrontierTrainerMons_Juliana
@ 67
.4byte TRAINER_CLASS_PARASOL_LADY
.string "RYLEE$", 8
@ pre-battle speech
- ec_word SHOW
- ec_word ME
- ec_word THAT
- ec_word YOU
- ec_word HAVE
- ec_word GUTS
-@ win speech
- ec_word BYE_BYE
- ec_word EXCL
- ec_word YOU
- ec_word HAVE
- ec_word NO
- ec_word GUTS
-@ loss speech
- ec_word THAT_WAS
- ec_word GUTSY
- ec_word ELLIPSIS
- ec_word YOU_RE
- ec_word QUITE
- ec_word SUPER
+ .2byte EC_WORD_SHOW
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_GUTS
+@ win speech
+ .2byte EC_WORD_BYE_BYE
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_GUTS
+@ loss speech
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_GUTSY
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_QUITE
+ .2byte EC_WORD_SUPER
.4byte gBattleFrontierTrainerMons_Rylee
@ 68
.4byte TRAINER_CLASS_PARASOL_LADY
.string "CHELSEA$", 8
@ pre-battle speech
- ec_word I
- ec_word SERIOUSLY
- ec_word MEAN
- ec_word TO
- ec_word WIN
- ec_word EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_SERIOUSLY
+ .2byte EC_WORD_MEAN
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_WIN
+ .2byte EC_WORD_EXCL
@ win speech
- ec_word THAT_WAS
- ec_word MY
- ec_word WILL
- ec_word TO
- ec_word WIN
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_WIN
.2byte -1
@ loss speech
- ec_word YOU_RE
- ec_word FAR
- ec_word TOO_STRONG
- ec_word FOR
- ec_word ME
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_FAR
+ .2byte EC_WORD_TOO_STRONG
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_ME
.2byte -1
.4byte gBattleFrontierTrainerMons_Chelsea
@@ -1798,233 +1798,233 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_BEAUTY
.string "DANELA$", 8
@ pre-battle speech
- ec_word YOU
- ec_word MUST_BE
- ec_word MY
- ec_word OPPONENT
- ec_word NOW
- ec_word EXCL
-@ win speech
- ec_word OH_DEAR
- ec_word TOO_WEAK
- ec_word EXCL
- ec_word DON_T
- ec_word GIVE_UP
- ec_word EXCL
-@ loss speech
- ec_word THAT_WAS
- ec_word GOOD
- ec_word AND
- ec_word THIS
- ec_word IS
- ec_word GOOD_BYE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_MUST_BE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_OPPONENT
+ .2byte EC_WORD_NOW
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_OH_DEAR
+ .2byte EC_WORD_TOO_WEAK
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_GIVE_UP
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_GOOD
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_GOOD_BYE
.4byte gBattleFrontierTrainerMons_Danela
@ 70
.4byte TRAINER_CLASS_BEAUTY
.string "LIZBETH$", 8
@ pre-battle speech
- ec_word IF_I_LOSE
- ec_word YOU
- ec_word CAN
- ec_word HAVE
- ec_word A
- ec_move2 PRESENT
-@ win speech
- ec_word HERE_IT_IS
- ec_word A_LITTLE
- ec_word PRAISE
- ec_word AS
- ec_word YOUR
- ec_move2 PRESENT
-@ loss speech
- ec_word YOUR
- ec_move2 PRESENT
- ec_word QUES_EXCL
- ec_word HERE_IT_IS
- ec_word A
- ec_move1 DOUBLE_SLAP
+ .2byte EC_WORD_IF_I_LOSE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_CAN
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_A
+ .2byte EC_MOVE2(PRESENT)
+@ win speech
+ .2byte EC_WORD_HERE_IT_IS
+ .2byte EC_WORD_A_LITTLE
+ .2byte EC_WORD_PRAISE
+ .2byte EC_WORD_AS
+ .2byte EC_WORD_YOUR
+ .2byte EC_MOVE2(PRESENT)
+@ loss speech
+ .2byte EC_WORD_YOUR
+ .2byte EC_MOVE2(PRESENT)
+ .2byte EC_WORD_QUES_EXCL
+ .2byte EC_WORD_HERE_IT_IS
+ .2byte EC_WORD_A
+ .2byte EC_MOVE(DOUBLE_SLAP)
.4byte gBattleFrontierTrainerMons_Lizbeth
@ 71
.4byte TRAINER_CLASS_BEAUTY
.string "AMELIA$", 8
@ pre-battle speech
- ec_word I
- ec_word BELIEVE
- ec_word IN
- ec_word CUTE
- ec_word FASHION
- ec_word APPEAL
-@ win speech
- ec_word YOUR
- ec_word FASHION
- ec_word SENSE
- ec_word IS
- ec_word A
- ec_word DISASTER
-@ loss speech
- ec_word THAT_WAS
- ec_word AWFUL
- ec_word EXCL
- ec_word I_AM
- ec_word GOING
- ec_word HOME
+ .2byte EC_WORD_I
+ .2byte EC_WORD_BELIEVE
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_CUTE
+ .2byte EC_WORD_FASHION
+ .2byte EC_WORD_APPEAL
+@ win speech
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_FASHION
+ .2byte EC_WORD_SENSE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_A
+ .2byte EC_WORD_DISASTER
+@ loss speech
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_AWFUL
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_HOME
.4byte gBattleFrontierTrainerMons_Amelia
@ 72
.4byte TRAINER_CLASS_AROMA_LADY
.string "JILLIAN$", 8
@ pre-battle speech
- ec_word WHAT
- ec_word IS
- ec_word THAT
- ec_word I
- ec_word SMELL
- ec_word QUES
-@ win speech
- ec_word IT_S
- ec_word THE
- ec_move1 SWEET_SCENT
- ec_word OF
- ec_word TASTY
- ec_word WATER
-@ loss speech
- ec_word IT_S
- ec_word YOUR
- ec_word OFFENSIVE
- ec_word STENCH
- ec_word THAT_S
- ec_word WHAT
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_SMELL
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_THE
+ .2byte EC_MOVE(SWEET_SCENT)
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_TASTY
+ .2byte EC_WORD_WATER
+@ loss speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_OFFENSIVE
+ .2byte EC_WORD_STENCH
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_WHAT
.4byte gBattleFrontierTrainerMons_Jillian
@ 73
.4byte TRAINER_CLASS_AROMA_LADY
.string "ABBIE$", 8
@ pre-battle speech
- ec_word YOU
- ec_word TRY
- ec_word MY
- ec_word SECRET
- ec_move1 AROMATHERAPY
- ec_word OK_QUES
-@ win speech
- ec_word MY
- ec_move1 AROMATHERAPY
- ec_word IS
- ec_word TERRIBLE
- ec_word FOR
- ec_word YOU
-@ loss speech
- ec_word DIDN_T
- ec_word YOU
- ec_word SMELL
- ec_word A
- ec_word THING
- ec_word QUES_EXCL
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_TRY
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_SECRET
+ .2byte EC_MOVE(AROMATHERAPY)
+ .2byte EC_WORD_OK_QUES
+@ win speech
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE(AROMATHERAPY)
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_TERRIBLE
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_YOU
+@ loss speech
+ .2byte EC_WORD_DIDN_T
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_SMELL
+ .2byte EC_WORD_A
+ .2byte EC_WORD_THING
+ .2byte EC_WORD_QUES_EXCL
.4byte gBattleFrontierTrainerMons_Abbie
@ 74
.4byte TRAINER_CLASS_AROMA_LADY
.string "BRIANA$", 8
@ pre-battle speech
- ec_word MY
- ec_word BOY
- ec_word FRIEND
- ec_word WORKS
- ec_word TOO
- ec_word MUCH
-@ win speech
- ec_word I
- ec_word ONLY
- ec_word MISS
- ec_word HIM
- ec_word MORE
- ec_word ELLIPSIS
-@ loss speech
- ec_word I_AM
- ec_word SO
- ec_word LONESOME
- ec_word WITHOUT
- ec_word HIM
- ec_word ELLIPSIS
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_BOY
+ .2byte EC_WORD_FRIEND
+ .2byte EC_WORD_WORKS
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_MUCH
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_ONLY
+ .2byte EC_WORD_MISS
+ .2byte EC_WORD_HIM
+ .2byte EC_WORD_MORE
+ .2byte EC_WORD_ELLIPSIS
+@ loss speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_LONESOME
+ .2byte EC_WORD_WITHOUT
+ .2byte EC_WORD_HIM
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Briana
@ 75
.4byte TRAINER_CLASS_GUITARIST
.string "ANTONIO$", 8
@ pre-battle speech
- ec_word I
- ec_word KNOW
- ec_word HOW
- ec_word TO
- ec_word GO
- ec_word GO
-@ win speech
- ec_word BUT
- ec_word I
- ec_word DON_T
- ec_word LIKE
- ec_word TO
- ec_word DANCE
-@ loss speech
- ec_word GO
- ec_word GO
- ec_word ELLIPSIS
- ec_word JUST
- ec_move1 FLAIL
- ec_word ABOUT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_KNOW
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_GO
+@ win speech
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_DANCE
+@ loss speech
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_JUST
+ .2byte EC_MOVE(FLAIL)
+ .2byte EC_WORD_ABOUT
.4byte gBattleFrontierTrainerMons_Antonio
@ 76
.4byte TRAINER_CLASS_GUITARIST
.string "JADEN$", 8
@ pre-battle speech
- ec_word HELLO
- ec_word I
- ec_word THINK
- ec_word I
- ec_word ADORE
- ec_word YOU
+ .2byte EC_WORD_HELLO
+ .2byte EC_WORD_I
+ .2byte EC_WORD_THINK
+ .2byte EC_WORD_I
+ .2byte EC_WORD_ADORE
+ .2byte EC_WORD_YOU
@ win speech
- ec_word YOU
- ec_word MAKE
- ec_word ME
- ec_move1 THRASH
- ec_word IN
- ec_move2 FRUSTRATION
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_MAKE
+ .2byte EC_WORD_ME
+ .2byte EC_MOVE(THRASH)
+ .2byte EC_WORD_IN
+ .2byte EC_MOVE2(FRUSTRATION)
@ loss speech
- ec_word THIS_IS_IT_EXCL
+ .2byte EC_WORD_THIS_IS_IT_EXCL
.2byte -1
.2byte -1
- ec_word GOOD_BYE
- ec_word FOREVER
- ec_word EXCL
+ .2byte EC_WORD_GOOD_BYE
+ .2byte EC_WORD_FOREVER
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Jaden
@ 77
.4byte TRAINER_CLASS_GUITARIST
.string "DAKOTA$", 8
@ pre-battle speech
- ec_word YOU
- ec_word HAVE
- ec_word TO
- ec_word DANCE
- ec_word WITH
- ec_word POWER
-@ win speech
- ec_word GOT
- ec_word IT
- ec_word QUES
- ec_word DANCE
- ec_word WITH
- ec_word POWER
-@ loss speech
- ec_word OKAY
- ec_word YOU
- ec_word UNDERSTAND
- ec_word ALL_RIGHT
- ec_word EXCL
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_DANCE
+ .2byte EC_WORD_WITH
+ .2byte EC_WORD_POWER
+@ win speech
+ .2byte EC_WORD_GOT
+ .2byte EC_WORD_IT
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_DANCE
+ .2byte EC_WORD_WITH
+ .2byte EC_WORD_POWER
+@ loss speech
+ .2byte EC_WORD_OKAY
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_UNDERSTAND
+ .2byte EC_WORD_ALL_RIGHT
+ .2byte EC_WORD_EXCL
.2byte -1
.4byte gBattleFrontierTrainerMons_Dakota
@@ -2032,74 +2032,74 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_BIRD_KEEPER
.string "BRAYDEN$", 8
@ pre-battle speech
- ec_word COLOR_CHANGE
- ec_word VERSION
- ec_word TOYS
- ec_word ARE
- ec_word USELESS
- ec_word EXCL
-@ win speech
- ec_word I
- ec_word ONLY
- ec_word COLLECT
- ec_word NORMAL
- ec_word VERSION
- ec_word TOYS
-@ loss speech
- ec_word I
- ec_move2 ATTRACT
- ec_word COLOR_CHANGE
- ec_word VERSION
- ec_word TOYS
- ec_word ELLIPSIS
+ .2byte EC_WORD_COLOR_CHANGE
+ .2byte EC_WORD_VERSION
+ .2byte EC_WORD_TOYS
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_USELESS
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_ONLY
+ .2byte EC_WORD_COLLECT
+ .2byte EC_WORD_NORMAL
+ .2byte EC_WORD_VERSION
+ .2byte EC_WORD_TOYS
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_MOVE2(ATTRACT)
+ .2byte EC_WORD_COLOR_CHANGE
+ .2byte EC_WORD_VERSION
+ .2byte EC_WORD_TOYS
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Brayden
@ 79
.4byte TRAINER_CLASS_BIRD_KEEPER
.string "CORSON$", 8
@ pre-battle speech
- ec_word I
- ec_word GET
- ec_word TO
- ec_move2 BEAT_UP
- ec_word ON
- ec_word YOU
-@ win speech
- ec_word TOO
- ec_word EASY
- ec_word EXCL
- ec_word I_AM
- ec_word SO
- ec_word COOL
-@ loss speech
- ec_word WHY
- ec_word QUES_EXCL
- .2byte -1
- ec_word I
- ec_move2 CURSE
- ec_word YOU
+ .2byte EC_WORD_I
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_TO
+ .2byte EC_MOVE2(BEAT_UP)
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_YOU
+@ win speech
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_EASY
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_COOL
+@ loss speech
+ .2byte EC_WORD_WHY
+ .2byte EC_WORD_QUES_EXCL
+ .2byte -1
+ .2byte EC_WORD_I
+ .2byte EC_MOVE2(CURSE)
+ .2byte EC_WORD_YOU
.4byte gBattleFrontierTrainerMons_Corson
@ 80
.4byte TRAINER_CLASS_BIRD_KEEPER
.string "TREVIN$", 8
@ pre-battle speech
- ec_word THERE
- ec_word IS
- ec_word NONE
- ec_word BETTER
- ec_word THAN
- ec_word ME
+ .2byte EC_WORD_THERE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_NONE
+ .2byte EC_WORD_BETTER
+ .2byte EC_WORD_THAN
+ .2byte EC_WORD_ME
@ win speech
- ec_word YES_SIR_EXCL
+ .2byte EC_WORD_YES_SIR_EXCL
.2byte -1
.2byte -1
- ec_word I_AM
- ec_word THE
- ec_word BEST
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_BEST
@ loss speech
- ec_word SERIOUS
- ec_word QUES_EXCL
+ .2byte EC_WORD_SERIOUS
+ .2byte EC_WORD_QUES_EXCL
.2byte -1
.2byte -1
.2byte -1
@@ -2110,77 +2110,77 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_SAILOR
.string "PATRICK$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word PERFECT
- ec_word EXCL
- ec_word GIVE_UP
- ec_word NOW
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_PERFECT
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_GIVE_UP
+ .2byte EC_WORD_NOW
.2byte -1
@ win speech
- ec_word DON_T
- ec_word BE
- ec_word DISAPPOINTED
- ec_word I_AM
- ec_word PERFECT
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_DISAPPOINTED
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_PERFECT
.2byte -1
@ loss speech
- ec_word BUT
- ec_word HOW
- ec_word QUES
- ec_word I_AM
- ec_word PERFECT
- ec_word ELLIPSIS
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_PERFECT
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Patrick
@ 82
.4byte TRAINER_CLASS_SAILOR
.string "KADEN$", 8
@ pre-battle speech
- ec_word WHAT
- ec_word ARE
- ec_word YOU
- ec_word UP
- ec_word TO
- ec_word QUES
-@ win speech
- ec_word YOU
- ec_word WERE
- ec_word A
- ec_word SURPRISE
- ec_word TO_ME
- ec_word EXCL
-@ loss speech
- ec_word I
- ec_word DON_T
- ec_word KNOW
- ec_word WHO
- ec_word I_AM
- ec_word ELLIPSIS
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_UP
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_WERE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_SURPRISE
+ .2byte EC_WORD_TO_ME
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_KNOW
+ .2byte EC_WORD_WHO
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Kaden
@ 83
.4byte TRAINER_CLASS_SAILOR
.string "MAXWELL$", 8
@ pre-battle speech
- ec_word HEY_THERE
- ec_word WHO_IS
- ec_word YOUR
- ec_word RIVAL
- ec_word QUES
+ .2byte EC_WORD_HEY_THERE
+ .2byte EC_WORD_WHO_IS
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_RIVAL
+ .2byte EC_WORD_QUES
.2byte -1
@ win speech
- ec_word MY
- ec_word RIVAL
- ec_word IS
- ec_word MY
- ec_word GIRL
- ec_word FRIEND
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_RIVAL
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_GIRL
+ .2byte EC_WORD_FRIEND
@ loss speech
- ec_word I_AM
- ec_word MAKING
- ec_word YOU
- ec_word MY
- ec_word RIVAL
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_MAKING
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_RIVAL
.2byte -1
.4byte gBattleFrontierTrainerMons_Maxwell
@@ -2188,49 +2188,49 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_HIKER
.string "DARYL$", 8
@ pre-battle speech
- ec_word I
- ec_word ONLY
- ec_word KNOW
- ec_word HOW
- ec_word TO
- ec_move1 CHARGE
-@ win speech
- ec_word AM
- ec_word I
- ec_word OVERWHELMING
- ec_word OR
- ec_word WHAT
- ec_word QUES
-@ loss speech
- ec_word YOU_RE
- ec_word GOING
- ec_word TO
- ec_word A
- ec_word LEGEND
- ec_word EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_ONLY
+ .2byte EC_WORD_KNOW
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_TO
+ .2byte EC_MOVE(CHARGE)
+@ win speech
+ .2byte EC_WORD_AM
+ .2byte EC_WORD_I
+ .2byte EC_WORD_OVERWHELMING
+ .2byte EC_WORD_OR
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_QUES
+@ loss speech
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_A
+ .2byte EC_WORD_LEGEND
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Daryl
@ 85
.4byte TRAINER_CLASS_HIKER
.string "KENNETH$", 8
@ pre-battle speech
- ec_word YOU
- ec_word BETTER
- ec_word NOT
- ec_move2 SLACK_OFF
- ec_word WITH
- ec_word ME
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_BETTER
+ .2byte EC_WORD_NOT
+ .2byte EC_MOVE2(SLACK_OFF)
+ .2byte EC_WORD_WITH
+ .2byte EC_WORD_ME
@ win speech
- ec_word DID
- ec_word MY
- ec_move2 TAUNT
- ec_word INTIMIDATE
- ec_word YOU
- ec_word QUES
+ .2byte EC_WORD_DID
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(TAUNT)
+ .2byte EC_WORD_INTIMIDATE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_QUES
@ loss speech
- ec_word I_AM
- ec_word SORRY
- ec_word ELLIPSIS
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SORRY
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
.2byte -1
.2byte -1
@@ -2240,25 +2240,25 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_HIKER
.string "RICH$", 8
@ pre-battle speech
- ec_word YOUR
- ec_move1 FACADE
- ec_word DOESN_T
- ec_move2 TRICK
- ec_word ME
+ .2byte EC_WORD_YOUR
+ .2byte EC_MOVE(FACADE)
+ .2byte EC_WORD_DOESN_T
+ .2byte EC_MOVE2(TRICK)
+ .2byte EC_WORD_ME
.2byte -1
@ win speech
- ec_word SERIOUSLY
- ec_word ARE
- ec_word YOU
- ec_word REALLY
- ec_word OK_QUES
+ .2byte EC_WORD_SERIOUSLY
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_OK_QUES
.2byte -1
@ loss speech
- ec_word THAT_WAS
- ec_word REALLY
- ec_word TOUGH
- ec_word ON
- ec_word ME
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_TOUGH
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_ME
.2byte -1
.4byte gBattleFrontierTrainerMons_Rich
@@ -2266,181 +2266,181 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_KINDLER
.string "CADEN$", 8
@ pre-battle speech
- ec_word I
- ec_word CAN_T
- ec_word BE
- ec_word DEFEATED
- ec_word EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_DEFEATED
+ .2byte EC_WORD_EXCL
.2byte -1
@ win speech
- ec_word FIRE
- ec_word EXCL
+ .2byte EC_WORD_FIRE
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word FIRE
- ec_word EXCL_EXCL
+ .2byte EC_WORD_FIRE
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
@ loss speech
- ec_word I_AM
- ec_word TIRED
- ec_word ELLIPSIS
- ec_word IT_S
- ec_word SO
- ec_word HOT
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_TIRED
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_HOT
.4byte gBattleFrontierTrainerMons_Caden
@ 88
.4byte TRAINER_CLASS_KINDLER
.string "MARLON$", 8
@ pre-battle speech
- ec_word A
- ec_word POKEDEX
- ec_word IS
- ec_word A_LITTLE
- ec_word RADIO
- ec_word QUES
-@ win speech
- ec_word A_LITTLE
- ec_word RADIO
- ec_word HUH_QUES
- ec_word THAT_S
- ec_word TOTALLY
- ec_word COOL
-@ loss speech
- ec_word IT_S
- ec_word NOT
- ec_word QUES
- ec_word IS
- ec_word POKENAV
- ec_word QUES
+ .2byte EC_WORD_A
+ .2byte EC_WORD_POKEDEX
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_A_LITTLE
+ .2byte EC_WORD_RADIO
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_A_LITTLE
+ .2byte EC_WORD_RADIO
+ .2byte EC_WORD_HUH_QUES
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_TOTALLY
+ .2byte EC_WORD_COOL
+@ loss speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_POKENAV
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Marlon
@ 89
.4byte TRAINER_CLASS_KINDLER
.string "NASH$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word ON
- ec_word FIRE
- ec_word BABY
- ec_word EXCL
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_FIRE
+ .2byte EC_WORD_BABY
+ .2byte EC_WORD_EXCL
.2byte -1
@ win speech
- ec_word I
- ec_word LEFT
- ec_word YOU
- ec_word JUST
- ec_word AN
- ec_move2 EMBER
+ .2byte EC_WORD_I
+ .2byte EC_WORD_LEFT
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_JUST
+ .2byte EC_WORD_AN
+ .2byte EC_MOVE2(EMBER)
@ loss speech
- ec_word AIYEEH
- ec_word EXCL_EXCL
+ .2byte EC_WORD_AIYEEH
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
- ec_word NO
- ec_word WATER
- ec_word PLEASE
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_WATER
+ .2byte EC_WORD_PLEASE
.4byte gBattleFrontierTrainerMons_Nash
@ 90
.4byte TRAINER_CLASS_TRIATHLETE_3
.string "ROBBY$", 8
@ pre-battle speech
- ec_word HAHAHA
- ec_word EXCL
- ec_word HAPPY
- ec_word TO
- ec_word MEET_YOU
- ec_word EXCL
-@ win speech
- ec_word I_AM
- ec_word THE
- ec_word LEADER
- ec_word WITH
- ec_word REFRESHING
- ec_word SERENE_GRACE
-@ loss speech
- ec_word I
- ec_word WILL
- ec_move1 THRASH
- ec_word MY
- ec_word TOYS
- ec_word EXCL
+ .2byte EC_WORD_HAHAHA
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_HAPPY
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_MEET_YOU
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_LEADER
+ .2byte EC_WORD_WITH
+ .2byte EC_WORD_REFRESHING
+ .2byte EC_WORD_SERENE_GRACE
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_MOVE(THRASH)
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_TOYS
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Robby
@ 91
.4byte TRAINER_CLASS_TRIATHLETE_3
.string "REECE$", 8
@ pre-battle speech
- ec_word MY
- ec_move2 QUICK_ATTACK
- ec_word CAN
- ec_word BEAT
- ec_word A
- ec_move2 TELEPORT
-@ win speech
- ec_word LIKE
- ec_word I
- ec_word SAID
- ec_word I_AM
- ec_word DARN
- ec_word FAST
-@ loss speech
- ec_word I_WAS
- ec_word KIDDING
- ec_word ABOUT
- ec_word THAT
- ec_move2 TELEPORT
- ec_word THING
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(QUICK_ATTACK)
+ .2byte EC_WORD_CAN
+ .2byte EC_WORD_BEAT
+ .2byte EC_WORD_A
+ .2byte EC_MOVE2(TELEPORT)
+@ win speech
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_I
+ .2byte EC_WORD_SAID
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_DARN
+ .2byte EC_WORD_FAST
+@ loss speech
+ .2byte EC_WORD_I_WAS
+ .2byte EC_WORD_KIDDING
+ .2byte EC_WORD_ABOUT
+ .2byte EC_WORD_THAT
+ .2byte EC_MOVE2(TELEPORT)
+ .2byte EC_WORD_THING
.4byte gBattleFrontierTrainerMons_Reece
@ 92
.4byte TRAINER_CLASS_TRIATHLETE_4
.string "KATHRYN$", 8
@ pre-battle speech
- ec_word I
- ec_word DON_T
- ec_word TRAIN
- ec_word GOOD
- ec_word ENOUGH
- ec_word QUES
-@ win speech
- ec_word DON_T
- ec_move2 TAUNT
- ec_word ME
- ec_word LIKE
- ec_word THAT
- ec_word OK_QUES
-@ loss speech
- ec_word WHY
- ec_word COULDN_T
- ec_word I
- ec_word WIN
- ec_word THIS
- ec_word QUES
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_TRAIN
+ .2byte EC_WORD_GOOD
+ .2byte EC_WORD_ENOUGH
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_DON_T
+ .2byte EC_MOVE2(TAUNT)
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_OK_QUES
+@ loss speech
+ .2byte EC_WORD_WHY
+ .2byte EC_WORD_COULDN_T
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WIN
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Kathryn
@ 93
.4byte TRAINER_CLASS_TRIATHLETE_4
.string "ELLEN$", 8
@ pre-battle speech
- ec_word CRUSH
- ec_word YOU
- ec_word LIKE
- ec_word AN
- ec_word EGG
- ec_word EXCL
-@ win speech
- ec_word THAT_WAS
- ec_word A
- ec_word TASTY
- ec_word VICTORY
- ec_word FOR
- ec_word ME
-@ loss speech
- ec_word TOO
- ec_word TOUGH
- ec_word TO
- ec_word CRUSH
- ec_word EXCL
+ .2byte EC_WORD_CRUSH
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_EGG
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_A
+ .2byte EC_WORD_TASTY
+ .2byte EC_WORD_VICTORY
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_ME
+@ loss speech
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_TOUGH
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_CRUSH
+ .2byte EC_WORD_EXCL
.2byte -1
.4byte gBattleFrontierTrainerMons_Ellen
@@ -2448,51 +2448,51 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_TRIATHLETE_5
.string "RAMON$", 8
@ pre-battle speech
- ec_word OKAY
- ec_word EXCL
- .2byte -1
- ec_word THIS
- ec_word IS
- ec_word PERFECTION
-@ win speech
- ec_word I_AM
- ec_word HAPPY
- ec_word THAT
- ec_word I
- ec_word WON
- ec_word EXCL
-@ loss speech
- ec_word IT_S
- ec_word A
- ec_word SECRET
- ec_word WHY
- ec_word I_AM
- ec_word HAPPY
+ .2byte EC_WORD_OKAY
+ .2byte EC_WORD_EXCL
+ .2byte -1
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_PERFECTION
+@ win speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_HAPPY
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WON
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_A
+ .2byte EC_WORD_SECRET
+ .2byte EC_WORD_WHY
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_HAPPY
.4byte gBattleFrontierTrainerMons_Ramon
@ 95
.4byte TRAINER_CLASS_TRIATHLETE_5
.string "ARTHUR$", 8
@ pre-battle speech
- ec_word HERE_I_COME
- ec_word FEELING
- ec_word READY
- ec_word FOR
- ec_word IT
- ec_word ALL
+ .2byte EC_WORD_HERE_I_COME
+ .2byte EC_WORD_FEELING
+ .2byte EC_WORD_READY
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_IT
+ .2byte EC_WORD_ALL
@ win speech
- ec_word THAT_S_IT_EXCL
+ .2byte EC_WORD_THAT_S_IT_EXCL
.2byte -1
.2byte -1
- ec_word THAT_WAS
- ec_word FABULOUS
- ec_word EXCL
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_FABULOUS
+ .2byte EC_WORD_EXCL
@ loss speech
- ec_word THAT_WAS
- ec_word NOT
- ec_word WHAT
- ec_word I
- ec_word NEED
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
.2byte -1
.4byte gBattleFrontierTrainerMons_Arthur
@@ -2500,51 +2500,51 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_TRIATHLETE_6
.string "ALONDRA$", 8
@ pre-battle speech
- ec_word EVERY
- ec_word DAY
- ec_word IS
- ec_word A
- ec_word GREAT
- ec_word DAY
-@ win speech
- ec_word MY
- ec_move2 DIVE
- ec_word WILL
- ec_word BE
- ec_word A
- ec_word LEGEND
-@ loss speech
- ec_word MY
- ec_move2 DIVE
- ec_word LEFT
- ec_word ME
- ec_word COLD
- ec_word ELLIPSIS
+ .2byte EC_WORD_EVERY
+ .2byte EC_WORD_DAY
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_A
+ .2byte EC_WORD_GREAT
+ .2byte EC_WORD_DAY
+@ win speech
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(DIVE)
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_LEGEND
+@ loss speech
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(DIVE)
+ .2byte EC_WORD_LEFT
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_COLD
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Alondra
@ 97
.4byte TRAINER_CLASS_TRIATHLETE_6
.string "ADRIANA$", 8
@ pre-battle speech
- ec_word COME
- ec_word SEE
- ec_word AN
- ec_word INCREDIBLE
- ec_word SWIFT_SWIM
- ec_word EXCL
-@ win speech
- ec_word I
- ec_word MAKE
- ec_word IT
- ec_word LOOK
- ec_word SO
- ec_word EASY
-@ loss speech
- ec_word I_AM
- ec_word FEELING
- ec_move2 BEAT_UP
- ec_word AND
- ec_word TIRED
+ .2byte EC_WORD_COME
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_INCREDIBLE
+ .2byte EC_WORD_SWIFT_SWIM
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_MAKE
+ .2byte EC_WORD_IT
+ .2byte EC_WORD_LOOK
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_EASY
+@ loss speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_FEELING
+ .2byte EC_MOVE2(BEAT_UP)
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_TIRED
.2byte -1
.4byte gBattleFrontierTrainerMons_Adriana
@@ -2552,207 +2552,207 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_TRIATHLETE_1
.string "MALIK$", 8
@ pre-battle speech
- ec_word OH
- ec_word NOT
- ec_word ANOTHER
- ec_word BATTLE
- ec_word PLEASE
- ec_word ELLIPSIS
-@ win speech
- ec_word I
- ec_word FINALLY
- ec_word WON
- ec_word ELLIPSIS
- ec_word I_AM
- ec_word TIRED
-@ loss speech
- ec_word I
- ec_word FINALLY
- ec_word LOST
- ec_word ELLIPSIS
- ec_word I_AM
- ec_word TIRED
+ .2byte EC_WORD_OH
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_ANOTHER
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_PLEASE
+ .2byte EC_WORD_ELLIPSIS
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_FINALLY
+ .2byte EC_WORD_WON
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_TIRED
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_FINALLY
+ .2byte EC_WORD_LOST
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_TIRED
.4byte gBattleFrontierTrainerMons_Malik
@ 99
.4byte TRAINER_CLASS_TRIATHLETE_2
.string "JILL$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word THE
- ec_move2 QUICK_ATTACK
- ec_word TRAINER
- ec_word EXCL
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_THE
+ .2byte EC_MOVE2(QUICK_ATTACK)
+ .2byte EC_WORD_TRAINER
+ .2byte EC_WORD_EXCL
.2byte -1
@ win speech
- ec_word THE
- ec_move2 QUICK_ATTACK
- ec_word TRAINER
- ec_word WINS
- ec_word EXCL
+ .2byte EC_WORD_THE
+ .2byte EC_MOVE2(QUICK_ATTACK)
+ .2byte EC_WORD_TRAINER
+ .2byte EC_WORD_WINS
+ .2byte EC_WORD_EXCL
.2byte -1
@ loss speech
- ec_word THE
- ec_move2 QUICK_ATTACK
- ec_word TRAINER
- ec_word GIVES
- ec_word UP
- ec_word EXCL
+ .2byte EC_WORD_THE
+ .2byte EC_MOVE2(QUICK_ATTACK)
+ .2byte EC_WORD_TRAINER
+ .2byte EC_WORD_GIVES
+ .2byte EC_WORD_UP
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Jill
@ 100
.4byte TRAINER_CLASS_TRIATHLETE_3
.string "ERIK$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word THE
- ec_word SPEED_BOOST
- ec_word HERO
- ec_word EXCL
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_SPEED_BOOST
+ .2byte EC_WORD_HERO
+ .2byte EC_WORD_EXCL
.2byte -1
@ win speech
- ec_word THANK_YOU
- ec_word FROM
- ec_word THE
- ec_word SPEED_BOOST
- ec_word HERO
- ec_word EXCL
+ .2byte EC_WORD_THANK_YOU
+ .2byte EC_WORD_FROM
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_SPEED_BOOST
+ .2byte EC_WORD_HERO
+ .2byte EC_WORD_EXCL
@ loss speech
- ec_word WAAAH
- ec_word EXCL_EXCL
+ .2byte EC_WORD_WAAAH
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
- ec_word NO
- ec_word NO
- ec_word EXCL_EXCL
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_EXCL_EXCL
.4byte gBattleFrontierTrainerMons_Erik
@ 101
.4byte TRAINER_CLASS_TRIATHLETE_4
.string "YAZMIN$", 8
@ pre-battle speech
- ec_word I
- ec_word WOULD
- ec_word RATHER
- ec_word RUN
- ec_word THAN
- ec_word BIKE
-@ win speech
- ec_word YES
- ec_word I
- ec_word WOULD
- ec_word MUCH
- ec_word RATHER
- ec_word RUN
-@ loss speech
- ec_word BYE_BYE
- ec_word EXCL
- ec_word I_AM
- ec_word GOING
- ec_word TO
- ec_word RUN_AWAY
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WOULD
+ .2byte EC_WORD_RATHER
+ .2byte EC_WORD_RUN
+ .2byte EC_WORD_THAN
+ .2byte EC_WORD_BIKE
+@ win speech
+ .2byte EC_WORD_YES
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WOULD
+ .2byte EC_WORD_MUCH
+ .2byte EC_WORD_RATHER
+ .2byte EC_WORD_RUN
+@ loss speech
+ .2byte EC_WORD_BYE_BYE
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_RUN_AWAY
.4byte gBattleFrontierTrainerMons_Yazmin
@ 102
.4byte TRAINER_CLASS_TRIATHLETE_5
.string "JAMAL$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word GOING
- ec_word TO
- ec_word BE
- ec_word A
- ec_word FATHER
-@ win speech
- ec_word I
- ec_word CAN_T
- ec_word WAIT
- ec_word FOR
- ec_word MY
- ec_word BABY
-@ loss speech
- ec_word MY
- ec_word BABY
- ec_word WILL
- ec_word BE
- ec_word TOTALLY
- ec_word AWESOME
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_FATHER
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_WAIT
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_BABY
+@ loss speech
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_BABY
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_TOTALLY
+ .2byte EC_WORD_AWESOME
.4byte gBattleFrontierTrainerMons_Jamal
@ 103
.4byte TRAINER_CLASS_TRIATHLETE_6
.string "LESLIE$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word GOING
- ec_word TO
- ec_word BE
- ec_word A
- ec_word MOTHER
-@ win speech
- ec_word A
- ec_word BABY
- ec_word WILL
- ec_word BE
- ec_word A_LITTLE
- ec_word CHALLENGE
-@ loss speech
- ec_word I_AM
- ec_word TOO
- ec_word HAPPY
- ec_word TO
- ec_word BE
- ec_word ANGRY
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_MOTHER
+@ win speech
+ .2byte EC_WORD_A
+ .2byte EC_WORD_BABY
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_A_LITTLE
+ .2byte EC_WORD_CHALLENGE
+@ loss speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_HAPPY
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_ANGRY
.4byte gBattleFrontierTrainerMons_Leslie
@ 104
.4byte TRAINER_CLASS_TRIATHLETE_1
.string "DAVE$", 8
@ pre-battle speech
- ec_word WHAT
- ec_word SHOULD
- ec_word I
- ec_word DO
- ec_word TODAY
- ec_word QUES
-@ win speech
- ec_word I
- ec_word SHOULD
- ec_word ENJOY
- ec_word SOME
- ec_word SPORTS
- ec_word EXCL
-@ loss speech
- ec_word I
- ec_word WILL
- ec_word GO
- ec_word PLAY
- ec_word A
- ec_word GAME
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_SHOULD
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DO
+ .2byte EC_WORD_TODAY
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_SHOULD
+ .2byte EC_WORD_ENJOY
+ .2byte EC_WORD_SOME
+ .2byte EC_WORD_SPORTS
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_PLAY
+ .2byte EC_WORD_A
+ .2byte EC_WORD_GAME
.4byte gBattleFrontierTrainerMons_Dave
@ 105
.4byte TRAINER_CLASS_TRIATHLETE_1
.string "CARLO$", 8
@ pre-battle speech
- ec_word HAH
- ec_word EXCL_EXCL
+ .2byte EC_WORD_HAH
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
- ec_word YEAH
- ec_word EXCL_EXCL
+ .2byte EC_WORD_YEAH
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
@ win speech
- ec_word I
- ec_word DO
- ec_word THINGS
- ec_word AT
- ec_move1 EXTREME_SPEED
- ec_word EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DO
+ .2byte EC_WORD_THINGS
+ .2byte EC_WORD_AT
+ .2byte EC_MOVE(EXTREME_SPEED)
+ .2byte EC_WORD_EXCL
@ loss speech
- ec_word I
- ec_word LOST
- ec_word AT
- ec_move1 EXTREME_SPEED
- ec_word ELLIPSIS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_LOST
+ .2byte EC_WORD_AT
+ .2byte EC_MOVE(EXTREME_SPEED)
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
.4byte gBattleFrontierTrainerMons_Carlo
@@ -2760,103 +2760,103 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_TRIATHLETE_2
.string "EMILIA$", 8
@ pre-battle speech
- ec_word ME
- ec_word WORRY
- ec_word QUES
- ec_word I
- ec_word HAVE
- ec_word NONE
-@ win speech
- ec_word AHAHA
- ec_word SEE
- ec_word QUES
- ec_word THAT_WAS
- ec_word FANTASTIC
- ec_word EXCL
-@ loss speech
- ec_word AHAHA
- ec_word SEE
- ec_word QUES
- ec_word THAT_WAS
- ec_word ENTERTAINING
- ec_word EXCL
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_WORRY
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_I
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_NONE
+@ win speech
+ .2byte EC_WORD_AHAHA
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_FANTASTIC
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_AHAHA
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_ENTERTAINING
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Emilia
@ 107
.4byte TRAINER_CLASS_TRIATHLETE_2
.string "DALIA$", 8
@ pre-battle speech
- ec_word MY
- ec_word BIKE
- ec_word IS
- ec_word VERY
- ec_word EXPENSIVE
- .2byte -1
-@ win speech
- ec_word DON_T
- ec_word COME
- ec_word NEAR
- ec_word MY
- ec_word BIKE
- ec_word EXCL
-@ loss speech
- ec_word MY
- ec_word BIKE
- ec_word IS
- ec_word MY
- ec_word BEST
- ec_word FRIEND
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_BIKE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_VERY
+ .2byte EC_WORD_EXPENSIVE
+ .2byte -1
+@ win speech
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_COME
+ .2byte EC_WORD_NEAR
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_BIKE
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_BIKE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_BEST
+ .2byte EC_WORD_FRIEND
.4byte gBattleFrontierTrainerMons_Dalia
@ 108
.4byte TRAINER_CLASS_BLACK_BELT
.string "HITOMI$", 8
@ pre-battle speech
- ec_word YEAH
- ec_word EXCL_EXCL
+ .2byte EC_WORD_YEAH
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
- ec_word HAH
- ec_word EXCL_EXCL
+ .2byte EC_WORD_HAH
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
@ win speech
- ec_word WHAT
- ec_word QUES_EXCL
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_QUES_EXCL
.2byte -1
- ec_word I
- ec_word WON
- ec_word QUES_EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WON
+ .2byte EC_WORD_QUES_EXCL
@ loss speech
- ec_word AIYEEH
- ec_word EXCL_EXCL
+ .2byte EC_WORD_AIYEEH
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
- ec_word I_AM
- ec_word SORRY
- ec_word EXCL_EXCL
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SORRY
+ .2byte EC_WORD_EXCL_EXCL
.4byte gBattleFrontierTrainerMons_Hitomi
@ 109
.4byte TRAINER_CLASS_BLACK_BELT
.string "RICARDO$", 8
@ pre-battle speech
- ec_word COME_ON
- ec_word EXCL
- ec_word PLAY
- ec_word TIME
- ec_word IS
- ec_word OVER
+ .2byte EC_WORD_COME_ON
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_PLAY
+ .2byte EC_WORD_TIME
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_OVER
@ win speech
- ec_word YOU_RE
- ec_word OUT
- ec_word OF
- ec_word HERE
- ec_word EXCL
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_OUT
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_HERE
+ .2byte EC_WORD_EXCL
.2byte -1
@ loss speech
- ec_word PLEASE
- ec_word DON_T
- ec_word HIT
- ec_word ME
- ec_word EXCL
+ .2byte EC_WORD_PLEASE
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_HIT
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_EXCL
.2byte -1
.4byte gBattleFrontierTrainerMons_Ricardo
@@ -2864,178 +2864,178 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_BLACK_BELT
.string "SHIZUKA$", 8
@ pre-battle speech
- ec_word SHOW
- ec_word ME
- ec_word THAT
- ec_word YOU_RE
- ec_word SERIOUS
- ec_word EXCL
-@ win speech
- ec_word I
- ec_word WON_T
- ec_word FORGET
- ec_word ABOUT
- ec_word YOU
- .2byte -1
-@ loss speech
- ec_word YOU_RE
- ec_word PERFECT
- ec_word IN
- ec_word EVERY
- ec_word WAY
- ec_word EXCL
+ .2byte EC_WORD_SHOW
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_SERIOUS
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WON_T
+ .2byte EC_WORD_FORGET
+ .2byte EC_WORD_ABOUT
+ .2byte EC_WORD_YOU
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_PERFECT
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_EVERY
+ .2byte EC_WORD_WAY
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Shizuka
@ 111
.4byte TRAINER_CLASS_BATTLE_GIRL
.string "JOANA$", 8
@ pre-battle speech
- ec_word YOU_RE
- ec_word GOING
- ec_word TO
- ec_word LOSE
- ec_word RIGHT
- ec_word AWAY
-@ win speech
- ec_word I_AM
- ec_word THE
- ec_word WINNER
- ec_word HEAR
- ec_word ME
- ec_move2 ROAR
-@ loss speech
- ec_word I
- ec_word REFUSE
- ec_word TO
- ec_word ACCEPT
- ec_word THAT
- ec_move1 OUTRAGE
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_LOSE
+ .2byte EC_WORD_RIGHT
+ .2byte EC_WORD_AWAY
+@ win speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_WINNER
+ .2byte EC_WORD_HEAR
+ .2byte EC_WORD_ME
+ .2byte EC_MOVE2(ROAR)
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_REFUSE
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_ACCEPT
+ .2byte EC_WORD_THAT
+ .2byte EC_MOVE(OUTRAGE)
.4byte gBattleFrontierTrainerMons_Joana
@ 112
.4byte TRAINER_CLASS_BATTLE_GIRL
.string "KELLY$", 8
@ pre-battle speech
- ec_word MY
- ec_word NIGHT
- ec_word SCHOOL
- ec_word IS
- ec_word REALLY
- ec_word SCARY
-@ win speech
- ec_word A
- ec_word LADY
- ec_word GHOST
- ec_word APPEARS
- ec_word THERE
- .2byte -1
-@ loss speech
- ec_word THE
- ec_word HOME
- ec_word WORK
- ec_word IS
- ec_word AWFULLY
- ec_word SCARY
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_NIGHT
+ .2byte EC_WORD_SCHOOL
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_SCARY
+@ win speech
+ .2byte EC_WORD_A
+ .2byte EC_WORD_LADY
+ .2byte EC_WORD_GHOST
+ .2byte EC_WORD_APPEARS
+ .2byte EC_WORD_THERE
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_HOME
+ .2byte EC_WORD_WORK
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_AWFULLY
+ .2byte EC_WORD_SCARY
.4byte gBattleFrontierTrainerMons_Kelly
@ 113
.4byte TRAINER_CLASS_BATTLE_GIRL
.string "RAYNA$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word NO_1
- ec_word WHEN
- ec_word IT_S
- ec_word ABOUT
- ec_word POWER
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_NO_1
+ .2byte EC_WORD_WHEN
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_ABOUT
+ .2byte EC_WORD_POWER
@ win speech
- ec_word UNDERSTAND
- ec_word MY
- ec_word POWER
- ec_word NOW
- ec_word QUES
+ .2byte EC_WORD_UNDERSTAND
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POWER
+ .2byte EC_WORD_NOW
+ .2byte EC_WORD_QUES
.2byte -1
@ loss speech
- ec_word TERRIBLE
- ec_word ELLIPSIS
+ .2byte EC_WORD_TERRIBLE
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
- ec_word I_AM
- ec_word TERRIBLE
- ec_word ELLIPSIS
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_TERRIBLE
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Rayna
@ 114
.4byte TRAINER_CLASS_EXPERT_1
.string "EVAN$", 8
@ pre-battle speech
- ec_word EVERY
- ec_word BATTLE
- ec_word HAS
- ec_word A
- ec_word SMELL
- .2byte -1
-@ win speech
- ec_word OH
- ec_word EXCL
- ec_word THE
- ec_move1 SWEET_SCENT
- ec_word OF
- ec_word VICTORY
-@ loss speech
- ec_word THE
- ec_word AWFUL
- ec_word STENCH
- ec_word OF
- ec_word A
- ec_word LOSS
+ .2byte EC_WORD_EVERY
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_HAS
+ .2byte EC_WORD_A
+ .2byte EC_WORD_SMELL
+ .2byte -1
+@ win speech
+ .2byte EC_WORD_OH
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_THE
+ .2byte EC_MOVE(SWEET_SCENT)
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_VICTORY
+@ loss speech
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_AWFUL
+ .2byte EC_WORD_STENCH
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_A
+ .2byte EC_WORD_LOSS
.4byte gBattleFrontierTrainerMons_Evan
@ 115
.4byte TRAINER_CLASS_EXPERT_1
.string "JORDAN$", 8
@ pre-battle speech
- ec_word GOOD
- ec_word EXCL
+ .2byte EC_WORD_GOOD
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word COME_ON
- ec_word EXCL_EXCL
+ .2byte EC_WORD_COME_ON
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
@ win speech
- ec_word YOU
- ec_word CAN_T
- ec_word BEAT
- ec_word ME
- ec_word EXCL
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_BEAT
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_EXCL
.2byte -1
@ loss speech
- ec_word WHAT
- ec_word QUES_EXCL
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_QUES_EXCL
.2byte -1
- ec_word BUT
- ec_word HOW
- ec_word QUES
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Jordan
@ 116
.4byte TRAINER_CLASS_EXPERT_1
.string "JOEL$", 8
@ pre-battle speech
- ec_word FUFUFU
- ec_word ELLIPSIS
+ .2byte EC_WORD_FUFUFU
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
.2byte -1
.2byte -1
.2byte -1
@ win speech
- ec_word GIGGLE
- ec_word ELLIPSIS
+ .2byte EC_WORD_GIGGLE
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
.2byte -1
.2byte -1
.2byte -1
@ loss speech
- ec_word HAHAHA
- ec_word ELLIPSIS
+ .2byte EC_WORD_HAHAHA
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
.2byte -1
.2byte -1
@@ -3046,129 +3046,129 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_EXPERT_2
.string "KRISTEN$", 8
@ pre-battle speech
- ec_word HAHAHA
- ec_word ELLIPSIS
- .2byte -1
- ec_word A
- ec_word KID
- ec_word ELLIPSIS
-@ win speech
- ec_word JUST
- ec_word A_LITTLE
- ec_word KID
- ec_word AFTER
- ec_word ALL
- ec_word EXCL
-@ loss speech
- ec_word A
- ec_word TOUGH
- ec_word KID
- ec_word HUH_QUES
- ec_word HUMPH
- ec_word EXCL
+ .2byte EC_WORD_HAHAHA
+ .2byte EC_WORD_ELLIPSIS
+ .2byte -1
+ .2byte EC_WORD_A
+ .2byte EC_WORD_KID
+ .2byte EC_WORD_ELLIPSIS
+@ win speech
+ .2byte EC_WORD_JUST
+ .2byte EC_WORD_A_LITTLE
+ .2byte EC_WORD_KID
+ .2byte EC_WORD_AFTER
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_A
+ .2byte EC_WORD_TOUGH
+ .2byte EC_WORD_KID
+ .2byte EC_WORD_HUH_QUES
+ .2byte EC_WORD_HUMPH
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Kristen
@ 118
.4byte TRAINER_CLASS_EXPERT_2
.string "SELPHY$", 8
@ pre-battle speech
- ec_word HUH_QUES
- ec_word WHAT
- ec_word IS_IT_QUES
+ .2byte EC_WORD_HUH_QUES
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_IS_IT_QUES
.2byte -1
.2byte -1
.2byte -1
@ win speech
- ec_word OH
- ec_word YES
- ec_word EXCL
- ec_word WHY
- ec_word NOT
- ec_word QUES
+ .2byte EC_WORD_OH
+ .2byte EC_WORD_YES
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_WHY
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_QUES
@ loss speech
- ec_word OH
- ec_word NO
- ec_word EXCL
- ec_word WHY
- ec_word NOT
- ec_word QUES
+ .2byte EC_WORD_OH
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_WHY
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Selphy
@ 119
.4byte TRAINER_CLASS_EXPERT_2
.string "CHLOE$", 8
@ pre-battle speech
- ec_word COME
- ec_word WE
- ec_word WILL
- ec_word DO
- ec_word BATTLE
- ec_word NOW
+ .2byte EC_WORD_COME
+ .2byte EC_WORD_WE
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_DO
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_NOW
@ win speech
- ec_word MORE
- ec_word EXCL
+ .2byte EC_WORD_MORE
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word ANOTHER
- ec_word BATTLE
- ec_word EXCL
+ .2byte EC_WORD_ANOTHER
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_EXCL
@ loss speech
- ec_word OH
- ec_word EXCL
+ .2byte EC_WORD_OH
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word STRONG
- ec_word YOU
- ec_word ARE
+ .2byte EC_WORD_STRONG
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_ARE
.4byte gBattleFrontierTrainerMons_Chloe
@ 120
.4byte TRAINER_CLASS_PSYCHIC_1
.string "NORTON$", 8
@ pre-battle speech
- ec_word I
- ec_word KNOW
- ec_word ONLY
- ec_word YOU
+ .2byte EC_WORD_I
+ .2byte EC_WORD_KNOW
+ .2byte EC_WORD_ONLY
+ .2byte EC_WORD_YOU
.2byte -1
.2byte -1
@ win speech
- ec_word EXCUSE_ME
- ec_word BUT
- ec_word YOU_RE
- ec_word A
- ec_word PUSHOVER
- ec_word EXCL
+ .2byte EC_WORD_EXCUSE_ME
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_PUSHOVER
+ .2byte EC_WORD_EXCL
@ loss speech
- ec_word YOU_RE
- ec_word SOME
- ec_word KIND
- ec_word OF
- ec_word AWESOME
- ec_word EXCL
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_SOME
+ .2byte EC_WORD_KIND
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_AWESOME
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Norton
@ 121
.4byte TRAINER_CLASS_PSYCHIC_1
.string "LUKAS$", 8
@ pre-battle speech
- ec_word MY
- ec_word JOKING
- ec_word IS
- ec_word PRETTY
- ec_word TERRIBLE
- ec_word ELLIPSIS
-@ win speech
- ec_word YOUR
- ec_word ROCK_HEAD
- ec_word EXISTS
- ec_word TO
- ec_word SHINE
- ec_word EXCL
-@ loss speech
- ec_word YOUR
- ec_word ROCK_HEAD
- ec_word COME
- ec_word TO
- ec_word SHINE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_JOKING
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_PRETTY
+ .2byte EC_WORD_TERRIBLE
+ .2byte EC_WORD_ELLIPSIS
+@ win speech
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_ROCK_HEAD
+ .2byte EC_WORD_EXISTS
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_SHINE
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_ROCK_HEAD
+ .2byte EC_WORD_COME
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_SHINE
.2byte -1
.4byte gBattleFrontierTrainerMons_Lukas
@@ -3176,77 +3176,77 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_PSYCHIC_1
.string "ZACH$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word AN
- ec_word EXCELLENT
- ec_move2 MIMIC
- ec_word OF
- ec_word POKEMON
-@ win speech
- ec_word I_AM
- ec_word HAPPY
- ec_word LIKE
- ec_word A_LITTLE
- ec_pokemon2 TOGEPI
- ec_word EXCL
-@ loss speech
- ec_word I_AM
- ec_word ANGRY
- ec_word LIKE
- ec_word A
- ec_pokemon2 MANKEY
- ec_word EXCL
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_EXCELLENT
+ .2byte EC_MOVE2(MIMIC)
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_POKEMON
+@ win speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_HAPPY
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_A_LITTLE
+ .2byte EC_POKEMON2(TOGEPI)
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_ANGRY
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_A
+ .2byte EC_POKEMON2(MANKEY)
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Zach
@ 123
.4byte TRAINER_CLASS_PSYCHIC_2
.string "KAITLYN$", 8
@ pre-battle speech
- ec_word I
- ec_word CRUSH
- ec_word THINGS
- ec_word WITH
- ec_word PSYCHIC
- ec_word POWER
-@ win speech
- ec_word MY
- ec_word VICTORY
- ec_word WILL
- ec_word MAKE
- ec_word THE
- ec_word NEWS
-@ loss speech
- ec_word NO
- ec_word NO
- ec_word ELLIPSIS
- ec_word THIS
- ec_word WON_T
- ec_word DO
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CRUSH
+ .2byte EC_WORD_THINGS
+ .2byte EC_WORD_WITH
+ .2byte EC_WORD_PSYCHIC
+ .2byte EC_WORD_POWER
+@ win speech
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_VICTORY
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_MAKE
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_NEWS
+@ loss speech
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_WON_T
+ .2byte EC_WORD_DO
.4byte gBattleFrontierTrainerMons_Kaitlyn
@ 124
.4byte TRAINER_CLASS_PSYCHIC_2
.string "BREANNA$", 8
@ pre-battle speech
- ec_word MY
- ec_word POKEMON
- ec_word WILL
- ec_word CRUSH
- ec_word YOU
- ec_word EXCL
-@ win speech
- ec_word HAVE
- ec_word SOME
- ec_word MORE
- ec_word OF
- ec_word THIS
- ec_word EXCL
-@ loss speech
- ec_word YOU
- ec_word HAVE
- ec_word GUTS
- ec_word AND
- ec_word SKILL
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_CRUSH
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_SOME
+ .2byte EC_WORD_MORE
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_GUTS
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_SKILL
.2byte -1
.4byte gBattleFrontierTrainerMons_Breanna
@@ -3254,25 +3254,25 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_PSYCHIC_2
.string "KENDRA$", 8
@ pre-battle speech
- ec_word IF
- ec_word YOU_RE
- ec_word SMART
- ec_word STOP
- ec_word RIGHT
- ec_word NOW
-@ win speech
- ec_word I
- ec_word SAID
- ec_word THAT
- ec_word YOU
- ec_word SHOULD
- ec_word STOP
-@ loss speech
- ec_word WHY
- ec_word DIDN_T
- ec_word YOU
- ec_word STOP
- ec_word QUES
+ .2byte EC_WORD_IF
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_SMART
+ .2byte EC_WORD_STOP
+ .2byte EC_WORD_RIGHT
+ .2byte EC_WORD_NOW
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_SAID
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_SHOULD
+ .2byte EC_WORD_STOP
+@ loss speech
+ .2byte EC_WORD_WHY
+ .2byte EC_WORD_DIDN_T
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_STOP
+ .2byte EC_WORD_QUES
.2byte -1
.4byte gBattleFrontierTrainerMons_Kendra
@@ -3280,25 +3280,25 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_HEX_MANIAC
.string "MOLLY$", 8
@ pre-battle speech
- ec_word WILL
- ec_word MY
- ec_word CUTE_CHARM
- ec_move2 ATTRACT
- ec_word YOU
- ec_word QUES
-@ win speech
- ec_word YOUR
- ec_word POKEMON
- ec_word ARE
- ec_word MY
- ec_word TOYS
- ec_word NOW
-@ loss speech
- ec_word OH
- ec_word HOW
- ec_word COULD
- ec_word YOU
- ec_word QUES
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_CUTE_CHARM
+ .2byte EC_MOVE2(ATTRACT)
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_TOYS
+ .2byte EC_WORD_NOW
+@ loss speech
+ .2byte EC_WORD_OH
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_COULD
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_QUES
.2byte -1
.4byte gBattleFrontierTrainerMons_Molly
@@ -3306,205 +3306,205 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_HEX_MANIAC
.string "JAZMIN$", 8
@ pre-battle speech
- ec_word I
- ec_word FORECAST
- ec_word TERRIBLE
- ec_word THINGS
- ec_word FOR
- ec_word YOU
-@ win speech
- ec_word THERE
- ec_word WASN_T
- ec_word MY
- ec_word FORECAST
- ec_word RIGHT
- ec_word QUES
-@ loss speech
- ec_word MY
- ec_move2 FORESIGHT
- ec_word DIDN_T
- ec_word SHOW
- ec_word ME
- ec_word THIS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_FORECAST
+ .2byte EC_WORD_TERRIBLE
+ .2byte EC_WORD_THINGS
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_YOU
+@ win speech
+ .2byte EC_WORD_THERE
+ .2byte EC_WORD_WASN_T
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_FORECAST
+ .2byte EC_WORD_RIGHT
+ .2byte EC_WORD_QUES
+@ loss speech
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(FORESIGHT)
+ .2byte EC_WORD_DIDN_T
+ .2byte EC_WORD_SHOW
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_THIS
.4byte gBattleFrontierTrainerMons_Jazmin
@ 128
.4byte TRAINER_CLASS_HEX_MANIAC
.string "KELSEY$", 8
@ pre-battle speech
- ec_word I
- ec_word HAVEN_T
- ec_word SLEPT
- ec_word IN
- ec_word DAYS
- ec_word ELLIPSIS
-@ win speech
- ec_word MY
- ec_word SLEEP
- ec_word WILL
- ec_word BE
- ec_word EXCELLENT
- ec_word NOW
-@ loss speech
- ec_word YOU
- ec_word HAVE
- ec_word DESTROYED
- ec_word MY
- ec_word SLEEP
- ec_word ELLIPSIS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_HAVEN_T
+ .2byte EC_WORD_SLEPT
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_DAYS
+ .2byte EC_WORD_ELLIPSIS
+@ win speech
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_SLEEP
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_EXCELLENT
+ .2byte EC_WORD_NOW
+@ loss speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_DESTROYED
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_SLEEP
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Kelsey
@ 129
.4byte TRAINER_CLASS_POKEMANIAC
.string "JALEN$", 8
@ pre-battle speech
- ec_word I
- ec_word DON_T
- ec_word ALLOW
- ec_word POKEMON
- ec_word TO
- ec_move1 THRASH
-@ win speech
- ec_word HAHAHA
- ec_word EXCL
- ec_word ARE
- ec_word YOU
- ec_word ANGRY
- ec_word QUES
-@ loss speech
- ec_word WHY
- ec_word IS
- ec_word THIS
- ec_word SO
- ec_word HARD
- ec_word QUES
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_ALLOW
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_TO
+ .2byte EC_MOVE(THRASH)
+@ win speech
+ .2byte EC_WORD_HAHAHA
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_ANGRY
+ .2byte EC_WORD_QUES
+@ loss speech
+ .2byte EC_WORD_WHY
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_HARD
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Jalen
@ 130
.4byte TRAINER_CLASS_POKEMANIAC
.string "GRIFFEN$", 8
@ pre-battle speech
- ec_word I
- ec_move2 SWALLOW
- ec_move2 SLUDGE
- ec_word TO
- ec_move2 TRANSFORM
- ec_word MYSELF
-@ win speech
- ec_word I
- ec_word HAVE
- ec_word A
- ec_move1 GROWTH
- ec_word OF
- ec_move2 ACID_ARMOR
-@ loss speech
- ec_word I
- ec_word HAVE
- ec_word A
- ec_move1 GROWTH
- ec_word OF
- ec_word SUCTION_CUPS
+ .2byte EC_WORD_I
+ .2byte EC_MOVE2(SWALLOW)
+ .2byte EC_MOVE2(SLUDGE)
+ .2byte EC_WORD_TO
+ .2byte EC_MOVE2(TRANSFORM)
+ .2byte EC_WORD_MYSELF
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_A
+ .2byte EC_MOVE(GROWTH)
+ .2byte EC_WORD_OF
+ .2byte EC_MOVE2(ACID_ARMOR)
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_A
+ .2byte EC_MOVE(GROWTH)
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_SUCTION_CUPS
.4byte gBattleFrontierTrainerMons_Griffen
@ 131
.4byte TRAINER_CLASS_POKEMANIAC
.string "XANDER$", 8
@ pre-battle speech
- ec_word I
- ec_word GOT
- ec_word MY
- ec_word POKEMON
- ec_word ON
- ec_word RENTAL
-@ win speech
- ec_word IT_S
- ec_word INCREDIBLE
- ec_word MY
- ec_word RENTAL
- ec_word POKEMON
- ec_word WON
-@ loss speech
- ec_word RENTAL
- ec_word POKEMON
- ec_word AREN_T
- ec_word UP
- ec_word TO
- ec_move2 SCRATCH
+ .2byte EC_WORD_I
+ .2byte EC_WORD_GOT
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_RENTAL
+@ win speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_INCREDIBLE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_RENTAL
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_WON
+@ loss speech
+ .2byte EC_WORD_RENTAL
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_AREN_T
+ .2byte EC_WORD_UP
+ .2byte EC_WORD_TO
+ .2byte EC_MOVE2(SCRATCH)
.4byte gBattleFrontierTrainerMons_Xander
@ 132
.4byte TRAINER_CLASS_GENTLEMAN
.string "MARVIN$", 8
@ pre-battle speech
- ec_word YOU_RE
- ec_word UP
- ec_word TO
- ec_word THE
- ec_word CHALLENGE
- ec_word QUES
-@ win speech
- ec_word I
- ec_word DIDN_T
- ec_word THINK
- ec_word YOU_RE
- ec_word GOOD
- ec_word ENOUGH
-@ loss speech
- ec_word I_AM
- ec_word FEELING
- ec_word PERFECT
- ec_word THANK_YOU
- ec_word SO
- ec_word MUCH
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_UP
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_CHALLENGE
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DIDN_T
+ .2byte EC_WORD_THINK
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_GOOD
+ .2byte EC_WORD_ENOUGH
+@ loss speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_FEELING
+ .2byte EC_WORD_PERFECT
+ .2byte EC_WORD_THANK_YOU
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_MUCH
.4byte gBattleFrontierTrainerMons_Marvin
@ 133
.4byte TRAINER_CLASS_GENTLEMAN
.string "BRENNAN$", 8
@ pre-battle speech
- ec_word I
- ec_move2 WISH
- ec_word TO
- ec_word SEE
- ec_word THE
- ec_word NEWS
-@ win speech
- ec_word COMICS
- ec_word GET
- ec_word DAMP
- ec_word FROM
- ec_word DRIZZLE
- ec_word QUES
-@ loss speech
- ec_word THE
- ec_word TIGHT
- ec_word MONEY
- ec_word LIVING
- ec_word CHANNEL
- ec_word QUES_EXCL
+ .2byte EC_WORD_I
+ .2byte EC_MOVE2(WISH)
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_NEWS
+@ win speech
+ .2byte EC_WORD_COMICS
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_DAMP
+ .2byte EC_WORD_FROM
+ .2byte EC_WORD_DRIZZLE
+ .2byte EC_WORD_QUES
+@ loss speech
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_TIGHT
+ .2byte EC_WORD_MONEY
+ .2byte EC_WORD_LIVING
+ .2byte EC_WORD_CHANNEL
+ .2byte EC_WORD_QUES_EXCL
.4byte gBattleFrontierTrainerMons_Brennan
@ 134
.4byte TRAINER_CLASS_BUG_MANIAC
.string "BALEY$", 8
@ pre-battle speech
- ec_move1 SCREECH
- ec_word IS
- ec_word LIKE
- ec_word MUSIC
- ec_word TO_ME
- ec_word EXCL
+ .2byte EC_MOVE(SCREECH)
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_MUSIC
+ .2byte EC_WORD_TO_ME
+ .2byte EC_WORD_EXCL
@ win speech
- ec_word MY
- ec_move1 SCREECH
- ec_word STRATEGY
- ec_word IS
- ec_word THE
- ec_word BEST
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE(SCREECH)
+ .2byte EC_WORD_STRATEGY
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_BEST
@ loss speech
- ec_word YOU_RE
- ec_word SOUNDPROOF
- ec_word QUES
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_SOUNDPROOF
+ .2byte EC_WORD_QUES
.2byte -1
.2byte -1
.2byte -1
@@ -3514,51 +3514,51 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_RUIN_MANIAC
.string "ZACKARY$", 8
@ pre-battle speech
- ec_word CAN
- ec_word YOU
- ec_move1 DIG
- ec_word IT
- ec_word YO
- ec_word QUES
-@ win speech
- ec_move2 TAKE_DOWN
- ec_word TAKE
- ec_word A
- ec_move2 DIVE
- ec_word YO
- ec_word YO
-@ loss speech
- ec_word BREAK
- ec_word DOWN
- ec_move2 DIVE
- ec_word TIME
- ec_word FOR
- ec_word ME
+ .2byte EC_WORD_CAN
+ .2byte EC_WORD_YOU
+ .2byte EC_MOVE(DIG)
+ .2byte EC_WORD_IT
+ .2byte EC_WORD_YO
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_MOVE2(TAKE_DOWN)
+ .2byte EC_WORD_TAKE
+ .2byte EC_WORD_A
+ .2byte EC_MOVE2(DIVE)
+ .2byte EC_WORD_YO
+ .2byte EC_WORD_YO
+@ loss speech
+ .2byte EC_WORD_BREAK
+ .2byte EC_WORD_DOWN
+ .2byte EC_MOVE2(DIVE)
+ .2byte EC_WORD_TIME
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_ME
.4byte gBattleFrontierTrainerMons_Zackary
@ 136
.4byte TRAINER_CLASS_COLLECTOR
.string "GABRIEL$", 8
@ pre-battle speech
- ec_move2 POUND
- ec_word THE
- ec_word THICK_FAT
- ec_word ON
- ec_word MY
- ec_move2 BELLY_DRUM
-@ win speech
- ec_move2 POUND
- ec_word MY
- ec_move2 BELLY_DRUM
- ec_move2 POUND
- ec_word MY
- ec_move2 BELLY_DRUM
-@ loss speech
- ec_word MY
- ec_move2 BELLY_DRUM
- ec_word WAS
- ec_word TOO_WEAK
- ec_word ELLIPSIS
+ .2byte EC_MOVE2(POUND)
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_THICK_FAT
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(BELLY_DRUM)
+@ win speech
+ .2byte EC_MOVE2(POUND)
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(BELLY_DRUM)
+ .2byte EC_MOVE2(POUND)
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(BELLY_DRUM)
+@ loss speech
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(BELLY_DRUM)
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_TOO_WEAK
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
.4byte gBattleFrontierTrainerMons_Gabriel
@@ -3566,77 +3566,77 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_PARASOL_LADY
.string "EMILY$", 8
@ pre-battle speech
- ec_word HOW
- ec_word ABOUT
- ec_word A_TINY_BIT
- ec_word OF
- ec_move1 HYPNOSIS
- ec_word QUES
-@ win speech
- ec_word MY
- ec_move1 HYPNOSIS
- ec_word STRATEGY
- ec_word WORKS
- ec_word TO
- ec_word PERFECTION
-@ loss speech
- ec_word MY
- ec_move1 HYPNOSIS
- ec_word STRATEGY
- ec_word WENT
- ec_word BADLY
- ec_word ELLIPSIS
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_ABOUT
+ .2byte EC_WORD_A_TINY_BIT
+ .2byte EC_WORD_OF
+ .2byte EC_MOVE(HYPNOSIS)
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE(HYPNOSIS)
+ .2byte EC_WORD_STRATEGY
+ .2byte EC_WORD_WORKS
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_PERFECTION
+@ loss speech
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE(HYPNOSIS)
+ .2byte EC_WORD_STRATEGY
+ .2byte EC_WORD_WENT
+ .2byte EC_WORD_BADLY
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Emily
@ 138
.4byte TRAINER_CLASS_BEAUTY
.string "JORDYN$", 8
@ pre-battle speech
- ec_word YOU
- ec_word DON_T
- ec_word KNOW
- ec_word MY
- ec_word SECRET
- ec_word ELLIPSIS
-@ win speech
- ec_word I_AM
- ec_word NOT
- ec_word AS
- ec_word I
- ec_word APPEAR
- ec_word ELLIPSIS
-@ loss speech
- ec_word BUT
- ec_word HOW
- ec_word DID
- ec_word YOU
- ec_word KNOW
- ec_word QUES
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_KNOW
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_SECRET
+ .2byte EC_WORD_ELLIPSIS
+@ win speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_AS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_APPEAR
+ .2byte EC_WORD_ELLIPSIS
+@ loss speech
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_DID
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_KNOW
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Jordyn
@ 139
.4byte TRAINER_CLASS_AROMA_LADY
.string "SOFIA$", 8
@ pre-battle speech
- ec_pokemon1 LOUDRED
- ec_word PROBABLY
- ec_word HAS
- ec_word A
- ec_move1 SWEET_SCENT
+ .2byte EC_POKEMON(LOUDRED)
+ .2byte EC_WORD_PROBABLY
+ .2byte EC_WORD_HAS
+ .2byte EC_WORD_A
+ .2byte EC_MOVE(SWEET_SCENT)
.2byte -1
@ win speech
- ec_word THAT_S
- ec_word THE
- ec_word FEELING
- ec_word THAT
- ec_word I
- ec_word GET
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_FEELING
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_GET
@ loss speech
- ec_word I
- ec_word WORK
- ec_word AT
- ec_word THE
- ec_word DEPT_STORE
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WORK
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_DEPT_STORE
.2byte -1
.4byte gBattleFrontierTrainerMons_Sofia
@@ -3644,51 +3644,51 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_COOLTRAINER_1
.string "BRADEN$", 8
@ pre-battle speech
- ec_word I_CHOOSE_YOU
- ec_word EXCL
+ .2byte EC_WORD_I_CHOOSE_YOU
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word THIS_IS_IT_EXCL
+ .2byte EC_WORD_THIS_IS_IT_EXCL
.2byte -1
.2byte -1
@ win speech
- ec_word I_AM
- ec_word FEELING
- ec_word PRETTY
- ec_word AWESOME
- ec_word ABOUT
- ec_word MYSELF
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_FEELING
+ .2byte EC_WORD_PRETTY
+ .2byte EC_WORD_AWESOME
+ .2byte EC_WORD_ABOUT
+ .2byte EC_WORD_MYSELF
@ loss speech
- ec_word ALL_RIGHT
- ec_word EXCL
+ .2byte EC_WORD_ALL_RIGHT
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word I
- ec_word SURRENDER
- ec_word EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_SURRENDER
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Braden
@ 141
.4byte TRAINER_CLASS_COOLTRAINER_1
.string "KAYDEN$", 8
@ pre-battle speech
- ec_word THEY
- ec_word OVERDO
- ec_word THAT
- ec_word GOURMET
- ec_word THING
- ec_word ELLIPSIS
-@ win speech
- ec_word THAT
- ec_word GOURMET
- ec_word THING
- ec_word ISN_T
- ec_word FOR
- ec_word ME
-@ loss speech
- ec_word HEY
- ec_word THIS
- ec_word IS
- ec_word PRETTY
- ec_word TASTY
+ .2byte EC_WORD_THEY
+ .2byte EC_WORD_OVERDO
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_GOURMET
+ .2byte EC_WORD_THING
+ .2byte EC_WORD_ELLIPSIS
+@ win speech
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_GOURMET
+ .2byte EC_WORD_THING
+ .2byte EC_WORD_ISN_T
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_ME
+@ loss speech
+ .2byte EC_WORD_HEY
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_PRETTY
+ .2byte EC_WORD_TASTY
.2byte -1
.4byte gBattleFrontierTrainerMons_Kayden
@@ -3696,259 +3696,259 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_COOLTRAINER_1
.string "COOPER$", 8
@ pre-battle speech
- ec_word THIS
- ec_word SHOULD
- ec_word ABSOLUTELY
- ec_word BE
- ec_word A
- ec_word PUSHOVER
-@ win speech
- ec_word THAT_WAS
- ec_word TOO
- ec_word EXCITING
- ec_word FOR
- ec_word ME
- ec_word ELLIPSIS
-@ loss speech
- ec_word PLEASE
- ec_word EXCL
- .2byte -1
- ec_word SORRY
- ec_word I_AM
- ec_word SORRY
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_SHOULD
+ .2byte EC_WORD_ABSOLUTELY
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_PUSHOVER
+@ win speech
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_EXCITING
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_ELLIPSIS
+@ loss speech
+ .2byte EC_WORD_PLEASE
+ .2byte EC_WORD_EXCL
+ .2byte -1
+ .2byte EC_WORD_SORRY
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SORRY
.4byte gBattleFrontierTrainerMons_Cooper
@ 143
.4byte TRAINER_CLASS_COOLTRAINER_2
.string "JULIA$", 8
@ pre-battle speech
- ec_word SPIRIT
- ec_word ALONE
- ec_word WON_T
- ec_word MAKE
- ec_word YOU
- ec_word WIN
-@ win speech
- ec_word YOU
- ec_word SHOULD
- ec_word ACCEPT
- ec_word THIS
- ec_word WITH
- ec_word SERENE_GRACE
-@ loss speech
- ec_word FOR_NOW
- ec_word GOOD_BYE
- ec_word BUT
- ec_word IT_S
- ec_word NOT
- ec_word OVER
+ .2byte EC_WORD_SPIRIT
+ .2byte EC_WORD_ALONE
+ .2byte EC_WORD_WON_T
+ .2byte EC_WORD_MAKE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_WIN
+@ win speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_SHOULD
+ .2byte EC_WORD_ACCEPT
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_WITH
+ .2byte EC_WORD_SERENE_GRACE
+@ loss speech
+ .2byte EC_WORD_FOR_NOW
+ .2byte EC_WORD_GOOD_BYE
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_OVER
.4byte gBattleFrontierTrainerMons_Julia
@ 144
.4byte TRAINER_CLASS_COOLTRAINER_2
.string "AMARA$", 8
@ pre-battle speech
- ec_word WROOOAAR_EXCL
- ec_word EXCL_EXCL
- ec_word I_AM
- ec_word SO
- ec_word READY
- ec_word EXCL_EXCL
-@ win speech
- ec_word I
- ec_word LOSE
- ec_word MYSELF
- ec_word IF
- ec_word IT_S
- ec_word EXCITING
-@ loss speech
- ec_word THAT_S
- ec_word TOO
- ec_word MUCH
- ec_word TO
- ec_move2 TACKLE
- ec_word EXCL
+ .2byte EC_WORD_WROOOAAR_EXCL
+ .2byte EC_WORD_EXCL_EXCL
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_READY
+ .2byte EC_WORD_EXCL_EXCL
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_LOSE
+ .2byte EC_WORD_MYSELF
+ .2byte EC_WORD_IF
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_EXCITING
+@ loss speech
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_MUCH
+ .2byte EC_WORD_TO
+ .2byte EC_MOVE2(TACKLE)
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Amara
@ 145
.4byte TRAINER_CLASS_COOLTRAINER_2
.string "LYNN$", 8
@ pre-battle speech
- ec_word YOUR
- ec_word SECRET
- ec_word CAN_T
- ec_word BE
- ec_word HIDDEN
- ec_word FOREVER
-@ win speech
- ec_word I
- ec_word KNOW
- ec_word YOUR
- ec_word SECRET
- ec_word NOW
- ec_word EXCL
-@ loss speech
- ec_word YOU
- ec_word CAN_T
- ec_move1 SAFEGUARD
- ec_word YOUR
- ec_word OWN
- ec_word SECRET
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_SECRET
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_HIDDEN
+ .2byte EC_WORD_FOREVER
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_KNOW
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_SECRET
+ .2byte EC_WORD_NOW
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_CAN_T
+ .2byte EC_MOVE(SAFEGUARD)
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_OWN
+ .2byte EC_WORD_SECRET
.4byte gBattleFrontierTrainerMons_Lynn
@ 146
.4byte TRAINER_CLASS_PKMN_RANGER_1
.string "JOVAN$", 8
@ pre-battle speech
- ec_word YOUR
- ec_word BATTLE
- ec_word SENSE
- ec_word IS
- ec_word SADLY
- ec_word LACKING
-@ win speech
- ec_word MY
- ec_word BATTLE
- ec_word SENSE
- ec_word IS
- ec_word COOL
- ec_word ISN_T_IT_QUES
-@ loss speech
- ec_word I_WAS
- ec_word MINUS
- ec_word MY
- ec_word NORMAL
- ec_word POWER
- ec_word TODAY
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_SENSE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_SADLY
+ .2byte EC_WORD_LACKING
+@ win speech
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_SENSE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_COOL
+ .2byte EC_WORD_ISN_T_IT_QUES
+@ loss speech
+ .2byte EC_WORD_I_WAS
+ .2byte EC_WORD_MINUS
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_NORMAL
+ .2byte EC_WORD_POWER
+ .2byte EC_WORD_TODAY
.4byte gBattleFrontierTrainerMons_Jovan
@ 147
.4byte TRAINER_CLASS_PKMN_RANGER_1
.string "DOMINIC$", 8
@ pre-battle speech
- ec_word I
- ec_word HAVE
- ec_word THIS
- ec_word EXCELLENT
- ec_word CAMERA
+ .2byte EC_WORD_I
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_EXCELLENT
+ .2byte EC_WORD_CAMERA
.2byte -1
@ win speech
- ec_word MY
- ec_word CAMERA
- ec_word WAS
- ec_word AWFULLY
- ec_word EXPENSIVE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_CAMERA
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_AWFULLY
+ .2byte EC_WORD_EXPENSIVE
.2byte -1
@ loss speech
- ec_word MY
- ec_word CAMERA
- ec_word DOESN_T
- ec_word MISS
- ec_word A
- ec_word THING
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_CAMERA
+ .2byte EC_WORD_DOESN_T
+ .2byte EC_WORD_MISS
+ .2byte EC_WORD_A
+ .2byte EC_WORD_THING
.4byte gBattleFrontierTrainerMons_Dominic
@ 148
.4byte TRAINER_CLASS_PKMN_RANGER_1
.string "NIKOLAS$", 8
@ pre-battle speech
- ec_word I
- ec_move2 MIMIC
- ec_word POKEMON
- ec_word AFTER
- ec_word EVERY
- ec_word BATTLE
-@ win speech
- ec_word IF_I_WIN
- ec_word I
- ec_word PRETEND
- ec_word I_AM
- ec_word A
- ec_pokemon2 TAUROS
-@ loss speech
- ec_word IF_I_LOSE
- ec_word I
- ec_word PRETEND
- ec_word I_AM
- ec_word A
- ec_pokemon2 MILTANK
+ .2byte EC_WORD_I
+ .2byte EC_MOVE2(MIMIC)
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_AFTER
+ .2byte EC_WORD_EVERY
+ .2byte EC_WORD_BATTLE
+@ win speech
+ .2byte EC_WORD_IF_I_WIN
+ .2byte EC_WORD_I
+ .2byte EC_WORD_PRETEND
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_A
+ .2byte EC_POKEMON2(TAUROS)
+@ loss speech
+ .2byte EC_WORD_IF_I_LOSE
+ .2byte EC_WORD_I
+ .2byte EC_WORD_PRETEND
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_A
+ .2byte EC_POKEMON2(MILTANK)
.4byte gBattleFrontierTrainerMons_Nikolas
@ 149
.4byte TRAINER_CLASS_PKMN_RANGER_2
.string "VALERIA$", 8
@ pre-battle speech
- ec_word I
- ec_move2 WISH
- ec_word YOU
- ec_word WOULD
- ec_word NOT
- ec_move2 GLARE
-@ win speech
- ec_word YOU_RE
- ec_word MEAN
- ec_word EXCL
- ec_word I
- ec_word MEAN
- ec_word REALLY
-@ loss speech
- ec_word YOU
- ec_word HAVE
- ec_word A
- ec_word REALLY
- ec_move1 SCARY_FACE
- ec_word EXCL
+ .2byte EC_WORD_I
+ .2byte EC_MOVE2(WISH)
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_WOULD
+ .2byte EC_WORD_NOT
+ .2byte EC_MOVE2(GLARE)
+@ win speech
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_MEAN
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_MEAN
+ .2byte EC_WORD_REALLY
+@ loss speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_REALLY
+ .2byte EC_MOVE(SCARY_FACE)
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Valeria
@ 150
.4byte TRAINER_CLASS_PKMN_RANGER_2
.string "DELANEY$", 8
@ pre-battle speech
- ec_word SCHOOL
- ec_word IS
- ec_word OVER
- ec_word TIME
- ec_word TO
- ec_word PLAY
-@ win speech
- ec_word MY
- ec_word BOY
- ec_word FRIEND
- ec_word IS
- ec_word FROM
- ec_word SCHOOL
-@ loss speech
- ec_word I
- ec_word HAVE
- ec_word TO
- ec_word WORK
- ec_word NEXT
- ec_word WEEK
+ .2byte EC_WORD_SCHOOL
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_OVER
+ .2byte EC_WORD_TIME
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_PLAY
+@ win speech
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_BOY
+ .2byte EC_WORD_FRIEND
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_FROM
+ .2byte EC_WORD_SCHOOL
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_WORK
+ .2byte EC_WORD_NEXT
+ .2byte EC_WORD_WEEK
.4byte gBattleFrontierTrainerMons_Delaney
@ 151
.4byte TRAINER_CLASS_PKMN_RANGER_2
.string "MEGHAN$", 8
@ pre-battle speech
- ec_word SCHOOL
- ec_word IS
- ec_word OUT
- ec_word TIME
- ec_word TO
- ec_word PLAY
+ .2byte EC_WORD_SCHOOL
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_OUT
+ .2byte EC_WORD_TIME
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_PLAY
@ win speech
- ec_word MY
- ec_word BOY
- ec_word FRIEND
- ec_word LIKES
- ec_word COMICS
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_BOY
+ .2byte EC_WORD_FRIEND
+ .2byte EC_WORD_LIKES
+ .2byte EC_WORD_COMICS
.2byte -1
@ loss speech
- ec_word IT_S
- ec_word BACK
- ec_word TO
- ec_word SCHOOL
- ec_word SOON
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_BACK
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_SCHOOL
+ .2byte EC_WORD_SOON
.2byte -1
.4byte gBattleFrontierTrainerMons_Meghan
@@ -3956,25 +3956,25 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_DRAGON_TAMER
.string "ROBERTO$", 8
@ pre-battle speech
- ec_word DRAGON
- ec_word POKEMON
- ec_word ARE
- ec_word INVINCIBLE
- ec_word EXCL
+ .2byte EC_WORD_DRAGON
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_INVINCIBLE
+ .2byte EC_WORD_EXCL
.2byte -1
@ win speech
- ec_word YOU
- ec_word WEREN_T
- ec_word BAD
- ec_word I_WAS
- ec_word JUST
- ec_word BETTER
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_WEREN_T
+ .2byte EC_WORD_BAD
+ .2byte EC_WORD_I_WAS
+ .2byte EC_WORD_JUST
+ .2byte EC_WORD_BETTER
@ loss speech
- ec_word AREN_T
- ec_word YOU
- ec_word SATISFIED
- ec_word YET
- ec_word QUES
+ .2byte EC_WORD_AREN_T
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_SATISFIED
+ .2byte EC_WORD_YET
+ .2byte EC_WORD_QUES
.2byte -1
.4byte gBattleFrontierTrainerMons_Roberto
@@ -3982,25 +3982,25 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_DRAGON_TAMER
.string "DAMIAN$", 8
@ pre-battle speech
- ec_word MY
- ec_word PURE_POWER
- ec_word IS
- ec_word MACHINE
- ec_word LIKE
- ec_word EXCL
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_PURE_POWER
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_MACHINE
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_EXCL
@ win speech
- ec_word MY
- ec_move2 MACH_PUNCH
- ec_word WILL
- ec_word MAKE
- ec_word A
- ec_move1 BRICK_BREAK
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(MACH_PUNCH)
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_MAKE
+ .2byte EC_WORD_A
+ .2byte EC_MOVE(BRICK_BREAK)
@ loss speech
- ec_word ARRGH
- ec_word EXCL
+ .2byte EC_WORD_ARRGH
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word NO
- ec_word EXCL_EXCL
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
.4byte gBattleFrontierTrainerMons_Damian
@@ -4008,103 +4008,103 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_DRAGON_TAMER
.string "BRODY$", 8
@ pre-battle speech
- ec_word MY
- ec_word FASHION
- ec_word SENSE
- ec_word SEEMS
- ec_pokemon1 ODDISH
- ec_word QUES
-@ win speech
- ec_word IT_S
- ec_word MY
- ec_word FAMILY
- ec_word STAY_AT_HOME
- ec_word LOOK
- ec_word EXCL
-@ loss speech
- ec_word I
- ec_word QUESTION
- ec_word YOUR
- ec_word FASHION
- ec_word SENSE
- ec_word SERIOUSLY
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_FASHION
+ .2byte EC_WORD_SENSE
+ .2byte EC_WORD_SEEMS
+ .2byte EC_POKEMON(ODDISH)
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_FAMILY
+ .2byte EC_WORD_STAY_AT_HOME
+ .2byte EC_WORD_LOOK
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_QUESTION
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_FASHION
+ .2byte EC_WORD_SENSE
+ .2byte EC_WORD_SERIOUSLY
.4byte gBattleFrontierTrainerMons_Brody
@ 155
.4byte TRAINER_CLASS_DRAGON_TAMER
.string "GRAHAM$", 8
@ pre-battle speech
- ec_word YEAH
- ec_word EXCL
+ .2byte EC_WORD_YEAH
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word YEAH_YEAH
- ec_word EXCL_EXCL
+ .2byte EC_WORD_YEAH_YEAH
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
@ win speech
- ec_word WAHAHAHA
- ec_word WAHAHAHA
- ec_word EXCL
- ec_word WAHAHAHA
- ec_word WAHAHAHA
- ec_word EXCL_EXCL
+ .2byte EC_WORD_WAHAHAHA
+ .2byte EC_WORD_WAHAHAHA
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_WAHAHAHA
+ .2byte EC_WORD_WAHAHAHA
+ .2byte EC_WORD_EXCL_EXCL
@ loss speech
- ec_word I_AM
- ec_word SORRY
- ec_word ELLIPSIS
- ec_word IT_S
- ec_word MY
- ec_word BAD
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SORRY
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_BAD
.4byte gBattleFrontierTrainerMons_Graham
@ 156
.4byte TRAINER_CLASS_POKEFAN_1
.string "TYLOR$", 8
@ pre-battle speech
- ec_word ARE
- ec_word YOU
- ec_word FEELING
- ec_word MY
- ec_move2 HEAT_WAVE
- ec_word QUES
-@ win speech
- ec_word YES
- ec_word I_AM
- ec_word ON
- ec_word FIRE
- ec_word EXCL
- .2byte -1
-@ loss speech
- ec_word BUT
- ec_word I_WAS
- ec_word ON
- ec_word FIRE
- ec_word FOR
- ec_word YOU
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_FEELING
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(HEAT_WAVE)
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_YES
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_FIRE
+ .2byte EC_WORD_EXCL
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_I_WAS
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_FIRE
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_YOU
.4byte gBattleFrontierTrainerMons_Tylor
@ 157
.4byte TRAINER_CLASS_POKEFAN_2
.string "JAREN$", 8
@ pre-battle speech
- ec_word FIGHTING
- ec_word SPIRIT
- ec_word QUES
- ec_word ME
- ec_word QUES
+ .2byte EC_WORD_FIGHTING
+ .2byte EC_WORD_SPIRIT
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_QUES
.2byte -1
@ win speech
- ec_word I
- ec_word WANT
- ec_word MORE
- ec_word CUTE
- ec_word POKEMON
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_MORE
+ .2byte EC_WORD_CUTE
+ .2byte EC_WORD_POKEMON
.2byte -1
@ loss speech
- ec_word YOUR
- ec_word POKEMON
- ec_word LOOK
- ec_word QUITE
- ec_word CUTE
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_LOOK
+ .2byte EC_WORD_QUITE
+ .2byte EC_WORD_CUTE
.2byte -1
.4byte gBattleFrontierTrainerMons_Jaren
@@ -4112,389 +4112,389 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_PKMN_BREEDER_2
.string "CORDELL$", 8
@ pre-battle speech
- ec_word A
- ec_word BATTLE
- ec_word IS
- ec_word DECIDED
- ec_word ON
- ec_word SPIRIT
-@ win speech
- ec_word CAN_T
- ec_word YOU
- ec_word ACCEPT
- ec_word THAT
- ec_word QUES
- .2byte -1
-@ loss speech
- ec_word I
- ec_word WILL
- ec_word BE
- ec_word ON
- ec_word MY
- ec_word WAY
+ .2byte EC_WORD_A
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_DECIDED
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_SPIRIT
+@ win speech
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_ACCEPT
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_QUES
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_WAY
.4byte gBattleFrontierTrainerMons_Cordell
@ 159
.4byte TRAINER_CLASS_PKMN_BREEDER_1
.string "JAZLYN$", 8
@ pre-battle speech
- ec_word IS
- ec_word YOUR
- ec_word POKEDEX
- ec_word REALLY
- ec_word AWESOME
- ec_word QUES
-@ win speech
- ec_word OH_YEAH
- ec_word WOW
- ec_word YOUR
- ec_word POKEDEX
- ec_word IS
- ec_word SUPER
-@ loss speech
- ec_word AN
- ec_word AVANT_GARDE
- ec_word POKEDEX
- ec_word WOULD
- ec_word BE
- ec_word AWESOME
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_POKEDEX
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_AWESOME
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_OH_YEAH
+ .2byte EC_WORD_WOW
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_POKEDEX
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_SUPER
+@ loss speech
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_AVANT_GARDE
+ .2byte EC_WORD_POKEDEX
+ .2byte EC_WORD_WOULD
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_AWESOME
.4byte gBattleFrontierTrainerMons_Jazlyn
@ 160
.4byte TRAINER_CLASS_YOUNGSTER
.string "ZACHERY$", 8
@ pre-battle speech
- ec_word I
- ec_word HAVE
- ec_word MY
- ec_word OWN
- ec_word PLACE
- ec_word YEEHAW_EXCL
-@ win speech
- ec_word IT_S
- ec_word AN
- ec_word EXCITING
- ec_word TIME
- ec_word FOR
- ec_word ME
-@ loss speech
- ec_word YOU
- ec_word CAN_T
- ec_word FLATTEN
- ec_word MY
- ec_word HAPPINESS
- ec_word EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_OWN
+ .2byte EC_WORD_PLACE
+ .2byte EC_WORD_YEEHAW_EXCL
+@ win speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_EXCITING
+ .2byte EC_WORD_TIME
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_ME
+@ loss speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_FLATTEN
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_HAPPINESS
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Zachery
@ 161
.4byte TRAINER_CLASS_YOUNGSTER
.string "JOHAN$", 8
@ pre-battle speech
- ec_word WINTER
- ec_word WILL
- ec_word SOON
- ec_word BE
- ec_word HERE
- .2byte -1
-@ win speech
- ec_word MY
- ec_word ALLOWANCE
- ec_word COULD
- ec_word USE
- ec_word A
- ec_move2 HELPING_HAND
-@ loss speech
- ec_word I
- ec_word ALWAYS
- ec_word USE
- ec_word MY
- ec_word ALLOWANCE
- ec_word UP
+ .2byte EC_WORD_WINTER
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_SOON
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_HERE
+ .2byte -1
+@ win speech
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_ALLOWANCE
+ .2byte EC_WORD_COULD
+ .2byte EC_WORD_USE
+ .2byte EC_WORD_A
+ .2byte EC_MOVE2(HELPING_HAND)
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_ALWAYS
+ .2byte EC_WORD_USE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_ALLOWANCE
+ .2byte EC_WORD_UP
.4byte gBattleFrontierTrainerMons_Johan
@ 162
.4byte TRAINER_CLASS_LASS
.string "SHEA$", 8
@ pre-battle speech
- ec_word DO
- ec_word YOU
- ec_word BATTLE
- ec_word WITH
- ec_word BEAUTY
- ec_word QUES
-@ win speech
- ec_word YOU
- ec_word BATTLE
- ec_word IN
- ec_word AN
- ec_word UGLY
- ec_word WAY
-@ loss speech
- ec_word WHAT
- ec_word IS
- ec_word BEAUTY
- ec_word TO
- ec_word YOU
- ec_word QUES
+ .2byte EC_WORD_DO
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_WITH
+ .2byte EC_WORD_BEAUTY
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_UGLY
+ .2byte EC_WORD_WAY
+@ loss speech
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_BEAUTY
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Shea
@ 163
.4byte TRAINER_CLASS_LASS
.string "KAILA$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word FEELING
- ec_word THIRSTY
- ec_word RIGHT
- ec_word NOW
- ec_word ELLIPSIS
-@ win speech
- ec_word I
- ec_word COULD
- ec_word USE
- ec_word A
- ec_word COLD
- ec_word DRINK
-@ loss speech
- ec_word THAT
- ec_word LOSS
- ec_word IS
- ec_word HARD
- ec_word TO
- ec_move2 SWALLOW
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_FEELING
+ .2byte EC_WORD_THIRSTY
+ .2byte EC_WORD_RIGHT
+ .2byte EC_WORD_NOW
+ .2byte EC_WORD_ELLIPSIS
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_COULD
+ .2byte EC_WORD_USE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_COLD
+ .2byte EC_WORD_DRINK
+@ loss speech
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_LOSS
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_HARD
+ .2byte EC_WORD_TO
+ .2byte EC_MOVE2(SWALLOW)
.4byte gBattleFrontierTrainerMons_Kaila
@ 164
.4byte TRAINER_CLASS_SCHOOL_KID_1
.string "ISIAH$", 8
@ pre-battle speech
- ec_word I
- ec_word PRETEND
- ec_word TO
- ec_word STUDY
- ec_word A_LOT
- .2byte -1
-@ win speech
- ec_word I
- ec_move2 TRICK
- ec_word MOTHER
- ec_word FOR
- ec_word MY
- ec_word ALLOWANCE
-@ loss speech
- ec_word I
- ec_word DON_T
- ec_word WANT
- ec_word TO
- ec_word STUDY
- ec_word MORE
+ .2byte EC_WORD_I
+ .2byte EC_WORD_PRETEND
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_STUDY
+ .2byte EC_WORD_A_LOT
+ .2byte -1
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_MOVE2(TRICK)
+ .2byte EC_WORD_MOTHER
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_ALLOWANCE
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_STUDY
+ .2byte EC_WORD_MORE
.4byte gBattleFrontierTrainerMons_Isiah
@ 165
.4byte TRAINER_CLASS_SCHOOL_KID_1
.string "GARRETT$", 8
@ pre-battle speech
- ec_word I
- ec_word ENJOY
- ec_word COMICS
- ec_word AND
- ec_word THIS
- ec_word GAME
-@ win speech
- ec_word I
- ec_word LIKE
- ec_word THIS
- ec_word MUSIC
- ec_word IDOL
- ec_word TOO
-@ loss speech
- ec_word BUT
- ec_word I
- ec_word HAVE
- ec_word TO
- ec_word STUDY
- ec_word MORE
+ .2byte EC_WORD_I
+ .2byte EC_WORD_ENJOY
+ .2byte EC_WORD_COMICS
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_GAME
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_MUSIC
+ .2byte EC_WORD_IDOL
+ .2byte EC_WORD_TOO
+@ loss speech
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_STUDY
+ .2byte EC_WORD_MORE
.4byte gBattleFrontierTrainerMons_Garrett
@ 166
.4byte TRAINER_CLASS_SCHOOL_KID_2
.string "HAYLIE$", 8
@ pre-battle speech
- ec_word I
- ec_word WORRY
- ec_word TOO
- ec_word MUCH
- ec_word TO
- ec_word SLEEP
-@ win speech
- ec_word A
- ec_word WIN
- ec_word GIVES
- ec_word ME
- ec_word A
- ec_move2 CALM_MIND
-@ loss speech
- ec_word MY
- ec_word INSOMNIA
- ec_word WILL
- ec_word GET
- ec_word BAD
- ec_word ELLIPSIS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WORRY
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_MUCH
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_SLEEP
+@ win speech
+ .2byte EC_WORD_A
+ .2byte EC_WORD_WIN
+ .2byte EC_WORD_GIVES
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_A
+ .2byte EC_MOVE2(CALM_MIND)
+@ loss speech
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_INSOMNIA
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_BAD
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Haylie
@ 167
.4byte TRAINER_CLASS_SCHOOL_KID_2
.string "MEGAN$", 8
@ pre-battle speech
- ec_word I
- ec_word BELIEVE
- ec_word IN
- ec_word AN
- ec_move1 AROMATHERAPY
- ec_word BATH
-@ win speech
- ec_word I
- ec_word WANT
- ec_word A
- ec_word HEALTHY
- ec_word CLEAR_BODY
- .2byte -1
-@ loss speech
- ec_word IF
- ec_word ONLY
- ec_move1 AROMATHERAPY
- ec_word WERE
- ec_word LESS
- ec_word EXPENSIVE
+ .2byte EC_WORD_I
+ .2byte EC_WORD_BELIEVE
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_AN
+ .2byte EC_MOVE(AROMATHERAPY)
+ .2byte EC_WORD_BATH
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_A
+ .2byte EC_WORD_HEALTHY
+ .2byte EC_WORD_CLEAR_BODY
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_IF
+ .2byte EC_WORD_ONLY
+ .2byte EC_MOVE(AROMATHERAPY)
+ .2byte EC_WORD_WERE
+ .2byte EC_WORD_LESS
+ .2byte EC_WORD_EXPENSIVE
.4byte gBattleFrontierTrainerMons_Megan
@ 168
.4byte TRAINER_CLASS_RICH_BOY
.string "ISSAC$", 8
@ pre-battle speech
- ec_word MY
- ec_word HOBBY
- ec_word QUES
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_HOBBY
+ .2byte EC_WORD_QUES
.2byte -1
.2byte -1
.2byte -1
@ win speech
- ec_word I
- ec_word LIKE
- ec_word ANY
- ec_word KIND
- ec_word OF
- ec_move2 WATER_SPORT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_ANY
+ .2byte EC_WORD_KIND
+ .2byte EC_WORD_OF
+ .2byte EC_MOVE2(WATER_SPORT)
@ loss speech
- ec_word I
- ec_word DISLIKE
- ec_word ANY
- ec_word KIND
- ec_word OF
- ec_move2 MUD_SPORT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DISLIKE
+ .2byte EC_WORD_ANY
+ .2byte EC_WORD_KIND
+ .2byte EC_WORD_OF
+ .2byte EC_MOVE2(MUD_SPORT)
.4byte gBattleFrontierTrainerMons_Issac
@ 169
.4byte TRAINER_CLASS_RICH_BOY
.string "QUINTON$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word SAD
- ec_word CAUSE
- ec_word I_AM
- ec_word TOO_WEAK
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SAD
+ .2byte EC_WORD_CAUSE
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_TOO_WEAK
.2byte -1
@ win speech
- ec_word YOU
- ec_word AREN_T
- ec_word TOO_STRONG
- ec_word FOR
- ec_word ME
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_AREN_T
+ .2byte EC_WORD_TOO_STRONG
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_ME
.2byte -1
@ loss speech
- ec_word HEY
- ec_word WHAT
- ec_word DID
- ec_word I
- ec_word DO
- ec_word QUES
+ .2byte EC_WORD_HEY
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_DID
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DO
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Quinton
@ 170
.4byte TRAINER_CLASS_LADY
.string "SALMA$", 8
@ pre-battle speech
- ec_word YOU_VE
- ec_word GOT
- ec_word YOUR
- ec_word HUSTLE
- ec_word ON
- ec_word EXCL
-@ win speech
- ec_word I
- ec_word WIN
- ec_word YOU
- ec_word HUSTLE
- ec_word ON
- ec_word OUT
-@ loss speech
- ec_word I
- ec_word DON_T
- ec_word GET
- ec_word HOW
- ec_word I
- ec_word LOST
+ .2byte EC_WORD_YOU_VE
+ .2byte EC_WORD_GOT
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_HUSTLE
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WIN
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_HUSTLE
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_OUT
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_I
+ .2byte EC_WORD_LOST
.4byte gBattleFrontierTrainerMons_Salma
@ 171
.4byte TRAINER_CLASS_LADY
.string "ANSLEY$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word BORED
- ec_word ELLIPSIS
- ec_word DANCE
- ec_word FOR
- ec_word ME
-@ win speech
- ec_word YOU_VE
- ec_word BORED
- ec_word ME
- ec_word SOME
- ec_word MORE
- .2byte -1
-@ loss speech
- ec_word TAKE
- ec_word YOUR
- ec_move2 FRUSTRATION
- ec_word SOME
- ec_word OTHER
- ec_word PLACE
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_BORED
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_DANCE
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_ME
+@ win speech
+ .2byte EC_WORD_YOU_VE
+ .2byte EC_WORD_BORED
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_SOME
+ .2byte EC_WORD_MORE
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_TAKE
+ .2byte EC_WORD_YOUR
+ .2byte EC_MOVE2(FRUSTRATION)
+ .2byte EC_WORD_SOME
+ .2byte EC_WORD_OTHER
+ .2byte EC_WORD_PLACE
.4byte gBattleFrontierTrainerMons_Ansley
@ 172
.4byte TRAINER_CLASS_BUG_CATCHER
.string "HOLDEN$", 8
@ pre-battle speech
- ec_word LET_S
- ec_word COMMEMORATE
- ec_word MY
- ec_word COOLNESS
- ec_word IN
- ec_word BATTLE
+ .2byte EC_WORD_LET_S
+ .2byte EC_WORD_COMMEMORATE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_COOLNESS
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_BATTLE
@ win speech
- ec_word YOU_RE
- ec_word TOO_WEAK
- ec_word FOR
- ec_word ANY
- ec_word PRAISE
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_TOO_WEAK
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_ANY
+ .2byte EC_WORD_PRAISE
.2byte -1
@ loss speech
- ec_word YOUR
- ec_word BATTLE
- ec_word SENSE
- ec_word IS
- ec_word AMUSING
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_SENSE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_AMUSING
.2byte -1
.4byte gBattleFrontierTrainerMons_Holden
@@ -4502,103 +4502,103 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_BUG_CATCHER
.string "LUCA$", 8
@ pre-battle speech
- ec_word WE
- ec_word WILL
- ec_word HAVE
- ec_word A
- ec_word COOL
- ec_word BATTLE
-@ win speech
- ec_word I
- ec_word WON
- ec_word IN
- ec_word A
- ec_word COOL
- ec_word WAY
-@ loss speech
- ec_word HELLO
- ec_word QUES
- ec_word I_AM
- ec_word JUST
- ec_word A
- ec_word KID
+ .2byte EC_WORD_WE
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_COOL
+ .2byte EC_WORD_BATTLE
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WON
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_A
+ .2byte EC_WORD_COOL
+ .2byte EC_WORD_WAY
+@ loss speech
+ .2byte EC_WORD_HELLO
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_JUST
+ .2byte EC_WORD_A
+ .2byte EC_WORD_KID
.4byte gBattleFrontierTrainerMons_Luca
@ 174
.4byte TRAINER_CLASS_NINJA_BOY
.string "JAMISON$", 8
@ pre-battle speech
- ec_word MY
- ec_move2 SECRET_POWER
- ec_word IS
- ec_word OVERWHELMING
- ec_word TO
- ec_word POKEMON
-@ win speech
- ec_word DID
- ec_word YOU
- ec_word SEE
- ec_word THAT
- ec_word QUES
- .2byte -1
-@ loss speech
- ec_word I
- ec_word WILL
- ec_word USE
- ec_move1 SMOKESCREEN
- ec_word TO
- ec_word ESCAPE
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(SECRET_POWER)
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_OVERWHELMING
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_POKEMON
+@ win speech
+ .2byte EC_WORD_DID
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_QUES
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_USE
+ .2byte EC_MOVE(SMOKESCREEN)
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_ESCAPE
.4byte gBattleFrontierTrainerMons_Jamison
@ 175
.4byte TRAINER_CLASS_NINJA_BOY
.string "GUNNAR$", 8
@ pre-battle speech
- ec_word I
- ec_move1 CUT
- ec_word DOWN
- ec_word EVERY
- ec_word OPPONENT
- .2byte -1
-@ win speech
- ec_word DON_T
- ec_move1 GRUDGE
- ec_word ME
- ec_word FOR
- ec_word YOUR
- ec_word LOSS
-@ loss speech
- ec_word PLEASE
- ec_word LOSE
- ec_word THAT
- ec_move1 SCARY_FACE
- ec_word OF
- ec_word YOURS
+ .2byte EC_WORD_I
+ .2byte EC_MOVE(CUT)
+ .2byte EC_WORD_DOWN
+ .2byte EC_WORD_EVERY
+ .2byte EC_WORD_OPPONENT
+ .2byte -1
+@ win speech
+ .2byte EC_WORD_DON_T
+ .2byte EC_MOVE(GRUDGE)
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_LOSS
+@ loss speech
+ .2byte EC_WORD_PLEASE
+ .2byte EC_WORD_LOSE
+ .2byte EC_WORD_THAT
+ .2byte EC_MOVE(SCARY_FACE)
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_YOURS
.4byte gBattleFrontierTrainerMons_Gunnar
@ 176
.4byte TRAINER_CLASS_TUBER_2
.string "CRAIG$", 8
@ pre-battle speech
- ec_word I
- ec_word CAN_T
- ec_word WAIT
- ec_word FOR
- ec_word MY
- ec_word TRAIN
-@ win speech
- ec_word MY
- ec_word TRAIN
- ec_word ISN_T
- ec_word HERE
- ec_word YET
- ec_word ELLIPSIS
-@ loss speech
- ec_word HERE_IT_IS
- ec_word MY
- ec_word TRAIN
- ec_word SEE_YA
- ec_word EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_WAIT
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_TRAIN
+@ win speech
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_TRAIN
+ .2byte EC_WORD_ISN_T
+ .2byte EC_WORD_HERE
+ .2byte EC_WORD_YET
+ .2byte EC_WORD_ELLIPSIS
+@ loss speech
+ .2byte EC_WORD_HERE_IT_IS
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_TRAIN
+ .2byte EC_WORD_SEE_YA
+ .2byte EC_WORD_EXCL
.2byte -1
.4byte gBattleFrontierTrainerMons_Craig
@@ -4606,25 +4606,25 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_TUBER_2
.string "PIERCE$", 8
@ pre-battle speech
- ec_word THERE
- ec_word WAS
- ec_word A
- ec_move2 HEAT_WAVE
- ec_word LAST
- ec_word WEEK
+ .2byte EC_WORD_THERE
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_A
+ .2byte EC_MOVE2(HEAT_WAVE)
+ .2byte EC_WORD_LAST
+ .2byte EC_WORD_WEEK
@ win speech
- ec_word I
- ec_word CAN_T
- ec_word TAKE
- ec_word A
- ec_move2 HEAT_WAVE
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_TAKE
+ .2byte EC_WORD_A
+ .2byte EC_MOVE2(HEAT_WAVE)
.2byte -1
@ loss speech
- ec_word DIDN_T
- ec_word IT
- ec_move1 HAIL
- ec_word TOO
- ec_word QUES
+ .2byte EC_WORD_DIDN_T
+ .2byte EC_WORD_IT
+ .2byte EC_MOVE(HAIL)
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_QUES
.2byte -1
.4byte gBattleFrontierTrainerMons_Pierce
@@ -4632,155 +4632,155 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_TUBER_1
.string "REGINA$", 8
@ pre-battle speech
- ec_word I
- ec_word LIKE
- ec_word TO
- ec_word PLAY
- ec_word IN
- ec_word WATER
-@ win speech
- ec_word I
- ec_word REFUSE
- ec_word TO
- ec_word COME
- ec_word OUT
- .2byte -1
-@ loss speech
- ec_word YOU_RE
- ec_word NOT
- ec_word MUCH
- ec_word GOOD
- ec_word IN
- ec_word WATER
+ .2byte EC_WORD_I
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_PLAY
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_WATER
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_REFUSE
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_COME
+ .2byte EC_WORD_OUT
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_MUCH
+ .2byte EC_WORD_GOOD
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_WATER
.4byte gBattleFrontierTrainerMons_Regina
@ 179
.4byte TRAINER_CLASS_TUBER_1
.string "ALISON$", 8
@ pre-battle speech
- ec_word THIS
- ec_word KINDERGARTEN
- ec_word MAGAZINE
- ec_word IS
- ec_word TOO
- ec_word MUCH
-@ win speech
- ec_word HOW
- ec_word TO
- ec_word BUG
- ec_word YOUR
- ec_word TEACHER
- ec_word QUES
-@ loss speech
- ec_word ENJOY
- ec_word A
- ec_word TASTY
- ec_word SCHOOL
- ec_word DIET
- ec_word QUES
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_KINDERGARTEN
+ .2byte EC_WORD_MAGAZINE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_MUCH
+@ win speech
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_BUG
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_TEACHER
+ .2byte EC_WORD_QUES
+@ loss speech
+ .2byte EC_WORD_ENJOY
+ .2byte EC_WORD_A
+ .2byte EC_WORD_TASTY
+ .2byte EC_WORD_SCHOOL
+ .2byte EC_WORD_DIET
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Alison
@ 180
.4byte TRAINER_CLASS_BUG_MANIAC
.string "HANK$", 8
@ pre-battle speech
- ec_word THERE
- ec_word IS
- ec_word A
- ec_word BUG
- ec_word EVENT
- ec_word SOON
-@ win speech
- ec_word IT_S
- ec_word A
- ec_word BUG
- ec_word FASHION
- ec_word SHOW
- ec_word EXCL
-@ loss speech
- ec_word DON_T
- ec_word YOU
- ec_word LIKE
- ec_word BUG
- ec_word POKEMON
- ec_word QUES
+ .2byte EC_WORD_THERE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_A
+ .2byte EC_WORD_BUG
+ .2byte EC_WORD_EVENT
+ .2byte EC_WORD_SOON
+@ win speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_A
+ .2byte EC_WORD_BUG
+ .2byte EC_WORD_FASHION
+ .2byte EC_WORD_SHOW
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_BUG
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Hank
@ 181
.4byte TRAINER_CLASS_BUG_MANIAC
.string "EARL$", 8
@ pre-battle speech
- ec_word THE
- ec_word INVINCIBLE
- ec_word BUG
- ec_word TRAINER
- ec_word IS
- ec_word HERE
-@ win speech
- ec_word THE
- ec_word INVINCIBLE
- ec_word BUG
- ec_word TRAINER
- ec_word AM
- ec_word I
-@ loss speech
- ec_word SEE
- ec_word HOW
- ec_word FAST
- ec_word I
- ec_word RUN_AWAY
- ec_word EXCL
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_INVINCIBLE
+ .2byte EC_WORD_BUG
+ .2byte EC_WORD_TRAINER
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_HERE
+@ win speech
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_INVINCIBLE
+ .2byte EC_WORD_BUG
+ .2byte EC_WORD_TRAINER
+ .2byte EC_WORD_AM
+ .2byte EC_WORD_I
+@ loss speech
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_FAST
+ .2byte EC_WORD_I
+ .2byte EC_WORD_RUN_AWAY
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Earl
@ 182
.4byte TRAINER_CLASS_FISHERMAN
.string "RAMIRO$", 8
@ pre-battle speech
- ec_word I
- ec_word WENT
- ec_word TO
- ec_word A
- ec_word FISHING
- ec_word SCHOOL
-@ win speech
- ec_word SERIOUSLY
- ec_word I_AM
- ec_word IN
- ec_word THE
- ec_word FISHING
- ec_word HALL_OF_FAME
-@ loss speech
- ec_word I
- ec_word WANT
- ec_word TO
- ec_word GO
- ec_word BACK
- ec_word ELLIPSIS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WENT
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_A
+ .2byte EC_WORD_FISHING
+ .2byte EC_WORD_SCHOOL
+@ win speech
+ .2byte EC_WORD_SERIOUSLY
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_FISHING
+ .2byte EC_WORD_HALL_OF_FAME
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_BACK
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Ramiro
@ 183
.4byte TRAINER_CLASS_FISHERMAN
.string "HUNTER$", 8
@ pre-battle speech
- ec_word SHOW
- ec_word ME
- ec_word A
- ec_word TOTALLY
- ec_word COOL
- ec_move1 CROSS_CHOP
-@ win speech
- ec_word YOU_RE
- ec_word TOO_WEAK
- ec_word TO
- ec_word DO
- ec_word A
- ec_move1 CROSS_CHOP
-@ loss speech
- ec_word WAS
- ec_word IT
- ec_word A
- ec_word MISTAKE
- ec_word QUES
+ .2byte EC_WORD_SHOW
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_A
+ .2byte EC_WORD_TOTALLY
+ .2byte EC_WORD_COOL
+ .2byte EC_MOVE(CROSS_CHOP)
+@ win speech
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_TOO_WEAK
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_DO
+ .2byte EC_WORD_A
+ .2byte EC_MOVE(CROSS_CHOP)
+@ loss speech
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_IT
+ .2byte EC_WORD_A
+ .2byte EC_WORD_MISTAKE
+ .2byte EC_WORD_QUES
.2byte -1
.4byte gBattleFrontierTrainerMons_Hunter
@@ -4788,103 +4788,103 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_RUIN_MANIAC
.string "AIDEN$", 8
@ pre-battle speech
- ec_word MY
- ec_word WORK
- ec_word IS
- ec_word MAKING
- ec_word ME
- ec_word HEALTHY
-@ win speech
- ec_word YOU
- ec_word SEE
- ec_word QUES
- ec_word I_AM
- ec_word HEALTHY
- ec_word EXCL
-@ loss speech
- ec_word YOU_RE
- ec_word MORE
- ec_word HEALTHY
- ec_word THAN
- ec_word I_AM
- ec_word ELLIPSIS
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_WORK
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_MAKING
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_HEALTHY
+@ win speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_HEALTHY
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_MORE
+ .2byte EC_WORD_HEALTHY
+ .2byte EC_WORD_THAN
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Aiden
@ 185
.4byte TRAINER_CLASS_RUIN_MANIAC
.string "XAVIER$", 8
@ pre-battle speech
- ec_word HEY_THERE
- ec_word EXCL
+ .2byte EC_WORD_HEY_THERE
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word LOOK
- ec_word LOOK
- ec_word EXCL_EXCL
+ .2byte EC_WORD_LOOK
+ .2byte EC_WORD_LOOK
+ .2byte EC_WORD_EXCL_EXCL
@ win speech
- ec_word GOOD_BYE
- ec_word AND
- ec_word THANK_YOU
- ec_word THAT_WAS
- ec_word FUNNY
+ .2byte EC_WORD_GOOD_BYE
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_THANK_YOU
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_FUNNY
.2byte -1
@ loss speech
- ec_word WOWEE
- ec_word EXCL
+ .2byte EC_WORD_WOWEE
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word NO
- ec_word NO
- ec_word EXCL_EXCL
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_EXCL_EXCL
.4byte gBattleFrontierTrainerMons_Xavier
@ 186
.4byte TRAINER_CLASS_COLLECTOR
.string "CLINTON$", 8
@ pre-battle speech
- ec_word WANT
- ec_word TO
- ec_word SEE
- ec_word MY
- ec_move1 HYPNOSIS
- ec_word QUES
-@ win speech
- ec_word YOUR
- ec_move2 FURY_SWIPES
- ec_word YOUR
- ec_move1 STRENGTH
- ec_word YOUNG
- ec_word TRAINER
-@ loss speech
- ec_word TCH
- ec_word ELLIPSIS
- .2byte -1
- ec_word I_AM
- ec_word TOO_WEAK
- ec_word ELLIPSIS
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE(HYPNOSIS)
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_YOUR
+ .2byte EC_MOVE2(FURY_SWIPES)
+ .2byte EC_WORD_YOUR
+ .2byte EC_MOVE(STRENGTH)
+ .2byte EC_WORD_YOUNG
+ .2byte EC_WORD_TRAINER
+@ loss speech
+ .2byte EC_WORD_TCH
+ .2byte EC_WORD_ELLIPSIS
+ .2byte -1
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_TOO_WEAK
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Clinton
@ 187
.4byte TRAINER_CLASS_COLLECTOR
.string "JESSE$", 8
@ pre-battle speech
- ec_word THIS
- ec_word BATTLE
- ec_word IS
- ec_word FOR
- ec_word MY
- ec_word MOTHER
-@ win speech
- ec_word MOTHER
- ec_word WILL
- ec_word BE
- ec_word HAPPY
- ec_word FOR
- ec_word ME
-@ loss speech
- ec_word I
- ec_word WANT
- ec_word MY
- ec_word MOTHER
- ec_word EXCL
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_MOTHER
+@ win speech
+ .2byte EC_WORD_MOTHER
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_HAPPY
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_ME
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_MOTHER
+ .2byte EC_WORD_EXCL
.2byte -1
.4byte gBattleFrontierTrainerMons_Jesse
@@ -4892,77 +4892,77 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_GUITARIST
.string "EDUARDO$", 8
@ pre-battle speech
- ec_word OUR
- ec_word MUSIC
- ec_word WILL
- ec_word PLAY
- ec_word ALL
- ec_word NIGHT
-@ win speech
- ec_word NIGHTTIME
- ec_word IS
- ec_word WHEN
- ec_word I
- ec_word PLAY
- ec_word BEST
-@ loss speech
- ec_word LET_S
- ec_word PARTY
- ec_word UNTIL
- ec_word THE
- ec_move1 MORNING_SUN
- ec_word EXCL
+ .2byte EC_WORD_OUR
+ .2byte EC_WORD_MUSIC
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_PLAY
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_NIGHT
+@ win speech
+ .2byte EC_WORD_NIGHTTIME
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_WHEN
+ .2byte EC_WORD_I
+ .2byte EC_WORD_PLAY
+ .2byte EC_WORD_BEST
+@ loss speech
+ .2byte EC_WORD_LET_S
+ .2byte EC_WORD_PARTY
+ .2byte EC_WORD_UNTIL
+ .2byte EC_WORD_THE
+ .2byte EC_MOVE(MORNING_SUN)
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Eduardo
@ 189
.4byte TRAINER_CLASS_GUITARIST
.string "HAL$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word TRENDY
- ec_word AREN_T
- ec_word I
- ec_word QUES
- .2byte -1
-@ win speech
- ec_word I_AM
- ec_word FEELING
- ec_word HIP_AND
- ec_word HAPPENING
- ec_word OH_YEAH
- ec_word EXCL
-@ loss speech
- ec_word I_AM
- ec_word ALWAYS
- ec_word TRENDY
- ec_word THANK_YOU
- ec_word VERY
- ec_word MUCH
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_TRENDY
+ .2byte EC_WORD_AREN_T
+ .2byte EC_WORD_I
+ .2byte EC_WORD_QUES
+ .2byte -1
+@ win speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_FEELING
+ .2byte EC_WORD_HIP_AND
+ .2byte EC_WORD_HAPPENING
+ .2byte EC_WORD_OH_YEAH
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_ALWAYS
+ .2byte EC_WORD_TRENDY
+ .2byte EC_WORD_THANK_YOU
+ .2byte EC_WORD_VERY
+ .2byte EC_WORD_MUCH
.4byte gBattleFrontierTrainerMons_Hal
@ 190
.4byte TRAINER_CLASS_BIRD_KEEPER
.string "GAGE$", 8
@ pre-battle speech
- ec_word HERE_IT_IS
- ec_word A
- ec_word FLYING
- ec_word TYPE
- ec_word HIDDEN
- ec_word MOVE
-@ win speech
- ec_word IT_S
- ec_word A
- ec_word FLYING
- ec_word TYPE
- ec_word VICTORY
- ec_word EXCL
-@ loss speech
- ec_word IF_I_LOSE
- ec_word I
- ec_word JUST
- ec_move1 FLY
- ec_word AWAY
+ .2byte EC_WORD_HERE_IT_IS
+ .2byte EC_WORD_A
+ .2byte EC_WORD_FLYING
+ .2byte EC_WORD_TYPE
+ .2byte EC_WORD_HIDDEN
+ .2byte EC_WORD_MOVE
+@ win speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_A
+ .2byte EC_WORD_FLYING
+ .2byte EC_WORD_TYPE
+ .2byte EC_WORD_VICTORY
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_IF_I_LOSE
+ .2byte EC_WORD_I
+ .2byte EC_WORD_JUST
+ .2byte EC_MOVE(FLY)
+ .2byte EC_WORD_AWAY
.2byte -1
.4byte gBattleFrontierTrainerMons_Gage
@@ -4970,181 +4970,181 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_BIRD_KEEPER
.string "ARNOLD$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word FEELING
- ec_word WEIRD
- ec_word FROM
- ec_word A
- ec_word DREAM
-@ win speech
- ec_word YOUR
- ec_move1 SCARY_FACE
- ec_word WAS
- ec_word IN
- ec_word MY
- ec_word DREAM
-@ loss speech
- ec_word MY
- ec_word INCREDIBLE
- ec_word DREAM
- ec_word WAS
- ec_word SO
- ec_word WEIRD
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_FEELING
+ .2byte EC_WORD_WEIRD
+ .2byte EC_WORD_FROM
+ .2byte EC_WORD_A
+ .2byte EC_WORD_DREAM
+@ win speech
+ .2byte EC_WORD_YOUR
+ .2byte EC_MOVE(SCARY_FACE)
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_DREAM
+@ loss speech
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_INCREDIBLE
+ .2byte EC_WORD_DREAM
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_WEIRD
.4byte gBattleFrontierTrainerMons_Arnold
@ 192
.4byte TRAINER_CLASS_SAILOR
.string "JARRETT$", 8
@ pre-battle speech
- ec_word COME_ON
- ec_word LET_S
- ec_word DANCE
- ec_word LIKE
- ec_word IT_S
- ec_word YESTERDAY
-@ win speech
- ec_word YOU
- ec_word LIKE
- ec_word HOW
- ec_word I
- ec_word DANCE
- ec_word QUES
-@ loss speech
- ec_word YOU
- ec_word DON_T
- ec_word APPRECIATE
- ec_word HOW
- ec_word I
- ec_word DANCE
+ .2byte EC_WORD_COME_ON
+ .2byte EC_WORD_LET_S
+ .2byte EC_WORD_DANCE
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_YESTERDAY
+@ win speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DANCE
+ .2byte EC_WORD_QUES
+@ loss speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_APPRECIATE
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DANCE
.4byte gBattleFrontierTrainerMons_Jarrett
@ 193
.4byte TRAINER_CLASS_SAILOR
.string "GARETT$", 8
@ pre-battle speech
- ec_word MY
- ec_word GIRL
- ec_word GIVES
- ec_word ME
- ec_word A_LITTLE
- ec_move2 SWEET_KISS
-@ win speech
- ec_word MY
- ec_word GIRL
- ec_word FRIEND
- ec_word IS
- ec_word MY
- ec_word TREASURE
-@ loss speech
- ec_word A
- ec_word TREASURE
- ec_word ISN_T
- ec_word ALWAYS
- ec_word ABOUT
- ec_word MONEY
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_GIRL
+ .2byte EC_WORD_GIVES
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_A_LITTLE
+ .2byte EC_MOVE2(SWEET_KISS)
+@ win speech
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_GIRL
+ .2byte EC_WORD_FRIEND
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_TREASURE
+@ loss speech
+ .2byte EC_WORD_A
+ .2byte EC_WORD_TREASURE
+ .2byte EC_WORD_ISN_T
+ .2byte EC_WORD_ALWAYS
+ .2byte EC_WORD_ABOUT
+ .2byte EC_WORD_MONEY
.4byte gBattleFrontierTrainerMons_Garett
@ 194
.4byte TRAINER_CLASS_HIKER
.string "EMANUEL$", 8
@ pre-battle speech
- ec_word SMARTNESS
- ec_word ALONE
- ec_word WON_T
- ec_word MAKE
- ec_word YOU
- ec_word WIN
-@ win speech
- ec_word I_AM
- ec_word NOT_VERY
- ec_word SMART
- ec_word BUT
- ec_word I
- ec_word WON
-@ loss speech
- ec_word HOW
- ec_word DID
- ec_word YOU
- ec_move2 FAKE_OUT
- ec_word ME
- ec_word QUES
+ .2byte EC_WORD_SMARTNESS
+ .2byte EC_WORD_ALONE
+ .2byte EC_WORD_WON_T
+ .2byte EC_WORD_MAKE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_WIN
+@ win speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_NOT_VERY
+ .2byte EC_WORD_SMART
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WON
+@ loss speech
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_DID
+ .2byte EC_WORD_YOU
+ .2byte EC_MOVE2(FAKE_OUT)
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Emanuel
@ 195
.4byte TRAINER_CLASS_HIKER
.string "GUSTAVO$", 8
@ pre-battle speech
- ec_move1 CHARGE
- ec_word EXCL
+ .2byte EC_MOVE(CHARGE)
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_move1 CHARGE
- ec_word EXCL_EXCL
+ .2byte EC_MOVE(CHARGE)
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
@ win speech
- ec_word SURRENDER
- ec_word QUES
+ .2byte EC_WORD_SURRENDER
+ .2byte EC_WORD_QUES
.2byte -1
- ec_word SO
- ec_word SOON
- ec_word QUES
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_SOON
+ .2byte EC_WORD_QUES
@ loss speech
- ec_word YOU
- ec_word CAN_T
- ec_word MAKE
- ec_word ME
- ec_word SURRENDER
- ec_word YET
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_MAKE
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_SURRENDER
+ .2byte EC_WORD_YET
.4byte gBattleFrontierTrainerMons_Gustavo
@ 196
.4byte TRAINER_CLASS_KINDLER
.string "KAMERON$", 8
@ pre-battle speech
- ec_word TAKE_THAT
- ec_word EXCL
- ec_word IT_S
- ec_word MY
- ec_word FIERY
- ec_move2 TRICK
-@ win speech
- ec_word DID
- ec_word MY
- ec_word FIERY
- ec_move2 TRICK
- ec_move1 ASTONISH
- ec_word QUES
-@ loss speech
- ec_word YOU
- ec_word DIDN_T
- ec_word FALL
- ec_word FOR
- ec_word MY
- ec_move2 TRICK
+ .2byte EC_WORD_TAKE_THAT
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_FIERY
+ .2byte EC_MOVE2(TRICK)
+@ win speech
+ .2byte EC_WORD_DID
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_FIERY
+ .2byte EC_MOVE2(TRICK)
+ .2byte EC_MOVE(ASTONISH)
+ .2byte EC_WORD_QUES
+@ loss speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_DIDN_T
+ .2byte EC_WORD_FALL
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(TRICK)
.4byte gBattleFrontierTrainerMons_Kameron
@ 197
.4byte TRAINER_CLASS_KINDLER
.string "ALFREDO$", 8
@ pre-battle speech
- ec_word A
- ec_word FIERY
- ec_word GOURMET
- ec_word AM
- ec_word I
- ec_word EXCL
-@ win speech
- ec_word IT_S
- ec_word A
- ec_word TASTY
- ec_word GOURMET
- ec_word VICTORY
- ec_word EXCL
-@ loss speech
- ec_word WHAT
- ec_word A
- ec_word DISASTER
- ec_word THAT_WAS
- ec_word EXCL
+ .2byte EC_WORD_A
+ .2byte EC_WORD_FIERY
+ .2byte EC_WORD_GOURMET
+ .2byte EC_WORD_AM
+ .2byte EC_WORD_I
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_A
+ .2byte EC_WORD_TASTY
+ .2byte EC_WORD_GOURMET
+ .2byte EC_WORD_VICTORY
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_A
+ .2byte EC_WORD_DISASTER
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_EXCL
.2byte -1
.4byte gBattleFrontierTrainerMons_Alfredo
@@ -5152,25 +5152,25 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_GENTLEMAN
.string "RUBEN$", 8
@ pre-battle speech
- ec_word I
- ec_word CAN_T
- ec_word WAIT
- ec_word TO
- ec_word GET
- ec_word GOING
-@ win speech
- ec_word GET
- ec_word GOING
- ec_word EXCL
- ec_word THIS
- ec_word IS
- ec_word GOOD_BYE
-@ loss speech
- ec_word I_VE
- ec_word GOT
- ec_word TO
- ec_word GET
- ec_word GOING
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_WAIT
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_GOING
+@ win speech
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_GOOD_BYE
+@ loss speech
+ .2byte EC_WORD_I_VE
+ .2byte EC_WORD_GOT
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_GOING
.2byte -1
.4byte gBattleFrontierTrainerMons_Ruben
@@ -5178,25 +5178,25 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_GENTLEMAN
.string "LAMAR$", 8
@ pre-battle speech
- ec_word A
- ec_move2 PRESENT
- ec_word FOR
- ec_word ME
- ec_word QUES
+ .2byte EC_WORD_A
+ .2byte EC_MOVE2(PRESENT)
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_QUES
.2byte -1
@ win speech
- ec_word MMM
- ec_word THIS
- ec_word IS
- ec_word QUITE
- ec_word TASTY
- ec_word ELLIPSIS
+ .2byte EC_WORD_MMM
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_QUITE
+ .2byte EC_WORD_TASTY
+ .2byte EC_WORD_ELLIPSIS
@ loss speech
- ec_word OH
- ec_word IT_S
- ec_word A
- ec_word GAME
- ec_word IS_IT_QUES
+ .2byte EC_WORD_OH
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_A
+ .2byte EC_WORD_GAME
+ .2byte EC_WORD_IS_IT_QUES
.2byte -1
.4byte gBattleFrontierTrainerMons_Lamar
@@ -5204,155 +5204,155 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_YOUNGSTER
.string "JAXON$", 8
@ pre-battle speech
- ec_word A
- ec_word SHELL_ARMOR
- ec_word IS
- ec_word WHAT
- ec_word I
- ec_word WANT
-@ win speech
- ec_word MY
- ec_word FATHER
- ec_word AND
- ec_word MOTHER
- ec_word WON_T
- ec_word ACCEPT
-@ loss speech
- ec_word PLEASE
- ec_word I
- ec_word NEED
- ec_word A
- ec_word SHELL_ARMOR
- ec_word EXCL
+ .2byte EC_WORD_A
+ .2byte EC_WORD_SHELL_ARMOR
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WANT
+@ win speech
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_FATHER
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_MOTHER
+ .2byte EC_WORD_WON_T
+ .2byte EC_WORD_ACCEPT
+@ loss speech
+ .2byte EC_WORD_PLEASE
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_A
+ .2byte EC_WORD_SHELL_ARMOR
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Jaxon
@ 201
.4byte TRAINER_CLASS_YOUNGSTER
.string "LOGAN$", 8
@ pre-battle speech
- ec_word IF_I_LOSE
- ec_word I
- ec_word WILL
- ec_word STUDY
- ec_word FOR
- ec_word SCHOOL
-@ win speech
- ec_word ME
- ec_word STUDY
- ec_word QUES
- ec_word NOT_VERY
- ec_word LIKELY_TO
- ec_word SEE
-@ loss speech
- ec_word NO
- ec_word THANKS
- ec_word I_AM
- ec_word GOING
- ec_word TO
- ec_word SLEEP
+ .2byte EC_WORD_IF_I_LOSE
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_STUDY
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_SCHOOL
+@ win speech
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_STUDY
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_NOT_VERY
+ .2byte EC_WORD_LIKELY_TO
+ .2byte EC_WORD_SEE
+@ loss speech
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_THANKS
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_SLEEP
.4byte gBattleFrontierTrainerMons_Logan
@ 202
.4byte TRAINER_CLASS_LASS
.string "EMILEE$", 8
@ pre-battle speech
- ec_word IS
- ec_word THIS
- ec_word KIND
- ec_word OF
- ec_word BATTLE
- ec_word OK_QUES
-@ win speech
- ec_word LET_S
- ec_word GO
- ec_word FOR
- ec_word AN
- ec_move1 ICY_WIND
- ec_move2 SURF
-@ loss speech
- ec_word HOW
- ec_word ABOUT
- ec_word A
- ec_move1 ROCK_SLIDE
- ec_word SHOW
- ec_word QUES
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_KIND
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_OK_QUES
+@ win speech
+ .2byte EC_WORD_LET_S
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_AN
+ .2byte EC_MOVE(ICY_WIND)
+ .2byte EC_MOVE2(SURF)
+@ loss speech
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_ABOUT
+ .2byte EC_WORD_A
+ .2byte EC_MOVE(ROCK_SLIDE)
+ .2byte EC_WORD_SHOW
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Emilee
@ 203
.4byte TRAINER_CLASS_LASS
.string "JOSIE$", 8
@ pre-battle speech
- ec_word A
- ec_word POKEMON
- ec_word FASHION
- ec_word CONTEST
- ec_word IS
- ec_word PRETTY
-@ win speech
- ec_word I
- ec_word REALLY
- ec_word LIKE
- ec_word MODE
- ec_word FASHION
- ec_word THINGS
-@ loss speech
- ec_word YOU_RE
- ec_word TOTALLY
- ec_word LACKING
- ec_word IN
- ec_word FASHION
- ec_word SENSE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_FASHION
+ .2byte EC_WORD_CONTEST
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_PRETTY
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_MODE
+ .2byte EC_WORD_FASHION
+ .2byte EC_WORD_THINGS
+@ loss speech
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_TOTALLY
+ .2byte EC_WORD_LACKING
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_FASHION
+ .2byte EC_WORD_SENSE
.4byte gBattleFrontierTrainerMons_Josie
@ 204
.4byte TRAINER_CLASS_CAMPER
.string "ARMANDO$", 8
@ pre-battle speech
- ec_word I
- ec_word NEED
- ec_word MORE
- ec_word GRASS
- ec_word TYPE
- ec_word POKEMON
-@ win speech
- ec_word TRADE
- ec_word ME
- ec_word A
- ec_word GRASS
- ec_word POKEMON
- ec_word PLEASE
-@ loss speech
- ec_word THERE
- ec_word AREN_T
- ec_word ENOUGH
- ec_word GRASS
- ec_word TYPE
- ec_word POKEMON
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_MORE
+ .2byte EC_WORD_GRASS
+ .2byte EC_WORD_TYPE
+ .2byte EC_WORD_POKEMON
+@ win speech
+ .2byte EC_WORD_TRADE
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_A
+ .2byte EC_WORD_GRASS
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_PLEASE
+@ loss speech
+ .2byte EC_WORD_THERE
+ .2byte EC_WORD_AREN_T
+ .2byte EC_WORD_ENOUGH
+ .2byte EC_WORD_GRASS
+ .2byte EC_WORD_TYPE
+ .2byte EC_WORD_POKEMON
.4byte gBattleFrontierTrainerMons_Armando
@ 205
.4byte TRAINER_CLASS_CAMPER
.string "SKYLER$", 8
@ pre-battle speech
- ec_move2 INGRAIN
- ec_word IS
- ec_word MY
- ec_word CHOICE
- ec_word BATTLE
- ec_word MOVE
-@ win speech
- ec_word YOU
- ec_word CAN_T
- ec_word MOVE
- ec_word ME
- ec_word NOW
- ec_word EXCL
-@ loss speech
- ec_word YOU
- ec_move1 CUT
- ec_word ME
- ec_word DOWN
- ec_word ELLIPSIS
+ .2byte EC_MOVE2(INGRAIN)
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_CHOICE
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_MOVE
+@ win speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_MOVE
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_NOW
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_YOU
+ .2byte EC_MOVE(CUT)
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_DOWN
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
.4byte gBattleFrontierTrainerMons_Skyler
@@ -5360,154 +5360,154 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_PICNICKER
.string "RUTH$", 8
@ pre-battle speech
- ec_word I
- ec_word WANT
- ec_word TO
- ec_word ENJOY
- ec_word THIS
- ec_word BATTLE
-@ win speech
- ec_word THAT_WAS
- ec_word MUCH
- ec_word TOO
- ec_word EASY
- ec_word EXCL
- .2byte -1
-@ loss speech
- ec_word PLEASE
- ec_word STOP
- ec_word I
- ec_word DON_T
- ec_word ENJOY
- ec_word THIS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_ENJOY
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_BATTLE
+@ win speech
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_MUCH
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_EASY
+ .2byte EC_WORD_EXCL
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_PLEASE
+ .2byte EC_WORD_STOP
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_ENJOY
+ .2byte EC_WORD_THIS
.4byte gBattleFrontierTrainerMons_Ruth
@ 207
.4byte TRAINER_CLASS_PICNICKER
.string "MELODY$", 8
@ pre-battle speech
- ec_word I
- ec_move2 WISH
- ec_word SUNDAY
- ec_word IS
- ec_word A
- ec_move2 SUNNY_DAY
-@ win speech
- ec_word SUNDAY
- ec_word SEEMS
- ec_word FOREVER
- ec_word TO
- ec_word COME
- ec_word ELLIPSIS
-@ loss speech
- ec_word THE
- ec_word FORECAST
- ec_word SAYS
- ec_word IT
- ec_word WILL
- ec_move1 HAIL
+ .2byte EC_WORD_I
+ .2byte EC_MOVE2(WISH)
+ .2byte EC_WORD_SUNDAY
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_A
+ .2byte EC_MOVE2(SUNNY_DAY)
+@ win speech
+ .2byte EC_WORD_SUNDAY
+ .2byte EC_WORD_SEEMS
+ .2byte EC_WORD_FOREVER
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_COME
+ .2byte EC_WORD_ELLIPSIS
+@ loss speech
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_FORECAST
+ .2byte EC_WORD_SAYS
+ .2byte EC_WORD_IT
+ .2byte EC_WORD_WILL
+ .2byte EC_MOVE(HAIL)
.4byte gBattleFrontierTrainerMons_Melody
@ 208
.4byte TRAINER_CLASS_SWIMMER_M
.string "PEDRO$", 8
@ pre-battle speech
- ec_word A
- ec_word SWIFT_SWIM
- ec_word WILL
- ec_word DO
- ec_word YOU
- ec_word GOOD
-@ win speech
- ec_word THAT_S
- ec_word HOW
- ec_word I
- ec_word SINK
- ec_word AN
- ec_word OPPONENT
-@ loss speech
- ec_word UH_OH
- ec_word EXCL
- .2byte -1
- ec_word A
- ec_move1 WHIRLPOOL
- ec_word EXCL
+ .2byte EC_WORD_A
+ .2byte EC_WORD_SWIFT_SWIM
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_DO
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_GOOD
+@ win speech
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_I
+ .2byte EC_WORD_SINK
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_OPPONENT
+@ loss speech
+ .2byte EC_WORD_UH_OH
+ .2byte EC_WORD_EXCL
+ .2byte -1
+ .2byte EC_WORD_A
+ .2byte EC_MOVE(WHIRLPOOL)
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Pedro
@ 209
.4byte TRAINER_CLASS_SWIMMER_M
.string "ERICK$", 8
@ pre-battle speech
- ec_word I
- ec_word WILL
- ec_move2 TACKLE
- ec_word YOU
- ec_word DOWN
- ec_word EXCL
-@ win speech
- ec_word DON_T
- ec_word YOU
- ec_word RUN_AWAY
- ec_word YOU
- ec_word LOSER
- ec_word EXCL
-@ loss speech
- ec_word I
- ec_word DIDN_T
- ec_word THINK
- ec_word YOU
- ec_word WOULD
- ec_move1 COUNTER
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_MOVE2(TACKLE)
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_DOWN
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_RUN_AWAY
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_LOSER
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DIDN_T
+ .2byte EC_WORD_THINK
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_WOULD
+ .2byte EC_MOVE(COUNTER)
.4byte gBattleFrontierTrainerMons_Erick
@ 210
.4byte TRAINER_CLASS_SWIMMER_F
.string "ELAINE$", 8
@ pre-battle speech
- ec_word MY
- ec_word HEROINE
- ec_word ADVENTURE
- ec_word ISN_T
- ec_word GOING
- ec_word WELL
-@ win speech
- ec_word THANK_YOU
- ec_word EXCL
- ec_word THAT_S
- ec_word WHAT
- ec_word I
- ec_word NEED
-@ loss speech
- ec_word I
- ec_word KNOW
- ec_word I_AM
- ec_word NOT
- ec_word A
- ec_word HEROINE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_HEROINE
+ .2byte EC_WORD_ADVENTURE
+ .2byte EC_WORD_ISN_T
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_WELL
+@ win speech
+ .2byte EC_WORD_THANK_YOU
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_KNOW
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_A
+ .2byte EC_WORD_HEROINE
.4byte gBattleFrontierTrainerMons_Elaine
@ 211
.4byte TRAINER_CLASS_SWIMMER_F
.string "JOYCE$", 8
@ pre-battle speech
- ec_word YOU
- ec_word MAKE
- ec_word ME
- ec_word GO
- ec_word AHAHA
- ec_word EXCL
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_MAKE
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_AHAHA
+ .2byte EC_WORD_EXCL
@ win speech
- ec_word LALALA
- ec_word NO
- ec_word LOSING
- ec_word FOR
- ec_word ME
- ec_word EXCL
+ .2byte EC_WORD_LALALA
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_LOSING
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_EXCL
@ loss speech
- ec_word LALALA
- ec_word ELLIPSIS
+ .2byte EC_WORD_LALALA
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
- ec_word HUH_QUES
+ .2byte EC_WORD_HUH_QUES
.2byte -1
.2byte -1
.4byte gBattleFrontierTrainerMons_Joyce
@@ -5516,129 +5516,129 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_POKEFAN_1
.string "TODD$", 8
@ pre-battle speech
- ec_word YOU_RE
- ec_word A
- ec_word LIGHTNINGROD
- ec_word FOR
- ec_word MY
- ec_word POWER
-@ win speech
- ec_word THAT_S
- ec_word ALL
- ec_word YOU
- ec_word COULD
- ec_move1 ABSORB
- ec_word QUES
-@ loss speech
- ec_word YOU
- ec_move2 REFLECT
- ec_word MY
- ec_word POWER
- ec_word BACK
- ec_word QUES
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_LIGHTNINGROD
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POWER
+@ win speech
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_COULD
+ .2byte EC_MOVE(ABSORB)
+ .2byte EC_WORD_QUES
+@ loss speech
+ .2byte EC_WORD_YOU
+ .2byte EC_MOVE2(REFLECT)
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POWER
+ .2byte EC_WORD_BACK
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Todd
@ 213
.4byte TRAINER_CLASS_POKEFAN_1
.string "GAVIN$", 8
@ pre-battle speech
- ec_word I
- ec_word WILL
- ec_move1 BIDE
- ec_word MY
- ec_word TIME
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_MOVE(BIDE)
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_TIME
.2byte -1
@ win speech
- ec_word IT_S
- ec_word OVER
- ec_word SO
- ec_word SOON
- ec_word QUES
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_OVER
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_SOON
+ .2byte EC_WORD_QUES
.2byte -1
@ loss speech
- ec_word MY
- ec_word MISTAKE
- ec_word WAS
- ec_word TOO
- ec_word EXPENSIVE
- ec_word ELLIPSIS
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_MISTAKE
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_EXPENSIVE
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Gavin
@ 214
.4byte TRAINER_CLASS_POKEFAN_2
.string "MALORY$", 8
@ pre-battle speech
- ec_word PROMISE
- ec_word TO
- ec_word SHOW
- ec_word ME
- ec_word CUTE
- ec_word POKEMON
-@ win speech
- ec_word GIGGLE
- ec_word ELLIPSIS
- .2byte -1
- ec_word THANK_YOU
- ec_word SO
- ec_word MUCH
-@ loss speech
- ec_word TCH
- ec_word YOUR
- ec_word POKEMON
- ec_word AREN_T
- ec_word VERY
- ec_word NICE
+ .2byte EC_WORD_PROMISE
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_SHOW
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_CUTE
+ .2byte EC_WORD_POKEMON
+@ win speech
+ .2byte EC_WORD_GIGGLE
+ .2byte EC_WORD_ELLIPSIS
+ .2byte -1
+ .2byte EC_WORD_THANK_YOU
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_MUCH
+@ loss speech
+ .2byte EC_WORD_TCH
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_AREN_T
+ .2byte EC_WORD_VERY
+ .2byte EC_WORD_NICE
.4byte gBattleFrontierTrainerMons_Malory
@ 215
.4byte TRAINER_CLASS_POKEFAN_2
.string "ESTHER$", 8
@ pre-battle speech
- ec_word I
- ec_word WANT
- ec_word A
- ec_word NICE
- ec_move2 PRESENT
- ec_word ELLIPSIS
-@ win speech
- ec_word PLEASE
- ec_word GET
- ec_word ME
- ec_word A
- ec_word POKEMON
- ec_word GAME
-@ loss speech
- ec_word MESSAGE
- ec_word CARDS
- ec_word MAKE
- ec_word A
- ec_word WEAK
- ec_move2 PRESENT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_A
+ .2byte EC_WORD_NICE
+ .2byte EC_MOVE2(PRESENT)
+ .2byte EC_WORD_ELLIPSIS
+@ win speech
+ .2byte EC_WORD_PLEASE
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_A
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_GAME
+@ loss speech
+ .2byte EC_WORD_MESSAGE
+ .2byte EC_WORD_CARDS
+ .2byte EC_WORD_MAKE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_WEAK
+ .2byte EC_MOVE2(PRESENT)
.4byte gBattleFrontierTrainerMons_Esther
@ 216
.4byte TRAINER_CLASS_PKMN_BREEDER_2
.string "OSCAR$", 8
@ pre-battle speech
- ec_word LET_S
- ec_word SEE
- ec_word YOUR
- ec_word POWER
- ec_word IN
- ec_word FULL
-@ win speech
- ec_word THAT_WAS
- ec_word NOT
- ec_word YOUR
- ec_word FULL
- ec_word POWER
- ec_word EXCL
-@ loss speech
- ec_word NOT
- ec_word FUNNY
- ec_word ELLIPSIS
- ec_word YOU_RE
- ec_word TOO_STRONG
+ .2byte EC_WORD_LET_S
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_POWER
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_FULL
+@ win speech
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_FULL
+ .2byte EC_WORD_POWER
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_FUNNY
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_TOO_STRONG
.2byte -1
.4byte gBattleFrontierTrainerMons_Oscar
@@ -5646,129 +5646,129 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_PKMN_BREEDER_2
.string "WILSON$", 8
@ pre-battle speech
- ec_word WORK
- ec_word IS
- ec_word MAKING
- ec_word ME
- ec_word AN
- ec_word EARLY_BIRD
-@ win speech
- ec_word ALL
- ec_word WORK
- ec_word AND
- ec_word NO
- ec_word PLAY
- ec_word ELLIPSIS
-@ loss speech
- ec_move1 ENDURE
- ec_word IS
- ec_word ALL
- ec_word I
- ec_word CAN
- ec_word DO
+ .2byte EC_WORD_WORK
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_MAKING
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_EARLY_BIRD
+@ win speech
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_WORK
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_PLAY
+ .2byte EC_WORD_ELLIPSIS
+@ loss speech
+ .2byte EC_MOVE(ENDURE)
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CAN
+ .2byte EC_WORD_DO
.4byte gBattleFrontierTrainerMons_Wilson
@ 218
.4byte TRAINER_CLASS_PKMN_BREEDER_1
.string "CLARE$", 8
@ pre-battle speech
- ec_word YAY
- ec_word EXCL
- ec_word A
- ec_word TOUGH
- ec_word TRAINER
- ec_word EXCL
-@ win speech
- ec_word AWW
- ec_word EXCL
- ec_word A
- ec_word WIMPY
- ec_word TRAINER
- ec_word EXCL
-@ loss speech
- ec_word COOL
- ec_word EXCL
- ec_word A
- ec_word GENIUS
- ec_word TRAINER
- ec_word EXCL
+ .2byte EC_WORD_YAY
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_A
+ .2byte EC_WORD_TOUGH
+ .2byte EC_WORD_TRAINER
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_AWW
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_A
+ .2byte EC_WORD_WIMPY
+ .2byte EC_WORD_TRAINER
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_COOL
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_A
+ .2byte EC_WORD_GENIUS
+ .2byte EC_WORD_TRAINER
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Clare
@ 219
.4byte TRAINER_CLASS_PKMN_BREEDER_1
.string "TESS$", 8
@ pre-battle speech
- ec_word WANT
- ec_word SOME
- ec_pokemon1 GULPIN
- ec_word DESIGN
- ec_word SWEETS
- ec_word QUES
-@ win speech
- ec_word THEY_RE
- ec_word A
- ec_word SECRET
- ec_word POKEMON
- ec_word GOURMET
- ec_word ITEM
-@ loss speech
- ec_word THEY_RE
- ec_word TASTY
- ec_word EXCL
- ec_word REFRESHING
- ec_word TOO
- ec_word EXCL
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_SOME
+ .2byte EC_POKEMON(GULPIN)
+ .2byte EC_WORD_DESIGN
+ .2byte EC_WORD_SWEETS
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_THEY_RE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_SECRET
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_GOURMET
+ .2byte EC_WORD_ITEM
+@ loss speech
+ .2byte EC_WORD_THEY_RE
+ .2byte EC_WORD_TASTY
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_REFRESHING
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Tess
@ 220
.4byte TRAINER_CLASS_COOLTRAINER_1
.string "LEON$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word BETTER
- ec_word THAN
- ec_word ANY
- ec_word OTHER
- ec_word TRAINER
-@ win speech
- ec_word I
- ec_word DID
- ec_word IT
- ec_move2 JUMP_KICK
- ec_word FOR
- ec_word JOY
-@ loss speech
- ec_word BACK
- ec_word HOME
- ec_word I
- ec_word WILL
- ec_word GO
- ec_word ELLIPSIS
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_BETTER
+ .2byte EC_WORD_THAN
+ .2byte EC_WORD_ANY
+ .2byte EC_WORD_OTHER
+ .2byte EC_WORD_TRAINER
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DID
+ .2byte EC_WORD_IT
+ .2byte EC_MOVE2(JUMP_KICK)
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_JOY
+@ loss speech
+ .2byte EC_WORD_BACK
+ .2byte EC_WORD_HOME
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Leon
@ 221
.4byte TRAINER_CLASS_COOLTRAINER_1
.string "ALONZO$", 8
@ pre-battle speech
- ec_word I_VE
- ec_word NOT
- ec_word LOST
- ec_word ONCE
- ec_word YET
- ec_word EXCL
+ .2byte EC_WORD_I_VE
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_LOST
+ .2byte EC_WORD_ONCE
+ .2byte EC_WORD_YET
+ .2byte EC_WORD_EXCL
@ win speech
- ec_word YOUR
- ec_word SAD
- ec_word LOOK
- ec_word BECOMES
- ec_word YOU
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_SAD
+ .2byte EC_WORD_LOOK
+ .2byte EC_WORD_BECOMES
+ .2byte EC_WORD_YOU
.2byte -1
@ loss speech
- ec_word I
- ec_word DON_T
- ec_word BELIEVE
- ec_word THIS
- ec_word ELLIPSIS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_BELIEVE
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
.4byte gBattleFrontierTrainerMons_Alonzo
@@ -5776,363 +5776,363 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_COOLTRAINER_1
.string "VINCE$", 8
@ pre-battle speech
- ec_word THE
- ec_word TOP
- ec_word TRAINER
- ec_word THAT_S
- ec_word ME
- ec_word EXCL
-@ win speech
- ec_word THE
- ec_word TOP
- ec_word RANK
- ec_word BELONGS_TO
- ec_word ME
- ec_word EXCL
-@ loss speech
- ec_word I
- ec_word WILL
- ec_word APPEAL
- ec_word THIS
- ec_move1 OUTRAGE
- ec_word EXCL
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_TOP
+ .2byte EC_WORD_TRAINER
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_TOP
+ .2byte EC_WORD_RANK
+ .2byte EC_WORD_BELONGS_TO
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_APPEAL
+ .2byte EC_WORD_THIS
+ .2byte EC_MOVE(OUTRAGE)
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Vince
@ 223
.4byte TRAINER_CLASS_COOLTRAINER_1
.string "BRYON$", 8
@ pre-battle speech
- ec_word MY
- ec_move2 BARRAGE
- ec_word WILL
- ec_move2 SLAM
- ec_word YOU
- ec_word EXCL
-@ win speech
- ec_word YOU
- ec_word DIDN_T
- ec_word COUNT_ON
- ec_word ANY
- ec_word LESS
- ec_word QUES
-@ loss speech
- ec_word I
- ec_word JUST
- ec_word DON_T
- ec_word GET
- ec_word IT
- ec_word ELLIPSIS
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(BARRAGE)
+ .2byte EC_WORD_WILL
+ .2byte EC_MOVE2(SLAM)
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_DIDN_T
+ .2byte EC_WORD_COUNT_ON
+ .2byte EC_WORD_ANY
+ .2byte EC_WORD_LESS
+ .2byte EC_WORD_QUES
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_JUST
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_IT
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Bryon
@ 224
.4byte TRAINER_CLASS_COOLTRAINER_2
.string "AVA$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word A
- ec_word TREASURE
- ec_word OF
- ec_word THIS
- ec_word WORLD
-@ win speech
- ec_word MY
- ec_word WORLD
- ec_word IS
- ec_word FULL
- ec_word OF
- ec_word WONDER
-@ loss speech
- ec_word WHY
- ec_word ARE
- ec_word YOU
- ec_word SO
- ec_word TERRIBLE
- ec_word QUES
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_A
+ .2byte EC_WORD_TREASURE
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_WORLD
+@ win speech
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_WORLD
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_FULL
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_WONDER
+@ loss speech
+ .2byte EC_WORD_WHY
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_TERRIBLE
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Ava
@ 225
.4byte TRAINER_CLASS_COOLTRAINER_2
.string "MIRIAM$", 8
@ pre-battle speech
- ec_word OH
- ec_word A
- ec_word TRAINER
- ec_word WITH
- ec_word A
- ec_move1 SCARY_FACE
-@ win speech
- ec_word AHAHA
- ec_word YOU
- ec_word ONLY
- ec_word LOOK
- ec_word SCARY
- ec_word EXCL
-@ loss speech
- ec_word AIYEEH
- ec_word EXCL
- ec_word YOU
- ec_word REALLY
- ec_word ARE
- ec_word SCARY
+ .2byte EC_WORD_OH
+ .2byte EC_WORD_A
+ .2byte EC_WORD_TRAINER
+ .2byte EC_WORD_WITH
+ .2byte EC_WORD_A
+ .2byte EC_MOVE(SCARY_FACE)
+@ win speech
+ .2byte EC_WORD_AHAHA
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_ONLY
+ .2byte EC_WORD_LOOK
+ .2byte EC_WORD_SCARY
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_AIYEEH
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_SCARY
.4byte gBattleFrontierTrainerMons_Miriam
@ 226
.4byte TRAINER_CLASS_COOLTRAINER_2
.string "CARRIE$", 8
@ pre-battle speech
- ec_word I
- ec_word WILL
- ec_word SHOW
- ec_word YOU
- ec_word GUTSY
- ec_word EXCL
-@ win speech
- ec_word IT_S
- ec_word ALL
- ec_word ABOUT
- ec_word GUTS
- ec_word EXCL
- .2byte -1
-@ loss speech
- ec_word OH
- ec_word NO
- ec_word ELLIPSIS
- ec_move1 SELF_DESTRUCT
- ec_word MODE
- ec_word EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_SHOW
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_GUTSY
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_ABOUT
+ .2byte EC_WORD_GUTS
+ .2byte EC_WORD_EXCL
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_OH
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_MOVE(SELF_DESTRUCT)
+ .2byte EC_WORD_MODE
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Carrie
@ 227
.4byte TRAINER_CLASS_COOLTRAINER_2
.string "GILLIAN$", 8
@ pre-battle speech
- ec_word I
- ec_word SEEK
- ec_word A
- ec_word TRULY
- ec_word GREAT
- ec_word BATTLE
-@ win speech
- ec_word I
- ec_word NEED
- ec_word A_LOT
- ec_word BETTER
- ec_word BATTLE
- ec_word ELLIPSIS
-@ loss speech
- ec_word THAT_WAS
- ec_word A_LITTLE
- ec_word TOO
- ec_word MUCH
- ec_word TO
- ec_word TAKE
+ .2byte EC_WORD_I
+ .2byte EC_WORD_SEEK
+ .2byte EC_WORD_A
+ .2byte EC_WORD_TRULY
+ .2byte EC_WORD_GREAT
+ .2byte EC_WORD_BATTLE
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_A_LOT
+ .2byte EC_WORD_BETTER
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_ELLIPSIS
+@ loss speech
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_A_LITTLE
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_MUCH
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_TAKE
.4byte gBattleFrontierTrainerMons_Gillian2
@ 228
.4byte TRAINER_CLASS_PKMN_RANGER_1
.string "TYLER$", 8
@ pre-battle speech
- ec_word YO
- ec_word EXCL
+ .2byte EC_WORD_YO
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word LET_S
- ec_word GO
- ec_word EXCL_EXCL
+ .2byte EC_WORD_LET_S
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_EXCL_EXCL
@ win speech
- ec_word YO
- ec_word EXCL
+ .2byte EC_WORD_YO
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word I
- ec_word WON
- ec_word YO
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WON
+ .2byte EC_WORD_YO
@ loss speech
- ec_word YO
- ec_word EXCL
+ .2byte EC_WORD_YO
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word I
- ec_word LOST
- ec_word YO
+ .2byte EC_WORD_I
+ .2byte EC_WORD_LOST
+ .2byte EC_WORD_YO
.4byte gBattleFrontierTrainerMons_Tyler
@ 229
.4byte TRAINER_CLASS_PKMN_RANGER_1
.string "CHAZ$", 8
@ pre-battle speech
- ec_word MY
- ec_word POKEMON
- ec_word HAVE
- ec_word TOO
- ec_word MUCH
- ec_word POWER
-@ win speech
- ec_word THEY
- ec_word HAVE
- ec_word MORE
- ec_word POWER
- ec_word NOW
- ec_word EXCL
-@ loss speech
- ec_word YEAH
- ec_move2 TAKE_DOWN
- ec_word THEIR
- ec_word POWER
- ec_word A_TINY_BIT
- ec_word PLEASE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_MUCH
+ .2byte EC_WORD_POWER
+@ win speech
+ .2byte EC_WORD_THEY
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_MORE
+ .2byte EC_WORD_POWER
+ .2byte EC_WORD_NOW
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_YEAH
+ .2byte EC_MOVE2(TAKE_DOWN)
+ .2byte EC_WORD_THEIR
+ .2byte EC_WORD_POWER
+ .2byte EC_WORD_A_TINY_BIT
+ .2byte EC_WORD_PLEASE
.4byte gBattleFrontierTrainerMons_Chaz
@ 230
.4byte TRAINER_CLASS_PKMN_RANGER_1
.string "NELSON$", 8
@ pre-battle speech
- ec_word WELL_THEN
- ec_word WILL
- ec_word THIS
- ec_word POKEMON
- ec_word WORK
- ec_word QUES
-@ win speech
- ec_word I
- ec_word SEE
- ec_word THAT
- ec_word IT
- ec_word WAS
- ec_word TOO_STRONG
-@ loss speech
- ec_word IT
- ec_word DIDN_T
- ec_word MATCH_UP
- ec_word WELL
- ec_word I
- ec_word THINK
+ .2byte EC_WORD_WELL_THEN
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_WORK
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_IT
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_TOO_STRONG
+@ loss speech
+ .2byte EC_WORD_IT
+ .2byte EC_WORD_DIDN_T
+ .2byte EC_WORD_MATCH_UP
+ .2byte EC_WORD_WELL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_THINK
.4byte gBattleFrontierTrainerMons_Nelson
@ 231
.4byte TRAINER_CLASS_PKMN_RANGER_2
.string "SHANIA$", 8
@ pre-battle speech
- ec_word ALL
- ec_word MY
- ec_word POKEMON
- ec_word ABSOLUTELY
- ec_word ADORE
- ec_word ME
-@ win speech
- ec_word HAPPINESS
- ec_word IS
- ec_word A
- ec_word POKEMON
- ec_word WITH
- ec_word CUTE_CHARM
-@ loss speech
- ec_word YOU_RE
- ec_word SO
- ec_word MEAN
- ec_word TO
- ec_word CUTE
- ec_word POKEMON
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_ABSOLUTELY
+ .2byte EC_WORD_ADORE
+ .2byte EC_WORD_ME
+@ win speech
+ .2byte EC_WORD_HAPPINESS
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_A
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_WITH
+ .2byte EC_WORD_CUTE_CHARM
+@ loss speech
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_MEAN
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_CUTE
+ .2byte EC_WORD_POKEMON
.4byte gBattleFrontierTrainerMons_Shania
@ 232
.4byte TRAINER_CLASS_PKMN_RANGER_2
.string "STELLA$", 8
@ pre-battle speech
- ec_word I
- ec_word WANT
- ec_word TO
- ec_word SEE
- ec_word YOUR
- ec_word POKEMON
-@ win speech
- ec_word WELL
- ec_word AREN_T
- ec_word THEY
- ec_word BORING
- ec_word QUES
- ec_word AHAHA
-@ loss speech
- ec_word YOUR
- ec_word POKEMON
- ec_word ARE
- ec_word SOMETHING
- ec_word ELSE
- ec_word ALL_RIGHT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_POKEMON
+@ win speech
+ .2byte EC_WORD_WELL
+ .2byte EC_WORD_AREN_T
+ .2byte EC_WORD_THEY
+ .2byte EC_WORD_BORING
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_AHAHA
+@ loss speech
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_SOMETHING
+ .2byte EC_WORD_ELSE
+ .2byte EC_WORD_ALL_RIGHT
.4byte gBattleFrontierTrainerMons_Stella
@ 233
.4byte TRAINER_CLASS_PKMN_RANGER_2
.string "DORINE$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word YOUNG
- ec_word AND
- ec_word STRONG
- ec_word EXCL
- .2byte -1
-@ win speech
- ec_word SEE
- ec_word QUES
- ec_word AREN_T
- ec_word I
- ec_word GOOD
- ec_word QUES
-@ loss speech
- ec_word THIS
- ec_word ISN_T
- ec_word WORKING
- ec_word OUT
- ec_word AT
- ec_word ALL
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_YOUNG
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_STRONG
+ .2byte EC_WORD_EXCL
+ .2byte -1
+@ win speech
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_AREN_T
+ .2byte EC_WORD_I
+ .2byte EC_WORD_GOOD
+ .2byte EC_WORD_QUES
+@ loss speech
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_ISN_T
+ .2byte EC_WORD_WORKING
+ .2byte EC_WORD_OUT
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_ALL
.4byte gBattleFrontierTrainerMons_Dorine
@ 234
.4byte TRAINER_CLASS_DRAGON_TAMER
.string "MADDOX$", 8
@ pre-battle speech
- ec_word DRAGON
- ec_word POKEMON
- ec_word ARE
- ec_word MY
- ec_word NO_1
- ec_word CHOICE
-@ win speech
- ec_word IT_S
- ec_word NO
- ec_word SECRET
- ec_word DRAGON
- ec_word POKEMON
- ec_word WIN
-@ loss speech
- ec_word DRAGON
- ec_word POKEMON
- ec_word SHOULD
- ec_word NOT
- ec_word LOSE
- ec_word EXCL
+ .2byte EC_WORD_DRAGON
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_NO_1
+ .2byte EC_WORD_CHOICE
+@ win speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_SECRET
+ .2byte EC_WORD_DRAGON
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_WIN
+@ loss speech
+ .2byte EC_WORD_DRAGON
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_SHOULD
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_LOSE
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Maddox
@ 235
.4byte TRAINER_CLASS_DRAGON_TAMER
.string "DAVIN$", 8
@ pre-battle speech
- ec_word LET_S
- ec_word HEAR
- ec_word YOU
- ec_move2 ROAR
- ec_word EXCL
+ .2byte EC_WORD_LET_S
+ .2byte EC_WORD_HEAR
+ .2byte EC_WORD_YOU
+ .2byte EC_MOVE2(ROAR)
+ .2byte EC_WORD_EXCL
.2byte -1
@ win speech
- ec_word WROOOAAR_EXCL
+ .2byte EC_WORD_WROOOAAR_EXCL
.2byte -1
.2byte -1
- ec_word VICTORY
- ec_word EXCL_EXCL
+ .2byte EC_WORD_VICTORY
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
@ loss speech
- ec_word WROOOAAR_EXCL
+ .2byte EC_WORD_WROOOAAR_EXCL
.2byte -1
.2byte -1
- ec_word WHY
- ec_word QUES_EXCL
+ .2byte EC_WORD_WHY
+ .2byte EC_WORD_QUES_EXCL
.2byte -1
.4byte gBattleFrontierTrainerMons_Davin
@@ -6140,285 +6140,285 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_DRAGON_TAMER
.string "TREVON$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word LIVING
- ec_word ONLY
- ec_word WITH
- ec_word DRAGON
- ec_word POKEMON
-@ win speech
- ec_word THE
- ec_word WAY
- ec_word I_AM
- ec_word LIVING
- ec_word IS
- ec_word PERFECT
-@ loss speech
- ec_word YOU_VE
- ec_word DESTROYED
- ec_word THE
- ec_word WAY
- ec_word I_AM
- ec_word LIVING
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_LIVING
+ .2byte EC_WORD_ONLY
+ .2byte EC_WORD_WITH
+ .2byte EC_WORD_DRAGON
+ .2byte EC_WORD_POKEMON
+@ win speech
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_WAY
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_LIVING
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_PERFECT
+@ loss speech
+ .2byte EC_WORD_YOU_VE
+ .2byte EC_WORD_DESTROYED
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_WAY
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_LIVING
.4byte gBattleFrontierTrainerMons_Trevon
@ 237
.4byte TRAINER_CLASS_BLACK_BELT
.string "MATEO$", 8
@ pre-battle speech
- ec_word THIS
- ec_word SHOULD
- ec_word BE
- ec_word OVER
- ec_word SOON
- ec_word ENOUGH
-@ win speech
- ec_word WELL
- ec_word THAT
- ec_word DIDN_T
- ec_word TAKE
- ec_word VERY
- ec_word MUCH
-@ loss speech
- ec_word I
- ec_word CAN_T
- ec_word LOSE
- ec_word SO
- ec_word SOON
- ec_word EXCL
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_SHOULD
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_OVER
+ .2byte EC_WORD_SOON
+ .2byte EC_WORD_ENOUGH
+@ win speech
+ .2byte EC_WORD_WELL
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_DIDN_T
+ .2byte EC_WORD_TAKE
+ .2byte EC_WORD_VERY
+ .2byte EC_WORD_MUCH
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_LOSE
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_SOON
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Mateo
@ 238
.4byte TRAINER_CLASS_BLACK_BELT
.string "BRET$", 8
@ pre-battle speech
- ec_word I
- ec_word LIKE
- ec_word ROCK_SOLID
- ec_word POKEMON
- ec_word THE
- ec_word BEST
-@ win speech
- ec_word TOUGHNESS
- ec_word IS
- ec_word THE
- ec_word WAY
- ec_word TO
- ec_word GO
-@ loss speech
- ec_word I
- ec_word ALSO
- ec_word HAVE
- ec_word A
- ec_word PLUSH_DOLL
- ec_word COLLECTION
+ .2byte EC_WORD_I
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_ROCK_SOLID
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_BEST
+@ win speech
+ .2byte EC_WORD_TOUGHNESS
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_WAY
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_GO
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_ALSO
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_PLUSH_DOLL
+ .2byte EC_WORD_COLLECTION
.4byte gBattleFrontierTrainerMons_Bret
@ 239
.4byte TRAINER_CLASS_BLACK_BELT
.string "RAUL$", 8
@ pre-battle speech
- ec_word I
- ec_word REJECT
- ec_word EVERY
- ec_word WEAK
- ec_word TRAINER
- .2byte -1
-@ win speech
- ec_word HUMPH
- ec_word EXCL
- ec_word ANOTHER
- ec_word WEAK
- ec_word TRAINER
- ec_word ELLIPSIS
-@ loss speech
- ec_word THERE
- ec_word IS
- ec_word NOTHING
- ec_word WEAK
- ec_word ABOUT
- ec_word YOU
+ .2byte EC_WORD_I
+ .2byte EC_WORD_REJECT
+ .2byte EC_WORD_EVERY
+ .2byte EC_WORD_WEAK
+ .2byte EC_WORD_TRAINER
+ .2byte -1
+@ win speech
+ .2byte EC_WORD_HUMPH
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_ANOTHER
+ .2byte EC_WORD_WEAK
+ .2byte EC_WORD_TRAINER
+ .2byte EC_WORD_ELLIPSIS
+@ loss speech
+ .2byte EC_WORD_THERE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_NOTHING
+ .2byte EC_WORD_WEAK
+ .2byte EC_WORD_ABOUT
+ .2byte EC_WORD_YOU
.4byte gBattleFrontierTrainerMons_Raul
@ 240
.4byte TRAINER_CLASS_BATTLE_GIRL
.string "KAY$", 8
@ pre-battle speech
- ec_word AND
- ec_word YET
- ec_word ANOTHER
- ec_word BATTLE
- ec_word QUES
- .2byte -1
-@ win speech
- ec_word I
- ec_word WON
- ec_word BUT
- ec_word I_AM
- ec_word TIRED
- ec_word ELLIPSIS
-@ loss speech
- ec_word GOOD
- ec_word IT_S
- ec_word OVER
- ec_word AT
- ec_word LAST
- ec_word ELLIPSIS
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_YET
+ .2byte EC_WORD_ANOTHER
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_QUES
+ .2byte -1
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WON
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_TIRED
+ .2byte EC_WORD_ELLIPSIS
+@ loss speech
+ .2byte EC_WORD_GOOD
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_OVER
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_LAST
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Kay
@ 241
.4byte TRAINER_CLASS_BATTLE_GIRL
.string "ELENA$", 8
@ pre-battle speech
- ec_word A
- ec_word BATTLE
- ec_word GIRL
- ec_word THAT_S
- ec_word ME
- ec_word EXCL
-@ win speech
- ec_word ISN_T
- ec_word A
- ec_word BATTLE
- ec_word GIRL
- ec_word AWESOME
- ec_word QUES
-@ loss speech
- ec_word YOU
- ec_word DISLIKE
- ec_word A
- ec_word BATTLE
- ec_word GIRL
- ec_word QUES
+ .2byte EC_WORD_A
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_GIRL
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_ISN_T
+ .2byte EC_WORD_A
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_GIRL
+ .2byte EC_WORD_AWESOME
+ .2byte EC_WORD_QUES
+@ loss speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_DISLIKE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_GIRL
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Elena
@ 242
.4byte TRAINER_CLASS_BATTLE_GIRL
.string "ALANA$", 8
@ pre-battle speech
- ec_word EAT
- ec_word MY
- ec_word INVINCIBLE
- ec_word ATTACK
- ec_word YOU
- ec_word EXCL
-@ win speech
- ec_word YOU
- ec_word HAVE
- ec_word MUCH
- ec_word TO
- ec_word LEARN
- .2byte -1
-@ loss speech
- ec_word SO
- ec_word MUCH
- ec_word FOR
- ec_word MY
- ec_word INVINCIBLE
- ec_word ATTACK
+ .2byte EC_WORD_EAT
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_INVINCIBLE
+ .2byte EC_WORD_ATTACK
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_MUCH
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_LEARN
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_MUCH
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_INVINCIBLE
+ .2byte EC_WORD_ATTACK
.4byte gBattleFrontierTrainerMons_Alana
@ 243
.4byte TRAINER_CLASS_EXPERT_1
.string "ALEXAS$", 8
@ pre-battle speech
- ec_word GOOD
- ec_word TO
- ec_word MEET_YOU
- ec_word YOUNG
- ec_word TRAINER
- ec_word EXCL
-@ win speech
- ec_word WAHAHAHA
- ec_word EXCL
- .2byte -1
- ec_word GIVE
- ec_word IT
- ec_word UP
-@ loss speech
- ec_word YOU
- ec_word ARE
- ec_word A
- ec_word STRONG
- ec_word TRAINER
- ec_word KID
+ .2byte EC_WORD_GOOD
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_MEET_YOU
+ .2byte EC_WORD_YOUNG
+ .2byte EC_WORD_TRAINER
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_WAHAHAHA
+ .2byte EC_WORD_EXCL
+ .2byte -1
+ .2byte EC_WORD_GIVE
+ .2byte EC_WORD_IT
+ .2byte EC_WORD_UP
+@ loss speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_STRONG
+ .2byte EC_WORD_TRAINER
+ .2byte EC_WORD_KID
.4byte gBattleFrontierTrainerMons_Alexas
@ 244
.4byte TRAINER_CLASS_EXPERT_1
.string "WESTON$", 8
@ pre-battle speech
- ec_word I
- ec_word DON_T
- ec_word PLAY
- ec_word DOWN
- ec_word ALL_RIGHT
- ec_word QUES
-@ win speech
- ec_word YOU_RE
- ec_word FAR
- ec_word TOO
- ec_word EASY
- ec_word TO
- ec_word ATTACK
-@ loss speech
- ec_word WELL
- ec_word WELL
- ec_word ELLIPSIS
- ec_word I
- ec_word SURRENDER
- ec_word ELLIPSIS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_PLAY
+ .2byte EC_WORD_DOWN
+ .2byte EC_WORD_ALL_RIGHT
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_FAR
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_EASY
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_ATTACK
+@ loss speech
+ .2byte EC_WORD_WELL
+ .2byte EC_WORD_WELL
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_SURRENDER
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Weston
@ 245
.4byte TRAINER_CLASS_EXPERT_1
.string "JASPER$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word NOT
- ec_word OLD
- ec_word I_AM
- ec_word SKILLED
- ec_word EXCL
-@ win speech
- ec_word SKILLED
- ec_word THAT_S
- ec_word WHAT
- ec_word I_AM
- ec_word EXCL
- .2byte -1
-@ loss speech
- ec_word I_AM
- ec_word SHOCKED
- ec_word EXCL
- ec_word DOWN
- ec_word I
- ec_word GO
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_OLD
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SKILLED
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_SKILLED
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_EXCL
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SHOCKED
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_DOWN
+ .2byte EC_WORD_I
+ .2byte EC_WORD_GO
.4byte gBattleFrontierTrainerMons_Jasper
@ 246
.4byte TRAINER_CLASS_EXPERT_2
.string "NADIA$", 8
@ pre-battle speech
- ec_word YOU
- ec_word CAN_T
- ec_word BEAT
- ec_word ME
- ec_word DOWN
- ec_word EXCL
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_BEAT
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_DOWN
+ .2byte EC_WORD_EXCL
@ win speech
- ec_word HAH
- ec_word EXCL
+ .2byte EC_WORD_HAH
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word I
- ec_word BEAT
- ec_word YOU
+ .2byte EC_WORD_I
+ .2byte EC_WORD_BEAT
+ .2byte EC_WORD_YOU
@ loss speech
- ec_word I_AM
- ec_move2 BEAT_UP
- ec_word AND
- ec_word DOWNCAST
- ec_word ELLIPSIS
+ .2byte EC_WORD_I_AM
+ .2byte EC_MOVE2(BEAT_UP)
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_DOWNCAST
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
.4byte gBattleFrontierTrainerMons_Nadia
@@ -6426,103 +6426,103 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_EXPERT_2
.string "MIRANDA$", 8
@ pre-battle speech
- ec_word WELL
- ec_word WELL
+ .2byte EC_WORD_WELL
+ .2byte EC_WORD_WELL
.2byte -1
- ec_word LET_S
- ec_word START
+ .2byte EC_WORD_LET_S
+ .2byte EC_WORD_START
.2byte -1
@ win speech
- ec_word WHAT
- ec_word QUES
- ec_word DONE
- ec_word SO
- ec_word SOON
- ec_word QUES
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_DONE
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_SOON
+ .2byte EC_WORD_QUES
@ loss speech
- ec_word WELL
- ec_word I
- ec_word SEE
- ec_word THAT
- ec_word I_AM
- ec_word TOO_WEAK
+ .2byte EC_WORD_WELL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_TOO_WEAK
.4byte gBattleFrontierTrainerMons_Miranda
@ 248
.4byte TRAINER_CLASS_EXPERT_2
.string "EMMA$", 8
@ pre-battle speech
- ec_word I_VE
- ec_word BEEN
- ec_word HEARING
- ec_word ABOUT
- ec_word YOU
+ .2byte EC_WORD_I_VE
+ .2byte EC_WORD_BEEN
+ .2byte EC_WORD_HEARING
+ .2byte EC_WORD_ABOUT
+ .2byte EC_WORD_YOU
.2byte -1
@ win speech
- ec_word I
- ec_word THINK
- ec_word I_VE
- ec_word MISHEARD
- ec_word THINGS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_THINK
+ .2byte EC_WORD_I_VE
+ .2byte EC_WORD_MISHEARD
+ .2byte EC_WORD_THINGS
.2byte -1
@ loss speech
- ec_word WHAT
- ec_word I_VE
- ec_word BEEN
- ec_word HEARING
- ec_word IS
- ec_word RIGHT
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_I_VE
+ .2byte EC_WORD_BEEN
+ .2byte EC_WORD_HEARING
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_RIGHT
.4byte gBattleFrontierTrainerMons_Emma
@ 249
.4byte TRAINER_CLASS_PSYCHIC_1
.string "ROLANDO$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word A
- ec_word SUPER
- ec_word POKEMON
- ec_word HERO
- ec_word EXCL
-@ win speech
- ec_word WAS
- ec_word THAT
- ec_word ENOUGH
- ec_word FOR
- ec_word YOU
- ec_word QUES
-@ loss speech
- ec_word YOU
- ec_word SHOULD
- ec_word NOT
- ec_word BEAT
- ec_word A
- ec_word HERO
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_A
+ .2byte EC_WORD_SUPER
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_HERO
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_ENOUGH
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_QUES
+@ loss speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_SHOULD
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_BEAT
+ .2byte EC_WORD_A
+ .2byte EC_WORD_HERO
.4byte gBattleFrontierTrainerMons_Rolando
@ 250
.4byte TRAINER_CLASS_PSYCHIC_1
.string "STANLY$", 8
@ pre-battle speech
- ec_word THIS
- ec_word SHOULD
- ec_word BE
- ec_word AN
- ec_word EASY
- ec_word MATCH
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_SHOULD
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_EASY
+ .2byte EC_WORD_MATCH
@ win speech
- ec_word IT
- ec_word REALLY
- ec_word WAS
- ec_word EASY
+ .2byte EC_WORD_IT
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_EASY
.2byte -1
.2byte -1
@ loss speech
- ec_word ARE
- ec_word YOU
- ec_word HAPPY
- ec_word NOW
- ec_word QUES
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_HAPPY
+ .2byte EC_WORD_NOW
+ .2byte EC_WORD_QUES
.2byte -1
.4byte gBattleFrontierTrainerMons_Stanly
@@ -6530,207 +6530,207 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_PSYCHIC_1
.string "DARIO$", 8
@ pre-battle speech
- ec_word MY
- ec_move2 FORESIGHT
- ec_word SAYS
- ec_word I
- ec_word WILL
- ec_word WIN
-@ win speech
- ec_word MY
- ec_move2 FORESIGHT
- ec_word HAS
- ec_word BEEN
- ec_word PERFECT
- .2byte -1
-@ loss speech
- ec_word I
- ec_word DIDN_T
- ec_word SEE
- ec_word THIS
- ec_move1 REVERSAL
- ec_word ELLIPSIS
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(FORESIGHT)
+ .2byte EC_WORD_SAYS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_WIN
+@ win speech
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(FORESIGHT)
+ .2byte EC_WORD_HAS
+ .2byte EC_WORD_BEEN
+ .2byte EC_WORD_PERFECT
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DIDN_T
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_THIS
+ .2byte EC_MOVE(REVERSAL)
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Dario
@ 252
.4byte TRAINER_CLASS_PSYCHIC_2
.string "KARLEE$", 8
@ pre-battle speech
- ec_word SOMETHING
- ec_word GOOD
- ec_word WILL
- ec_word COME
- ec_word OF
- ec_word THIS
-@ win speech
- ec_word YOU
- ec_word SEE
- ec_word QUES
- ec_word FANTASTIC
- ec_word EXCL
- .2byte -1
-@ loss speech
- ec_word THAT
- ec_word SOMETHING
- ec_word GOOD
- ec_word WENT
- ec_word TO
- ec_word YOU
+ .2byte EC_WORD_SOMETHING
+ .2byte EC_WORD_GOOD
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_COME
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_THIS
+@ win speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_FANTASTIC
+ .2byte EC_WORD_EXCL
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_SOMETHING
+ .2byte EC_WORD_GOOD
+ .2byte EC_WORD_WENT
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_YOU
.4byte gBattleFrontierTrainerMons_Karlee
@ 253
.4byte TRAINER_CLASS_PSYCHIC_2
.string "JAYLIN$", 8
@ pre-battle speech
- ec_word EVERY
- ec_word TRAINER
- ec_word HAS
- ec_word BEEN
- ec_word TOO_WEAK
- ec_word ELLIPSIS
-@ win speech
- ec_word IT_S
- ec_word MAKING
- ec_word ME
- ec_move1 YAWN
- ec_word THAT
- ec_word BATTLE
-@ loss speech
- ec_word I
- ec_word SLEPT
- ec_word AND
- ec_word SO
- ec_word I
- ec_word LOST
+ .2byte EC_WORD_EVERY
+ .2byte EC_WORD_TRAINER
+ .2byte EC_WORD_HAS
+ .2byte EC_WORD_BEEN
+ .2byte EC_WORD_TOO_WEAK
+ .2byte EC_WORD_ELLIPSIS
+@ win speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_MAKING
+ .2byte EC_WORD_ME
+ .2byte EC_MOVE(YAWN)
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_BATTLE
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_SLEPT
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_I
+ .2byte EC_WORD_LOST
.4byte gBattleFrontierTrainerMons_Jaylin
@ 254
.4byte TRAINER_CLASS_PSYCHIC_2
.string "INGRID$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word NOT
- ec_word A
- ec_word VERY
- ec_word MEAN
- ec_word TRAINER
-@ win speech
- ec_word WASN_T
- ec_word THAT
- ec_word A
- ec_word GOOD
- ec_word MATCH
- ec_word QUES
-@ loss speech
- ec_word I
- ec_word LOST
- ec_word CAUSE
- ec_word YOU_RE
- ec_word MEAN
- ec_word ELLIPSIS
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_A
+ .2byte EC_WORD_VERY
+ .2byte EC_WORD_MEAN
+ .2byte EC_WORD_TRAINER
+@ win speech
+ .2byte EC_WORD_WASN_T
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_A
+ .2byte EC_WORD_GOOD
+ .2byte EC_WORD_MATCH
+ .2byte EC_WORD_QUES
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_LOST
+ .2byte EC_WORD_CAUSE
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_MEAN
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Ingrid
@ 255
.4byte TRAINER_CLASS_HEX_MANIAC
.string "DELILAH$", 8
@ pre-battle speech
- ec_word DON_T
- ec_move1 GRUDGE
- ec_word ME
- ec_word IF_I_WIN
- ec_word OK_QUES
- .2byte -1
-@ win speech
- ec_word I_AM
- ec_word SORRY
- ec_word TO
- ec_word SEE
- ec_word YOU
- ec_word ANGRY
-@ loss speech
- ec_word I
- ec_word HAVE
- ec_word A
- ec_move1 GRUDGE
- ec_word WITH
- ec_word YOU
+ .2byte EC_WORD_DON_T
+ .2byte EC_MOVE(GRUDGE)
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_IF_I_WIN
+ .2byte EC_WORD_OK_QUES
+ .2byte -1
+@ win speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SORRY
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_ANGRY
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_A
+ .2byte EC_MOVE(GRUDGE)
+ .2byte EC_WORD_WITH
+ .2byte EC_WORD_YOU
.4byte gBattleFrontierTrainerMons_Delilah
@ 256
.4byte TRAINER_CLASS_HEX_MANIAC
.string "CARLY$", 8
@ pre-battle speech
- ec_word I
- ec_word WILL
- ec_word SCATTER
- ec_word SOME
- ec_move2 POISON_POWDER
- ec_word ABOUT
-@ win speech
- ec_word IT_S
- ec_word SCARY
- ec_word HOW
- ec_word MY
- ec_word STRATEGY
- ec_word WORKS
-@ loss speech
- ec_word I
- ec_word DISLIKE
- ec_word YOU
- ec_word AND
- ec_word YOUR
- ec_word POKEMON
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_SCATTER
+ .2byte EC_WORD_SOME
+ .2byte EC_MOVE2(POISON_POWDER)
+ .2byte EC_WORD_ABOUT
+@ win speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_SCARY
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_STRATEGY
+ .2byte EC_WORD_WORKS
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DISLIKE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_POKEMON
.4byte gBattleFrontierTrainerMons_Carly
@ 257
.4byte TRAINER_CLASS_HEX_MANIAC
.string "LEXIE$", 8
@ pre-battle speech
- ec_word WANT
- ec_word TO
- ec_word SEE
- ec_word SCARY
- ec_word POKEMON
- ec_word QUES
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_SCARY
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_QUES
@ win speech
- ec_word WASN_T
- ec_word THAT
- ec_word SCARY
- ec_word EH_QUES
+ .2byte EC_WORD_WASN_T
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_SCARY
+ .2byte EC_WORD_EH_QUES
.2byte -1
.2byte -1
@ loss speech
- ec_word YOU_RE
- ec_word MORE
- ec_word SCARY
- ec_word THAN
- ec_word MY
- ec_word POKEMON
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_MORE
+ .2byte EC_WORD_SCARY
+ .2byte EC_WORD_THAN
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POKEMON
.4byte gBattleFrontierTrainerMons_Lexie
@ 258
.4byte TRAINER_CLASS_POKEMANIAC
.string "MILLER$", 8
@ pre-battle speech
- ec_word HELLO
- ec_word QUES
+ .2byte EC_WORD_HELLO
+ .2byte EC_WORD_QUES
.2byte -1
- ec_word HELLO
- ec_word QUES_EXCL
+ .2byte EC_WORD_HELLO
+ .2byte EC_WORD_QUES_EXCL
.2byte -1
@ win speech
- ec_word HELLO
- ec_word MOTHER
- ec_word EXCL
- ec_word I
- ec_word WON
- ec_word EXCL
+ .2byte EC_WORD_HELLO
+ .2byte EC_WORD_MOTHER
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WON
+ .2byte EC_WORD_EXCL
@ loss speech
- ec_word MY
- ec_word PHONE
- ec_word ISN_T
- ec_word WORKING
- ec_word ELLIPSIS
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_PHONE
+ .2byte EC_WORD_ISN_T
+ .2byte EC_WORD_WORKING
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
.4byte gBattleFrontierTrainerMons_Miller
@@ -6738,153 +6738,153 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_POKEMANIAC
.string "MARV$", 8
@ pre-battle speech
- ec_word YOU
- ec_word CAN
- ec_word LOSE
- ec_word YOUR
- ec_move1 SWAGGER
- ec_word NOW
-@ win speech
- ec_word THERE
- ec_word IS
- ec_word NO
- ec_move1 SWAGGER
- ec_word LEFT
- ec_word EH_QUES
-@ loss speech
- ec_word GO
- ec_word ON
- ec_move1 SWAGGER
- ec_word ALL
- ec_word YOU
- ec_word WANT
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_CAN
+ .2byte EC_WORD_LOSE
+ .2byte EC_WORD_YOUR
+ .2byte EC_MOVE(SWAGGER)
+ .2byte EC_WORD_NOW
+@ win speech
+ .2byte EC_WORD_THERE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_NO
+ .2byte EC_MOVE(SWAGGER)
+ .2byte EC_WORD_LEFT
+ .2byte EC_WORD_EH_QUES
+@ loss speech
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_ON
+ .2byte EC_MOVE(SWAGGER)
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_WANT
.4byte gBattleFrontierTrainerMons_Marv
@ 260
.4byte TRAINER_CLASS_POKEMANIAC
.string "LAYTON$", 8
@ pre-battle speech
- ec_word I
- ec_word KNOW
- ec_word I_AM
- ec_word TOTALLY
- ec_word COOL
- ec_word EXCL
-@ win speech
- ec_word YOU
- ec_word CAN
- ec_word LOOK
- ec_word UP
- ec_word TO
- ec_word ME
-@ loss speech
- ec_word YOU_RE
- ec_word COOL
- ec_word EXCL
- ec_word NO
- ec_word REALLY
- ec_word EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_KNOW
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_TOTALLY
+ .2byte EC_WORD_COOL
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_CAN
+ .2byte EC_WORD_LOOK
+ .2byte EC_WORD_UP
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_ME
+@ loss speech
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_COOL
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Layton
@ 261
.4byte TRAINER_CLASS_GENTLEMAN
.string "BROOKS$", 8
@ pre-battle speech
- ec_word THIS
- ec_word IS
- ec_word A
- ec_word HIGH
- ec_word LEVEL
- ec_word BATTLE
-@ win speech
- ec_word THAT_WAS
- ec_word HIGH
- ec_word LEVEL
- ec_word AND
- ec_word EXCITING
- ec_word TOO
-@ loss speech
- ec_word YOU_RE
- ec_word TOO
- ec_word HIGH
- ec_word IN
- ec_word LEVEL
- ec_word ELLIPSIS
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_A
+ .2byte EC_WORD_HIGH
+ .2byte EC_WORD_LEVEL
+ .2byte EC_WORD_BATTLE
+@ win speech
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_HIGH
+ .2byte EC_WORD_LEVEL
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_EXCITING
+ .2byte EC_WORD_TOO
+@ loss speech
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_HIGH
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_LEVEL
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Brooks
@ 262
.4byte TRAINER_CLASS_GENTLEMAN
.string "GREGORY$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word NOT
- ec_word THAT
- ec_word OLD
- ec_word YET
- .2byte -1
-@ win speech
- ec_word WHO
- ec_word SAYS
- ec_word I_AM
- ec_word TOO
- ec_word OLD
- ec_word QUES
-@ loss speech
- ec_word PLEASE
- ec_word I_AM
- ec_word REALLY
- ec_word NOT
- ec_word THAT
- ec_word OLD
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_OLD
+ .2byte EC_WORD_YET
+ .2byte -1
+@ win speech
+ .2byte EC_WORD_WHO
+ .2byte EC_WORD_SAYS
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_OLD
+ .2byte EC_WORD_QUES
+@ loss speech
+ .2byte EC_WORD_PLEASE
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_OLD
.4byte gBattleFrontierTrainerMons_Gregory
@ 263
.4byte TRAINER_CLASS_GENTLEMAN
.string "REESE$", 8
@ pre-battle speech
- ec_word I_VE
- ec_word A
- ec_word COUPLE
- ec_word THINGS
+ .2byte EC_WORD_I_VE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_COUPLE
+ .2byte EC_WORD_THINGS
.2byte -1
.2byte -1
@ win speech
- ec_word DON_T
- ec_word DIET
- ec_word PLAY
- ec_word SPORTS
- ec_word INSTEAD
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_DIET
+ .2byte EC_WORD_PLAY
+ .2byte EC_WORD_SPORTS
+ .2byte EC_WORD_INSTEAD
.2byte -1
@ loss speech
- ec_word INSTEAD
- ec_word OF
- ec_word TELEVISION
- ec_word GET
- ec_word A
- ec_word BOOK
+ .2byte EC_WORD_INSTEAD
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_TELEVISION
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_A
+ .2byte EC_WORD_BOOK
.4byte gBattleFrontierTrainerMons_Reese
@ 264
.4byte TRAINER_CLASS_TRIATHLETE_3
.string "MASON$", 8
@ pre-battle speech
- ec_word PLEASE
- ec_word DON_T
- ec_word MAKE
- ec_word THIS
- ec_word SCARY
+ .2byte EC_WORD_PLEASE
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_MAKE
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_SCARY
.2byte -1
@ win speech
- ec_word THANK_YOU
- ec_word ELLIPSIS
+ .2byte EC_WORD_THANK_YOU
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
- ec_word I_AM
- ec_word HAPPY
- ec_word NOW
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_HAPPY
+ .2byte EC_WORD_NOW
@ loss speech
- ec_word I_AM
- ec_word DISAPPOINTED
- ec_word ELLIPSIS
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_DISAPPOINTED
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
.2byte -1
.2byte -1
@@ -6894,75 +6894,75 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_TRIATHLETE_3
.string "TOBY$", 8
@ pre-battle speech
- ec_word LISTEN
- ec_word UP
- .2byte -1
- ec_word I
- ec_word ALWAYS
- ec_word WIN
-@ win speech
- ec_word I_AM
- ec_word A
- ec_word GENIUS
- ec_word OR
- ec_word WHAT
- ec_word QUES
-@ loss speech
- ec_word I
- ec_word CAN
- ec_word BEAT
- ec_word YOU
- ec_word AT
- ec_word SMARTNESS
+ .2byte EC_WORD_LISTEN
+ .2byte EC_WORD_UP
+ .2byte -1
+ .2byte EC_WORD_I
+ .2byte EC_WORD_ALWAYS
+ .2byte EC_WORD_WIN
+@ win speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_A
+ .2byte EC_WORD_GENIUS
+ .2byte EC_WORD_OR
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_QUES
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CAN
+ .2byte EC_WORD_BEAT
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_SMARTNESS
.4byte gBattleFrontierTrainerMons_Toby
@ 266
.4byte TRAINER_CLASS_TRIATHLETE_4
.string "DOROTHY$", 8
@ pre-battle speech
- ec_word THE
- ec_word SPORTS
- ec_word WORLD
- ec_word SHOULD
- ec_word ACCEPT
- ec_word POKEMON
-@ win speech
- ec_word THANK_YOU
- ec_word EXCL
- ec_word THAT
- ec_word WIN
- ec_word WAS
- ec_word REFRESHING
-@ loss speech
- ec_word THANK_YOU
- ec_word EXCL
- ec_word THAT
- ec_word LOSS
- ec_word WAS
- ec_word REFRESHING
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_SPORTS
+ .2byte EC_WORD_WORLD
+ .2byte EC_WORD_SHOULD
+ .2byte EC_WORD_ACCEPT
+ .2byte EC_WORD_POKEMON
+@ win speech
+ .2byte EC_WORD_THANK_YOU
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_WIN
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_REFRESHING
+@ loss speech
+ .2byte EC_WORD_THANK_YOU
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_LOSS
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_REFRESHING
.4byte gBattleFrontierTrainerMons_Dorothy
@ 267
.4byte TRAINER_CLASS_TRIATHLETE_4
.string "PIPER$", 8
@ pre-battle speech
- ec_word COME_ON
- ec_word YOU
- ec_word NEED
- ec_word A
- ec_word SPEED_BOOST
- ec_word QUES
+ .2byte EC_WORD_COME_ON
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_A
+ .2byte EC_WORD_SPEED_BOOST
+ .2byte EC_WORD_QUES
@ win speech
- ec_word YOU
- ec_word NEED
- ec_word TO
- ec_word SHOW
- ec_word MORE
- ec_word GUTS
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_SHOW
+ .2byte EC_WORD_MORE
+ .2byte EC_WORD_GUTS
@ loss speech
- ec_word OH
- ec_word YOU
- ec_word EXCL
+ .2byte EC_WORD_OH
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_EXCL
.2byte -1
.2byte -1
.2byte -1
@@ -6972,51 +6972,51 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_TRIATHLETE_5
.string "FINN$", 8
@ pre-battle speech
- ec_word NOT
- ec_word ANOTHER
- ec_word TRAINER
- ec_word BATTLE
- ec_word ELLIPSIS
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_ANOTHER
+ .2byte EC_WORD_TRAINER
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
@ win speech
- ec_word WON_T
- ec_word THIS
- ec_word EVER
- ec_word END
- ec_word QUES
+ .2byte EC_WORD_WON_T
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_EVER
+ .2byte EC_WORD_END
+ .2byte EC_WORD_QUES
.2byte -1
@ loss speech
- ec_word I
- ec_word FINALLY
- ec_word GET
- ec_word TO
- ec_move2 REST
- ec_word A_LITTLE
+ .2byte EC_WORD_I
+ .2byte EC_WORD_FINALLY
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_TO
+ .2byte EC_MOVE2(REST)
+ .2byte EC_WORD_A_LITTLE
.4byte gBattleFrontierTrainerMons_Finn
@ 269
.4byte TRAINER_CLASS_TRIATHLETE_5
.string "SAMIR$", 8
@ pre-battle speech
- ec_word I
- ec_move2 DIVE
- ec_word BELOW
- ec_word THE
- ec_move2 SURF
- ec_word EXCL
-@ win speech
- ec_word YAHOO
- ec_word TAKE
- ec_word A
- ec_move2 DIVE
- ec_word YOU
- ec_word EXCL
-@ loss speech
- ec_word I_AM
- ec_word GOING
- ec_word TO
- ec_word SINK
- ec_word ELLIPSIS
+ .2byte EC_WORD_I
+ .2byte EC_MOVE2(DIVE)
+ .2byte EC_WORD_BELOW
+ .2byte EC_WORD_THE
+ .2byte EC_MOVE2(SURF)
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_YAHOO
+ .2byte EC_WORD_TAKE
+ .2byte EC_WORD_A
+ .2byte EC_MOVE2(DIVE)
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_SINK
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
.4byte gBattleFrontierTrainerMons_Samir
@@ -7024,700 +7024,700 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_TRIATHLETE_6
.string "FIONA$", 8
@ pre-battle speech
- ec_word DID
- ec_word YOU
- ec_word LIMBER
- ec_word UP
- ec_word BEFORE
- ec_word QUES
-@ win speech
- ec_word YOU
- ec_word NEED
- ec_word TO
- ec_word BE
- ec_word MORE
- ec_word READY
-@ loss speech
- ec_word BEING
- ec_word LIMBER
- ec_word DIDN_T
- ec_word WORK
- ec_word FOR
- ec_word ME
+ .2byte EC_WORD_DID
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_LIMBER
+ .2byte EC_WORD_UP
+ .2byte EC_WORD_BEFORE
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_MORE
+ .2byte EC_WORD_READY
+@ loss speech
+ .2byte EC_WORD_BEING
+ .2byte EC_WORD_LIMBER
+ .2byte EC_WORD_DIDN_T
+ .2byte EC_WORD_WORK
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_ME
.4byte gBattleFrontierTrainerMons_Fiona
@ 271
.4byte TRAINER_CLASS_TRIATHLETE_6
.string "GLORIA$", 8
@ pre-battle speech
- ec_word I
- ec_word LIKE
- ec_word TO
- ec_word ATTACK
- ec_word WITH
- ec_word SUCTION_CUPS
-@ win speech
- ec_word GIGGLE
- ec_word ELLIPSIS
- ec_word IT_S
- ec_word OVER
- ec_word FOR
- ec_word YOU
-@ loss speech
- ec_word I
- ec_word DON_T
- ec_word GET
- ec_word HOW
- ec_word SUCTION_CUPS
- ec_word WORK
+ .2byte EC_WORD_I
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_ATTACK
+ .2byte EC_WORD_WITH
+ .2byte EC_WORD_SUCTION_CUPS
+@ win speech
+ .2byte EC_WORD_GIGGLE
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_OVER
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_YOU
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_SUCTION_CUPS
+ .2byte EC_WORD_WORK
.4byte gBattleFrontierTrainerMons_Gloria
@ 272
.4byte TRAINER_CLASS_TRIATHLETE_1
.string "NICO$", 8
@ pre-battle speech
- ec_word LIKE
- ec_word A
- ec_move1 SONIC_BOOM
- ec_word I_VE_ARRIVED
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_A
+ .2byte EC_MOVE(SONIC_BOOM)
+ .2byte EC_WORD_I_VE_ARRIVED
.2byte -1
.2byte -1
@ win speech
- ec_word SORRY
- ec_word TO
- ec_word MAKE
- ec_word YOU
- ec_word SO
- ec_word DOWNCAST
+ .2byte EC_WORD_SORRY
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_MAKE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_DOWNCAST
@ loss speech
- ec_word I_AM
- ec_word GOING
- ec_word WITH
- ec_word A
- ec_move2 SUPERSONIC
- ec_word SPEED_BOOST
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_WITH
+ .2byte EC_WORD_A
+ .2byte EC_MOVE2(SUPERSONIC)
+ .2byte EC_WORD_SPEED_BOOST
.4byte gBattleFrontierTrainerMons_Nico
@ 273
.4byte TRAINER_CLASS_TRIATHLETE_1
.string "JEREMY$", 8
@ pre-battle speech
- ec_word A
- ec_word POKEMON
- ec_word MASTER
- ec_word THAT_S
- ec_word MY
- ec_word DREAM
-@ win speech
- ec_word MY
- ec_word DREAM
- ec_word ISN_T
- ec_word FAR
- ec_word OFF
- ec_word EXCL
-@ loss speech
- ec_word WHAT
- ec_word I
- ec_word DREAM
- ec_word ISN_T
- ec_word HAPPENING
- ec_word ELLIPSIS
+ .2byte EC_WORD_A
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_MASTER
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_DREAM
+@ win speech
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_DREAM
+ .2byte EC_WORD_ISN_T
+ .2byte EC_WORD_FAR
+ .2byte EC_WORD_OFF
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DREAM
+ .2byte EC_WORD_ISN_T
+ .2byte EC_WORD_HAPPENING
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Jeremy
@ 274
.4byte TRAINER_CLASS_TRIATHLETE_2
.string "CAITLIN$", 8
@ pre-battle speech
- ec_word DON_T
- ec_word YOU
- ec_word THINK
- ec_word I_AM
- ec_word CUTE
- ec_word QUES
-@ win speech
- ec_word THERE
- ec_word IS
- ec_word MORE
- ec_word TO_ME
- ec_word THAN
- ec_word CUTENESS
-@ loss speech
- ec_word MY
- ec_word CUTE_CHARM
- ec_word DOESN_T
- ec_move2 ATTRACT
- ec_word YOU
- ec_word QUES
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_THINK
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_CUTE
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_THERE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_MORE
+ .2byte EC_WORD_TO_ME
+ .2byte EC_WORD_THAN
+ .2byte EC_WORD_CUTENESS
+@ loss speech
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_CUTE_CHARM
+ .2byte EC_WORD_DOESN_T
+ .2byte EC_MOVE2(ATTRACT)
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Caitlin
@ 275
.4byte TRAINER_CLASS_TRIATHLETE_2
.string "REENA$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word ALWAYS
- ec_word HAPPY
- ec_word HAPPY
- ec_word HAPPY
- ec_word EXCL
-@ win speech
- ec_word OH
- ec_word YAY
- ec_word EXCL
- ec_word YAHOO
- ec_word FOR
- ec_word ME
-@ loss speech
- ec_word YAHOO
- ec_word EXCL
- ec_word I_AM
- ec_word HAPPY
- ec_word FOR
- ec_word YOU
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_ALWAYS
+ .2byte EC_WORD_HAPPY
+ .2byte EC_WORD_HAPPY
+ .2byte EC_WORD_HAPPY
+ .2byte EC_WORD_EXCL
+@ win speech
+ .2byte EC_WORD_OH
+ .2byte EC_WORD_YAY
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_YAHOO
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_ME
+@ loss speech
+ .2byte EC_WORD_YAHOO
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_HAPPY
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_YOU
.4byte gBattleFrontierTrainerMons_Reena
@ 276
.4byte TRAINER_CLASS_BUG_MANIAC
.string "AVERY$", 8
@ pre-battle speech
- ec_word I_VE
- ec_word GOT
- ec_word A_LOT
- ec_word OF
- ec_word BUG
- ec_word POKEMON
-@ win speech
- ec_word MY
- ec_word BUG
- ec_word POKEMON
- ec_word ARE
- ec_word ALL
- ec_word UNBELIEVABLE
-@ loss speech
- ec_word MY
- ec_word BUG
- ec_word POKEMON
- ec_word ARE
- ec_word ALL
- ec_word UPSIDE_DOWN
+ .2byte EC_WORD_I_VE
+ .2byte EC_WORD_GOT
+ .2byte EC_WORD_A_LOT
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_BUG
+ .2byte EC_WORD_POKEMON
+@ win speech
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_BUG
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_UNBELIEVABLE
+@ loss speech
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_BUG
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_UPSIDE_DOWN
.4byte gBattleFrontierTrainerMons_Avery
@ 277
.4byte TRAINER_CLASS_BUG_MANIAC
.string "LIAM$", 8
@ pre-battle speech
- ec_word WE
- ec_word REALLY
- ec_word DISLIKE
- ec_word FIRE
- ec_word AND
- ec_word FLYING
-@ win speech
- ec_word BUG
- ec_word POKEMON
- ec_word AREN_T
- ec_word BAD
- ec_word HEY_QUES
- .2byte -1
-@ loss speech
- ec_word YOU
- ec_word KNOW
- ec_word WHAT
- ec_word WE
- ec_word DISLIKE
- ec_word HEY_QUES
+ .2byte EC_WORD_WE
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_DISLIKE
+ .2byte EC_WORD_FIRE
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_FLYING
+@ win speech
+ .2byte EC_WORD_BUG
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_AREN_T
+ .2byte EC_WORD_BAD
+ .2byte EC_WORD_HEY_QUES
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_KNOW
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_WE
+ .2byte EC_WORD_DISLIKE
+ .2byte EC_WORD_HEY_QUES
.4byte gBattleFrontierTrainerMons_Liam
@ 278
.4byte TRAINER_CLASS_FISHERMAN
.string "THEO$", 8
@ pre-battle speech
- ec_word FISHING
- ec_word IS
- ec_word MY
- ec_word CHOICE
- ec_word IN
- ec_word LIFE
-@ win speech
- ec_word WATER
- ec_word POKEMON
- ec_move2 ATTRACT
- ec_word ME
- ec_word WITHOUT
- ec_word END
-@ loss speech
- ec_word DON_T
- ec_word COUNT_ON
- ec_word THAT
- ec_word HAPPENING
- ec_word ANOTHER
- ec_word TIME
+ .2byte EC_WORD_FISHING
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_CHOICE
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_LIFE
+@ win speech
+ .2byte EC_WORD_WATER
+ .2byte EC_WORD_POKEMON
+ .2byte EC_MOVE2(ATTRACT)
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_WITHOUT
+ .2byte EC_WORD_END
+@ loss speech
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_COUNT_ON
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_HAPPENING
+ .2byte EC_WORD_ANOTHER
+ .2byte EC_WORD_TIME
.4byte gBattleFrontierTrainerMons_Theo
@ 279
.4byte TRAINER_CLASS_FISHERMAN
.string "BAILEY$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word AN
- ec_word ADULT
- ec_word I
- ec_word BATTLE
- ec_word EASY
-@ win speech
- ec_word I_AM
- ec_word AN
- ec_word ADULT
- ec_word I
- ec_move2 SWALLOW
- ec_word JOY
-@ loss speech
- ec_word I_AM
- ec_word AN
- ec_word ADULT
- ec_word I
- ec_move2 SWALLOW
- ec_move2 FRUSTRATION
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_ADULT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_EASY
+@ win speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_ADULT
+ .2byte EC_WORD_I
+ .2byte EC_MOVE2(SWALLOW)
+ .2byte EC_WORD_JOY
+@ loss speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_ADULT
+ .2byte EC_WORD_I
+ .2byte EC_MOVE2(SWALLOW)
+ .2byte EC_MOVE2(FRUSTRATION)
.4byte gBattleFrontierTrainerMons_Bailey
@ 280
.4byte TRAINER_CLASS_RUIN_MANIAC
.string "HUGO$", 8
@ pre-battle speech
- ec_word I
- ec_word TRY
- ec_word THE
- ec_word BEST
- ec_word I
- ec_word CAN
-@ win speech
- ec_word I
- ec_word CAN_WIN
- ec_word IF
- ec_word I
- ec_word TRY
- ec_word ENOUGH
-@ loss speech
- ec_word I
- ec_word DID
- ec_word TRY
- ec_word DIDN_T
- ec_word I
- ec_word QUES
+ .2byte EC_WORD_I
+ .2byte EC_WORD_TRY
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_BEST
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CAN
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CAN_WIN
+ .2byte EC_WORD_IF
+ .2byte EC_WORD_I
+ .2byte EC_WORD_TRY
+ .2byte EC_WORD_ENOUGH
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DID
+ .2byte EC_WORD_TRY
+ .2byte EC_WORD_DIDN_T
+ .2byte EC_WORD_I
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Hugo
@ 281
.4byte TRAINER_CLASS_RUIN_MANIAC
.string "BRYCE$", 8
@ pre-battle speech
- ec_word I_WAS
- ec_word ON
- ec_word VACATION
- ec_word UNTIL
- ec_word ONLY
- ec_word YESTERDAY
-@ win speech
- ec_word I
- ec_word HAVEN_T
- ec_word LOST
- ec_word MY
- ec_word SKILL
- ec_word YET
-@ loss speech
- ec_word THAT_S
- ec_word IT
- ec_word ELLIPSIS
- ec_word I
- ec_word NEED
- ec_word SLEEP
+ .2byte EC_WORD_I_WAS
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_VACATION
+ .2byte EC_WORD_UNTIL
+ .2byte EC_WORD_ONLY
+ .2byte EC_WORD_YESTERDAY
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_HAVEN_T
+ .2byte EC_WORD_LOST
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_SKILL
+ .2byte EC_WORD_YET
+@ loss speech
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_IT
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_SLEEP
.4byte gBattleFrontierTrainerMons_Bryce
@ 282
.4byte TRAINER_CLASS_COLLECTOR
.string "GIDEON$", 8
@ pre-battle speech
- ec_word WHAT_S_UP_QUES
- ec_word YOU
- ec_word THINK
- ec_word I_AM
- ec_word SCARY
- ec_word QUES
-@ win speech
- ec_word I_AM
- ec_word COOL
- ec_word BUT
- ec_word NOT
- ec_word SCARY
- ec_word EXCL
-@ loss speech
- ec_word LOOK
- ec_word AT
- ec_word MY
- ec_word FABULOUS
- ec_word FASHION
- ec_word SENSE
+ .2byte EC_WORD_WHAT_S_UP_QUES
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_THINK
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SCARY
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_COOL
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_SCARY
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_LOOK
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_FABULOUS
+ .2byte EC_WORD_FASHION
+ .2byte EC_WORD_SENSE
.4byte gBattleFrontierTrainerMons_Gideon
@ 283
.4byte TRAINER_CLASS_COLLECTOR
.string "TRISTON$", 8
@ pre-battle speech
- ec_word I
- ec_word WOULD
- ec_word RATHER
- ec_word LOOK
- ec_word AT
- ec_word POKEMON
-@ win speech
- ec_word HUH_QUES
- ec_word YOU
- ec_word MEAN
- ec_word I
- ec_word WON
- ec_word QUES_EXCL
-@ loss speech
- ec_word SEE
- ec_word QUES
- .2byte -1
- ec_word I
- ec_word ALWAYS
- ec_word LOSE
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WOULD
+ .2byte EC_WORD_RATHER
+ .2byte EC_WORD_LOOK
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_POKEMON
+@ win speech
+ .2byte EC_WORD_HUH_QUES
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_MEAN
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WON
+ .2byte EC_WORD_QUES_EXCL
+@ loss speech
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_QUES
+ .2byte -1
+ .2byte EC_WORD_I
+ .2byte EC_WORD_ALWAYS
+ .2byte EC_WORD_LOSE
.4byte gBattleFrontierTrainerMons_Triston
@ 284
.4byte TRAINER_CLASS_GUITARIST
.string "CHARLES$", 8
@ pre-battle speech
- ec_word IT_S
- ec_word HOPELESS
- ec_word TO
- ec_move2 STRUGGLE
- ec_word WITH
- ec_word ME
-@ win speech
- ec_move1 SUBMISSION
- ec_word WAS
- ec_word YOUR
- ec_word ONLY
- ec_word CHOICE
- .2byte -1
-@ loss speech
- ec_word I_AM
- ec_word GOING
- ec_word DOWN
- ec_word DOWN
- ec_word DOWN
- ec_word EXCL
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_HOPELESS
+ .2byte EC_WORD_TO
+ .2byte EC_MOVE2(STRUGGLE)
+ .2byte EC_WORD_WITH
+ .2byte EC_WORD_ME
+@ win speech
+ .2byte EC_MOVE(SUBMISSION)
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_ONLY
+ .2byte EC_WORD_CHOICE
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_DOWN
+ .2byte EC_WORD_DOWN
+ .2byte EC_WORD_DOWN
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Charles
@ 285
.4byte TRAINER_CLASS_GUITARIST
.string "RAYMOND$", 8
@ pre-battle speech
- ec_word WANT
- ec_word TO
- ec_word HEAR
- ec_word MY
- ec_word SONG
- ec_word QUES
-@ win speech
- ec_word SATISFIED
- ec_word THAT_S
- ec_word WHAT
- ec_word I_AM
- ec_word EXCL
- .2byte -1
-@ loss speech
- ec_word SATISFIED
- ec_word IS
- ec_word WHAT
- ec_word I
- ec_word CAN_T
- ec_word BE
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_HEAR
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_SONG
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_SATISFIED
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_EXCL
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_SATISFIED
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_BE
.4byte gBattleFrontierTrainerMons_Raymond
@ 286
.4byte TRAINER_CLASS_BIRD_KEEPER
.string "DIRK$", 8
@ pre-battle speech
- ec_word FLYING
- ec_word POKEMON
- ec_word ARE
- ec_word ABOVE
- ec_word THE
- ec_move2 REST
-@ win speech
- ec_word YOU
- ec_word CAN_T_WIN
- ec_word EXCL
- ec_word FLYING
- ec_word POKEMON
- ec_word RULE
-@ loss speech
- ec_word AREN_T
- ec_word THERE
- ec_word MORE
- ec_word FLYING
- ec_word POKEMON
- ec_word QUES
+ .2byte EC_WORD_FLYING
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_ABOVE
+ .2byte EC_WORD_THE
+ .2byte EC_MOVE2(REST)
+@ win speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_CAN_T_WIN
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_FLYING
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_RULE
+@ loss speech
+ .2byte EC_WORD_AREN_T
+ .2byte EC_WORD_THERE
+ .2byte EC_WORD_MORE
+ .2byte EC_WORD_FLYING
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Dirk
@ 287
.4byte TRAINER_CLASS_BIRD_KEEPER
.string "HAROLD$", 8
@ pre-battle speech
- ec_word MY
- ec_word POKEMON
- ec_word APPEAL
- ec_word TO
- ec_word YOU
- ec_word QUES
-@ win speech
- ec_word YOU
- ec_word DO
- ec_word LIKE
- ec_word MY
- ec_word POKEMON
- ec_word QUES
-@ loss speech
- ec_word SO
- ec_word YOU
- ec_word DISLIKE
- ec_word MY
- ec_word POKEMON
- ec_word QUES
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_APPEAL
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_QUES
+@ win speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_DO
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_QUES
+@ loss speech
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_DISLIKE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Harold
@ 288
.4byte TRAINER_CLASS_SAILOR
.string "OMAR$", 8
@ pre-battle speech
- ec_word LET_ME_WIN
- ec_word IN
- ec_move1 RETURN
- ec_word FOR
- ec_word A
- ec_move2 PRESENT
-@ win speech
- ec_word HERE
- ec_word YOU
- ec_word ARE
- ec_word SOME
- ec_move2 TOXIC
- ec_word SWEETS
-@ loss speech
- ec_word YOUR
- ec_move2 PRESENT
- ec_word QUES
- ec_word WHAT
- ec_word FOR
- ec_word QUES_EXCL
+ .2byte EC_WORD_LET_ME_WIN
+ .2byte EC_WORD_IN
+ .2byte EC_MOVE(RETURN)
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_A
+ .2byte EC_MOVE2(PRESENT)
+@ win speech
+ .2byte EC_WORD_HERE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_SOME
+ .2byte EC_MOVE2(TOXIC)
+ .2byte EC_WORD_SWEETS
+@ loss speech
+ .2byte EC_WORD_YOUR
+ .2byte EC_MOVE2(PRESENT)
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_QUES_EXCL
.4byte gBattleFrontierTrainerMons_Omar
@ 289
.4byte TRAINER_CLASS_SAILOR
.string "PETER$", 8
@ pre-battle speech
- ec_word I
- ec_word BRAG
- ec_word ABOUT
- ec_word MY
- ec_word HAPPINESS
- ec_word OK_QUES
-@ win speech
- ec_word YOU
- ec_word HAVE
- ec_word TO
- ec_word LISTEN
- ec_word TO_ME
- ec_word BRAG
-@ loss speech
- ec_word I_AM
- ec_word DISAPPOINTED
- ec_word YOU
- ec_word WON_T
- ec_word LISTEN
- ec_word TO_ME
+ .2byte EC_WORD_I
+ .2byte EC_WORD_BRAG
+ .2byte EC_WORD_ABOUT
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_HAPPINESS
+ .2byte EC_WORD_OK_QUES
+@ win speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_LISTEN
+ .2byte EC_WORD_TO_ME
+ .2byte EC_WORD_BRAG
+@ loss speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_DISAPPOINTED
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_WON_T
+ .2byte EC_WORD_LISTEN
+ .2byte EC_WORD_TO_ME
.4byte gBattleFrontierTrainerMons_Peter
@ 290
.4byte TRAINER_CLASS_HIKER
.string "DEV$", 8
@ pre-battle speech
- ec_word COME_ON
- ec_word LET_S
- ec_word GET
- ec_word A
- ec_word MOVE
- ec_word ON
-@ win speech
- ec_word I
- ec_word GET
- ec_word TO
- ec_word NAP
- ec_word AFTER
- ec_word THAT
-@ loss speech
- ec_word I
- ec_word NEED
- ec_word TO
- ec_word NAP
- ec_word AFTER
- ec_word THAT
+ .2byte EC_WORD_COME_ON
+ .2byte EC_WORD_LET_S
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_A
+ .2byte EC_WORD_MOVE
+ .2byte EC_WORD_ON
+@ win speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_NAP
+ .2byte EC_WORD_AFTER
+ .2byte EC_WORD_THAT
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_NAP
+ .2byte EC_WORD_AFTER
+ .2byte EC_WORD_THAT
.4byte gBattleFrontierTrainerMons_Dev
@ 291
.4byte TRAINER_CLASS_HIKER
.string "COREY$", 8
@ pre-battle speech
- ec_word LET_S
- ec_word TEACH
- ec_word YOU
- ec_word HOW
- ec_word TOUGH
- ec_word I_AM
-@ win speech
- ec_word LOOK
- ec_word AT
- ec_word ME
- ec_word MAKE
- ec_word A
- ec_move1 BRICK_BREAK
-@ loss speech
- ec_word MY
- ec_move2 FRUSTRATION
- ec_word IS
- ec_word CLOSE
- ec_word TO
- ec_move2 ERUPTION
+ .2byte EC_WORD_LET_S
+ .2byte EC_WORD_TEACH
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_TOUGH
+ .2byte EC_WORD_I_AM
+@ win speech
+ .2byte EC_WORD_LOOK
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_MAKE
+ .2byte EC_WORD_A
+ .2byte EC_MOVE(BRICK_BREAK)
+@ loss speech
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(FRUSTRATION)
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_CLOSE
+ .2byte EC_WORD_TO
+ .2byte EC_MOVE2(ERUPTION)
.4byte gBattleFrontierTrainerMons_Corey
@ 292
.4byte TRAINER_CLASS_KINDLER
.string "ANDRE$", 8
@ pre-battle speech
- ec_word NOW
- ec_word THIS
- ec_word IS
- ec_word A
- ec_word PERFECT
- ec_word FLAME_BODY
-@ win speech
- ec_word LOOK
- ec_word AT
- ec_word MY
- ec_word FIERY
- ec_word DANCE
- ec_word EXCL
-@ loss speech
- ec_word YOU
- ec_word WANT
- ec_word AN
- ec_move2 EXPLOSION
- ec_word HERE
- ec_word QUES
+ .2byte EC_WORD_NOW
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_A
+ .2byte EC_WORD_PERFECT
+ .2byte EC_WORD_FLAME_BODY
+@ win speech
+ .2byte EC_WORD_LOOK
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_FIERY
+ .2byte EC_WORD_DANCE
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_AN
+ .2byte EC_MOVE2(EXPLOSION)
+ .2byte EC_WORD_HERE
+ .2byte EC_WORD_QUES
.4byte gBattleFrontierTrainerMons_Andre
@ 293
.4byte TRAINER_CLASS_KINDLER
.string "FERRIS$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word NO_1
- ec_word IN
- ec_word THE
- ec_word OLD
- ec_word CLASS
-@ win speech
- ec_word NO_1
- ec_word THAT_S
- ec_word WHAT
- ec_word I_AM
- ec_word EXCL
- .2byte -1
-@ loss speech
- ec_word I_AM
- ec_word NOT
- ec_word NO_1
- ec_word ANY
- ec_word MORE
- ec_word ELLIPSIS
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_NO_1
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_OLD
+ .2byte EC_WORD_CLASS
+@ win speech
+ .2byte EC_WORD_NO_1
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_EXCL
+ .2byte -1
+@ loss speech
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_NO_1
+ .2byte EC_WORD_ANY
+ .2byte EC_WORD_MORE
+ .2byte EC_WORD_ELLIPSIS
.4byte gBattleFrontierTrainerMons_Ferris
@ 294
.4byte TRAINER_CLASS_PARASOL_LADY
.string "ALIVIA$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word FEELING
- ec_word GIDDY
- ec_word SO
- ec_word SHOULD
- ec_word YOU
-@ win speech
- ec_word IT
- ec_word WAS
- ec_word ALL
- ec_word TOGETHER
- ec_word TOO
- ec_word EASY
-@ loss speech
- ec_word I
- ec_word WILL
- ec_word GIDDY
- ec_word UP
- ec_word AND
- ec_word AWAY
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_FEELING
+ .2byte EC_WORD_GIDDY
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_SHOULD
+ .2byte EC_WORD_YOU
+@ win speech
+ .2byte EC_WORD_IT
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_TOGETHER
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_EASY
+@ loss speech
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_GIDDY
+ .2byte EC_WORD_UP
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_AWAY
.4byte gBattleFrontierTrainerMons_Alivia
@ 295
.4byte TRAINER_CLASS_PARASOL_LADY
.string "PAIGE$", 8
@ pre-battle speech
- ec_word LET_S
- ec_word ENJOY
- ec_word OUR
- ec_word BATTLE
- ec_word TOGETHER
+ .2byte EC_WORD_LET_S
+ .2byte EC_WORD_ENJOY
+ .2byte EC_WORD_OUR
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_TOGETHER
.2byte -1
@ win speech
- ec_word THAT_S_IT_EXCL
+ .2byte EC_WORD_THAT_S_IT_EXCL
.2byte -1
.2byte -1
- ec_word THANK_YOU
- ec_word VERY
- ec_word MUCH
+ .2byte EC_WORD_THANK_YOU
+ .2byte EC_WORD_VERY
+ .2byte EC_WORD_MUCH
@ loss speech
- ec_word THAT_S_IT_EXCL
+ .2byte EC_WORD_THAT_S_IT_EXCL
.2byte -1
.2byte -1
- ec_word DO
- ec_word GO
- ec_word ON
+ .2byte EC_WORD_DO
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_ON
.4byte gBattleFrontierTrainerMons_Paige
@ 296
.4byte TRAINER_CLASS_BEAUTY
.string "ANYA$", 8
@ pre-battle speech
- ec_word I
- ec_word DISLIKE
- ec_word OH
- ec_word SO
- ec_word PRETTY
- ec_word FASHION
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DISLIKE
+ .2byte EC_WORD_OH
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_PRETTY
+ .2byte EC_WORD_FASHION
@ win speech
- ec_word FASHION
- ec_word SHOULD
- ec_word MATCH
- ec_word THE
- ec_word PERSON
+ .2byte EC_WORD_FASHION
+ .2byte EC_WORD_SHOULD
+ .2byte EC_WORD_MATCH
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_PERSON
.2byte -1
@ loss speech
- ec_word PRETTY
- ec_word COULD
- ec_word BE
- ec_word GOOD
+ .2byte EC_WORD_PRETTY
+ .2byte EC_WORD_COULD
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_GOOD
.2byte -1
.2byte -1
.4byte gBattleFrontierTrainerMons_Anya
@@ -7726,51 +7726,51 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_BEAUTY
.string "DAWN$", 8
@ pre-battle speech
- ec_word I
- ec_word GO
- ec_word ALL
- ec_word OUT
- ec_word EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_OUT
+ .2byte EC_WORD_EXCL
.2byte -1
@ win speech
- ec_word DON_T
- ec_word BE
- ec_word A
- ec_word BABY
- ec_word EXCL
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_BABY
+ .2byte EC_WORD_EXCL
.2byte -1
@ loss speech
- ec_word YOU
- ec_word WON
- ec_word EXCL
- ec_word MOVE
- ec_word ON
- ec_word EXCL
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_WON
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_MOVE
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_EXCL
.4byte gBattleFrontierTrainerMons_Dawn
@ 298
.4byte TRAINER_CLASS_AROMA_LADY
.string "ABBY$", 8
@ pre-battle speech
- ec_word I
- ec_word LIKE
- ec_word A
- ec_word TRAINER
- ec_word THAT_S
- ec_word REFRESHING
+ .2byte EC_WORD_I
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_TRAINER
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_REFRESHING
@ win speech
- ec_word VICTORY
- ec_word HAS
- ec_word A
- ec_move1 SWEET_SCENT
- ec_word EXCL
+ .2byte EC_WORD_VICTORY
+ .2byte EC_WORD_HAS
+ .2byte EC_WORD_A
+ .2byte EC_MOVE(SWEET_SCENT)
+ .2byte EC_WORD_EXCL
.2byte -1
@ loss speech
- ec_word WHAT
- ec_word AN
- ec_word AWFUL
- ec_word STENCH
- ec_word EXCL
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_AWFUL
+ .2byte EC_WORD_STENCH
+ .2byte EC_WORD_EXCL
.2byte -1
.4byte gBattleFrontierTrainerMons_Abby
@@ -7778,24 +7778,24 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte TRAINER_CLASS_AROMA_LADY
.string "GRETEL$", 8
@ pre-battle speech
- ec_word I
- ec_word CAUSE
- ec_move1 OUTRAGE
- ec_word AS
- ec_word A
- ec_word TRAINER
-@ win speech
- ec_word IT_S
- ec_word ONLY
- ec_word NATURAL
- ec_word SEE_YA
- ec_word BYE_BYE
- ec_word EXCL
-@ loss speech
- ec_word IT_S
- ec_word HARD
- ec_word TO
- ec_word BELIEVE
- ec_word BUT
- ec_word CONGRATS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CAUSE
+ .2byte EC_MOVE(OUTRAGE)
+ .2byte EC_WORD_AS
+ .2byte EC_WORD_A
+ .2byte EC_WORD_TRAINER
+@ win speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_ONLY
+ .2byte EC_WORD_NATURAL
+ .2byte EC_WORD_SEE_YA
+ .2byte EC_WORD_BYE_BYE
+ .2byte EC_WORD_EXCL
+@ loss speech
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_HARD
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_BELIEVE
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_CONGRATS
.4byte gBattleFrontierTrainerMons_Gretel
diff --git a/data/battle_frontier/fallarbor_battle_tent_trainers.inc b/data/battle_frontier/fallarbor_battle_tent_trainers.inc
index 049cca1ad..2574b7d86 100644
--- a/data/battle_frontier/fallarbor_battle_tent_trainers.inc
+++ b/data/battle_frontier/fallarbor_battle_tent_trainers.inc
@@ -4,103 +4,103 @@ gFallarborBattleTentTrainers:: @ 85DF084
.4byte TRAINER_CLASS_AROMA_LADY
.string "AMBER$", 8
@ pre-battle speech
- ec_word I
- ec_word HAVE
- ec_word TO
- ec_word DIET
- ec_word EVERY
- ec_word DAY
+ .2byte EC_WORD_I
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_DIET
+ .2byte EC_WORD_EVERY
+ .2byte EC_WORD_DAY
@ win speech
- ec_word A
- ec_move1 NIGHTMARE
- ec_word OF
- ec_word SWEETS
- ec_word SHOCKED
- ec_word ME
+ .2byte EC_WORD_A
+ .2byte EC_MOVE(NIGHTMARE)
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_SWEETS
+ .2byte EC_WORD_SHOCKED
+ .2byte EC_WORD_ME
@ loss speech
- ec_word IF
- ec_word YOU
- ec_word GIVE_UP
- ec_word YOU
- ec_word WILL
- ec_word LOSE
+ .2byte EC_WORD_IF
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_GIVE_UP
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_LOSE
.4byte gFallarborBattleTentTrainerMons_Amber
@ 1
.4byte TRAINER_CLASS_RUIN_MANIAC
.string "JAVIER$", 8
@ pre-battle speech
- ec_word I
- ec_word NEVER
- ec_word EVER
- ec_word HAVE
- ec_word ENOUGH
- ec_word MONEY
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEVER
+ .2byte EC_WORD_EVER
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_ENOUGH
+ .2byte EC_WORD_MONEY
@ win speech
- ec_word I
- ec_word WON
- ec_word BUT
- ec_word I
- ec_word NEED
- ec_word MONEY
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WON
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_MONEY
@ loss speech
- ec_word I
- ec_word NEED
- ec_word MONEY
- ec_word FOR
- ec_word A
- ec_word BIKE
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_MONEY
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_A
+ .2byte EC_WORD_BIKE
.4byte gFallarborBattleTentTrainerMons_Javier
@ 2
.4byte TRAINER_CLASS_TUBER_1
.string "NATALIE$", 8
@ pre-battle speech
- ec_word THE
- ec_word WAY
- ec_word I
- ec_word BATTLE
- ec_word IS
- ec_word WEIRD
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_WAY
+ .2byte EC_WORD_I
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_WEIRD
@ win speech
- ec_word YOU_RE
- ec_word MUCH
- ec_word TOO_WEAK
- ec_word FOR
- ec_word THIS
- ec_word PLACE
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_MUCH
+ .2byte EC_WORD_TOO_WEAK
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_PLACE
@ loss speech
- ec_word GIVE_ME
- ec_word AN
- ec_word EASY
- ec_word MATCH
- ec_word NEXT
- ec_word TIME
+ .2byte EC_WORD_GIVE_ME
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_EASY
+ .2byte EC_WORD_MATCH
+ .2byte EC_WORD_NEXT
+ .2byte EC_WORD_TIME
.4byte gFallarborBattleTentTrainerMons_Natalie
@ 3
.4byte TRAINER_CLASS_TUBER_2
.string "TREVE$", 8
@ pre-battle speech
- ec_word LOOK
- ec_word AT
- ec_word MY
- ec_move2 METRONOME
- ec_word AND
- ec_word SLEEP
+ .2byte EC_WORD_LOOK
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(METRONOME)
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_SLEEP
@ win speech
- ec_word YEAH
- ec_word EXCL
- ec_move1 HYPNOSIS
- ec_word IS
- ec_word TOTALLY
- ec_word GREAT
+ .2byte EC_WORD_YEAH
+ .2byte EC_WORD_EXCL
+ .2byte EC_MOVE(HYPNOSIS)
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_TOTALLY
+ .2byte EC_WORD_GREAT
@ loss speech
- ec_word MY
- ec_move1 HYPNOSIS
- ec_word DIDN_T
- ec_word WORK
- ec_word ELLIPSIS
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE(HYPNOSIS)
+ .2byte EC_WORD_DIDN_T
+ .2byte EC_WORD_WORK
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
.4byte gFallarborBattleTentTrainerMons_Treve
@@ -108,77 +108,77 @@ gFallarborBattleTentTrainers:: @ 85DF084
.4byte TRAINER_CLASS_LADY
.string "ARIANNA$", 8
@ pre-battle speech
- ec_word IF_I_WIN
- ec_word GIVE_ME
- ec_word POKEMON
- ec_word FOR
- ec_word MY
- ec_word COLLECTION
+ .2byte EC_WORD_IF_I_WIN
+ .2byte EC_WORD_GIVE_ME
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_COLLECTION
@ win speech
- ec_word YOUR
- ec_word POKEMON
- ec_word ARE
- ec_word TOO_WEAK
- ec_word TO
- ec_word COLLECT
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_TOO_WEAK
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_COLLECT
@ loss speech
- ec_word YOUR
- ec_word POKEMON
- ec_word ARE
- ec_word SOMETHING
- ec_word ELSE
- ec_word ELLIPSIS
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_SOMETHING
+ .2byte EC_WORD_ELSE
+ .2byte EC_WORD_ELLIPSIS
.4byte gFallarborBattleTentTrainerMons_Arianna
@ 5
.4byte TRAINER_CLASS_BEAUTY
.string "JADYN$", 8
@ pre-battle speech
- ec_word MY
- ec_word NAME
- ec_word IS
- ec_word REALLY
- ec_word A
- ec_word MYSTERY
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_NAME
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_A
+ .2byte EC_WORD_MYSTERY
@ win speech
- ec_word MY
- ec_word NAME
- ec_word GOES
- ec_word ON
- ec_word A
- ec_word MYSTERY
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_NAME
+ .2byte EC_WORD_GOES
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_A
+ .2byte EC_WORD_MYSTERY
@ loss speech
- ec_word MY
- ec_word NAME
- ec_word QUES
- ec_word I_AM
- ec_word YOUR
- ec_word MOTHER
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_NAME
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_MOTHER
.4byte gFallarborBattleTentTrainerMons_Jadyn
@ 6
.4byte TRAINER_CLASS_RICH_BOY
.string "GERARDO$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word THE
- ec_word BEST
- ec_word HERO
- ec_word EVER
- ec_word EXCL
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_BEST
+ .2byte EC_WORD_HERO
+ .2byte EC_WORD_EVER
+ .2byte EC_WORD_EXCL
@ win speech
- ec_word SEE
- ec_word WHAT
- ec_word I
- ec_word MEAN
- ec_word QUES
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_MEAN
+ .2byte EC_WORD_QUES
.2byte -1
@ loss speech
- ec_word HUH_QUES
- ec_word YOU
- ec_word WERE
- ec_word RIGHT
- ec_word QUES
+ .2byte EC_WORD_HUH_QUES
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_WERE
+ .2byte EC_WORD_RIGHT
+ .2byte EC_WORD_QUES
.2byte -1
.4byte gFallarborBattleTentTrainerMons_Gerardo
@@ -186,285 +186,285 @@ gFallarborBattleTentTrainers:: @ 85DF084
.4byte TRAINER_CLASS_POKEMANIAC
.string "JONN$", 8
@ pre-battle speech
- ec_word THE
- ec_word WORLD
- ec_move2 SUPERPOWER
- ec_move2 STOMP
- ec_word CONTEST
- ec_word EXCL_EXCL
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_WORLD
+ .2byte EC_MOVE2(SUPERPOWER)
+ .2byte EC_MOVE2(STOMP)
+ .2byte EC_WORD_CONTEST
+ .2byte EC_WORD_EXCL_EXCL
@ win speech
- ec_word I_AM
- ec_word NO_1
- ec_word EXCL_EXCL
- ec_word HEAR
- ec_word ME
- ec_move2 ROAR
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_NO_1
+ .2byte EC_WORD_EXCL_EXCL
+ .2byte EC_WORD_HEAR
+ .2byte EC_WORD_ME
+ .2byte EC_MOVE2(ROAR)
@ loss speech
- ec_word I
- ec_word GIVE_UP
- ec_word EXCL
- ec_word YOU_RE
- ec_word NO_1
- ec_word EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_GIVE_UP
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_NO_1
+ .2byte EC_WORD_EXCL
.4byte gFallarborBattleTentTrainerMons_Jonn
@ 8
.4byte TRAINER_CLASS_SWIMMER_M
.string "ESTEBAN$", 8
@ pre-battle speech
- ec_word YOU_RE
- ec_word A
- ec_word GOOD
- ec_word TRAINER
- ec_word QUES
- ec_word UNBELIEVABLE
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_GOOD
+ .2byte EC_WORD_TRAINER
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_UNBELIEVABLE
@ win speech
- ec_word YOU_RE
- ec_word SOME
- ec_word PUSHOVER
- ec_word OF
- ec_word A
- ec_word TRAINER
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_SOME
+ .2byte EC_WORD_PUSHOVER
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_A
+ .2byte EC_WORD_TRAINER
@ loss speech
- ec_word YOU_RE
- ec_word MUCH
- ec_word TOO
- ec_word MUCH
- ec_word FOR
- ec_word ME
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_MUCH
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_MUCH
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_ME
.4byte gFallarborBattleTentTrainerMons_Esteban
@ 9
.4byte TRAINER_CLASS_CAMPER
.string "JAMESON$", 8
@ pre-battle speech
- ec_word MY
- ec_word POKEMON
- ec_word ARE
- ec_word SILKY
- ec_word SMOOTH
- ec_word EXCL
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_SILKY
+ .2byte EC_WORD_SMOOTH
+ .2byte EC_WORD_EXCL
@ win speech
- ec_word MY
- ec_word SILKY
- ec_word SMOOTH
- ec_word POKEMON
- ec_word RULE
- ec_word EXCL
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_SILKY
+ .2byte EC_WORD_SMOOTH
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_RULE
+ .2byte EC_WORD_EXCL
@ loss speech
- ec_word MY
- ec_word POKEMON
- ec_move2 STRUGGLE
- ec_word IN
- ec_word YOUR
- ec_word STICKY_HOLD
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POKEMON
+ .2byte EC_MOVE2(STRUGGLE)
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_STICKY_HOLD
.4byte gFallarborBattleTentTrainerMons_Jameson
@ 10
.4byte TRAINER_CLASS_BUG_MANIAC
.string "ALANZO$", 8
@ pre-battle speech
- ec_move2 FORESIGHT
- ec_word IS
- ec_word A
- ec_word POWER
- ec_word I
- ec_word HAVE
+ .2byte EC_MOVE2(FORESIGHT)
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_A
+ .2byte EC_WORD_POWER
+ .2byte EC_WORD_I
+ .2byte EC_WORD_HAVE
@ win speech
- ec_word YOU_RE
- ec_word OBLIVIOUS
- ec_word ABOUT
- ec_move2 FORESIGHT
- ec_word EXCL
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_OBLIVIOUS
+ .2byte EC_WORD_ABOUT
+ .2byte EC_MOVE2(FORESIGHT)
+ .2byte EC_WORD_EXCL
.2byte -1
@ loss speech
- ec_word MY
- ec_move2 FORESIGHT
- ec_word IS
- ec_word ALWAYS
- ec_word RIGHT
- ec_word EXCL
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(FORESIGHT)
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_ALWAYS
+ .2byte EC_WORD_RIGHT
+ .2byte EC_WORD_EXCL
.4byte gFallarborBattleTentTrainerMons_Alanzo
@ 11
.4byte TRAINER_CLASS_GENTLEMAN
.string "HOWARD$", 8
@ pre-battle speech
- ec_word YOUR
- ec_word POKEMON
- ec_word CAN_T
- ec_word BEAT
- ec_word ME
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_BEAT
+ .2byte EC_WORD_ME
.2byte -1
@ win speech
- ec_word YOU
- ec_word COULDN_T
- ec_word WIN
- ec_word COULD
- ec_word YOU
- ec_word QUES
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_COULDN_T
+ .2byte EC_WORD_WIN
+ .2byte EC_WORD_COULD
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_QUES
@ loss speech
- ec_word YOU
- ec_word WOULD
- ec_word GO
- ec_word ALL
- ec_word OUT
- ec_word ELLIPSIS
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_WOULD
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_OUT
+ .2byte EC_WORD_ELLIPSIS
.4byte gFallarborBattleTentTrainerMons_Howard
@ 12
.4byte TRAINER_CLASS_GUITARIST
.string "CONRAD$", 8
@ pre-battle speech
- ec_word YOUR
- ec_word POKEMON
- ec_word ARE
- ec_word PRETTY
- ec_word WILD
- ec_word EXCL
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_PRETTY
+ .2byte EC_WORD_WILD
+ .2byte EC_WORD_EXCL
@ win speech
- ec_word WHOAH
- ec_word EXCL_EXCL
+ .2byte EC_WORD_WHOAH
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
- ec_word LET_S
- ec_word DANCE
- ec_word EXCL
+ .2byte EC_WORD_LET_S
+ .2byte EC_WORD_DANCE
+ .2byte EC_WORD_EXCL
@ loss speech
- ec_word MY
- ec_word MUSIC
- ec_word WILL
- ec_word PLAY
- ec_word ON
- ec_word ELLIPSIS
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_MUSIC
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_PLAY
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_ELLIPSIS
.4byte gFallarborBattleTentTrainerMons_Conrad
@ 13
.4byte TRAINER_CLASS_SCHOOL_KID_2
.string "MAKENNA$", 8
@ pre-battle speech
- ec_word SHOW
- ec_word ME
- ec_word THAT
- ec_word YOU
- ec_word MEAN
- ec_word IT
+ .2byte EC_WORD_SHOW
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_MEAN
+ .2byte EC_WORD_IT
@ win speech
- ec_word THAT_S
- ec_word WHY
- ec_word I
- ec_word STUDY
- ec_word EVERY
- ec_word DAY
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_WHY
+ .2byte EC_WORD_I
+ .2byte EC_WORD_STUDY
+ .2byte EC_WORD_EVERY
+ .2byte EC_WORD_DAY
@ loss speech
- ec_word AWW
- ec_word I
- ec_word STUDY
- ec_word EVERY
- ec_word DAY
- ec_word TOO
+ .2byte EC_WORD_AWW
+ .2byte EC_WORD_I
+ .2byte EC_WORD_STUDY
+ .2byte EC_WORD_EVERY
+ .2byte EC_WORD_DAY
+ .2byte EC_WORD_TOO
.4byte gFallarborBattleTentTrainerMons_Makenna
@ 14
.4byte TRAINER_CLASS_COOLTRAINER_1
.string "BRAYAN$", 8
@ pre-battle speech
- ec_word CAN
- ec_word YOU
- ec_word SEE
- ec_word MY
- ec_word POWER
- ec_word QUES
+ .2byte EC_WORD_CAN
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POWER
+ .2byte EC_WORD_QUES
@ win speech
- ec_word HOW
- ec_word BORING
- ec_word ELLIPSIS
- ec_word THIS
- ec_word IS
- ec_word GOOD_BYE
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_BORING
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_GOOD_BYE
@ loss speech
- ec_word AM
- ec_word I
- ec_word THE
- ec_word WEAK
- ec_word TRAINER
- ec_word QUES
+ .2byte EC_WORD_AM
+ .2byte EC_WORD_I
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_WEAK
+ .2byte EC_WORD_TRAINER
+ .2byte EC_WORD_QUES
.4byte gFallarborBattleTentTrainerMons_Brayan
@ 15
.4byte TRAINER_CLASS_COOLTRAINER_2
.string "MARIANA$", 8
@ pre-battle speech
- ec_word A
- ec_word LIE
- ec_word CAN
- ec_word BE
- ec_word KIND
- ec_word ELLIPSIS
+ .2byte EC_WORD_A
+ .2byte EC_WORD_LIE
+ .2byte EC_WORD_CAN
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_KIND
+ .2byte EC_WORD_ELLIPSIS
@ win speech
- ec_word THIS
- ec_word IS
- ec_word LIKE
- ec_word THE
- ec_word SUNDAY
- ec_word COMICS
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_SUNDAY
+ .2byte EC_WORD_COMICS
@ loss speech
- ec_word THIS
- ec_word IS
- ec_word LIKE
- ec_word FROM
- ec_word A
- ec_word MOVIE
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_FROM
+ .2byte EC_WORD_A
+ .2byte EC_WORD_MOVIE
.4byte gFallarborBattleTentTrainerMons_Mariana
@ 16
.4byte TRAINER_CLASS_POKEFAN_1
.string "SHELDON$", 8
@ pre-battle speech
- ec_word A
- ec_word POKEMON
- ec_word TEACHER
- ec_word GETS
- ec_word NO
- ec_move2 REST
+ .2byte EC_WORD_A
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_TEACHER
+ .2byte EC_WORD_GETS
+ .2byte EC_WORD_NO
+ .2byte EC_MOVE2(REST)
@ win speech
- ec_word MY
- ec_word SMARTNESS
- ec_word GETS
- ec_word ME
- ec_word EASY
- ec_word WINS
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_SMARTNESS
+ .2byte EC_WORD_GETS
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_EASY
+ .2byte EC_WORD_WINS
@ loss speech
- ec_word I
- ec_word HAVE
- ec_word TO
- ec_word GO
- ec_word WORK
- ec_word BYE_BYE
+ .2byte EC_WORD_I
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_WORK
+ .2byte EC_WORD_BYE_BYE
.4byte gFallarborBattleTentTrainerMons_Sheldon
@ 17
.4byte TRAINER_CLASS_POKEFAN_2
.string "GIANNA$", 8
@ pre-battle speech
- ec_word AHAHA
- ec_word YES
- ec_word EXCL
- ec_word LOVEY_DOVEY
- ec_word POKEMON
- ec_word WORLD
+ .2byte EC_WORD_AHAHA
+ .2byte EC_WORD_YES
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_LOVEY_DOVEY
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_WORLD
@ win speech
- ec_word MY
- ec_word SHINE
- ec_word IS
- ec_word MAKING
- ec_word THINGS
- ec_word BETTER
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_SHINE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_MAKING
+ .2byte EC_WORD_THINGS
+ .2byte EC_WORD_BETTER
@ loss speech
- ec_word DO
- ec_word YOU
- ec_word DISLIKE
- ec_word POKEMON
- ec_word QUES
+ .2byte EC_WORD_DO
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_DISLIKE
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_QUES
.2byte -1
.4byte gFallarborBattleTentTrainerMons_Gianna
@@ -472,257 +472,257 @@ gFallarborBattleTentTrainers:: @ 85DF084
.4byte TRAINER_CLASS_EXPERT_1
.string "YAHIR$", 8
@ pre-battle speech
- ec_word YOU
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word COME_ON
- ec_word EXCL
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS
+ .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS
+ .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS
+ .2byte EC_WORD_COME_ON
+ .2byte EC_WORD_EXCL
@ win speech
- ec_word YOU
- ec_word NEED
- ec_word TO
- ec_word TRAIN
- ec_word A_LOT
- ec_word MORE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_TRAIN
+ .2byte EC_WORD_A_LOT
+ .2byte EC_WORD_MORE
@ loss speech
- ec_word NOT
- ec_word ENOUGH
- ec_word ELLIPSIS
- ec_word JUST
- ec_word NOT
- ec_word ENOUGH
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_ENOUGH
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_JUST
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_ENOUGH
.4byte gFallarborBattleTentTrainerMons_Yahir
@ 19
.4byte TRAINER_CLASS_EXPERT_2
.string "BRITNEY$", 8
@ pre-battle speech
- ec_word IT
- ec_word SEEMS
- ec_word THAT
- ec_word YOU_RE
- ec_word QUITE
- ec_word GOOD
+ .2byte EC_WORD_IT
+ .2byte EC_WORD_SEEMS
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_QUITE
+ .2byte EC_WORD_GOOD
@ win speech
- ec_word YOU_RE
- ec_word A
- ec_word LUKEWARM
- ec_word TALENT
- ec_word AT
- ec_word BEST
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_LUKEWARM
+ .2byte EC_WORD_TALENT
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_BEST
@ loss speech
- ec_word YOU_RE
- ec_word A
- ec_word COOL
- ec_word HERO
- ec_word AT
- ec_word THIS
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_COOL
+ .2byte EC_WORD_HERO
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_THIS
.4byte gFallarborBattleTentTrainerMons_Britney
@ 20
.4byte TRAINER_CLASS_YOUNGSTER
.string "HECTER$", 8
@ pre-battle speech
- ec_word MY
- ec_move2 HIDDEN_POWER
- ec_word IS
- ec_word EXCITING
- ec_word ME
- ec_word EXCL
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(HIDDEN_POWER)
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_EXCITING
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_EXCL
@ win speech
- ec_word YEEHAW_EXCL
- ec_word LET_S
- ec_word HAVE
- ec_word A
- ec_move2 HIDDEN_POWER
- ec_word PARTY
+ .2byte EC_WORD_YEEHAW_EXCL
+ .2byte EC_WORD_LET_S
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_A
+ .2byte EC_MOVE2(HIDDEN_POWER)
+ .2byte EC_WORD_PARTY
@ loss speech
- ec_word WAAAH
- ec_word EXCL
- ec_word DON_T
- ec_word YOU
- ec_move2 MIMIC
- ec_word ME
+ .2byte EC_WORD_WAAAH
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_YOU
+ .2byte EC_MOVE2(MIMIC)
+ .2byte EC_WORD_ME
.4byte gFallarborBattleTentTrainerMons_Hecter
@ 21
.4byte TRAINER_CLASS_FISHERMAN
.string "TANNOR$", 8
@ pre-battle speech
- ec_word YOU
- ec_word HAVE
- ec_word GOT
- ec_word TO
- ec_word BE
- ec_word JOKING
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_GOT
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_JOKING
@ win speech
- ec_word YOU_RE
- ec_word THE
- ec_word BEST
- ec_word AT
- ec_word BEING
- ec_word FUNNY
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_BEST
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_BEING
+ .2byte EC_WORD_FUNNY
@ loss speech
- ec_word YOU
- ec_word WEREN_T
- ec_word BEING
- ec_word FUNNY
- ec_word AT
- ec_word ALL
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_WEREN_T
+ .2byte EC_WORD_BEING
+ .2byte EC_WORD_FUNNY
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_ALL
.4byte gFallarborBattleTentTrainerMons_Tannor
@ 22
.4byte TRAINER_CLASS_BIRD_KEEPER
.string "BENJI$", 8
@ pre-battle speech
- ec_word YOU
- ec_word DON_T
- ec_word THINK
- ec_word VERY
- ec_word FAST
- ec_word HUH_QUES
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_THINK
+ .2byte EC_WORD_VERY
+ .2byte EC_WORD_FAST
+ .2byte EC_WORD_HUH_QUES
@ win speech
- ec_word SORRY
- ec_word EXCL
- ec_word I
- ec_word DIDN_T
- ec_word MEAN
- ec_word YOU
+ .2byte EC_WORD_SORRY
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DIDN_T
+ .2byte EC_WORD_MEAN
+ .2byte EC_WORD_YOU
@ loss speech
- ec_word YOU
- ec_word LEFT
- ec_word ME
- ec_word FEELING
- ec_word SAD
- ec_word ELLIPSIS
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_LEFT
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_FEELING
+ .2byte EC_WORD_SAD
+ .2byte EC_WORD_ELLIPSIS
.4byte gFallarborBattleTentTrainerMons_Benji
@ 23
.4byte TRAINER_CLASS_NINJA_BOY
.string "RORY$", 8
@ pre-battle speech
- ec_word DON_T
- ec_word CAUSE
- ec_word AN
- ec_move1 UPROAR
- ec_word YOU
- ec_word EXCL
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_CAUSE
+ .2byte EC_WORD_AN
+ .2byte EC_MOVE(UPROAR)
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_EXCL
@ win speech
- ec_word I
- ec_word DON_T
- ec_word NEED
- ec_word AN
- ec_move1 UPROAR
- ec_word EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_AN
+ .2byte EC_MOVE(UPROAR)
+ .2byte EC_WORD_EXCL
@ loss speech
- ec_word I_AM
- ec_word GOING
- ec_word TO
- ec_word CAUSE
- ec_word AN
- ec_move1 UPROAR
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_CAUSE
+ .2byte EC_WORD_AN
+ .2byte EC_MOVE(UPROAR)
.4byte gFallarborBattleTentTrainerMons_Rory
@ 24
.4byte TRAINER_CLASS_PARASOL_LADY
.string "ELEANOR$", 8
@ pre-battle speech
- ec_word I
- ec_word REALLY
- ec_word WANT
- ec_word TO
- ec_word PARTY
+ .2byte EC_WORD_I
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_PARTY
.2byte -1
@ win speech
- ec_word A
- ec_word TRENDY
- ec_word PARTY
- ec_word WOULD
- ec_word BE
- ec_word REFRESHING
+ .2byte EC_WORD_A
+ .2byte EC_WORD_TRENDY
+ .2byte EC_WORD_PARTY
+ .2byte EC_WORD_WOULD
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_REFRESHING
@ loss speech
- ec_word DON_T
- ec_word YOU
- ec_word LIKE
- ec_word TO
- ec_word PARTY
- ec_word QUES
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_PARTY
+ .2byte EC_WORD_QUES
.4byte gFallarborBattleTentTrainerMons_Eleanor
@ 25
.4byte TRAINER_CLASS_SWIMMER_F
.string "EVELYN$", 8
@ pre-battle speech
- ec_word MY
- ec_word PC
- ec_word IS
- ec_word MY
- ec_word SECRET_BASE
- ec_word EXCL
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_PC
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_SECRET_BASE
+ .2byte EC_WORD_EXCL
@ win speech
- ec_word IT_S
- ec_word ALL
- ec_word SECRET
- ec_word ON
- ec_word MY
- ec_word PC
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_SECRET
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_PC
@ loss speech
- ec_word NO
- ec_word EXCL
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word I
- ec_word REJECT
- ec_word THIS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_REJECT
+ .2byte EC_WORD_THIS
.4byte gFallarborBattleTentTrainerMons_Evelyn
@ 26
.4byte TRAINER_CLASS_PICNICKER
.string "ARIELLE$", 8
@ pre-battle speech
- ec_word IT_S
- ec_word NOT_VERY
- ec_word PRETTY
- ec_word BUT
- ec_word I
- ec_word TRY
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_NOT_VERY
+ .2byte EC_WORD_PRETTY
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_TRY
@ win speech
- ec_word WE_RE
- ec_word NOT_VERY
- ec_word PRETTY
- ec_word BUT
- ec_word WE_RE
- ec_word GREAT
+ .2byte EC_WORD_WE_RE
+ .2byte EC_WORD_NOT_VERY
+ .2byte EC_WORD_PRETTY
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_WE_RE
+ .2byte EC_WORD_GREAT
@ loss speech
- ec_word THAT_WAS
- ec_word PRETTY
- ec_word MEAN
- ec_word OF
- ec_word YOU
- ec_word EXCL
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_PRETTY
+ .2byte EC_WORD_MEAN
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_EXCL
.4byte gFallarborBattleTentTrainerMons_Arielle
@ 27
.4byte TRAINER_CLASS_SAILOR
.string "CONNAR$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word NOT
- ec_word STRONG
- ec_word ENOUGH
- ec_word FOR
- ec_word THIS
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_STRONG
+ .2byte EC_WORD_ENOUGH
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_THIS
@ win speech
- ec_word DO
- ec_word YOU
- ec_word THINK
- ec_word YOU_RE
- ec_word OK_QUES
+ .2byte EC_WORD_DO
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_THINK
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_OK_QUES
.2byte -1
@ loss speech
- ec_word GOOD_BYE
- ec_word AND
- ec_word THANK_YOU
+ .2byte EC_WORD_GOOD_BYE
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_THANK_YOU
.2byte -1
.2byte -1
.2byte -1
@@ -732,50 +732,50 @@ gFallarborBattleTentTrainers:: @ 85DF084
.4byte TRAINER_CLASS_COLLECTOR
.string "MAURICE$", 8
@ pre-battle speech
- ec_word THERE
- ec_word IS
- ec_word NO
- ec_word RADIO
- ec_word OR
- ec_word TELEVISION
+ .2byte EC_WORD_THERE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_RADIO
+ .2byte EC_WORD_OR
+ .2byte EC_WORD_TELEVISION
@ win speech
- ec_word BUT
- ec_word THERE
- ec_word IS
- ec_word A_LOT
- ec_word OF
- ec_word POKEMON
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_THERE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_A_LOT
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_POKEMON
@ loss speech
- ec_word I
- ec_word CAN_T
- ec_word ENJOY
- ec_word MYSELF
- ec_word WITHOUT
- ec_word MONEY
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_ENJOY
+ .2byte EC_WORD_MYSELF
+ .2byte EC_WORD_WITHOUT
+ .2byte EC_WORD_MONEY
.4byte gFallarborBattleTentTrainerMons_Maurice
@ 29
.4byte TRAINER_CLASS_LASS
.string "KIANNA$", 8
@ pre-battle speech
- ec_word I
- ec_word WANT
- ec_word TO
- ec_word GO
- ec_word DEPT_STORE
- ec_word SHOPPING
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_DEPT_STORE
+ .2byte EC_WORD_SHOPPING
@ win speech
- ec_word I
- ec_word DISLIKE
- ec_word SHOPPING
- ec_word ALONE
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DISLIKE
+ .2byte EC_WORD_SHOPPING
+ .2byte EC_WORD_ALONE
.2byte -1
.2byte -1
@ loss speech
- ec_word WANT
- ec_word TO
- ec_word GO
- ec_word SHOPPING
- ec_word TOGETHER
- ec_word QUES
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_SHOPPING
+ .2byte EC_WORD_TOGETHER
+ .2byte EC_WORD_QUES
.4byte gFallarborBattleTentTrainerMons_Kianna
diff --git a/data/battle_frontier/slateport_battle_tent_trainers.inc b/data/battle_frontier/slateport_battle_tent_trainers.inc
index 00b874c07..9d6900149 100644
--- a/data/battle_frontier/slateport_battle_tent_trainers.inc
+++ b/data/battle_frontier/slateport_battle_tent_trainers.inc
@@ -4,205 +4,205 @@ gSlateportBattleTentTrainers:: @ 85DDA14
.4byte TRAINER_CLASS_AROMA_LADY
.string "JOLIE$", 8
@ pre-battle speech
- ec_word WHAT
- ec_word WILL
- ec_word I
- ec_word BE
- ec_word TOMORROW
- ec_word QUES
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_TOMORROW
+ .2byte EC_WORD_QUES
@ win speech
- ec_word I_AM
- ec_word FEELING
- ec_word LIKE
- ec_word IT_S
- ec_word FRIDAY
- ec_word EXCL
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_FEELING
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_FRIDAY
+ .2byte EC_WORD_EXCL
@ loss speech
- ec_word I_AM
- ec_word FEELING
- ec_word LIKE
- ec_word IT_S
- ec_word MONDAY
- ec_word ELLIPSIS
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_FEELING
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_MONDAY
+ .2byte EC_WORD_ELLIPSIS
.4byte gSlateportBattleTentTrainerMons_Jolie
@ 1
.4byte TRAINER_CLASS_RUIN_MANIAC
.string "MALACHI$", 8
@ pre-battle speech
- ec_word BAD
- ec_word NEWS
- ec_word EXCL
- ec_word IT_S
- ec_word A
- ec_move1 SAND_TOMB
+ .2byte EC_WORD_BAD
+ .2byte EC_WORD_NEWS
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_A
+ .2byte EC_MOVE(SAND_TOMB)
@ win speech
- ec_word YEEHAW_EXCL
+ .2byte EC_WORD_YEEHAW_EXCL
.2byte -1
.2byte -1
- ec_word I_VE
- ec_word DONE
- ec_word IT
+ .2byte EC_WORD_I_VE
+ .2byte EC_WORD_DONE
+ .2byte EC_WORD_IT
@ loss speech
- ec_word I_VE
- ec_word LOST
- ec_word IN
- ec_word THIS
- ec_move1 SAND_TOMB
- ec_word ELLIPSIS
+ .2byte EC_WORD_I_VE
+ .2byte EC_WORD_LOST
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_THIS
+ .2byte EC_MOVE(SAND_TOMB)
+ .2byte EC_WORD_ELLIPSIS
.4byte gSlateportBattleTentTrainerMons_Malachi
@ 2
.4byte TRAINER_CLASS_TUBER_1
.string "KELSIE$", 8
@ pre-battle speech
- ec_word GO
- ec_word EXCL_EXCL
- ec_word MY
- ec_word BATH
- ec_word POKEMON
- ec_word EXCL_EXCL
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_EXCL_EXCL
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_BATH
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_EXCL_EXCL
@ win speech
- ec_word YAHOO
- ec_word EXCL_EXCL
- ec_word MY
- ec_word BATH
- ec_word POKEMON
- ec_word EXCL_EXCL
+ .2byte EC_WORD_YAHOO
+ .2byte EC_WORD_EXCL_EXCL
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_BATH
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_EXCL_EXCL
@ loss speech
- ec_word GWAH
- ec_word EXCL_EXCL
- ec_word MY
- ec_word BATH
- ec_word POKEMON
- ec_word EXCL_EXCL
+ .2byte EC_WORD_GWAH
+ .2byte EC_WORD_EXCL_EXCL
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_BATH
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_EXCL_EXCL
.4byte gSlateportBattleTentTrainerMons_Kelsie
@ 3
.4byte TRAINER_CLASS_TUBER_2
.string "DAVON$", 8
@ pre-battle speech
- ec_word YEAH_YEAH
- ec_word EXCL_EXCL
+ .2byte EC_WORD_YEAH_YEAH
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
- ec_word GREAT
- ec_move1 WHIRLPOOL
- ec_word ISN_T_IT_QUES
+ .2byte EC_WORD_GREAT
+ .2byte EC_MOVE(WHIRLPOOL)
+ .2byte EC_WORD_ISN_T_IT_QUES
@ win speech
- ec_word THAT_WAS
- ec_word LIKE
- ec_word A
- ec_move1 WHIRLPOOL
- ec_word YEAH_YEAH
- ec_word EXCL_EXCL
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_A
+ .2byte EC_MOVE(WHIRLPOOL)
+ .2byte EC_WORD_YEAH_YEAH
+ .2byte EC_WORD_EXCL_EXCL
@ loss speech
- ec_word DON_T
- ec_word GET
- ec_move2 BEAT_UP
- ec_word IN
- ec_word THAT
- ec_move1 WHIRLPOOL
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_GET
+ .2byte EC_MOVE2(BEAT_UP)
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_THAT
+ .2byte EC_MOVE(WHIRLPOOL)
.4byte gSlateportBattleTentTrainerMons_Davon
@ 4
.4byte TRAINER_CLASS_LADY
.string "GLENDA$", 8
@ pre-battle speech
- ec_word CONVERSATION
- ec_word CAN
- ec_word WAIT
- ec_word UNTIL
- ec_word I
- ec_word WIN
+ .2byte EC_WORD_CONVERSATION
+ .2byte EC_WORD_CAN
+ .2byte EC_WORD_WAIT
+ .2byte EC_WORD_UNTIL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WIN
@ win speech
- ec_word FABULOUS
- ec_word EXCL
- ec_word I_AM
- ec_word GOING
- ec_word TO
- ec_word ROCK
+ .2byte EC_WORD_FABULOUS
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_ROCK
@ loss speech
- ec_word NO
- ec_word EXCL
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word I
- ec_word WASN_T
- ec_word SERIOUS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WASN_T
+ .2byte EC_WORD_SERIOUS
.4byte gSlateportBattleTentTrainerMons_Glenda
@ 5
.4byte TRAINER_CLASS_BEAUTY
.string "HELENA$", 8
@ pre-battle speech
- ec_word DOES
- ec_word MY
- ec_word BEAUTY
- ec_word INTIMIDATE
- ec_word YOU
- ec_word QUES
+ .2byte EC_WORD_DOES
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_BEAUTY
+ .2byte EC_WORD_INTIMIDATE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_QUES
@ win speech
- ec_word I_AM
- ec_word SO
- ec_word SORRY
- ec_word BUT
- ec_word YOU_RE
- ec_word BORING
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_SORRY
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_BORING
@ loss speech
- ec_word I
- ec_word DO
- ec_word SO
- ec_word ENJOY
- ec_word THIS
- ec_word EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DO
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_ENJOY
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_EXCL
.4byte gSlateportBattleTentTrainerMons_Helena
@ 6
.4byte TRAINER_CLASS_RICH_BOY
.string "RODOLFO$", 8
@ pre-battle speech
- ec_word GO
- ec_word GET
- ec_word A
- ec_pokemon1 WHISCASH
- ec_word FOR
- ec_word ME
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_A
+ .2byte EC_POKEMON(WHISCASH)
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_ME
@ win speech
- ec_word AWW
- ec_word YOU
- ec_word DON_T
- ec_word HAVE
- ec_word A
- ec_pokemon1 WHISCASH
+ .2byte EC_WORD_AWW
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_A
+ .2byte EC_POKEMON(WHISCASH)
@ loss speech
- ec_word PLEASE
- ec_word I
- ec_word NEED
- ec_word A
- ec_pokemon1 WHISCASH
- ec_word BADLY
+ .2byte EC_WORD_PLEASE
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_A
+ .2byte EC_POKEMON(WHISCASH)
+ .2byte EC_WORD_BADLY
.4byte gSlateportBattleTentTrainerMons_Rodolfo
@ 7
.4byte TRAINER_CLASS_POKEMANIAC
.string "DAVION$", 8
@ pre-battle speech
- ec_word GRAAAH
- ec_word GRAAAH
- ec_word EXCL_EXCL
- ec_word GRAAAH
- ec_word GRAAAH
- ec_word EXCL_EXCL
+ .2byte EC_WORD_GRAAAH
+ .2byte EC_WORD_GRAAAH
+ .2byte EC_WORD_EXCL_EXCL
+ .2byte EC_WORD_GRAAAH
+ .2byte EC_WORD_GRAAAH
+ .2byte EC_WORD_EXCL_EXCL
@ win speech
- ec_move2 ROAR
- ec_word EXCL
+ .2byte EC_MOVE2(ROAR)
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_move2 ROAR
- ec_word EXCL_EXCL
+ .2byte EC_MOVE2(ROAR)
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
@ loss speech
- ec_word URGH
- ec_word WAAAH
- ec_word EXCL_EXCL
+ .2byte EC_WORD_URGH
+ .2byte EC_WORD_WAAAH
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
.2byte -1
.2byte -1
@@ -212,285 +212,285 @@ gSlateportBattleTentTrainers:: @ 85DDA14
.4byte TRAINER_CLASS_SWIMMER_M
.string "KENDALL$", 8
@ pre-battle speech
- ec_word A_LITTLE
- ec_move2 PETAL_DANCE
- ec_word TO
- ec_word PLEASE
- ec_word YOU
- ec_word EXCL
+ .2byte EC_WORD_A_LITTLE
+ .2byte EC_MOVE2(PETAL_DANCE)
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_PLEASE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_EXCL
@ win speech
- ec_word I
- ec_word DO
- ec_word THIS
- ec_word ONLY
- ec_word FOR
- ec_word WORK
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DO
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_ONLY
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_WORK
@ loss speech
- ec_word HOW
- ec_word COULD
- ec_word YOU
- ec_move2 POUND
- ec_word ME
- ec_word QUES
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_COULD
+ .2byte EC_WORD_YOU
+ .2byte EC_MOVE2(POUND)
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_QUES
.4byte gSlateportBattleTentTrainerMons_Kendall
@ 9
.4byte TRAINER_CLASS_CAMPER
.string "COLTEN$", 8
@ pre-battle speech
- ec_word I
- ec_word WANT
- ec_word TO
- ec_word GO
- ec_word RUN
- ec_word AROUND
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_RUN
+ .2byte EC_WORD_AROUND
@ win speech
- ec_word YAY
- ec_word EXCL
- ec_word WANT
- ec_word TO
- ec_word RUN
- ec_word QUES
+ .2byte EC_WORD_YAY
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_RUN
+ .2byte EC_WORD_QUES
@ loss speech
- ec_word A
- ec_word SWIFT_SWIM
- ec_word WOULD
- ec_word BE
- ec_word GOOD
- ec_word TOO
+ .2byte EC_WORD_A
+ .2byte EC_WORD_SWIFT_SWIM
+ .2byte EC_WORD_WOULD
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_GOOD
+ .2byte EC_WORD_TOO
.4byte gSlateportBattleTentTrainerMons_Colten
@ 10
.4byte TRAINER_CLASS_BUG_MANIAC
.string "IRVIN$", 8
@ pre-battle speech
- ec_word HAVE
- ec_word A
- ec_word LOOK
- ec_word AT
- ec_word MY
- ec_move1 CONFUSE_RAY
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_LOOK
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE(CONFUSE_RAY)
@ win speech
- ec_word YAHOO
- ec_word MY
- ec_move1 CONFUSE_RAY
- ec_word IS
- ec_word THE
- ec_word BEST
+ .2byte EC_WORD_YAHOO
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE(CONFUSE_RAY)
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_BEST
@ loss speech
- ec_word GWAH
- ec_word EXCL_EXCL
+ .2byte EC_WORD_GWAH
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
- ec_word I_AM
- ec_word SORRY
- ec_word EXCL
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SORRY
+ .2byte EC_WORD_EXCL
.4byte gSlateportBattleTentTrainerMons_Irvin
@ 11
.4byte TRAINER_CLASS_GENTLEMAN
.string "SHAUN$", 8
@ pre-battle speech
- ec_word LISTEN
- ec_word ELLIPSIS
- ec_word YOU
- ec_word AREN_T
- ec_word VERY
- ec_word GOOD
+ .2byte EC_WORD_LISTEN
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_AREN_T
+ .2byte EC_WORD_VERY
+ .2byte EC_WORD_GOOD
@ win speech
- ec_word YOU
- ec_word SEE
- ec_word QUES
- ec_word I
- ec_word WAS
- ec_word RIGHT
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_RIGHT
@ loss speech
- ec_word YES
- ec_word YES
- ec_word ELLIPSIS
- ec_word YOU_RE
- ec_word QUITE
- ec_word SOMETHING
+ .2byte EC_WORD_YES
+ .2byte EC_WORD_YES
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_QUITE
+ .2byte EC_WORD_SOMETHING
.4byte gSlateportBattleTentTrainerMons_Shaun
@ 12
.4byte TRAINER_CLASS_GUITARIST
.string "KYLER$", 8
@ pre-battle speech
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word QUES
+ .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS
+ .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS
+ .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS
+ .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS
+ .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS
+ .2byte EC_WORD_QUES
@ win speech
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word YAY
+ .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS
+ .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS
+ .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS
+ .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS
+ .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS
+ .2byte EC_WORD_YAY
@ loss speech
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word WOW
+ .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS
+ .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS
+ .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS
+ .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS
+ .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS
+ .2byte EC_WORD_WOW
.4byte gSlateportBattleTentTrainerMons_Kyler
@ 13
.4byte TRAINER_CLASS_SCHOOL_KID_2
.string "MAGGIE$", 8
@ pre-battle speech
- ec_pokemon1 VULPIX
- ec_pokemon1 XATU
- ec_pokemon2 UMBREON
- ec_word ELLIPSIS
- ec_word UM
- ec_word ELLIPSIS
+ .2byte EC_POKEMON(VULPIX)
+ .2byte EC_POKEMON(XATU)
+ .2byte EC_POKEMON2(UMBREON)
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_UM
+ .2byte EC_WORD_ELLIPSIS
@ win speech
- ec_pokemon1 NOSEPASS
- ec_word ELLIPSIS
- ec_word UM
- ec_pokemon1 SEVIPER
- ec_word EXCL
+ .2byte EC_POKEMON(NOSEPASS)
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_UM
+ .2byte EC_POKEMON(SEVIPER)
+ .2byte EC_WORD_EXCL
.2byte -1
@ loss speech
- ec_pokemon1 NOSEPASS
- ec_word ELLIPSIS
- ec_word UM
- ec_pokemon2 SNORLAX
- ec_word ELLIPSIS
- ec_word UH_OH
+ .2byte EC_POKEMON(NOSEPASS)
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_UM
+ .2byte EC_POKEMON2(SNORLAX)
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_UH_OH
.4byte gSlateportBattleTentTrainerMons_Maggie
@ 14
.4byte TRAINER_CLASS_COOLTRAINER_1
.string "STEPHON$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word GOING
- ec_word TO
- ec_word ENJOY
- ec_word AN
- ec_word EGG
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_ENJOY
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_EGG
@ win speech
- ec_word I
- ec_word WILL
- ec_word ENJOY
- ec_word THIS
- ec_word TASTY
- ec_word VICTORY
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_ENJOY
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_TASTY
+ .2byte EC_WORD_VICTORY
@ loss speech
- ec_word AWFUL
- ec_word EXCL_EXCL
+ .2byte EC_WORD_AWFUL
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
- ec_word JUST
- ec_word AWFUL
- ec_word EXCL_EXCL
+ .2byte EC_WORD_JUST
+ .2byte EC_WORD_AWFUL
+ .2byte EC_WORD_EXCL_EXCL
.4byte gSlateportBattleTentTrainerMons_Stephon
@ 15
.4byte TRAINER_CLASS_COOLTRAINER_2
.string "REBECCA$", 8
@ pre-battle speech
- ec_word THAT
- ec_word EGG
- ec_word HAS
- ec_word A
- ec_word TASTY
- ec_word SHINE
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_EGG
+ .2byte EC_WORD_HAS
+ .2byte EC_WORD_A
+ .2byte EC_WORD_TASTY
+ .2byte EC_WORD_SHINE
@ win speech
- ec_word I
- ec_word CAN_T
- ec_word EXCL
- ec_word SMELL
- ec_word THAT
- ec_word STENCH
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_SMELL
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_STENCH
@ loss speech
- ec_word YOU
- ec_word CAN_T
- ec_word MAKE
- ec_word ME
- ec_word STOP
- ec_word ELLIPSIS
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_MAKE
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_STOP
+ .2byte EC_WORD_ELLIPSIS
.4byte gSlateportBattleTentTrainerMons_Rebecca
@ 16
.4byte TRAINER_CLASS_POKEFAN_1
.string "REGGIE$", 8
@ pre-battle speech
- ec_word POKEMON
- ec_word COME
- ec_word BEFORE
- ec_word MONEY
- ec_word OR
- ec_word FAMILY
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_COME
+ .2byte EC_WORD_BEFORE
+ .2byte EC_WORD_MONEY
+ .2byte EC_WORD_OR
+ .2byte EC_WORD_FAMILY
@ win speech
- ec_word THAT_S
- ec_word WHAT
- ec_word IS
- ec_word MAKING
- ec_word ME
- ec_word STRONG
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_MAKING
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_STRONG
@ loss speech
- ec_word THAT_S
- ec_word WHY
- ec_word I_AM
- ec_word SO
- ec_word THICK
- ec_word ELLIPSIS
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_WHY
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_THICK
+ .2byte EC_WORD_ELLIPSIS
.4byte gSlateportBattleTentTrainerMons_Reggie
@ 17
.4byte TRAINER_CLASS_POKEFAN_2
.string "JANAE$", 8
@ pre-battle speech
- ec_word I
- ec_word JUST
- ec_word ADORE
- ec_word YOUR
- ec_word TOUGH
- ec_word LOOK
+ .2byte EC_WORD_I
+ .2byte EC_WORD_JUST
+ .2byte EC_WORD_ADORE
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_TOUGH
+ .2byte EC_WORD_LOOK
@ win speech
- ec_word I
- ec_word LIKE
- ec_word HOW
- ec_word YOU
- ec_move2 STRUGGLE
+ .2byte EC_WORD_I
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_YOU
+ .2byte EC_MOVE2(STRUGGLE)
.2byte -1
@ loss speech
- ec_word YOU_RE
- ec_word A
- ec_word MEAN
- ec_word AND
- ec_word AWFUL
- ec_word TRAINER
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_MEAN
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_AWFUL
+ .2byte EC_WORD_TRAINER
.4byte gSlateportBattleTentTrainerMons_Janae
@ 18
.4byte TRAINER_CLASS_EXPERT_1
.string "CAIDEN$", 8
@ pre-battle speech
- ec_word MY
- ec_move2 CURSE
- ec_word WILL
- ec_word BREAK
- ec_word YOUR
- ec_word SPIRIT
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(CURSE)
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_BREAK
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_SPIRIT
@ win speech
- ec_move2 CURSE
- ec_word QUES
- ec_word IT_S
- ec_word A
- ec_word LIE
- ec_word ELLIPSIS
+ .2byte EC_MOVE2(CURSE)
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_A
+ .2byte EC_WORD_LIE
+ .2byte EC_WORD_ELLIPSIS
@ loss speech
- ec_word MY
- ec_move2 CURSE
- ec_word WILL
- ec_word LAST
- ec_word FOREVER
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE2(CURSE)
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_LAST
+ .2byte EC_WORD_FOREVER
.2byte -1
.4byte gSlateportBattleTentTrainerMons_Caiden
@@ -498,77 +498,77 @@ gSlateportBattleTentTrainers:: @ 85DDA14
.4byte TRAINER_CLASS_EXPERT_2
.string "KIRSTEN$", 8
@ pre-battle speech
- ec_word HUH_QUES
- ec_word A
- ec_word BATTLE
- ec_word YOU
- ec_word SAID
- ec_word QUES
+ .2byte EC_WORD_HUH_QUES
+ .2byte EC_WORD_A
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_SAID
+ .2byte EC_WORD_QUES
@ win speech
- ec_word HUH_QUES
- ec_word STRONG
- ec_word BUT
- ec_word NOT
- ec_word STRONG
- ec_word ENOUGH
+ .2byte EC_WORD_HUH_QUES
+ .2byte EC_WORD_STRONG
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_STRONG
+ .2byte EC_WORD_ENOUGH
@ loss speech
- ec_word HUH_QUES
- ec_word I
- ec_word SURRENDER
- ec_word TO
- ec_word YOUR
- ec_move1 STRENGTH
+ .2byte EC_WORD_HUH_QUES
+ .2byte EC_WORD_I
+ .2byte EC_WORD_SURRENDER
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_YOUR
+ .2byte EC_MOVE(STRENGTH)
.4byte gSlateportBattleTentTrainerMons_Kirsten
@ 20
.4byte TRAINER_CLASS_YOUNGSTER
.string "KURTIS$", 8
@ pre-battle speech
- ec_word SORRY
- ec_word YOU_RE
- ec_word GOING
- ec_word TO
- ec_word GET
- ec_move2 BEAT_UP
+ .2byte EC_WORD_SORRY
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_GET
+ .2byte EC_MOVE2(BEAT_UP)
@ win speech
- ec_word I
- ec_word SAID
- ec_word WE
- ec_word WOULD
- ec_move2 POUND
- ec_word YOU
+ .2byte EC_WORD_I
+ .2byte EC_WORD_SAID
+ .2byte EC_WORD_WE
+ .2byte EC_WORD_WOULD
+ .2byte EC_MOVE2(POUND)
+ .2byte EC_WORD_YOU
@ loss speech
- ec_word HOW
- ec_word DID
- ec_word I
- ec_word GET
- ec_move2 BEAT_UP
- ec_word QUES
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_DID
+ .2byte EC_WORD_I
+ .2byte EC_WORD_GET
+ .2byte EC_MOVE2(BEAT_UP)
+ .2byte EC_WORD_QUES
.4byte gSlateportBattleTentTrainerMons_Kurtis
@ 21
.4byte TRAINER_CLASS_FISHERMAN
.string "STEFAN$", 8
@ pre-battle speech
- ec_word I
- ec_word ONLY
- ec_word WANT
- ec_word CUTE
- ec_word POKEMON
+ .2byte EC_WORD_I
+ .2byte EC_WORD_ONLY
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_CUTE
+ .2byte EC_WORD_POKEMON
.2byte -1
@ win speech
- ec_word WHAT
- ec_word IS
- ec_word IT
- ec_word TO
- ec_word YOU
- ec_word QUES
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_IT
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_QUES
@ loss speech
- ec_word YOU_RE
- ec_word KIND
- ec_word OF
- ec_word AWESOME
- ec_word ELLIPSIS
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_KIND
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_AWESOME
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
.4byte gSlateportBattleTentTrainerMons_Stefan
@@ -576,51 +576,51 @@ gSlateportBattleTentTrainers:: @ 85DDA14
.4byte TRAINER_CLASS_BIRD_KEEPER
.string "AVERY$", 8
@ pre-battle speech
- ec_word TOYS
- ec_word EXCL
- ec_word I
- ec_word NEED
- ec_word MORE
- ec_word TOYS
+ .2byte EC_WORD_TOYS
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_MORE
+ .2byte EC_WORD_TOYS
@ win speech
- ec_word I
- ec_word NEED
- ec_word SOME
- ec_word EASY
- ec_word MONEY
- ec_word FAST
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_SOME
+ .2byte EC_WORD_EASY
+ .2byte EC_WORD_MONEY
+ .2byte EC_WORD_FAST
@ loss speech
- ec_word I
- ec_word NEED
- ec_word TO
- ec_word WORK
- ec_word FOR
- ec_word MONEY
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_WORK
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_MONEY
.4byte gSlateportBattleTentTrainerMons_Avery
@ 23
.4byte TRAINER_CLASS_NINJA_BOY
.string "DWANE$", 8
@ pre-battle speech
- ec_word MMM
- ec_word TASTY
- ec_word ELLIPSIS
- ec_word WONDER
- ec_word WHAT
- ec_word QUES
+ .2byte EC_WORD_MMM
+ .2byte EC_WORD_TASTY
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_WONDER
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_QUES
@ win speech
- ec_word MMM
- ec_word MMM
- ec_word ELLIPSIS
- ec_word YOU
- ec_word DON_T
- ec_word KNOW
+ .2byte EC_WORD_MMM
+ .2byte EC_WORD_MMM
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_KNOW
@ loss speech
- ec_word MMM
- ec_word MMM
- ec_word ELLIPSIS
- ec_word OH_YEAH
- ec_word THIS_IS_IT_EXCL
+ .2byte EC_WORD_MMM
+ .2byte EC_WORD_MMM
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_OH_YEAH
+ .2byte EC_WORD_THIS_IS_IT_EXCL
.2byte -1
.4byte gSlateportBattleTentTrainerMons_Dwane
@@ -628,21 +628,21 @@ gSlateportBattleTentTrainers:: @ 85DDA14
.4byte TRAINER_CLASS_PARASOL_LADY
.string "MCKENNA$", 8
@ pre-battle speech
- ec_word I
- ec_word DISLIKE
- ec_word SMALL
- ec_word TALK
- ec_word LET_S
- ec_word GO
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DISLIKE
+ .2byte EC_WORD_SMALL
+ .2byte EC_WORD_TALK
+ .2byte EC_WORD_LET_S
+ .2byte EC_WORD_GO
@ win speech
- ec_word YUP
- ec_word THAT_S
- ec_word THAT
+ .2byte EC_WORD_YUP
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_THAT
.2byte -1
.2byte -1
.2byte -1
@ loss speech
- ec_word KTHX_BYE
+ .2byte EC_WORD_KTHX_BYE
.2byte -1
.2byte -1
.2byte -1
@@ -654,51 +654,51 @@ gSlateportBattleTentTrainers:: @ 85DDA14
.4byte TRAINER_CLASS_SWIMMER_F
.string "CAMRYN$", 8
@ pre-battle speech
- ec_word MR
- ec_word JUDGE
- ec_word YOU
- ec_word HAVE
- ec_word OUR
- ec_word TRUST
+ .2byte EC_WORD_MR
+ .2byte EC_WORD_JUDGE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_OUR
+ .2byte EC_WORD_TRUST
@ win speech
- ec_word YES_SIR_EXCL
- ec_word WE_RE
- ec_word NO_1
- ec_word IN
- ec_word THIS
- ec_word CONTEST
+ .2byte EC_WORD_YES_SIR_EXCL
+ .2byte EC_WORD_WE_RE
+ .2byte EC_WORD_NO_1
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_CONTEST
@ loss speech
- ec_word I
- ec_word WON_T
- ec_word GIVE_UP
- ec_word MY
- ec_word IDOL
- ec_word DREAM
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WON_T
+ .2byte EC_WORD_GIVE_UP
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_IDOL
+ .2byte EC_WORD_DREAM
.4byte gSlateportBattleTentTrainerMons_Camryn
@ 26
.4byte TRAINER_CLASS_PICNICKER
.string "NATASHA$", 8
@ pre-battle speech
- ec_word COME_OVER
- ec_word TO
- ec_word MY
- ec_word PLACE
- ec_word OK_QUES
+ .2byte EC_WORD_COME_OVER
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_PLACE
+ .2byte EC_WORD_OK_QUES
.2byte -1
@ win speech
- ec_word COME_ON
- ec_word OVER
- ec_word IT
- ec_word WILL
- ec_word BE
- ec_word GREAT
+ .2byte EC_WORD_COME_ON
+ .2byte EC_WORD_OVER
+ .2byte EC_WORD_IT
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_GREAT
@ loss speech
- ec_word AWW
- ec_word WON_T
- ec_word YOU
- ec_word COME_OVER
- ec_word QUES
+ .2byte EC_WORD_AWW
+ .2byte EC_WORD_WON_T
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_COME_OVER
+ .2byte EC_WORD_QUES
.2byte -1
.4byte gSlateportBattleTentTrainerMons_Natasha
@@ -706,76 +706,76 @@ gSlateportBattleTentTrainers:: @ 85DDA14
.4byte TRAINER_CLASS_SAILOR
.string "AUSTYN$", 8
@ pre-battle speech
- ec_word I
- ec_word DON_T
- ec_word CARE
- ec_word HOW
- ec_word WE
- ec_word MATCH_UP
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_CARE
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_WE
+ .2byte EC_WORD_MATCH_UP
@ win speech
- ec_word HAH
- ec_word BACK
- ec_word TO
- ec_word SCHOOL
- ec_word FOR
- ec_word YOU
+ .2byte EC_WORD_HAH
+ .2byte EC_WORD_BACK
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_SCHOOL
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_YOU
@ loss speech
- ec_word I
- ec_word NEED
- ec_word TO
- ec_word STUDY
- ec_word MY
- ec_word LESSONS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_STUDY
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_LESSONS
.4byte gSlateportBattleTentTrainerMons_Austyn
@ 28
.4byte TRAINER_CLASS_COLLECTOR
.string "DONOVAN$", 8
@ pre-battle speech
- ec_word OH
- ec_word I_AM
- ec_word FEELING
- ec_word SLIMY
- ec_word ALL
- ec_word OVER
+ .2byte EC_WORD_OH
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_FEELING
+ .2byte EC_WORD_SLIMY
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_OVER
@ win speech
- ec_word YOU_RE
- ec_word GOING
- ec_word DOWN
- ec_word THE
- ec_move2 MEGA_DRAIN
- ec_word HAHAHA
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_DOWN
+ .2byte EC_WORD_THE
+ .2byte EC_MOVE2(MEGA_DRAIN)
+ .2byte EC_WORD_HAHAHA
@ loss speech
- ec_word I_AM
- ec_word NATURALLY
- ec_word SLIMY
- ec_word THAT_S
- ec_word WHAT
- ec_word I_AM
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_NATURALLY
+ .2byte EC_WORD_SLIMY
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_I_AM
.4byte gSlateportBattleTentTrainerMons_Donovan
@ 29
.4byte TRAINER_CLASS_LASS
.string "TAMIA$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word ANGRY
- ec_word WITH
- ec_word MY
- ec_word FATHER
- ec_word ELLIPSIS
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_ANGRY
+ .2byte EC_WORD_WITH
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_FATHER
+ .2byte EC_WORD_ELLIPSIS
@ win speech
- ec_word I
- ec_word REALLY
- ec_word DISLIKE
- ec_word MY
- ec_word FATHER
- ec_word EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_DISLIKE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_FATHER
+ .2byte EC_WORD_EXCL
@ loss speech
- ec_word I
- ec_word JUST
- ec_word SO
- ec_word ADORE
- ec_word MY
- ec_word FATHER
+ .2byte EC_WORD_I
+ .2byte EC_WORD_JUST
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_ADORE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_FATHER
.4byte gSlateportBattleTentTrainerMons_Tamia
diff --git a/data/battle_frontier/verdanturf_battle_tent_trainers.inc b/data/battle_frontier/verdanturf_battle_tent_trainers.inc
index af9a03910..aa028c600 100644
--- a/data/battle_frontier/verdanturf_battle_tent_trainers.inc
+++ b/data/battle_frontier/verdanturf_battle_tent_trainers.inc
@@ -4,413 +4,413 @@ gVerdanturfBattleTentTrainers:: @ 85DE610
.4byte TRAINER_CLASS_AROMA_LADY
.string "BRENNA$", 8
@ pre-battle speech
- ec_word NO
- ec_word DAYS
- ec_word GO
- ec_word WITHOUT
- ec_word MY
- ec_move1 FAKE_TEARS
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_DAYS
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_WITHOUT
+ .2byte EC_WORD_MY
+ .2byte EC_MOVE(FAKE_TEARS)
@ win speech
- ec_word OH
- ec_word THAT_WAS
- ec_word SO
- ec_word REFRESHING
- ec_word EXCL
+ .2byte EC_WORD_OH
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_REFRESHING
+ .2byte EC_WORD_EXCL
.2byte -1
@ loss speech
- ec_word ALL
- ec_word I
- ec_word EVER
- ec_word GET
- ec_word IS
- ec_move1 TORMENT
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_EVER
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_IS
+ .2byte EC_MOVE(TORMENT)
.4byte gVerdanturfBattleTentTrainerMons_Brenna
@ 1
.4byte TRAINER_CLASS_RUIN_MANIAC
.string "DILAN$", 8
@ pre-battle speech
- ec_word YOU
- ec_word DON_T
- ec_word KNOW
- ec_word HOW
- ec_word BORED
- ec_word I_AM
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_KNOW
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_BORED
+ .2byte EC_WORD_I_AM
@ win speech
- ec_word LOSING
- ec_word ISN_T
- ec_word EXCITING
- ec_word AT
- ec_word ALL
- ec_word ELLIPSIS
+ .2byte EC_WORD_LOSING
+ .2byte EC_WORD_ISN_T
+ .2byte EC_WORD_EXCITING
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_ELLIPSIS
@ loss speech
- ec_word EXCITING
- ec_word EXCL_EXCL
- ec_word BYE_BYE
- ec_word TO
- ec_word BEING
- ec_word BORED
+ .2byte EC_WORD_EXCITING
+ .2byte EC_WORD_EXCL_EXCL
+ .2byte EC_WORD_BYE_BYE
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_BEING
+ .2byte EC_WORD_BORED
.4byte gVerdanturfBattleTentTrainerMons_Dilan
@ 2
.4byte TRAINER_CLASS_TUBER_1
.string "ELIANA$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word GOING
- ec_word ON
- ec_word A
- ec_word VACATION
- ec_word SOON
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_A
+ .2byte EC_WORD_VACATION
+ .2byte EC_WORD_SOON
@ win speech
- ec_word I
- ec_word NEED
- ec_word TO
- ec_word GET
- ec_word SOME
- ec_word MONEY
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_SOME
+ .2byte EC_WORD_MONEY
@ loss speech
- ec_word NO
- ec_word SLEEP
- ec_word UNTIL
- ec_word I
- ec_word GET
- ec_word HOME
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_SLEEP
+ .2byte EC_WORD_UNTIL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_HOME
.4byte gVerdanturfBattleTentTrainerMons_Eliana
@ 3
.4byte TRAINER_CLASS_TUBER_2
.string "MARKUS$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word SMART
- ec_word EXCL
- ec_word IF_I_LOSE
- ec_word I
- ec_move1 SELF_DESTRUCT
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_SMART
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_IF_I_LOSE
+ .2byte EC_WORD_I
+ .2byte EC_MOVE(SELF_DESTRUCT)
@ win speech
- ec_word IT_S
- ec_word A
- ec_word NON_STOP
- ec_move2 EXPLOSION
- ec_word OF
- ec_word JOY
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_A
+ .2byte EC_WORD_NON_STOP
+ .2byte EC_MOVE2(EXPLOSION)
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_JOY
@ loss speech
- ec_word I_VE
- ec_word LOST
- ec_word ELLIPSIS
- ec_word TIME
- ec_word TO
- ec_move1 SELF_DESTRUCT
+ .2byte EC_WORD_I_VE
+ .2byte EC_WORD_LOST
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_TIME
+ .2byte EC_WORD_TO
+ .2byte EC_MOVE(SELF_DESTRUCT)
.4byte gVerdanturfBattleTentTrainerMons_Markus
@ 4
.4byte TRAINER_CLASS_LADY
.string "CAITLYN$", 8
@ pre-battle speech
- ec_word I_AM
- ec_word BORED
- ec_word OF
- ec_word BEING
- ec_word AN
- ec_word IDOL
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_BORED
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_BEING
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_IDOL
@ win speech
- ec_word A
- ec_word BATTLE
- ec_word IS
- ec_word BEST
- ec_word FOR
- ec_word HAPPINESS
+ .2byte EC_WORD_A
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_BEST
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_HAPPINESS
@ loss speech
- ec_word LOSING
- ec_word DOESN_T
- ec_word BUG
- ec_word ME
- ec_word AT
- ec_word ALL
+ .2byte EC_WORD_LOSING
+ .2byte EC_WORD_DOESN_T
+ .2byte EC_WORD_BUG
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_ALL
.4byte gVerdanturfBattleTentTrainerMons_Caitlyn
@ 5
.4byte TRAINER_CLASS_BEAUTY
.string "DESIREE$", 8
@ pre-battle speech
- ec_word DOESN_T
- ec_word MY
- ec_word BEAUTY
- ec_move1 ASTONISH
- ec_word YOU
- ec_word QUES
+ .2byte EC_WORD_DOESN_T
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_BEAUTY
+ .2byte EC_MOVE(ASTONISH)
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_QUES
@ win speech
- ec_word DID
- ec_word I
- ec_word INTIMIDATE
- ec_word YOU
- ec_word QUES
+ .2byte EC_WORD_DID
+ .2byte EC_WORD_I
+ .2byte EC_WORD_INTIMIDATE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_QUES
.2byte -1
@ loss speech
- ec_word MY
- ec_word BEAUTY
- ec_word DID
- ec_word NOTHING
- ec_word FOR
- ec_word YOU
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_BEAUTY
+ .2byte EC_WORD_DID
+ .2byte EC_WORD_NOTHING
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_YOU
.4byte gVerdanturfBattleTentTrainerMons_Desiree
@ 6
.4byte TRAINER_CLASS_RICH_BOY
.string "RONALD$", 8
@ pre-battle speech
- ec_word COME_ON
- ec_word I
- ec_word WILL
- ec_word BATTLE
- ec_word SERIOUSLY
+ .2byte EC_WORD_COME_ON
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_SERIOUSLY
.2byte -1
@ win speech
- ec_word GIVE_UP
- ec_word QUES
+ .2byte EC_WORD_GIVE_UP
+ .2byte EC_WORD_QUES
.2byte -1
- ec_word THAT_S
- ec_word REALLY
- ec_word WEAK
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_WEAK
@ loss speech
- ec_word I
- ec_word NEED
- ec_word TO
- ec_word DO
- ec_word A
- ec_move2 BATON_PASS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_DO
+ .2byte EC_WORD_A
+ .2byte EC_MOVE2(BATON_PASS)
.4byte gVerdanturfBattleTentTrainerMons_Ronald
@ 7
.4byte TRAINER_CLASS_POKEMANIAC
.string "ASHTEN$", 8
@ pre-battle speech
- ec_word OH_YEAH
- ec_word ANOTHER
- ec_word EXCITING
- ec_word BATTLE
- ec_word EXCL
+ .2byte EC_WORD_OH_YEAH
+ .2byte EC_WORD_ANOTHER
+ .2byte EC_WORD_EXCITING
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_EXCL
.2byte -1
@ win speech
- ec_word YOUR
- ec_word POKEMON
- ec_word ARE
- ec_word WIMPY
- ec_word AND
- ec_word BORING
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_WIMPY
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_BORING
@ loss speech
- ec_word THAT_WAS
- ec_word AN
- ec_word EXCITING
- ec_word LOSS
- ec_word WOW
- ec_word EXCL
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_AN
+ .2byte EC_WORD_EXCITING
+ .2byte EC_WORD_LOSS
+ .2byte EC_WORD_WOW
+ .2byte EC_WORD_EXCL
.4byte gVerdanturfBattleTentTrainerMons_Ashten
@ 8
.4byte TRAINER_CLASS_SWIMMER_M
.string "GERARD$", 8
@ pre-battle speech
- ec_word LOOK
- ec_word AT
- ec_word MY
- ec_word SUPER
- ec_move2 TEETER_DANCE
- ec_word EXCL
+ .2byte EC_WORD_LOOK
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_SUPER
+ .2byte EC_MOVE2(TEETER_DANCE)
+ .2byte EC_WORD_EXCL
@ win speech
- ec_word THAT_WAS
- ec_word HARD
- ec_word ELLIPSIS
- ec_word AM
- ec_word I
- ec_word OK_QUES
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_HARD
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_AM
+ .2byte EC_WORD_I
+ .2byte EC_WORD_OK_QUES
@ loss speech
- ec_word I
- ec_word WON_T
- ec_word FORGIVE
- ec_word YOU
- ec_word FOR
- ec_word THAT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WON_T
+ .2byte EC_WORD_FORGIVE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_THAT
.4byte gVerdanturfBattleTentTrainerMons_Gerard
@ 9
.4byte TRAINER_CLASS_CAMPER
.string "BRADLY$", 8
@ pre-battle speech
- ec_word IT_S
- ec_word LONESOME
- ec_word BUT
- ec_word I
- ec_word VACATION
- ec_word ALONE
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_LONESOME
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_VACATION
+ .2byte EC_WORD_ALONE
@ win speech
- ec_word I
- ec_word WILL
- ec_move1 WITHDRAW
- ec_word INSIDE
- ec_word MY
- ec_word SHELL_ARMOR
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_MOVE(WITHDRAW)
+ .2byte EC_WORD_INSIDE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_SHELL_ARMOR
@ loss speech
- ec_word OH
- ec_word ELLIPSIS
+ .2byte EC_WORD_OH
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
- ec_word ALONE
- ec_word AS
- ec_word ALWAYS
+ .2byte EC_WORD_ALONE
+ .2byte EC_WORD_AS
+ .2byte EC_WORD_ALWAYS
.4byte gVerdanturfBattleTentTrainerMons_Bradly
@ 10
.4byte TRAINER_CLASS_BUG_MANIAC
.string "DENNIS$", 8
@ pre-battle speech
- ec_word ARE
- ec_word YOU
- ec_word REALLY
- ec_word STRONG
- ec_word QUES
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_STRONG
+ .2byte EC_WORD_QUES
.2byte -1
@ win speech
- ec_word WAHAHAHA
- ec_word EXCL
+ .2byte EC_WORD_WAHAHAHA
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word WAHAHAHA
- ec_word EXCL_EXCL
+ .2byte EC_WORD_WAHAHAHA
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
@ loss speech
- ec_word NICE
- ec_word GOING
- ec_word EXCL
- ec_word I
- ec_word WAS
- ec_word CHILD_S_PLAY
+ .2byte EC_WORD_NICE
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_CHILD_S_PLAY
.4byte gVerdanturfBattleTentTrainerMons_Dennis
@ 11
.4byte TRAINER_CLASS_GENTLEMAN
.string "PRESTIN$", 8
@ pre-battle speech
- ec_word THIS
- ec_word IS
- ec_word A
- ec_move1 NIGHTMARE
- ec_word FOR
- ec_word YOU
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_A
+ .2byte EC_MOVE(NIGHTMARE)
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_YOU
@ win speech
- ec_word FORGIVE
- ec_word ME
- ec_word ELLIPSIS
- ec_word IT_S
- ec_word A
- ec_word DREAM
+ .2byte EC_WORD_FORGIVE
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_A
+ .2byte EC_WORD_DREAM
@ loss speech
- ec_word I
- ec_word WANT
- ec_word TO
- ec_word WAKE_UP
- ec_word FROM
- ec_word THIS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_WAKE_UP
+ .2byte EC_WORD_FROM
+ .2byte EC_WORD_THIS
.4byte gVerdanturfBattleTentTrainerMons_Prestin
@ 12
.4byte TRAINER_CLASS_GUITARIST
.string "ERNESTO$", 8
@ pre-battle speech
- ec_word THIS
- ec_word PARTY
- ec_word GOES
- ec_word ON
- ec_word FOREVER
- ec_word EXCL
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_PARTY
+ .2byte EC_WORD_GOES
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_FOREVER
+ .2byte EC_WORD_EXCL
@ win speech
- ec_word THE
- ec_word MUSIC
- ec_word PLAYS
- ec_word ON
- ec_word WITHOUT
- ec_word END
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_MUSIC
+ .2byte EC_WORD_PLAYS
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_WITHOUT
+ .2byte EC_WORD_END
@ loss speech
- ec_word NO
- ec_word EXCL
- ec_word THE
- ec_word MUSIC
- ec_word CAN_T
- ec_word STOP
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_MUSIC
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_STOP
.4byte gVerdanturfBattleTentTrainerMons_Ernesto
@ 13
.4byte TRAINER_CLASS_SCHOOL_KID_2
.string "NALA$", 8
@ pre-battle speech
- ec_word I
- ec_word WANT
- ec_word THE
- ec_word WORLD
- ec_word MOVIE
- ec_word COLLECTION
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_WORLD
+ .2byte EC_WORD_MOVIE
+ .2byte EC_WORD_COLLECTION
@ win speech
- ec_word I
- ec_word DON_T
- ec_word LIKE
- ec_word RADIO
- ec_word VERY
- ec_word MUCH
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_RADIO
+ .2byte EC_WORD_VERY
+ .2byte EC_WORD_MUCH
@ loss speech
- ec_word I
- ec_word REFUSE
- ec_word TO
- ec_word BELIEVE
- ec_word THIS
- ec_word EXCL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_REFUSE
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_BELIEVE
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_EXCL
.4byte gVerdanturfBattleTentTrainerMons_Nala
@ 14
.4byte TRAINER_CLASS_COOLTRAINER_1
.string "DARNELL$", 8
@ pre-battle speech
- ec_word I
- ec_word WILL
- ec_word GO_EASY
- ec_word ON
- ec_word YOU
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_GO_EASY
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_YOU
.2byte -1
@ win speech
- ec_word YOUR
- ec_move2 FRUSTRATION
- ec_word SHOULD
- ec_word BE
- ec_word HIDDEN
- ec_word AWAY
+ .2byte EC_WORD_YOUR
+ .2byte EC_MOVE2(FRUSTRATION)
+ .2byte EC_WORD_SHOULD
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_HIDDEN
+ .2byte EC_WORD_AWAY
@ loss speech
- ec_word YOU_RE
- ec_word TOO
- ec_word MUCH
- ec_word TO
- ec_word TAKE
- ec_word ELLIPSIS
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_MUCH
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_TAKE
+ .2byte EC_WORD_ELLIPSIS
.4byte gVerdanturfBattleTentTrainerMons_Darnell
@ 15
.4byte TRAINER_CLASS_COOLTRAINER_2
.string "ASHLYN$", 8
@ pre-battle speech
- ec_word I
- ec_word LOOK
- ec_word TOUGH
- ec_word DO
- ec_word I
- ec_word QUES
+ .2byte EC_WORD_I
+ .2byte EC_WORD_LOOK
+ .2byte EC_WORD_TOUGH
+ .2byte EC_WORD_DO
+ .2byte EC_WORD_I
+ .2byte EC_WORD_QUES
@ win speech
- ec_word I_AM
- ec_word NOT
- ec_word OVER
- ec_word YOUR
- ec_move2 TAUNT
- ec_word YET
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_OVER
+ .2byte EC_WORD_YOUR
+ .2byte EC_MOVE2(TAUNT)
+ .2byte EC_WORD_YET
@ loss speech
- ec_word YOU_RE
- ec_word MEAN
- ec_word EXCL_EXCL
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_MEAN
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
.2byte -1
.2byte -1
@@ -420,48 +420,48 @@ gVerdanturfBattleTentTrainers:: @ 85DE610
.4byte TRAINER_CLASS_POKEFAN_1
.string "ADDISON$", 8
@ pre-battle speech
- ec_word YES
- ec_word EXCL
+ .2byte EC_WORD_YES
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word MY
- ec_word POKEMON
- ec_word EXCL
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_EXCL
@ win speech
- ec_word WELL
- ec_word WASN_T
- ec_word THAT
- ec_word EASY
- ec_word QUES
+ .2byte EC_WORD_WELL
+ .2byte EC_WORD_WASN_T
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_EASY
+ .2byte EC_WORD_QUES
.2byte -1
@ loss speech
- ec_word WAAAH
- ec_word EXCL
+ .2byte EC_WORD_WAAAH
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word BUT
- ec_word WHY
- ec_word QUES
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_WHY
+ .2byte EC_WORD_QUES
.4byte gVerdanturfBattleTentTrainerMons_Addison
@ 17
.4byte TRAINER_CLASS_POKEFAN_2
.string "JUSTINE$", 8
@ pre-battle speech
- ec_word YES
- ec_word EXCL
+ .2byte EC_WORD_YES
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word COME_ON
- ec_word I_AM
- ec_word READY
+ .2byte EC_WORD_COME_ON
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_READY
@ win speech
- ec_word YOU_RE
- ec_word JUST
- ec_word NOT
- ec_word GOOD
- ec_word ENOUGH
- ec_word EXCL
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_JUST
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_GOOD
+ .2byte EC_WORD_ENOUGH
+ .2byte EC_WORD_EXCL
@ loss speech
- ec_word WOWEE
- ec_word EXCL_EXCL
+ .2byte EC_WORD_WOWEE
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
.2byte -1
.2byte -1
@@ -472,310 +472,310 @@ gVerdanturfBattleTentTrainers:: @ 85DE610
.4byte TRAINER_CLASS_EXPERT_1
.string "TYSON$", 8
@ pre-battle speech
- ec_word YOU_RE
- ec_word GOING
- ec_word TO
- ec_word PRESSURE
- ec_word ME
- ec_word QUES
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_GOING
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_PRESSURE
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_QUES
@ win speech
- ec_word WHAT
- ec_word QUES
- ec_word YOU_RE
- ec_word MUCH
- ec_word TOO_WEAK
- ec_word EXCL
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_MUCH
+ .2byte EC_WORD_TOO_WEAK
+ .2byte EC_WORD_EXCL
@ loss speech
- ec_word THIS
- ec_word DOESN_T
- ec_word MAKE
- ec_word ME
- ec_word HAPPY
- ec_word EXCL
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_DOESN_T
+ .2byte EC_WORD_MAKE
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_HAPPY
+ .2byte EC_WORD_EXCL
.4byte gVerdanturfBattleTentTrainerMons_Tyson
@ 19
.4byte TRAINER_CLASS_EXPERT_2
.string "LAILA$", 8
@ pre-battle speech
- ec_word A
- ec_move2 STRUGGLE
- ec_word ISN_T
- ec_word VERY
- ec_word COOL
+ .2byte EC_WORD_A
+ .2byte EC_MOVE2(STRUGGLE)
+ .2byte EC_WORD_ISN_T
+ .2byte EC_WORD_VERY
+ .2byte EC_WORD_COOL
.2byte -1
@ win speech
- ec_word NOPE
- ec_word NOT_VERY
- ec_word COOL
- ec_word AT
- ec_word ALL
- ec_word EXCL
+ .2byte EC_WORD_NOPE
+ .2byte EC_WORD_NOT_VERY
+ .2byte EC_WORD_COOL
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_EXCL
@ loss speech
- ec_word YOU_RE
- ec_word NOT
- ec_word COOL
- ec_word BUT
- ec_word YOU
- ec_word WON
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_COOL
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_WON
.4byte gVerdanturfBattleTentTrainerMons_Laila
@ 20
.4byte TRAINER_CLASS_YOUNGSTER
.string "WAREN$", 8
@ pre-battle speech
- ec_word DANGER
- ec_word EXCL
+ .2byte EC_WORD_DANGER
+ .2byte EC_WORD_EXCL
.2byte -1
- ec_word I
- ec_word SENSE
- ec_word DANGER
+ .2byte EC_WORD_I
+ .2byte EC_WORD_SENSE
+ .2byte EC_WORD_DANGER
@ win speech
- ec_word DID
- ec_word YOU
- ec_word BELIEVE
- ec_word MY
- ec_word LIE
- ec_word QUES_EXCL
+ .2byte EC_WORD_DID
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_BELIEVE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_LIE
+ .2byte EC_WORD_QUES_EXCL
@ loss speech
- ec_word I
- ec_word REALLY
- ec_word DID
- ec_word SENSE
- ec_word DANGER
- ec_word ELLIPSIS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_DID
+ .2byte EC_WORD_SENSE
+ .2byte EC_WORD_DANGER
+ .2byte EC_WORD_ELLIPSIS
.4byte gVerdanturfBattleTentTrainerMons_Waren
@ 21
.4byte TRAINER_CLASS_FISHERMAN
.string "TOBIAS$", 8
@ pre-battle speech
- ec_move2 BARRIER
- ec_word EXCL_EXCL
+ .2byte EC_MOVE2(BARRIER)
+ .2byte EC_WORD_EXCL_EXCL
.2byte -1
- ec_word NOW
- ec_word COME_ON
- ec_word EXCL
+ .2byte EC_WORD_NOW
+ .2byte EC_WORD_COME_ON
+ .2byte EC_WORD_EXCL
@ win speech
- ec_word HUH_QUES
- ec_word YOU
- ec_word MEAN
- ec_word I
- ec_word WON
- ec_word QUES
+ .2byte EC_WORD_HUH_QUES
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_MEAN
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WON
+ .2byte EC_WORD_QUES
@ loss speech
- ec_word I
- ec_word SHOULD
- ec_word KNOW
- ec_word THAT
- ec_word IT_S
- ec_word HOPELESS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_SHOULD
+ .2byte EC_WORD_KNOW
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_HOPELESS
.4byte gVerdanturfBattleTentTrainerMons_Tobias
@ 22
.4byte TRAINER_CLASS_BIRD_KEEPER
.string "JOSIAH$", 8
@ pre-battle speech
- ec_word I
- ec_word PROMISE
- ec_word TO
- ec_move1 FLY
- ec_word IF_I_LOSE
+ .2byte EC_WORD_I
+ .2byte EC_WORD_PROMISE
+ .2byte EC_WORD_TO
+ .2byte EC_MOVE(FLY)
+ .2byte EC_WORD_IF_I_LOSE
.2byte -1
@ win speech
- ec_word TOO_WEAK
- ec_word ELLIPSIS
+ .2byte EC_WORD_TOO_WEAK
+ .2byte EC_WORD_ELLIPSIS
.2byte -1
- ec_word YOU
- ec_move1 FLY
- ec_word INSTEAD
+ .2byte EC_WORD_YOU
+ .2byte EC_MOVE(FLY)
+ .2byte EC_WORD_INSTEAD
@ loss speech
- ec_word I
- ec_word PROMISE
- ec_word TO
- ec_move1 FLY
- ec_word SOMETIME
- ec_word SOON
+ .2byte EC_WORD_I
+ .2byte EC_WORD_PROMISE
+ .2byte EC_WORD_TO
+ .2byte EC_MOVE(FLY)
+ .2byte EC_WORD_SOMETIME
+ .2byte EC_WORD_SOON
.4byte gVerdanturfBattleTentTrainerMons_Josiah
@ 23
.4byte TRAINER_CLASS_NINJA_BOY
.string "DION$", 8
@ pre-battle speech
- ec_word IT_S
- ec_word TRENDY
- ec_word UM
- ec_word BATTLE
- ec_word SOMETHING
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_TRENDY
+ .2byte EC_WORD_UM
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_SOMETHING
.2byte -1
@ win speech
- ec_word WAS
- ec_word IT
- ec_word ELLIPSIS
- ec_word BATTLE
- ec_word DATE
- ec_word QUES
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_IT
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_DATE
+ .2byte EC_WORD_QUES
@ loss speech
- ec_word WAS
- ec_word IT
- ec_word ELLIPSIS
- ec_word BATTLE
- ec_word GOURMET
- ec_word QUES
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_IT
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_GOURMET
+ .2byte EC_WORD_QUES
.4byte gVerdanturfBattleTentTrainerMons_Dion
@ 24
.4byte TRAINER_CLASS_PARASOL_LADY
.string "KENZIE$", 8
@ pre-battle speech
- ec_word THE
- ec_move1 MORNING_SUN
- ec_word GIVES
- ec_word ME
- ec_move1 STRENGTH
+ .2byte EC_WORD_THE
+ .2byte EC_MOVE(MORNING_SUN)
+ .2byte EC_WORD_GIVES
+ .2byte EC_WORD_ME
+ .2byte EC_MOVE(STRENGTH)
.2byte -1
@ win speech
- ec_word BUT
- ec_word I
- ec_word LIKE
- ec_move2 MOONLIGHT
- ec_word TOO
+ .2byte EC_WORD_BUT
+ .2byte EC_WORD_I
+ .2byte EC_WORD_LIKE
+ .2byte EC_MOVE2(MOONLIGHT)
+ .2byte EC_WORD_TOO
.2byte -1
@ loss speech
- ec_word YOU_RE
- ec_word LIKE
- ec_word A
- ec_word TERRIBLE
- ec_move1 SANDSTORM
- ec_word ELLIPSIS
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_A
+ .2byte EC_WORD_TERRIBLE
+ .2byte EC_MOVE(SANDSTORM)
+ .2byte EC_WORD_ELLIPSIS
.4byte gVerdanturfBattleTentTrainerMons_Kenzie
@ 25
.4byte TRAINER_CLASS_SWIMMER_F
.string "LILLIAN$", 8
@ pre-battle speech
- ec_word I
- ec_word DO
- ec_word THINGS
- ec_word AT
- ec_word MY
- ec_word OWN_TEMPO
+ .2byte EC_WORD_I
+ .2byte EC_WORD_DO
+ .2byte EC_WORD_THINGS
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_OWN_TEMPO
@ win speech
- ec_word I
- ec_word WON
- ec_word QUES
- ec_word WHAT
- ec_word A
- ec_word SURPRISE
+ .2byte EC_WORD_I
+ .2byte EC_WORD_WON
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_A
+ .2byte EC_WORD_SURPRISE
@ loss speech
- ec_word AWW
- ec_word ELLIPSIS
- ec_word I
- ec_word NEED
- ec_word A
- ec_word NAP
+ .2byte EC_WORD_AWW
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_I
+ .2byte EC_WORD_NEED
+ .2byte EC_WORD_A
+ .2byte EC_WORD_NAP
.4byte gVerdanturfBattleTentTrainerMons_Lillian
@ 26
.4byte TRAINER_CLASS_PICNICKER
.string "LESLEY$", 8
@ pre-battle speech
- ec_word YOU
- ec_word SHOULD
- ec_word NOT
- ec_word BE
- ec_word LOLLING
- ec_word ABOUT
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_SHOULD
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_LOLLING
+ .2byte EC_WORD_ABOUT
@ win speech
- ec_word YOU
- ec_word SHOULD
- ec_word GET
- ec_word UP
- ec_word EARLIER
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_SHOULD
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_UP
+ .2byte EC_WORD_EARLIER
.2byte -1
@ loss speech
- ec_word THIS
- ec_word SHOULD
- ec_word NOT
- ec_word BE
- ec_word HAPPENING
- ec_word EXCL
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_SHOULD
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_HAPPENING
+ .2byte EC_WORD_EXCL
.4byte gVerdanturfBattleTentTrainerMons_Lesley
@ 27
.4byte TRAINER_CLASS_SAILOR
.string "MARQUIS$", 8
@ pre-battle speech
- ec_word NONE
- ec_word OF
- ec_word THIS
- ec_word IS
- ec_word MAKING
- ec_word SENSE
+ .2byte EC_WORD_NONE
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_MAKING
+ .2byte EC_WORD_SENSE
@ win speech
- ec_word SEE
- ec_word QUES
- ec_word THIS
- ec_word JUST
- ec_word ISN_T
- ec_word NORMAL
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_JUST
+ .2byte EC_WORD_ISN_T
+ .2byte EC_WORD_NORMAL
@ loss speech
- ec_word SHOULD
- ec_word I
- ec_word CAUSE
- ec_word AN
- ec_move1 UPROAR
- ec_word QUES
+ .2byte EC_WORD_SHOULD
+ .2byte EC_WORD_I
+ .2byte EC_WORD_CAUSE
+ .2byte EC_WORD_AN
+ .2byte EC_MOVE(UPROAR)
+ .2byte EC_WORD_QUES
.4byte gVerdanturfBattleTentTrainerMons_Marquis
@ 28
.4byte TRAINER_CLASS_COLLECTOR
.string "FREDDY$", 8
@ pre-battle speech
- ec_word I
- ec_word ADORE
- ec_word THIS
- ec_word CUTE
- ec_word TELEVISION
- ec_word IDOL
+ .2byte EC_WORD_I
+ .2byte EC_WORD_ADORE
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_CUTE
+ .2byte EC_WORD_TELEVISION
+ .2byte EC_WORD_IDOL
@ win speech
- ec_word YOU_RE
- ec_word SO
- ec_word FUNNY
- ec_word WHEN
- ec_word YOU_RE
- ec_word ANGRY
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_SO
+ .2byte EC_WORD_FUNNY
+ .2byte EC_WORD_WHEN
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_ANGRY
@ loss speech
- ec_word LATE
- ec_word NIGHT
- ec_word TELEVISION
- ec_word IS
- ec_word MY
- ec_word LIFE
+ .2byte EC_WORD_LATE
+ .2byte EC_WORD_NIGHT
+ .2byte EC_WORD_TELEVISION
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_LIFE
.4byte gVerdanturfBattleTentTrainerMons_Freddy
@ 29
.4byte TRAINER_CLASS_LASS
.string "CECILIA$", 8
@ pre-battle speech
- ec_word MY
- ec_word FABULOUS
- ec_word CUTENESS
- ec_word IS
- ec_word IN
- ec_word FASHION
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_FABULOUS
+ .2byte EC_WORD_CUTENESS
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_FASHION
@ win speech
- ec_word YOU_RE
- ec_word NO
- ec_word MATCH
- ec_word FOR
- ec_word MY
- ec_word CUTE_CHARM
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_MATCH
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_CUTE_CHARM
@ loss speech
- ec_word DON_T
- ec_word YOU
- ec_word HAVE
- ec_word FASHION
- ec_word SENSE
- ec_word QUES
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_FASHION
+ .2byte EC_WORD_SENSE
+ .2byte EC_WORD_QUES
.4byte gVerdanturfBattleTentTrainerMons_Cecilia
diff --git a/data/battle_frontier_2.s b/data/battle_frontier_2.s
index 44c14f520..74abbe788 100644
--- a/data/battle_frontier_2.s
+++ b/data/battle_frontier_2.s
@@ -1,3 +1,5 @@
+#include "constants/moves.h"
+#include "constants/species.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s
index 4e64a27e8..4efa72858 100644
--- a/data/battle_scripts_1.s
+++ b/data/battle_scripts_1.s
@@ -1,3 +1,6 @@
+#include "constants/abilities.h"
+#include "constants/moves.h"
+#include "constants/songs.h"
.include "asm/macros.inc"
.include "asm/macros/battle_script.inc"
.include "constants/constants.inc"
@@ -356,19 +359,19 @@ BattleScript_EffectAbsorb::
waitmessage 0x40
negativedamage
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
- jumpifability TARGET, ABILITY_LIQUID_OOZE, BattleScript_82D8B26
+ jumpifability TARGET, ABILITY_LIQUID_OOZE, BattleScript_AbsorbLiquidOoze
setbyte cMULTISTRING_CHOOSER, 0x0
- goto BattleScript_82D8B2E
-BattleScript_82D8B26::
+ goto BattleScript_AbsorbUpdateHp
+BattleScript_AbsorbLiquidOoze::
manipulatedamage ATK80_DMG_CHANGE_SIGN
setbyte cMULTISTRING_CHOOSER, 0x1
-BattleScript_82D8B2E::
+BattleScript_AbsorbUpdateHp::
healthbarupdate ATTACKER
datahpupdate ATTACKER
- jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_82D8B45
+ jumpifmovehadnoeffect BattleScript_AbsorbTryFainting
printfromtable gLeechSeedDrainStringIds
waitmessage 0x40
-BattleScript_82D8B45::
+BattleScript_AbsorbTryFainting::
tryfaintmon ATTACKER, FALSE, NULL
tryfaintmon TARGET, FALSE, NULL
goto BattleScript_MoveEnd
@@ -470,10 +473,10 @@ BattleScript_82D8C18::
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
healthbarupdate ATTACKER
datahpupdate ATTACKER
- jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_82D8C56
+ jumpifmovehadnoeffect BattleScript_DreamEaterTryFaintEnd
printstring STRINGID_PKMNDREAMEATEN
waitmessage 0x40
-BattleScript_82D8C56::
+BattleScript_DreamEaterTryFaintEnd::
tryfaintmon TARGET, FALSE, NULL
goto BattleScript_MoveEnd
@@ -610,11 +613,11 @@ BattleScript_EffectRoar::
attackcanceler
attackstring
ppreduce
- jumpifability TARGET, ABILITY_SUCTION_CUPS, BattleScript_82DB5B9
- jumpifstatus3 TARGET, STATUS3_ROOTED, BattleScript_82DB109
+ jumpifability TARGET, ABILITY_SUCTION_CUPS, BattleScript_AbilityPreventsPhasingOut
+ jumpifstatus3 TARGET, STATUS3_ROOTED, BattleScript_PrintMonIsRooted
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_ARENA, BattleScript_ButItFailed
+ jumpifbattletype BATTLE_TYPE_ARENA, BattleScript_ButItFailed
forcerandomswitch BattleScript_ButItFailed
BattleScript_EffectMultiHit::
@@ -624,19 +627,19 @@ BattleScript_EffectMultiHit::
ppreduce
setmultihitcounter 0x0
initmultihitstring
- setbyte sFIELD_16, 0x0
-BattleScript_82D8DFD::
- jumpifhasnohp ATTACKER, BattleScript_82D8E93
- jumpifhasnohp TARGET, BattleScript_82D8E74
- jumpifhalfword EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_82D8E1F
- jumpifstatus ATTACKER, STATUS_SLEEP, BattleScript_82D8E74
-BattleScript_82D8E1F::
+ setbyte sMULTIHIT_EFFECT, 0x0
+BattleScript_MultiHitLoop::
+ jumpifhasnohp ATTACKER, BattleScript_MultiHitEnd
+ jumpifhasnohp TARGET, BattleScript_MultiHitPrintStrings
+ jumpifhalfword EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_DoMultiHit
+ jumpifstatus ATTACKER, STATUS_SLEEP, BattleScript_MultiHitPrintStrings
+BattleScript_DoMultiHit::
movevaluescleanup
- copybyte cEFFECT_CHOOSER, sFIELD_16
+ copybyte cEFFECT_CHOOSER, sMULTIHIT_EFFECT
critcalc
damagecalc
typecalc
- jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_82D8E71
+ jumpifmovehadnoeffect BattleScript_MultiHitNoMoreHits
adjustnormaldamage
attackanimation
waitanimation
@@ -652,19 +655,19 @@ BattleScript_82D8E1F::
addbyte sMULTIHIT_STRING + 4, 0x1
setbyte sMOVEEND_STATE, 0x0
moveend 0x2, 0x10
- jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_ENDURED, BattleScript_82D8E74
- decrementmultihit BattleScript_82D8DFD
- goto BattleScript_82D8E74
-BattleScript_82D8E71::
+ jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_ENDURED, BattleScript_MultiHitPrintStrings
+ decrementmultihit BattleScript_MultiHitLoop
+ goto BattleScript_MultiHitPrintStrings
+BattleScript_MultiHitNoMoreHits::
pause 0x20
-BattleScript_82D8E74::
+BattleScript_MultiHitPrintStrings::
resultmessage
waitmessage 0x40
- jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_82D8E93
+ jumpifmovehadnoeffect BattleScript_MultiHitEnd
copyarray gBattleTextBuff1, sMULTIHIT_STRING, 0x6
printstring STRINGID_HITXTIMES
waitmessage 0x40
-BattleScript_82D8E93::
+BattleScript_MultiHitEnd::
seteffectwithchance
tryfaintmon TARGET, FALSE, NULL
setbyte sMOVEEND_STATE, 0x2
@@ -784,7 +787,7 @@ BattleScript_EffectOHKO::
ppreduce
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
typecalc
- jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_HitFromAtkAnimation
+ jumpifmovehadnoeffect BattleScript_HitFromAtkAnimation
tryKO BattleScript_KOFail
trysetdestinybondtohappen
goto BattleScript_HitFromAtkAnimation
@@ -862,15 +865,14 @@ BattleScript_EffectDoubleHit::
ppreduce
setmultihitcounter 0x2
initmultihitstring
- setbyte sFIELD_16, 0x0
- goto BattleScript_82D8DFD
+ setbyte sMULTIHIT_EFFECT, 0x0
+ goto BattleScript_MultiHitLoop
BattleScript_EffectRecoilIfMiss::
attackcanceler
- accuracycheck BattleScript_82D9135, ACC_CURR_MOVE
+ accuracycheck BattleScript_MoveMissedDoDamage, ACC_CURR_MOVE
goto BattleScript_HitFromAtkString
-
-BattleScript_82D9135::
+BattleScript_MoveMissedDoDamage::
attackstring
ppreduce
pause 0x40
@@ -1031,7 +1033,7 @@ BattleScript_EffectParalyze::
jumpifability TARGET, ABILITY_LIMBER, BattleScript_LimberProtected
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
typecalc
- jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_ButItFailed
+ jumpifmovehadnoeffect BattleScript_ButItFailed
jumpifstatus TARGET, STATUS_PARALYSIS, BattleScript_AlreadyParalyzed
jumpifstatus TARGET, STATUS_ANY, BattleScript_ButItFailed
accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE
@@ -1095,12 +1097,12 @@ BattleScript_EffectConfuseHit::
BattleScript_EffectTwineedle::
attackcanceler
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
- setbyte sFIELD_16, 0x2
+ setbyte sMULTIHIT_EFFECT, EFFECT_POISON
attackstring
ppreduce
setmultihitcounter 0x2
initmultihitstring
- goto BattleScript_82D8DFD
+ goto BattleScript_MultiHitLoop
BattleScript_EffectSubstitute::
attackcanceler
@@ -1349,7 +1351,7 @@ BattleScript_SleepTalkUsingMove::
waitanimation
setbyte sANIM_TURN, 0x0
setbyte sANIM_TARGETS_HIT, 0x0
- jumptorandomattack 0x1
+ jumptorandomattack TRUE
BattleScript_EffectDestinyBond::
attackcanceler
@@ -1423,7 +1425,7 @@ BattleScript_DoTripleKickAttack::
damagecalc
typecalc
adjustnormaldamage
- jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_TripleKickNoMoreHits
+ jumpifmovehadnoeffect BattleScript_TripleKickNoMoreHits
attackanimation
waitanimation
effectivenesssound
@@ -1660,7 +1662,7 @@ BattleScript_FuryCutterHit::
critcalc
damagecalc
typecalc
- jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_FuryCutterHit
+ jumpifmovehadnoeffect BattleScript_FuryCutterHit
adjustnormaldamage
goto BattleScript_HitFromAtkAnimation
@@ -1711,13 +1713,13 @@ BattleScript_EffectMagnitude::
pause 0x20
printstring STRINGID_MAGNITUDESTRENGTH
waitmessage 0x40
- goto BattleScript_82D9C44
+ goto BattleScript_HitsAllWithUndergroundBonusLoop
BattleScript_EffectBatonPass::
attackcanceler
attackstring
ppreduce
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_ARENA, BattleScript_ButItFailed
+ jumpifbattletype BATTLE_TYPE_ARENA, BattleScript_ButItFailed
jumpifcantswitch ATK4F_DONT_CHECK_STATUSES | ATTACKER, BattleScript_ButItFailed
attackanimation
waitanimation
@@ -1730,7 +1732,7 @@ BattleScript_EffectBatonPass::
switchindataupdate ATTACKER
hpthresholds ATTACKER
printstring STRINGID_SWITCHINMON
- switchinanim ATTACKER, 0x1
+ switchinanim ATTACKER, TRUE
waitstate
switchineffects ATTACKER
goto BattleScript_MoveEnd
@@ -1858,17 +1860,17 @@ BattleScript_EffectEarthquake::
attackstring
ppreduce
selectfirstvalidtarget
-BattleScript_82D9C44::
+BattleScript_HitsAllWithUndergroundBonusLoop::
movevaluescleanup
- jumpifnostatus3 TARGET, STATUS3_UNDERGROUND, BattleScript_82D9C64
+ jumpifnostatus3 TARGET, STATUS3_UNDERGROUND, BattleScript_HitsAllNoUndergroundBonus
orword gHitMarker, HITMARKER_IGNORE_UNDERGROUND
setbyte sDMG_MULTIPLIER, 0x2
- goto BattleScript_82D9C73
-BattleScript_82D9C64::
+ goto BattleScript_DoHitAllWithUndergroundBonus
+BattleScript_HitsAllNoUndergroundBonus::
bicword gHitMarker, HITMARKER_IGNORE_UNDERGROUND
setbyte sDMG_MULTIPLIER, 0x1
-BattleScript_82D9C73::
- accuracycheck BattleScript_82D9CAC, ACC_CURR_MOVE
+BattleScript_DoHitAllWithUndergroundBonus::
+ accuracycheck BattleScript_HitAllWithUndergroundBonusMissed, ACC_CURR_MOVE
critcalc
damagecalc
typecalc
@@ -1889,9 +1891,9 @@ BattleScript_82D9C73::
tryfaintmon TARGET, FALSE, NULL
setbyte sMOVEEND_STATE, 0x0
moveend 0x2, 0x10
- jumpifnexttargetvalid BattleScript_82D9C44
+ jumpifnexttargetvalid BattleScript_HitsAllWithUndergroundBonusLoop
end
-BattleScript_82D9CAC::
+BattleScript_HitAllWithUndergroundBonusMissed::
pause 0x20
typecalc
effectivenesssound
@@ -1899,7 +1901,7 @@ BattleScript_82D9CAC::
waitmessage 0x40
setbyte sMOVEEND_STATE, 0x0
moveend 0x2, 0x10
- jumpifnexttargetvalid BattleScript_82D9C44
+ jumpifnexttargetvalid BattleScript_HitsAllWithUndergroundBonusLoop
end
BattleScript_EffectFutureSight::
@@ -1950,10 +1952,10 @@ BattleScript_EffectTeleport::
attackcanceler
attackstring
ppreduce
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_ButItFailed
+ jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_ButItFailed
getifcantrunfrombattle ATTACKER
jumpifbyte EQUAL, gBattleCommunication, 0x1, BattleScript_ButItFailed
- jumpifbyte EQUAL, gBattleCommunication, 0x2, BattleScript_82DA382
+ jumpifbyte EQUAL, gBattleCommunication, 0x2, BattleScript_PrintAbilityMadeIneffective
attackanimation
waitanimation
printstring STRINGID_PKMNFLEDFROMBATTLE
@@ -2290,10 +2292,10 @@ BattleScript_EffectFocusPunch::
BattleScript_EffectSmellingsalt::
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_EffectHit
setmoveeffect EFFECT_REMOVE_PARALYSIS | CERTAIN
- jumpifstatus TARGET, STATUS_PARALYSIS, BattleScript_82DA1BA
+ jumpifstatus TARGET, STATUS_PARALYSIS, BattleScript_SmellingsaltDoubleDmg
goto BattleScript_EffectHit
-BattleScript_82DA1BA::
+BattleScript_SmellingsaltDoubleDmg::
setbyte sDMG_MULTIPLIER, 0x2
goto BattleScript_EffectHit
@@ -2395,7 +2397,7 @@ BattleScript_EffectAssist::
waitanimation
setbyte sANIM_TURN, 0x0
setbyte sANIM_TARGETS_HIT, 0x0
- jumptorandomattack 0x1
+ jumptorandomattack TRUE
BattleScript_EffectIngrain::
attackcanceler
@@ -2448,15 +2450,15 @@ BattleScript_EffectBrickBreak::
damagecalc
typecalc
adjustnormaldamage
- jumpifbyte EQUAL, sANIM_TURN, 0x0, BattleScript_82DA306
+ jumpifbyte EQUAL, sANIM_TURN, 0x0, BattleScript_BrickBreakAnim
bicbyte gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED
-BattleScript_82DA306::
+BattleScript_BrickBreakAnim::
attackanimation
waitanimation
- jumpifbyte LESS_THAN, sANIM_TURN, 0x2, BattleScript_82DA319
+ jumpifbyte LESS_THAN, sANIM_TURN, 0x2, BattleScript_BrickBreakDoHit
printstring STRINGID_THEWALLSHATTERED
waitmessage 0x40
-BattleScript_82DA319::
+BattleScript_BrickBreakDoHit::
typecalc2
effectivenesssound
hitanimation TARGET
@@ -2475,8 +2477,8 @@ BattleScript_EffectYawn::
attackcanceler
attackstring
ppreduce
- jumpifability TARGET, ABILITY_VITAL_SPIRIT, BattleScript_82DA378
- jumpifability TARGET, ABILITY_INSOMNIA, BattleScript_82DA378
+ jumpifability TARGET, ABILITY_VITAL_SPIRIT, BattleScript_PrintBankAbilityMadeIneffective
+ jumpifability TARGET, ABILITY_INSOMNIA, BattleScript_PrintBankAbilityMadeIneffective
jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_SafeguardProtected
accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON
@@ -2487,9 +2489,9 @@ BattleScript_EffectYawn::
printstring STRINGID_PKMNWASMADEDROWSY
waitmessage 0x40
goto BattleScript_MoveEnd
-BattleScript_82DA378::
- copybyte sBANK, sFIELD_15
-BattleScript_82DA382::
+BattleScript_PrintBankAbilityMadeIneffective::
+ copybyte sBANK, sBANK_WITH_ABILITY
+BattleScript_PrintAbilityMadeIneffective::
pause 0x20
printstring STRINGID_PKMNSXMADEITINEFFECTIVE
waitmessage 0x40
@@ -2507,7 +2509,7 @@ BattleScript_EffectEndeavor::
copyword gHpDealt, gBattleMoveDamage
accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE
typecalc
- jumpifbyte COMMON_BITS, gBattleMoveFlags, MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED, BattleScript_HitFromAtkAnimation
+ jumpifmovehadnoeffect BattleScript_HitFromAtkAnimation
bicbyte gBattleMoveFlags, MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE
copyword gBattleMoveDamage, gHpDealt
adjustsetdamage
@@ -2596,58 +2598,58 @@ BattleScript_EffectTeeterDance::
attackstring
ppreduce
setbyte gBankTarget, 0x0
-BattleScript_82DA47B::
+BattleScript_TeeterDanceLoop::
movevaluescleanup
setmoveeffect EFFECT_CONFUSION
- jumpifbyteequal gBankAttacker, gBankTarget, BattleScript_82DA4D0
- jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_82DA4E5
- jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_82DA501
- jumpifstatus2 TARGET, STATUS2_CONFUSION, BattleScript_82DA50F
- jumpifhasnohp TARGET, BattleScript_82DA4D0
- accuracycheck BattleScript_82DA520, ACC_CURR_MOVE
- jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_82DA4F3
+ jumpifbyteequal gBankAttacker, gBankTarget, BattleScript_TeeterDanceLoopIncrement
+ jumpifability TARGET, ABILITY_OWN_TEMPO, BattleScript_TeeterDanceOwnTempoPrevents
+ jumpifstatus2 TARGET, STATUS2_SUBSTITUTE, BattleScript_TeeterDanceSubstitutePrevents
+ jumpifstatus2 TARGET, STATUS2_CONFUSION, BattleScript_TeeterDanceAlreadyConfused
+ jumpifhasnohp TARGET, BattleScript_TeeterDanceLoopIncrement
+ accuracycheck BattleScript_TeeterDanceMissed, ACC_CURR_MOVE
+ jumpifsideaffecting TARGET, SIDE_STATUS_SAFEGUARD, BattleScript_TeeterDanceSafeguardProtected
attackanimation
waitanimation
seteffectprimary
resultmessage
waitmessage 0x40
-BattleScript_82DA4C7::
+BattleScript_TeeterDanceDoMoveEndIncrement::
setbyte sMOVEEND_STATE, 0x0
moveend 0x2, 0x10
-BattleScript_82DA4D0::
+BattleScript_TeeterDanceLoopIncrement::
addbyte gBankTarget, 0x1
- jumpifbytenotequal gBankTarget, gNoOfAllBanks, BattleScript_82DA47B
+ jumpifbytenotequal gBankTarget, gNoOfAllBanks, BattleScript_TeeterDanceLoop
end
-BattleScript_82DA4E5::
+BattleScript_TeeterDanceOwnTempoPrevents::
pause 0x20
printstring STRINGID_PKMNPREVENTSCONFUSIONWITH
waitmessage 0x40
- goto BattleScript_82DA4C7
+ goto BattleScript_TeeterDanceDoMoveEndIncrement
-BattleScript_82DA4F3::
+BattleScript_TeeterDanceSafeguardProtected::
pause 0x20
printstring STRINGID_PKMNUSEDSAFEGUARD
waitmessage 0x40
- goto BattleScript_82DA4C7
+ goto BattleScript_TeeterDanceDoMoveEndIncrement
-BattleScript_82DA501::
+BattleScript_TeeterDanceSubstitutePrevents::
pause 0x20
printstring STRINGID_BUTITFAILED
waitmessage 0x40
- goto BattleScript_82DA4C7
+ goto BattleScript_TeeterDanceDoMoveEndIncrement
-BattleScript_82DA50F::
+BattleScript_TeeterDanceAlreadyConfused::
various23 ATTACKER
pause 0x20
printstring STRINGID_PKMNALREADYCONFUSED
waitmessage 0x40
- goto BattleScript_82DA4C7
+ goto BattleScript_TeeterDanceDoMoveEndIncrement
-BattleScript_82DA520::
+BattleScript_TeeterDanceMissed::
resultmessage
waitmessage 0x40
- goto BattleScript_82DA4C7
+ goto BattleScript_TeeterDanceDoMoveEndIncrement
BattleScript_EffectMudSport::
BattleScript_EffectWaterSport::
@@ -2846,41 +2848,41 @@ BattleScript_FaintTarget::
printstring STRINGID_TARGETFAINTED
return
-BattleScript_82DA7C4::
+BattleScript_GiveExp::
setbyte sGIVEEXP_STATE, 0x0
getexp TARGET
end2
-BattleScript_82DA7CD::
+BattleScript_HandleFaintedMon::
atk24 BattleScript_82DA8F6
- jumpifbyte NOT_EQUAL, gBattleOutcome, 0, BattleScript_82DA8F5
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_82DA816
- jumpifword NO_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_82DA816
+ jumpifbyte NOT_EQUAL, gBattleOutcome, 0, BattleScript_FaintedMonEnd
+ jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_FaintedMonTryChooseAnother
+ jumpifword NO_COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_FaintedMonTryChooseAnother
printstring STRINGID_USENEXTPKMN
setbyte gBattleCommunication, 0x0
yesnobox
- jumpifbyte EQUAL, gBattleCommunication + 1, 0x0, BattleScript_82DA816
- jumpifplayerran BattleScript_82DA8F5
+ jumpifbyte EQUAL, gBattleCommunication + 1, 0x0, BattleScript_FaintedMonTryChooseAnother
+ jumpifplayerran BattleScript_FaintedMonEnd
printstring STRINGID_CANTESCAPE2
-BattleScript_82DA816::
- openpartyscreen 0x3, BattleScript_82DA8F5
+BattleScript_FaintedMonTryChooseAnother::
+ openpartyscreen 0x3, BattleScript_FaintedMonEnd
switchhandleorder GBANK_1, 0x2
- jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_82DA8D0
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_LINK, BattleScript_82DA8D0
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_x2000000, BattleScript_82DA8D0
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE | BATTLE_TYPE_PYRAMID, BattleScript_82DA8D0
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_82DA8D0
- jumpifword COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_82DA8D0
- jumpifbyte EQUAL, sBATTLE_STYLE, 0x1, BattleScript_82DA8D0
- jumpifcantswitch 11, BattleScript_82DA8D0
+ jumpifnotbattletype BATTLE_TYPE_TRAINER, BattleScript_FaintedMonChooseAnother
+ jumpifbattletype BATTLE_TYPE_LINK, BattleScript_FaintedMonChooseAnother
+ jumpifbattletype BATTLE_TYPE_x2000000, BattleScript_FaintedMonChooseAnother
+ jumpifbattletype BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE | BATTLE_TYPE_PYRAMID, BattleScript_FaintedMonChooseAnother
+ jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_FaintedMonChooseAnother
+ jumpifword COMMON_BITS, gHitMarker, HITMARKER_x400000, BattleScript_FaintedMonChooseAnother
+ jumpifbyte EQUAL, sBATTLE_STYLE, 0x1, BattleScript_FaintedMonChooseAnother
+ jumpifcantswitch 11, BattleScript_FaintedMonChooseAnother
printstring STRINGID_ENEMYABOUTTOSWITCHPKMN
setbyte gBattleCommunication, 0x0
yesnobox
- jumpifbyte EQUAL, gBattleCommunication + 1, 0x1, BattleScript_82DA8D0
+ jumpifbyte EQUAL, gBattleCommunication + 1, 0x1, BattleScript_FaintedMonChooseAnother
setatktoplayer0
- openpartyscreen 0x81, BattleScript_82DA8D0
+ openpartyscreen 0x81, BattleScript_FaintedMonChooseAnother
switchhandleorder ATTACKER, 0x2
- jumpifbyte EQUAL, gBattleCommunication, 0x6, BattleScript_82DA8D0
+ jumpifbyte EQUAL, gBattleCommunication, 0x6, BattleScript_FaintedMonChooseAnother
atknameinbuff1
resetintrimidatetracebits ATTACKER
hpthresholds2 ATTACKER
@@ -2899,20 +2901,20 @@ BattleScript_82DA816::
waitstate
switchineffects ATTACKER
resetsentmonsvalue
-BattleScript_82DA8D0::
+BattleScript_FaintedMonChooseAnother::
drawpartystatussummary GBANK_1
getswitchedmondata GBANK_1
switchindataupdate GBANK_1
hpthresholds GBANK_1
printstring STRINGID_SWITCHINMON
atk62 GBANK_1
- switchinanim GBANK_1, 0x0
+ switchinanim GBANK_1, FALSE
waitstate
various7 ATTACKER
switchineffects GBANK_1
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_82DA8F5
+ jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_FaintedMonEnd
cancelallactions
-BattleScript_82DA8F5::
+BattleScript_FaintedMonEnd::
end2
BattleScript_82DA8F6::
@@ -2929,7 +2931,7 @@ BattleScript_82DA908::
hpthresholds GBANK_1
printstring STRINGID_SWITCHINMON
atk62 GBANK_1
- switchinanim GBANK_1, 0x0
+ switchinanim GBANK_1, FALSE
waitstate
switchineffects 5
jumpifbytenotequal gBank1, gNoOfAllBanks, BattleScript_82DA908
@@ -2937,7 +2939,7 @@ BattleScript_82DA92C::
end2
BattleScript_LocalTrainerBattleWon::
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TWO_OPPONENTS, BattleScript_LocalTwoTrainersDefeated
+ jumpifbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_LocalTwoTrainersDefeated
printstring STRINGID_PLAYERDEFEATEDTRAINER1
goto BattleScript_LocalBattleWonLoseTexts
BattleScript_LocalTwoTrainersDefeated::
@@ -2946,7 +2948,7 @@ BattleScript_LocalBattleWonLoseTexts::
trainerslidein ATTACKER
waitstate
printstring STRINGID_TRAINER1LOSETEXT
- jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TWO_OPPONENTS, BattleScript_LocalBattleWonReward
+ jumpifnotbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_LocalBattleWonReward
trainerslideout IDENTITY_OPPONENT_MON1
waitstate
trainerslidein GBANK_1
@@ -2962,10 +2964,10 @@ BattleScript_PayDayMoneyAndPickUpItems::
end2
BattleScript_LocalBattleLost::
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOME, BattleScript_CheckDomeDrew
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE | BATTLE_TYPE_PYRAMID, BattleScript_LocalBattleLostPrintTrainersWinText
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_x4000000, BattleScript_LocalBattleLostPrintTrainersWinText
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_EREADER_TRAINER, BattleScript_LocalBattleLostEnd
+ jumpifbattletype BATTLE_TYPE_DOME, BattleScript_CheckDomeDrew
+ jumpifbattletype BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE | BATTLE_TYPE_PYRAMID, BattleScript_LocalBattleLostPrintTrainersWinText
+ jumpifbattletype BATTLE_TYPE_x4000000, BattleScript_LocalBattleLostPrintTrainersWinText
+ jumpifbattletype BATTLE_TYPE_EREADER_TRAINER, BattleScript_LocalBattleLostEnd
jumpifhalfword EQUAL, gTrainerBattleOpponent_A, 0x400, BattleScript_LocalBattleLostEnd
BattleScript_LocalBattleLostPrintWhiteOut::
printstring STRINGID_PLAYERWHITEOUT
@@ -2977,7 +2979,7 @@ BattleScript_LocalBattleLostEnd::
BattleScript_CheckDomeDrew::
jumpifbyte EQUAL, gBattleOutcome, DREW, BattleScript_LocalBattleLostEnd_
BattleScript_LocalBattleLostPrintTrainersWinText::
- jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_LocalBattleLostPrintWhiteOut
+ jumpifnotbattletype BATTLE_TYPE_TRAINER, BattleScript_LocalBattleLostPrintWhiteOut
returnopponentmon1toball ATTACKER
waitstate
returnopponentmon2toball ATTACKER
@@ -2985,8 +2987,8 @@ BattleScript_LocalBattleLostPrintTrainersWinText::
trainerslidein ATTACKER
waitstate
printstring STRINGID_TRAINER1WINTEXT
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_x800000, BattleScript_LocalBattleLostDoTrainer2WinText
- jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TWO_OPPONENTS, BattleScript_LocalBattleLostEnd_
+ jumpifbattletype BATTLE_TYPE_x800000, BattleScript_LocalBattleLostDoTrainer2WinText
+ jumpifnotbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_LocalBattleLostEnd_
BattleScript_LocalBattleLostDoTrainer2WinText::
trainerslideout IDENTITY_OPPONENT_MON1
waitstate
@@ -3009,17 +3011,17 @@ BattleScript_82DAA0B::
trainerslidein GBANK_1
waitstate
printstring STRINGID_TRAINER2WINTEXT
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_RECORDED, BattleScript_82DAA31
+ jumpifbattletype BATTLE_TYPE_RECORDED, BattleScript_82DAA31
atk57
BattleScript_82DAA31::
waitmessage 0x40
end2
BattleScript_LinkBattleWonOrLost::
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_BATTLE_TOWER, BattleScript_82DAA5C
+ jumpifbattletype BATTLE_TYPE_BATTLE_TOWER, BattleScript_82DAA5C
printstring STRINGID_BATTLEEND
waitmessage 0x40
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_RECORDED, BattleScript_LinkBattleWonOrLostWaitEnd
+ jumpifbattletype BATTLE_TYPE_RECORDED, BattleScript_LinkBattleWonOrLostWaitEnd
atk57
BattleScript_LinkBattleWonOrLostWaitEnd::
waitmessage 0x40
@@ -3037,15 +3039,15 @@ BattleScript_82DAA5C::
trainerslidein GBANK_1
waitstate
printstring STRINGID_TRAINER2LOSETEXT
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_RECORDED, BattleScript_82DAA83
+ jumpifbattletype BATTLE_TYPE_RECORDED, BattleScript_82DAA83
atk57
BattleScript_82DAA83::
waitmessage 0x40
end2
BattleScript_FrontierTrainerBattleWon::
- jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_PayDayMoneyAndPickUpItems
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TWO_OPPONENTS, BattleScript_82DAAAB
+ jumpifnotbattletype BATTLE_TYPE_TRAINER, BattleScript_PayDayMoneyAndPickUpItems
+ jumpifbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_82DAAAB
printstring STRINGID_PLAYERDEFEATEDTRAINER1
goto BattleScript_82DAAAE
BattleScript_82DAAAB::
@@ -3054,14 +3056,14 @@ BattleScript_82DAAAE::
trainerslidein ATTACKER
waitstate
printstring STRINGID_TRAINER1LOSETEXT
- jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TWO_OPPONENTS, BattleScript_82DAACB
+ jumpifnotbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_82DAACB
trainerslideout IDENTITY_OPPONENT_MON1
waitstate
trainerslidein GBANK_1
waitstate
printstring STRINGID_TRAINER2LOSETEXT
BattleScript_82DAACB::
- jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_PYRAMID, BattleScript_82DAADA
+ jumpifnotbattletype BATTLE_TYPE_PYRAMID, BattleScript_82DAADA
pickup
BattleScript_82DAADA::
end2
@@ -3108,20 +3110,19 @@ BattleScript_ActionSwitch::
hpthresholds2 ATTACKER
printstring STRINGID_RETURNMON
setbyte sDMG_MULTIPLIER, 0x2
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_DOUBLE, BattleScript_82DAB35
+ jumpifbattletype BATTLE_TYPE_DOUBLE, BattleScript_PursuitSwitchDmgSetMultihit
setmultihit 0x1
- goto BattleScript_82DAB37
-
-BattleScript_82DAB35::
+ goto BattleScript_PursuitSwitchDmgLoop
+BattleScript_PursuitSwitchDmgSetMultihit::
setmultihit 0x2
-BattleScript_82DAB37::
- jumpifnopursuitswitchdmg BattleScript_82DAB44
+BattleScript_PursuitSwitchDmgLoop::
+ jumpifnopursuitswitchdmg BattleScript_DoSwitchOut
atk5F
trysetdestinybondtohappen
- call BattleScript_82DAB77
+ call BattleScript_PursuitDmgOnSwitchOut
atk5F
-BattleScript_82DAB44::
- decrementmultihit BattleScript_82DAB37
+BattleScript_DoSwitchOut::
+ decrementmultihit BattleScript_PursuitSwitchDmgLoop
switchoutabilities ATTACKER
waitstate
returnatktoball
@@ -3133,7 +3134,7 @@ BattleScript_82DAB44::
hpthresholds ATTACKER
printstring STRINGID_SWITCHINMON
atk62 ATTACKER
- switchinanim ATTACKER, 0x0
+ switchinanim ATTACKER, FALSE
waitstate
switchineffects ATTACKER
setbyte sMOVEEND_STATE, 0x4
@@ -3142,7 +3143,7 @@ BattleScript_82DAB44::
moveend 0x1, 0x0
end2
-BattleScript_82DAB77::
+BattleScript_PursuitDmgOnSwitchOut::
pause 0x20
attackstring
ppreduce
@@ -3165,10 +3166,10 @@ BattleScript_82DAB77::
setbyte sMOVEEND_STATE, 0x3
moveend 0x2, 0x6
various4 TARGET
- jumpifbyte EQUAL, gBattleCommunication, 0x0, BattleScript_82DABB8
+ jumpifbyte EQUAL, gBattleCommunication, 0x0, BattleScript_PursuitDmgOnSwitchOutRet
setbyte sGIVEEXP_STATE, 0x0
getexp TARGET
-BattleScript_82DABB8::
+BattleScript_PursuitDmgOnSwitchOutRet::
return
BattleScript_Pausex20::
@@ -3291,14 +3292,13 @@ BattleScript_LeechSeedTurnDrain::
healthbarupdate ATTACKER
datahpupdate ATTACKER
copyword gBattleMoveDamage, gHpDealt
- jumpifability ATTACKER, ABILITY_LIQUID_OOZE, BattleScript_82DAD47
+ jumpifability ATTACKER, ABILITY_LIQUID_OOZE, BattleScript_LeechSeedTurnPrintLiquidOoze
manipulatedamage ATK80_DMG_CHANGE_SIGN
setbyte cMULTISTRING_CHOOSER, 0x3
- goto BattleScript_82DAD4D
-
-BattleScript_82DAD47::
+ goto BattleScript_LeechSeedTurnPrintAndUpdateHp
+BattleScript_LeechSeedTurnPrintLiquidOoze::
setbyte cMULTISTRING_CHOOSER, 0x4
-BattleScript_82DAD4D::
+BattleScript_LeechSeedTurnPrintAndUpdateHp::
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate TARGET
datahpupdate TARGET
@@ -3345,20 +3345,20 @@ BattleScript_BideNoEnergyToAttack::
waitmessage 0x40
goto BattleScript_ButItFailed
-BattleScript_82DADD8::
+BattleScript_SuccessForceOut::
attackanimation
waitanimation
switchoutabilities TARGET
returntoball TARGET
waitstate
- jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_TRAINER, BattleScript_82DADF1
+ jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_TrainerBattleForceOut
setoutcomeonteleport ATTACKER
finishaction
-BattleScript_82DADF1::
+BattleScript_TrainerBattleForceOut::
getswitchedmondata TARGET
switchindataupdate TARGET
- switchinanim TARGET, 0x0
+ switchinanim TARGET, FALSE
waitstate
printstring STRINGID_PKMNWASDRAGGEDOUT
switchineffects TARGET
@@ -3389,9 +3389,9 @@ BattleScript_DisabledNoMore::
waitmessage 0x40
end2
-BattleScript_82DAE2A::
+BattleScript_SelectingDisabledMoveInPalace::
printstring STRINGID_PKMNMOVEISDISABLED
-BattleScript_82DAE2D::
+BattleScript_SelectingUnusableMoveInPalace::
setbyte sMOVEEND_STATE, 0x0
moveend 0x2, 0x10
end
@@ -3414,51 +3414,51 @@ BattleScript_SpikesOnAttacker::
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate ATTACKER
datahpupdate ATTACKER
- call BattleScript_82DAEFE
+ call BattleScript_PrintHurtBySpikes
tryfaintmon ATTACKER, FALSE, NULL
- tryfaintmon ATTACKER, TRUE, BattleScript_82DAE7A
+ tryfaintmon ATTACKER, TRUE, BattleScript_SpikesOnAttackerFainted
return
-BattleScript_82DAE7A::
+BattleScript_SpikesOnAttackerFainted::
setbyte sGIVEEXP_STATE, 0x0
getexp ATTACKER
setbyte sMOVEEND_STATE, 0x0
moveend 0x0, 0x0
- goto BattleScript_82DA7CD
+ goto BattleScript_HandleFaintedMon
BattleScript_SpikesOnTarget::
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate TARGET
datahpupdate TARGET
- call BattleScript_82DAEFE
+ call BattleScript_PrintHurtBySpikes
tryfaintmon TARGET, FALSE, NULL
- tryfaintmon TARGET, TRUE, BattleScript_82DAEB1
+ tryfaintmon TARGET, TRUE, BattleScript_SpikesOnTargetFainted
return
-BattleScript_82DAEB1::
+BattleScript_SpikesOnTargetFainted::
setbyte sGIVEEXP_STATE, 0x0
getexp TARGET
setbyte sMOVEEND_STATE, 0x0
moveend 0x0, 0x0
- goto BattleScript_82DA7CD
+ goto BattleScript_HandleFaintedMon
BattleScript_SpikesOngBank1::
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate GBANK_1
datahpupdate GBANK_1
- call BattleScript_82DAEFE
+ call BattleScript_PrintHurtBySpikes
tryfaintmon GBANK_1, FALSE, NULL
- tryfaintmon GBANK_1, TRUE, BattleScript_82DAEE8
+ tryfaintmon GBANK_1, TRUE, BattleScript_SpikesOngBank1Fainted
return
-BattleScript_82DAEE8::
+BattleScript_SpikesOngBank1Fainted::
setbyte sGIVEEXP_STATE, 0x0
getexp GBANK_1
setbyte sMOVEEND_STATE, 0x0
moveend 0x0, 0x0
- goto BattleScript_82DA7CD
+ goto BattleScript_HandleFaintedMon
-BattleScript_82DAEFE::
+BattleScript_PrintHurtBySpikes::
printstring STRINGID_PKMNHURTBYSPIKES
waitmessage 0x40
return
@@ -3478,39 +3478,39 @@ BattleScript_PerishSongCountGoesDown::
end2
BattleScript_AllStatsUp::
- jumpifstat ATTACKER, LESS_THAN, ATK, 0xC, BattleScript_82DAF54
- jumpifstat ATTACKER, LESS_THAN, DEF, 0xC, BattleScript_82DAF54
- jumpifstat ATTACKER, LESS_THAN, SPEED, 0xC, BattleScript_82DAF54
- jumpifstat ATTACKER, LESS_THAN, SPATK, 0xC, BattleScript_82DAF54
- jumpifstat ATTACKER, EQUAL, SPDEF, 0xC, BattleScript_82DAFC2
-BattleScript_82DAF54::
+ jumpifstat ATTACKER, LESS_THAN, ATK, 0xC, BattleScript_AllStatsUpAtk
+ jumpifstat ATTACKER, LESS_THAN, DEF, 0xC, BattleScript_AllStatsUpAtk
+ jumpifstat ATTACKER, LESS_THAN, SPEED, 0xC, BattleScript_AllStatsUpAtk
+ jumpifstat ATTACKER, LESS_THAN, SPATK, 0xC, BattleScript_AllStatsUpAtk
+ jumpifstat ATTACKER, EQUAL, SPDEF, 0xC, BattleScript_AllStatsUpRet
+BattleScript_AllStatsUpAtk::
setbyte sFIELD_1B, 0x0
playstatchangeanimation ATTACKER, 0x3E, 0x0
setstatchanger ATK, 1, FALSE
- statbuffchange AFFECTS_USER | 0x1, BattleScript_82DAF72
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_AllStatsUpDef
printfromtable gStatUpStringIds
waitmessage 0x40
-BattleScript_82DAF72::
+BattleScript_AllStatsUpDef::
setstatchanger DEF, 1, FALSE
- statbuffchange AFFECTS_USER | 0x1, BattleScript_82DAF86
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_AllStatsUpSpeed
printfromtable gStatUpStringIds
waitmessage 0x40
-BattleScript_82DAF86::
+BattleScript_AllStatsUpSpeed::
setstatchanger SPEED, 1, FALSE
- statbuffchange AFFECTS_USER | 0x1, BattleScript_82DAF9A
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_AllStatsUpSpAtk
printfromtable gStatUpStringIds
waitmessage 0x40
-BattleScript_82DAF9A::
+BattleScript_AllStatsUpSpAtk::
setstatchanger SPATK, 1, FALSE
- statbuffchange AFFECTS_USER | 0x1, BattleScript_82DAFAE
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_AllStatsUpSpDef
printfromtable gStatUpStringIds
waitmessage 0x40
-BattleScript_82DAFAE::
+BattleScript_AllStatsUpSpDef::
setstatchanger SPDEF, 1, FALSE
- statbuffchange AFFECTS_USER | 0x1, BattleScript_82DAFC2
+ statbuffchange AFFECTS_USER | 0x1, BattleScript_AllStatsUpRet
printfromtable gStatUpStringIds
waitmessage 0x40
-BattleScript_82DAFC2::
+BattleScript_AllStatsUpRet::
return
BattleScript_RapidSpinAway::
@@ -3536,19 +3536,19 @@ BattleScript_SpikesFree::
BattleScript_MonTookFutureAttack::
printstring STRINGID_PKMNTOOKATTACK
waitmessage 0x40
- jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_82DB001
- accuracycheck BattleScript_82DB058, MOVE_FUTURE_SIGHT
- goto BattleScript_82DB008
-BattleScript_82DB001::
- accuracycheck BattleScript_82DB058, MOVE_DOOM_DESIRE
-BattleScript_82DB008::
+ jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_CheckDoomDesireMiss
+ accuracycheck BattleScript_FutureAttackMiss, MOVE_FUTURE_SIGHT
+ goto BattleScript_FutureAttackAnimate
+BattleScript_CheckDoomDesireMiss::
+ accuracycheck BattleScript_FutureAttackMiss, MOVE_DOOM_DESIRE
+BattleScript_FutureAttackAnimate::
adjustnormaldamage2
- jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_82DB020
+ jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_FutureHitAnimDoomDesire
playanimation ATTACKER, ANIM_FUTURE_SIGHT_HIT, NULL
- goto BattleScript_82DB027
-BattleScript_82DB020::
- playanimation ATTACKER, ANIM_x13, NULL
-BattleScript_82DB027::
+ goto BattleScript_DoFutureAttackHit
+BattleScript_FutureHitAnimDoomDesire::
+ playanimation ATTACKER, ANIM_DOOM_DESIRE_HIT, NULL
+BattleScript_DoFutureAttackHit::
effectivenesssound
hitanimation TARGET
waitstate
@@ -3557,15 +3557,16 @@ BattleScript_82DB027::
resultmessage
waitmessage 0x40
tryfaintmon TARGET, FALSE, NULL
- atk24 BattleScript_82DB03F
-BattleScript_82DB03F::
+ atk24 BattleScript_FutureAttackEnd
+BattleScript_FutureAttackEnd::
setbyte sMOVEEND_STATE, 0x0
moveend 0x1, 0x0
setbyte sMOVEEND_STATE, 0xB
moveend 0x2, 0xE
setbyte gBattleMoveFlags, 0
end2
-BattleScript_82DB058::
+
+BattleScript_FutureAttackMiss::
pause 0x20
setbyte gBattleMoveFlags, 0
orbyte gBattleMoveFlags, MOVESTATUS_FAILED
@@ -3593,14 +3594,14 @@ BattleScript_SelectingTormentedMove::
printselectionstring STRINGID_PKMNCANTUSEMOVETORMENT
endselectionscript
-BattleScript_82DB08D::
+BattleScript_MoveUsedIsTormented::
printstring STRINGID_PKMNCANTUSEMOVETORMENT
waitmessage 0x40
goto BattleScript_MoveEnd
-BattleScript_82DB098::
+BattleScript_SelectingTormentedMoveInPalace::
printstring STRINGID_PKMNCANTUSEMOVETORMENT
- goto BattleScript_82DAE2D
+ goto BattleScript_SelectingUnusableMoveInPalace
BattleScript_SelectingNotAllowedMoveTaunt::
printselectionstring STRINGID_PKMNCANTUSEMOVETAUNT
@@ -3611,12 +3612,12 @@ BattleScript_MoveUsedIsTaunted::
waitmessage 0x40
goto BattleScript_MoveEnd
-BattleScript_82DB0AF::
+BattleScript_SelectingNotAllowedMoveTauntInPalace::
printstring STRINGID_PKMNCANTUSEMOVETAUNT
- goto BattleScript_82DAE2D
+ goto BattleScript_SelectingUnusableMoveInPalace
BattleScript_WishComesTrue::
- trywish 0x1, BattleScript_82DB0DE
+ trywish 0x1, BattleScript_WishButFullHp
playanimation TARGET, ANIM_WISH_HEAL, NULL
printstring STRINGID_PKMNWISHCAMETRUE
waitmessage 0x40
@@ -3627,7 +3628,7 @@ BattleScript_WishComesTrue::
waitmessage 0x40
end2
-BattleScript_82DB0DE::
+BattleScript_WishButFullHp::
printstring STRINGID_PKMNWISHCAMETRUE
waitmessage 0x40
pause 0x20
@@ -3644,7 +3645,7 @@ BattleScript_IngrainTurnHeal::
datahpupdate ATTACKER
end2
-BattleScript_82DB109::
+BattleScript_PrintMonIsRooted::
pause 0x20
printstring STRINGID_PKMNANCHOREDITSELF
waitmessage 0x40
@@ -3684,9 +3685,9 @@ BattleScript_SelectingImprisionedMove::
printselectionstring STRINGID_PKMNCANTUSEMOVESEALED
endselectionscript
-BattleScript_82DB185::
+BattleScript_SelectingImprisionedMoveInPalace::
printstring STRINGID_PKMNCANTUSEMOVESEALED
- goto BattleScript_82DAE2D
+ goto BattleScript_SelectingUnusableMoveInPalace
BattleScript_GrudgeTakesPp::
printstring STRINGID_PKMNLOSTPPGRUDGE
@@ -3765,21 +3766,21 @@ BattleScript_MonWokeUpInUproar::
BattleScript_PoisonTurnDmg::
printstring STRINGID_PKMNHURTBYPOISON
waitmessage 0x40
-BattleScript_82DB243::
+BattleScript_DoStatusTurnDmg::
statusanimation ATTACKER
-BattleScript_82DB245::
+BattleScript_DoTurnDmg::
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_x100000
healthbarupdate ATTACKER
datahpupdate ATTACKER
tryfaintmon ATTACKER, FALSE, NULL
- atk24 BattleScript_82DB25E
-BattleScript_82DB25E::
+ atk24 BattleScript_DoTurnDmgEnd
+BattleScript_DoTurnDmgEnd::
end2
BattleScript_BurnTurnDmg::
printstring STRINGID_PKMNHURTBYBURN
waitmessage 0x40
- goto BattleScript_82DB243
+ goto BattleScript_DoStatusTurnDmg
BattleScript_MoveUsedIsFrozen::
printstring STRINGID_PKMNISFROZEN
@@ -3826,8 +3827,8 @@ BattleScript_MoveUsedIsConfused::
printstring STRINGID_PKMNISCONFUSED
waitmessage 0x40
status2animation ATTACKER, STATUS2_CONFUSION
- jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_82DB2FF
-BattleScript_82DB2D4::
+ jumpifbyte EQUAL, cMULTISTRING_CHOOSER, 0x0, BattleScript_MoveUsedIsConfusedRet
+BattleScript_DoSelfConfusionDmg::
cancelmultiturnmoves ATTACKER
adjustnormaldamage2
printstring STRINGID_ITHURTCONFUSION
@@ -3842,7 +3843,7 @@ BattleScript_82DB2D4::
waitmessage 0x40
tryfaintmon ATTACKER, FALSE, NULL
goto BattleScript_MoveEnd
-BattleScript_82DB2FF::
+BattleScript_MoveUsedIsConfusedRet::
return
BattleScript_MoveUsedIsConfusedNoMore::
@@ -3859,7 +3860,7 @@ BattleScript_WrapTurnDmg::
playanimation ATTACKER, ANIM_TURN_TRAP, sANIM_ARG1
printstring STRINGID_PKMNHURTBY
waitmessage 0x40
- goto BattleScript_82DB245
+ goto BattleScript_DoTurnDmg
BattleScript_WrapEnds::
printstring STRINGID_PKMNFREEDFROM
@@ -3881,13 +3882,13 @@ BattleScript_NightmareTurnDmg::
printstring STRINGID_PKMNLOCKEDINNIGHTMARE
waitmessage 0x40
status2animation ATTACKER, STATUS2_NIGHTMARE
- goto BattleScript_82DB245
+ goto BattleScript_DoTurnDmg
BattleScript_CurseTurnDmg::
printstring STRINGID_PKMNAFFLICTEDBYCURSE
waitmessage 0x40
status2animation ATTACKER, STATUS2_CURSED
- goto BattleScript_82DB245
+ goto BattleScript_DoTurnDmg
BattleScript_TargetPRLZHeal::
printstring STRINGID_PKMNHEALEDPARALYSIS
@@ -3899,7 +3900,7 @@ BattleScript_MoveEffectSleep::
statusanimation EFFECT_BANK
printfromtable gFellAsleepStringIds
waitmessage 0x40
-BattleScript_82DB374::
+BattleScript_UpdateEffectStatusIconRet::
updatestatusicon EFFECT_BANK
waitstate
return
@@ -3917,25 +3918,25 @@ BattleScript_MoveEffectPoison::
statusanimation EFFECT_BANK
printfromtable gGotPoisonedStringIds
waitmessage 0x40
- goto BattleScript_82DB374
+ goto BattleScript_UpdateEffectStatusIconRet
BattleScript_MoveEffectBurn::
statusanimation EFFECT_BANK
printfromtable gGotBurnedStringIds
waitmessage 0x40
- goto BattleScript_82DB374
+ goto BattleScript_UpdateEffectStatusIconRet
BattleScript_MoveEffectFreeze::
statusanimation EFFECT_BANK
printfromtable gGotFrozenStringIds
waitmessage 0x40
- goto BattleScript_82DB374
+ goto BattleScript_UpdateEffectStatusIconRet
BattleScript_MoveEffectParalysis::
statusanimation EFFECT_BANK
printfromtable gGotParalyzedStringIds
waitmessage 0x40
- goto BattleScript_82DB374
+ goto BattleScript_UpdateEffectStatusIconRet
BattleScript_MoveEffectUproar::
printstring STRINGID_PKMNCAUSEDUPROAR
@@ -3946,7 +3947,7 @@ BattleScript_MoveEffectToxic::
statusanimation EFFECT_BANK
printstring STRINGID_PKMNBADLYPOISONED
waitmessage 0x40
- goto BattleScript_82DB374
+ goto BattleScript_UpdateEffectStatusIconRet
BattleScript_MoveEffectPayDay::
printstring STRINGID_COINSSCATTERED
@@ -4137,7 +4138,7 @@ BattleScript_FlashFireBoost::
waitmessage 0x40
goto BattleScript_MoveEnd
-BattleScript_82DB5B9::
+BattleScript_AbilityPreventsPhasingOut::
pause 0x20
printstring STRINGID_PKMNANCHORSITSELFWITH
waitmessage 0x40
@@ -4258,7 +4259,7 @@ BattleScript_82DB695::
BattleScript_IgnoresAndUsesRandomMove::
printstring STRINGID_PKMNIGNOREDORDERS
waitmessage 0x40
- jumptorandomattack 0x0
+ jumptorandomattack FALSE
BattleScript_MoveUsedLoafingAround::
jumpifbyte NOT_EQUAL, cMULTISTRING_CHOOSER, 0x4, BattleScript_82DB6C7
@@ -4284,7 +4285,7 @@ BattleScript_IgnoresAndFallsAsleep::
BattleScript_82DB6F0::
printstring STRINGID_PKMNWONTOBEY
waitmessage 0x40
- goto BattleScript_82DB2D4
+ goto BattleScript_DoSelfConfusionDmg
BattleScript_SubstituteFade::
playanimation TARGET, ANIM_SUBSTITUTE_FADE, NULL
@@ -4579,12 +4580,12 @@ BattleScript_AskIfWantsToForfeitMatch::
forfeityesnobox ATTACKER
endselectionscript
-BattleScript_82DB9C1::
+BattleScript_PrintPlayerForfeited::
printstring STRINGID_FORFEITEDMATCH
waitmessage 0x40
end2
-BattleScript_82DB9C8::
+BattleScript_PrintPlayerForfeitedLinkBattle::
printstring STRINGID_FORFEITEDMATCH
waitmessage 0x40
atk57
diff --git a/data/battle_scripts_2.s b/data/battle_scripts_2.s
index 88991ccd0..9cd6a4d7d 100644
--- a/data/battle_scripts_2.s
+++ b/data/battle_scripts_2.s
@@ -1,3 +1,5 @@
+#include "constants/items.h"
+#include "constants/songs.h"
.include "asm/macros.inc"
.include "asm/macros/battle_script.inc"
.include "constants/constants.inc"
@@ -24,13 +26,13 @@ gBattlescriptsForBallThrow:: @ 82DBD08
.4byte BattleScript_BallThrow
.align 2
-gUnknown_082DBD3C:: @ 82DBD3C
- .4byte BattleScript_82DBE12
- .4byte BattleScript_82DBE1C
- .4byte BattleScript_82DBE1C
- .4byte BattleScript_82DBE4B
- .4byte BattleScript_82DBE6F
- .4byte BattleScript_82DBE91
+gBattlescriptsForUsingItem:: @ 82DBD3C
+ .4byte BattleScript_PlayerUsesItem
+ .4byte BattleScript_OpponentUsesHealItem
+ .4byte BattleScript_OpponentUsesHealItem
+ .4byte BattleScript_OpponentUsesStatusCureItem
+ .4byte BattleScript_OpponentUsesXItem
+ .4byte BattleScript_OpponentUsesGuardSpecs
.align 2
gBattlescriptsForRunningByItem:: @ 82DBD54
@@ -58,27 +60,27 @@ BattleScript_SafariBallThrow::
handleballthrow
BattleScript_SuccessBallThrow::
- jumpifhalfword EQUAL, gLastUsedItem, ITEM_SAFARI_BALL, BattleScript_82DBD92
+ jumpifhalfword EQUAL, gLastUsedItem, ITEM_SAFARI_BALL, BattleScript_PrintCaughtMonInfo
incrementgamestat 0xB
-BattleScript_82DBD92::
+BattleScript_PrintCaughtMonInfo::
printstring STRINGID_GOTCHAPKMNCAUGHT
- trysetcaughtmondexflags BattleScript_82DBDA5
+ trysetcaughtmondexflags BattleScript_TryNicknameCaughtMon
printstring STRINGID_PKMNDATAADDEDTODEX
waitstate
setbyte gBattleCommunication, 0x0
displaydexinfo
-BattleScript_82DBDA5::
+BattleScript_TryNicknameCaughtMon::
printstring STRINGID_GIVENICKNAMECAPTURED
waitstate
setbyte gBattleCommunication, 0x0
- trygivecaughtmonnick BattleScript_82DBDC2
+ trygivecaughtmonnick BattleScript_GiveCaughtMonEnd
givecaughtmon
printfromtable gCaughtMonStringIds
waitmessage 0x40
- goto BattleScript_82DBDC3
-BattleScript_82DBDC2::
+ goto BattleScript_SuccessBallThrowEnd
+BattleScript_GiveCaughtMonEnd::
givecaughtmon
-BattleScript_82DBDC3::
+BattleScript_SuccessBallThrowEnd::
setbyte gBattleOutcome, CAUGHT
finishturn
@@ -90,12 +92,12 @@ BattleScript_WallyBallThrow::
BattleScript_ShakeBallThrow::
printfromtable gBallEscapeStringIds
waitmessage 0x40
- jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_SAFARI, BattleScript_82DBE01
- jumpifbyte NOT_EQUAL, gNumSafariBalls, 0x0, BattleScript_82DBE01
+ jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_SAFARI, BattleScript_ShakeBallThrowEnd
+ jumpifbyte NOT_EQUAL, gNumSafariBalls, 0x0, BattleScript_ShakeBallThrowEnd
printstring STRINGID_OUTOFSAFARIBALLS
waitmessage 0x40
setbyte gBattleOutcome, OUT_OF_BALLS
-BattleScript_82DBE01::
+BattleScript_ShakeBallThrowEnd::
finishaction
BattleScript_TrainerBallBlock::
@@ -106,12 +108,12 @@ BattleScript_TrainerBallBlock::
waitmessage 0x40
finishaction
-BattleScript_82DBE12::
+BattleScript_PlayerUsesItem::
setbyte sMOVEEND_STATE, 0xF
moveend 0x1, 0x0
end
-BattleScript_82DBE1C::
+BattleScript_OpponentUsesHealItem::
printstring STRINGID_EMPTYSTRING3
pause 0x30
playse SE_KAIFUKU
@@ -128,7 +130,7 @@ BattleScript_82DBE1C::
moveend 0x1, 0x0
finishaction
-BattleScript_82DBE4B::
+BattleScript_OpponentUsesStatusCureItem::
printstring STRINGID_EMPTYSTRING3
pause 0x30
playse SE_KAIFUKU
@@ -142,7 +144,7 @@ BattleScript_82DBE4B::
moveend 0x1, 0x0
finishaction
-BattleScript_82DBE6F::
+BattleScript_OpponentUsesXItem::
printstring STRINGID_EMPTYSTRING3
pause 0x30
playse SE_KAIFUKU
@@ -155,7 +157,7 @@ BattleScript_82DBE6F::
moveend 0x1, 0x0
finishaction
-BattleScript_82DBE91::
+BattleScript_OpponentUsesGuardSpecs::
printstring STRINGID_EMPTYSTRING3
pause 0x30
playse SE_KAIFUKU
diff --git a/data/battle_tower.s b/data/battle_tower.s
index a952e0773..b3926d19a 100644
--- a/data/battle_tower.s
+++ b/data/battle_tower.s
@@ -1,3 +1,7 @@
+#include "constants/easy_chat.h"
+#include "constants/items.h"
+#include "constants/moves.h"
+#include "constants/species.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
diff --git a/data/cable_car.s b/data/cable_car.s
index 0f3bf3e2e..32a265c97 100644
--- a/data/cable_car.s
+++ b/data/cable_car.s
@@ -1,3 +1,4 @@
+#include "constants/map_objects.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
diff --git a/data/data2b.s b/data/data2b.s
index e723b4c97..6051b86cc 100644
--- a/data/data2b.s
+++ b/data/data2b.s
@@ -1,5 +1,8 @@
@ the second big chunk of data
+#include "constants/items.h"
+#include "constants/moves.h"
+#include "constants/species.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
diff --git a/data/data2c.s b/data/data2c.s
index be715493c..904009254 100644
--- a/data/data2c.s
+++ b/data/data2c.s
@@ -1,5 +1,9 @@
@ the second big chunk of data
+#include "constants/abilities.h"
+#include "constants/items.h"
+#include "constants/moves.h"
+#include "constants/species.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
diff --git a/data/easy_chat.s b/data/easy_chat.s
index d6efc1c7f..a1a5e0c4a 100644
--- a/data/easy_chat.s
+++ b/data/easy_chat.s
@@ -1,3 +1,6 @@
+#include "constants/easy_chat.h"
+#include "constants/moves.h"
+#include "constants/species.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
diff --git a/data/event_scripts.s b/data/event_scripts.s
index 2c619e4bd..5c2021617 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -1,8 +1,12 @@
+#include "constants/flags.h"
+#include "constants/items.h"
+#include "constants/moves.h"
+#include "constants/songs.h"
+#include "constants/species.h"
+#include "constants/vars.h"
.include "asm/macros.inc"
.include "asm/macros/event.inc"
.include "constants/constants.inc"
- .include "constants/variables.inc"
- .include "constants/flags.inc"
.section script_data, "aw", %progbits
@@ -2268,7 +2272,7 @@ Route101_EventScript_272141:: @ 8272141
Route103_EventScript_272141:: @ 8272141
lock
faceplayer
- checkflag FLAG_0x12F
+ checkflag FLAG_HAS_MATCH_CALL
goto_if 0, Route101_EventScript_272155
checkflag FLAG_0x119
goto_if 0, Route101_EventScript_1FA2D2
diff --git a/data/field_map_obj.s b/data/field_map_obj.s
index 52b39f932..50bdfe6f3 100644
--- a/data/field_map_obj.s
+++ b/data/field_map_obj.s
@@ -1,3 +1,4 @@
+#include "constants/map_objects.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
diff --git a/data/graphics.s b/data/graphics.s
index 72daf144f..06c4b9e18 100644
--- a/data/graphics.s
+++ b/data/graphics.s
@@ -16,12 +16,108 @@ gUnknown_08C00524:: @ 8C00524
.incbin "baserom.gba", 0xc00c10, 0xa34
gUnknown_08C01644:: @ 8C01644
- .incbin "baserom.gba", 0xc01644, 0xE0
+ .incbin "baserom.gba", 0xc01644, 0xe0
gUnknown_08C01724:: @ 8C01724
- .incbin "baserom.gba", 0xc01724, 0xBDC
+ .incbin "baserom.gba", 0xc01724, 0x18
+
+ .align 2
+gInterfaceGfx_PokeBall::
+ .incbin "graphics/interface/ball/poke.4bpp.lz" @ 0xBC
+
+ .align 2
+gInterfacePal_PokeBall::
+ .incbin "graphics/interface/ball/poke.gbapal.lz"
+
+ .align 2
+gInterfaceGfx_GreatBall::
+ .incbin "graphics/interface/ball/great.4bpp.lz" @ 0xBC
+
+ .align 2
+gInterfacePal_GreatBall::
+ .incbin "graphics/interface/ball/great.gbapal.lz"
+
+ .align 2
+gInterfaceGfx_SafariBall::
+ .incbin "graphics/interface/ball/safari.4bpp.lz" @ 0xBC
+
+ .align 2
+gInterfacePal_SafariBall::
+ .incbin "graphics/interface/ball/safari.gbapal.lz"
+
+ .align 2
+gInterfaceGfx_UltraBall::
+ .incbin "baserom.gba", 0xC019E0, 0xB4
+
+ .align 2
+gInterfacePal_UltraBall::
+ .incbin "baserom.gba", 0xC01A94, 0x20
+
+ .align 2
+gInterfaceGfx_MasterBall::
+ .incbin "graphics/interface/ball/master.4bpp.lz" @ 0xBC
+
+ .align 2
+gInterfacePal_MasterBall::
+ .incbin "graphics/interface/ball/master.gbapal.lz"
+
+ .align 2
+gInterfaceGfx_NetBall::
+ .incbin "graphics/interface/ball/net.4bpp.lz" @ 0xBC
+
+ .align 2
+gInterfacePal_NetBall::
+ .incbin "graphics/interface/ball/net.gbapal.lz"
+
+ .align 2
+gInterfaceGfx_DiveBall::
+ .incbin "graphics/interface/ball/dive.4bpp.lz" @ 0xBC
+
+ .align 2
+gInterfacePal_DiveBall::
+ .incbin "graphics/interface/ball/dive.gbapal.lz"
+
+ .align 2
+gInterfaceGfx_NestBall::
+ .incbin "graphics/interface/ball/nest.4bpp.lz" @ 0xBC
+
+ .align 2
+gInterfacePal_NestBall::
+ .incbin "graphics/interface/ball/nest.gbapal.lz"
+
+ .align 2
+gInterfaceGfx_RepeatBall::
+ .incbin "graphics/interface/ball/repeat.4bpp.lz" @ 0xBC
+
+ .align 2
+gInterfacePal_RepeatBall::
+ .incbin "graphics/interface/ball/repeat.gbapal.lz"
+
+ .align 2
+gInterfaceGfx_TimerBall::
+ .incbin "graphics/interface/ball/timer.4bpp.lz" @ 0xBC
+
+ .align 2
+gInterfacePal_TimerBall::
+ .incbin "graphics/interface/ball/timer.gbapal.lz"
+
+ .align 2
+gInterfaceGfx_LuxuryBall::
+ .incbin "graphics/interface/ball/luxury.4bpp.lz" @ 0xBC
+
+ .align 2
+gInterfacePal_LuxuryBall::
+ .incbin "graphics/interface/ball/luxury.gbapal.lz"
+
+ .align 2
+gInterfaceGfx_PremierBall::
+ .incbin "graphics/interface/ball/premier.4bpp.lz" @ 0xBC
+
+ .align 2
+gInterfacePal_PremierBall::
+ .incbin "graphics/interface/ball/premier.gbapal.lz"
-gUnknown_08C02300:: @ 8C02300
+gOpenPokeballGfx:: @ 8C02300
.incbin "baserom.gba", 0xc02300, 0x7c
gUnknown_08C0237C:: @ 8C0237C
diff --git a/data/graphics/field_objects/berry_tree_graphics_tables.inc b/data/graphics/field_objects/berry_tree_graphics_tables.inc
index 52c8719fe..8d716d759 100644
--- a/data/graphics/field_objects/berry_tree_graphics_tables.inc
+++ b/data/graphics/field_objects/berry_tree_graphics_tables.inc
@@ -478,18 +478,18 @@ gFieldObjectPicTable_TamatoBerryTree:: @ 850C758
gBerryTreePaletteSlotTable_Tamato:: @ 850C7A0
berry_tree_palette_slot_table 2
- .byte FIELD_OBJ_GFX_BERRY_TREE_EARLY_STAGES
- .byte FIELD_OBJ_GFX_BERRY_TREE_EARLY_STAGES
- .byte FIELD_OBJ_GFX_BERRY_TREE_EARLY_STAGES
- .byte FIELD_OBJ_GFX_BERRY_TREE_EARLY_STAGES
- .byte FIELD_OBJ_GFX_BERRY_TREE_EARLY_STAGES
+ .byte MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES
+ .byte MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES
+ .byte MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES
+ .byte MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES
+ .byte MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES
gBerryTreeFieldObjectGraphicsIdTable:: @ 850C7AA
- .byte FIELD_OBJ_GFX_BERRY_TREE_EARLY_STAGES
- .byte FIELD_OBJ_GFX_BERRY_TREE_EARLY_STAGES
- .byte FIELD_OBJ_GFX_BERRY_TREE_LATE_STAGES
- .byte FIELD_OBJ_GFX_BERRY_TREE_LATE_STAGES
- .byte FIELD_OBJ_GFX_BERRY_TREE_LATE_STAGES
+ .byte MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES
+ .byte MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES
+ .byte MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES
+ .byte MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES
+ .byte MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES
.align 2
gBerryTreePicTablePointers:: @ 850C7B0
diff --git a/data/graphics/pokemon/animation_delay_table.inc b/data/graphics/pokemon/animation_delay_table.inc
index 55d602bab..be517649b 100644
--- a/data/graphics/pokemon/animation_delay_table.inc
+++ b/data/graphics/pokemon/animation_delay_table.inc
@@ -81,7 +81,7 @@ gMonAnimationDelayTable:: @ 8329B87
.byte 0x00 @ SPECIES_SLOWBRO
.byte 0x00 @ SPECIES_MAGNEMITE
.byte 0x00 @ SPECIES_MAGNETON
- .byte 0x00 @ SPECIES_FARFETCH_D
+ .byte 0x00 @ SPECIES_FARFETCHD
.byte 0x00 @ SPECIES_DODUO
.byte 0x00 @ SPECIES_DODRIO
.byte 0x00 @ SPECIES_SEEL
diff --git a/data/graphics/pokemon/front_anim_ids_table.inc b/data/graphics/pokemon/front_anim_ids_table.inc
index 6e2d7fe0e..4f225348a 100644
--- a/data/graphics/pokemon/front_anim_ids_table.inc
+++ b/data/graphics/pokemon/front_anim_ids_table.inc
@@ -81,7 +81,7 @@ gMonFrontAnimIdsTable:: @ 83299EC
.byte 0x0b @ SPECIES_SLOWBRO
.byte 0x54 @ SPECIES_MAGNEMITE
.byte 0x2c @ SPECIES_MAGNETON
- .byte 0x48 @ SPECIES_FARFETCH_D
+ .byte 0x48 @ SPECIES_FARFETCHD
.byte 0x4c @ SPECIES_DODUO
.byte 0x41 @ SPECIES_DODRIO
.byte 0x0b @ SPECIES_SEEL
diff --git a/data/item_menu_icons.s b/data/item_menu_icons.s
index 3b7b0ef89..01aa67eb0 100644
--- a/data/item_menu_icons.s
+++ b/data/item_menu_icons.s
@@ -1,3 +1,4 @@
+#include "constants/items.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
diff --git a/data/link.s b/data/link.s
index 336383678..8cd19ba5c 100644
--- a/data/link.s
+++ b/data/link.s
@@ -1,5 +1,6 @@
@ the second big chunk of data
+#include "constants/species.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
diff --git a/data/map_events.s b/data/map_events.s
index 805c4d255..8784ee047 100644
--- a/data/map_events.s
+++ b/data/map_events.s
@@ -1,7 +1,9 @@
+#include "constants/flags.h"
+#include "constants/items.h"
+#include "constants/map_objects.h"
+#include "constants/vars.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
- .include "constants/flags.inc"
- .include "constants/variables.inc"
.section .rodata
diff --git a/data/maps.s b/data/maps.s
index a8074c02a..8848ac242 100644
--- a/data/maps.s
+++ b/data/maps.s
@@ -1,3 +1,4 @@
+#include "constants/songs.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
diff --git a/data/rom4.s b/data/overworld.s
index 890829cd9..890829cd9 100644
--- a/data/rom4.s
+++ b/data/overworld.s
diff --git a/data/player_pc.s b/data/player_pc.s
index c3422db30..47bdbff39 100644
--- a/data/player_pc.s
+++ b/data/player_pc.s
@@ -1,3 +1,4 @@
+#include "constants/items.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
diff --git a/data/pokeball.s b/data/pokeball.s
deleted file mode 100644
index 4e7b4315a..000000000
--- a/data/pokeball.s
+++ /dev/null
@@ -1,14 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
- .align 2, 0
-
-gUnknown_0832C400:: @ 832C400
- .incbin "baserom.gba", 0x32c400, 0x60
-
-gUnknown_0832C460:: @ 832C460
- .incbin "baserom.gba", 0x32c460, 0x128
-
-gUnknown_0832C588:: @ 832C588
- .incbin "baserom.gba", 0x32c588, 0x138
diff --git a/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc b/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc
index cef69c7b2..1dd35ab18 100644
--- a/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc
+++ b/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc
@@ -482,7 +482,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA25A:: @ 81FA25A
goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA28A
compare_var_to_value VAR_0x40D3, 2
goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA294
- checkflag FLAG_0x12F
+ checkflag FLAG_HAS_MATCH_CALL
goto_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E
checkflag FLAG_0x119
goto_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA2D2
diff --git a/data/scripts/maps/PetalburgWoods.inc b/data/scripts/maps/PetalburgWoods.inc
index d79d4a414..64cf94754 100644
--- a/data/scripts/maps/PetalburgWoods.inc
+++ b/data/scripts/maps/PetalburgWoods.inc
@@ -293,7 +293,7 @@ PetalburgWoods_EventScript_22E284:: @ 822E284
PetalburgWoods_EventScript_22E2C5:: @ 822E2C5
special sub_80B4808
waitmovement 0
- checkflag FLAG_0x12F
+ checkflag FLAG_HAS_MATCH_CALL
goto_eq PetalburgWoods_EventScript_22E2D6
release
end
@@ -308,7 +308,7 @@ PetalburgWoods_EventScript_22E2D6:: @ 822E2D6
end
PetalburgWoods_EventScript_22E2EF:: @ 822E2EF
- checkflag FLAG_0x12F
+ checkflag FLAG_HAS_MATCH_CALL
goto_eq PetalburgWoods_EventScript_22E302
msgbox PetalburgWoods_Text_22E889, 4
release
diff --git a/data/scripts/maps/Route102.inc b/data/scripts/maps/Route102.inc
index 1f1e7c2d8..99e9f610c 100644
--- a/data/scripts/maps/Route102.inc
+++ b/data/scripts/maps/Route102.inc
@@ -33,7 +33,7 @@ Route102_EventScript_1EC105:: @ 81EC105
Route102_EventScript_1EC146:: @ 81EC146
special sub_80B4808
waitmovement 0
- checkflag FLAG_0x12F
+ checkflag FLAG_HAS_MATCH_CALL
goto_eq Route102_EventScript_1EC157
release
end
@@ -48,7 +48,7 @@ Route102_EventScript_1EC157:: @ 81EC157
end
Route102_EventScript_1EC170:: @ 81EC170
- checkflag FLAG_0x12F
+ checkflag FLAG_HAS_MATCH_CALL
goto_eq Route102_EventScript_1EC183
msgbox Route102_Text_2945AC, 4
release
diff --git a/data/scripts/maps/Route104.inc b/data/scripts/maps/Route104.inc
index 9dc400109..df209ced9 100644
--- a/data/scripts/maps/Route104.inc
+++ b/data/scripts/maps/Route104.inc
@@ -896,7 +896,7 @@ Route104_EventScript_1ED38D:: @ 81ED38D
Route104_EventScript_1ED3CE:: @ 81ED3CE
special sub_80B4808
waitmovement 0
- checkflag FLAG_0x12F
+ checkflag FLAG_HAS_MATCH_CALL
goto_eq Route104_EventScript_1ED3DF
release
end
@@ -911,7 +911,7 @@ Route104_EventScript_1ED3DF:: @ 81ED3DF
end
Route104_EventScript_1ED3F8:: @ 81ED3F8
- checkflag FLAG_0x12F
+ checkflag FLAG_HAS_MATCH_CALL
goto_eq Route104_EventScript_1ED40B
msgbox Route104_Text_295689, 4
release
@@ -947,7 +947,7 @@ Route104_EventScript_1ED43B:: @ 81ED43B
Route104_EventScript_1ED47C:: @ 81ED47C
special sub_80B4808
waitmovement 0
- checkflag FLAG_0x12F
+ checkflag FLAG_HAS_MATCH_CALL
goto_eq Route104_EventScript_1ED48D
release
end
@@ -962,7 +962,7 @@ Route104_EventScript_1ED48D:: @ 81ED48D
end
Route104_EventScript_1ED4A6:: @ 81ED4A6
- checkflag FLAG_0x12F
+ checkflag FLAG_HAS_MATCH_CALL
goto_eq Route104_EventScript_1ED4B9
msgbox Route104_Text_2958C1, 4
release
@@ -998,7 +998,7 @@ Route104_EventScript_1ED4E9:: @ 81ED4E9
Route104_EventScript_1ED52A:: @ 81ED52A
special sub_80B4808
waitmovement 0
- checkflag FLAG_0x12F
+ checkflag FLAG_HAS_MATCH_CALL
goto_eq Route104_EventScript_1ED53B
release
end
@@ -1013,7 +1013,7 @@ Route104_EventScript_1ED53B:: @ 81ED53B
end
Route104_EventScript_1ED554:: @ 81ED554
- checkflag FLAG_0x12F
+ checkflag FLAG_HAS_MATCH_CALL
goto_eq Route104_EventScript_1ED567
msgbox Route104_Text_295AC3, 4
release
diff --git a/data/scripts/maps/Route116.inc b/data/scripts/maps/Route116.inc
index 74ab9d428..4e6a6be80 100644
--- a/data/scripts/maps/Route116.inc
+++ b/data/scripts/maps/Route116.inc
@@ -271,7 +271,7 @@ Route116_EventScript_1F2EB7:: @ 81F2EB7
end
Route116_EventScript_1F2EF8:: @ 81F2EF8
- checkflag FLAG_0x12F
+ checkflag FLAG_HAS_MATCH_CALL
goto_eq Route116_EventScript_1F2F03
release
end
@@ -288,7 +288,7 @@ Route116_EventScript_1F2F03:: @ 81F2F03
end
Route116_EventScript_1F2F22:: @ 81F2F22
- checkflag FLAG_0x12F
+ checkflag FLAG_HAS_MATCH_CALL
goto_eq Route116_EventScript_1F2F35
msgbox Route116_Text_29BD92, 4
release
@@ -332,7 +332,7 @@ Route116_EventScript_1F2F93:: @ 81F2F93
end
Route116_EventScript_1F2FD4:: @ 81F2FD4
- checkflag FLAG_0x12F
+ checkflag FLAG_HAS_MATCH_CALL
goto_eq Route116_EventScript_1F2FDF
release
end
@@ -349,7 +349,7 @@ Route116_EventScript_1F2FDF:: @ 81F2FDF
end
Route116_EventScript_1F2FFE:: @ 81F2FFE
- checkflag FLAG_0x12F
+ checkflag FLAG_HAS_MATCH_CALL
goto_eq Route116_EventScript_1F3011
msgbox Route116_Text_29C010, 4
release
diff --git a/data/scripts/maps/RustboroCity.inc b/data/scripts/maps/RustboroCity.inc
index 31182439b..14f155cee 100644
--- a/data/scripts/maps/RustboroCity.inc
+++ b/data/scripts/maps/RustboroCity.inc
@@ -52,7 +52,7 @@ RustboroCity_EventScript_1E0715:: @ 81E0715
waitmovement 0
msgbox RustboroCity_Text_1E22A5, 4
closemessage
- setflag FLAG_0x12F
+ setflag FLAG_HAS_MATCH_CALL
applymovement 15, RustboroCity_Movement_2725A4
waitmovement 0
playse SE_TK_KASYA
diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc
index 85952d9f0..4e2ba64a9 100644
--- a/data/scripts/players_house.inc
+++ b/data/scripts/players_house.inc
@@ -318,7 +318,7 @@ LittlerootTown_MaysHouse_1F_EventScript_2929C5:: @ 82929C5
goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A0F
compare_var_to_value VAR_0x408C, 4
goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A0F
- checkflag FLAG_0x12F
+ checkflag FLAG_HAS_MATCH_CALL
goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A19
checkflag FLAG_0x052
goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A86
diff --git a/data/text/contest_strings.inc b/data/text/contest_strings.inc
index 46ce8a8c4..92b04c95c 100644
--- a/data/text/contest_strings.inc
+++ b/data/text/contest_strings.inc
@@ -202,476 +202,516 @@ gContestMoveTypeSmartText:: @ 827D4FB
gContestMoveTypeToughText:: @ 827D501
.string "TOUGH$"
-gUnknown_0827D507:: @ 827D507
+gText_0827D507:: @ 827D507
.string "Appeal no. {STR_VAR_1}!\n"
.string "Which move will be played?$"
-gUnknown_0827D531:: @ 827D531
+gText_0827D531:: @ 827D531
.string "Appeal no. {STR_VAR_1}!\n"
.string "But it can’t participate!$"
-gUnknown_0827D55A:: @ 827D55A
+gText_0827D55A:: @ 827D55A
.string "{STR_VAR_1} appealed with\n"
.string "{STR_VAR_2}!$"
-gUnknown_0827D56F:: @ 827D56F
+gText_0827D56F:: @ 827D56F
.string "{STR_VAR_1} was watching\n"
.string "the others.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827D597:: @ 827D597
+gText_0827D597:: @ 827D597
.string "We’re all out of\n"
.string "Appeal Time!{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827D5C1:: @ 827D5C1
+gText_0827D5C1:: @ 827D5C1
.string "But the appeal was\n"
.string "jammed.$"
-gUnknown_0827D5DC:: @ 827D5DC
+gText_0827D5DC:: @ 827D5DC
.string "It followed another\n"
.string "POKéMON’s lead.$"
-gUnknown_0827D600:: @ 827D600
+gText_0827D600:: @ 827D600
.string "But it messed up.$"
-gUnknown_0827D612:: @ 827D612
+gText_0827D612:: @ 827D612
.string "It went better than\n"
.string "usual.$"
-gUnknown_0827D62D:: @ 827D62D
+gText_0827D62D:: @ 827D62D
.string "The JUDGE looked away\n"
.string "for some reason.$"
-gUnknown_0827D654:: @ 827D654
+gText_0827D654:: @ 827D654
.string "It worked hard to build on\n"
.string "past mistakes.$"
-gUnknown_0827D67E:: @ 827D67E
+gText_0827D67E:: @ 827D67E
.string "It can’t make any more\n"
.string "moves.$"
-gUnknown_0827D69C:: @ 827D69C
+gText_0827D69C:: @ 827D69C
.string "It worked frighteningly\n"
.string "well.$"
-gUnknown_0827D6BA:: @ 827D6BA
+gText_0827D6BA:: @ 827D6BA
.string "It worked as hard as the\n"
.string "standout POKéMON.$"
-gUnknown_0827D6E5:: @ 827D6E5
+gText_0827D6E5:: @ 827D6E5
.string "The JUDGE looked on\n"
.string "expectantly.$"
-gUnknown_0827D706:: @ 827D706
+gText_0827D706:: @ 827D706
.string "It worked rather well.$"
-gUnknown_0827D71D:: @ 827D71D
+gText_0827D71D:: @ 827D71D
.string "It worked a little better\n"
.string "than usual.$"
-gUnknown_0827D743:: @ 827D743
+gText_0827D743:: @ 827D743
.string "{STR_VAR_1} failed to\n"
.string "stand out at all…{PAUSE_UNTIL_PRESS}$"
-gUnknown_0827D764:: @ 827D764
+gText_0827D764:: @ 827D764
.string "{STR_VAR_1} didn’t stand\n"
.string "out very much…{PAUSE_UNTIL_PRESS}$"
-gUnknown_0827D785:: @ 827D785
+gText_0827D785:: @ 827D785
.string "{STR_VAR_1} caught a\n"
.string "little attention.{PAUSE_UNTIL_PRESS}$"
-gUnknown_0827D7A5:: @ 827D7A5
+gText_0827D7A5:: @ 827D7A5
.string "{STR_VAR_1} attracted a\n"
.string "lot of attention.{PAUSE_UNTIL_PRESS}$"
-gUnknown_0827D7C8:: @ 827D7C8
+gText_0827D7C8:: @ 827D7C8
.string "{STR_VAR_1} commanded\n"
.string "total attention.{PAUSE_UNTIL_PRESS}$"
-gUnknown_0827D7E8:: @ 827D7E8
+gText_0827D7E8:: @ 827D7E8
.string "{STR_VAR_1} hasn’t made\n"
.string "its appeal.{PAUSE_UNTIL_PRESS}$"
-gUnknown_0827D805:: @ 827D805
+gText_0827D805:: @ 827D805
.string "Anticipation swelled for\n"
.string "{STR_VAR_1}’s appeal next.$"
-gUnknown_0827D830:: @ 827D830
+gText_0827D830:: @ 827D830
.string "$"
-gUnknown_0827D831:: @ 827D831
+gText_0827D831:: @ 827D831
.string "The JUDGE ’s views on\n"
.string "{STR_VAR_1} held firm.$"
-gUnknown_0827D855:: @ 827D855
+gText_0827D855:: @ 827D855
.string "{STR_VAR_1}’s {STR_VAR_3}\n"
.string "changed perceptions.$"
-gUnknown_0827D872:: @ 827D872
+gText_0827D872:: @ 827D872
.string "{STR_VAR_1}’s appeal\n"
.string "effect wore off.$"
-gUnknown_0827D88F:: @ 827D88F
+gText_0827D88F:: @ 827D88F
.string "The special appeal’s\n"
.string "effect wore off.$"
-gUnknown_0827D8B5:: @ 827D8B5
+gText_0827D8B5:: @ 827D8B5
.string "Everyone’s appeals were\n"
.string "made to look the same.$"
-gUnknown_0827D8E4:: @ 827D8E4
+gText_0827D8E4:: @ 827D8E4
.string "It cheapened\n"
.string "{STR_VAR_2}’s appeal.$"
-gUnknown_0827D8FE:: @ 827D8FE
+gText_0827D8FE:: @ 827D8FE
.string "It cheapened the appeal\n"
.string "of those ahead.$"
-gUnknown_0827D926:: @ 827D926
+gText_0827D926:: @ 827D926
.string "It stole attention away\n"
.string "from {STR_VAR_2}.$"
-gUnknown_0827D947:: @ 827D947
+gText_0827D947:: @ 827D947
.string "It cheapened\n"
.string "{STR_VAR_2}’s appeal.$"
-gUnknown_0827D961:: @ 827D961
+gText_0827D961:: @ 827D961
.string "It severely cheapened\n"
.string "other appeals.$"
-gUnknown_0827D986:: @ 827D986
+gText_0827D986:: @ 827D986
.string "Anticipation swelled for\n"
.string "{STR_VAR_1}’s appeal next.$"
-gUnknown_0827D9B1:: @ 827D9B1
+gText_0827D9B1:: @ 827D9B1
.string "It cheapened the appeal\n"
.string "of those ahead.$"
-gUnknown_0827D9D9:: @ 827D9D9
+gText_0827D9D9:: @ 827D9D9
.string "It cheapened the JUDGE’s\n"
.string "favorite appeal.$"
-gUnknown_0827DA03:: @ 827DA03
+gText_0827DA03:: @ 827DA03
.string "The appeals of others\n"
.string "were cheapened by half.$"
-gUnknown_0827DA31:: @ 827DA31
+gText_0827DA31:: @ 827DA31
.string "It stood out to make up\n"
.string "for being jammed.$"
-gUnknown_0827DA5B:: @ 827DA5B
+gText_0827DA5B:: @ 827DA5B
.string "It can’t participate in\n"
.string "appeals any more.$"
-gUnknown_0827DA85:: @ 827DA85
+gText_0827DA85:: @ 827DA85
.string "It touched the JUDGE for\n"
.string "a fantastic appeal.$"
-gUnknown_0827DAB2:: @ 827DAB2
+gText_0827DAB2:: @ 827DAB2
.string "Anticipation rose for\n"
.string "upcoming appeals.$"
-gUnknown_0827DADA:: @ 827DADA
+gText_0827DADA:: @ 827DADA
.string "It stood out as much as\n"
.string "special appeals.$"
-gUnknown_0827DB03:: @ 827DB03
+gText_0827DB03:: @ 827DB03
.string "It stood out as much as\n"
.string "{STR_VAR_1}.$"
-gUnknown_0827DB1F:: @ 827DB1F
+gText_0827DB1F:: @ 827DB1F
.string "Jammed appeals were made\n"
.string "even less noticeable.$"
-gUnknown_0827DB4E:: @ 827DB4E
+gText_0827DB4E:: @ 827DB4E
.string "Everyone’s appeals were\n"
.string "made the same.$"
+gText_827DB75:: @ 827DB75
.string "It became more conscious\n"
.string "of the other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DBB0:: @ 827DBB0
.string "{STR_VAR_1} can’t make an\n"
.string "appeal after this.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DBE0:: @ 827DBE0
.string "It settled down just a\n"
.string "little bit.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DC0F:: @ 827DC0F
.string "It became oblivious to\n"
.string "the other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DC45:: @ 827DC45
.string "It became less aware of\n"
.string "the other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DC7C:: @ 827DC7C
.string "It stopped caring about\n"
.string "other POKéMON much.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DCB4:: @ 827DCB4
.string "It tried to startle the\n"
.string "other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DCE7:: @ 827DCE7
.string "It tried to dazzle the\n"
.string "others.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DD12:: @ 827DD12
.string "The JUDGE looked away\n"
.string "from {STR_VAR_1}.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DD3D:: @ 827DD3D
.string "It tried to unnerve the\n"
.string "next POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DD6F:: @ 827DD6F
.string "{STR_VAR_1} became\n"
.string "nervous.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DD8E:: @ 827DD8E
.string "The appeal tried to\n"
.string "unnerve waiting POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DDC7:: @ 827DDC7
.string "It taunted POKéMON\n"
.string "doing well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DDF2:: @ 827DDF2
.string "{STR_VAR_1} regained its\n"
.string "form.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DE14:: @ 827DE14
.string "It tried to jam POKéMON\n"
.string "doing well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DE44:: @ 827DE44
.string "The standout {STR_VAR_1}\n"
.string "hustled even more.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DE73:: @ 827DE73
.string "The largely unnoticed\n"
.string "{STR_VAR_1} worked hard.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DEA5:: @ 827DEA5
.string "It worked as much as\n"
.string "POKéMON before it.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DED9:: @ 827DED9
.string "{STR_VAR_1}’s appeal did\n"
.string "not go well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DF02:: @ 827DF02
.string "It worked as much as the\n"
.string "preceding POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DF3A:: @ 827DF3A
.string "{STR_VAR_1}’s appeal did\n"
.string "not go well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DF63:: @ 827DF63
.string "{STR_VAR_1}’s appeal did\n"
.string "not go well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DF8C:: @ 827DF8C
.string "{STR_VAR_1}’s appeal\n"
.string "went slightly well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DFB8:: @ 827DFB8
.string "{STR_VAR_1}’s appeal\n"
.string "went pretty well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827DFE2:: @ 827DFE2
.string "{STR_VAR_1}’s appeal\n"
.string "went excellently.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827E00C:: @ 827E00C
.string "{STR_VAR_1}’s appeal was\n"
.string "a dud.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827E02F:: @ 827E02F
.string "{STR_VAR_1}’s appeal did\n"
.string "not work very well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827E05F:: @ 827E05F
.string "{STR_VAR_1}’s appeal\n"
.string "went slightly well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827E08B:: @ 827E08B
.string "{STR_VAR_1}’s appeal\n"
.string "went pretty well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827E0B5:: @ 827E0B5
.string "{STR_VAR_1}’s appeal\n"
.string "went very well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827E0DD:: @ 827E0DD
.string "{STR_VAR_1}’s appeal\n"
.string "went excellently.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827E107:: @ 827E107
.string "It’s the same type as the\n"
.string "POKéMON before--good!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827E143:: @ 827E143
.string "It’s not the same type as\n"
.string "the one before--good!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827E17F:: @ 827E17F
.string "It stood out much more\n"
.string "than the POKéMON before.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827E1BB:: @ 827E1BB
.string "It didn’t do as well as the\n"
.string "POKéMON before.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827E1F3:: @ 827E1F3
.string "{STR_VAR_1}’s condition\n"
.string "rose above usual.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827E220:: @ 827E220
.string "{STR_VAR_1}’s hot status\n"
.string "made it a great appeal!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827E254:: @ 827E254
.string "It moved up in line for\n"
.string "the next appeal.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827E289:: @ 827E289
.string "It moved back in line once\n"
.string "for the next appeal.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+gText_827E2C5:: @ 827E2C5
.string "It scrambled up the\n"
.string "order for the next turn.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
-gUnknown_0827E2FE:: @ 827E2FE
+gText_0827E2FE:: @ 827E2FE
.string "The JUDGE looked at\n"
.string "{STR_VAR_1} expectantly.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E32E:: @ 827E32E
+gText_0827E32E:: @ 827E32E
.string "The appeal combo went\n"
.string "over well.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E35B:: @ 827E35B
+gText_0827E35B:: @ 827E35B
.string "The appeal combo went\n"
.string "over very well.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E38D:: @ 827E38D
+gText_0827E38D:: @ 827E38D
.string "The appeal combo went\n"
.string "over excellently.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E3C1:: @ 827E3C1
+gText_0827E3C1:: @ 827E3C1
.string "{STR_VAR_1} managed to\n"
.string "avert its gaze.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E3EB:: @ 827E3EB
+gText_0827E3EB:: @ 827E3EB
.string "{STR_VAR_1} managed to\n"
.string "avoid seeing it.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E416:: @ 827E416
+gText_0827E416:: @ 827E416
.string "{STR_VAR_1} isn’t fazed\n"
.string "by that sort of thing.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E448:: @ 827E448
+gText_0827E448:: @ 827E448
.string "{STR_VAR_1} became a\n"
.string "little distracted.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E473:: @ 827E473
+gText_0827E473:: @ 827E473
.string "It tried to startle the\n"
.string "other POKéMON.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E4A6:: @ 827E4A6
+gText_0827E4A6:: @ 827E4A6
.string "{STR_VAR_1} looked down\n"
.string "out of distraction.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E4D5:: @ 827E4D5
+gText_0827E4D5:: @ 827E4D5
.string "{STR_VAR_1} turned back\n"
.string "out of distraction.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E504:: @ 827E504
+gText_0827E504:: @ 827E504
.string "{STR_VAR_1} couldn’t help\n"
.string "uttering a cry.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E531:: @ 827E531
+gText_0827E531:: @ 827E531
.string "{STR_VAR_1} couldn’t help\n"
.string "leaping up.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E55A:: @ 827E55A
+gText_0827E55A:: @ 827E55A
.string "{STR_VAR_1} tripped over\n"
.string "out of distraction.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E58A:: @ 827E58A
+gText_0827E58A:: @ 827E58A
.string "{STR_VAR_1} was too\n"
.string "nervous to move.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E5B2:: @ 827E5B2
+gText_0827E5B2:: @ 827E5B2
.string "But it messed up.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E5D0:: @ 827E5D0
+gText_0827E5D0:: @ 827E5D0
.string "But it failed to make\n"
.string "the target nervous.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E606:: @ 827E606
+gText_0827E606:: @ 827E606
.string "But it failed to make\n"
.string "anyone nervous.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E638:: @ 827E638
+gText_0827E638:: @ 827E638
.string "But it was ignored…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E658:: @ 827E658
+gText_0827E658:: @ 827E658
.string "But it couldn’t improve\n"
.string "its condition…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E68B:: @ 827E68B
+gText_0827E68B:: @ 827E68B
.string "Its bad condition\n"
.string "resulted in a weak appeal.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E6C4:: @ 827E6C4
+gText_0827E6C4:: @ 827E6C4
.string "{STR_VAR_1} was\n"
.string "unaffected.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E6E3:: @ 827E6E3
+gText_0827E6E3:: @ 827E6E3
.string "{STR_VAR_1} disappointed\n"
.string "by repeating an appeal.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E717:: @ 827E717
+gText_0827E717:: @ 827E717
.string "{STR_VAR_1}’s {STR_VAR_3}\n"
.string "went over great.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E73C:: @ 827E73C
+gText_0827E73C:: @ 827E73C
.string "{STR_VAR_1}’s {STR_VAR_3}\n"
.string "didn’t go over well here…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E76A:: @ 827E76A
+gText_0827E76A:: @ 827E76A
.string "{STR_VAR_1}’s {STR_VAR_3}\n"
.string "got the crowd going.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E793:: @ 827E793
+gText_0827E793:: @ 827E793
.string "{STR_VAR_1} can’t appeal\n"
.string "next turn…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E7BA:: @ 827E7BA
+gText_0827E7BA:: @ 827E7BA
.string "It attracted the crowd’s\n"
.string "attention.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E7EA:: @ 827E7EA
+gText_0827E7EA:: @ 827E7EA
.string "The crowd continues to\n"
.string "watch {STR_VAR_3}.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E817:: @ 827E817
+gText_0827E817:: @ 827E817
.string "{STR_VAR_1}’s\n"
.string "{STR_VAR_2} is ignored.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gUnknown_0827E837:: @ 827E837
+gText_0827E837:: @ 827E837
.string "shyness$"
-gUnknown_0827E83F:: @ 827E83F
+gText_0827E83F:: @ 827E83F
.string "anxiety$"
-gUnknown_0827E847:: @ 827E847
+gText_0827E847:: @ 827E847
.string "laziness$"
-gUnknown_0827E850:: @ 827E850
+gText_0827E850:: @ 827E850
.string "hesitancy$"
-gUnknown_0827E85A:: @ 827E85A
+gText_0827E85A:: @ 827E85A
.string "fear$"
-gUnknown_0827E85F:: @ 827E85F
+gText_0827E85F:: @ 827E85F
.string "coolness$"
-gUnknown_0827E868:: @ 827E868
+gText_0827E868:: @ 827E868
.string "beauty$"
-gUnknown_0827E86F:: @ 827E86F
+gText_0827E86F:: @ 827E86F
.string "cuteness$"
-gUnknown_0827E878:: @ 827E878
+gText_0827E878:: @ 827E878
.string "smartness$"
-gUnknown_0827E882:: @ 827E882
+gText_0827E882:: @ 827E882
.string "toughness$"
-gUnknown_0827E88C:: @ 827E88C
+gText_0827E88C:: @ 827E88C
.string "TENSION$"
-gUnknown_0827E894:: @ 827E894
+gText_0827E894:: @ 827E894
.string "COOL Move$"
-gUnknown_0827E89E:: @ 827E89E
+gText_0827E89E:: @ 827E89E
.string "BEAUTY Move$"
-gUnknown_0827E8AA:: @ 827E8AA
+gText_0827E8AA:: @ 827E8AA
.string "CUTE Move$"
-gUnknown_0827E8B4:: @ 827E8B4
+gText_0827E8B4:: @ 827E8B4
.string "SMART Move$"
-gUnknown_0827E8BF:: @ 827E8BF
+gText_0827E8BF:: @ 827E8BF
.string "TOUGH Move$"
-gUnknown_0827E8CA:: @ 827E8CA
+gText_0827E8CA:: @ 827E8CA
.string "???$"
diff --git a/data/text/easy_chat/easy_chat_group_pokemon2.s b/data/text/easy_chat/easy_chat_group_pokemon2.s
index 6a1bc0fcd..e2f58e496 100644
--- a/data/text/easy_chat/easy_chat_group_pokemon2.s
+++ b/data/text/easy_chat/easy_chat_group_pokemon2.s
@@ -57,7 +57,7 @@ gEasyChatGroup_Pokemon2:: @ 859CE0C
.2byte SPECIES_ESPEON
.2byte SPECIES_EXEGGCUTE
.2byte SPECIES_EXEGGUTOR
- .2byte SPECIES_FARFETCH_D
+ .2byte SPECIES_FARFETCHD
.2byte SPECIES_FEAROW
.2byte SPECIES_FERALIGATR
.2byte SPECIES_FLAAFFY
diff --git a/data/text/easy_chat/easy_chat_words_by_letter.inc b/data/text/easy_chat/easy_chat_words_by_letter.inc
index a271a5586..bce4be347 100644
--- a/data/text/easy_chat/easy_chat_words_by_letter.inc
+++ b/data/text/easy_chat/easy_chat_words_by_letter.inc
@@ -1,2522 +1,2522 @@
gEasyChatWordsByLetter_Others:: @ 859D0B4
- ec_word EXCL
- ec_word EXCL_EXCL
- ec_word DASH
- ec_word DASH_DASH_DASH
- ec_word ELLIPSIS
- ec_word ELLIPSIS_EXCL
- ec_word ELLIPSIS_ELLIPSIS_ELLIPSIS
- ec_word 1_HIT_KO_EXCL
- ec_word QUES
- ec_word QUES_EXCL
+ .2byte EC_WORD_EXCL
+ .2byte EC_WORD_EXCL_EXCL
+ .2byte EC_WORD_DASH
+ .2byte EC_WORD_DASH_DASH_DASH
+ .2byte EC_WORD_ELLIPSIS
+ .2byte EC_WORD_ELLIPSIS_EXCL
+ .2byte EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS
+ .2byte EC_WORD_1_HIT_KO_EXCL
+ .2byte EC_WORD_QUES
+ .2byte EC_WORD_QUES_EXCL
gEasyChatWordsByLetter_A:: @ 859D0C8
- ec_word A
- ec_word A_LITTLE
- ec_word A_LOT
- ec_word A_TINY_BIT
- ec_word ABOUT
- ec_word ABOVE
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 ABRA
- ec_pokemon2 ABRA
- ec_word ABSENT
- ec_pokemon1 ABSOL
- ec_word ABSOLUTELY
- ec_move1 ABSORB
- ec_word ACCEPT
- ec_move2 ACID
- ec_move2 ACID_ARMOR
- ec_word ADORE
- ec_word ADULT
- ec_word ADVENTURE
- ec_move2 AERIAL_ACE
- ec_move1 AEROBLAST
- ec_pokemon2 AERODACTYL
- ec_word AFTER
- ec_word AGE
- ec_pokemon1 AGGRON
- ec_move1 AGILITY
- ec_word AGREE
- ec_word AHAHA
- ec_word AIM
- ec_pokemon2 AIPOM
- ec_move1 AIR_CUTTER
- ec_word AIR_LOCK
- ec_word AIYEEH
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 ALAKAZAM
- ec_pokemon2 ALAKAZAM
- ec_word ALL
- ec_word ALL_RIGHT
- ec_word ALLOW
- ec_word ALLOWANCE
- ec_word ALLY
- ec_word ALMOST
- ec_word ALONE
- ec_word ALSO
- ec_word ALT_COLOR
- ec_pokemon1 ALTARIA
- ec_word ALTHOUGH
- ec_word ALWAYS
- ec_word AM
- ec_move2 AMNESIA
- ec_pokemon2 AMPHAROS
- ec_word AMUSING
- ec_word AN
- ec_move1 ANCIENT_POWER
- ec_word AND
- ec_word ANGER
- ec_word ANGERS
- ec_word ANGRY
- ec_word ANIME
- ec_pokemon1 ANORITH
- ec_word ANOTHER
- ec_word ANTICIPATION
- ec_word ANY
- ec_word ANYWHERE
- ec_word APOLOGIZE
- ec_word APPEAL
- ec_word APPEAR
- ec_word APPEARS
- ec_word APPRECIATE
- ec_word APPROVED
- ec_pokemon2 ARBOK
- ec_pokemon2 ARCANINE
- ec_word ARE
- ec_word AREN_T
- ec_word ARENA_TRAP
- ec_pokemon2 ARIADOS
- ec_move2 ARM_THRUST
- ec_pokemon1 ARMALDO
- ec_move1 AROMATHERAPY
- ec_pokemon1 ARON
- ec_word AROUND
- ec_word ARRGH
- ec_pokemon2 ARTICUNO
- ec_word AS
- ec_word AS_IF
- ec_word AS_MUCH_AS
- ec_move2 ASSIST
- ec_move1 ASTONISH
- ec_word AT
- ec_word ATTACK
- ec_move2 ATTRACT
- ec_word AUNT
- ec_move1 AURORA_BEAM
- ec_word AVANT_GARDE
- ec_word AWAY
- ec_word AWESOME
- ec_word AWFUL
- ec_word AWFULLY
- ec_word AWW
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 AZUMARILL
- ec_pokemon2 AZUMARILL
- ec_pokemon1 AZURILL
+ .2byte EC_WORD_A
+ .2byte EC_WORD_A_LITTLE
+ .2byte EC_WORD_A_LOT
+ .2byte EC_WORD_A_TINY_BIT
+ .2byte EC_WORD_ABOUT
+ .2byte EC_WORD_ABOVE
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(ABRA)
+ .2byte EC_POKEMON2(ABRA)
+ .2byte EC_WORD_ABSENT
+ .2byte EC_POKEMON(ABSOL)
+ .2byte EC_WORD_ABSOLUTELY
+ .2byte EC_MOVE(ABSORB)
+ .2byte EC_WORD_ACCEPT
+ .2byte EC_MOVE2(ACID)
+ .2byte EC_MOVE2(ACID_ARMOR)
+ .2byte EC_WORD_ADORE
+ .2byte EC_WORD_ADULT
+ .2byte EC_WORD_ADVENTURE
+ .2byte EC_MOVE2(AERIAL_ACE)
+ .2byte EC_MOVE(AEROBLAST)
+ .2byte EC_POKEMON2(AERODACTYL)
+ .2byte EC_WORD_AFTER
+ .2byte EC_WORD_AGE
+ .2byte EC_POKEMON(AGGRON)
+ .2byte EC_MOVE(AGILITY)
+ .2byte EC_WORD_AGREE
+ .2byte EC_WORD_AHAHA
+ .2byte EC_WORD_AIM
+ .2byte EC_POKEMON2(AIPOM)
+ .2byte EC_MOVE(AIR_CUTTER)
+ .2byte EC_WORD_AIR_LOCK
+ .2byte EC_WORD_AIYEEH
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(ALAKAZAM)
+ .2byte EC_POKEMON2(ALAKAZAM)
+ .2byte EC_WORD_ALL
+ .2byte EC_WORD_ALL_RIGHT
+ .2byte EC_WORD_ALLOW
+ .2byte EC_WORD_ALLOWANCE
+ .2byte EC_WORD_ALLY
+ .2byte EC_WORD_ALMOST
+ .2byte EC_WORD_ALONE
+ .2byte EC_WORD_ALSO
+ .2byte EC_WORD_ALT_COLOR
+ .2byte EC_POKEMON(ALTARIA)
+ .2byte EC_WORD_ALTHOUGH
+ .2byte EC_WORD_ALWAYS
+ .2byte EC_WORD_AM
+ .2byte EC_MOVE2(AMNESIA)
+ .2byte EC_POKEMON2(AMPHAROS)
+ .2byte EC_WORD_AMUSING
+ .2byte EC_WORD_AN
+ .2byte EC_MOVE(ANCIENT_POWER)
+ .2byte EC_WORD_AND
+ .2byte EC_WORD_ANGER
+ .2byte EC_WORD_ANGERS
+ .2byte EC_WORD_ANGRY
+ .2byte EC_WORD_ANIME
+ .2byte EC_POKEMON(ANORITH)
+ .2byte EC_WORD_ANOTHER
+ .2byte EC_WORD_ANTICIPATION
+ .2byte EC_WORD_ANY
+ .2byte EC_WORD_ANYWHERE
+ .2byte EC_WORD_APOLOGIZE
+ .2byte EC_WORD_APPEAL
+ .2byte EC_WORD_APPEAR
+ .2byte EC_WORD_APPEARS
+ .2byte EC_WORD_APPRECIATE
+ .2byte EC_WORD_APPROVED
+ .2byte EC_POKEMON2(ARBOK)
+ .2byte EC_POKEMON2(ARCANINE)
+ .2byte EC_WORD_ARE
+ .2byte EC_WORD_AREN_T
+ .2byte EC_WORD_ARENA_TRAP
+ .2byte EC_POKEMON2(ARIADOS)
+ .2byte EC_MOVE2(ARM_THRUST)
+ .2byte EC_POKEMON(ARMALDO)
+ .2byte EC_MOVE(AROMATHERAPY)
+ .2byte EC_POKEMON(ARON)
+ .2byte EC_WORD_AROUND
+ .2byte EC_WORD_ARRGH
+ .2byte EC_POKEMON2(ARTICUNO)
+ .2byte EC_WORD_AS
+ .2byte EC_WORD_AS_IF
+ .2byte EC_WORD_AS_MUCH_AS
+ .2byte EC_MOVE2(ASSIST)
+ .2byte EC_MOVE(ASTONISH)
+ .2byte EC_WORD_AT
+ .2byte EC_WORD_ATTACK
+ .2byte EC_MOVE2(ATTRACT)
+ .2byte EC_WORD_AUNT
+ .2byte EC_MOVE(AURORA_BEAM)
+ .2byte EC_WORD_AVANT_GARDE
+ .2byte EC_WORD_AWAY
+ .2byte EC_WORD_AWESOME
+ .2byte EC_WORD_AWFUL
+ .2byte EC_WORD_AWFULLY
+ .2byte EC_WORD_AWW
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(AZUMARILL)
+ .2byte EC_POKEMON2(AZUMARILL)
+ .2byte EC_POKEMON(AZURILL)
gEasyChatWordsByLetter_B:: @ 859D19C
- ec_word BABE
- ec_word BABY
- ec_word BACK
- ec_word BAD
- ec_word BADLY
- ec_word BAG
- ec_pokemon1 BAGON
- ec_word BALL
- ec_pokemon1 BALTOY
- ec_pokemon1 BANETTE
- ec_word BANG
- ec_pokemon1 BARBOACH
- ec_move2 BARRAGE
- ec_move2 BARRIER
- ec_word BATH
- ec_move2 BATON_PASS
- ec_word BATTLE
- ec_word BATTLE_ARMOR
- ec_word BATTLE_ROOM
- ec_word BATTLE_TOWER
- ec_pokemon2 BAYLEEF
- ec_word BE
- ec_word BEAT
- ec_move2 BEAT_UP
- ec_pokemon1 BEAUTIFLY
- ec_word BEAUTIFUL
- ec_word BEAUTY
- ec_word BECOMES
- ec_pokemon2 BEEDRILL
- ec_word BEEN
- ec_word BEFORE
- ec_word BEGINNING
- ec_word BEING
- ec_pokemon1 BELDUM
- ec_word BELIEVE
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 BELLOSSOM
- ec_pokemon2 BELLOSSOM
- ec_pokemon2 BELLSPROUT
- ec_move2 BELLY_DRUM
- ec_word BELONGS_TO
- ec_word BELOW
- ec_word BERRY
- ec_word BESIDE
- ec_word BEST
- ec_word BETTER
- ec_move1 BIDE
- ec_word BIG
- ec_word BIKE
- ec_move1 BIND
- ec_move1 BITE
- ec_move2 BLAST_BURN
- ec_pokemon2 BLASTOISE
- ec_word BLAZE
- ec_move2 BLAZE_KICK
- ec_pokemon1 BLAZIKEN
- ec_word BLEND
- ec_pokemon2 BLISSEY
- ec_move2 BLIZZARD
- ec_move2 BLOCK
- ec_word BOARD
- ec_move2 BODY_SLAM
- ec_move2 BONE_CLUB
- ec_move2 BONE_RUSH
- ec_move2 BONEMERANG
- ec_word BOOK
- ec_word BORED
- ec_word BORING
- ec_move2 BOUNCE
- ec_word BOY
- ec_word BRAG
- ec_word BREAK
- ec_pokemon1 BRELOOM
- ec_move1 BRICK_BREAK
- ec_word BROTHER
- ec_move1 BUBBLE
- ec_move2 BUBBLE_BEAM
- ec_word BUG
- ec_pokemon2 BULBASAUR
- ec_move2 BULK_UP
- ec_move2 BULLET_SEED
- ec_word BUSY
- ec_word BUT
- ec_pokemon2 BUTTERFREE
- ec_word BYE_BYE
+ .2byte EC_WORD_BABE
+ .2byte EC_WORD_BABY
+ .2byte EC_WORD_BACK
+ .2byte EC_WORD_BAD
+ .2byte EC_WORD_BADLY
+ .2byte EC_WORD_BAG
+ .2byte EC_POKEMON(BAGON)
+ .2byte EC_WORD_BALL
+ .2byte EC_POKEMON(BALTOY)
+ .2byte EC_POKEMON(BANETTE)
+ .2byte EC_WORD_BANG
+ .2byte EC_POKEMON(BARBOACH)
+ .2byte EC_MOVE2(BARRAGE)
+ .2byte EC_MOVE2(BARRIER)
+ .2byte EC_WORD_BATH
+ .2byte EC_MOVE2(BATON_PASS)
+ .2byte EC_WORD_BATTLE
+ .2byte EC_WORD_BATTLE_ARMOR
+ .2byte EC_WORD_BATTLE_ROOM
+ .2byte EC_WORD_BATTLE_TOWER
+ .2byte EC_POKEMON2(BAYLEEF)
+ .2byte EC_WORD_BE
+ .2byte EC_WORD_BEAT
+ .2byte EC_MOVE2(BEAT_UP)
+ .2byte EC_POKEMON(BEAUTIFLY)
+ .2byte EC_WORD_BEAUTIFUL
+ .2byte EC_WORD_BEAUTY
+ .2byte EC_WORD_BECOMES
+ .2byte EC_POKEMON2(BEEDRILL)
+ .2byte EC_WORD_BEEN
+ .2byte EC_WORD_BEFORE
+ .2byte EC_WORD_BEGINNING
+ .2byte EC_WORD_BEING
+ .2byte EC_POKEMON(BELDUM)
+ .2byte EC_WORD_BELIEVE
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(BELLOSSOM)
+ .2byte EC_POKEMON2(BELLOSSOM)
+ .2byte EC_POKEMON2(BELLSPROUT)
+ .2byte EC_MOVE2(BELLY_DRUM)
+ .2byte EC_WORD_BELONGS_TO
+ .2byte EC_WORD_BELOW
+ .2byte EC_WORD_BERRY
+ .2byte EC_WORD_BESIDE
+ .2byte EC_WORD_BEST
+ .2byte EC_WORD_BETTER
+ .2byte EC_MOVE(BIDE)
+ .2byte EC_WORD_BIG
+ .2byte EC_WORD_BIKE
+ .2byte EC_MOVE(BIND)
+ .2byte EC_MOVE(BITE)
+ .2byte EC_MOVE2(BLAST_BURN)
+ .2byte EC_POKEMON2(BLASTOISE)
+ .2byte EC_WORD_BLAZE
+ .2byte EC_MOVE2(BLAZE_KICK)
+ .2byte EC_POKEMON(BLAZIKEN)
+ .2byte EC_WORD_BLEND
+ .2byte EC_POKEMON2(BLISSEY)
+ .2byte EC_MOVE2(BLIZZARD)
+ .2byte EC_MOVE2(BLOCK)
+ .2byte EC_WORD_BOARD
+ .2byte EC_MOVE2(BODY_SLAM)
+ .2byte EC_MOVE2(BONE_CLUB)
+ .2byte EC_MOVE2(BONE_RUSH)
+ .2byte EC_MOVE2(BONEMERANG)
+ .2byte EC_WORD_BOOK
+ .2byte EC_WORD_BORED
+ .2byte EC_WORD_BORING
+ .2byte EC_MOVE2(BOUNCE)
+ .2byte EC_WORD_BOY
+ .2byte EC_WORD_BRAG
+ .2byte EC_WORD_BREAK
+ .2byte EC_POKEMON(BRELOOM)
+ .2byte EC_MOVE(BRICK_BREAK)
+ .2byte EC_WORD_BROTHER
+ .2byte EC_MOVE(BUBBLE)
+ .2byte EC_MOVE2(BUBBLE_BEAM)
+ .2byte EC_WORD_BUG
+ .2byte EC_POKEMON2(BULBASAUR)
+ .2byte EC_MOVE2(BULK_UP)
+ .2byte EC_MOVE2(BULLET_SEED)
+ .2byte EC_WORD_BUSY
+ .2byte EC_WORD_BUT
+ .2byte EC_POKEMON2(BUTTERFREE)
+ .2byte EC_WORD_BYE_BYE
gEasyChatWordsByLetter_C:: @ 859D248
- ec_pokemon1 CACNEA
- ec_pokemon1 CACTURNE
- ec_move2 CALM_MIND
- ec_word CAME
- ec_word CAMERA
- ec_pokemon1 CAMERUPT
- ec_move2 CAMOUFLAGE
- ec_word CAN
- ec_word CAN_WIN
- ec_word CAN_T
- ec_word CAN_T_WIN
- ec_word CANCEL
- ec_word CAPABLE
- ec_word CARDS
- ec_word CARE
- ec_word CARES
- ec_pokemon1 CARVANHA
- ec_pokemon1 CASCOON
- ec_word CASE
- ec_pokemon1 CASTFORM
- ec_pokemon2 CATERPIE
- ec_word CAUSE
- ec_pokemon2 CELEBI
- ec_word CENTER
- ec_word CHALLENGE
- ec_word CHANGE
- ec_word CHANNEL
- ec_pokemon2 CHANSEY
- ec_move1 CHARGE
- ec_pokemon2 CHARIZARD
- ec_move1 CHARM
- ec_pokemon2 CHARMANDER
- ec_pokemon2 CHARMELEON
- ec_word CHAT
- ec_pokemon2 CHIKORITA
- ec_word CHILD_S_PLAY
- ec_word CHILDREN
- ec_pokemon1 CHIMECHO
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 CHINCHOU
- ec_pokemon2 CHINCHOU
- ec_word CHLOROPHYLL
- ec_word CHOICE
- ec_word CHOOSE
- ec_word CHORES
- ec_move1 CLAMP
- ec_pokemon1 CLAMPERL
- ec_word CLASS
- ec_pokemon1 CLAYDOL
- ec_word CLEAR_BODY
- ec_pokemon2 CLEFABLE
- ec_pokemon2 CLEFAIRY
- ec_pokemon2 CLEFFA
- ec_word CLOSE
- ec_word CLOUD_NINE
- ec_pokemon2 CLOYSTER
- ec_word COLD
- ec_word COLLECT
- ec_word COLLECTION
- ec_word COLOR
- ec_word COLOR_CHANGE
- ec_pokemon1 COMBUSKEN
- ec_word COME
- ec_word COME_ON
- ec_word COME_OVER
- ec_move2 COMET_PUNCH
- ec_word COMICS
- ec_word COMMEMORATE
- ec_word COMPLETE
- ec_word COMPOUNDEYES
- ec_word CONCEDE
- ec_move1 CONFUSE_RAY
- ec_word CONFUSED
- ec_move2 CONFUSION
- ec_word CONGRATS
- ec_move1 CONSTRICT
- ec_word CONTEST
- ec_word CONVERSATION
- ec_move2 CONVERSION
- ec_move2 CONVERSION_2
- ec_word COOL
- ec_word COOLNESS
- ec_pokemon1 CORPHISH
- ec_word CORRECT
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 CORSOLA
- ec_pokemon2 CORSOLA
- ec_move1 COSMIC_POWER
- ec_move2 COTTON_SPORE
- ec_word COULD
- ec_word COULDN_T
- ec_word COUNT_ON
- ec_move1 COUNTER
- ec_word COUPLE
- ec_move2 COVET
- ec_move1 CRABHAMMER
- ec_pokemon1 CRADILY
- ec_pokemon1 CRAWDAUNT
- ec_word CRIES
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 CROBAT
- ec_pokemon2 CROBAT
- ec_pokemon2 CROCONAW
- ec_move1 CROSS_CHOP
- ec_move1 CRUNCH
- ec_word CRUSH
- ec_move2 CRUSH_CLAW
- ec_word CRY
- ec_pokemon2 CUBONE
- ec_word CURRENT
- ec_move2 CURSE
- ec_move1 CUT
- ec_word CUTE
- ec_word CUTE_CHARM
- ec_word CUTENESS
- ec_pokemon2 CYNDAQUIL
+ .2byte EC_POKEMON(CACNEA)
+ .2byte EC_POKEMON(CACTURNE)
+ .2byte EC_MOVE2(CALM_MIND)
+ .2byte EC_WORD_CAME
+ .2byte EC_WORD_CAMERA
+ .2byte EC_POKEMON(CAMERUPT)
+ .2byte EC_MOVE2(CAMOUFLAGE)
+ .2byte EC_WORD_CAN
+ .2byte EC_WORD_CAN_WIN
+ .2byte EC_WORD_CAN_T
+ .2byte EC_WORD_CAN_T_WIN
+ .2byte EC_WORD_CANCEL
+ .2byte EC_WORD_CAPABLE
+ .2byte EC_WORD_CARDS
+ .2byte EC_WORD_CARE
+ .2byte EC_WORD_CARES
+ .2byte EC_POKEMON(CARVANHA)
+ .2byte EC_POKEMON(CASCOON)
+ .2byte EC_WORD_CASE
+ .2byte EC_POKEMON(CASTFORM)
+ .2byte EC_POKEMON2(CATERPIE)
+ .2byte EC_WORD_CAUSE
+ .2byte EC_POKEMON2(CELEBI)
+ .2byte EC_WORD_CENTER
+ .2byte EC_WORD_CHALLENGE
+ .2byte EC_WORD_CHANGE
+ .2byte EC_WORD_CHANNEL
+ .2byte EC_POKEMON2(CHANSEY)
+ .2byte EC_MOVE(CHARGE)
+ .2byte EC_POKEMON2(CHARIZARD)
+ .2byte EC_MOVE(CHARM)
+ .2byte EC_POKEMON2(CHARMANDER)
+ .2byte EC_POKEMON2(CHARMELEON)
+ .2byte EC_WORD_CHAT
+ .2byte EC_POKEMON2(CHIKORITA)
+ .2byte EC_WORD_CHILD_S_PLAY
+ .2byte EC_WORD_CHILDREN
+ .2byte EC_POKEMON(CHIMECHO)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(CHINCHOU)
+ .2byte EC_POKEMON2(CHINCHOU)
+ .2byte EC_WORD_CHLOROPHYLL
+ .2byte EC_WORD_CHOICE
+ .2byte EC_WORD_CHOOSE
+ .2byte EC_WORD_CHORES
+ .2byte EC_MOVE(CLAMP)
+ .2byte EC_POKEMON(CLAMPERL)
+ .2byte EC_WORD_CLASS
+ .2byte EC_POKEMON(CLAYDOL)
+ .2byte EC_WORD_CLEAR_BODY
+ .2byte EC_POKEMON2(CLEFABLE)
+ .2byte EC_POKEMON2(CLEFAIRY)
+ .2byte EC_POKEMON2(CLEFFA)
+ .2byte EC_WORD_CLOSE
+ .2byte EC_WORD_CLOUD_NINE
+ .2byte EC_POKEMON2(CLOYSTER)
+ .2byte EC_WORD_COLD
+ .2byte EC_WORD_COLLECT
+ .2byte EC_WORD_COLLECTION
+ .2byte EC_WORD_COLOR
+ .2byte EC_WORD_COLOR_CHANGE
+ .2byte EC_POKEMON(COMBUSKEN)
+ .2byte EC_WORD_COME
+ .2byte EC_WORD_COME_ON
+ .2byte EC_WORD_COME_OVER
+ .2byte EC_MOVE2(COMET_PUNCH)
+ .2byte EC_WORD_COMICS
+ .2byte EC_WORD_COMMEMORATE
+ .2byte EC_WORD_COMPLETE
+ .2byte EC_WORD_COMPOUNDEYES
+ .2byte EC_WORD_CONCEDE
+ .2byte EC_MOVE(CONFUSE_RAY)
+ .2byte EC_WORD_CONFUSED
+ .2byte EC_MOVE2(CONFUSION)
+ .2byte EC_WORD_CONGRATS
+ .2byte EC_MOVE(CONSTRICT)
+ .2byte EC_WORD_CONTEST
+ .2byte EC_WORD_CONVERSATION
+ .2byte EC_MOVE2(CONVERSION)
+ .2byte EC_MOVE2(CONVERSION_2)
+ .2byte EC_WORD_COOL
+ .2byte EC_WORD_COOLNESS
+ .2byte EC_POKEMON(CORPHISH)
+ .2byte EC_WORD_CORRECT
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(CORSOLA)
+ .2byte EC_POKEMON2(CORSOLA)
+ .2byte EC_MOVE(COSMIC_POWER)
+ .2byte EC_MOVE2(COTTON_SPORE)
+ .2byte EC_WORD_COULD
+ .2byte EC_WORD_COULDN_T
+ .2byte EC_WORD_COUNT_ON
+ .2byte EC_MOVE(COUNTER)
+ .2byte EC_WORD_COUPLE
+ .2byte EC_MOVE2(COVET)
+ .2byte EC_MOVE(CRABHAMMER)
+ .2byte EC_POKEMON(CRADILY)
+ .2byte EC_POKEMON(CRAWDAUNT)
+ .2byte EC_WORD_CRIES
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(CROBAT)
+ .2byte EC_POKEMON2(CROBAT)
+ .2byte EC_POKEMON2(CROCONAW)
+ .2byte EC_MOVE(CROSS_CHOP)
+ .2byte EC_MOVE(CRUNCH)
+ .2byte EC_WORD_CRUSH
+ .2byte EC_MOVE2(CRUSH_CLAW)
+ .2byte EC_WORD_CRY
+ .2byte EC_POKEMON2(CUBONE)
+ .2byte EC_WORD_CURRENT
+ .2byte EC_MOVE2(CURSE)
+ .2byte EC_MOVE(CUT)
+ .2byte EC_WORD_CUTE
+ .2byte EC_WORD_CUTE_CHARM
+ .2byte EC_WORD_CUTENESS
+ .2byte EC_POKEMON2(CYNDAQUIL)
gEasyChatWordsByLetter_D:: @ 859D336
- ec_word DAILY
- ec_word DAMP
- ec_word DANCE
- ec_word DANGER
- ec_word DARK
- ec_word DARN
- ec_word DATE
- ec_word DAUGHTER
- ec_word DAY
- ec_word DAYS
- ec_word DAYTIME
- ec_word DECIDE
- ec_word DECIDED
- ec_word DEEP
- ec_word DEFEATED
- ec_move2 DEFENSE_CURL
- ec_pokemon1 DELCATTY
- ec_pokemon2 DELIBIRD
- ec_pokemon1 DEOXYS
- ec_word DEPT_STORE
- ec_word DESIGN
- ec_word DESTINY
- ec_move2 DESTINY_BOND
- ec_word DESTROYED
- ec_move2 DETECT
- ec_pokemon2 DEWGONG
- ec_word DID
- ec_word DIDN_T
- ec_word DIET
- ec_word DIFFERENT
- ec_move1 DIG
- ec_word DIGITAL
- ec_pokemon2 DIGLETT
- ec_word DIRECT
- ec_move1 DISABLE
- ec_word DISAPPEAR
- ec_word DISAPPOINT
- ec_word DISAPPOINTED
- ec_word DISAPPOINTS
- ec_word DISASTER
- ec_word DISLIKE
- ec_word DISLIKES
- ec_pokemon2 DITTO
- ec_move2 DIVE
- ec_move2 DIZZY_PUNCH
- ec_word DO
- ec_word DOCILE
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 DODRIO
- ec_pokemon2 DODRIO
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 DODUO
- ec_pokemon2 DODUO
- ec_word DOES
- ec_word DOESN_T
- ec_word DON_T
- ec_word DONE
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 DONPHAN
- ec_pokemon2 DONPHAN
- ec_move2 DOOM_DESIRE
- ec_move2 DOUBLE_KICK
- ec_move1 DOUBLE_TEAM
- ec_move1 DOUBLE_EDGE
- ec_move1 DOUBLE_SLAP
- ec_word DOWN
- ec_word DOWNCAST
- ec_word DRAGON
- ec_move2 DRAGON_CLAW
- ec_move2 DRAGON_DANCE
- ec_move2 DRAGON_RAGE
- ec_pokemon2 DRAGONAIR
- ec_move2 DRAGON_BREATH
- ec_pokemon2 DRAGONITE
- ec_pokemon2 DRATINI
- ec_word DREAM
- ec_move2 DREAM_EATER
- ec_move2 DRILL_PECK
- ec_word DRINK
- ec_word DRINKS
- ec_word DRIZZLE
- ec_word DROOLING
- ec_word DROUGHT
- ec_pokemon2 DROWZEE
- ec_word DUDE
- ec_pokemon2 DUGTRIO
- ec_pokemon2 DUNSPARCE
- ec_pokemon1 DUSCLOPS
- ec_pokemon1 DUSKULL
- ec_pokemon1 DUSTOX
- ec_move2 DYNAMIC_PUNCH
+ .2byte EC_WORD_DAILY
+ .2byte EC_WORD_DAMP
+ .2byte EC_WORD_DANCE
+ .2byte EC_WORD_DANGER
+ .2byte EC_WORD_DARK
+ .2byte EC_WORD_DARN
+ .2byte EC_WORD_DATE
+ .2byte EC_WORD_DAUGHTER
+ .2byte EC_WORD_DAY
+ .2byte EC_WORD_DAYS
+ .2byte EC_WORD_DAYTIME
+ .2byte EC_WORD_DECIDE
+ .2byte EC_WORD_DECIDED
+ .2byte EC_WORD_DEEP
+ .2byte EC_WORD_DEFEATED
+ .2byte EC_MOVE2(DEFENSE_CURL)
+ .2byte EC_POKEMON(DELCATTY)
+ .2byte EC_POKEMON2(DELIBIRD)
+ .2byte EC_POKEMON(DEOXYS)
+ .2byte EC_WORD_DEPT_STORE
+ .2byte EC_WORD_DESIGN
+ .2byte EC_WORD_DESTINY
+ .2byte EC_MOVE2(DESTINY_BOND)
+ .2byte EC_WORD_DESTROYED
+ .2byte EC_MOVE2(DETECT)
+ .2byte EC_POKEMON2(DEWGONG)
+ .2byte EC_WORD_DID
+ .2byte EC_WORD_DIDN_T
+ .2byte EC_WORD_DIET
+ .2byte EC_WORD_DIFFERENT
+ .2byte EC_MOVE(DIG)
+ .2byte EC_WORD_DIGITAL
+ .2byte EC_POKEMON2(DIGLETT)
+ .2byte EC_WORD_DIRECT
+ .2byte EC_MOVE(DISABLE)
+ .2byte EC_WORD_DISAPPEAR
+ .2byte EC_WORD_DISAPPOINT
+ .2byte EC_WORD_DISAPPOINTED
+ .2byte EC_WORD_DISAPPOINTS
+ .2byte EC_WORD_DISASTER
+ .2byte EC_WORD_DISLIKE
+ .2byte EC_WORD_DISLIKES
+ .2byte EC_POKEMON2(DITTO)
+ .2byte EC_MOVE2(DIVE)
+ .2byte EC_MOVE2(DIZZY_PUNCH)
+ .2byte EC_WORD_DO
+ .2byte EC_WORD_DOCILE
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(DODRIO)
+ .2byte EC_POKEMON2(DODRIO)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(DODUO)
+ .2byte EC_POKEMON2(DODUO)
+ .2byte EC_WORD_DOES
+ .2byte EC_WORD_DOESN_T
+ .2byte EC_WORD_DON_T
+ .2byte EC_WORD_DONE
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(DONPHAN)
+ .2byte EC_POKEMON2(DONPHAN)
+ .2byte EC_MOVE2(DOOM_DESIRE)
+ .2byte EC_MOVE2(DOUBLE_KICK)
+ .2byte EC_MOVE(DOUBLE_TEAM)
+ .2byte EC_MOVE(DOUBLE_EDGE)
+ .2byte EC_MOVE(DOUBLE_SLAP)
+ .2byte EC_WORD_DOWN
+ .2byte EC_WORD_DOWNCAST
+ .2byte EC_WORD_DRAGON
+ .2byte EC_MOVE2(DRAGON_CLAW)
+ .2byte EC_MOVE2(DRAGON_DANCE)
+ .2byte EC_MOVE2(DRAGON_RAGE)
+ .2byte EC_POKEMON2(DRAGONAIR)
+ .2byte EC_MOVE2(DRAGON_BREATH)
+ .2byte EC_POKEMON2(DRAGONITE)
+ .2byte EC_POKEMON2(DRATINI)
+ .2byte EC_WORD_DREAM
+ .2byte EC_MOVE2(DREAM_EATER)
+ .2byte EC_MOVE2(DRILL_PECK)
+ .2byte EC_WORD_DRINK
+ .2byte EC_WORD_DRINKS
+ .2byte EC_WORD_DRIZZLE
+ .2byte EC_WORD_DROOLING
+ .2byte EC_WORD_DROUGHT
+ .2byte EC_POKEMON2(DROWZEE)
+ .2byte EC_WORD_DUDE
+ .2byte EC_POKEMON2(DUGTRIO)
+ .2byte EC_POKEMON2(DUNSPARCE)
+ .2byte EC_POKEMON(DUSCLOPS)
+ .2byte EC_POKEMON(DUSKULL)
+ .2byte EC_POKEMON(DUSTOX)
+ .2byte EC_MOVE2(DYNAMIC_PUNCH)
gEasyChatWordsByLetter_E:: @ 859D3F2
- ec_word EARLIER
- ec_word EARLY_BIRD
- ec_move1 EARTHQUAKE
- ec_word EASY
- ec_word EAT
- ec_word EATS
- ec_word EEK
- ec_pokemon2 EEVEE
- ec_word EFFECT_SPORE
- ec_word EGG
- ec_move2 EGG_BOMB
- ec_word EH_QUES
- ec_word EHEHE
- ec_pokemon2 EKANS
- ec_pokemon2 ELECTABUZZ
- ec_word ELECTRIC
- ec_pokemon1 ELECTRIKE
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 ELECTRODE
- ec_pokemon2 ELECTRODE
- ec_pokemon2 ELEKID
- ec_word ELSE
- ec_move2 EMBER
- ec_word EMERALD
- ec_move1 ENCORE
- ec_word ENCYCLOPEDIA
- ec_word END
- ec_move1 ENDEAVOR
- ec_move1 ENDURE
- ec_word ENJOY
- ec_word ENJOYS
- ec_word ENOUGH
- ec_pokemon2 ENTEI
- ec_word ENTERTAINING
- ec_move2 ERUPTION
- ec_word ESCAPE
- ec_pokemon2 ESPEON
- ec_word EVEN_SO
- ec_word EVENT
- ec_word EVENTS
- ec_word EVER
- ec_word EVERY
- ec_word EVOLUTION
- ec_word EVOLVE
- ec_word EXCELLENT
- ec_word EXCESS
- ec_word EXCITE
- ec_word EXCITING
- ec_word EXCUSE
- ec_word EXCUSE_ME
- ec_pokemon2 EXEGGCUTE
- ec_pokemon2 EXEGGUTOR
- ec_word EXISTS
- ec_word EXPENSIVE
- ec_move2 EXPLOSION
- ec_pokemon1 EXPLOUD
- ec_move1 EXTRASENSORY
- ec_move1 EXTREME_SPEED
+ .2byte EC_WORD_EARLIER
+ .2byte EC_WORD_EARLY_BIRD
+ .2byte EC_MOVE(EARTHQUAKE)
+ .2byte EC_WORD_EASY
+ .2byte EC_WORD_EAT
+ .2byte EC_WORD_EATS
+ .2byte EC_WORD_EEK
+ .2byte EC_POKEMON2(EEVEE)
+ .2byte EC_WORD_EFFECT_SPORE
+ .2byte EC_WORD_EGG
+ .2byte EC_MOVE2(EGG_BOMB)
+ .2byte EC_WORD_EH_QUES
+ .2byte EC_WORD_EHEHE
+ .2byte EC_POKEMON2(EKANS)
+ .2byte EC_POKEMON2(ELECTABUZZ)
+ .2byte EC_WORD_ELECTRIC
+ .2byte EC_POKEMON(ELECTRIKE)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(ELECTRODE)
+ .2byte EC_POKEMON2(ELECTRODE)
+ .2byte EC_POKEMON2(ELEKID)
+ .2byte EC_WORD_ELSE
+ .2byte EC_MOVE2(EMBER)
+ .2byte EC_WORD_EMERALD
+ .2byte EC_MOVE(ENCORE)
+ .2byte EC_WORD_ENCYCLOPEDIA
+ .2byte EC_WORD_END
+ .2byte EC_MOVE(ENDEAVOR)
+ .2byte EC_MOVE(ENDURE)
+ .2byte EC_WORD_ENJOY
+ .2byte EC_WORD_ENJOYS
+ .2byte EC_WORD_ENOUGH
+ .2byte EC_POKEMON2(ENTEI)
+ .2byte EC_WORD_ENTERTAINING
+ .2byte EC_MOVE2(ERUPTION)
+ .2byte EC_WORD_ESCAPE
+ .2byte EC_POKEMON2(ESPEON)
+ .2byte EC_WORD_EVEN_SO
+ .2byte EC_WORD_EVENT
+ .2byte EC_WORD_EVENTS
+ .2byte EC_WORD_EVER
+ .2byte EC_WORD_EVERY
+ .2byte EC_WORD_EVOLUTION
+ .2byte EC_WORD_EVOLVE
+ .2byte EC_WORD_EXCELLENT
+ .2byte EC_WORD_EXCESS
+ .2byte EC_WORD_EXCITE
+ .2byte EC_WORD_EXCITING
+ .2byte EC_WORD_EXCUSE
+ .2byte EC_WORD_EXCUSE_ME
+ .2byte EC_POKEMON2(EXEGGCUTE)
+ .2byte EC_POKEMON2(EXEGGUTOR)
+ .2byte EC_WORD_EXISTS
+ .2byte EC_WORD_EXPENSIVE
+ .2byte EC_MOVE2(EXPLOSION)
+ .2byte EC_POKEMON(EXPLOUD)
+ .2byte EC_MOVE(EXTRASENSORY)
+ .2byte EC_MOVE(EXTREME_SPEED)
gEasyChatWordsByLetter_F:: @ 859D468
- ec_word FABULOUS
- ec_move1 FACADE
- ec_word FAINT
- ec_move2 FAINT_ATTACK
- ec_word FAINTED
- ec_move2 FAKE_OUT
- ec_move1 FAKE_TEARS
- ec_word FALL
- ec_move2 FALSE_SWIPE
- ec_word FAMILY
- ec_word FANTASTIC
- ec_word FAR
- ec_pokemon2 FARFETCH_D
- ec_word FASHION
- ec_word FAST
- ec_word FATHER
- ec_word FEAR
- ec_pokemon2 FEAROW
- ec_move2 FEATHER_DANCE
- ec_pokemon1 FEEBAS
- ec_word FEELING
- ec_pokemon2 FERALIGATR
- ec_word FESTIVAL
- ec_word FEVER
- ec_word FIERY
- ec_word FIGHT
- ec_word FIGHTING
- ec_word FIGHTS
- ec_word FINAL
- ec_word FINALLY
- ec_word FINISH
- ec_word FIRE
- ec_move2 FIRE_BLAST
- ec_move2 FIRE_PUNCH
- ec_move2 FIRE_SPIN
- ec_word FISHING
- ec_move1 FISSURE
- ec_pokemon2 FLAAFFY
- ec_move1 FLAIL
- ec_word FLAME
- ec_word FLAME_BODY
- ec_move1 FLAME_WHEEL
- ec_move1 FLAMETHROWER
- ec_pokemon2 FLAREON
- ec_move2 FLASH
- ec_word FLASH_FIRE
- ec_word FLATTEN
- ec_move1 FLATTER
- ec_word FLOWERS
- ec_move1 FLY
- ec_pokemon1 FLYGON
- ec_word FLYING
- ec_move1 FOCUS_ENERGY
- ec_move1 FOCUS_PUNCH
- ec_word FOE
- ec_move1 FOLLOW_ME
- ec_word FOR
- ec_word FOR_NOW
- ec_word FORECAST
- ec_move2 FORESIGHT
- ec_word FOREVER
- ec_word FORGET
- ec_word FORGETS
- ec_word FORGIVE
- ec_pokemon2 FORRETRESS
- ec_move2 FRENZY_PLANT
- ec_word FRIDAY
- ec_word FRIEND
- ec_word FROM
- ec_word FRONT
- ec_word FRONTIER
- ec_move2 FRUSTRATION
- ec_word FUFUFU
- ec_word FULL
- ec_word FUNNY
- ec_pokemon2 FURRET
- ec_move2 FURY_ATTACK
- ec_move2 FURY_CUTTER
- ec_move2 FURY_SWIPES
- ec_move2 FUTURE_SIGHT
+ .2byte EC_WORD_FABULOUS
+ .2byte EC_MOVE(FACADE)
+ .2byte EC_WORD_FAINT
+ .2byte EC_MOVE2(FAINT_ATTACK)
+ .2byte EC_WORD_FAINTED
+ .2byte EC_MOVE2(FAKE_OUT)
+ .2byte EC_MOVE(FAKE_TEARS)
+ .2byte EC_WORD_FALL
+ .2byte EC_MOVE2(FALSE_SWIPE)
+ .2byte EC_WORD_FAMILY
+ .2byte EC_WORD_FANTASTIC
+ .2byte EC_WORD_FAR
+ .2byte EC_POKEMON2(FARFETCHD)
+ .2byte EC_WORD_FASHION
+ .2byte EC_WORD_FAST
+ .2byte EC_WORD_FATHER
+ .2byte EC_WORD_FEAR
+ .2byte EC_POKEMON2(FEAROW)
+ .2byte EC_MOVE2(FEATHER_DANCE)
+ .2byte EC_POKEMON(FEEBAS)
+ .2byte EC_WORD_FEELING
+ .2byte EC_POKEMON2(FERALIGATR)
+ .2byte EC_WORD_FESTIVAL
+ .2byte EC_WORD_FEVER
+ .2byte EC_WORD_FIERY
+ .2byte EC_WORD_FIGHT
+ .2byte EC_WORD_FIGHTING
+ .2byte EC_WORD_FIGHTS
+ .2byte EC_WORD_FINAL
+ .2byte EC_WORD_FINALLY
+ .2byte EC_WORD_FINISH
+ .2byte EC_WORD_FIRE
+ .2byte EC_MOVE2(FIRE_BLAST)
+ .2byte EC_MOVE2(FIRE_PUNCH)
+ .2byte EC_MOVE2(FIRE_SPIN)
+ .2byte EC_WORD_FISHING
+ .2byte EC_MOVE(FISSURE)
+ .2byte EC_POKEMON2(FLAAFFY)
+ .2byte EC_MOVE(FLAIL)
+ .2byte EC_WORD_FLAME
+ .2byte EC_WORD_FLAME_BODY
+ .2byte EC_MOVE(FLAME_WHEEL)
+ .2byte EC_MOVE(FLAMETHROWER)
+ .2byte EC_POKEMON2(FLAREON)
+ .2byte EC_MOVE2(FLASH)
+ .2byte EC_WORD_FLASH_FIRE
+ .2byte EC_WORD_FLATTEN
+ .2byte EC_MOVE(FLATTER)
+ .2byte EC_WORD_FLOWERS
+ .2byte EC_MOVE(FLY)
+ .2byte EC_POKEMON(FLYGON)
+ .2byte EC_WORD_FLYING
+ .2byte EC_MOVE(FOCUS_ENERGY)
+ .2byte EC_MOVE(FOCUS_PUNCH)
+ .2byte EC_WORD_FOE
+ .2byte EC_MOVE(FOLLOW_ME)
+ .2byte EC_WORD_FOR
+ .2byte EC_WORD_FOR_NOW
+ .2byte EC_WORD_FORECAST
+ .2byte EC_MOVE2(FORESIGHT)
+ .2byte EC_WORD_FOREVER
+ .2byte EC_WORD_FORGET
+ .2byte EC_WORD_FORGETS
+ .2byte EC_WORD_FORGIVE
+ .2byte EC_POKEMON2(FORRETRESS)
+ .2byte EC_MOVE2(FRENZY_PLANT)
+ .2byte EC_WORD_FRIDAY
+ .2byte EC_WORD_FRIEND
+ .2byte EC_WORD_FROM
+ .2byte EC_WORD_FRONT
+ .2byte EC_WORD_FRONTIER
+ .2byte EC_MOVE2(FRUSTRATION)
+ .2byte EC_WORD_FUFUFU
+ .2byte EC_WORD_FULL
+ .2byte EC_WORD_FUNNY
+ .2byte EC_POKEMON2(FURRET)
+ .2byte EC_MOVE2(FURY_ATTACK)
+ .2byte EC_MOVE2(FURY_CUTTER)
+ .2byte EC_MOVE2(FURY_SWIPES)
+ .2byte EC_MOVE2(FUTURE_SIGHT)
gEasyChatWordsByLetter_G:: @ 859D508
- ec_word GAME
- ec_pokemon1 GARDEVOIR
- ec_pokemon2 GASTLY
- ec_pokemon2 GENGAR
- ec_word GENIUS
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 GEODUDE
- ec_pokemon2 GEODUDE
- ec_word GET
- ec_word GETS
- ec_word GHOST
- ec_word GIDDY
- ec_move1 GIGA_DRAIN
- ec_word GIGGLE
- ec_word GIMME
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 GIRAFARIG
- ec_pokemon2 GIRAFARIG
- ec_word GIRL
- ec_word GIVE
- ec_word GIVE_ME
- ec_word GIVE_UP
- ec_word GIVES
- ec_pokemon1 GLALIE
- ec_move2 GLARE
- ec_pokemon2 GLIGAR
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 GLOOM
- ec_pokemon2 GLOOM
- ec_word GO
- ec_word GO_AHEAD
- ec_word GO_EASY
- ec_word GO_HOME
- ec_word GOES
- ec_word GOING
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 GOLBAT
- ec_pokemon2 GOLBAT
- ec_word GOLD
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 GOLDEEN
- ec_pokemon2 GOLDEEN
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 GOLDUCK
- ec_pokemon2 GOLDUCK
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 GOLEM
- ec_pokemon2 GOLEM
- ec_word GOOD
- ec_word GOOD_BYE
- ec_pokemon1 GOREBYSS
- ec_word GOT
- ec_word GOTCHA
- ec_word GOURMET
- ec_word GRAAAH
- ec_pokemon2 GRANBULL
- ec_word GRANDFATHER
- ec_word GRANDMOTHER
- ec_word GRASS
- ec_move1 GRASS_WHISTLE
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 GRAVELER
- ec_pokemon2 GRAVELER
- ec_word GREAT
- ec_word GREEN
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 GRIMER
- ec_pokemon2 GRIMER
- ec_pokemon1 GROUDON
- ec_word GROUND
- ec_word GROUP
- ec_pokemon1 GROVYLE
- ec_move2 GROWL
- ec_pokemon2 GROWLITHE
- ec_move1 GROWTH
- ec_move1 GRUDGE
- ec_pokemon1 GRUMPIG
- ec_word GUARD
- ec_move2 GUILLOTINE
- ec_pokemon1 GULPIN
- ec_move1 GUST
- ec_word GUTS
- ec_word GUTSY
- ec_word GWAH
- ec_word GWAHAHAHA
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 GYARADOS
- ec_pokemon2 GYARADOS
+ .2byte EC_WORD_GAME
+ .2byte EC_POKEMON(GARDEVOIR)
+ .2byte EC_POKEMON2(GASTLY)
+ .2byte EC_POKEMON2(GENGAR)
+ .2byte EC_WORD_GENIUS
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(GEODUDE)
+ .2byte EC_POKEMON2(GEODUDE)
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_GETS
+ .2byte EC_WORD_GHOST
+ .2byte EC_WORD_GIDDY
+ .2byte EC_MOVE(GIGA_DRAIN)
+ .2byte EC_WORD_GIGGLE
+ .2byte EC_WORD_GIMME
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(GIRAFARIG)
+ .2byte EC_POKEMON2(GIRAFARIG)
+ .2byte EC_WORD_GIRL
+ .2byte EC_WORD_GIVE
+ .2byte EC_WORD_GIVE_ME
+ .2byte EC_WORD_GIVE_UP
+ .2byte EC_WORD_GIVES
+ .2byte EC_POKEMON(GLALIE)
+ .2byte EC_MOVE2(GLARE)
+ .2byte EC_POKEMON2(GLIGAR)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(GLOOM)
+ .2byte EC_POKEMON2(GLOOM)
+ .2byte EC_WORD_GO
+ .2byte EC_WORD_GO_AHEAD
+ .2byte EC_WORD_GO_EASY
+ .2byte EC_WORD_GO_HOME
+ .2byte EC_WORD_GOES
+ .2byte EC_WORD_GOING
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(GOLBAT)
+ .2byte EC_POKEMON2(GOLBAT)
+ .2byte EC_WORD_GOLD
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(GOLDEEN)
+ .2byte EC_POKEMON2(GOLDEEN)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(GOLDUCK)
+ .2byte EC_POKEMON2(GOLDUCK)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(GOLEM)
+ .2byte EC_POKEMON2(GOLEM)
+ .2byte EC_WORD_GOOD
+ .2byte EC_WORD_GOOD_BYE
+ .2byte EC_POKEMON(GOREBYSS)
+ .2byte EC_WORD_GOT
+ .2byte EC_WORD_GOTCHA
+ .2byte EC_WORD_GOURMET
+ .2byte EC_WORD_GRAAAH
+ .2byte EC_POKEMON2(GRANBULL)
+ .2byte EC_WORD_GRANDFATHER
+ .2byte EC_WORD_GRANDMOTHER
+ .2byte EC_WORD_GRASS
+ .2byte EC_MOVE(GRASS_WHISTLE)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(GRAVELER)
+ .2byte EC_POKEMON2(GRAVELER)
+ .2byte EC_WORD_GREAT
+ .2byte EC_WORD_GREEN
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(GRIMER)
+ .2byte EC_POKEMON2(GRIMER)
+ .2byte EC_POKEMON(GROUDON)
+ .2byte EC_WORD_GROUND
+ .2byte EC_WORD_GROUP
+ .2byte EC_POKEMON(GROVYLE)
+ .2byte EC_MOVE2(GROWL)
+ .2byte EC_POKEMON2(GROWLITHE)
+ .2byte EC_MOVE(GROWTH)
+ .2byte EC_MOVE(GRUDGE)
+ .2byte EC_POKEMON(GRUMPIG)
+ .2byte EC_WORD_GUARD
+ .2byte EC_MOVE2(GUILLOTINE)
+ .2byte EC_POKEMON(GULPIN)
+ .2byte EC_MOVE(GUST)
+ .2byte EC_WORD_GUTS
+ .2byte EC_WORD_GUTSY
+ .2byte EC_WORD_GWAH
+ .2byte EC_WORD_GWAHAHAHA
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(GYARADOS)
+ .2byte EC_POKEMON2(GYARADOS)
gEasyChatWordsByLetter_H:: @ 859D5CC
- ec_word HABIT
- ec_word HAH
- ec_word HAHAHA
- ec_move1 HAIL
- ec_word HALL_OF_FAME
- ec_word HAPPENING
- ec_word HAPPILY
- ec_word HAPPINESS
- ec_word HAPPY
- ec_word HARD
- ec_move1 HARDEN
- ec_pokemon1 HARIYAMA
- ec_word HAS
- ec_word HASSLE
- ec_pokemon2 HAUNTER
- ec_word HAVE
- ec_word HAVEN_T
- ec_move1 HAZE
- ec_word HE
- ec_word HE_S
- ec_move1 HEADBUTT
- ec_move1 HEAL_BELL
- ec_word HEALTHY
- ec_word HEAR
- ec_word HEARING
- ec_word HEARS
- ec_word HEART
- ec_move2 HEAT_WAVE
- ec_word HEH
- ec_word HEHE
- ec_word HEHEHE
- ec_word HELLO
- ec_move2 HELPING_HAND
- ec_word HER
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 HERACROSS
- ec_pokemon2 HERACROSS
- ec_word HERE
- ec_word HERE_GOES
- ec_word HERE_I_COME
- ec_word HERE_IT_IS
- ec_word HERO
- ec_word HEROINE
- ec_word HERS
- ec_word HEY
- ec_word HEY_THERE
- ec_word HEY_QUES
- ec_word HI
- ec_move2 HI_JUMP_KICK
- ec_word HIDDEN
- ec_move2 HIDDEN_POWER
- ec_word HIGH
- ec_word HIGHS
- ec_word HIM
- ec_word HIP_AND
- ec_word HIS
- ec_word HIT
- ec_pokemon2 HITMONCHAN
- ec_pokemon2 HITMONLEE
- ec_pokemon2 HITMONTOP
- ec_word HIYAH
- ec_word HMM
- ec_pokemon2 HO_OH
- ec_word HOBBY
- ec_word HOHOHO
- ec_word HOLIDAY
- ec_word HOME
- ec_word HOO_HAH
- ec_pokemon2 HOOTHOOT
- ec_word HOPELESS
- ec_pokemon2 HOPPIP
- ec_move2 HORN_ATTACK
- ec_move2 HORN_DRILL
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 HORSEA
- ec_pokemon2 HORSEA
- ec_word HOT
- ec_pokemon2 HOUNDOOM
- ec_pokemon2 HOUNDOUR
- ec_word HOW
- ec_word HOW_DO
- ec_word HOWEVER
- ec_move2 HOWL
- ec_word HUGE_POWER
- ec_word HUH_QUES
- ec_word HUMPH
- ec_word HUNGRY
- ec_pokemon1 HUNTAIL
- ec_word HURRIED
- ec_word HUSTLE
- ec_move2 HYDRO_CANNON
- ec_move2 HYDRO_PUMP
- ec_word HYPER
- ec_move2 HYPER_BEAM
- ec_word HYPER_CUTTER
- ec_move2 HYPER_FANG
- ec_move2 HYPER_VOICE
- ec_pokemon2 HYPNO
- ec_move1 HYPNOSIS
+ .2byte EC_WORD_HABIT
+ .2byte EC_WORD_HAH
+ .2byte EC_WORD_HAHAHA
+ .2byte EC_MOVE(HAIL)
+ .2byte EC_WORD_HALL_OF_FAME
+ .2byte EC_WORD_HAPPENING
+ .2byte EC_WORD_HAPPILY
+ .2byte EC_WORD_HAPPINESS
+ .2byte EC_WORD_HAPPY
+ .2byte EC_WORD_HARD
+ .2byte EC_MOVE(HARDEN)
+ .2byte EC_POKEMON(HARIYAMA)
+ .2byte EC_WORD_HAS
+ .2byte EC_WORD_HASSLE
+ .2byte EC_POKEMON2(HAUNTER)
+ .2byte EC_WORD_HAVE
+ .2byte EC_WORD_HAVEN_T
+ .2byte EC_MOVE(HAZE)
+ .2byte EC_WORD_HE
+ .2byte EC_WORD_HE_S
+ .2byte EC_MOVE(HEADBUTT)
+ .2byte EC_MOVE(HEAL_BELL)
+ .2byte EC_WORD_HEALTHY
+ .2byte EC_WORD_HEAR
+ .2byte EC_WORD_HEARING
+ .2byte EC_WORD_HEARS
+ .2byte EC_WORD_HEART
+ .2byte EC_MOVE2(HEAT_WAVE)
+ .2byte EC_WORD_HEH
+ .2byte EC_WORD_HEHE
+ .2byte EC_WORD_HEHEHE
+ .2byte EC_WORD_HELLO
+ .2byte EC_MOVE2(HELPING_HAND)
+ .2byte EC_WORD_HER
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(HERACROSS)
+ .2byte EC_POKEMON2(HERACROSS)
+ .2byte EC_WORD_HERE
+ .2byte EC_WORD_HERE_GOES
+ .2byte EC_WORD_HERE_I_COME
+ .2byte EC_WORD_HERE_IT_IS
+ .2byte EC_WORD_HERO
+ .2byte EC_WORD_HEROINE
+ .2byte EC_WORD_HERS
+ .2byte EC_WORD_HEY
+ .2byte EC_WORD_HEY_THERE
+ .2byte EC_WORD_HEY_QUES
+ .2byte EC_WORD_HI
+ .2byte EC_MOVE2(HI_JUMP_KICK)
+ .2byte EC_WORD_HIDDEN
+ .2byte EC_MOVE2(HIDDEN_POWER)
+ .2byte EC_WORD_HIGH
+ .2byte EC_WORD_HIGHS
+ .2byte EC_WORD_HIM
+ .2byte EC_WORD_HIP_AND
+ .2byte EC_WORD_HIS
+ .2byte EC_WORD_HIT
+ .2byte EC_POKEMON2(HITMONCHAN)
+ .2byte EC_POKEMON2(HITMONLEE)
+ .2byte EC_POKEMON2(HITMONTOP)
+ .2byte EC_WORD_HIYAH
+ .2byte EC_WORD_HMM
+ .2byte EC_POKEMON2(HO_OH)
+ .2byte EC_WORD_HOBBY
+ .2byte EC_WORD_HOHOHO
+ .2byte EC_WORD_HOLIDAY
+ .2byte EC_WORD_HOME
+ .2byte EC_WORD_HOO_HAH
+ .2byte EC_POKEMON2(HOOTHOOT)
+ .2byte EC_WORD_HOPELESS
+ .2byte EC_POKEMON2(HOPPIP)
+ .2byte EC_MOVE2(HORN_ATTACK)
+ .2byte EC_MOVE2(HORN_DRILL)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(HORSEA)
+ .2byte EC_POKEMON2(HORSEA)
+ .2byte EC_WORD_HOT
+ .2byte EC_POKEMON2(HOUNDOOM)
+ .2byte EC_POKEMON2(HOUNDOUR)
+ .2byte EC_WORD_HOW
+ .2byte EC_WORD_HOW_DO
+ .2byte EC_WORD_HOWEVER
+ .2byte EC_MOVE2(HOWL)
+ .2byte EC_WORD_HUGE_POWER
+ .2byte EC_WORD_HUH_QUES
+ .2byte EC_WORD_HUMPH
+ .2byte EC_WORD_HUNGRY
+ .2byte EC_POKEMON(HUNTAIL)
+ .2byte EC_WORD_HURRIED
+ .2byte EC_WORD_HUSTLE
+ .2byte EC_MOVE2(HYDRO_CANNON)
+ .2byte EC_MOVE2(HYDRO_PUMP)
+ .2byte EC_WORD_HYPER
+ .2byte EC_MOVE2(HYPER_BEAM)
+ .2byte EC_WORD_HYPER_CUTTER
+ .2byte EC_MOVE2(HYPER_FANG)
+ .2byte EC_MOVE2(HYPER_VOICE)
+ .2byte EC_POKEMON2(HYPNO)
+ .2byte EC_MOVE(HYPNOSIS)
gEasyChatWordsByLetter_I:: @ 859D696
- ec_word I
- ec_word I_AM
- ec_word I_CHOOSE_YOU
- ec_word I_WAS
- ec_word I_VE
- ec_word I_VE_ARRIVED
- ec_word ICE
- ec_move1 ICE_BALL
- ec_move2 ICE_BEAM
- ec_move2 ICE_PUNCH
- ec_move2 ICICLE_SPEAR
- ec_move1 ICY_WIND
- ec_word IDOL
- ec_word IF
- ec_word IF_I_LOSE
- ec_word IF_I_WIN
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 IGGLYBUFF
- ec_pokemon2 IGGLYBUFF
- ec_word IGNORANT
- ec_word ILLUMINATE
- ec_pokemon1 ILLUMISE
- ec_word IMMUNITY
- ec_word IMPORTANT
- ec_word IMPOSSIBLE
- ec_move2 IMPRISON
- ec_word IN
- ec_word INCREASING
- ec_word INCREDIBLE
- ec_word INFORMATION
- ec_move2 INGRAIN
- ec_word INNER_FOCUS
- ec_word INSIDE
- ec_word INSOMNIA
- ec_word INSTEAD
- ec_word INTIMIDATE
- ec_word INVINCIBLE
- ec_move2 IRON_DEFENSE
- ec_move1 IRON_TAIL
- ec_word IS
- ec_word IS_IT_QUES
- ec_word ISN_T
- ec_word ISN_T_IT_QUES
- ec_word IT
- ec_word IT_S
- ec_word ITEM
- ec_pokemon2 IVYSAUR
+ .2byte EC_WORD_I
+ .2byte EC_WORD_I_AM
+ .2byte EC_WORD_I_CHOOSE_YOU
+ .2byte EC_WORD_I_WAS
+ .2byte EC_WORD_I_VE
+ .2byte EC_WORD_I_VE_ARRIVED
+ .2byte EC_WORD_ICE
+ .2byte EC_MOVE(ICE_BALL)
+ .2byte EC_MOVE2(ICE_BEAM)
+ .2byte EC_MOVE2(ICE_PUNCH)
+ .2byte EC_MOVE2(ICICLE_SPEAR)
+ .2byte EC_MOVE(ICY_WIND)
+ .2byte EC_WORD_IDOL
+ .2byte EC_WORD_IF
+ .2byte EC_WORD_IF_I_LOSE
+ .2byte EC_WORD_IF_I_WIN
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(IGGLYBUFF)
+ .2byte EC_POKEMON2(IGGLYBUFF)
+ .2byte EC_WORD_IGNORANT
+ .2byte EC_WORD_ILLUMINATE
+ .2byte EC_POKEMON(ILLUMISE)
+ .2byte EC_WORD_IMMUNITY
+ .2byte EC_WORD_IMPORTANT
+ .2byte EC_WORD_IMPOSSIBLE
+ .2byte EC_MOVE2(IMPRISON)
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_INCREASING
+ .2byte EC_WORD_INCREDIBLE
+ .2byte EC_WORD_INFORMATION
+ .2byte EC_MOVE2(INGRAIN)
+ .2byte EC_WORD_INNER_FOCUS
+ .2byte EC_WORD_INSIDE
+ .2byte EC_WORD_INSOMNIA
+ .2byte EC_WORD_INSTEAD
+ .2byte EC_WORD_INTIMIDATE
+ .2byte EC_WORD_INVINCIBLE
+ .2byte EC_MOVE2(IRON_DEFENSE)
+ .2byte EC_MOVE(IRON_TAIL)
+ .2byte EC_WORD_IS
+ .2byte EC_WORD_IS_IT_QUES
+ .2byte EC_WORD_ISN_T
+ .2byte EC_WORD_ISN_T_IT_QUES
+ .2byte EC_WORD_IT
+ .2byte EC_WORD_IT_S
+ .2byte EC_WORD_ITEM
+ .2byte EC_POKEMON2(IVYSAUR)
gEasyChatWordsByLetter_J:: @ 859D6F6
.2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 JIGGLYPUFF
- ec_pokemon2 JIGGLYPUFF
- ec_pokemon1 JIRACHI
- ec_word JOKING
- ec_pokemon2 JOLTEON
- ec_word JOY
- ec_word JUDGE
- ec_move2 JUMP_KICK
- ec_pokemon2 JUMPLUFF
- ec_word JUST
- ec_pokemon2 JYNX
+ .2byte EC_POKEMON(JIGGLYPUFF)
+ .2byte EC_POKEMON2(JIGGLYPUFF)
+ .2byte EC_POKEMON(JIRACHI)
+ .2byte EC_WORD_JOKING
+ .2byte EC_POKEMON2(JOLTEON)
+ .2byte EC_WORD_JOY
+ .2byte EC_WORD_JUDGE
+ .2byte EC_MOVE2(JUMP_KICK)
+ .2byte EC_POKEMON2(JUMPLUFF)
+ .2byte EC_WORD_JUST
+ .2byte EC_POKEMON2(JYNX)
gEasyChatWordsByLetter_K:: @ 859D710
- ec_pokemon2 KABUTO
- ec_pokemon2 KABUTOPS
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 KADABRA
- ec_pokemon2 KADABRA
- ec_pokemon2 KAKUNA
- ec_pokemon2 KANGASKHAN
- ec_move1 KARATE_CHOP
- ec_pokemon1 KECLEON
- ec_word KEEN_EYE
- ec_word KID
- ec_word KIDDING
- ec_word KIND
- ec_word KINDERGARTEN
- ec_move1 KINESIS
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 KINGDRA
- ec_pokemon2 KINGDRA
- ec_pokemon2 KINGLER
- ec_pokemon1 KIRLIA
- ec_move2 KNOCK_OFF
- ec_word KNOCKOUT
- ec_word KNOW
- ec_word KNOWS
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 KOFFING
- ec_pokemon2 KOFFING
- ec_pokemon2 KRABBY
- ec_word KTHX_BYE
- ec_pokemon1 KYOGRE
+ .2byte EC_POKEMON2(KABUTO)
+ .2byte EC_POKEMON2(KABUTOPS)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(KADABRA)
+ .2byte EC_POKEMON2(KADABRA)
+ .2byte EC_POKEMON2(KAKUNA)
+ .2byte EC_POKEMON2(KANGASKHAN)
+ .2byte EC_MOVE(KARATE_CHOP)
+ .2byte EC_POKEMON(KECLEON)
+ .2byte EC_WORD_KEEN_EYE
+ .2byte EC_WORD_KID
+ .2byte EC_WORD_KIDDING
+ .2byte EC_WORD_KIND
+ .2byte EC_WORD_KINDERGARTEN
+ .2byte EC_MOVE(KINESIS)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(KINGDRA)
+ .2byte EC_POKEMON2(KINGDRA)
+ .2byte EC_POKEMON2(KINGLER)
+ .2byte EC_POKEMON(KIRLIA)
+ .2byte EC_MOVE2(KNOCK_OFF)
+ .2byte EC_WORD_KNOCKOUT
+ .2byte EC_WORD_KNOW
+ .2byte EC_WORD_KNOWS
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(KOFFING)
+ .2byte EC_POKEMON2(KOFFING)
+ .2byte EC_POKEMON2(KRABBY)
+ .2byte EC_WORD_KTHX_BYE
+ .2byte EC_POKEMON(KYOGRE)
gEasyChatWordsByLetter_L:: @ 859D752
- ec_word LACKING
- ec_word LACKS
- ec_word LADY
- ec_pokemon1 LAIRON
- ec_word LALALA
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 LANTURN
- ec_pokemon2 LANTURN
- ec_pokemon2 LAPRAS
- ec_pokemon2 LARVITAR
- ec_word LAST
- ec_word LATE
- ec_word LATER
- ec_pokemon1 LATIAS
- ec_pokemon1 LATIOS
- ec_word LAVISH
- ec_word LAY
- ec_word LEADER
- ec_word LEADERS
- ec_word LEAF
- ec_move2 LEAF_BLADE
- ec_word LEARN
- ec_pokemon2 LEDIAN
- ec_pokemon2 LEDYBA
- ec_move1 LEECH_LIFE
- ec_move2 LEECH_SEED
- ec_move2 LEER
- ec_word LEFT
- ec_word LEGEND
- ec_word LESS
- ec_word LESSONS
- ec_word LET_ME_WIN
- ec_word LET_S
- ec_word LETTER
- ec_word LEVEL
- ec_word LEVITATE
- ec_move1 LICK
- ec_pokemon2 LICKITUNG
- ec_word LIE
- ec_word LIFE
- ec_move2 LIGHT_SCREEN
- ec_word LIGHTNINGROD
- ec_word LIKE
- ec_word LIKELY_TO
- ec_word LIKES
- ec_pokemon1 LILEEP
- ec_word LIMBER
- ec_word LINK
- ec_pokemon1 LINOONE
- ec_word LIQUID_OOZE
- ec_word LISTEN
- ec_word LISTENING
- ec_word LISTENS
- ec_word LIVING
- ec_move2 LOCK_ON
- ec_word LOCOMOTIVE
- ec_word LOL
- ec_word LOLLING
- ec_pokemon1 LOMBRE
- ec_word LONESOME
- ec_word LOOK
- ec_word LOOKS
- ec_word LOSE
- ec_word LOSER
- ec_word LOSING
- ec_word LOSS
- ec_word LOST
- ec_pokemon1 LOTAD
- ec_pokemon1 LOUDRED
- ec_word LOUSY
- ec_move1 LOVELY_KISS
- ec_word LOVEY_DOVEY
- ec_word LOW
- ec_move1 LOW_KICK
- ec_word LOWS
- ec_pokemon1 LUDICOLO
- ec_pokemon2 LUGIA
- ec_word LUKEWARM
- ec_pokemon1 LUNATONE
- ec_move2 LUSTER_PURGE
- ec_pokemon1 LUVDISC
+ .2byte EC_WORD_LACKING
+ .2byte EC_WORD_LACKS
+ .2byte EC_WORD_LADY
+ .2byte EC_POKEMON(LAIRON)
+ .2byte EC_WORD_LALALA
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(LANTURN)
+ .2byte EC_POKEMON2(LANTURN)
+ .2byte EC_POKEMON2(LAPRAS)
+ .2byte EC_POKEMON2(LARVITAR)
+ .2byte EC_WORD_LAST
+ .2byte EC_WORD_LATE
+ .2byte EC_WORD_LATER
+ .2byte EC_POKEMON(LATIAS)
+ .2byte EC_POKEMON(LATIOS)
+ .2byte EC_WORD_LAVISH
+ .2byte EC_WORD_LAY
+ .2byte EC_WORD_LEADER
+ .2byte EC_WORD_LEADERS
+ .2byte EC_WORD_LEAF
+ .2byte EC_MOVE2(LEAF_BLADE)
+ .2byte EC_WORD_LEARN
+ .2byte EC_POKEMON2(LEDIAN)
+ .2byte EC_POKEMON2(LEDYBA)
+ .2byte EC_MOVE(LEECH_LIFE)
+ .2byte EC_MOVE2(LEECH_SEED)
+ .2byte EC_MOVE2(LEER)
+ .2byte EC_WORD_LEFT
+ .2byte EC_WORD_LEGEND
+ .2byte EC_WORD_LESS
+ .2byte EC_WORD_LESSONS
+ .2byte EC_WORD_LET_ME_WIN
+ .2byte EC_WORD_LET_S
+ .2byte EC_WORD_LETTER
+ .2byte EC_WORD_LEVEL
+ .2byte EC_WORD_LEVITATE
+ .2byte EC_MOVE(LICK)
+ .2byte EC_POKEMON2(LICKITUNG)
+ .2byte EC_WORD_LIE
+ .2byte EC_WORD_LIFE
+ .2byte EC_MOVE2(LIGHT_SCREEN)
+ .2byte EC_WORD_LIGHTNINGROD
+ .2byte EC_WORD_LIKE
+ .2byte EC_WORD_LIKELY_TO
+ .2byte EC_WORD_LIKES
+ .2byte EC_POKEMON(LILEEP)
+ .2byte EC_WORD_LIMBER
+ .2byte EC_WORD_LINK
+ .2byte EC_POKEMON(LINOONE)
+ .2byte EC_WORD_LIQUID_OOZE
+ .2byte EC_WORD_LISTEN
+ .2byte EC_WORD_LISTENING
+ .2byte EC_WORD_LISTENS
+ .2byte EC_WORD_LIVING
+ .2byte EC_MOVE2(LOCK_ON)
+ .2byte EC_WORD_LOCOMOTIVE
+ .2byte EC_WORD_LOL
+ .2byte EC_WORD_LOLLING
+ .2byte EC_POKEMON(LOMBRE)
+ .2byte EC_WORD_LONESOME
+ .2byte EC_WORD_LOOK
+ .2byte EC_WORD_LOOKS
+ .2byte EC_WORD_LOSE
+ .2byte EC_WORD_LOSER
+ .2byte EC_WORD_LOSING
+ .2byte EC_WORD_LOSS
+ .2byte EC_WORD_LOST
+ .2byte EC_POKEMON(LOTAD)
+ .2byte EC_POKEMON(LOUDRED)
+ .2byte EC_WORD_LOUSY
+ .2byte EC_MOVE(LOVELY_KISS)
+ .2byte EC_WORD_LOVEY_DOVEY
+ .2byte EC_WORD_LOW
+ .2byte EC_MOVE(LOW_KICK)
+ .2byte EC_WORD_LOWS
+ .2byte EC_POKEMON(LUDICOLO)
+ .2byte EC_POKEMON2(LUGIA)
+ .2byte EC_WORD_LUKEWARM
+ .2byte EC_POKEMON(LUNATONE)
+ .2byte EC_MOVE2(LUSTER_PURGE)
+ .2byte EC_POKEMON(LUVDISC)
gEasyChatWordsByLetter_M:: @ 859D7F6
- ec_move2 MACH_PUNCH
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 MACHAMP
- ec_pokemon2 MACHAMP
- ec_word MACHINE
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 MACHOKE
- ec_pokemon2 MACHOKE
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 MACHOP
- ec_pokemon2 MACHOP
- ec_word MAGAZINE
- ec_pokemon2 MAGBY
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 MAGCARGO
- ec_pokemon2 MAGCARGO
- ec_move2 MAGIC_COAT
- ec_move2 MAGICAL_LEAF
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 MAGIKARP
- ec_pokemon2 MAGIKARP
- ec_word MAGMA_ARMOR
- ec_pokemon2 MAGMAR
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 MAGNEMITE
- ec_pokemon2 MAGNEMITE
- ec_word MAGNET_PULL
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 MAGNETON
- ec_pokemon2 MAGNETON
- ec_move2 MAGNITUDE
- ec_word MAIL
- ec_word MAKE
- ec_word MAKING
- ec_pokemon1 MAKUHITA
- ec_word MAN
- ec_pokemon1 MANECTRIC
- ec_pokemon2 MANKEY
- ec_pokemon2 MANTINE
- ec_pokemon2 MAREEP
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 MARILL
- ec_pokemon2 MARILL
- ec_pokemon2 MAROWAK
- ec_pokemon1 MARSHTOMP
- ec_word MARVEL_SCALE
- ec_pokemon1 MASQUERAIN
- ec_word MASTER
- ec_word MATCH
- ec_word MATCH_UP
- ec_pokemon1 MAWILE
- ec_word MAYBE
- ec_word MC
- ec_word ME
- ec_word MEAN
- ec_move1 MEAN_LOOK
- ec_pokemon1 MEDICHAM
- ec_move2 MEDITATE
- ec_pokemon1 MEDITITE
- ec_word MEET
- ec_word MEET_YOU
- ec_word MEETS
- ec_word MEGA
- ec_move2 MEGA_DRAIN
- ec_move2 MEGA_KICK
- ec_move2 MEGA_PUNCH
- ec_move2 MEGAHORN
- ec_pokemon2 MEGANIUM
- ec_move1 MEMENTO
- ec_pokemon2 MEOWTH
- ec_word MESSAGE
- ec_pokemon1 METAGROSS
- ec_move2 METAL_CLAW
- ec_move1 METAL_SOUND
- ec_pokemon1 METANG
- ec_pokemon2 METAPOD
- ec_move1 METEOR_MASH
- ec_move2 METRONOME
- ec_pokemon2 MEW
- ec_pokemon2 MEWTWO
- ec_pokemon1 MIGHTYENA
- ec_move2 MILK_DRINK
- ec_pokemon1 MILOTIC
- ec_pokemon2 MILTANK
- ec_move2 MIMIC
- ec_move1 MIND_READER
- ec_move2 MINIMIZE
- ec_pokemon1 MINUN
- ec_word MINUS
- ec_move2 MIRROR_COAT
- ec_move1 MIRROR_MOVE
- ec_pokemon2 MISDREAVUS
- ec_word MISHEARD
- ec_word MISS
- ec_move1 MIST
- ec_move2 MIST_BALL
- ec_word MISTAKE
- ec_word MMM
- ec_word MODE
- ec_word MODERN
- ec_pokemon2 MOLTRES
- ec_word MOMENTUM
- ec_word MONDAY
- ec_word MONEY
- ec_word MONTH
- ec_word MOOD
- ec_move2 MOONLIGHT
- ec_word MORE
- ec_word MORNING
- ec_move1 MORNING_SUN
- ec_word MOTHER
- ec_word MOVE
- ec_word MOVIE
- ec_word MR
- ec_pokemon2 MR_MIME
- ec_word MRS
- ec_word MUCH
- ec_word MUCH_OBLIGED
- ec_move2 MUD_SHOT
- ec_move2 MUD_SPORT
- ec_move2 MUD_SLAP
- ec_move2 MUDDY_WATER
- ec_pokemon1 MUDKIP
- ec_word MUFUFU
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 MUK
- ec_pokemon2 MUK
- ec_pokemon2 MURKROW
- ec_word MUSIC
- ec_word MUST_BE
- ec_word MY
- ec_word MYSELF
- ec_word MYSTERY
+ .2byte EC_MOVE2(MACH_PUNCH)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(MACHAMP)
+ .2byte EC_POKEMON2(MACHAMP)
+ .2byte EC_WORD_MACHINE
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(MACHOKE)
+ .2byte EC_POKEMON2(MACHOKE)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(MACHOP)
+ .2byte EC_POKEMON2(MACHOP)
+ .2byte EC_WORD_MAGAZINE
+ .2byte EC_POKEMON2(MAGBY)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(MAGCARGO)
+ .2byte EC_POKEMON2(MAGCARGO)
+ .2byte EC_MOVE2(MAGIC_COAT)
+ .2byte EC_MOVE2(MAGICAL_LEAF)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(MAGIKARP)
+ .2byte EC_POKEMON2(MAGIKARP)
+ .2byte EC_WORD_MAGMA_ARMOR
+ .2byte EC_POKEMON2(MAGMAR)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(MAGNEMITE)
+ .2byte EC_POKEMON2(MAGNEMITE)
+ .2byte EC_WORD_MAGNET_PULL
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(MAGNETON)
+ .2byte EC_POKEMON2(MAGNETON)
+ .2byte EC_MOVE2(MAGNITUDE)
+ .2byte EC_WORD_MAIL
+ .2byte EC_WORD_MAKE
+ .2byte EC_WORD_MAKING
+ .2byte EC_POKEMON(MAKUHITA)
+ .2byte EC_WORD_MAN
+ .2byte EC_POKEMON(MANECTRIC)
+ .2byte EC_POKEMON2(MANKEY)
+ .2byte EC_POKEMON2(MANTINE)
+ .2byte EC_POKEMON2(MAREEP)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(MARILL)
+ .2byte EC_POKEMON2(MARILL)
+ .2byte EC_POKEMON2(MAROWAK)
+ .2byte EC_POKEMON(MARSHTOMP)
+ .2byte EC_WORD_MARVEL_SCALE
+ .2byte EC_POKEMON(MASQUERAIN)
+ .2byte EC_WORD_MASTER
+ .2byte EC_WORD_MATCH
+ .2byte EC_WORD_MATCH_UP
+ .2byte EC_POKEMON(MAWILE)
+ .2byte EC_WORD_MAYBE
+ .2byte EC_WORD_MC
+ .2byte EC_WORD_ME
+ .2byte EC_WORD_MEAN
+ .2byte EC_MOVE(MEAN_LOOK)
+ .2byte EC_POKEMON(MEDICHAM)
+ .2byte EC_MOVE2(MEDITATE)
+ .2byte EC_POKEMON(MEDITITE)
+ .2byte EC_WORD_MEET
+ .2byte EC_WORD_MEET_YOU
+ .2byte EC_WORD_MEETS
+ .2byte EC_WORD_MEGA
+ .2byte EC_MOVE2(MEGA_DRAIN)
+ .2byte EC_MOVE2(MEGA_KICK)
+ .2byte EC_MOVE2(MEGA_PUNCH)
+ .2byte EC_MOVE2(MEGAHORN)
+ .2byte EC_POKEMON2(MEGANIUM)
+ .2byte EC_MOVE(MEMENTO)
+ .2byte EC_POKEMON2(MEOWTH)
+ .2byte EC_WORD_MESSAGE
+ .2byte EC_POKEMON(METAGROSS)
+ .2byte EC_MOVE2(METAL_CLAW)
+ .2byte EC_MOVE(METAL_SOUND)
+ .2byte EC_POKEMON(METANG)
+ .2byte EC_POKEMON2(METAPOD)
+ .2byte EC_MOVE(METEOR_MASH)
+ .2byte EC_MOVE2(METRONOME)
+ .2byte EC_POKEMON2(MEW)
+ .2byte EC_POKEMON2(MEWTWO)
+ .2byte EC_POKEMON(MIGHTYENA)
+ .2byte EC_MOVE2(MILK_DRINK)
+ .2byte EC_POKEMON(MILOTIC)
+ .2byte EC_POKEMON2(MILTANK)
+ .2byte EC_MOVE2(MIMIC)
+ .2byte EC_MOVE(MIND_READER)
+ .2byte EC_MOVE2(MINIMIZE)
+ .2byte EC_POKEMON(MINUN)
+ .2byte EC_WORD_MINUS
+ .2byte EC_MOVE2(MIRROR_COAT)
+ .2byte EC_MOVE(MIRROR_MOVE)
+ .2byte EC_POKEMON2(MISDREAVUS)
+ .2byte EC_WORD_MISHEARD
+ .2byte EC_WORD_MISS
+ .2byte EC_MOVE(MIST)
+ .2byte EC_MOVE2(MIST_BALL)
+ .2byte EC_WORD_MISTAKE
+ .2byte EC_WORD_MMM
+ .2byte EC_WORD_MODE
+ .2byte EC_WORD_MODERN
+ .2byte EC_POKEMON2(MOLTRES)
+ .2byte EC_WORD_MOMENTUM
+ .2byte EC_WORD_MONDAY
+ .2byte EC_WORD_MONEY
+ .2byte EC_WORD_MONTH
+ .2byte EC_WORD_MOOD
+ .2byte EC_MOVE2(MOONLIGHT)
+ .2byte EC_WORD_MORE
+ .2byte EC_WORD_MORNING
+ .2byte EC_MOVE(MORNING_SUN)
+ .2byte EC_WORD_MOTHER
+ .2byte EC_WORD_MOVE
+ .2byte EC_WORD_MOVIE
+ .2byte EC_WORD_MR
+ .2byte EC_POKEMON2(MR_MIME)
+ .2byte EC_WORD_MRS
+ .2byte EC_WORD_MUCH
+ .2byte EC_WORD_MUCH_OBLIGED
+ .2byte EC_MOVE2(MUD_SHOT)
+ .2byte EC_MOVE2(MUD_SPORT)
+ .2byte EC_MOVE2(MUD_SLAP)
+ .2byte EC_MOVE2(MUDDY_WATER)
+ .2byte EC_POKEMON(MUDKIP)
+ .2byte EC_WORD_MUFUFU
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(MUK)
+ .2byte EC_POKEMON2(MUK)
+ .2byte EC_POKEMON2(MURKROW)
+ .2byte EC_WORD_MUSIC
+ .2byte EC_WORD_MUST_BE
+ .2byte EC_WORD_MY
+ .2byte EC_WORD_MYSELF
+ .2byte EC_WORD_MYSTERY
gEasyChatWordsByLetter_N:: @ 859D912
- ec_word NAME
- ec_word NAP
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 NATU
- ec_pokemon2 NATU
- ec_word NATURAL
- ec_word NATURAL_CURE
- ec_word NATURALLY
- ec_word NATURE
- ec_move1 NATURE_POWER
- ec_word NEAR
- ec_word NEARLY
- ec_word NEED
- ec_move2 NEEDLE_ARM
- ec_word NEGATIVE
- ec_word NEVER
- ec_word NEW
- ec_word NEWS
- ec_word NEXT
- ec_word NICE
- ec_pokemon2 NIDOKING
- ec_pokemon2 NIDOQUEEN
- ec_pokemon2 NIDORAN_F
- ec_pokemon2 NIDORAN_M
- ec_pokemon2 NIDORINA
- ec_pokemon2 NIDORINO
- ec_word NIGHT
- ec_move2 NIGHT_SHADE
- ec_move1 NIGHTMARE
- ec_word NIGHTTIME
- ec_pokemon1 NINCADA
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 NINETALES
- ec_pokemon2 NINETALES
- ec_pokemon1 NINJASK
- ec_word NITWIT
- ec_word NO
- ec_word NO_MATCH
- ec_word NO_1
- ec_pokemon2 NOCTOWL
- ec_word NOISY
- ec_word NON_STOP
- ec_word NONE
- ec_word NOPE
- ec_word NORMAL
- ec_pokemon1 NOSEPASS
- ec_word NOT
- ec_word NOT_VERY
- ec_word NOTHING
- ec_word NOW
- ec_pokemon1 NUMEL
- ec_pokemon1 NUZLEAF
+ .2byte EC_WORD_NAME
+ .2byte EC_WORD_NAP
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(NATU)
+ .2byte EC_POKEMON2(NATU)
+ .2byte EC_WORD_NATURAL
+ .2byte EC_WORD_NATURAL_CURE
+ .2byte EC_WORD_NATURALLY
+ .2byte EC_WORD_NATURE
+ .2byte EC_MOVE(NATURE_POWER)
+ .2byte EC_WORD_NEAR
+ .2byte EC_WORD_NEARLY
+ .2byte EC_WORD_NEED
+ .2byte EC_MOVE2(NEEDLE_ARM)
+ .2byte EC_WORD_NEGATIVE
+ .2byte EC_WORD_NEVER
+ .2byte EC_WORD_NEW
+ .2byte EC_WORD_NEWS
+ .2byte EC_WORD_NEXT
+ .2byte EC_WORD_NICE
+ .2byte EC_POKEMON2(NIDOKING)
+ .2byte EC_POKEMON2(NIDOQUEEN)
+ .2byte EC_POKEMON2(NIDORAN_F)
+ .2byte EC_POKEMON2(NIDORAN_M)
+ .2byte EC_POKEMON2(NIDORINA)
+ .2byte EC_POKEMON2(NIDORINO)
+ .2byte EC_WORD_NIGHT
+ .2byte EC_MOVE2(NIGHT_SHADE)
+ .2byte EC_MOVE(NIGHTMARE)
+ .2byte EC_WORD_NIGHTTIME
+ .2byte EC_POKEMON(NINCADA)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(NINETALES)
+ .2byte EC_POKEMON2(NINETALES)
+ .2byte EC_POKEMON(NINJASK)
+ .2byte EC_WORD_NITWIT
+ .2byte EC_WORD_NO
+ .2byte EC_WORD_NO_MATCH
+ .2byte EC_WORD_NO_1
+ .2byte EC_POKEMON2(NOCTOWL)
+ .2byte EC_WORD_NOISY
+ .2byte EC_WORD_NON_STOP
+ .2byte EC_WORD_NONE
+ .2byte EC_WORD_NOPE
+ .2byte EC_WORD_NORMAL
+ .2byte EC_POKEMON(NOSEPASS)
+ .2byte EC_WORD_NOT
+ .2byte EC_WORD_NOT_VERY
+ .2byte EC_WORD_NOTHING
+ .2byte EC_WORD_NOW
+ .2byte EC_POKEMON(NUMEL)
+ .2byte EC_POKEMON(NUZLEAF)
gEasyChatWordsByLetter_O:: @ 859D97E
- ec_word OBLIVIOUS
- ec_move1 OCTAZOOKA
- ec_pokemon2 OCTILLERY
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 ODDISH
- ec_pokemon2 ODDISH
- ec_move1 ODOR_SLEUTH
- ec_word OF
- ec_word OFF
- ec_word OFFENSIVE
- ec_word OH
- ec_word OH_DEAR
- ec_word OH_YEAH
- ec_word OH_KAY
- ec_word OH_QUES
- ec_word OI
- ec_word OI_OI_OI
- ec_word OK_QUES
- ec_word OKAY
- ec_word OLD
- ec_word OLDEN
- ec_pokemon2 OMANYTE
- ec_pokemon2 OMASTAR
- ec_word ON
- ec_word ONCE
- ec_pokemon2 ONIX
- ec_word ONLY
- ec_word OOPS
- ec_word OPPONENT
- ec_word OPPOSITE
- ec_word OR
- ec_word OTHER
- ec_word OUR
- ec_word OUT
- ec_move1 OUTRAGE
- ec_word OUTSIDE
- ec_word OVER
- ec_word OVERDO
- ec_word OVERGROW
- ec_move1 OVERHEAT
- ec_word OVERWHELMING
- ec_word OWN
- ec_word OWN_TEMPO
+ .2byte EC_WORD_OBLIVIOUS
+ .2byte EC_MOVE(OCTAZOOKA)
+ .2byte EC_POKEMON2(OCTILLERY)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(ODDISH)
+ .2byte EC_POKEMON2(ODDISH)
+ .2byte EC_MOVE(ODOR_SLEUTH)
+ .2byte EC_WORD_OF
+ .2byte EC_WORD_OFF
+ .2byte EC_WORD_OFFENSIVE
+ .2byte EC_WORD_OH
+ .2byte EC_WORD_OH_DEAR
+ .2byte EC_WORD_OH_YEAH
+ .2byte EC_WORD_OH_KAY
+ .2byte EC_WORD_OH_QUES
+ .2byte EC_WORD_OI
+ .2byte EC_WORD_OI_OI_OI
+ .2byte EC_WORD_OK_QUES
+ .2byte EC_WORD_OKAY
+ .2byte EC_WORD_OLD
+ .2byte EC_WORD_OLDEN
+ .2byte EC_POKEMON2(OMANYTE)
+ .2byte EC_POKEMON2(OMASTAR)
+ .2byte EC_WORD_ON
+ .2byte EC_WORD_ONCE
+ .2byte EC_POKEMON2(ONIX)
+ .2byte EC_WORD_ONLY
+ .2byte EC_WORD_OOPS
+ .2byte EC_WORD_OPPONENT
+ .2byte EC_WORD_OPPOSITE
+ .2byte EC_WORD_OR
+ .2byte EC_WORD_OTHER
+ .2byte EC_WORD_OUR
+ .2byte EC_WORD_OUT
+ .2byte EC_MOVE(OUTRAGE)
+ .2byte EC_WORD_OUTSIDE
+ .2byte EC_WORD_OVER
+ .2byte EC_WORD_OVERDO
+ .2byte EC_WORD_OVERGROW
+ .2byte EC_MOVE(OVERHEAT)
+ .2byte EC_WORD_OVERWHELMING
+ .2byte EC_WORD_OWN
+ .2byte EC_WORD_OWN_TEMPO
gEasyChatWordsByLetter_P:: @ 859D9D6
- ec_move1 PAIN_SPLIT
- ec_pokemon2 PARAS
- ec_pokemon2 PARASECT
- ec_word PARDON
- ec_word PARENT
- ec_word PARTNER
- ec_word PARTY
- ec_word PATTERN
- ec_move2 PAY_DAY
- ec_word PC
- ec_move2 PECK
- ec_pokemon1 PELIPPER
- ec_word PERFECT
- ec_word PERFECTION
- ec_move2 PERISH_SONG
- ec_pokemon2 PERSIAN
- ec_word PERSON
- ec_move2 PETAL_DANCE
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 PHANPY
- ec_pokemon2 PHANPY
- ec_word PHONE
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 PICHU
- ec_pokemon2 PICHU
- ec_word PICKUP
- ec_pokemon2 PIDGEOT
- ec_pokemon2 PIDGEOTTO
- ec_pokemon2 PIDGEY
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 PIKACHU
- ec_pokemon2 PIKACHU
- ec_pokemon2 PILOSWINE
- ec_move2 PIN_MISSILE
- ec_pokemon2 PINECO
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 PINSIR
- ec_pokemon2 PINSIR
- ec_word PKRS
- ec_word PLACE
- ec_word PLANS
- ec_word PLAY
- ec_word PLAYED
- ec_word PLAYS
- ec_word PLEASE
- ec_word PLUS
- ec_word PLUSH_DOLL
- ec_pokemon1 PLUSLE
- ec_word POINTS
- ec_word POISON
- ec_move2 POISON_FANG
- ec_move2 POISON_GAS
- ec_word POISON_POINT
- ec_move2 POISON_STING
- ec_move2 POISON_TAIL
- ec_move2 POISON_POWDER
- ec_word POKEBLOCK
- ec_word POKEDEX
- ec_word POKEMON
- ec_word POKENAV
- ec_pokemon2 POLITOED
- ec_pokemon2 POLIWAG
- ec_pokemon2 POLIWHIRL
- ec_pokemon2 POLIWRATH
- ec_pokemon2 PONYTA
- ec_pokemon1 POOCHYENA
- ec_word POPULAR
- ec_pokemon2 PORYGON
- ec_pokemon2 PORYGON2
- ec_move2 POUND
- ec_move1 POWDER_SNOW
- ec_word POWER
- ec_word PRAISE
- ec_word PREPOSTEROUS
- ec_move2 PRESENT
- ec_word PRESSURE
- ec_word PRETEND
- ec_word PRETTY
- ec_pokemon2 PRIMEAPE
- ec_word PROBABLY
- ec_word PROMISE
- ec_move2 PROTECT
- ec_move1 PSYBEAM
- ec_move1 PSYCH_UP
- .2byte -1, 2 @ doubled Pokémon species names
- ec_word PSYCHIC
- ec_move1 PSYCHIC
- ec_move1 PSYCHO_BOOST
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 PSYDUCK
- ec_pokemon2 PSYDUCK
- ec_move1 PSYWAVE
- ec_pokemon2 PUPITAR
- ec_word PURE_POWER
- ec_move1 PURSUIT
- ec_word PUSHOVER
+ .2byte EC_MOVE(PAIN_SPLIT)
+ .2byte EC_POKEMON2(PARAS)
+ .2byte EC_POKEMON2(PARASECT)
+ .2byte EC_WORD_PARDON
+ .2byte EC_WORD_PARENT
+ .2byte EC_WORD_PARTNER
+ .2byte EC_WORD_PARTY
+ .2byte EC_WORD_PATTERN
+ .2byte EC_MOVE2(PAY_DAY)
+ .2byte EC_WORD_PC
+ .2byte EC_MOVE2(PECK)
+ .2byte EC_POKEMON(PELIPPER)
+ .2byte EC_WORD_PERFECT
+ .2byte EC_WORD_PERFECTION
+ .2byte EC_MOVE2(PERISH_SONG)
+ .2byte EC_POKEMON2(PERSIAN)
+ .2byte EC_WORD_PERSON
+ .2byte EC_MOVE2(PETAL_DANCE)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(PHANPY)
+ .2byte EC_POKEMON2(PHANPY)
+ .2byte EC_WORD_PHONE
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(PICHU)
+ .2byte EC_POKEMON2(PICHU)
+ .2byte EC_WORD_PICKUP
+ .2byte EC_POKEMON2(PIDGEOT)
+ .2byte EC_POKEMON2(PIDGEOTTO)
+ .2byte EC_POKEMON2(PIDGEY)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(PIKACHU)
+ .2byte EC_POKEMON2(PIKACHU)
+ .2byte EC_POKEMON2(PILOSWINE)
+ .2byte EC_MOVE2(PIN_MISSILE)
+ .2byte EC_POKEMON2(PINECO)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(PINSIR)
+ .2byte EC_POKEMON2(PINSIR)
+ .2byte EC_WORD_PKRS
+ .2byte EC_WORD_PLACE
+ .2byte EC_WORD_PLANS
+ .2byte EC_WORD_PLAY
+ .2byte EC_WORD_PLAYED
+ .2byte EC_WORD_PLAYS
+ .2byte EC_WORD_PLEASE
+ .2byte EC_WORD_PLUS
+ .2byte EC_WORD_PLUSH_DOLL
+ .2byte EC_POKEMON(PLUSLE)
+ .2byte EC_WORD_POINTS
+ .2byte EC_WORD_POISON
+ .2byte EC_MOVE2(POISON_FANG)
+ .2byte EC_MOVE2(POISON_GAS)
+ .2byte EC_WORD_POISON_POINT
+ .2byte EC_MOVE2(POISON_STING)
+ .2byte EC_MOVE2(POISON_TAIL)
+ .2byte EC_MOVE2(POISON_POWDER)
+ .2byte EC_WORD_POKEBLOCK
+ .2byte EC_WORD_POKEDEX
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_POKENAV
+ .2byte EC_POKEMON2(POLITOED)
+ .2byte EC_POKEMON2(POLIWAG)
+ .2byte EC_POKEMON2(POLIWHIRL)
+ .2byte EC_POKEMON2(POLIWRATH)
+ .2byte EC_POKEMON2(PONYTA)
+ .2byte EC_POKEMON(POOCHYENA)
+ .2byte EC_WORD_POPULAR
+ .2byte EC_POKEMON2(PORYGON)
+ .2byte EC_POKEMON2(PORYGON2)
+ .2byte EC_MOVE2(POUND)
+ .2byte EC_MOVE(POWDER_SNOW)
+ .2byte EC_WORD_POWER
+ .2byte EC_WORD_PRAISE
+ .2byte EC_WORD_PREPOSTEROUS
+ .2byte EC_MOVE2(PRESENT)
+ .2byte EC_WORD_PRESSURE
+ .2byte EC_WORD_PRETEND
+ .2byte EC_WORD_PRETTY
+ .2byte EC_POKEMON2(PRIMEAPE)
+ .2byte EC_WORD_PROBABLY
+ .2byte EC_WORD_PROMISE
+ .2byte EC_MOVE2(PROTECT)
+ .2byte EC_MOVE(PSYBEAM)
+ .2byte EC_MOVE(PSYCH_UP)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_WORD_PSYCHIC
+ .2byte EC_MOVE(PSYCHIC)
+ .2byte EC_MOVE(PSYCHO_BOOST)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(PSYDUCK)
+ .2byte EC_POKEMON2(PSYDUCK)
+ .2byte EC_MOVE(PSYWAVE)
+ .2byte EC_POKEMON2(PUPITAR)
+ .2byte EC_WORD_PURE_POWER
+ .2byte EC_MOVE(PURSUIT)
+ .2byte EC_WORD_PUSHOVER
gEasyChatWordsByLetter_Q:: @ 859DAA2
- ec_pokemon2 QUAGSIRE
- ec_word QUESTION
- ec_move2 QUICK_ATTACK
- ec_pokemon2 QUILAVA
- ec_word QUITE
- ec_pokemon2 QWILFISH
+ .2byte EC_POKEMON2(QUAGSIRE)
+ .2byte EC_WORD_QUESTION
+ .2byte EC_MOVE2(QUICK_ATTACK)
+ .2byte EC_POKEMON2(QUILAVA)
+ .2byte EC_WORD_QUITE
+ .2byte EC_POKEMON2(QWILFISH)
gEasyChatWordsByLetter_R:: @ 859DAAE
- ec_word RADIO
- ec_move1 RAGE
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 RAICHU
- ec_pokemon2 RAICHU
- ec_pokemon2 RAIKOU
- ec_move1 RAIN_DANCE
- ec_word RAIN_DISH
- ec_pokemon1 RALTS
- ec_word RANK
- ec_move1 RAPID_SPIN
- ec_pokemon2 RAPIDASH
- ec_word RARE
- ec_word RATHER
- ec_pokemon2 RATICATE
- ec_pokemon2 RATTATA
- ec_pokemon1 RAYQUAZA
- ec_move2 RAZOR_LEAF
- ec_move1 RAZOR_WIND
- ec_word READY
- ec_word REALLY
- ec_word REAR
- ec_word RECEIVED
- ec_word RECOMMEND
- ec_move1 RECOVER
- ec_move2 RECYCLE
- ec_word RED
- ec_move2 REFLECT
- ec_move2 REFRESH
- ec_word REFRESHING
- ec_word REFUSE
- ec_pokemon1 REGICE
- ec_pokemon1 REGIROCK
- ec_pokemon1 REGISTEEL
- ec_word REJECT
- ec_word RELEASE
- ec_pokemon1 RELICANTH
- ec_pokemon2 REMORAID
- ec_word RENTAL
- ec_move2 REST
- ec_word RESUSCITATE
- ec_move1 RETURN
- ec_move2 REVENGE
- ec_move1 REVERSAL
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 RHYDON
- ec_pokemon2 RHYDON
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 RHYHORN
- ec_pokemon2 RHYHORN
- ec_word RIBBON
- ec_word RICKETY
- ec_word RIGHT
- ec_word RIPPED
- ec_word RIVAL
- ec_move2 ROAR
- ec_word ROCK
- ec_move2 ROCK_BLAST
- ec_word ROCK_HEAD
- ec_move1 ROCK_SLIDE
- ec_move1 ROCK_SMASH
- ec_move1 ROCK_THROW
- ec_move1 ROCK_TOMB
- ec_word ROCK_SOLID
- ec_move2 ROLE_PLAY
- ec_move2 ROLLING_KICK
- ec_move1 ROLLOUT
- ec_word ROMANTIC
- ec_word ROOM
- ec_pokemon1 ROSELIA
- ec_word ROUGH_SKIN
- ec_word RPG
- ec_word RUBY
- ec_word RULE
- ec_word RUN
- ec_word RUN_AWAY
- ec_word RUNS
+ .2byte EC_WORD_RADIO
+ .2byte EC_MOVE(RAGE)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(RAICHU)
+ .2byte EC_POKEMON2(RAICHU)
+ .2byte EC_POKEMON2(RAIKOU)
+ .2byte EC_MOVE(RAIN_DANCE)
+ .2byte EC_WORD_RAIN_DISH
+ .2byte EC_POKEMON(RALTS)
+ .2byte EC_WORD_RANK
+ .2byte EC_MOVE(RAPID_SPIN)
+ .2byte EC_POKEMON2(RAPIDASH)
+ .2byte EC_WORD_RARE
+ .2byte EC_WORD_RATHER
+ .2byte EC_POKEMON2(RATICATE)
+ .2byte EC_POKEMON2(RATTATA)
+ .2byte EC_POKEMON(RAYQUAZA)
+ .2byte EC_MOVE2(RAZOR_LEAF)
+ .2byte EC_MOVE(RAZOR_WIND)
+ .2byte EC_WORD_READY
+ .2byte EC_WORD_REALLY
+ .2byte EC_WORD_REAR
+ .2byte EC_WORD_RECEIVED
+ .2byte EC_WORD_RECOMMEND
+ .2byte EC_MOVE(RECOVER)
+ .2byte EC_MOVE2(RECYCLE)
+ .2byte EC_WORD_RED
+ .2byte EC_MOVE2(REFLECT)
+ .2byte EC_MOVE2(REFRESH)
+ .2byte EC_WORD_REFRESHING
+ .2byte EC_WORD_REFUSE
+ .2byte EC_POKEMON(REGICE)
+ .2byte EC_POKEMON(REGIROCK)
+ .2byte EC_POKEMON(REGISTEEL)
+ .2byte EC_WORD_REJECT
+ .2byte EC_WORD_RELEASE
+ .2byte EC_POKEMON(RELICANTH)
+ .2byte EC_POKEMON2(REMORAID)
+ .2byte EC_WORD_RENTAL
+ .2byte EC_MOVE2(REST)
+ .2byte EC_WORD_RESUSCITATE
+ .2byte EC_MOVE(RETURN)
+ .2byte EC_MOVE2(REVENGE)
+ .2byte EC_MOVE(REVERSAL)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(RHYDON)
+ .2byte EC_POKEMON2(RHYDON)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(RHYHORN)
+ .2byte EC_POKEMON2(RHYHORN)
+ .2byte EC_WORD_RIBBON
+ .2byte EC_WORD_RICKETY
+ .2byte EC_WORD_RIGHT
+ .2byte EC_WORD_RIPPED
+ .2byte EC_WORD_RIVAL
+ .2byte EC_MOVE2(ROAR)
+ .2byte EC_WORD_ROCK
+ .2byte EC_MOVE2(ROCK_BLAST)
+ .2byte EC_WORD_ROCK_HEAD
+ .2byte EC_MOVE(ROCK_SLIDE)
+ .2byte EC_MOVE(ROCK_SMASH)
+ .2byte EC_MOVE(ROCK_THROW)
+ .2byte EC_MOVE(ROCK_TOMB)
+ .2byte EC_WORD_ROCK_SOLID
+ .2byte EC_MOVE2(ROLE_PLAY)
+ .2byte EC_MOVE2(ROLLING_KICK)
+ .2byte EC_MOVE(ROLLOUT)
+ .2byte EC_WORD_ROMANTIC
+ .2byte EC_WORD_ROOM
+ .2byte EC_POKEMON(ROSELIA)
+ .2byte EC_WORD_ROUGH_SKIN
+ .2byte EC_WORD_RPG
+ .2byte EC_WORD_RUBY
+ .2byte EC_WORD_RULE
+ .2byte EC_WORD_RUN
+ .2byte EC_WORD_RUN_AWAY
+ .2byte EC_WORD_RUNS
gEasyChatWordsByLetter_S:: @ 859DB4E
- ec_pokemon1 SABLEYE
- ec_move1 SACRED_FIRE
- ec_word SAD
- ec_word SADLY
- ec_move1 SAFEGUARD
- ec_word SAID
- ec_pokemon1 SALAMENCE
- ec_word SAND_STREAM
- ec_move1 SAND_TOMB
- ec_word SAND_VEIL
- ec_move1 SAND_ATTACK
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 SANDSHREW
- ec_pokemon2 SANDSHREW
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 SANDSLASH
- ec_pokemon2 SANDSLASH
- ec_move1 SANDSTORM
- ec_word SAPPHIRE
- ec_word SATISFIED
- ec_word SATURDAY
- ec_word SAYS
- ec_word SCARY
- ec_move1 SCARY_FACE
- ec_word SCATTER
- ec_pokemon1 SCEPTILE
- ec_word SCHOOL
- ec_pokemon2 SCIZOR
- ec_move2 SCRATCH
- ec_move1 SCREECH
- ec_pokemon2 SCYTHER
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 SEADRA
- ec_pokemon2 SEADRA
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 SEAKING
- ec_pokemon2 SEAKING
- ec_pokemon1 SEALEO
- ec_word SEARCH
- ec_word SECRET
- ec_word SECRET_BASE
- ec_move2 SECRET_POWER
- ec_word SEE
- ec_word SEE_YA
- ec_pokemon1 SEEDOT
- ec_word SEEK
- ec_pokemon2 SEEL
- ec_word SEEMS
- ec_word SEES
- ec_move2 SEISMIC_TOSS
- ec_move1 SELF_DESTRUCT
- ec_word SENSE
- ec_pokemon2 SENTRET
- ec_word SERENE_GRACE
- ec_word SERIOUS
- ec_word SERIOUSLY
- ec_word SERVICE
- ec_pokemon1 SEVIPER
- ec_move1 SHADOW_BALL
- ec_move1 SHADOW_PUNCH
- ec_word SHADOW_TAG
- ec_word SHADY
- ec_word SHAKE
- ec_word SHAKY
- ec_word SHALLOW
- ec_pokemon1 SHARPEDO
- ec_move1 SHARPEN
- ec_word SHE
- ec_word SHE_IS
- ec_word SHE_WAS
- ec_word SHED_SKIN
- ec_pokemon1 SHEDINJA
- ec_move1 SHEER_COLD
- ec_pokemon1 SHELGON
- ec_word SHELL_ARMOR
- ec_pokemon2 SHELLDER
- ec_word SHIELD_DUST
- ec_pokemon1 SHIFTRY
- ec_word SHINE
- ec_move2 SHOCK_WAVE
- ec_word SHOCKED
- ec_word SHOPPING
- ec_word SHOULD
- ec_word SHOW
- ec_word SHREDDED
- ec_pokemon1 SHROOMISH
- ec_pokemon2 SHUCKLE
- ec_pokemon1 SHUPPET
- ec_word SIBLINGS
- ec_word SIGH
- ec_move1 SIGNAL_BEAM
- ec_pokemon1 SILCOON
- ec_word SILKY
- ec_word SILVER
- ec_move1 SILVER_WIND
- ec_word SIMPLE
- ec_word SINCE
- ec_move1 SING
- ec_word SINK
- ec_word SISTER
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 SKARMORY
- ec_pokemon2 SKARMORY
- ec_move1 SKETCH
- ec_word SKILL
- ec_move1 SKILL_SWAP
- ec_word SKILLED
- ec_pokemon2 SKIPLOOM
- ec_pokemon1 SKITTY
- ec_move2 SKULL_BASH
- ec_move1 SKY_ATTACK
- ec_move1 SKY_UPPERCUT
- ec_move2 SLACK_OFF
- ec_pokemon1 SLAKING
- ec_pokemon1 SLAKOTH
- ec_move2 SLAM
- ec_move1 SLASH
- ec_word SLEEP
- ec_move2 SLEEP_POWDER
- ec_move2 SLEEP_TALK
- ec_word SLEPT
- ec_word SLIDE
- ec_word SLIMY
- ec_pokemon2 SLOWBRO
- ec_pokemon2 SLOWKING
- ec_pokemon2 SLOWPOKE
- ec_move2 SLUDGE
- ec_move2 SLUDGE_BOMB
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 SLUGMA
- ec_pokemon2 SLUGMA
- ec_word SMACK
- ec_word SMALL
- ec_word SMART
- ec_word SMARTNESS
- ec_pokemon2 SMEARGLE
- ec_word SMELL
- ec_word SMELL_YA
- ec_move1 SMELLING_SALT
- ec_word SMITE
- ec_move1 SMOG
- ec_move1 SMOKESCREEN
- ec_pokemon2 SMOOCHUM
- ec_word SMOOTH
- ec_move2 SNATCH
- ec_pokemon2 SNEASEL
- ec_move1 SNORE
- ec_pokemon2 SNORLAX
- ec_word SNORT
- ec_pokemon1 SNORUNT
- ec_pokemon2 SNUBBULL
- ec_word SO
- ec_move2 SOFT_BOILED
- ec_word SOFTWARE
- ec_move1 SOLAR_BEAM
- ec_pokemon1 SOLROCK
- ec_word SOME
- ec_word SOMEHOW
- ec_word SOMEONE
- ec_word SOMETHING
- ec_word SOMETIME
- ec_word SON
- ec_word SONG
- ec_word SONGS
- ec_move1 SONIC_BOOM
- ec_word SOON
- ec_word SORRY
- ec_word SOUNDPROOF
- ec_word SP_ABILITY
- ec_move1 SPARK
- ec_pokemon2 SPEAROW
- ec_word SPECTATOR
- ec_word SPEED_BOOST
- ec_pokemon1 SPHEAL
- ec_move1 SPIDER_WEB
- ec_move2 SPIKE_CANNON
- ec_move2 SPIKES
- ec_pokemon2 SPINARAK
- ec_pokemon1 SPINDA
- ec_word SPIRALING
- ec_word SPIRIT
- ec_move2 SPIT_UP
- ec_move1 SPITE
- ec_move2 SPLASH
- ec_pokemon1 SPOINK
- ec_move1 SPORE
- ec_word SPORTS
- ec_word SPRING
- ec_pokemon2 SQUIRTLE
- ec_word STAGE
- ec_pokemon2 STANTLER
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 STARMIE
- ec_pokemon2 STARMIE
- ec_word START
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 STARYU
- ec_pokemon2 STARYU
- ec_word STATIC
- ec_word STAY_AT_HOME
- ec_word STEEL
- ec_move2 STEEL_WING
- ec_pokemon2 STEELIX
- ec_word STENCH
- ec_word STICKY_HOLD
- ec_move2 STOCKPILE
- ec_move2 STOMP
- ec_word STOP
- ec_word STORE
- ec_word STORES
- ec_word STORY
- ec_word STRATEGY
- ec_move1 STRENGTH
- ec_move1 STRING_SHOT
- ec_word STRONG
- ec_move2 STRUGGLE
- ec_word STUDY
- ec_move1 STUN_SPORE
- ec_word STURDY
- ec_move1 SUBMISSION
- ec_move2 SUBSTITUTE
- ec_word SUCTION_CUPS
- ec_pokemon2 SUDOWOODO
- ec_pokemon2 SUICUNE
- ec_word SUMMER
- ec_word SUNDAY
- ec_pokemon2 SUNFLORA
- ec_pokemon2 SUNKERN
- ec_move2 SUNNY_DAY
- ec_word SUPER
- ec_move1 SUPER_FANG
- ec_move2 SUPERPOWER
- ec_move2 SUPERSONIC
- ec_move2 SURF
- ec_word SURPRISE
- ec_word SURRENDER
- ec_pokemon1 SURSKIT
- ec_pokemon1 SWABLU
- ec_move1 SWAGGER
- ec_move2 SWALLOW
- ec_pokemon1 SWALOT
- ec_pokemon1 SWAMPERT
- ec_word SWARM
- ec_move2 SWEET_KISS
- ec_move1 SWEET_SCENT
- ec_word SWEETS
- ec_pokemon1 SWELLOW
- ec_move1 SWIFT
- ec_word SWIFT_SWIM
- ec_pokemon2 SWINUB
- ec_move2 SWORDS_DANCE
- ec_word SYNCHRONIZE
- ec_move1 SYNTHESIS
- ec_word SYSTEM
+ .2byte EC_POKEMON(SABLEYE)
+ .2byte EC_MOVE(SACRED_FIRE)
+ .2byte EC_WORD_SAD
+ .2byte EC_WORD_SADLY
+ .2byte EC_MOVE(SAFEGUARD)
+ .2byte EC_WORD_SAID
+ .2byte EC_POKEMON(SALAMENCE)
+ .2byte EC_WORD_SAND_STREAM
+ .2byte EC_MOVE(SAND_TOMB)
+ .2byte EC_WORD_SAND_VEIL
+ .2byte EC_MOVE(SAND_ATTACK)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(SANDSHREW)
+ .2byte EC_POKEMON2(SANDSHREW)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(SANDSLASH)
+ .2byte EC_POKEMON2(SANDSLASH)
+ .2byte EC_MOVE(SANDSTORM)
+ .2byte EC_WORD_SAPPHIRE
+ .2byte EC_WORD_SATISFIED
+ .2byte EC_WORD_SATURDAY
+ .2byte EC_WORD_SAYS
+ .2byte EC_WORD_SCARY
+ .2byte EC_MOVE(SCARY_FACE)
+ .2byte EC_WORD_SCATTER
+ .2byte EC_POKEMON(SCEPTILE)
+ .2byte EC_WORD_SCHOOL
+ .2byte EC_POKEMON2(SCIZOR)
+ .2byte EC_MOVE2(SCRATCH)
+ .2byte EC_MOVE(SCREECH)
+ .2byte EC_POKEMON2(SCYTHER)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(SEADRA)
+ .2byte EC_POKEMON2(SEADRA)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(SEAKING)
+ .2byte EC_POKEMON2(SEAKING)
+ .2byte EC_POKEMON(SEALEO)
+ .2byte EC_WORD_SEARCH
+ .2byte EC_WORD_SECRET
+ .2byte EC_WORD_SECRET_BASE
+ .2byte EC_MOVE2(SECRET_POWER)
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_SEE_YA
+ .2byte EC_POKEMON(SEEDOT)
+ .2byte EC_WORD_SEEK
+ .2byte EC_POKEMON2(SEEL)
+ .2byte EC_WORD_SEEMS
+ .2byte EC_WORD_SEES
+ .2byte EC_MOVE2(SEISMIC_TOSS)
+ .2byte EC_MOVE(SELF_DESTRUCT)
+ .2byte EC_WORD_SENSE
+ .2byte EC_POKEMON2(SENTRET)
+ .2byte EC_WORD_SERENE_GRACE
+ .2byte EC_WORD_SERIOUS
+ .2byte EC_WORD_SERIOUSLY
+ .2byte EC_WORD_SERVICE
+ .2byte EC_POKEMON(SEVIPER)
+ .2byte EC_MOVE(SHADOW_BALL)
+ .2byte EC_MOVE(SHADOW_PUNCH)
+ .2byte EC_WORD_SHADOW_TAG
+ .2byte EC_WORD_SHADY
+ .2byte EC_WORD_SHAKE
+ .2byte EC_WORD_SHAKY
+ .2byte EC_WORD_SHALLOW
+ .2byte EC_POKEMON(SHARPEDO)
+ .2byte EC_MOVE(SHARPEN)
+ .2byte EC_WORD_SHE
+ .2byte EC_WORD_SHE_IS
+ .2byte EC_WORD_SHE_WAS
+ .2byte EC_WORD_SHED_SKIN
+ .2byte EC_POKEMON(SHEDINJA)
+ .2byte EC_MOVE(SHEER_COLD)
+ .2byte EC_POKEMON(SHELGON)
+ .2byte EC_WORD_SHELL_ARMOR
+ .2byte EC_POKEMON2(SHELLDER)
+ .2byte EC_WORD_SHIELD_DUST
+ .2byte EC_POKEMON(SHIFTRY)
+ .2byte EC_WORD_SHINE
+ .2byte EC_MOVE2(SHOCK_WAVE)
+ .2byte EC_WORD_SHOCKED
+ .2byte EC_WORD_SHOPPING
+ .2byte EC_WORD_SHOULD
+ .2byte EC_WORD_SHOW
+ .2byte EC_WORD_SHREDDED
+ .2byte EC_POKEMON(SHROOMISH)
+ .2byte EC_POKEMON2(SHUCKLE)
+ .2byte EC_POKEMON(SHUPPET)
+ .2byte EC_WORD_SIBLINGS
+ .2byte EC_WORD_SIGH
+ .2byte EC_MOVE(SIGNAL_BEAM)
+ .2byte EC_POKEMON(SILCOON)
+ .2byte EC_WORD_SILKY
+ .2byte EC_WORD_SILVER
+ .2byte EC_MOVE(SILVER_WIND)
+ .2byte EC_WORD_SIMPLE
+ .2byte EC_WORD_SINCE
+ .2byte EC_MOVE(SING)
+ .2byte EC_WORD_SINK
+ .2byte EC_WORD_SISTER
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(SKARMORY)
+ .2byte EC_POKEMON2(SKARMORY)
+ .2byte EC_MOVE(SKETCH)
+ .2byte EC_WORD_SKILL
+ .2byte EC_MOVE(SKILL_SWAP)
+ .2byte EC_WORD_SKILLED
+ .2byte EC_POKEMON2(SKIPLOOM)
+ .2byte EC_POKEMON(SKITTY)
+ .2byte EC_MOVE2(SKULL_BASH)
+ .2byte EC_MOVE(SKY_ATTACK)
+ .2byte EC_MOVE(SKY_UPPERCUT)
+ .2byte EC_MOVE2(SLACK_OFF)
+ .2byte EC_POKEMON(SLAKING)
+ .2byte EC_POKEMON(SLAKOTH)
+ .2byte EC_MOVE2(SLAM)
+ .2byte EC_MOVE(SLASH)
+ .2byte EC_WORD_SLEEP
+ .2byte EC_MOVE2(SLEEP_POWDER)
+ .2byte EC_MOVE2(SLEEP_TALK)
+ .2byte EC_WORD_SLEPT
+ .2byte EC_WORD_SLIDE
+ .2byte EC_WORD_SLIMY
+ .2byte EC_POKEMON2(SLOWBRO)
+ .2byte EC_POKEMON2(SLOWKING)
+ .2byte EC_POKEMON2(SLOWPOKE)
+ .2byte EC_MOVE2(SLUDGE)
+ .2byte EC_MOVE2(SLUDGE_BOMB)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(SLUGMA)
+ .2byte EC_POKEMON2(SLUGMA)
+ .2byte EC_WORD_SMACK
+ .2byte EC_WORD_SMALL
+ .2byte EC_WORD_SMART
+ .2byte EC_WORD_SMARTNESS
+ .2byte EC_POKEMON2(SMEARGLE)
+ .2byte EC_WORD_SMELL
+ .2byte EC_WORD_SMELL_YA
+ .2byte EC_MOVE(SMELLING_SALT)
+ .2byte EC_WORD_SMITE
+ .2byte EC_MOVE(SMOG)
+ .2byte EC_MOVE(SMOKESCREEN)
+ .2byte EC_POKEMON2(SMOOCHUM)
+ .2byte EC_WORD_SMOOTH
+ .2byte EC_MOVE2(SNATCH)
+ .2byte EC_POKEMON2(SNEASEL)
+ .2byte EC_MOVE(SNORE)
+ .2byte EC_POKEMON2(SNORLAX)
+ .2byte EC_WORD_SNORT
+ .2byte EC_POKEMON(SNORUNT)
+ .2byte EC_POKEMON2(SNUBBULL)
+ .2byte EC_WORD_SO
+ .2byte EC_MOVE2(SOFT_BOILED)
+ .2byte EC_WORD_SOFTWARE
+ .2byte EC_MOVE(SOLAR_BEAM)
+ .2byte EC_POKEMON(SOLROCK)
+ .2byte EC_WORD_SOME
+ .2byte EC_WORD_SOMEHOW
+ .2byte EC_WORD_SOMEONE
+ .2byte EC_WORD_SOMETHING
+ .2byte EC_WORD_SOMETIME
+ .2byte EC_WORD_SON
+ .2byte EC_WORD_SONG
+ .2byte EC_WORD_SONGS
+ .2byte EC_MOVE(SONIC_BOOM)
+ .2byte EC_WORD_SOON
+ .2byte EC_WORD_SORRY
+ .2byte EC_WORD_SOUNDPROOF
+ .2byte EC_WORD_SP_ABILITY
+ .2byte EC_MOVE(SPARK)
+ .2byte EC_POKEMON2(SPEAROW)
+ .2byte EC_WORD_SPECTATOR
+ .2byte EC_WORD_SPEED_BOOST
+ .2byte EC_POKEMON(SPHEAL)
+ .2byte EC_MOVE(SPIDER_WEB)
+ .2byte EC_MOVE2(SPIKE_CANNON)
+ .2byte EC_MOVE2(SPIKES)
+ .2byte EC_POKEMON2(SPINARAK)
+ .2byte EC_POKEMON(SPINDA)
+ .2byte EC_WORD_SPIRALING
+ .2byte EC_WORD_SPIRIT
+ .2byte EC_MOVE2(SPIT_UP)
+ .2byte EC_MOVE(SPITE)
+ .2byte EC_MOVE2(SPLASH)
+ .2byte EC_POKEMON(SPOINK)
+ .2byte EC_MOVE(SPORE)
+ .2byte EC_WORD_SPORTS
+ .2byte EC_WORD_SPRING
+ .2byte EC_POKEMON2(SQUIRTLE)
+ .2byte EC_WORD_STAGE
+ .2byte EC_POKEMON2(STANTLER)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(STARMIE)
+ .2byte EC_POKEMON2(STARMIE)
+ .2byte EC_WORD_START
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(STARYU)
+ .2byte EC_POKEMON2(STARYU)
+ .2byte EC_WORD_STATIC
+ .2byte EC_WORD_STAY_AT_HOME
+ .2byte EC_WORD_STEEL
+ .2byte EC_MOVE2(STEEL_WING)
+ .2byte EC_POKEMON2(STEELIX)
+ .2byte EC_WORD_STENCH
+ .2byte EC_WORD_STICKY_HOLD
+ .2byte EC_MOVE2(STOCKPILE)
+ .2byte EC_MOVE2(STOMP)
+ .2byte EC_WORD_STOP
+ .2byte EC_WORD_STORE
+ .2byte EC_WORD_STORES
+ .2byte EC_WORD_STORY
+ .2byte EC_WORD_STRATEGY
+ .2byte EC_MOVE(STRENGTH)
+ .2byte EC_MOVE(STRING_SHOT)
+ .2byte EC_WORD_STRONG
+ .2byte EC_MOVE2(STRUGGLE)
+ .2byte EC_WORD_STUDY
+ .2byte EC_MOVE(STUN_SPORE)
+ .2byte EC_WORD_STURDY
+ .2byte EC_MOVE(SUBMISSION)
+ .2byte EC_MOVE2(SUBSTITUTE)
+ .2byte EC_WORD_SUCTION_CUPS
+ .2byte EC_POKEMON2(SUDOWOODO)
+ .2byte EC_POKEMON2(SUICUNE)
+ .2byte EC_WORD_SUMMER
+ .2byte EC_WORD_SUNDAY
+ .2byte EC_POKEMON2(SUNFLORA)
+ .2byte EC_POKEMON2(SUNKERN)
+ .2byte EC_MOVE2(SUNNY_DAY)
+ .2byte EC_WORD_SUPER
+ .2byte EC_MOVE(SUPER_FANG)
+ .2byte EC_MOVE2(SUPERPOWER)
+ .2byte EC_MOVE2(SUPERSONIC)
+ .2byte EC_MOVE2(SURF)
+ .2byte EC_WORD_SURPRISE
+ .2byte EC_WORD_SURRENDER
+ .2byte EC_POKEMON(SURSKIT)
+ .2byte EC_POKEMON(SWABLU)
+ .2byte EC_MOVE(SWAGGER)
+ .2byte EC_MOVE2(SWALLOW)
+ .2byte EC_POKEMON(SWALOT)
+ .2byte EC_POKEMON(SWAMPERT)
+ .2byte EC_WORD_SWARM
+ .2byte EC_MOVE2(SWEET_KISS)
+ .2byte EC_MOVE(SWEET_SCENT)
+ .2byte EC_WORD_SWEETS
+ .2byte EC_POKEMON(SWELLOW)
+ .2byte EC_MOVE(SWIFT)
+ .2byte EC_WORD_SWIFT_SWIM
+ .2byte EC_POKEMON2(SWINUB)
+ .2byte EC_MOVE2(SWORDS_DANCE)
+ .2byte EC_WORD_SYNCHRONIZE
+ .2byte EC_MOVE(SYNTHESIS)
+ .2byte EC_WORD_SYSTEM
gEasyChatWordsByLetter_T:: @ 859DD5A
- ec_move2 TACKLE
- ec_move2 TAIL_GLOW
- ec_move1 TAIL_WHIP
- ec_pokemon1 TAILLOW
- ec_word TAKE
- ec_move2 TAKE_DOWN
- ec_word TAKE_THAT
- ec_word TALENT
- ec_word TALK
- ec_word TALKING
- ec_pokemon2 TANGELA
- ec_word TASTY
- ec_move2 TAUNT
- ec_pokemon2 TAUROS
- ec_word TCH
- ec_word TEACH
- ec_word TEACHER
- ec_word TEACHES
- ec_pokemon2 TEDDIURSA
- ec_move2 TEETER_DANCE
- ec_move2 TELEPORT
- ec_word TELEVISION
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 TENTACOOL
- ec_pokemon2 TENTACOOL
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 TENTACRUEL
- ec_pokemon2 TENTACRUEL
- ec_word TERRIBLE
- ec_word TEST
- ec_word THAN
- ec_word THANK_YOU
- ec_word THANKS
- ec_word THAT
- ec_word THAT_WAS
- ec_word THAT_S
- ec_word THAT_S_IT_EXCL
- ec_word THE
- ec_word THEIR
- ec_word THERE
- ec_word THESE
- ec_word THESE_WERE
- ec_word THEY
- ec_word THEY_WERE
- ec_word THEY_RE
- ec_word THEY_VE
- ec_word THICK
- ec_word THICK_FAT
- ec_move2 THIEF
- ec_word THIN
- ec_word THING
- ec_word THINGS
- ec_word THINK
- ec_word THINKS
- ec_word THIRSTY
- ec_word THIS
- ec_word THIS_IS_IT_EXCL
- ec_word THOSE
- ec_word THOSE_ARE
- ec_word THOSE_WERE
- ec_move1 THRASH
- ec_word THROW
- ec_move1 THUNDER
- ec_move2 THUNDER_WAVE
- ec_move1 THUNDERBOLT
- ec_move1 THUNDER_PUNCH
- ec_move2 THUNDER_SHOCK
- ec_word THURSDAY
- ec_move1 TICKLE
- ec_word TICKLISH
- ec_word TIGHT
- ec_word TIME
- ec_word TIMES
- ec_word TIRED
- ec_word TO
- ec_word TO_HER
- ec_word TO_ME
- ec_word TO_THEM
- ec_word TO_US
- ec_word TO_WHOM
- ec_word TODAY
- ec_pokemon2 TOGEPI
- ec_word TOGETHER
- ec_pokemon2 TOGETIC
- ec_word TOMORROW
- ec_word TOO
- ec_word TOO_LATE
- ec_word TOO_STRONG
- ec_word TOO_WEAK
- ec_word TOP
- ec_pokemon1 TORCHIC
- ec_pokemon1 TORKOAL
- ec_move1 TORMENT
- ec_word TORRENT
- ec_word TOTALLY
- ec_pokemon2 TOTODILE
- ec_word TOUGH
- ec_word TOUGHNESS
- ec_word TOURNAMENT
- ec_word TOWER
- ec_move2 TOXIC
- ec_word TOYS
- ec_word TRACE
- ec_word TRADE
- ec_word TRAIN
- ec_word TRAINER
- ec_word TRAINS
- ec_move2 TRANSFORM
- ec_pokemon1 TRAPINCH
- ec_word TRAVEL
- ec_word TREASURE
- ec_pokemon1 TREECKO
- ec_word TRENDY
- ec_move2 TRI_ATTACK
- ec_move2 TRICK
- ec_word TRIES
- ec_move2 TRIPLE_KICK
- ec_pokemon1 TROPIUS
- ec_word TRUANT
- ec_word TRULY
- ec_word TRUMP_CARD
- ec_word TRUST
- ec_word TRY
- ec_word TUESDAY
- ec_move2 TWINEEDLE
- ec_word TWIRLING
- ec_move2 TWISTER
- ec_word TYPE
- ec_pokemon2 TYPHLOSION
- ec_pokemon2 TYRANITAR
- ec_pokemon2 TYROGUE
+ .2byte EC_MOVE2(TACKLE)
+ .2byte EC_MOVE2(TAIL_GLOW)
+ .2byte EC_MOVE(TAIL_WHIP)
+ .2byte EC_POKEMON(TAILLOW)
+ .2byte EC_WORD_TAKE
+ .2byte EC_MOVE2(TAKE_DOWN)
+ .2byte EC_WORD_TAKE_THAT
+ .2byte EC_WORD_TALENT
+ .2byte EC_WORD_TALK
+ .2byte EC_WORD_TALKING
+ .2byte EC_POKEMON2(TANGELA)
+ .2byte EC_WORD_TASTY
+ .2byte EC_MOVE2(TAUNT)
+ .2byte EC_POKEMON2(TAUROS)
+ .2byte EC_WORD_TCH
+ .2byte EC_WORD_TEACH
+ .2byte EC_WORD_TEACHER
+ .2byte EC_WORD_TEACHES
+ .2byte EC_POKEMON2(TEDDIURSA)
+ .2byte EC_MOVE2(TEETER_DANCE)
+ .2byte EC_MOVE2(TELEPORT)
+ .2byte EC_WORD_TELEVISION
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(TENTACOOL)
+ .2byte EC_POKEMON2(TENTACOOL)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(TENTACRUEL)
+ .2byte EC_POKEMON2(TENTACRUEL)
+ .2byte EC_WORD_TERRIBLE
+ .2byte EC_WORD_TEST
+ .2byte EC_WORD_THAN
+ .2byte EC_WORD_THANK_YOU
+ .2byte EC_WORD_THANKS
+ .2byte EC_WORD_THAT
+ .2byte EC_WORD_THAT_WAS
+ .2byte EC_WORD_THAT_S
+ .2byte EC_WORD_THAT_S_IT_EXCL
+ .2byte EC_WORD_THE
+ .2byte EC_WORD_THEIR
+ .2byte EC_WORD_THERE
+ .2byte EC_WORD_THESE
+ .2byte EC_WORD_THESE_WERE
+ .2byte EC_WORD_THEY
+ .2byte EC_WORD_THEY_WERE
+ .2byte EC_WORD_THEY_RE
+ .2byte EC_WORD_THEY_VE
+ .2byte EC_WORD_THICK
+ .2byte EC_WORD_THICK_FAT
+ .2byte EC_MOVE2(THIEF)
+ .2byte EC_WORD_THIN
+ .2byte EC_WORD_THING
+ .2byte EC_WORD_THINGS
+ .2byte EC_WORD_THINK
+ .2byte EC_WORD_THINKS
+ .2byte EC_WORD_THIRSTY
+ .2byte EC_WORD_THIS
+ .2byte EC_WORD_THIS_IS_IT_EXCL
+ .2byte EC_WORD_THOSE
+ .2byte EC_WORD_THOSE_ARE
+ .2byte EC_WORD_THOSE_WERE
+ .2byte EC_MOVE(THRASH)
+ .2byte EC_WORD_THROW
+ .2byte EC_MOVE(THUNDER)
+ .2byte EC_MOVE2(THUNDER_WAVE)
+ .2byte EC_MOVE(THUNDERBOLT)
+ .2byte EC_MOVE(THUNDER_PUNCH)
+ .2byte EC_MOVE2(THUNDER_SHOCK)
+ .2byte EC_WORD_THURSDAY
+ .2byte EC_MOVE(TICKLE)
+ .2byte EC_WORD_TICKLISH
+ .2byte EC_WORD_TIGHT
+ .2byte EC_WORD_TIME
+ .2byte EC_WORD_TIMES
+ .2byte EC_WORD_TIRED
+ .2byte EC_WORD_TO
+ .2byte EC_WORD_TO_HER
+ .2byte EC_WORD_TO_ME
+ .2byte EC_WORD_TO_THEM
+ .2byte EC_WORD_TO_US
+ .2byte EC_WORD_TO_WHOM
+ .2byte EC_WORD_TODAY
+ .2byte EC_POKEMON2(TOGEPI)
+ .2byte EC_WORD_TOGETHER
+ .2byte EC_POKEMON2(TOGETIC)
+ .2byte EC_WORD_TOMORROW
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_TOO_LATE
+ .2byte EC_WORD_TOO_STRONG
+ .2byte EC_WORD_TOO_WEAK
+ .2byte EC_WORD_TOP
+ .2byte EC_POKEMON(TORCHIC)
+ .2byte EC_POKEMON(TORKOAL)
+ .2byte EC_MOVE(TORMENT)
+ .2byte EC_WORD_TORRENT
+ .2byte EC_WORD_TOTALLY
+ .2byte EC_POKEMON2(TOTODILE)
+ .2byte EC_WORD_TOUGH
+ .2byte EC_WORD_TOUGHNESS
+ .2byte EC_WORD_TOURNAMENT
+ .2byte EC_WORD_TOWER
+ .2byte EC_MOVE2(TOXIC)
+ .2byte EC_WORD_TOYS
+ .2byte EC_WORD_TRACE
+ .2byte EC_WORD_TRADE
+ .2byte EC_WORD_TRAIN
+ .2byte EC_WORD_TRAINER
+ .2byte EC_WORD_TRAINS
+ .2byte EC_MOVE2(TRANSFORM)
+ .2byte EC_POKEMON(TRAPINCH)
+ .2byte EC_WORD_TRAVEL
+ .2byte EC_WORD_TREASURE
+ .2byte EC_POKEMON(TREECKO)
+ .2byte EC_WORD_TRENDY
+ .2byte EC_MOVE2(TRI_ATTACK)
+ .2byte EC_MOVE2(TRICK)
+ .2byte EC_WORD_TRIES
+ .2byte EC_MOVE2(TRIPLE_KICK)
+ .2byte EC_POKEMON(TROPIUS)
+ .2byte EC_WORD_TRUANT
+ .2byte EC_WORD_TRULY
+ .2byte EC_WORD_TRUMP_CARD
+ .2byte EC_WORD_TRUST
+ .2byte EC_WORD_TRY
+ .2byte EC_WORD_TUESDAY
+ .2byte EC_MOVE2(TWINEEDLE)
+ .2byte EC_WORD_TWIRLING
+ .2byte EC_MOVE2(TWISTER)
+ .2byte EC_WORD_TYPE
+ .2byte EC_POKEMON2(TYPHLOSION)
+ .2byte EC_POKEMON2(TYRANITAR)
+ .2byte EC_POKEMON2(TYROGUE)
gEasyChatWordsByLetter_U:: @ 859DE64
- ec_word UGLY
- ec_word UH_HUH
- ec_word UH_OH
- ec_word UM
- ec_pokemon2 UMBREON
- ec_word UNAVOIDABLE
- ec_word UNBELIEVABLE
- ec_word UNCLE
- ec_word UNDERSTAND
- ec_word UNDERSTANDS
- ec_word UNDERSTOOD
- ec_word UNION
- ec_pokemon2 UNOWN
- ec_word UNTIL
- ec_word UP
- ec_word UPBEAT
- ec_move1 UPROAR
- ec_word UPSIDE_DOWN
- ec_word URGH
- ec_pokemon2 URSARING
- ec_word USE
- ec_word USELESS
- ec_word USES
- ec_word USING
+ .2byte EC_WORD_UGLY
+ .2byte EC_WORD_UH_HUH
+ .2byte EC_WORD_UH_OH
+ .2byte EC_WORD_UM
+ .2byte EC_POKEMON2(UMBREON)
+ .2byte EC_WORD_UNAVOIDABLE
+ .2byte EC_WORD_UNBELIEVABLE
+ .2byte EC_WORD_UNCLE
+ .2byte EC_WORD_UNDERSTAND
+ .2byte EC_WORD_UNDERSTANDS
+ .2byte EC_WORD_UNDERSTOOD
+ .2byte EC_WORD_UNION
+ .2byte EC_POKEMON2(UNOWN)
+ .2byte EC_WORD_UNTIL
+ .2byte EC_WORD_UP
+ .2byte EC_WORD_UPBEAT
+ .2byte EC_MOVE(UPROAR)
+ .2byte EC_WORD_UPSIDE_DOWN
+ .2byte EC_WORD_URGH
+ .2byte EC_POKEMON2(URSARING)
+ .2byte EC_WORD_USE
+ .2byte EC_WORD_USELESS
+ .2byte EC_WORD_USES
+ .2byte EC_WORD_USING
gEasyChatWordsByLetter_V:: @ 859DE94
- ec_word VACATION
- ec_pokemon2 VAPOREON
- ec_pokemon2 VENOMOTH
- ec_pokemon2 VENONAT
- ec_pokemon2 VENUSAUR
- ec_word VERSION
- ec_word VERSUS
- ec_word VERY
- ec_pokemon1 VIBRAVA
- ec_move2 VICE_GRIP
- ec_word VICTORY
- ec_pokemon2 VICTREEBEL
- ec_word VIEWING
- ec_pokemon1 VIGOROTH
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 VILEPLUME
- ec_pokemon2 VILEPLUME
- ec_move2 VINE_WHIP
- ec_word VITAL_SPIRIT
- ec_move1 VITAL_THROW
- ec_pokemon1 VOLBEAT
- ec_word VOLT_ABSORB
- ec_move2 VOLT_TACKLE
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 VOLTORB
- ec_pokemon2 VOLTORB
- ec_word VORACIOUS
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 VULPIX
- ec_pokemon2 VULPIX
+ .2byte EC_WORD_VACATION
+ .2byte EC_POKEMON2(VAPOREON)
+ .2byte EC_POKEMON2(VENOMOTH)
+ .2byte EC_POKEMON2(VENONAT)
+ .2byte EC_POKEMON2(VENUSAUR)
+ .2byte EC_WORD_VERSION
+ .2byte EC_WORD_VERSUS
+ .2byte EC_WORD_VERY
+ .2byte EC_POKEMON(VIBRAVA)
+ .2byte EC_MOVE2(VICE_GRIP)
+ .2byte EC_WORD_VICTORY
+ .2byte EC_POKEMON2(VICTREEBEL)
+ .2byte EC_WORD_VIEWING
+ .2byte EC_POKEMON(VIGOROTH)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(VILEPLUME)
+ .2byte EC_POKEMON2(VILEPLUME)
+ .2byte EC_MOVE2(VINE_WHIP)
+ .2byte EC_WORD_VITAL_SPIRIT
+ .2byte EC_MOVE(VITAL_THROW)
+ .2byte EC_POKEMON(VOLBEAT)
+ .2byte EC_WORD_VOLT_ABSORB
+ .2byte EC_MOVE2(VOLT_TACKLE)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(VOLTORB)
+ .2byte EC_POKEMON2(VOLTORB)
+ .2byte EC_WORD_VORACIOUS
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(VULPIX)
+ .2byte EC_POKEMON2(VULPIX)
gEasyChatWordsByLetter_W:: @ 859DED6
- ec_word WAAAH
- ec_word WAHAHAHA
- ec_pokemon1 WAILMER
- ec_pokemon1 WAILORD
- ec_word WAIT
- ec_word WAKE_UP
- ec_word WAKES_UP
- ec_word WALK
- ec_word WALKING
- ec_word WALKS
- ec_pokemon1 WALREIN
- ec_word WANDERING
- ec_word WANNABE
- ec_word WANT
- ec_word WANTS
- ec_pokemon2 WARTORTLE
- ec_word WAS
- ec_word WASN_T
- ec_word WATER
- ec_word WATER_ABSORB
- ec_move2 WATER_GUN
- ec_move2 WATER_PULSE
- ec_move2 WATER_SPORT
- ec_move1 WATER_SPOUT
- ec_word WATER_VEIL
- ec_move2 WATERFALL
- ec_word WAY
- ec_word WE
- ec_word WE_RE
- ec_word WE_VE
- ec_word WEAK
- ec_word WEAKENED
- ec_move1 WEATHER_BALL
- ec_word WEDNESDAY
- ec_pokemon2 WEEDLE
- ec_word WEEK
- ec_pokemon2 WEEPINBELL
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 WEEZING
- ec_pokemon2 WEEZING
- ec_word WEIRD
- ec_word WELCOME
- ec_word WELL
- ec_word WELL_THEN
- ec_word WENT
- ec_word WERE
- ec_word WEREN_T
- ec_word WHAT
- ec_word WHAT_S_UP_QUES
- ec_word WHEN
- ec_word WHEN_I_WIN
- ec_word WHERE
- ec_word WHICH
- ec_word WHILE
- ec_move1 WHIRLPOOL
- ec_move2 WHIRLWIND
- ec_pokemon1 WHISCASH
- ec_pokemon1 WHISMUR
- ec_word WHITE_SMOKE
- ec_word WHO
- ec_word WHO_IS
- ec_word WHO_WAS
- ec_word WHOAH
- ec_word WHOM
- ec_word WHOSE
- ec_word WHY
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 WIGGLYTUFF
- ec_pokemon2 WIGGLYTUFF
- ec_word WILD
- ec_word WILL
- ec_word WILL_BE_HERE
- ec_move1 WILL_O_WISP
- ec_word WIMPY
- ec_word WIN
- ec_move2 WING_ATTACK
- ec_pokemon1 WINGULL
- ec_word WINNER
- ec_word WINS
- ec_word WINTER
- ec_word WIRELESS
- ec_move2 WISH
- ec_word WITH
- ec_move1 WITHDRAW
- ec_word WITHOUT
- ec_word WOBBLY
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 WOBBUFFET
- ec_pokemon2 WOBBUFFET
- ec_word WOMAN
- ec_word WON
- ec_word WON_T
- ec_word WONDER
- ec_word WONDER_GUARD
- ec_pokemon2 WOOPER
- ec_word WORD
- ec_word WORK
- ec_word WORKING
- ec_word WORKS
- ec_word WORLD
- ec_word WORRY
- ec_word WOULD
- ec_word WOW
- ec_word WOWEE
- ec_move2 WRAP
- ec_word WROOOAAR_EXCL
- ec_pokemon1 WURMPLE
- ec_pokemon1 WYNAUT
+ .2byte EC_WORD_WAAAH
+ .2byte EC_WORD_WAHAHAHA
+ .2byte EC_POKEMON(WAILMER)
+ .2byte EC_POKEMON(WAILORD)
+ .2byte EC_WORD_WAIT
+ .2byte EC_WORD_WAKE_UP
+ .2byte EC_WORD_WAKES_UP
+ .2byte EC_WORD_WALK
+ .2byte EC_WORD_WALKING
+ .2byte EC_WORD_WALKS
+ .2byte EC_POKEMON(WALREIN)
+ .2byte EC_WORD_WANDERING
+ .2byte EC_WORD_WANNABE
+ .2byte EC_WORD_WANT
+ .2byte EC_WORD_WANTS
+ .2byte EC_POKEMON2(WARTORTLE)
+ .2byte EC_WORD_WAS
+ .2byte EC_WORD_WASN_T
+ .2byte EC_WORD_WATER
+ .2byte EC_WORD_WATER_ABSORB
+ .2byte EC_MOVE2(WATER_GUN)
+ .2byte EC_MOVE2(WATER_PULSE)
+ .2byte EC_MOVE2(WATER_SPORT)
+ .2byte EC_MOVE(WATER_SPOUT)
+ .2byte EC_WORD_WATER_VEIL
+ .2byte EC_MOVE2(WATERFALL)
+ .2byte EC_WORD_WAY
+ .2byte EC_WORD_WE
+ .2byte EC_WORD_WE_RE
+ .2byte EC_WORD_WE_VE
+ .2byte EC_WORD_WEAK
+ .2byte EC_WORD_WEAKENED
+ .2byte EC_MOVE(WEATHER_BALL)
+ .2byte EC_WORD_WEDNESDAY
+ .2byte EC_POKEMON2(WEEDLE)
+ .2byte EC_WORD_WEEK
+ .2byte EC_POKEMON2(WEEPINBELL)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(WEEZING)
+ .2byte EC_POKEMON2(WEEZING)
+ .2byte EC_WORD_WEIRD
+ .2byte EC_WORD_WELCOME
+ .2byte EC_WORD_WELL
+ .2byte EC_WORD_WELL_THEN
+ .2byte EC_WORD_WENT
+ .2byte EC_WORD_WERE
+ .2byte EC_WORD_WEREN_T
+ .2byte EC_WORD_WHAT
+ .2byte EC_WORD_WHAT_S_UP_QUES
+ .2byte EC_WORD_WHEN
+ .2byte EC_WORD_WHEN_I_WIN
+ .2byte EC_WORD_WHERE
+ .2byte EC_WORD_WHICH
+ .2byte EC_WORD_WHILE
+ .2byte EC_MOVE(WHIRLPOOL)
+ .2byte EC_MOVE2(WHIRLWIND)
+ .2byte EC_POKEMON(WHISCASH)
+ .2byte EC_POKEMON(WHISMUR)
+ .2byte EC_WORD_WHITE_SMOKE
+ .2byte EC_WORD_WHO
+ .2byte EC_WORD_WHO_IS
+ .2byte EC_WORD_WHO_WAS
+ .2byte EC_WORD_WHOAH
+ .2byte EC_WORD_WHOM
+ .2byte EC_WORD_WHOSE
+ .2byte EC_WORD_WHY
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(WIGGLYTUFF)
+ .2byte EC_POKEMON2(WIGGLYTUFF)
+ .2byte EC_WORD_WILD
+ .2byte EC_WORD_WILL
+ .2byte EC_WORD_WILL_BE_HERE
+ .2byte EC_MOVE(WILL_O_WISP)
+ .2byte EC_WORD_WIMPY
+ .2byte EC_WORD_WIN
+ .2byte EC_MOVE2(WING_ATTACK)
+ .2byte EC_POKEMON(WINGULL)
+ .2byte EC_WORD_WINNER
+ .2byte EC_WORD_WINS
+ .2byte EC_WORD_WINTER
+ .2byte EC_WORD_WIRELESS
+ .2byte EC_MOVE2(WISH)
+ .2byte EC_WORD_WITH
+ .2byte EC_MOVE(WITHDRAW)
+ .2byte EC_WORD_WITHOUT
+ .2byte EC_WORD_WOBBLY
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON(WOBBUFFET)
+ .2byte EC_POKEMON2(WOBBUFFET)
+ .2byte EC_WORD_WOMAN
+ .2byte EC_WORD_WON
+ .2byte EC_WORD_WON_T
+ .2byte EC_WORD_WONDER
+ .2byte EC_WORD_WONDER_GUARD
+ .2byte EC_POKEMON2(WOOPER)
+ .2byte EC_WORD_WORD
+ .2byte EC_WORD_WORK
+ .2byte EC_WORD_WORKING
+ .2byte EC_WORD_WORKS
+ .2byte EC_WORD_WORLD
+ .2byte EC_WORD_WORRY
+ .2byte EC_WORD_WOULD
+ .2byte EC_WORD_WOW
+ .2byte EC_WORD_WOWEE
+ .2byte EC_MOVE2(WRAP)
+ .2byte EC_WORD_WROOOAAR_EXCL
+ .2byte EC_POKEMON(WURMPLE)
+ .2byte EC_POKEMON(WYNAUT)
gEasyChatWordsByLetter_X:: @ 859DFB4
.2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 XATU
- ec_pokemon2 XATU
+ .2byte EC_POKEMON(XATU)
+ .2byte EC_POKEMON2(XATU)
gEasyChatWordsByLetter_Y:: @ 859DFBC
- ec_word YAHOO
- ec_pokemon2 YANMA
- ec_move1 YAWN
- ec_word YAY
- ec_word YEAH
- ec_word YEAH_YEAH
- ec_word YEEHAW_EXCL
- ec_word YES
- ec_word YES_SIR_EXCL
- ec_word YESTERDAY
- ec_word YET
- ec_word YO
- ec_word YOU
- ec_word YOU_RE
- ec_word YOU_VE
- ec_word YOUNG
- ec_word YOUR
- ec_word YOURS
- ec_word YUP
+ .2byte EC_WORD_YAHOO
+ .2byte EC_POKEMON2(YANMA)
+ .2byte EC_MOVE(YAWN)
+ .2byte EC_WORD_YAY
+ .2byte EC_WORD_YEAH
+ .2byte EC_WORD_YEAH_YEAH
+ .2byte EC_WORD_YEEHAW_EXCL
+ .2byte EC_WORD_YES
+ .2byte EC_WORD_YES_SIR_EXCL
+ .2byte EC_WORD_YESTERDAY
+ .2byte EC_WORD_YET
+ .2byte EC_WORD_YO
+ .2byte EC_WORD_YOU
+ .2byte EC_WORD_YOU_RE
+ .2byte EC_WORD_YOU_VE
+ .2byte EC_WORD_YOUNG
+ .2byte EC_WORD_YOUR
+ .2byte EC_WORD_YOURS
+ .2byte EC_WORD_YUP
gEasyChatWordsByLetter_Z:: @ 859DFE2
- ec_pokemon1 ZANGOOSE
- ec_move2 ZAP_CANNON
- ec_pokemon2 ZAPDOS
- ec_pokemon1 ZIGZAGOON
+ .2byte EC_POKEMON(ZANGOOSE)
+ .2byte EC_MOVE2(ZAP_CANNON)
+ .2byte EC_POKEMON2(ZAPDOS)
+ .2byte EC_POKEMON(ZIGZAGOON)
.2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon1 ZUBAT
- ec_pokemon2 ZUBAT
+ .2byte EC_POKEMON(ZUBAT)
+ .2byte EC_POKEMON2(ZUBAT)
gEasyChatWordsByLetter_UnusedJapaneseHi:: @ 859DFF2
- ec_pokemon2 CLEFFA
- ec_word AIYEEH
- ec_pokemon2 WEEDLE
- ec_word HERO
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 PIKACHU
- ec_pokemon1 PIKACHU
- ec_move2 LIGHT_SCREEN
- ec_word SHINE
- ec_word LOW
- ec_pokemon2 CLEFABLE
- ec_word FLYING
- ec_pokemon2 PIDGEOT
- ec_pokemon2 PIDGEOTTO
- ec_word LEFT
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 PICHU
- ec_pokemon1 PICHU
- ec_move2 SCRATCH
- ec_word SURPRISE
- ec_move2 HYPER_FANG
- ec_pokemon2 CLEFAIRY
- ec_word DROUGHT
- ec_word HIDDEN
- ec_word PERSON
- ec_word AWFUL
- ec_pokemon2 CHARMANDER
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 STARYU
- ec_pokemon1 STARYU
- ec_word ALONE
- ec_pokemon2 CYNDAQUIL
- ec_move2 EMBER
- ec_pokemon1 VIBRAVA
- ec_word BORED
- ec_pokemon2 SUNKERN
- ec_word SECRET
- ec_word SECRET_BASE
- ec_move2 SECRET_POWER
- ec_pokemon2 TEDDIURSA
- ec_word HIYAH
- ec_move2 DIZZY_PUNCH
- ec_word LIGHTNINGROD
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 VOLTORB
- ec_pokemon1 VOLTORB
- ec_word DAYTIME
- ec_move2 BULK_UP
- ec_word NAP
- ec_word HEROINE
- ec_pokemon1 FEEBAS
+ .2byte EC_POKEMON2(CLEFFA)
+ .2byte EC_WORD_AIYEEH
+ .2byte EC_POKEMON2(WEEDLE)
+ .2byte EC_WORD_HERO
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(PIKACHU)
+ .2byte EC_POKEMON(PIKACHU)
+ .2byte EC_MOVE2(LIGHT_SCREEN)
+ .2byte EC_WORD_SHINE
+ .2byte EC_WORD_LOW
+ .2byte EC_POKEMON2(CLEFABLE)
+ .2byte EC_WORD_FLYING
+ .2byte EC_POKEMON2(PIDGEOT)
+ .2byte EC_POKEMON2(PIDGEOTTO)
+ .2byte EC_WORD_LEFT
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(PICHU)
+ .2byte EC_POKEMON(PICHU)
+ .2byte EC_MOVE2(SCRATCH)
+ .2byte EC_WORD_SURPRISE
+ .2byte EC_MOVE2(HYPER_FANG)
+ .2byte EC_POKEMON2(CLEFAIRY)
+ .2byte EC_WORD_DROUGHT
+ .2byte EC_WORD_HIDDEN
+ .2byte EC_WORD_PERSON
+ .2byte EC_WORD_AWFUL
+ .2byte EC_POKEMON2(CHARMANDER)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(STARYU)
+ .2byte EC_POKEMON(STARYU)
+ .2byte EC_WORD_ALONE
+ .2byte EC_POKEMON2(CYNDAQUIL)
+ .2byte EC_MOVE2(EMBER)
+ .2byte EC_POKEMON(VIBRAVA)
+ .2byte EC_WORD_BORED
+ .2byte EC_POKEMON2(SUNKERN)
+ .2byte EC_WORD_SECRET
+ .2byte EC_WORD_SECRET_BASE
+ .2byte EC_MOVE2(SECRET_POWER)
+ .2byte EC_POKEMON2(TEDDIURSA)
+ .2byte EC_WORD_HIYAH
+ .2byte EC_MOVE2(DIZZY_PUNCH)
+ .2byte EC_WORD_LIGHTNINGROD
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(VOLTORB)
+ .2byte EC_POKEMON(VOLTORB)
+ .2byte EC_WORD_DAYTIME
+ .2byte EC_MOVE2(BULK_UP)
+ .2byte EC_WORD_NAP
+ .2byte EC_WORD_HEROINE
+ .2byte EC_POKEMON(FEEBAS)
gEasyChatWordsByLetter_UnusedJapaneseFu:: @ 859E060
- ec_word FIGHT
- ec_pokemon2 MOLTRES
- ec_word FASHION
- ec_word FEAR
- ec_word FEVER
- ec_move2 IMPRISON
- ec_pokemon2 FLAREON
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 ALAKAZAM
- ec_pokemon1 ALAKAZAM
- ec_pokemon2 MAGMAR
- ec_pokemon1 GRUMPIG
- ec_move2 FEATHER_DANCE
- ec_pokemon2 FORRETRESS
- ec_move2 WHIRLWIND
- ec_word COMPOUNDEYES
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 WIGGLYTUFF
- ec_pokemon1 WIGGLYTUFF
- ec_move2 BEAT_UP
- ec_word MYSTERY
- ec_pokemon2 IVYSAUR
- ec_pokemon2 BULBASAUR
- ec_word MARVEL_SCALE
- ec_word WONDER_GUARD
- ec_pokemon2 VENUSAUR
- ec_word LACKS
- ec_word RESUSCITATE
- ec_word SMACK
- ec_word FUFUFU
- ec_pokemon2 AERODACTYL
- ec_word WIMPY
- ec_pokemon2 MAGBY
- ec_word LOL
- ec_move2 BLIZZARD
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 IGGLYBUFF
- ec_pokemon1 IGGLYBUFF
- ec_word SNORT
- ec_move2 STOMP
- ec_word INSOMNIA
- ec_word WINTER
- ec_word LEVITATE
- ec_pokemon1 FLYGON
- ec_word PLUS
- ec_move2 BLAST_BURN
- ec_pokemon1 PLUSLE
- ec_pokemon2 UMBREON
- ec_move2 FLASH
- ec_word WOBBLY
- ec_move2 TEETER_DANCE
- ec_word PRETEND
- ec_pokemon2 ARTICUNO
- ec_word WANNABE
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 JIGGLYPUFF
- ec_pokemon1 JIGGLYPUFF
- ec_pokemon2 SNUBBULL
- ec_word SHAKY
- ec_move2 CRUSH_CLAW
- ec_move2 BLAZE_KICK
- ec_move2 PRESENT
- ec_word PRESSURE
- ec_word BLEND
- ec_word FRONTIER
- ec_word HUMPH
- ec_move2 ERUPTION
+ .2byte EC_WORD_FIGHT
+ .2byte EC_POKEMON2(MOLTRES)
+ .2byte EC_WORD_FASHION
+ .2byte EC_WORD_FEAR
+ .2byte EC_WORD_FEVER
+ .2byte EC_MOVE2(IMPRISON)
+ .2byte EC_POKEMON2(FLAREON)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(ALAKAZAM)
+ .2byte EC_POKEMON(ALAKAZAM)
+ .2byte EC_POKEMON2(MAGMAR)
+ .2byte EC_POKEMON(GRUMPIG)
+ .2byte EC_MOVE2(FEATHER_DANCE)
+ .2byte EC_POKEMON2(FORRETRESS)
+ .2byte EC_MOVE2(WHIRLWIND)
+ .2byte EC_WORD_COMPOUNDEYES
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(WIGGLYTUFF)
+ .2byte EC_POKEMON(WIGGLYTUFF)
+ .2byte EC_MOVE2(BEAT_UP)
+ .2byte EC_WORD_MYSTERY
+ .2byte EC_POKEMON2(IVYSAUR)
+ .2byte EC_POKEMON2(BULBASAUR)
+ .2byte EC_WORD_MARVEL_SCALE
+ .2byte EC_WORD_WONDER_GUARD
+ .2byte EC_POKEMON2(VENUSAUR)
+ .2byte EC_WORD_LACKS
+ .2byte EC_WORD_RESUSCITATE
+ .2byte EC_WORD_SMACK
+ .2byte EC_WORD_FUFUFU
+ .2byte EC_POKEMON2(AERODACTYL)
+ .2byte EC_WORD_WIMPY
+ .2byte EC_POKEMON2(MAGBY)
+ .2byte EC_WORD_LOL
+ .2byte EC_MOVE2(BLIZZARD)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(IGGLYBUFF)
+ .2byte EC_POKEMON(IGGLYBUFF)
+ .2byte EC_WORD_SNORT
+ .2byte EC_MOVE2(STOMP)
+ .2byte EC_WORD_INSOMNIA
+ .2byte EC_WORD_WINTER
+ .2byte EC_WORD_LEVITATE
+ .2byte EC_POKEMON(FLYGON)
+ .2byte EC_WORD_PLUS
+ .2byte EC_MOVE2(BLAST_BURN)
+ .2byte EC_POKEMON(PLUSLE)
+ .2byte EC_POKEMON2(UMBREON)
+ .2byte EC_MOVE2(FLASH)
+ .2byte EC_WORD_WOBBLY
+ .2byte EC_MOVE2(TEETER_DANCE)
+ .2byte EC_WORD_PRETEND
+ .2byte EC_POKEMON2(ARTICUNO)
+ .2byte EC_WORD_WANNABE
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(JIGGLYPUFF)
+ .2byte EC_POKEMON(JIGGLYPUFF)
+ .2byte EC_POKEMON2(SNUBBULL)
+ .2byte EC_WORD_SHAKY
+ .2byte EC_MOVE2(CRUSH_CLAW)
+ .2byte EC_MOVE2(BLAZE_KICK)
+ .2byte EC_MOVE2(PRESENT)
+ .2byte EC_WORD_PRESSURE
+ .2byte EC_WORD_BLEND
+ .2byte EC_WORD_FRONTIER
+ .2byte EC_WORD_HUMPH
+ .2byte EC_MOVE2(ERUPTION)
gEasyChatWordsByLetter_UnusedJapaneseHe:: @ 859E0EE
- ec_word HEY
- ec_pokemon1 CORPHISH
- ec_word BABY
- ec_pokemon2 BAYLEEF
- ec_word BEST
- ec_word LOUSY
- ec_word HEHEHE
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 GRIMER
- ec_pokemon1 GRIMER
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 MUK
- ec_pokemon1 MUK
- ec_word LIQUID_OOZE
- ec_move2 SLUDGE
- ec_move2 SLUDGE_BOMB
- ec_move2 GLARE
- ec_word HEH
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 HERACROSS
- ec_pokemon1 HERACROSS
- ec_pokemon1 PELIPPER
- ec_pokemon2 HOUNDOOM
- ec_pokemon2 PERSIAN
- ec_word RIPPED
- ec_pokemon2 LICKITUNG
- ec_word STUDY
- ec_word COLOR_CHANGE
- ec_move2 TRANSFORM
+ .2byte EC_WORD_HEY
+ .2byte EC_POKEMON(CORPHISH)
+ .2byte EC_WORD_BABY
+ .2byte EC_POKEMON2(BAYLEEF)
+ .2byte EC_WORD_BEST
+ .2byte EC_WORD_LOUSY
+ .2byte EC_WORD_HEHEHE
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(GRIMER)
+ .2byte EC_POKEMON(GRIMER)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(MUK)
+ .2byte EC_POKEMON(MUK)
+ .2byte EC_WORD_LIQUID_OOZE
+ .2byte EC_MOVE2(SLUDGE)
+ .2byte EC_MOVE2(SLUDGE_BOMB)
+ .2byte EC_MOVE2(GLARE)
+ .2byte EC_WORD_HEH
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(HERACROSS)
+ .2byte EC_POKEMON(HERACROSS)
+ .2byte EC_POKEMON(PELIPPER)
+ .2byte EC_POKEMON2(HOUNDOOM)
+ .2byte EC_POKEMON2(PERSIAN)
+ .2byte EC_WORD_RIPPED
+ .2byte EC_POKEMON2(LICKITUNG)
+ .2byte EC_WORD_STUDY
+ .2byte EC_WORD_COLOR_CHANGE
+ .2byte EC_MOVE2(TRANSFORM)
gEasyChatWordsByLetter_UnusedJapaneseHo:: @ 859E12E
- ec_move2 POISON_TAIL
- ec_word POINTS
- ec_pokemon2 HO_OH
- ec_word SOUNDPROOF
- ec_word ADVENTURE
- ec_word EFFECT_SPORE
- ec_move2 ROAR
- ec_pokemon1 WAILORD
- ec_pokemon1 WAILMER
- ec_word DUDE
- ec_word BOARD
- ec_pokemon2 HOOTHOOT
- ec_pokemon1 SALAMENCE
- ec_word BALL
- ec_move2 BONE_RUSH
- ec_word THEY
- ec_word THEY_WERE
- ec_word TO_THEM
- ec_word THEIR
- ec_word THEY_RE
- ec_word THEY_VE
- ec_word POKENAV
- ec_word POKEMON
- ec_word GET
- ec_word POKEDEX
- ec_word PKRS
- ec_move2 CAMOUFLAGE
- ec_word WANT
- ec_move2 COVET
- ec_pokemon1 AGGRON
- ec_move2 TAIL_GLOW
- ec_pokemon1 POOCHYENA
- ec_pokemon2 PIDGEY
- ec_word AS_MUCH_AS
- ec_pokemon2 PONYTA
- ec_move2 BONE_CLUB
- ec_move2 BONEMERANG
- ec_word FIRE
- ec_move2 FIRE_SPIN
- ec_word FLAME_BODY
- ec_move2 FIRE_PUNCH
- ec_pokemon2 SKIPLOOM
- ec_word HOHOHO
- ec_word PRAISE
- ec_word UH_HUH
- ec_pokemon2 PORYGON
- ec_pokemon2 PORYGON2
- ec_move2 VOLT_TACKLE
- ec_word POKEBLOCK
- ec_move2 PERISH_SONG
- ec_word SHREDDED
- ec_pokemon1 CASTFORM
- ec_word BOOK
- ec_word SERIOUS
- ec_word REALLY
+ .2byte EC_MOVE2(POISON_TAIL)
+ .2byte EC_WORD_POINTS
+ .2byte EC_POKEMON2(HO_OH)
+ .2byte EC_WORD_SOUNDPROOF
+ .2byte EC_WORD_ADVENTURE
+ .2byte EC_WORD_EFFECT_SPORE
+ .2byte EC_MOVE2(ROAR)
+ .2byte EC_POKEMON(WAILORD)
+ .2byte EC_POKEMON(WAILMER)
+ .2byte EC_WORD_DUDE
+ .2byte EC_WORD_BOARD
+ .2byte EC_POKEMON2(HOOTHOOT)
+ .2byte EC_POKEMON(SALAMENCE)
+ .2byte EC_WORD_BALL
+ .2byte EC_MOVE2(BONE_RUSH)
+ .2byte EC_WORD_THEY
+ .2byte EC_WORD_THEY_WERE
+ .2byte EC_WORD_TO_THEM
+ .2byte EC_WORD_THEIR
+ .2byte EC_WORD_THEY_RE
+ .2byte EC_WORD_THEY_VE
+ .2byte EC_WORD_POKENAV
+ .2byte EC_WORD_POKEMON
+ .2byte EC_WORD_GET
+ .2byte EC_WORD_POKEDEX
+ .2byte EC_WORD_PKRS
+ .2byte EC_MOVE2(CAMOUFLAGE)
+ .2byte EC_WORD_WANT
+ .2byte EC_MOVE2(COVET)
+ .2byte EC_POKEMON(AGGRON)
+ .2byte EC_MOVE2(TAIL_GLOW)
+ .2byte EC_POKEMON(POOCHYENA)
+ .2byte EC_POKEMON2(PIDGEY)
+ .2byte EC_WORD_AS_MUCH_AS
+ .2byte EC_POKEMON2(PONYTA)
+ .2byte EC_MOVE2(BONE_CLUB)
+ .2byte EC_MOVE2(BONEMERANG)
+ .2byte EC_WORD_FIRE
+ .2byte EC_MOVE2(FIRE_SPIN)
+ .2byte EC_WORD_FLAME_BODY
+ .2byte EC_MOVE2(FIRE_PUNCH)
+ .2byte EC_POKEMON2(SKIPLOOM)
+ .2byte EC_WORD_HOHOHO
+ .2byte EC_WORD_PRAISE
+ .2byte EC_WORD_UH_HUH
+ .2byte EC_POKEMON2(PORYGON)
+ .2byte EC_POKEMON2(PORYGON2)
+ .2byte EC_MOVE2(VOLT_TACKLE)
+ .2byte EC_WORD_POKEBLOCK
+ .2byte EC_MOVE2(PERISH_SONG)
+ .2byte EC_WORD_SHREDDED
+ .2byte EC_POKEMON(CASTFORM)
+ .2byte EC_WORD_BOOK
+ .2byte EC_WORD_SERIOUS
+ .2byte EC_WORD_REALLY
gEasyChatWordsByLetter_UnusedJapaneseMa:: @ 859E19C
- ec_word OH_DEAR
- ec_word IN
- ec_word GIVE_UP
- ec_word MINUS
- ec_pokemon1 MINUN
- ec_word DAILY
- ec_word OWN_TEMPO
- ec_move2 WRAP
- ec_move2 SPIKES
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 MAGCARGO
- ec_pokemon1 MAGCARGO
- ec_move2 MAGNITUDE
- ec_pokemon1 MAKUHITA
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 SLUGMA
- ec_pokemon1 SLUGMA
- ec_word MAGMA_ARMOR
- ec_pokemon2 QUILAVA
- ec_word OVERDO
- ec_word LOSS
- ec_word IF_I_LOSE
- ec_word LOST
- ec_word LOSE
- ec_word TRULY
- ec_word SERIOUSLY
- ec_move2 MAGICAL_LEAF
- ec_move2 MAGIC_COAT
- ec_word MACHINE
- ec_word OUT
- ec_word MASTER
- ec_word INCREASING
- ec_word TOO
- ec_word LIKE
- ec_pokemon2 BELLSPROUT
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 WEEZING
- ec_pokemon1 WEEZING
- ec_word SMELL
- ec_word YET
- ec_word MISTAKE
- ec_pokemon1 LINOONE
- ec_word TOTALLY
- ec_move2 MUD_SHOT
- ec_move2 MACH_PUNCH
- ec_word FESTIVAL
- ec_word UNTIL
- ec_word WAIT
- ec_word GUARD
- ec_move2 PROTECT
- ec_pokemon1 CASCOON
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 MARILL
- ec_pokemon1 MARILL
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 AZUMARILL
- ec_pokemon1 AZUMARILL
- ec_move2 DEFENSE_CURL
- ec_word AS_IF
- ec_pokemon1 SWALOT
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 ELECTRODE
- ec_pokemon1 ELECTRODE
- ec_move2 ROLLING_KICK
- ec_word COMICS
- ec_pokemon2 MANKEY
- ec_word SATISFIED
- ec_pokemon2 MANTINE
+ .2byte EC_WORD_OH_DEAR
+ .2byte EC_WORD_IN
+ .2byte EC_WORD_GIVE_UP
+ .2byte EC_WORD_MINUS
+ .2byte EC_POKEMON(MINUN)
+ .2byte EC_WORD_DAILY
+ .2byte EC_WORD_OWN_TEMPO
+ .2byte EC_MOVE2(WRAP)
+ .2byte EC_MOVE2(SPIKES)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(MAGCARGO)
+ .2byte EC_POKEMON(MAGCARGO)
+ .2byte EC_MOVE2(MAGNITUDE)
+ .2byte EC_POKEMON(MAKUHITA)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(SLUGMA)
+ .2byte EC_POKEMON(SLUGMA)
+ .2byte EC_WORD_MAGMA_ARMOR
+ .2byte EC_POKEMON2(QUILAVA)
+ .2byte EC_WORD_OVERDO
+ .2byte EC_WORD_LOSS
+ .2byte EC_WORD_IF_I_LOSE
+ .2byte EC_WORD_LOST
+ .2byte EC_WORD_LOSE
+ .2byte EC_WORD_TRULY
+ .2byte EC_WORD_SERIOUSLY
+ .2byte EC_MOVE2(MAGICAL_LEAF)
+ .2byte EC_MOVE2(MAGIC_COAT)
+ .2byte EC_WORD_MACHINE
+ .2byte EC_WORD_OUT
+ .2byte EC_WORD_MASTER
+ .2byte EC_WORD_INCREASING
+ .2byte EC_WORD_TOO
+ .2byte EC_WORD_LIKE
+ .2byte EC_POKEMON2(BELLSPROUT)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(WEEZING)
+ .2byte EC_POKEMON(WEEZING)
+ .2byte EC_WORD_SMELL
+ .2byte EC_WORD_YET
+ .2byte EC_WORD_MISTAKE
+ .2byte EC_POKEMON(LINOONE)
+ .2byte EC_WORD_TOTALLY
+ .2byte EC_MOVE2(MUD_SHOT)
+ .2byte EC_MOVE2(MACH_PUNCH)
+ .2byte EC_WORD_FESTIVAL
+ .2byte EC_WORD_UNTIL
+ .2byte EC_WORD_WAIT
+ .2byte EC_WORD_GUARD
+ .2byte EC_MOVE2(PROTECT)
+ .2byte EC_POKEMON(CASCOON)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(MARILL)
+ .2byte EC_POKEMON(MARILL)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(AZUMARILL)
+ .2byte EC_POKEMON(AZUMARILL)
+ .2byte EC_MOVE2(DEFENSE_CURL)
+ .2byte EC_WORD_AS_IF
+ .2byte EC_POKEMON(SWALOT)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(ELECTRODE)
+ .2byte EC_POKEMON(ELECTRODE)
+ .2byte EC_MOVE2(ROLLING_KICK)
+ .2byte EC_WORD_COMICS
+ .2byte EC_POKEMON2(MANKEY)
+ .2byte EC_WORD_SATISFIED
+ .2byte EC_POKEMON2(MANTINE)
gEasyChatWordsByLetter_UnusedJapaneseMi:: @ 859E230
- ec_word PARTNER
- ec_move2 SUBSTITUTE
- ec_word RIGHT
- ec_move2 DETECT
- ec_move2 PIN_MISSILE
- ec_word WATER
- ec_move2 WATER_SPORT
- ec_pokemon1 MUDKIP
- ec_move2 WATER_GUN
- ec_move2 MIST_BALL
- ec_move2 WATER_PULSE
- ec_word WATER_VEIL
- ec_word SHOW
- ec_word SEE
- ec_word DID
- ec_move2 FURY_ATTACK
- ec_move2 FURY_SWIPES
- ec_move2 DESTINY_BOND
- ec_word LOOKS
- ec_word REJECT
- ec_word ACCEPT
- ec_pokemon2 DRATINI
- ec_move2 FALSE_SWIPE
- ec_move2 FORESIGHT
- ec_pokemon2 MEW
- ec_pokemon2 MEWTWO
- ec_move2 MIRROR_COAT
- ec_move2 FUTURE_SIGHT
- ec_word SEES
- ec_move2 MILK_DRINK
- ec_pokemon2 MILTANK
- ec_pokemon1 MILOTIC
- ec_word WE
- ec_word BEEN
- ec_word TO_US
- ec_word OUR
- ec_word WE_RE
+ .2byte EC_WORD_PARTNER
+ .2byte EC_MOVE2(SUBSTITUTE)
+ .2byte EC_WORD_RIGHT
+ .2byte EC_MOVE2(DETECT)
+ .2byte EC_MOVE2(PIN_MISSILE)
+ .2byte EC_WORD_WATER
+ .2byte EC_MOVE2(WATER_SPORT)
+ .2byte EC_POKEMON(MUDKIP)
+ .2byte EC_MOVE2(WATER_GUN)
+ .2byte EC_MOVE2(MIST_BALL)
+ .2byte EC_MOVE2(WATER_PULSE)
+ .2byte EC_WORD_WATER_VEIL
+ .2byte EC_WORD_SHOW
+ .2byte EC_WORD_SEE
+ .2byte EC_WORD_DID
+ .2byte EC_MOVE2(FURY_ATTACK)
+ .2byte EC_MOVE2(FURY_SWIPES)
+ .2byte EC_MOVE2(DESTINY_BOND)
+ .2byte EC_WORD_LOOKS
+ .2byte EC_WORD_REJECT
+ .2byte EC_WORD_ACCEPT
+ .2byte EC_POKEMON2(DRATINI)
+ .2byte EC_MOVE2(FALSE_SWIPE)
+ .2byte EC_MOVE2(FORESIGHT)
+ .2byte EC_POKEMON2(MEW)
+ .2byte EC_POKEMON2(MEWTWO)
+ .2byte EC_MOVE2(MIRROR_COAT)
+ .2byte EC_MOVE2(FUTURE_SIGHT)
+ .2byte EC_WORD_SEES
+ .2byte EC_MOVE2(MILK_DRINK)
+ .2byte EC_POKEMON2(MILTANK)
+ .2byte EC_POKEMON(MILOTIC)
+ .2byte EC_WORD_WE
+ .2byte EC_WORD_BEEN
+ .2byte EC_WORD_TO_US
+ .2byte EC_WORD_OUR
+ .2byte EC_WORD_WE_RE
gEasyChatWordsByLetter_UnusedJapaneseMu:: @ 859E27A
- ec_word MOOD
- ec_pokemon2 MISDREAVUS
- ec_word OLDEN
- ec_word ARRGH
- ec_word BUG
- ec_word SWARM
- ec_word RATHER
- ec_pokemon2 SMOOCHUM
- ec_word INVINCIBLE
- ec_word HEART
- ec_word MUFUFU
- ec_word MMM
+ .2byte EC_WORD_MOOD
+ .2byte EC_POKEMON2(MISDREAVUS)
+ .2byte EC_WORD_OLDEN
+ .2byte EC_WORD_ARRGH
+ .2byte EC_WORD_BUG
+ .2byte EC_WORD_SWARM
+ .2byte EC_WORD_RATHER
+ .2byte EC_POKEMON2(SMOOCHUM)
+ .2byte EC_WORD_INVINCIBLE
+ .2byte EC_WORD_HEART
+ .2byte EC_WORD_MUFUFU
+ .2byte EC_WORD_MMM
gEasyChatWordsByLetter_UnusedJapaneseMe:: @ 859E292
- ec_move2 CALM_MIND
- ec_word MAIL
- ec_move2 MEGA_DRAIN
- ec_move2 MEGA_KICK
- ec_move2 MEGA_PUNCH
- ec_pokemon2 MEGANIUM
- ec_move2 MEGAHORN
- ec_word SEEK
- ec_move2 HIDDEN_POWER
- ec_word RARE
- ec_pokemon1 METAGROSS
- ec_pokemon2 DITTO
- ec_move2 METAL_CLAW
- ec_pokemon1 METANG
- ec_word DESTROYED
- ec_word MESSAGE
- ec_word AWFULLY
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 TENTACOOL
- ec_pokemon1 TENTACOOL
- ec_word FIERY
- ec_pokemon2 MAREEP
- ec_move2 ATTRACT
- ec_word CUTE_CHARM
- ec_word IMMUNITY
+ .2byte EC_MOVE2(CALM_MIND)
+ .2byte EC_WORD_MAIL
+ .2byte EC_MOVE2(MEGA_DRAIN)
+ .2byte EC_MOVE2(MEGA_KICK)
+ .2byte EC_MOVE2(MEGA_PUNCH)
+ .2byte EC_POKEMON2(MEGANIUM)
+ .2byte EC_MOVE2(MEGAHORN)
+ .2byte EC_WORD_SEEK
+ .2byte EC_MOVE2(HIDDEN_POWER)
+ .2byte EC_WORD_RARE
+ .2byte EC_POKEMON(METAGROSS)
+ .2byte EC_POKEMON2(DITTO)
+ .2byte EC_MOVE2(METAL_CLAW)
+ .2byte EC_POKEMON(METANG)
+ .2byte EC_WORD_DESTROYED
+ .2byte EC_WORD_MESSAGE
+ .2byte EC_WORD_AWFULLY
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(TENTACOOL)
+ .2byte EC_POKEMON(TENTACOOL)
+ .2byte EC_WORD_FIERY
+ .2byte EC_POKEMON2(MAREEP)
+ .2byte EC_MOVE2(ATTRACT)
+ .2byte EC_WORD_CUTE_CHARM
+ .2byte EC_WORD_IMMUNITY
gEasyChatWordsByLetter_UnusedJapaneseMo:: @ 859E2C6
- ec_word ALMOST
- ec_word BLAZE
- ec_word NEARLY
- ec_word MODE
- ec_word OLD
- ec_word THURSDAY
- ec_pokemon2 FLAAFFY
- ec_word LISTENING
- ec_word OWN
- ec_word MORE
- ec_word DIDN_T
- ec_word PICKUP
- ec_move2 MIMIC
- ec_word TOO_LATE
- ec_word PATTERN
- ec_word FLASH_FIRE
- ec_word RECEIVED
- ec_pokemon2 VENOMOTH
- ec_word DOESN_T
- ec_pokemon2 TANGELA
+ .2byte EC_WORD_ALMOST
+ .2byte EC_WORD_BLAZE
+ .2byte EC_WORD_NEARLY
+ .2byte EC_WORD_MODE
+ .2byte EC_WORD_OLD
+ .2byte EC_WORD_THURSDAY
+ .2byte EC_POKEMON2(FLAAFFY)
+ .2byte EC_WORD_LISTENING
+ .2byte EC_WORD_OWN
+ .2byte EC_WORD_MORE
+ .2byte EC_WORD_DIDN_T
+ .2byte EC_WORD_PICKUP
+ .2byte EC_MOVE2(MIMIC)
+ .2byte EC_WORD_TOO_LATE
+ .2byte EC_WORD_PATTERN
+ .2byte EC_WORD_FLASH_FIRE
+ .2byte EC_WORD_RECEIVED
+ .2byte EC_POKEMON2(VENOMOTH)
+ .2byte EC_WORD_DOESN_T
+ .2byte EC_POKEMON2(TANGELA)
gEasyChatWordsByLetter_UnusedJapaneseYa:: @ 859E2EE
- ec_word HOO_HAH
- ec_word PROMISE
- ec_word KIND
- ec_pokemon1 BALTOY
- ec_word HOLIDAY
- ec_word NEGATIVE
- ec_move2 FRUSTRATION
- ec_word DONE
- ec_word FINALLY
- ec_word ANY
- ec_word YAHOO
- ec_pokemon2 SLOWKING
- ec_pokemon2 SLOWBRO
- ec_move2 LEECH_SEED
- ec_pokemon2 SLOWPOKE
- ec_word DANGER
- ec_pokemon2 MURKROW
- ec_pokemon1 SABLEYE
- ec_word DEFEATED
- ec_word BEAT
- ec_word VITAL_SPIRIT
- ec_pokemon1 VIGOROTH
- ec_word YOUNG
- ec_pokemon2 YANMA
+ .2byte EC_WORD_HOO_HAH
+ .2byte EC_WORD_PROMISE
+ .2byte EC_WORD_KIND
+ .2byte EC_POKEMON(BALTOY)
+ .2byte EC_WORD_HOLIDAY
+ .2byte EC_WORD_NEGATIVE
+ .2byte EC_MOVE2(FRUSTRATION)
+ .2byte EC_WORD_DONE
+ .2byte EC_WORD_FINALLY
+ .2byte EC_WORD_ANY
+ .2byte EC_WORD_YAHOO
+ .2byte EC_POKEMON2(SLOWKING)
+ .2byte EC_POKEMON2(SLOWBRO)
+ .2byte EC_MOVE2(LEECH_SEED)
+ .2byte EC_POKEMON2(SLOWPOKE)
+ .2byte EC_WORD_DANGER
+ .2byte EC_POKEMON2(MURKROW)
+ .2byte EC_POKEMON(SABLEYE)
+ .2byte EC_WORD_DEFEATED
+ .2byte EC_WORD_BEAT
+ .2byte EC_WORD_VITAL_SPIRIT
+ .2byte EC_POKEMON(VIGOROTH)
+ .2byte EC_WORD_YOUNG
+ .2byte EC_POKEMON2(YANMA)
gEasyChatWordsByLetter_UnusedJapaneseYu:: @ 859E31E
- ec_pokemon1 SNORUNT
- ec_word TAKE
- ec_word UNION
- ec_move2 METRONOME
- ec_word DREAM
- ec_move2 DREAM_EATER
- ec_word ALLOW
- ec_word FORGET
- ec_pokemon1 CRADILY
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 KADABRA
- ec_pokemon1 KADABRA
+ .2byte EC_POKEMON(SNORUNT)
+ .2byte EC_WORD_TAKE
+ .2byte EC_WORD_UNION
+ .2byte EC_MOVE2(METRONOME)
+ .2byte EC_WORD_DREAM
+ .2byte EC_MOVE2(DREAM_EATER)
+ .2byte EC_WORD_ALLOW
+ .2byte EC_WORD_FORGET
+ .2byte EC_POKEMON(CRADILY)
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(KADABRA)
+ .2byte EC_POKEMON(KADABRA)
gEasyChatWordsByLetter_UnusedJapaneseYo:: @ 859E338
- ec_word WITHOUT
- ec_word YO
- ec_move2 ACID
- ec_word COME_OVER
- ec_word KINDERGARTEN
- ec_word CHLOROPHYLL
- ec_word AFTER
- ec_pokemon2 LARVITAR
- ec_word OH_KAY
- ec_word BEFORE
- ec_word GREAT
- ec_move2 MEDITATE
- ec_word PURE_POWER
- ec_word WELL
- ec_move2 SNATCH
- ec_word OKAY
- ec_word PLANS
- ec_word NIGHTTIME
- ec_word WHILE
- ec_pokemon1 DUSKULL
- ec_word EASY
- ec_word INSTEAD
- ec_word NIGHT
- ec_pokemon2 NOCTOWL
- ec_word COUNT_ON
- ec_word WEAK
- ec_word TOO_WEAK
- ec_word WEAKENED
+ .2byte EC_WORD_WITHOUT
+ .2byte EC_WORD_YO
+ .2byte EC_MOVE2(ACID)
+ .2byte EC_WORD_COME_OVER
+ .2byte EC_WORD_KINDERGARTEN
+ .2byte EC_WORD_CHLOROPHYLL
+ .2byte EC_WORD_AFTER
+ .2byte EC_POKEMON2(LARVITAR)
+ .2byte EC_WORD_OH_KAY
+ .2byte EC_WORD_BEFORE
+ .2byte EC_WORD_GREAT
+ .2byte EC_MOVE2(MEDITATE)
+ .2byte EC_WORD_PURE_POWER
+ .2byte EC_WORD_WELL
+ .2byte EC_MOVE2(SNATCH)
+ .2byte EC_WORD_OKAY
+ .2byte EC_WORD_PLANS
+ .2byte EC_WORD_NIGHTTIME
+ .2byte EC_WORD_WHILE
+ .2byte EC_POKEMON(DUSKULL)
+ .2byte EC_WORD_EASY
+ .2byte EC_WORD_INSTEAD
+ .2byte EC_WORD_NIGHT
+ .2byte EC_POKEMON2(NOCTOWL)
+ .2byte EC_WORD_COUNT_ON
+ .2byte EC_WORD_WEAK
+ .2byte EC_WORD_TOO_WEAK
+ .2byte EC_WORD_WEAKENED
gEasyChatWordsByLetter_UnusedJapaneseRa:: @ 859E370
- ec_pokemon2 RAIKOU
- ec_word WEEK
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 RAICHU
- ec_pokemon1 RAICHU
- ec_word RIVAL
- ec_word LIFE
- ec_pokemon1 MANECTRIC
- ec_word SIMPLE
- ec_word PUSHOVER
- ec_pokemon1 SWAMPERT
- ec_pokemon1 ELECTRIKE
- ec_word SEEMS
- ec_word RADIO
- ec_move2 LUSTER_PURGE
- ec_pokemon2 CHANSEY
- ec_pokemon2 RATICATE
- ec_pokemon1 LATIAS
- ec_pokemon1 LATIOS
- ec_pokemon1 LUVDISC
- ec_pokemon2 LAPRAS
- ec_word LOVEY_DOVEY
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 VILEPLUME
- ec_pokemon1 VILEPLUME
- ec_word LALALA
- ec_pokemon1 RALTS
- ec_word FORGETS
- ec_word APPEARS
- ec_word RANK
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 LANTURN
- ec_pokemon1 LANTURN
+ .2byte EC_POKEMON2(RAIKOU)
+ .2byte EC_WORD_WEEK
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(RAICHU)
+ .2byte EC_POKEMON(RAICHU)
+ .2byte EC_WORD_RIVAL
+ .2byte EC_WORD_LIFE
+ .2byte EC_POKEMON(MANECTRIC)
+ .2byte EC_WORD_SIMPLE
+ .2byte EC_WORD_PUSHOVER
+ .2byte EC_POKEMON(SWAMPERT)
+ .2byte EC_POKEMON(ELECTRIKE)
+ .2byte EC_WORD_SEEMS
+ .2byte EC_WORD_RADIO
+ .2byte EC_MOVE2(LUSTER_PURGE)
+ .2byte EC_POKEMON2(CHANSEY)
+ .2byte EC_POKEMON2(RATICATE)
+ .2byte EC_POKEMON(LATIAS)
+ .2byte EC_POKEMON(LATIOS)
+ .2byte EC_POKEMON(LUVDISC)
+ .2byte EC_POKEMON2(LAPRAS)
+ .2byte EC_WORD_LOVEY_DOVEY
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(VILEPLUME)
+ .2byte EC_POKEMON(VILEPLUME)
+ .2byte EC_WORD_LALALA
+ .2byte EC_POKEMON(RALTS)
+ .2byte EC_WORD_FORGETS
+ .2byte EC_WORD_APPEARS
+ .2byte EC_WORD_RANK
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(LANTURN)
+ .2byte EC_POKEMON(LANTURN)
gEasyChatWordsByLetter_UnusedJapaneseRi:: @ 859E3B8
- ec_word LEADER
- ec_move2 LEAF_BLADE
- ec_pokemon2 CHARMELEON
- ec_pokemon2 CHARIZARD
- ec_move2 RECYCLE
- ec_move2 REFLECT
- ec_move2 REFRESH
- ec_move2 REVENGE
- ec_word RIBBON
- ec_word TRENDY
- ec_move2 DRAGON_RAGE
- ec_move2 DRAGON_BREATH
- ec_move2 DRAGON_DANCE
- ec_word VACATION
- ec_pokemon1 LILEEP
- ec_pokemon2 URSARING
- ec_word SHIELD_DUST
+ .2byte EC_WORD_LEADER
+ .2byte EC_MOVE2(LEAF_BLADE)
+ .2byte EC_POKEMON2(CHARMELEON)
+ .2byte EC_POKEMON2(CHARIZARD)
+ .2byte EC_MOVE2(RECYCLE)
+ .2byte EC_MOVE2(REFLECT)
+ .2byte EC_MOVE2(REFRESH)
+ .2byte EC_MOVE2(REVENGE)
+ .2byte EC_WORD_RIBBON
+ .2byte EC_WORD_TRENDY
+ .2byte EC_MOVE2(DRAGON_RAGE)
+ .2byte EC_MOVE2(DRAGON_BREATH)
+ .2byte EC_MOVE2(DRAGON_DANCE)
+ .2byte EC_WORD_VACATION
+ .2byte EC_POKEMON(LILEEP)
+ .2byte EC_POKEMON2(URSARING)
+ .2byte EC_WORD_SHIELD_DUST
gEasyChatWordsByLetter_UnusedJapaneseRu:: @ 859E3DA
- ec_pokemon2 JYNX
- ec_word ROOM
- ec_word RULE
- ec_pokemon2 LUGIA
- ec_word LOOK
- ec_pokemon1 LUNATONE
- ec_word RUBY
- ec_word THAN
- ec_pokemon1 AZURILL
- ec_pokemon1 LUDICOLO
- ec_word HAPPILY
+ .2byte EC_POKEMON2(JYNX)
+ .2byte EC_WORD_ROOM
+ .2byte EC_WORD_RULE
+ .2byte EC_POKEMON2(LUGIA)
+ .2byte EC_WORD_LOOK
+ .2byte EC_POKEMON(LUNATONE)
+ .2byte EC_WORD_RUBY
+ .2byte EC_WORD_THAN
+ .2byte EC_POKEMON(AZURILL)
+ .2byte EC_POKEMON(LUDICOLO)
+ .2byte EC_WORD_HAPPILY
gEasyChatWordsByLetter_UnusedJapaneseRe:: @ 859E3F0
.2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 MAGNETON
- ec_pokemon1 MAGNETON
- ec_move2 ICE_PUNCH
- ec_move2 ICE_BEAM
- ec_pokemon1 REGICE
- ec_pokemon1 REGISTEEL
- ec_pokemon1 REGIROCK
- ec_pokemon1 RAYQUAZA
- ec_word UGLY
- ec_pokemon2 LEDIAN
- ec_pokemon2 LEDYBA
- ec_word FANTASTIC
- ec_word LEVEL
- ec_move2 FURY_CUTTER
- ec_move2 COMET_PUNCH
- ec_word RENTAL
+ .2byte EC_POKEMON2(MAGNETON)
+ .2byte EC_POKEMON(MAGNETON)
+ .2byte EC_MOVE2(ICE_PUNCH)
+ .2byte EC_MOVE2(ICE_BEAM)
+ .2byte EC_POKEMON(REGICE)
+ .2byte EC_POKEMON(REGISTEEL)
+ .2byte EC_POKEMON(REGIROCK)
+ .2byte EC_POKEMON(RAYQUAZA)
+ .2byte EC_WORD_UGLY
+ .2byte EC_POKEMON2(LEDIAN)
+ .2byte EC_POKEMON2(LEDYBA)
+ .2byte EC_WORD_FANTASTIC
+ .2byte EC_WORD_LEVEL
+ .2byte EC_MOVE2(FURY_CUTTER)
+ .2byte EC_MOVE2(COMET_PUNCH)
+ .2byte EC_WORD_RENTAL
gEasyChatWordsByLetter_UnusedJapaneseRo:: @ 859E414
- ec_move2 SKULL_BASH
+ .2byte EC_MOVE2(SKULL_BASH)
.2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 VULPIX
- ec_pokemon1 VULPIX
- ec_pokemon1 ROSELIA
- ec_move2 LOCK_ON
- ec_move2 ROCK_BLAST
- ec_word ROMANTIC
- ec_word QUESTION
+ .2byte EC_POKEMON2(VULPIX)
+ .2byte EC_POKEMON(VULPIX)
+ .2byte EC_POKEMON(ROSELIA)
+ .2byte EC_MOVE2(LOCK_ON)
+ .2byte EC_MOVE2(ROCK_BLAST)
+ .2byte EC_WORD_ROMANTIC
+ .2byte EC_WORD_QUESTION
gEasyChatWordsByLetter_UnusedJapaneseWa:: @ 859E428
- ec_word YAY
- ec_word WORLD
- ec_word AWW
- ec_word WIRELESS
- ec_word WOWEE
- ec_pokemon1 COMBUSKEN
- ec_word UNDERSTAND
- ec_word UNDERSTANDS
- ec_word FAINT
- ec_word ANTICIPATION
- ec_word ONCE
- ec_word MOVE
- ec_word WE_VE
- ec_word FAINTED
- ec_word WOMAN
- ec_word SHE
- ec_word SHE_WAS
- ec_word TO_HER
- ec_word HERS
- ec_word SHE_IS
- ec_word SOME
- ec_pokemon2 JUMPLUFF
- ec_move2 COTTON_SPORE
- ec_word GWAH
- ec_pokemon2 TOTODILE
- ec_word WAHAHAHA
- ec_word ANYWHERE
- ec_move2 STRUGGLE
- ec_word BADLY
- .2byte -1, 2 @ doubled Pokémon species names
- ec_pokemon2 MACHOP
- ec_pokemon1 MACHOP
+ .2byte EC_WORD_YAY
+ .2byte EC_WORD_WORLD
+ .2byte EC_WORD_AWW
+ .2byte EC_WORD_WIRELESS
+ .2byte EC_WORD_WOWEE
+ .2byte EC_POKEMON(COMBUSKEN)
+ .2byte EC_WORD_UNDERSTAND
+ .2byte EC_WORD_UNDERSTANDS
+ .2byte EC_WORD_FAINT
+ .2byte EC_WORD_ANTICIPATION
+ .2byte EC_WORD_ONCE
+ .2byte EC_WORD_MOVE
+ .2byte EC_WORD_WE_VE
+ .2byte EC_WORD_FAINTED
+ .2byte EC_WORD_WOMAN
+ .2byte EC_WORD_SHE
+ .2byte EC_WORD_SHE_WAS
+ .2byte EC_WORD_TO_HER
+ .2byte EC_WORD_HERS
+ .2byte EC_WORD_SHE_IS
+ .2byte EC_WORD_SOME
+ .2byte EC_POKEMON2(JUMPLUFF)
+ .2byte EC_MOVE2(COTTON_SPORE)
+ .2byte EC_WORD_GWAH
+ .2byte EC_POKEMON2(TOTODILE)
+ .2byte EC_WORD_WAHAHAHA
+ .2byte EC_WORD_ANYWHERE
+ .2byte EC_MOVE2(STRUGGLE)
+ .2byte EC_WORD_BADLY
+ .2byte -1, 2 @ doubled Pokémon species names
+ .2byte EC_POKEMON2(MACHOP)
+ .2byte EC_POKEMON(MACHOP)
.align 2
gEasyChatWordsByLetterPointers:: @ 859E46C
diff --git a/data/trade.s b/data/trade.s
index 3150269b0..b392fbc24 100644
--- a/data/trade.s
+++ b/data/trade.s
@@ -3,6 +3,9 @@
.section .rodata
.align 2, 0
+
+gUnknown_0832C6A8:: @ 832C6A8
+ .incbin "baserom.gba", 0x32C6A8, 0x18
gUnknown_0832C6C0:: @ 832C6C0
.incbin "baserom.gba", 0x32c6c0, 0x1fe
diff --git a/data/wild_encounter.s b/data/wild_encounter.s
index e221c2f99..0b46e3d35 100644
--- a/data/wild_encounter.s
+++ b/data/wild_encounter.s
@@ -1,3 +1,4 @@
+#include "constants/species.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
diff --git a/data/wild_mons.inc b/data/wild_mons.inc
index 3361a3975..83b73bc81 100644
--- a/data/wild_mons.inc
+++ b/data/wild_mons.inc
@@ -1,17 +1,17 @@
.align 2
gRoute101_LandMons:: @ 85507E4
- wild_mon WURMPLE, 2
- wild_mon POOCHYENA, 2
- wild_mon WURMPLE, 2
- wild_mon WURMPLE, 3
- wild_mon POOCHYENA, 3
- wild_mon POOCHYENA, 3
- wild_mon WURMPLE, 3
- wild_mon POOCHYENA, 3
- wild_mon ZIGZAGOON, 2
- wild_mon ZIGZAGOON, 2
- wild_mon ZIGZAGOON, 3
- wild_mon ZIGZAGOON, 3
+ wild_mon SPECIES_WURMPLE, 2
+ wild_mon SPECIES_POOCHYENA, 2
+ wild_mon SPECIES_WURMPLE, 2
+ wild_mon SPECIES_WURMPLE, 3
+ wild_mon SPECIES_POOCHYENA, 3
+ wild_mon SPECIES_POOCHYENA, 3
+ wild_mon SPECIES_WURMPLE, 3
+ wild_mon SPECIES_POOCHYENA, 3
+ wild_mon SPECIES_ZIGZAGOON, 2
+ wild_mon SPECIES_ZIGZAGOON, 2
+ wild_mon SPECIES_ZIGZAGOON, 3
+ wild_mon SPECIES_ZIGZAGOON, 3
.align 2
gRoute101_LandMonsInfo:: @ 8550814
@@ -20,18 +20,18 @@ gRoute101_LandMonsInfo:: @ 8550814
.align 2
gRoute102_LandMons:: @ 855081C
- wild_mon POOCHYENA, 3
- wild_mon WURMPLE, 3
- wild_mon POOCHYENA, 4
- wild_mon WURMPLE, 4
- wild_mon LOTAD, 3
- wild_mon LOTAD, 4
- wild_mon ZIGZAGOON, 3
- wild_mon ZIGZAGOON, 3
- wild_mon ZIGZAGOON, 4
- wild_mon RALTS, 4
- wild_mon ZIGZAGOON, 4
- wild_mon SEEDOT, 3
+ wild_mon SPECIES_POOCHYENA, 3
+ wild_mon SPECIES_WURMPLE, 3
+ wild_mon SPECIES_POOCHYENA, 4
+ wild_mon SPECIES_WURMPLE, 4
+ wild_mon SPECIES_LOTAD, 3
+ wild_mon SPECIES_LOTAD, 4
+ wild_mon SPECIES_ZIGZAGOON, 3
+ wild_mon SPECIES_ZIGZAGOON, 3
+ wild_mon SPECIES_ZIGZAGOON, 4
+ wild_mon SPECIES_RALTS, 4
+ wild_mon SPECIES_ZIGZAGOON, 4
+ wild_mon SPECIES_SEEDOT, 3
.align 2
gRoute102_LandMonsInfo:: @ 855084C
@@ -40,11 +40,11 @@ gRoute102_LandMonsInfo:: @ 855084C
.align 2
gRoute102_WaterMons:: @ 8550854
- wild_mon MARILL, 20, 30
- wild_mon MARILL, 10, 20
- wild_mon MARILL, 30, 35
- wild_mon MARILL, 5, 10
- wild_mon GOLDEEN, 20, 30
+ wild_mon SPECIES_MARILL, 20, 30
+ wild_mon SPECIES_MARILL, 10, 20
+ wild_mon SPECIES_MARILL, 30, 35
+ wild_mon SPECIES_MARILL, 5, 10
+ wild_mon SPECIES_GOLDEEN, 20, 30
.align 2
gRoute102_WaterMonsInfo:: @ 8550868
@@ -53,16 +53,16 @@ gRoute102_WaterMonsInfo:: @ 8550868
.align 2
gRoute102_FishingMons:: @ 8550870
- wild_mon MAGIKARP, 5, 10
- wild_mon GOLDEEN, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon GOLDEEN, 10, 30
- wild_mon CORPHISH, 10, 30
- wild_mon CORPHISH, 25, 30
- wild_mon CORPHISH, 30, 35
- wild_mon CORPHISH, 20, 25
- wild_mon CORPHISH, 35, 40
- wild_mon CORPHISH, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_GOLDEEN, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_GOLDEEN, 10, 30
+ wild_mon SPECIES_CORPHISH, 10, 30
+ wild_mon SPECIES_CORPHISH, 25, 30
+ wild_mon SPECIES_CORPHISH, 30, 35
+ wild_mon SPECIES_CORPHISH, 20, 25
+ wild_mon SPECIES_CORPHISH, 35, 40
+ wild_mon SPECIES_CORPHISH, 40, 45
.align 2
gRoute102_FishingMonsInfo:: @ 8550898
@@ -71,18 +71,18 @@ gRoute102_FishingMonsInfo:: @ 8550898
.align 2
gRoute103_LandMons:: @ 85508A0
- wild_mon POOCHYENA, 2
- wild_mon POOCHYENA, 3
- wild_mon POOCHYENA, 3
- wild_mon POOCHYENA, 4
- wild_mon WINGULL, 2
- wild_mon ZIGZAGOON, 3
- wild_mon ZIGZAGOON, 3
- wild_mon ZIGZAGOON, 4
- wild_mon WINGULL, 3
- wild_mon WINGULL, 3
- wild_mon WINGULL, 2
- wild_mon WINGULL, 4
+ wild_mon SPECIES_POOCHYENA, 2
+ wild_mon SPECIES_POOCHYENA, 3
+ wild_mon SPECIES_POOCHYENA, 3
+ wild_mon SPECIES_POOCHYENA, 4
+ wild_mon SPECIES_WINGULL, 2
+ wild_mon SPECIES_ZIGZAGOON, 3
+ wild_mon SPECIES_ZIGZAGOON, 3
+ wild_mon SPECIES_ZIGZAGOON, 4
+ wild_mon SPECIES_WINGULL, 3
+ wild_mon SPECIES_WINGULL, 3
+ wild_mon SPECIES_WINGULL, 2
+ wild_mon SPECIES_WINGULL, 4
.align 2
gRoute103_LandMonsInfo:: @ 85508D0
@@ -91,11 +91,11 @@ gRoute103_LandMonsInfo:: @ 85508D0
.align 2
gRoute103_WaterMons:: @ 85508D8
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute103_WaterMonsInfo:: @ 85508EC
@@ -104,16 +104,16 @@ gRoute103_WaterMonsInfo:: @ 85508EC
.align 2
gRoute103_FishingMons:: @ 85508F4
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon SHARPEDO, 30, 35
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_SHARPEDO, 30, 35
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute103_FishingMonsInfo:: @ 855091C
@@ -122,18 +122,18 @@ gRoute103_FishingMonsInfo:: @ 855091C
.align 2
gRoute104_LandMons:: @ 8550924
- wild_mon POOCHYENA, 4
- wild_mon WURMPLE, 4
- wild_mon POOCHYENA, 5
- wild_mon MARILL, 5
- wild_mon MARILL, 4
- wild_mon POOCHYENA, 5
- wild_mon TAILLOW, 4
- wild_mon TAILLOW, 5
- wild_mon WINGULL, 4
- wild_mon WINGULL, 4
- wild_mon WINGULL, 3
- wild_mon WINGULL, 5
+ wild_mon SPECIES_POOCHYENA, 4
+ wild_mon SPECIES_WURMPLE, 4
+ wild_mon SPECIES_POOCHYENA, 5
+ wild_mon SPECIES_MARILL, 5
+ wild_mon SPECIES_MARILL, 4
+ wild_mon SPECIES_POOCHYENA, 5
+ wild_mon SPECIES_TAILLOW, 4
+ wild_mon SPECIES_TAILLOW, 5
+ wild_mon SPECIES_WINGULL, 4
+ wild_mon SPECIES_WINGULL, 4
+ wild_mon SPECIES_WINGULL, 3
+ wild_mon SPECIES_WINGULL, 5
.align 2
gRoute104_LandMonsInfo:: @ 8550954
@@ -142,11 +142,11 @@ gRoute104_LandMonsInfo:: @ 8550954
.align 2
gRoute104_WaterMons:: @ 855095C
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute104_WaterMonsInfo:: @ 8550970
@@ -155,16 +155,16 @@ gRoute104_WaterMonsInfo:: @ 8550970
.align 2
gRoute104_FishingMons:: @ 8550978
- wild_mon MAGIKARP, 5, 10
- wild_mon MAGIKARP, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon MAGIKARP, 10, 30
- wild_mon MAGIKARP, 10, 30
- wild_mon MAGIKARP, 25, 30
- wild_mon MAGIKARP, 30, 35
- wild_mon MAGIKARP, 20, 25
- wild_mon MAGIKARP, 35, 40
- wild_mon MAGIKARP, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_MAGIKARP, 25, 30
+ wild_mon SPECIES_MAGIKARP, 30, 35
+ wild_mon SPECIES_MAGIKARP, 20, 25
+ wild_mon SPECIES_MAGIKARP, 35, 40
+ wild_mon SPECIES_MAGIKARP, 40, 45
.align 2
gRoute104_FishingMonsInfo:: @ 85509A0
@@ -173,11 +173,11 @@ gRoute104_FishingMonsInfo:: @ 85509A0
.align 2
gRoute105_WaterMons:: @ 85509A8
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute105_WaterMonsInfo:: @ 85509BC
@@ -186,16 +186,16 @@ gRoute105_WaterMonsInfo:: @ 85509BC
.align 2
gRoute105_FishingMons:: @ 85509C4
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 20, 25
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 20, 25
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute105_FishingMonsInfo:: @ 85509EC
@@ -204,18 +204,18 @@ gRoute105_FishingMonsInfo:: @ 85509EC
.align 2
gRoute110_LandMons:: @ 85509F4
- wild_mon POOCHYENA, 12
- wild_mon ELECTRIKE, 12
- wild_mon GULPIN, 12
- wild_mon ELECTRIKE, 13
- wild_mon MINUN, 13
- wild_mon ODDISH, 13
- wild_mon MINUN, 13
- wild_mon GULPIN, 13
- wild_mon WINGULL, 12
- wild_mon WINGULL, 12
- wild_mon PLUSLE, 12
- wild_mon PLUSLE, 13
+ wild_mon SPECIES_POOCHYENA, 12
+ wild_mon SPECIES_ELECTRIKE, 12
+ wild_mon SPECIES_GULPIN, 12
+ wild_mon SPECIES_ELECTRIKE, 13
+ wild_mon SPECIES_MINUN, 13
+ wild_mon SPECIES_ODDISH, 13
+ wild_mon SPECIES_MINUN, 13
+ wild_mon SPECIES_GULPIN, 13
+ wild_mon SPECIES_WINGULL, 12
+ wild_mon SPECIES_WINGULL, 12
+ wild_mon SPECIES_PLUSLE, 12
+ wild_mon SPECIES_PLUSLE, 13
.align 2
gRoute110_LandMonsInfo:: @ 8550A24
@@ -224,11 +224,11 @@ gRoute110_LandMonsInfo:: @ 8550A24
.align 2
gRoute110_WaterMons:: @ 8550A2C
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute110_WaterMonsInfo:: @ 8550A40
@@ -237,16 +237,16 @@ gRoute110_WaterMonsInfo:: @ 8550A40
.align 2
gRoute110_FishingMons:: @ 8550A48
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 20, 25
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 20, 25
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute110_FishingMonsInfo:: @ 8550A70
@@ -255,18 +255,18 @@ gRoute110_FishingMonsInfo:: @ 8550A70
.align 2
gRoute111_LandMons:: @ 8550A78
- wild_mon SANDSHREW, 20
- wild_mon TRAPINCH, 20
- wild_mon SANDSHREW, 21
- wild_mon TRAPINCH, 21
- wild_mon BALTOY, 19
- wild_mon BALTOY, 21
- wild_mon SANDSHREW, 19
- wild_mon TRAPINCH, 19
- wild_mon BALTOY, 20
- wild_mon CACNEA, 20
- wild_mon CACNEA, 22
- wild_mon CACNEA, 22
+ wild_mon SPECIES_SANDSHREW, 20
+ wild_mon SPECIES_TRAPINCH, 20
+ wild_mon SPECIES_SANDSHREW, 21
+ wild_mon SPECIES_TRAPINCH, 21
+ wild_mon SPECIES_BALTOY, 19
+ wild_mon SPECIES_BALTOY, 21
+ wild_mon SPECIES_SANDSHREW, 19
+ wild_mon SPECIES_TRAPINCH, 19
+ wild_mon SPECIES_BALTOY, 20
+ wild_mon SPECIES_CACNEA, 20
+ wild_mon SPECIES_CACNEA, 22
+ wild_mon SPECIES_CACNEA, 22
.align 2
gRoute111_LandMonsInfo:: @ 8550AA8
@@ -275,11 +275,11 @@ gRoute111_LandMonsInfo:: @ 8550AA8
.align 2
gRoute111_WaterMons:: @ 8550AB0
- wild_mon MARILL, 20, 30
- wild_mon MARILL, 10, 20
- wild_mon MARILL, 30, 35
- wild_mon MARILL, 5, 10
- wild_mon GOLDEEN, 20, 30
+ wild_mon SPECIES_MARILL, 20, 30
+ wild_mon SPECIES_MARILL, 10, 20
+ wild_mon SPECIES_MARILL, 30, 35
+ wild_mon SPECIES_MARILL, 5, 10
+ wild_mon SPECIES_GOLDEEN, 20, 30
.align 2
gRoute111_WaterMonsInfo:: @ 8550AC4
@@ -288,11 +288,11 @@ gRoute111_WaterMonsInfo:: @ 8550AC4
.align 2
gRoute111_RockSmashMons:: @ 8550ACC
- wild_mon GEODUDE, 10, 15
- wild_mon GEODUDE, 5, 10
- wild_mon GEODUDE, 15, 20
- wild_mon GEODUDE, 15, 20
- wild_mon GEODUDE, 15, 20
+ wild_mon SPECIES_GEODUDE, 10, 15
+ wild_mon SPECIES_GEODUDE, 5, 10
+ wild_mon SPECIES_GEODUDE, 15, 20
+ wild_mon SPECIES_GEODUDE, 15, 20
+ wild_mon SPECIES_GEODUDE, 15, 20
.align 2
gRoute111_RockSmashMonsInfo:: @ 8550AE0
@@ -301,16 +301,16 @@ gRoute111_RockSmashMonsInfo:: @ 8550AE0
.align 2
gRoute111_FishingMons:: @ 8550AE8
- wild_mon MAGIKARP, 5, 10
- wild_mon GOLDEEN, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon GOLDEEN, 10, 30
- wild_mon BARBOACH, 10, 30
- wild_mon BARBOACH, 25, 30
- wild_mon BARBOACH, 30, 35
- wild_mon BARBOACH, 20, 25
- wild_mon BARBOACH, 35, 40
- wild_mon BARBOACH, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_GOLDEEN, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_GOLDEEN, 10, 30
+ wild_mon SPECIES_BARBOACH, 10, 30
+ wild_mon SPECIES_BARBOACH, 25, 30
+ wild_mon SPECIES_BARBOACH, 30, 35
+ wild_mon SPECIES_BARBOACH, 20, 25
+ wild_mon SPECIES_BARBOACH, 35, 40
+ wild_mon SPECIES_BARBOACH, 40, 45
.align 2
gRoute111_FishingMonsInfo:: @ 8550B10
@@ -319,18 +319,18 @@ gRoute111_FishingMonsInfo:: @ 8550B10
.align 2
gRoute112_LandMons:: @ 8550B18
- wild_mon NUMEL, 15
- wild_mon NUMEL, 15
- wild_mon MARILL, 15
- wild_mon NUMEL, 14
- wild_mon NUMEL, 14
- wild_mon MARILL, 14
- wild_mon NUMEL, 16
- wild_mon MARILL, 16
- wild_mon NUMEL, 16
- wild_mon NUMEL, 16
- wild_mon NUMEL, 16
- wild_mon NUMEL, 16
+ wild_mon SPECIES_NUMEL, 15
+ wild_mon SPECIES_NUMEL, 15
+ wild_mon SPECIES_MARILL, 15
+ wild_mon SPECIES_NUMEL, 14
+ wild_mon SPECIES_NUMEL, 14
+ wild_mon SPECIES_MARILL, 14
+ wild_mon SPECIES_NUMEL, 16
+ wild_mon SPECIES_MARILL, 16
+ wild_mon SPECIES_NUMEL, 16
+ wild_mon SPECIES_NUMEL, 16
+ wild_mon SPECIES_NUMEL, 16
+ wild_mon SPECIES_NUMEL, 16
.align 2
gRoute112_LandMonsInfo:: @ 8550B48
@@ -339,18 +339,18 @@ gRoute112_LandMonsInfo:: @ 8550B48
.align 2
gRoute113_LandMons:: @ 8550B50
- wild_mon SPINDA, 15
- wild_mon SPINDA, 15
- wild_mon SLUGMA, 15
- wild_mon SPINDA, 14
- wild_mon SPINDA, 14
- wild_mon SLUGMA, 14
- wild_mon SPINDA, 16
- wild_mon SLUGMA, 16
- wild_mon SPINDA, 16
- wild_mon SKARMORY, 16
- wild_mon SPINDA, 16
- wild_mon SKARMORY, 16
+ wild_mon SPECIES_SPINDA, 15
+ wild_mon SPECIES_SPINDA, 15
+ wild_mon SPECIES_SLUGMA, 15
+ wild_mon SPECIES_SPINDA, 14
+ wild_mon SPECIES_SPINDA, 14
+ wild_mon SPECIES_SLUGMA, 14
+ wild_mon SPECIES_SPINDA, 16
+ wild_mon SPECIES_SLUGMA, 16
+ wild_mon SPECIES_SPINDA, 16
+ wild_mon SPECIES_SKARMORY, 16
+ wild_mon SPECIES_SPINDA, 16
+ wild_mon SPECIES_SKARMORY, 16
.align 2
gRoute113_LandMonsInfo:: @ 8550B80
@@ -359,18 +359,18 @@ gRoute113_LandMonsInfo:: @ 8550B80
.align 2
gRoute114_LandMons:: @ 8550B88
- wild_mon SWABLU, 16
- wild_mon LOTAD, 16
- wild_mon SWABLU, 17
- wild_mon SWABLU, 15
- wild_mon LOTAD, 15
- wild_mon LOMBRE, 16
- wild_mon LOMBRE, 16
- wild_mon LOMBRE, 18
- wild_mon SEVIPER, 17
- wild_mon SEVIPER, 15
- wild_mon SEVIPER, 17
- wild_mon NUZLEAF, 15
+ wild_mon SPECIES_SWABLU, 16
+ wild_mon SPECIES_LOTAD, 16
+ wild_mon SPECIES_SWABLU, 17
+ wild_mon SPECIES_SWABLU, 15
+ wild_mon SPECIES_LOTAD, 15
+ wild_mon SPECIES_LOMBRE, 16
+ wild_mon SPECIES_LOMBRE, 16
+ wild_mon SPECIES_LOMBRE, 18
+ wild_mon SPECIES_SEVIPER, 17
+ wild_mon SPECIES_SEVIPER, 15
+ wild_mon SPECIES_SEVIPER, 17
+ wild_mon SPECIES_NUZLEAF, 15
.align 2
gRoute114_LandMonsInfo:: @ 8550BB8
@@ -379,11 +379,11 @@ gRoute114_LandMonsInfo:: @ 8550BB8
.align 2
gRoute114_WaterMons:: @ 8550BC0
- wild_mon MARILL, 20, 30
- wild_mon MARILL, 10, 20
- wild_mon MARILL, 30, 35
- wild_mon MARILL, 5, 10
- wild_mon GOLDEEN, 20, 30
+ wild_mon SPECIES_MARILL, 20, 30
+ wild_mon SPECIES_MARILL, 10, 20
+ wild_mon SPECIES_MARILL, 30, 35
+ wild_mon SPECIES_MARILL, 5, 10
+ wild_mon SPECIES_GOLDEEN, 20, 30
.align 2
gRoute114_WaterMonsInfo:: @ 8550BD4
@@ -392,11 +392,11 @@ gRoute114_WaterMonsInfo:: @ 8550BD4
.align 2
gRoute114_RockSmashMons:: @ 8550BDC
- wild_mon GEODUDE, 10, 15
- wild_mon GEODUDE, 5, 10
- wild_mon GEODUDE, 15, 20
- wild_mon GEODUDE, 15, 20
- wild_mon GEODUDE, 15, 20
+ wild_mon SPECIES_GEODUDE, 10, 15
+ wild_mon SPECIES_GEODUDE, 5, 10
+ wild_mon SPECIES_GEODUDE, 15, 20
+ wild_mon SPECIES_GEODUDE, 15, 20
+ wild_mon SPECIES_GEODUDE, 15, 20
.align 2
gRoute114_RockSmashMonsInfo:: @ 8550BF0
@@ -405,16 +405,16 @@ gRoute114_RockSmashMonsInfo:: @ 8550BF0
.align 2
gRoute114_FishingMons:: @ 8550BF8
- wild_mon MAGIKARP, 5, 10
- wild_mon GOLDEEN, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon GOLDEEN, 10, 30
- wild_mon BARBOACH, 10, 30
- wild_mon BARBOACH, 25, 30
- wild_mon BARBOACH, 30, 35
- wild_mon BARBOACH, 20, 25
- wild_mon BARBOACH, 35, 40
- wild_mon BARBOACH, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_GOLDEEN, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_GOLDEEN, 10, 30
+ wild_mon SPECIES_BARBOACH, 10, 30
+ wild_mon SPECIES_BARBOACH, 25, 30
+ wild_mon SPECIES_BARBOACH, 30, 35
+ wild_mon SPECIES_BARBOACH, 20, 25
+ wild_mon SPECIES_BARBOACH, 35, 40
+ wild_mon SPECIES_BARBOACH, 40, 45
.align 2
gRoute114_FishingMonsInfo:: @ 8550C20
@@ -423,18 +423,18 @@ gRoute114_FishingMonsInfo:: @ 8550C20
.align 2
gRoute116_LandMons:: @ 8550C28
- wild_mon POOCHYENA, 6
- wild_mon WHISMUR, 6
- wild_mon NINCADA, 6
- wild_mon ABRA, 7
- wild_mon NINCADA, 7
- wild_mon TAILLOW, 6
- wild_mon TAILLOW, 7
- wild_mon TAILLOW, 8
- wild_mon POOCHYENA, 7
- wild_mon POOCHYENA, 8
- wild_mon SKITTY, 7
- wild_mon SKITTY, 8
+ wild_mon SPECIES_POOCHYENA, 6
+ wild_mon SPECIES_WHISMUR, 6
+ wild_mon SPECIES_NINCADA, 6
+ wild_mon SPECIES_ABRA, 7
+ wild_mon SPECIES_NINCADA, 7
+ wild_mon SPECIES_TAILLOW, 6
+ wild_mon SPECIES_TAILLOW, 7
+ wild_mon SPECIES_TAILLOW, 8
+ wild_mon SPECIES_POOCHYENA, 7
+ wild_mon SPECIES_POOCHYENA, 8
+ wild_mon SPECIES_SKITTY, 7
+ wild_mon SPECIES_SKITTY, 8
.align 2
gRoute116_LandMonsInfo:: @ 8550C58
@@ -443,18 +443,18 @@ gRoute116_LandMonsInfo:: @ 8550C58
.align 2
gRoute117_LandMons:: @ 8550C60
- wild_mon POOCHYENA, 13
- wild_mon ODDISH, 13
- wild_mon POOCHYENA, 14
- wild_mon ODDISH, 14
- wild_mon MARILL, 13
- wild_mon ODDISH, 13
- wild_mon ILLUMISE, 13
- wild_mon ILLUMISE, 13
- wild_mon ILLUMISE, 14
- wild_mon ILLUMISE, 14
- wild_mon VOLBEAT, 13
- wild_mon SEEDOT, 13
+ wild_mon SPECIES_POOCHYENA, 13
+ wild_mon SPECIES_ODDISH, 13
+ wild_mon SPECIES_POOCHYENA, 14
+ wild_mon SPECIES_ODDISH, 14
+ wild_mon SPECIES_MARILL, 13
+ wild_mon SPECIES_ODDISH, 13
+ wild_mon SPECIES_ILLUMISE, 13
+ wild_mon SPECIES_ILLUMISE, 13
+ wild_mon SPECIES_ILLUMISE, 14
+ wild_mon SPECIES_ILLUMISE, 14
+ wild_mon SPECIES_VOLBEAT, 13
+ wild_mon SPECIES_SEEDOT, 13
.align 2
gRoute117_LandMonsInfo:: @ 8550C90
@@ -463,11 +463,11 @@ gRoute117_LandMonsInfo:: @ 8550C90
.align 2
gRoute117_WaterMons:: @ 8550C98
- wild_mon MARILL, 20, 30
- wild_mon MARILL, 10, 20
- wild_mon MARILL, 30, 35
- wild_mon MARILL, 5, 10
- wild_mon GOLDEEN, 20, 30
+ wild_mon SPECIES_MARILL, 20, 30
+ wild_mon SPECIES_MARILL, 10, 20
+ wild_mon SPECIES_MARILL, 30, 35
+ wild_mon SPECIES_MARILL, 5, 10
+ wild_mon SPECIES_GOLDEEN, 20, 30
.align 2
gRoute117_WaterMonsInfo:: @ 8550CAC
@@ -476,16 +476,16 @@ gRoute117_WaterMonsInfo:: @ 8550CAC
.align 2
gRoute117_FishingMons:: @ 8550CB4
- wild_mon MAGIKARP, 5, 10
- wild_mon GOLDEEN, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon GOLDEEN, 10, 30
- wild_mon CORPHISH, 10, 30
- wild_mon CORPHISH, 25, 30
- wild_mon CORPHISH, 30, 35
- wild_mon CORPHISH, 20, 25
- wild_mon CORPHISH, 35, 40
- wild_mon CORPHISH, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_GOLDEEN, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_GOLDEEN, 10, 30
+ wild_mon SPECIES_CORPHISH, 10, 30
+ wild_mon SPECIES_CORPHISH, 25, 30
+ wild_mon SPECIES_CORPHISH, 30, 35
+ wild_mon SPECIES_CORPHISH, 20, 25
+ wild_mon SPECIES_CORPHISH, 35, 40
+ wild_mon SPECIES_CORPHISH, 40, 45
.align 2
gRoute117_FishingMonsInfo:: @ 8550CDC
@@ -494,18 +494,18 @@ gRoute117_FishingMonsInfo:: @ 8550CDC
.align 2
gRoute118_LandMons:: @ 8550CE4
- wild_mon ZIGZAGOON, 24
- wild_mon ELECTRIKE, 24
- wild_mon ZIGZAGOON, 26
- wild_mon ELECTRIKE, 26
- wild_mon LINOONE, 26
- wild_mon MANECTRIC, 26
- wild_mon WINGULL, 25
- wild_mon WINGULL, 25
- wild_mon WINGULL, 26
- wild_mon WINGULL, 26
- wild_mon WINGULL, 27
- wild_mon KECLEON, 25
+ wild_mon SPECIES_ZIGZAGOON, 24
+ wild_mon SPECIES_ELECTRIKE, 24
+ wild_mon SPECIES_ZIGZAGOON, 26
+ wild_mon SPECIES_ELECTRIKE, 26
+ wild_mon SPECIES_LINOONE, 26
+ wild_mon SPECIES_MANECTRIC, 26
+ wild_mon SPECIES_WINGULL, 25
+ wild_mon SPECIES_WINGULL, 25
+ wild_mon SPECIES_WINGULL, 26
+ wild_mon SPECIES_WINGULL, 26
+ wild_mon SPECIES_WINGULL, 27
+ wild_mon SPECIES_KECLEON, 25
.align 2
gRoute118_LandMonsInfo:: @ 8550D14
@@ -514,11 +514,11 @@ gRoute118_LandMonsInfo:: @ 8550D14
.align 2
gRoute118_WaterMons:: @ 8550D1C
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute118_WaterMonsInfo:: @ 8550D30
@@ -527,16 +527,16 @@ gRoute118_WaterMonsInfo:: @ 8550D30
.align 2
gRoute118_FishingMons:: @ 8550D38
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon CARVANHA, 10, 30
- wild_mon SHARPEDO, 30, 35
- wild_mon CARVANHA, 30, 35
- wild_mon CARVANHA, 20, 25
- wild_mon CARVANHA, 35, 40
- wild_mon CARVANHA, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_CARVANHA, 10, 30
+ wild_mon SPECIES_SHARPEDO, 30, 35
+ wild_mon SPECIES_CARVANHA, 30, 35
+ wild_mon SPECIES_CARVANHA, 20, 25
+ wild_mon SPECIES_CARVANHA, 35, 40
+ wild_mon SPECIES_CARVANHA, 40, 45
.align 2
gRoute118_FishingMonsInfo:: @ 8550D60
@@ -545,11 +545,11 @@ gRoute118_FishingMonsInfo:: @ 8550D60
.align 2
gRoute124_WaterMons:: @ 8550D68
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute124_WaterMonsInfo:: @ 8550D7C
@@ -558,16 +558,16 @@ gRoute124_WaterMonsInfo:: @ 8550D7C
.align 2
gRoute124_FishingMons:: @ 8550D84
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon SHARPEDO, 30, 35
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_SHARPEDO, 30, 35
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute124_FishingMonsInfo:: @ 8550DAC
@@ -576,18 +576,18 @@ gRoute124_FishingMonsInfo:: @ 8550DAC
.align 2
gPetalburgWoods_LandMons:: @ 8550DB4
- wild_mon POOCHYENA, 5
- wild_mon WURMPLE, 5
- wild_mon SHROOMISH, 5
- wild_mon POOCHYENA, 6
- wild_mon SILCOON, 5
- wild_mon CASCOON, 5
- wild_mon WURMPLE, 6
- wild_mon SHROOMISH, 6
- wild_mon TAILLOW, 5
- wild_mon SLAKOTH, 5
- wild_mon TAILLOW, 6
- wild_mon SLAKOTH, 6
+ wild_mon SPECIES_POOCHYENA, 5
+ wild_mon SPECIES_WURMPLE, 5
+ wild_mon SPECIES_SHROOMISH, 5
+ wild_mon SPECIES_POOCHYENA, 6
+ wild_mon SPECIES_SILCOON, 5
+ wild_mon SPECIES_CASCOON, 5
+ wild_mon SPECIES_WURMPLE, 6
+ wild_mon SPECIES_SHROOMISH, 6
+ wild_mon SPECIES_TAILLOW, 5
+ wild_mon SPECIES_SLAKOTH, 5
+ wild_mon SPECIES_TAILLOW, 6
+ wild_mon SPECIES_SLAKOTH, 6
.align 2
gPetalburgWoods_LandMonsInfo:: @ 8550DE4
@@ -596,18 +596,18 @@ gPetalburgWoods_LandMonsInfo:: @ 8550DE4
.align 2
gRusturfTunnel_LandMons:: @ 8550DEC
- wild_mon WHISMUR, 6
- wild_mon WHISMUR, 7
- wild_mon WHISMUR, 6
- wild_mon WHISMUR, 6
- wild_mon WHISMUR, 7
- wild_mon WHISMUR, 7
- wild_mon WHISMUR, 5
- wild_mon WHISMUR, 8
- wild_mon WHISMUR, 5
- wild_mon WHISMUR, 8
- wild_mon WHISMUR, 5
- wild_mon WHISMUR, 8
+ wild_mon SPECIES_WHISMUR, 6
+ wild_mon SPECIES_WHISMUR, 7
+ wild_mon SPECIES_WHISMUR, 6
+ wild_mon SPECIES_WHISMUR, 6
+ wild_mon SPECIES_WHISMUR, 7
+ wild_mon SPECIES_WHISMUR, 7
+ wild_mon SPECIES_WHISMUR, 5
+ wild_mon SPECIES_WHISMUR, 8
+ wild_mon SPECIES_WHISMUR, 5
+ wild_mon SPECIES_WHISMUR, 8
+ wild_mon SPECIES_WHISMUR, 5
+ wild_mon SPECIES_WHISMUR, 8
.align 2
gRusturfTunnel_LandMonsInfo:: @ 8550E1C
@@ -616,18 +616,18 @@ gRusturfTunnel_LandMonsInfo:: @ 8550E1C
.align 2
gGraniteCave_1F_LandMons:: @ 8550E24
- wild_mon ZUBAT, 7
- wild_mon MAKUHITA, 8
- wild_mon MAKUHITA, 7
- wild_mon ZUBAT, 8
- wild_mon MAKUHITA, 9
- wild_mon ABRA, 8
- wild_mon MAKUHITA, 10
- wild_mon MAKUHITA, 6
- wild_mon GEODUDE, 7
- wild_mon GEODUDE, 8
- wild_mon GEODUDE, 6
- wild_mon GEODUDE, 9
+ wild_mon SPECIES_ZUBAT, 7
+ wild_mon SPECIES_MAKUHITA, 8
+ wild_mon SPECIES_MAKUHITA, 7
+ wild_mon SPECIES_ZUBAT, 8
+ wild_mon SPECIES_MAKUHITA, 9
+ wild_mon SPECIES_ABRA, 8
+ wild_mon SPECIES_MAKUHITA, 10
+ wild_mon SPECIES_MAKUHITA, 6
+ wild_mon SPECIES_GEODUDE, 7
+ wild_mon SPECIES_GEODUDE, 8
+ wild_mon SPECIES_GEODUDE, 6
+ wild_mon SPECIES_GEODUDE, 9
.align 2
gGraniteCave_1F_LandMonsInfo:: @ 8550E54
@@ -636,18 +636,18 @@ gGraniteCave_1F_LandMonsInfo:: @ 8550E54
.align 2
gGraniteCave_B1F_LandMons:: @ 8550E5C
- wild_mon ZUBAT, 9
- wild_mon ARON, 10
- wild_mon ARON, 9
- wild_mon ARON, 11
- wild_mon ZUBAT, 10
- wild_mon ABRA, 9
- wild_mon MAKUHITA, 10
- wild_mon MAKUHITA, 11
- wild_mon SABLEYE, 10
- wild_mon SABLEYE, 10
- wild_mon SABLEYE, 9
- wild_mon SABLEYE, 11
+ wild_mon SPECIES_ZUBAT, 9
+ wild_mon SPECIES_ARON, 10
+ wild_mon SPECIES_ARON, 9
+ wild_mon SPECIES_ARON, 11
+ wild_mon SPECIES_ZUBAT, 10
+ wild_mon SPECIES_ABRA, 9
+ wild_mon SPECIES_MAKUHITA, 10
+ wild_mon SPECIES_MAKUHITA, 11
+ wild_mon SPECIES_SABLEYE, 10
+ wild_mon SPECIES_SABLEYE, 10
+ wild_mon SPECIES_SABLEYE, 9
+ wild_mon SPECIES_SABLEYE, 11
.align 2
gGraniteCave_B1F_LandMonsInfo:: @ 8550E8C
@@ -656,18 +656,18 @@ gGraniteCave_B1F_LandMonsInfo:: @ 8550E8C
.align 2
gMtPyre_1F_LandMons:: @ 8550E94
- wild_mon SHUPPET, 27
- wild_mon SHUPPET, 28
- wild_mon SHUPPET, 26
- wild_mon SHUPPET, 25
- wild_mon SHUPPET, 29
- wild_mon SHUPPET, 24
- wild_mon SHUPPET, 23
- wild_mon SHUPPET, 22
- wild_mon SHUPPET, 29
- wild_mon SHUPPET, 24
- wild_mon SHUPPET, 29
- wild_mon SHUPPET, 24
+ wild_mon SPECIES_SHUPPET, 27
+ wild_mon SPECIES_SHUPPET, 28
+ wild_mon SPECIES_SHUPPET, 26
+ wild_mon SPECIES_SHUPPET, 25
+ wild_mon SPECIES_SHUPPET, 29
+ wild_mon SPECIES_SHUPPET, 24
+ wild_mon SPECIES_SHUPPET, 23
+ wild_mon SPECIES_SHUPPET, 22
+ wild_mon SPECIES_SHUPPET, 29
+ wild_mon SPECIES_SHUPPET, 24
+ wild_mon SPECIES_SHUPPET, 29
+ wild_mon SPECIES_SHUPPET, 24
.align 2
gMtPyre_1F_LandMonsInfo:: @ 8550EC4
@@ -676,18 +676,18 @@ gMtPyre_1F_LandMonsInfo:: @ 8550EC4
.align 2
gVictoryRoad_1F_LandMons:: @ 8550ECC
- wild_mon GOLBAT, 40
- wild_mon HARIYAMA, 40
- wild_mon LAIRON, 40
- wild_mon LOUDRED, 40
- wild_mon ZUBAT, 36
- wild_mon MAKUHITA, 36
- wild_mon GOLBAT, 38
- wild_mon HARIYAMA, 38
- wild_mon ARON, 36
- wild_mon WHISMUR, 36
- wild_mon ARON, 36
- wild_mon WHISMUR, 36
+ wild_mon SPECIES_GOLBAT, 40
+ wild_mon SPECIES_HARIYAMA, 40
+ wild_mon SPECIES_LAIRON, 40
+ wild_mon SPECIES_LOUDRED, 40
+ wild_mon SPECIES_ZUBAT, 36
+ wild_mon SPECIES_MAKUHITA, 36
+ wild_mon SPECIES_GOLBAT, 38
+ wild_mon SPECIES_HARIYAMA, 38
+ wild_mon SPECIES_ARON, 36
+ wild_mon SPECIES_WHISMUR, 36
+ wild_mon SPECIES_ARON, 36
+ wild_mon SPECIES_WHISMUR, 36
.align 2
gVictoryRoad_1F_LandMonsInfo:: @ 8550EFC
@@ -696,18 +696,18 @@ gVictoryRoad_1F_LandMonsInfo:: @ 8550EFC
.align 2
gSafariZone_South_LandMons:: @ 8550F04
- wild_mon ODDISH, 25
- wild_mon ODDISH, 27
- wild_mon GIRAFARIG, 25
- wild_mon GIRAFARIG, 27
- wild_mon NATU, 25
- wild_mon DODUO, 25
- wild_mon GLOOM, 25
- wild_mon WOBBUFFET, 27
- wild_mon PIKACHU, 25
- wild_mon WOBBUFFET, 27
- wild_mon PIKACHU, 27
- wild_mon WOBBUFFET, 29
+ wild_mon SPECIES_ODDISH, 25
+ wild_mon SPECIES_ODDISH, 27
+ wild_mon SPECIES_GIRAFARIG, 25
+ wild_mon SPECIES_GIRAFARIG, 27
+ wild_mon SPECIES_NATU, 25
+ wild_mon SPECIES_DODUO, 25
+ wild_mon SPECIES_GLOOM, 25
+ wild_mon SPECIES_WOBBUFFET, 27
+ wild_mon SPECIES_PIKACHU, 25
+ wild_mon SPECIES_WOBBUFFET, 27
+ wild_mon SPECIES_PIKACHU, 27
+ wild_mon SPECIES_WOBBUFFET, 29
.align 2
gSafariZone_South_LandMonsInfo:: @ 8550F34
@@ -716,11 +716,11 @@ gSafariZone_South_LandMonsInfo:: @ 8550F34
.align 2
gUnderwater2_WaterMons:: @ 8550F3C
- wild_mon CLAMPERL, 20, 30
- wild_mon CHINCHOU, 20, 30
- wild_mon CLAMPERL, 30, 35
- wild_mon RELICANTH, 30, 35
- wild_mon RELICANTH, 30, 35
+ wild_mon SPECIES_CLAMPERL, 20, 30
+ wild_mon SPECIES_CHINCHOU, 20, 30
+ wild_mon SPECIES_CLAMPERL, 30, 35
+ wild_mon SPECIES_RELICANTH, 30, 35
+ wild_mon SPECIES_RELICANTH, 30, 35
.align 2
gUnderwater2_WaterMonsInfo:: @ 8550F50
@@ -729,11 +729,11 @@ gUnderwater2_WaterMonsInfo:: @ 8550F50
.align 2
gAbandonedShip_Rooms_B1F_WaterMons:: @ 8550F58
- wild_mon TENTACOOL, 5, 35
- wild_mon TENTACOOL, 5, 35
- wild_mon TENTACOOL, 5, 35
- wild_mon TENTACOOL, 5, 35
- wild_mon TENTACRUEL, 30, 35
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_TENTACRUEL, 30, 35
.align 2
gAbandonedShip_Rooms_B1F_WaterMonsInfo:: @ 8550F6C
@@ -742,16 +742,16 @@ gAbandonedShip_Rooms_B1F_WaterMonsInfo:: @ 8550F6C
.align 2
gAbandonedShip_Rooms_B1F_FishingMons:: @ 8550F74
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon TENTACOOL, 25, 30
- wild_mon TENTACOOL, 30, 35
- wild_mon TENTACRUEL, 30, 35
- wild_mon TENTACRUEL, 25, 30
- wild_mon TENTACRUEL, 20, 25
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_TENTACOOL, 25, 30
+ wild_mon SPECIES_TENTACOOL, 30, 35
+ wild_mon SPECIES_TENTACRUEL, 30, 35
+ wild_mon SPECIES_TENTACRUEL, 25, 30
+ wild_mon SPECIES_TENTACRUEL, 20, 25
.align 2
gAbandonedShip_Rooms_B1F_FishingMonsInfo:: @ 8550F9C
@@ -760,18 +760,18 @@ gAbandonedShip_Rooms_B1F_FishingMonsInfo:: @ 8550F9C
.align 2
gGraniteCave_B2F_LandMons:: @ 8550FA4
- wild_mon ZUBAT, 10
- wild_mon ARON, 11
- wild_mon ARON, 10
- wild_mon ZUBAT, 11
- wild_mon ARON, 12
- wild_mon ABRA, 10
- wild_mon SABLEYE, 10
- wild_mon SABLEYE, 11
- wild_mon SABLEYE, 12
- wild_mon SABLEYE, 10
- wild_mon SABLEYE, 12
- wild_mon SABLEYE, 10
+ wild_mon SPECIES_ZUBAT, 10
+ wild_mon SPECIES_ARON, 11
+ wild_mon SPECIES_ARON, 10
+ wild_mon SPECIES_ZUBAT, 11
+ wild_mon SPECIES_ARON, 12
+ wild_mon SPECIES_ABRA, 10
+ wild_mon SPECIES_SABLEYE, 10
+ wild_mon SPECIES_SABLEYE, 11
+ wild_mon SPECIES_SABLEYE, 12
+ wild_mon SPECIES_SABLEYE, 10
+ wild_mon SPECIES_SABLEYE, 12
+ wild_mon SPECIES_SABLEYE, 10
.align 2
gGraniteCave_B2F_LandMonsInfo:: @ 8550FD4
@@ -780,11 +780,11 @@ gGraniteCave_B2F_LandMonsInfo:: @ 8550FD4
.align 2
gGraniteCave_B2F_RockSmashMons:: @ 8550FDC
- wild_mon GEODUDE, 10, 15
- wild_mon NOSEPASS, 10, 20
- wild_mon GEODUDE, 5, 10
- wild_mon GEODUDE, 15, 20
- wild_mon GEODUDE, 15, 20
+ wild_mon SPECIES_GEODUDE, 10, 15
+ wild_mon SPECIES_NOSEPASS, 10, 20
+ wild_mon SPECIES_GEODUDE, 5, 10
+ wild_mon SPECIES_GEODUDE, 15, 20
+ wild_mon SPECIES_GEODUDE, 15, 20
.align 2
gGraniteCave_B2F_RockSmashMonsInfo:: @ 8550FF0
@@ -793,18 +793,18 @@ gGraniteCave_B2F_RockSmashMonsInfo:: @ 8550FF0
.align 2
gFieryPath_LandMons:: @ 8550FF8
- wild_mon NUMEL, 15
- wild_mon KOFFING, 15
- wild_mon NUMEL, 16
- wild_mon MACHOP, 15
- wild_mon TORKOAL, 15
- wild_mon SLUGMA, 15
- wild_mon KOFFING, 16
- wild_mon MACHOP, 16
- wild_mon TORKOAL, 14
- wild_mon TORKOAL, 16
- wild_mon GRIMER, 14
- wild_mon GRIMER, 14
+ wild_mon SPECIES_NUMEL, 15
+ wild_mon SPECIES_KOFFING, 15
+ wild_mon SPECIES_NUMEL, 16
+ wild_mon SPECIES_MACHOP, 15
+ wild_mon SPECIES_TORKOAL, 15
+ wild_mon SPECIES_SLUGMA, 15
+ wild_mon SPECIES_KOFFING, 16
+ wild_mon SPECIES_MACHOP, 16
+ wild_mon SPECIES_TORKOAL, 14
+ wild_mon SPECIES_TORKOAL, 16
+ wild_mon SPECIES_GRIMER, 14
+ wild_mon SPECIES_GRIMER, 14
.align 2
gFieryPath_LandMonsInfo:: @ 8551028
@@ -813,18 +813,18 @@ gFieryPath_LandMonsInfo:: @ 8551028
.align 2
gMeteorFalls_B1F_2R_LandMons:: @ 8551030
- wild_mon GOLBAT, 33
- wild_mon GOLBAT, 35
- wild_mon BAGON, 30
- wild_mon SOLROCK, 35
- wild_mon BAGON, 35
- wild_mon SOLROCK, 37
- wild_mon BAGON, 25
- wild_mon SOLROCK, 39
- wild_mon GOLBAT, 38
- wild_mon GOLBAT, 40
- wild_mon GOLBAT, 38
- wild_mon GOLBAT, 40
+ wild_mon SPECIES_GOLBAT, 33
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_BAGON, 30
+ wild_mon SPECIES_SOLROCK, 35
+ wild_mon SPECIES_BAGON, 35
+ wild_mon SPECIES_SOLROCK, 37
+ wild_mon SPECIES_BAGON, 25
+ wild_mon SPECIES_SOLROCK, 39
+ wild_mon SPECIES_GOLBAT, 38
+ wild_mon SPECIES_GOLBAT, 40
+ wild_mon SPECIES_GOLBAT, 38
+ wild_mon SPECIES_GOLBAT, 40
.align 2
gMeteorFalls_B1F_2R_LandMonsInfo:: @ 8551060
@@ -833,11 +833,11 @@ gMeteorFalls_B1F_2R_LandMonsInfo:: @ 8551060
.align 2
gMeteorFalls_B1F_2R_WaterMons:: @ 8551068
- wild_mon GOLBAT, 30, 35
- wild_mon GOLBAT, 30, 35
- wild_mon SOLROCK, 25, 35
- wild_mon SOLROCK, 15, 25
- wild_mon SOLROCK, 5, 15
+ wild_mon SPECIES_GOLBAT, 30, 35
+ wild_mon SPECIES_GOLBAT, 30, 35
+ wild_mon SPECIES_SOLROCK, 25, 35
+ wild_mon SPECIES_SOLROCK, 15, 25
+ wild_mon SPECIES_SOLROCK, 5, 15
.align 2
gMeteorFalls_B1F_2R_WaterMonsInfo:: @ 855107C
@@ -846,16 +846,16 @@ gMeteorFalls_B1F_2R_WaterMonsInfo:: @ 855107C
.align 2
gMeteorFalls_B1F_2R_FishingMons:: @ 8551084
- wild_mon MAGIKARP, 5, 10
- wild_mon GOLDEEN, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon GOLDEEN, 10, 30
- wild_mon BARBOACH, 10, 30
- wild_mon BARBOACH, 25, 30
- wild_mon BARBOACH, 30, 35
- wild_mon WHISCASH, 30, 35
- wild_mon WHISCASH, 35, 40
- wild_mon WHISCASH, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_GOLDEEN, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_GOLDEEN, 10, 30
+ wild_mon SPECIES_BARBOACH, 10, 30
+ wild_mon SPECIES_BARBOACH, 25, 30
+ wild_mon SPECIES_BARBOACH, 30, 35
+ wild_mon SPECIES_WHISCASH, 30, 35
+ wild_mon SPECIES_WHISCASH, 35, 40
+ wild_mon SPECIES_WHISCASH, 40, 45
.align 2
gMeteorFalls_B1F_2R_FishingMonsInfo:: @ 85510AC
@@ -864,18 +864,18 @@ gMeteorFalls_B1F_2R_FishingMonsInfo:: @ 85510AC
.align 2
gJaggedPass_LandMons:: @ 85510B4
- wild_mon NUMEL, 21
- wild_mon NUMEL, 21
- wild_mon MACHOP, 21
- wild_mon NUMEL, 20
- wild_mon SPOINK, 20
- wild_mon MACHOP, 20
- wild_mon SPOINK, 21
- wild_mon MACHOP, 22
- wild_mon NUMEL, 22
- wild_mon SPOINK, 22
- wild_mon NUMEL, 22
- wild_mon SPOINK, 22
+ wild_mon SPECIES_NUMEL, 21
+ wild_mon SPECIES_NUMEL, 21
+ wild_mon SPECIES_MACHOP, 21
+ wild_mon SPECIES_NUMEL, 20
+ wild_mon SPECIES_SPOINK, 20
+ wild_mon SPECIES_MACHOP, 20
+ wild_mon SPECIES_SPOINK, 21
+ wild_mon SPECIES_MACHOP, 22
+ wild_mon SPECIES_NUMEL, 22
+ wild_mon SPECIES_SPOINK, 22
+ wild_mon SPECIES_NUMEL, 22
+ wild_mon SPECIES_SPOINK, 22
.align 2
gJaggedPass_LandMonsInfo:: @ 85510E4
@@ -884,11 +884,11 @@ gJaggedPass_LandMonsInfo:: @ 85510E4
.align 2
gRoute106_WaterMons:: @ 85510EC
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute106_WaterMonsInfo:: @ 8551100
@@ -897,16 +897,16 @@ gRoute106_WaterMonsInfo:: @ 8551100
.align 2
gRoute106_FishingMons:: @ 8551108
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 20, 25
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 20, 25
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute106_FishingMonsInfo:: @ 8551130
@@ -915,11 +915,11 @@ gRoute106_FishingMonsInfo:: @ 8551130
.align 2
gRoute107_WaterMons:: @ 8551138
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute107_WaterMonsInfo:: @ 855114C
@@ -928,16 +928,16 @@ gRoute107_WaterMonsInfo:: @ 855114C
.align 2
gRoute107_FishingMons:: @ 8551154
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 20, 25
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 20, 25
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute107_FishingMonsInfo:: @ 855117C
@@ -946,11 +946,11 @@ gRoute107_FishingMonsInfo:: @ 855117C
.align 2
gRoute108_WaterMons:: @ 8551184
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute108_WaterMonsInfo:: @ 8551198
@@ -959,16 +959,16 @@ gRoute108_WaterMonsInfo:: @ 8551198
.align 2
gRoute108_FishingMons:: @ 85511A0
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 20, 25
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 20, 25
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute108_FishingMonsInfo:: @ 85511C8
@@ -977,11 +977,11 @@ gRoute108_FishingMonsInfo:: @ 85511C8
.align 2
gRoute109_WaterMons:: @ 85511D0
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute109_WaterMonsInfo:: @ 85511E4
@@ -990,16 +990,16 @@ gRoute109_WaterMonsInfo:: @ 85511E4
.align 2
gRoute109_FishingMons:: @ 85511EC
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 20, 25
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 20, 25
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute109_FishingMonsInfo:: @ 8551214
@@ -1008,18 +1008,18 @@ gRoute109_FishingMonsInfo:: @ 8551214
.align 2
gRoute115_LandMons:: @ 855121C
- wild_mon SWABLU, 23
- wild_mon TAILLOW, 23
- wild_mon SWABLU, 25
- wild_mon TAILLOW, 24
- wild_mon TAILLOW, 25
- wild_mon SWELLOW, 25
- wild_mon JIGGLYPUFF, 24
- wild_mon JIGGLYPUFF, 25
- wild_mon WINGULL, 24
- wild_mon WINGULL, 24
- wild_mon WINGULL, 26
- wild_mon WINGULL, 25
+ wild_mon SPECIES_SWABLU, 23
+ wild_mon SPECIES_TAILLOW, 23
+ wild_mon SPECIES_SWABLU, 25
+ wild_mon SPECIES_TAILLOW, 24
+ wild_mon SPECIES_TAILLOW, 25
+ wild_mon SPECIES_SWELLOW, 25
+ wild_mon SPECIES_JIGGLYPUFF, 24
+ wild_mon SPECIES_JIGGLYPUFF, 25
+ wild_mon SPECIES_WINGULL, 24
+ wild_mon SPECIES_WINGULL, 24
+ wild_mon SPECIES_WINGULL, 26
+ wild_mon SPECIES_WINGULL, 25
.align 2
gRoute115_LandMonsInfo:: @ 855124C
@@ -1028,11 +1028,11 @@ gRoute115_LandMonsInfo:: @ 855124C
.align 2
gRoute115_WaterMons:: @ 8551254
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute115_WaterMonsInfo:: @ 8551268
@@ -1041,16 +1041,16 @@ gRoute115_WaterMonsInfo:: @ 8551268
.align 2
gRoute115_FishingMons:: @ 8551270
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 20, 25
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 20, 25
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute115_FishingMonsInfo:: @ 8551298
@@ -1059,18 +1059,18 @@ gRoute115_FishingMonsInfo:: @ 8551298
.align 2
gNewMauville_Inside_LandMons:: @ 85512A0
- wild_mon VOLTORB, 24
- wild_mon MAGNEMITE, 24
- wild_mon VOLTORB, 25
- wild_mon MAGNEMITE, 25
- wild_mon VOLTORB, 23
- wild_mon MAGNEMITE, 23
- wild_mon VOLTORB, 26
- wild_mon MAGNEMITE, 26
- wild_mon VOLTORB, 22
- wild_mon MAGNEMITE, 22
- wild_mon ELECTRODE, 26
- wild_mon MAGNETON, 26
+ wild_mon SPECIES_VOLTORB, 24
+ wild_mon SPECIES_MAGNEMITE, 24
+ wild_mon SPECIES_VOLTORB, 25
+ wild_mon SPECIES_MAGNEMITE, 25
+ wild_mon SPECIES_VOLTORB, 23
+ wild_mon SPECIES_MAGNEMITE, 23
+ wild_mon SPECIES_VOLTORB, 26
+ wild_mon SPECIES_MAGNEMITE, 26
+ wild_mon SPECIES_VOLTORB, 22
+ wild_mon SPECIES_MAGNEMITE, 22
+ wild_mon SPECIES_ELECTRODE, 26
+ wild_mon SPECIES_MAGNETON, 26
.align 2
gNewMauville_Inside_LandMonsInfo:: @ 85512D0
@@ -1079,18 +1079,18 @@ gNewMauville_Inside_LandMonsInfo:: @ 85512D0
.align 2
gRoute119_LandMons:: @ 85512D8
- wild_mon ZIGZAGOON, 25
- wild_mon LINOONE, 25
- wild_mon ZIGZAGOON, 27
- wild_mon ODDISH, 25
- wild_mon LINOONE, 27
- wild_mon ODDISH, 26
- wild_mon ODDISH, 27
- wild_mon ODDISH, 24
- wild_mon TROPIUS, 25
- wild_mon TROPIUS, 26
- wild_mon TROPIUS, 27
- wild_mon KECLEON, 25
+ wild_mon SPECIES_ZIGZAGOON, 25
+ wild_mon SPECIES_LINOONE, 25
+ wild_mon SPECIES_ZIGZAGOON, 27
+ wild_mon SPECIES_ODDISH, 25
+ wild_mon SPECIES_LINOONE, 27
+ wild_mon SPECIES_ODDISH, 26
+ wild_mon SPECIES_ODDISH, 27
+ wild_mon SPECIES_ODDISH, 24
+ wild_mon SPECIES_TROPIUS, 25
+ wild_mon SPECIES_TROPIUS, 26
+ wild_mon SPECIES_TROPIUS, 27
+ wild_mon SPECIES_KECLEON, 25
.align 2
gRoute119_LandMonsInfo:: @ 8551308
@@ -1099,11 +1099,11 @@ gRoute119_LandMonsInfo:: @ 8551308
.align 2
gRoute119_WaterMons:: @ 8551310
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute119_WaterMonsInfo:: @ 8551324
@@ -1112,16 +1112,16 @@ gRoute119_WaterMonsInfo:: @ 8551324
.align 2
gRoute119_FishingMons:: @ 855132C
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon CARVANHA, 10, 30
- wild_mon CARVANHA, 25, 30
- wild_mon CARVANHA, 30, 35
- wild_mon CARVANHA, 20, 25
- wild_mon CARVANHA, 35, 40
- wild_mon CARVANHA, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_CARVANHA, 10, 30
+ wild_mon SPECIES_CARVANHA, 25, 30
+ wild_mon SPECIES_CARVANHA, 30, 35
+ wild_mon SPECIES_CARVANHA, 20, 25
+ wild_mon SPECIES_CARVANHA, 35, 40
+ wild_mon SPECIES_CARVANHA, 40, 45
.align 2
gRoute119_FishingMonsInfo:: @ 8551354
@@ -1130,18 +1130,18 @@ gRoute119_FishingMonsInfo:: @ 8551354
.align 2
gRoute120_LandMons:: @ 855135C
- wild_mon POOCHYENA, 25
- wild_mon MIGHTYENA, 25
- wild_mon MIGHTYENA, 27
- wild_mon ODDISH, 25
- wild_mon MARILL, 25
- wild_mon ODDISH, 26
- wild_mon ODDISH, 27
- wild_mon MARILL, 27
- wild_mon ABSOL, 25
- wild_mon ABSOL, 27
- wild_mon KECLEON, 25
- wild_mon SEEDOT, 25
+ wild_mon SPECIES_POOCHYENA, 25
+ wild_mon SPECIES_MIGHTYENA, 25
+ wild_mon SPECIES_MIGHTYENA, 27
+ wild_mon SPECIES_ODDISH, 25
+ wild_mon SPECIES_MARILL, 25
+ wild_mon SPECIES_ODDISH, 26
+ wild_mon SPECIES_ODDISH, 27
+ wild_mon SPECIES_MARILL, 27
+ wild_mon SPECIES_ABSOL, 25
+ wild_mon SPECIES_ABSOL, 27
+ wild_mon SPECIES_KECLEON, 25
+ wild_mon SPECIES_SEEDOT, 25
.align 2
gRoute120_LandMonsInfo:: @ 855138C
@@ -1150,11 +1150,11 @@ gRoute120_LandMonsInfo:: @ 855138C
.align 2
gRoute120_WaterMons:: @ 8551394
- wild_mon MARILL, 20, 30
- wild_mon MARILL, 10, 20
- wild_mon MARILL, 30, 35
- wild_mon MARILL, 5, 10
- wild_mon GOLDEEN, 20, 30
+ wild_mon SPECIES_MARILL, 20, 30
+ wild_mon SPECIES_MARILL, 10, 20
+ wild_mon SPECIES_MARILL, 30, 35
+ wild_mon SPECIES_MARILL, 5, 10
+ wild_mon SPECIES_GOLDEEN, 20, 30
.align 2
gRoute120_WaterMonsInfo:: @ 85513A8
@@ -1163,16 +1163,16 @@ gRoute120_WaterMonsInfo:: @ 85513A8
.align 2
gRoute120_FishingMons:: @ 85513B0
- wild_mon MAGIKARP, 5, 10
- wild_mon GOLDEEN, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon GOLDEEN, 10, 30
- wild_mon BARBOACH, 10, 30
- wild_mon BARBOACH, 25, 30
- wild_mon BARBOACH, 30, 35
- wild_mon BARBOACH, 20, 25
- wild_mon BARBOACH, 35, 40
- wild_mon BARBOACH, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_GOLDEEN, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_GOLDEEN, 10, 30
+ wild_mon SPECIES_BARBOACH, 10, 30
+ wild_mon SPECIES_BARBOACH, 25, 30
+ wild_mon SPECIES_BARBOACH, 30, 35
+ wild_mon SPECIES_BARBOACH, 20, 25
+ wild_mon SPECIES_BARBOACH, 35, 40
+ wild_mon SPECIES_BARBOACH, 40, 45
.align 2
gRoute120_FishingMonsInfo:: @ 85513D8
@@ -1181,18 +1181,18 @@ gRoute120_FishingMonsInfo:: @ 85513D8
.align 2
gRoute121_LandMons:: @ 85513E0
- wild_mon POOCHYENA, 26
- wild_mon SHUPPET, 26
- wild_mon MIGHTYENA, 26
- wild_mon SHUPPET, 28
- wild_mon MIGHTYENA, 28
- wild_mon ODDISH, 26
- wild_mon ODDISH, 28
- wild_mon GLOOM, 28
- wild_mon WINGULL, 26
- wild_mon WINGULL, 27
- wild_mon WINGULL, 28
- wild_mon KECLEON, 25
+ wild_mon SPECIES_POOCHYENA, 26
+ wild_mon SPECIES_SHUPPET, 26
+ wild_mon SPECIES_MIGHTYENA, 26
+ wild_mon SPECIES_SHUPPET, 28
+ wild_mon SPECIES_MIGHTYENA, 28
+ wild_mon SPECIES_ODDISH, 26
+ wild_mon SPECIES_ODDISH, 28
+ wild_mon SPECIES_GLOOM, 28
+ wild_mon SPECIES_WINGULL, 26
+ wild_mon SPECIES_WINGULL, 27
+ wild_mon SPECIES_WINGULL, 28
+ wild_mon SPECIES_KECLEON, 25
.align 2
gRoute121_LandMonsInfo:: @ 8551410
@@ -1201,11 +1201,11 @@ gRoute121_LandMonsInfo:: @ 8551410
.align 2
gRoute121_WaterMons:: @ 8551418
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute121_WaterMonsInfo:: @ 855142C
@@ -1214,16 +1214,16 @@ gRoute121_WaterMonsInfo:: @ 855142C
.align 2
gRoute121_FishingMons:: @ 8551434
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 20, 25
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 20, 25
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute121_FishingMonsInfo:: @ 855145C
@@ -1232,11 +1232,11 @@ gRoute121_FishingMonsInfo:: @ 855145C
.align 2
gRoute122_WaterMons:: @ 8551464
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute122_WaterMonsInfo:: @ 8551478
@@ -1245,16 +1245,16 @@ gRoute122_WaterMonsInfo:: @ 8551478
.align 2
gRoute122_FishingMons:: @ 8551480
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon SHARPEDO, 30, 35
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_SHARPEDO, 30, 35
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute122_FishingMonsInfo:: @ 85514A8
@@ -1263,18 +1263,18 @@ gRoute122_FishingMonsInfo:: @ 85514A8
.align 2
gRoute123_LandMons:: @ 85514B0
- wild_mon POOCHYENA, 26
- wild_mon SHUPPET, 26
- wild_mon MIGHTYENA, 26
- wild_mon SHUPPET, 28
- wild_mon MIGHTYENA, 28
- wild_mon ODDISH, 26
- wild_mon ODDISH, 28
- wild_mon GLOOM, 28
- wild_mon WINGULL, 26
- wild_mon WINGULL, 27
- wild_mon WINGULL, 28
- wild_mon KECLEON, 25
+ wild_mon SPECIES_POOCHYENA, 26
+ wild_mon SPECIES_SHUPPET, 26
+ wild_mon SPECIES_MIGHTYENA, 26
+ wild_mon SPECIES_SHUPPET, 28
+ wild_mon SPECIES_MIGHTYENA, 28
+ wild_mon SPECIES_ODDISH, 26
+ wild_mon SPECIES_ODDISH, 28
+ wild_mon SPECIES_GLOOM, 28
+ wild_mon SPECIES_WINGULL, 26
+ wild_mon SPECIES_WINGULL, 27
+ wild_mon SPECIES_WINGULL, 28
+ wild_mon SPECIES_KECLEON, 25
.align 2
gRoute123_LandMonsInfo:: @ 85514E0
@@ -1283,11 +1283,11 @@ gRoute123_LandMonsInfo:: @ 85514E0
.align 2
gRoute123_WaterMons:: @ 85514E8
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute123_WaterMonsInfo:: @ 85514FC
@@ -1296,16 +1296,16 @@ gRoute123_WaterMonsInfo:: @ 85514FC
.align 2
gRoute123_FishingMons:: @ 8551504
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 20, 25
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 20, 25
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute123_FishingMonsInfo:: @ 855152C
@@ -1314,18 +1314,18 @@ gRoute123_FishingMonsInfo:: @ 855152C
.align 2
gMtPyre_2F_LandMons:: @ 8551534
- wild_mon SHUPPET, 27
- wild_mon SHUPPET, 28
- wild_mon SHUPPET, 26
- wild_mon SHUPPET, 25
- wild_mon SHUPPET, 29
- wild_mon SHUPPET, 24
- wild_mon SHUPPET, 23
- wild_mon SHUPPET, 22
- wild_mon SHUPPET, 29
- wild_mon SHUPPET, 24
- wild_mon SHUPPET, 29
- wild_mon SHUPPET, 24
+ wild_mon SPECIES_SHUPPET, 27
+ wild_mon SPECIES_SHUPPET, 28
+ wild_mon SPECIES_SHUPPET, 26
+ wild_mon SPECIES_SHUPPET, 25
+ wild_mon SPECIES_SHUPPET, 29
+ wild_mon SPECIES_SHUPPET, 24
+ wild_mon SPECIES_SHUPPET, 23
+ wild_mon SPECIES_SHUPPET, 22
+ wild_mon SPECIES_SHUPPET, 29
+ wild_mon SPECIES_SHUPPET, 24
+ wild_mon SPECIES_SHUPPET, 29
+ wild_mon SPECIES_SHUPPET, 24
.align 2
gMtPyre_2F_LandMonsInfo:: @ 8551564
@@ -1334,18 +1334,18 @@ gMtPyre_2F_LandMonsInfo:: @ 8551564
.align 2
gMtPyre_3F_LandMons:: @ 855156C
- wild_mon SHUPPET, 27
- wild_mon SHUPPET, 28
- wild_mon SHUPPET, 26
- wild_mon SHUPPET, 25
- wild_mon SHUPPET, 29
- wild_mon SHUPPET, 24
- wild_mon SHUPPET, 23
- wild_mon SHUPPET, 22
- wild_mon SHUPPET, 29
- wild_mon SHUPPET, 24
- wild_mon SHUPPET, 29
- wild_mon SHUPPET, 24
+ wild_mon SPECIES_SHUPPET, 27
+ wild_mon SPECIES_SHUPPET, 28
+ wild_mon SPECIES_SHUPPET, 26
+ wild_mon SPECIES_SHUPPET, 25
+ wild_mon SPECIES_SHUPPET, 29
+ wild_mon SPECIES_SHUPPET, 24
+ wild_mon SPECIES_SHUPPET, 23
+ wild_mon SPECIES_SHUPPET, 22
+ wild_mon SPECIES_SHUPPET, 29
+ wild_mon SPECIES_SHUPPET, 24
+ wild_mon SPECIES_SHUPPET, 29
+ wild_mon SPECIES_SHUPPET, 24
.align 2
gMtPyre_3F_LandMonsInfo:: @ 855159C
@@ -1354,18 +1354,18 @@ gMtPyre_3F_LandMonsInfo:: @ 855159C
.align 2
gMtPyre_4F_LandMons:: @ 85515A4
- wild_mon SHUPPET, 27
- wild_mon SHUPPET, 28
- wild_mon SHUPPET, 26
- wild_mon SHUPPET, 25
- wild_mon SHUPPET, 29
- wild_mon SHUPPET, 24
- wild_mon SHUPPET, 23
- wild_mon SHUPPET, 22
- wild_mon DUSKULL, 27
- wild_mon DUSKULL, 27
- wild_mon DUSKULL, 25
- wild_mon DUSKULL, 29
+ wild_mon SPECIES_SHUPPET, 27
+ wild_mon SPECIES_SHUPPET, 28
+ wild_mon SPECIES_SHUPPET, 26
+ wild_mon SPECIES_SHUPPET, 25
+ wild_mon SPECIES_SHUPPET, 29
+ wild_mon SPECIES_SHUPPET, 24
+ wild_mon SPECIES_SHUPPET, 23
+ wild_mon SPECIES_SHUPPET, 22
+ wild_mon SPECIES_DUSKULL, 27
+ wild_mon SPECIES_DUSKULL, 27
+ wild_mon SPECIES_DUSKULL, 25
+ wild_mon SPECIES_DUSKULL, 29
.align 2
gMtPyre_4F_LandMonsInfo:: @ 85515D4
@@ -1374,18 +1374,18 @@ gMtPyre_4F_LandMonsInfo:: @ 85515D4
.align 2
gMtPyre_5F_LandMons:: @ 85515DC
- wild_mon SHUPPET, 27
- wild_mon SHUPPET, 28
- wild_mon SHUPPET, 26
- wild_mon SHUPPET, 25
- wild_mon SHUPPET, 29
- wild_mon SHUPPET, 24
- wild_mon SHUPPET, 23
- wild_mon SHUPPET, 22
- wild_mon DUSKULL, 27
- wild_mon DUSKULL, 27
- wild_mon DUSKULL, 25
- wild_mon DUSKULL, 29
+ wild_mon SPECIES_SHUPPET, 27
+ wild_mon SPECIES_SHUPPET, 28
+ wild_mon SPECIES_SHUPPET, 26
+ wild_mon SPECIES_SHUPPET, 25
+ wild_mon SPECIES_SHUPPET, 29
+ wild_mon SPECIES_SHUPPET, 24
+ wild_mon SPECIES_SHUPPET, 23
+ wild_mon SPECIES_SHUPPET, 22
+ wild_mon SPECIES_DUSKULL, 27
+ wild_mon SPECIES_DUSKULL, 27
+ wild_mon SPECIES_DUSKULL, 25
+ wild_mon SPECIES_DUSKULL, 29
.align 2
gMtPyre_5F_LandMonsInfo:: @ 855160C
@@ -1394,18 +1394,18 @@ gMtPyre_5F_LandMonsInfo:: @ 855160C
.align 2
gMtPyre_6F_LandMons:: @ 8551614
- wild_mon SHUPPET, 27
- wild_mon SHUPPET, 28
- wild_mon SHUPPET, 26
- wild_mon SHUPPET, 25
- wild_mon SHUPPET, 29
- wild_mon SHUPPET, 24
- wild_mon SHUPPET, 23
- wild_mon SHUPPET, 22
- wild_mon DUSKULL, 27
- wild_mon DUSKULL, 27
- wild_mon DUSKULL, 25
- wild_mon DUSKULL, 29
+ wild_mon SPECIES_SHUPPET, 27
+ wild_mon SPECIES_SHUPPET, 28
+ wild_mon SPECIES_SHUPPET, 26
+ wild_mon SPECIES_SHUPPET, 25
+ wild_mon SPECIES_SHUPPET, 29
+ wild_mon SPECIES_SHUPPET, 24
+ wild_mon SPECIES_SHUPPET, 23
+ wild_mon SPECIES_SHUPPET, 22
+ wild_mon SPECIES_DUSKULL, 27
+ wild_mon SPECIES_DUSKULL, 27
+ wild_mon SPECIES_DUSKULL, 25
+ wild_mon SPECIES_DUSKULL, 29
.align 2
gMtPyre_6F_LandMonsInfo:: @ 8551644
@@ -1414,18 +1414,18 @@ gMtPyre_6F_LandMonsInfo:: @ 8551644
.align 2
gMtPyre_Exterior_LandMons:: @ 855164C
- wild_mon SHUPPET, 27
- wild_mon SHUPPET, 27
- wild_mon SHUPPET, 28
- wild_mon SHUPPET, 29
- wild_mon VULPIX, 29
- wild_mon VULPIX, 27
- wild_mon VULPIX, 29
- wild_mon VULPIX, 25
- wild_mon WINGULL, 27
- wild_mon WINGULL, 27
- wild_mon WINGULL, 26
- wild_mon WINGULL, 28
+ wild_mon SPECIES_SHUPPET, 27
+ wild_mon SPECIES_SHUPPET, 27
+ wild_mon SPECIES_SHUPPET, 28
+ wild_mon SPECIES_SHUPPET, 29
+ wild_mon SPECIES_VULPIX, 29
+ wild_mon SPECIES_VULPIX, 27
+ wild_mon SPECIES_VULPIX, 29
+ wild_mon SPECIES_VULPIX, 25
+ wild_mon SPECIES_WINGULL, 27
+ wild_mon SPECIES_WINGULL, 27
+ wild_mon SPECIES_WINGULL, 26
+ wild_mon SPECIES_WINGULL, 28
.align 2
gMtPyre_Exterior_LandMonsInfo:: @ 855167C
@@ -1434,18 +1434,18 @@ gMtPyre_Exterior_LandMonsInfo:: @ 855167C
.align 2
gMtPyre_Summit_LandMons:: @ 8551684
- wild_mon SHUPPET, 28
- wild_mon SHUPPET, 29
- wild_mon SHUPPET, 27
- wild_mon SHUPPET, 26
- wild_mon SHUPPET, 30
- wild_mon SHUPPET, 25
- wild_mon SHUPPET, 24
- wild_mon DUSKULL, 28
- wild_mon DUSKULL, 26
- wild_mon DUSKULL, 30
- wild_mon CHIMECHO, 28
- wild_mon CHIMECHO, 28
+ wild_mon SPECIES_SHUPPET, 28
+ wild_mon SPECIES_SHUPPET, 29
+ wild_mon SPECIES_SHUPPET, 27
+ wild_mon SPECIES_SHUPPET, 26
+ wild_mon SPECIES_SHUPPET, 30
+ wild_mon SPECIES_SHUPPET, 25
+ wild_mon SPECIES_SHUPPET, 24
+ wild_mon SPECIES_DUSKULL, 28
+ wild_mon SPECIES_DUSKULL, 26
+ wild_mon SPECIES_DUSKULL, 30
+ wild_mon SPECIES_CHIMECHO, 28
+ wild_mon SPECIES_CHIMECHO, 28
.align 2
gMtPyre_Summit_LandMonsInfo:: @ 85516B4
@@ -1454,18 +1454,18 @@ gMtPyre_Summit_LandMonsInfo:: @ 85516B4
.align 2
gGraniteCave_StevensRoom_LandMons:: @ 85516BC
- wild_mon ZUBAT, 7
- wild_mon MAKUHITA, 8
- wild_mon MAKUHITA, 7
- wild_mon ZUBAT, 8
- wild_mon MAKUHITA, 9
- wild_mon ABRA, 8
- wild_mon MAKUHITA, 10
- wild_mon MAKUHITA, 6
- wild_mon ARON, 7
- wild_mon ARON, 8
- wild_mon ARON, 7
- wild_mon ARON, 8
+ wild_mon SPECIES_ZUBAT, 7
+ wild_mon SPECIES_MAKUHITA, 8
+ wild_mon SPECIES_MAKUHITA, 7
+ wild_mon SPECIES_ZUBAT, 8
+ wild_mon SPECIES_MAKUHITA, 9
+ wild_mon SPECIES_ABRA, 8
+ wild_mon SPECIES_MAKUHITA, 10
+ wild_mon SPECIES_MAKUHITA, 6
+ wild_mon SPECIES_ARON, 7
+ wild_mon SPECIES_ARON, 8
+ wild_mon SPECIES_ARON, 7
+ wild_mon SPECIES_ARON, 8
.align 2
gGraniteCave_StevensRoom_LandMonsInfo:: @ 85516EC
@@ -1474,11 +1474,11 @@ gGraniteCave_StevensRoom_LandMonsInfo:: @ 85516EC
.align 2
gRoute125_WaterMons:: @ 85516F4
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute125_WaterMonsInfo:: @ 8551708
@@ -1487,16 +1487,16 @@ gRoute125_WaterMonsInfo:: @ 8551708
.align 2
gRoute125_FishingMons:: @ 8551710
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon SHARPEDO, 30, 35
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_SHARPEDO, 30, 35
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute125_FishingMonsInfo:: @ 8551738
@@ -1505,11 +1505,11 @@ gRoute125_FishingMonsInfo:: @ 8551738
.align 2
gRoute126_WaterMons:: @ 8551740
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute126_WaterMonsInfo:: @ 8551754
@@ -1518,16 +1518,16 @@ gRoute126_WaterMonsInfo:: @ 8551754
.align 2
gRoute126_FishingMons:: @ 855175C
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon SHARPEDO, 30, 35
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_SHARPEDO, 30, 35
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute126_FishingMonsInfo:: @ 8551784
@@ -1536,11 +1536,11 @@ gRoute126_FishingMonsInfo:: @ 8551784
.align 2
gRoute127_WaterMons:: @ 855178C
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute127_WaterMonsInfo:: @ 85517A0
@@ -1549,16 +1549,16 @@ gRoute127_WaterMonsInfo:: @ 85517A0
.align 2
gRoute127_FishingMons:: @ 85517A8
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon SHARPEDO, 30, 35
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_SHARPEDO, 30, 35
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute127_FishingMonsInfo:: @ 85517D0
@@ -1567,11 +1567,11 @@ gRoute127_FishingMonsInfo:: @ 85517D0
.align 2
gRoute128_WaterMons:: @ 85517D8
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute128_WaterMonsInfo:: @ 85517EC
@@ -1580,16 +1580,16 @@ gRoute128_WaterMonsInfo:: @ 85517EC
.align 2
gRoute128_FishingMons:: @ 85517F4
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon LUVDISC, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon LUVDISC, 30, 35
- wild_mon WAILMER, 30, 35
- wild_mon CORSOLA, 30, 35
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_LUVDISC, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_LUVDISC, 30, 35
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_CORSOLA, 30, 35
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute128_FishingMonsInfo:: @ 855181C
@@ -1598,11 +1598,11 @@ gRoute128_FishingMonsInfo:: @ 855181C
.align 2
gRoute129_WaterMons:: @ 8551824
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon WAILORD, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_WAILORD, 25, 30
.align 2
gRoute129_WaterMonsInfo:: @ 8551838
@@ -1611,16 +1611,16 @@ gRoute129_WaterMonsInfo:: @ 8551838
.align 2
gRoute129_FishingMons:: @ 8551840
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon SHARPEDO, 30, 35
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_SHARPEDO, 30, 35
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute129_FishingMonsInfo:: @ 8551868
@@ -1629,18 +1629,18 @@ gRoute129_FishingMonsInfo:: @ 8551868
.align 2
gRoute130_LandMons:: @ 8551870
- wild_mon WYNAUT, 30
- wild_mon WYNAUT, 35
- wild_mon WYNAUT, 25
- wild_mon WYNAUT, 40
- wild_mon WYNAUT, 20
- wild_mon WYNAUT, 45
- wild_mon WYNAUT, 15
- wild_mon WYNAUT, 50
- wild_mon WYNAUT, 10
- wild_mon WYNAUT, 5
- wild_mon WYNAUT, 10
- wild_mon WYNAUT, 5
+ wild_mon SPECIES_WYNAUT, 30
+ wild_mon SPECIES_WYNAUT, 35
+ wild_mon SPECIES_WYNAUT, 25
+ wild_mon SPECIES_WYNAUT, 40
+ wild_mon SPECIES_WYNAUT, 20
+ wild_mon SPECIES_WYNAUT, 45
+ wild_mon SPECIES_WYNAUT, 15
+ wild_mon SPECIES_WYNAUT, 50
+ wild_mon SPECIES_WYNAUT, 10
+ wild_mon SPECIES_WYNAUT, 5
+ wild_mon SPECIES_WYNAUT, 10
+ wild_mon SPECIES_WYNAUT, 5
.align 2
gRoute130_LandMonsInfo:: @ 85518A0
@@ -1649,11 +1649,11 @@ gRoute130_LandMonsInfo:: @ 85518A0
.align 2
gRoute130_WaterMons:: @ 85518A8
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute130_WaterMonsInfo:: @ 85518BC
@@ -1662,16 +1662,16 @@ gRoute130_WaterMonsInfo:: @ 85518BC
.align 2
gRoute130_FishingMons:: @ 85518C4
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon SHARPEDO, 30, 35
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_SHARPEDO, 30, 35
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute130_FishingMonsInfo:: @ 85518EC
@@ -1680,11 +1680,11 @@ gRoute130_FishingMonsInfo:: @ 85518EC
.align 2
gRoute131_WaterMons:: @ 85518F4
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute131_WaterMonsInfo:: @ 8551908
@@ -1693,16 +1693,16 @@ gRoute131_WaterMonsInfo:: @ 8551908
.align 2
gRoute131_FishingMons:: @ 8551910
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon SHARPEDO, 30, 35
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_SHARPEDO, 30, 35
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute131_FishingMonsInfo:: @ 8551938
@@ -1711,11 +1711,11 @@ gRoute131_FishingMonsInfo:: @ 8551938
.align 2
gRoute132_WaterMons:: @ 8551940
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute132_WaterMonsInfo:: @ 8551954
@@ -1724,16 +1724,16 @@ gRoute132_WaterMonsInfo:: @ 8551954
.align 2
gRoute132_FishingMons:: @ 855195C
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon SHARPEDO, 30, 35
- wild_mon WAILMER, 30, 35
- wild_mon HORSEA, 25, 30
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_SHARPEDO, 30, 35
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_HORSEA, 25, 30
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute132_FishingMonsInfo:: @ 8551984
@@ -1742,11 +1742,11 @@ gRoute132_FishingMonsInfo:: @ 8551984
.align 2
gRoute133_WaterMons:: @ 855198C
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute133_WaterMonsInfo:: @ 85519A0
@@ -1755,16 +1755,16 @@ gRoute133_WaterMonsInfo:: @ 85519A0
.align 2
gRoute133_FishingMons:: @ 85519A8
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon SHARPEDO, 30, 35
- wild_mon WAILMER, 30, 35
- wild_mon HORSEA, 25, 30
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_SHARPEDO, 30, 35
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_HORSEA, 25, 30
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute133_FishingMonsInfo:: @ 85519D0
@@ -1773,11 +1773,11 @@ gRoute133_FishingMonsInfo:: @ 85519D0
.align 2
gRoute134_WaterMons:: @ 85519D8
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gRoute134_WaterMonsInfo:: @ 85519EC
@@ -1786,16 +1786,16 @@ gRoute134_WaterMonsInfo:: @ 85519EC
.align 2
gRoute134_FishingMons:: @ 85519F4
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon SHARPEDO, 30, 35
- wild_mon WAILMER, 30, 35
- wild_mon HORSEA, 25, 30
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_SHARPEDO, 30, 35
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_HORSEA, 25, 30
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gRoute134_FishingMonsInfo:: @ 8551A1C
@@ -1804,11 +1804,11 @@ gRoute134_FishingMonsInfo:: @ 8551A1C
.align 2
gAbandonedShip_HiddenFloorCorridors_WaterMons:: @ 8551A24
- wild_mon TENTACOOL, 5, 35
- wild_mon TENTACOOL, 5, 35
- wild_mon TENTACOOL, 5, 35
- wild_mon TENTACOOL, 5, 35
- wild_mon TENTACRUEL, 30, 35
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_TENTACRUEL, 30, 35
.align 2
gAbandonedShip_HiddenFloorCorridors_WaterMonsInfo:: @ 8551A38
@@ -1817,16 +1817,16 @@ gAbandonedShip_HiddenFloorCorridors_WaterMonsInfo:: @ 8551A38
.align 2
gAbandonedShip_HiddenFloorCorridors_FishingMons:: @ 8551A40
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon TENTACOOL, 25, 30
- wild_mon TENTACOOL, 30, 35
- wild_mon TENTACRUEL, 30, 35
- wild_mon TENTACRUEL, 25, 30
- wild_mon TENTACRUEL, 20, 25
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_TENTACOOL, 25, 30
+ wild_mon SPECIES_TENTACOOL, 30, 35
+ wild_mon SPECIES_TENTACRUEL, 30, 35
+ wild_mon SPECIES_TENTACRUEL, 25, 30
+ wild_mon SPECIES_TENTACRUEL, 20, 25
.align 2
gAbandonedShip_HiddenFloorCorridors_FishingMonsInfo:: @ 8551A68
@@ -1835,18 +1835,18 @@ gAbandonedShip_HiddenFloorCorridors_FishingMonsInfo:: @ 8551A68
.align 2
gSeafloorCavern_Room1_LandMons:: @ 8551A70
- wild_mon ZUBAT, 30
- wild_mon ZUBAT, 31
- wild_mon ZUBAT, 32
- wild_mon ZUBAT, 33
- wild_mon ZUBAT, 28
- wild_mon ZUBAT, 29
- wild_mon ZUBAT, 34
- wild_mon ZUBAT, 35
- wild_mon GOLBAT, 34
- wild_mon GOLBAT, 35
- wild_mon GOLBAT, 33
- wild_mon GOLBAT, 36
+ wild_mon SPECIES_ZUBAT, 30
+ wild_mon SPECIES_ZUBAT, 31
+ wild_mon SPECIES_ZUBAT, 32
+ wild_mon SPECIES_ZUBAT, 33
+ wild_mon SPECIES_ZUBAT, 28
+ wild_mon SPECIES_ZUBAT, 29
+ wild_mon SPECIES_ZUBAT, 34
+ wild_mon SPECIES_ZUBAT, 35
+ wild_mon SPECIES_GOLBAT, 34
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_GOLBAT, 33
+ wild_mon SPECIES_GOLBAT, 36
.align 2
gSeafloorCavern_Room1_LandMonsInfo:: @ 8551AA0
@@ -1855,18 +1855,18 @@ gSeafloorCavern_Room1_LandMonsInfo:: @ 8551AA0
.align 2
gSeafloorCavern_Room2_LandMons:: @ 8551AA8
- wild_mon ZUBAT, 30
- wild_mon ZUBAT, 31
- wild_mon ZUBAT, 32
- wild_mon ZUBAT, 33
- wild_mon ZUBAT, 28
- wild_mon ZUBAT, 29
- wild_mon ZUBAT, 34
- wild_mon ZUBAT, 35
- wild_mon GOLBAT, 34
- wild_mon GOLBAT, 35
- wild_mon GOLBAT, 33
- wild_mon GOLBAT, 36
+ wild_mon SPECIES_ZUBAT, 30
+ wild_mon SPECIES_ZUBAT, 31
+ wild_mon SPECIES_ZUBAT, 32
+ wild_mon SPECIES_ZUBAT, 33
+ wild_mon SPECIES_ZUBAT, 28
+ wild_mon SPECIES_ZUBAT, 29
+ wild_mon SPECIES_ZUBAT, 34
+ wild_mon SPECIES_ZUBAT, 35
+ wild_mon SPECIES_GOLBAT, 34
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_GOLBAT, 33
+ wild_mon SPECIES_GOLBAT, 36
.align 2
gSeafloorCavern_Room2_LandMonsInfo:: @ 8551AD8
@@ -1875,18 +1875,18 @@ gSeafloorCavern_Room2_LandMonsInfo:: @ 8551AD8
.align 2
gSeafloorCavern_Room3_LandMons:: @ 8551AE0
- wild_mon ZUBAT, 30
- wild_mon ZUBAT, 31
- wild_mon ZUBAT, 32
- wild_mon ZUBAT, 33
- wild_mon ZUBAT, 28
- wild_mon ZUBAT, 29
- wild_mon ZUBAT, 34
- wild_mon ZUBAT, 35
- wild_mon GOLBAT, 34
- wild_mon GOLBAT, 35
- wild_mon GOLBAT, 33
- wild_mon GOLBAT, 36
+ wild_mon SPECIES_ZUBAT, 30
+ wild_mon SPECIES_ZUBAT, 31
+ wild_mon SPECIES_ZUBAT, 32
+ wild_mon SPECIES_ZUBAT, 33
+ wild_mon SPECIES_ZUBAT, 28
+ wild_mon SPECIES_ZUBAT, 29
+ wild_mon SPECIES_ZUBAT, 34
+ wild_mon SPECIES_ZUBAT, 35
+ wild_mon SPECIES_GOLBAT, 34
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_GOLBAT, 33
+ wild_mon SPECIES_GOLBAT, 36
.align 2
gSeafloorCavern_Room3_LandMonsInfo:: @ 8551B10
@@ -1895,18 +1895,18 @@ gSeafloorCavern_Room3_LandMonsInfo:: @ 8551B10
.align 2
gSeafloorCavern_Room4_LandMons:: @ 8551B18
- wild_mon ZUBAT, 30
- wild_mon ZUBAT, 31
- wild_mon ZUBAT, 32
- wild_mon ZUBAT, 33
- wild_mon ZUBAT, 28
- wild_mon ZUBAT, 29
- wild_mon ZUBAT, 34
- wild_mon ZUBAT, 35
- wild_mon GOLBAT, 34
- wild_mon GOLBAT, 35
- wild_mon GOLBAT, 33
- wild_mon GOLBAT, 36
+ wild_mon SPECIES_ZUBAT, 30
+ wild_mon SPECIES_ZUBAT, 31
+ wild_mon SPECIES_ZUBAT, 32
+ wild_mon SPECIES_ZUBAT, 33
+ wild_mon SPECIES_ZUBAT, 28
+ wild_mon SPECIES_ZUBAT, 29
+ wild_mon SPECIES_ZUBAT, 34
+ wild_mon SPECIES_ZUBAT, 35
+ wild_mon SPECIES_GOLBAT, 34
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_GOLBAT, 33
+ wild_mon SPECIES_GOLBAT, 36
.align 2
gSeafloorCavern_Room4_LandMonsInfo:: @ 8551B48
@@ -1915,18 +1915,18 @@ gSeafloorCavern_Room4_LandMonsInfo:: @ 8551B48
.align 2
gSeafloorCavern_Room5_LandMons:: @ 8551B50
- wild_mon ZUBAT, 30
- wild_mon ZUBAT, 31
- wild_mon ZUBAT, 32
- wild_mon ZUBAT, 33
- wild_mon ZUBAT, 28
- wild_mon ZUBAT, 29
- wild_mon ZUBAT, 34
- wild_mon ZUBAT, 35
- wild_mon GOLBAT, 34
- wild_mon GOLBAT, 35
- wild_mon GOLBAT, 33
- wild_mon GOLBAT, 36
+ wild_mon SPECIES_ZUBAT, 30
+ wild_mon SPECIES_ZUBAT, 31
+ wild_mon SPECIES_ZUBAT, 32
+ wild_mon SPECIES_ZUBAT, 33
+ wild_mon SPECIES_ZUBAT, 28
+ wild_mon SPECIES_ZUBAT, 29
+ wild_mon SPECIES_ZUBAT, 34
+ wild_mon SPECIES_ZUBAT, 35
+ wild_mon SPECIES_GOLBAT, 34
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_GOLBAT, 33
+ wild_mon SPECIES_GOLBAT, 36
.align 2
gSeafloorCavern_Room5_LandMonsInfo:: @ 8551B80
@@ -1935,18 +1935,18 @@ gSeafloorCavern_Room5_LandMonsInfo:: @ 8551B80
.align 2
gSeafloorCavern_Room6_LandMons:: @ 8551B88
- wild_mon ZUBAT, 30
- wild_mon ZUBAT, 31
- wild_mon ZUBAT, 32
- wild_mon ZUBAT, 33
- wild_mon ZUBAT, 28
- wild_mon ZUBAT, 29
- wild_mon ZUBAT, 34
- wild_mon ZUBAT, 35
- wild_mon GOLBAT, 34
- wild_mon GOLBAT, 35
- wild_mon GOLBAT, 33
- wild_mon GOLBAT, 36
+ wild_mon SPECIES_ZUBAT, 30
+ wild_mon SPECIES_ZUBAT, 31
+ wild_mon SPECIES_ZUBAT, 32
+ wild_mon SPECIES_ZUBAT, 33
+ wild_mon SPECIES_ZUBAT, 28
+ wild_mon SPECIES_ZUBAT, 29
+ wild_mon SPECIES_ZUBAT, 34
+ wild_mon SPECIES_ZUBAT, 35
+ wild_mon SPECIES_GOLBAT, 34
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_GOLBAT, 33
+ wild_mon SPECIES_GOLBAT, 36
.align 2
gSeafloorCavern_Room6_LandMonsInfo:: @ 8551BB8
@@ -1955,11 +1955,11 @@ gSeafloorCavern_Room6_LandMonsInfo:: @ 8551BB8
.align 2
gSeafloorCavern_Room6_WaterMons:: @ 8551BC0
- wild_mon TENTACOOL, 5, 35
- wild_mon ZUBAT, 5, 35
- wild_mon ZUBAT, 30, 35
- wild_mon GOLBAT, 30, 35
- wild_mon GOLBAT, 30, 35
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_ZUBAT, 5, 35
+ wild_mon SPECIES_ZUBAT, 30, 35
+ wild_mon SPECIES_GOLBAT, 30, 35
+ wild_mon SPECIES_GOLBAT, 30, 35
.align 2
gSeafloorCavern_Room6_WaterMonsInfo:: @ 8551BD4
@@ -1968,16 +1968,16 @@ gSeafloorCavern_Room6_WaterMonsInfo:: @ 8551BD4
.align 2
gSeafloorCavern_Room6_FishingMons:: @ 8551BDC
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 20, 25
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 20, 25
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gSeafloorCavern_Room6_FishingMonsInfo:: @ 8551C04
@@ -1986,18 +1986,18 @@ gSeafloorCavern_Room6_FishingMonsInfo:: @ 8551C04
.align 2
gSeafloorCavern_Room7_LandMons:: @ 8551C0C
- wild_mon ZUBAT, 30
- wild_mon ZUBAT, 31
- wild_mon ZUBAT, 32
- wild_mon ZUBAT, 33
- wild_mon ZUBAT, 28
- wild_mon ZUBAT, 29
- wild_mon ZUBAT, 34
- wild_mon ZUBAT, 35
- wild_mon GOLBAT, 34
- wild_mon GOLBAT, 35
- wild_mon GOLBAT, 33
- wild_mon GOLBAT, 36
+ wild_mon SPECIES_ZUBAT, 30
+ wild_mon SPECIES_ZUBAT, 31
+ wild_mon SPECIES_ZUBAT, 32
+ wild_mon SPECIES_ZUBAT, 33
+ wild_mon SPECIES_ZUBAT, 28
+ wild_mon SPECIES_ZUBAT, 29
+ wild_mon SPECIES_ZUBAT, 34
+ wild_mon SPECIES_ZUBAT, 35
+ wild_mon SPECIES_GOLBAT, 34
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_GOLBAT, 33
+ wild_mon SPECIES_GOLBAT, 36
.align 2
gSeafloorCavern_Room7_LandMonsInfo:: @ 8551C3C
@@ -2006,11 +2006,11 @@ gSeafloorCavern_Room7_LandMonsInfo:: @ 8551C3C
.align 2
gSeafloorCavern_Room7_WaterMons:: @ 8551C44
- wild_mon TENTACOOL, 5, 35
- wild_mon ZUBAT, 5, 35
- wild_mon ZUBAT, 30, 35
- wild_mon GOLBAT, 30, 35
- wild_mon GOLBAT, 30, 35
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_ZUBAT, 5, 35
+ wild_mon SPECIES_ZUBAT, 30, 35
+ wild_mon SPECIES_GOLBAT, 30, 35
+ wild_mon SPECIES_GOLBAT, 30, 35
.align 2
gSeafloorCavern_Room7_WaterMonsInfo:: @ 8551C58
@@ -2019,16 +2019,16 @@ gSeafloorCavern_Room7_WaterMonsInfo:: @ 8551C58
.align 2
gSeafloorCavern_Room7_FishingMons:: @ 8551C60
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 20, 25
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 20, 25
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gSeafloorCavern_Room7_FishingMonsInfo:: @ 8551C88
@@ -2037,18 +2037,18 @@ gSeafloorCavern_Room7_FishingMonsInfo:: @ 8551C88
.align 2
gSeafloorCavern_Room8_LandMons:: @ 8551C90
- wild_mon ZUBAT, 30
- wild_mon ZUBAT, 31
- wild_mon ZUBAT, 32
- wild_mon ZUBAT, 33
- wild_mon ZUBAT, 28
- wild_mon ZUBAT, 29
- wild_mon ZUBAT, 34
- wild_mon ZUBAT, 35
- wild_mon GOLBAT, 34
- wild_mon GOLBAT, 35
- wild_mon GOLBAT, 33
- wild_mon GOLBAT, 36
+ wild_mon SPECIES_ZUBAT, 30
+ wild_mon SPECIES_ZUBAT, 31
+ wild_mon SPECIES_ZUBAT, 32
+ wild_mon SPECIES_ZUBAT, 33
+ wild_mon SPECIES_ZUBAT, 28
+ wild_mon SPECIES_ZUBAT, 29
+ wild_mon SPECIES_ZUBAT, 34
+ wild_mon SPECIES_ZUBAT, 35
+ wild_mon SPECIES_GOLBAT, 34
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_GOLBAT, 33
+ wild_mon SPECIES_GOLBAT, 36
.align 2
gSeafloorCavern_Room8_LandMonsInfo:: @ 8551CC0
@@ -2057,11 +2057,11 @@ gSeafloorCavern_Room8_LandMonsInfo:: @ 8551CC0
.align 2
gSeafloorCavern_Entrance_WaterMons:: @ 8551CC8
- wild_mon TENTACOOL, 5, 35
- wild_mon ZUBAT, 5, 35
- wild_mon ZUBAT, 30, 35
- wild_mon GOLBAT, 30, 35
- wild_mon GOLBAT, 30, 35
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_ZUBAT, 5, 35
+ wild_mon SPECIES_ZUBAT, 30, 35
+ wild_mon SPECIES_GOLBAT, 30, 35
+ wild_mon SPECIES_GOLBAT, 30, 35
.align 2
gSeafloorCavern_Entrance_WaterMonsInfo:: @ 8551CDC
@@ -2070,16 +2070,16 @@ gSeafloorCavern_Entrance_WaterMonsInfo:: @ 8551CDC
.align 2
gSeafloorCavern_Entrance_FishingMons:: @ 8551CE4
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 20, 25
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 20, 25
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gSeafloorCavern_Entrance_FishingMonsInfo:: @ 8551D0C
@@ -2088,18 +2088,18 @@ gSeafloorCavern_Entrance_FishingMonsInfo:: @ 8551D0C
.align 2
gCaveOfOrigin_Entrance_LandMons:: @ 8551D14
- wild_mon ZUBAT, 30
- wild_mon ZUBAT, 31
- wild_mon ZUBAT, 32
- wild_mon ZUBAT, 33
- wild_mon ZUBAT, 28
- wild_mon ZUBAT, 29
- wild_mon ZUBAT, 34
- wild_mon ZUBAT, 35
- wild_mon GOLBAT, 34
- wild_mon GOLBAT, 35
- wild_mon GOLBAT, 33
- wild_mon GOLBAT, 36
+ wild_mon SPECIES_ZUBAT, 30
+ wild_mon SPECIES_ZUBAT, 31
+ wild_mon SPECIES_ZUBAT, 32
+ wild_mon SPECIES_ZUBAT, 33
+ wild_mon SPECIES_ZUBAT, 28
+ wild_mon SPECIES_ZUBAT, 29
+ wild_mon SPECIES_ZUBAT, 34
+ wild_mon SPECIES_ZUBAT, 35
+ wild_mon SPECIES_GOLBAT, 34
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_GOLBAT, 33
+ wild_mon SPECIES_GOLBAT, 36
.align 2
gCaveOfOrigin_Entrance_LandMonsInfo:: @ 8551D44
@@ -2108,18 +2108,18 @@ gCaveOfOrigin_Entrance_LandMonsInfo:: @ 8551D44
.align 2
gCaveOfOrigin_1F_LandMons:: @ 8551D4C
- wild_mon ZUBAT, 30
- wild_mon ZUBAT, 31
- wild_mon ZUBAT, 32
- wild_mon SABLEYE, 30
- wild_mon SABLEYE, 32
- wild_mon SABLEYE, 34
- wild_mon ZUBAT, 33
- wild_mon ZUBAT, 34
- wild_mon GOLBAT, 34
- wild_mon GOLBAT, 35
- wild_mon GOLBAT, 33
- wild_mon GOLBAT, 36
+ wild_mon SPECIES_ZUBAT, 30
+ wild_mon SPECIES_ZUBAT, 31
+ wild_mon SPECIES_ZUBAT, 32
+ wild_mon SPECIES_SABLEYE, 30
+ wild_mon SPECIES_SABLEYE, 32
+ wild_mon SPECIES_SABLEYE, 34
+ wild_mon SPECIES_ZUBAT, 33
+ wild_mon SPECIES_ZUBAT, 34
+ wild_mon SPECIES_GOLBAT, 34
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_GOLBAT, 33
+ wild_mon SPECIES_GOLBAT, 36
.align 2
gCaveOfOrigin_1F_LandMonsInfo:: @ 8551D7C
@@ -2128,18 +2128,18 @@ gCaveOfOrigin_1F_LandMonsInfo:: @ 8551D7C
.align 2
gCaveOfOrigin_UnusedRubySapphireMap1_LandMons:: @ 8551D84
- wild_mon ZUBAT, 30
- wild_mon ZUBAT, 31
- wild_mon ZUBAT, 32
- wild_mon SABLEYE, 30
- wild_mon SABLEYE, 32
- wild_mon SABLEYE, 34
- wild_mon ZUBAT, 33
- wild_mon ZUBAT, 34
- wild_mon GOLBAT, 34
- wild_mon GOLBAT, 35
- wild_mon GOLBAT, 33
- wild_mon GOLBAT, 36
+ wild_mon SPECIES_ZUBAT, 30
+ wild_mon SPECIES_ZUBAT, 31
+ wild_mon SPECIES_ZUBAT, 32
+ wild_mon SPECIES_SABLEYE, 30
+ wild_mon SPECIES_SABLEYE, 32
+ wild_mon SPECIES_SABLEYE, 34
+ wild_mon SPECIES_ZUBAT, 33
+ wild_mon SPECIES_ZUBAT, 34
+ wild_mon SPECIES_GOLBAT, 34
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_GOLBAT, 33
+ wild_mon SPECIES_GOLBAT, 36
.align 2
gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo:: @ 8551DB4
@@ -2148,18 +2148,18 @@ gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo:: @ 8551DB4
.align 2
gCaveOfOrigin_UnusedRubySapphireMap2_LandMons:: @ 8551DBC
- wild_mon ZUBAT, 30
- wild_mon ZUBAT, 31
- wild_mon ZUBAT, 32
- wild_mon SABLEYE, 30
- wild_mon SABLEYE, 32
- wild_mon SABLEYE, 34
- wild_mon ZUBAT, 33
- wild_mon ZUBAT, 34
- wild_mon GOLBAT, 34
- wild_mon GOLBAT, 35
- wild_mon GOLBAT, 33
- wild_mon GOLBAT, 36
+ wild_mon SPECIES_ZUBAT, 30
+ wild_mon SPECIES_ZUBAT, 31
+ wild_mon SPECIES_ZUBAT, 32
+ wild_mon SPECIES_SABLEYE, 30
+ wild_mon SPECIES_SABLEYE, 32
+ wild_mon SPECIES_SABLEYE, 34
+ wild_mon SPECIES_ZUBAT, 33
+ wild_mon SPECIES_ZUBAT, 34
+ wild_mon SPECIES_GOLBAT, 34
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_GOLBAT, 33
+ wild_mon SPECIES_GOLBAT, 36
.align 2
gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo:: @ 8551DEC
@@ -2168,18 +2168,18 @@ gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo:: @ 8551DEC
.align 2
gCaveOfOrigin_UnusedRubySapphireMap3_LandMons:: @ 8551DF4
- wild_mon ZUBAT, 30
- wild_mon ZUBAT, 31
- wild_mon ZUBAT, 32
- wild_mon SABLEYE, 30
- wild_mon SABLEYE, 32
- wild_mon SABLEYE, 34
- wild_mon ZUBAT, 33
- wild_mon ZUBAT, 34
- wild_mon GOLBAT, 34
- wild_mon GOLBAT, 35
- wild_mon GOLBAT, 33
- wild_mon GOLBAT, 36
+ wild_mon SPECIES_ZUBAT, 30
+ wild_mon SPECIES_ZUBAT, 31
+ wild_mon SPECIES_ZUBAT, 32
+ wild_mon SPECIES_SABLEYE, 30
+ wild_mon SPECIES_SABLEYE, 32
+ wild_mon SPECIES_SABLEYE, 34
+ wild_mon SPECIES_ZUBAT, 33
+ wild_mon SPECIES_ZUBAT, 34
+ wild_mon SPECIES_GOLBAT, 34
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_GOLBAT, 33
+ wild_mon SPECIES_GOLBAT, 36
.align 2
gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo:: @ 8551E24
@@ -2188,18 +2188,18 @@ gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo:: @ 8551E24
.align 2
gNewMauville_Entrance_LandMons:: @ 8551E2C
- wild_mon VOLTORB, 24
- wild_mon MAGNEMITE, 24
- wild_mon VOLTORB, 25
- wild_mon MAGNEMITE, 25
- wild_mon VOLTORB, 23
- wild_mon MAGNEMITE, 23
- wild_mon VOLTORB, 26
- wild_mon MAGNEMITE, 26
- wild_mon VOLTORB, 22
- wild_mon MAGNEMITE, 22
- wild_mon VOLTORB, 22
- wild_mon MAGNEMITE, 22
+ wild_mon SPECIES_VOLTORB, 24
+ wild_mon SPECIES_MAGNEMITE, 24
+ wild_mon SPECIES_VOLTORB, 25
+ wild_mon SPECIES_MAGNEMITE, 25
+ wild_mon SPECIES_VOLTORB, 23
+ wild_mon SPECIES_MAGNEMITE, 23
+ wild_mon SPECIES_VOLTORB, 26
+ wild_mon SPECIES_MAGNEMITE, 26
+ wild_mon SPECIES_VOLTORB, 22
+ wild_mon SPECIES_MAGNEMITE, 22
+ wild_mon SPECIES_VOLTORB, 22
+ wild_mon SPECIES_MAGNEMITE, 22
.align 2
gNewMauville_Entrance_LandMonsInfo:: @ 8551E5C
@@ -2208,18 +2208,18 @@ gNewMauville_Entrance_LandMonsInfo:: @ 8551E5C
.align 2
gSafariZone_Southwest_LandMons:: @ 8551E64
- wild_mon ODDISH, 25
- wild_mon ODDISH, 27
- wild_mon GIRAFARIG, 25
- wild_mon GIRAFARIG, 27
- wild_mon NATU, 25
- wild_mon DODUO, 27
- wild_mon GLOOM, 25
- wild_mon WOBBUFFET, 27
- wild_mon PIKACHU, 25
- wild_mon WOBBUFFET, 27
- wild_mon PIKACHU, 27
- wild_mon WOBBUFFET, 29
+ wild_mon SPECIES_ODDISH, 25
+ wild_mon SPECIES_ODDISH, 27
+ wild_mon SPECIES_GIRAFARIG, 25
+ wild_mon SPECIES_GIRAFARIG, 27
+ wild_mon SPECIES_NATU, 25
+ wild_mon SPECIES_DODUO, 27
+ wild_mon SPECIES_GLOOM, 25
+ wild_mon SPECIES_WOBBUFFET, 27
+ wild_mon SPECIES_PIKACHU, 25
+ wild_mon SPECIES_WOBBUFFET, 27
+ wild_mon SPECIES_PIKACHU, 27
+ wild_mon SPECIES_WOBBUFFET, 29
.align 2
gSafariZone_Southwest_LandMonsInfo:: @ 8551E94
@@ -2228,11 +2228,11 @@ gSafariZone_Southwest_LandMonsInfo:: @ 8551E94
.align 2
gSafariZone_Southwest_WaterMons:: @ 8551E9C
- wild_mon PSYDUCK, 20, 30
- wild_mon PSYDUCK, 20, 30
- wild_mon PSYDUCK, 30, 35
- wild_mon PSYDUCK, 30, 35
- wild_mon PSYDUCK, 30, 35
+ wild_mon SPECIES_PSYDUCK, 20, 30
+ wild_mon SPECIES_PSYDUCK, 20, 30
+ wild_mon SPECIES_PSYDUCK, 30, 35
+ wild_mon SPECIES_PSYDUCK, 30, 35
+ wild_mon SPECIES_PSYDUCK, 30, 35
.align 2
gSafariZone_Southwest_WaterMonsInfo:: @ 8551EB0
@@ -2241,16 +2241,16 @@ gSafariZone_Southwest_WaterMonsInfo:: @ 8551EB0
.align 2
gSafariZone_Southwest_FishingMons:: @ 8551EB8
- wild_mon MAGIKARP, 5, 10
- wild_mon GOLDEEN, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon GOLDEEN, 10, 25
- wild_mon GOLDEEN, 10, 30
- wild_mon GOLDEEN, 25, 30
- wild_mon GOLDEEN, 30, 35
- wild_mon SEAKING, 30, 35
- wild_mon SEAKING, 35, 40
- wild_mon SEAKING, 25, 30
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_GOLDEEN, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_GOLDEEN, 10, 25
+ wild_mon SPECIES_GOLDEEN, 10, 30
+ wild_mon SPECIES_GOLDEEN, 25, 30
+ wild_mon SPECIES_GOLDEEN, 30, 35
+ wild_mon SPECIES_SEAKING, 30, 35
+ wild_mon SPECIES_SEAKING, 35, 40
+ wild_mon SPECIES_SEAKING, 25, 30
.align 2
gSafariZone_Southwest_FishingMonsInfo:: @ 8551EE0
@@ -2259,18 +2259,18 @@ gSafariZone_Southwest_FishingMonsInfo:: @ 8551EE0
.align 2
gSafariZone_North_LandMons:: @ 8551EE8
- wild_mon PHANPY, 27
- wild_mon ODDISH, 27
- wild_mon PHANPY, 29
- wild_mon ODDISH, 29
- wild_mon NATU, 27
- wild_mon GLOOM, 29
- wild_mon GLOOM, 31
- wild_mon NATU, 29
- wild_mon XATU, 29
- wild_mon HERACROSS, 27
- wild_mon XATU, 31
- wild_mon HERACROSS, 29
+ wild_mon SPECIES_PHANPY, 27
+ wild_mon SPECIES_ODDISH, 27
+ wild_mon SPECIES_PHANPY, 29
+ wild_mon SPECIES_ODDISH, 29
+ wild_mon SPECIES_NATU, 27
+ wild_mon SPECIES_GLOOM, 29
+ wild_mon SPECIES_GLOOM, 31
+ wild_mon SPECIES_NATU, 29
+ wild_mon SPECIES_XATU, 29
+ wild_mon SPECIES_HERACROSS, 27
+ wild_mon SPECIES_XATU, 31
+ wild_mon SPECIES_HERACROSS, 29
.align 2
gSafariZone_North_LandMonsInfo:: @ 8551F18
@@ -2279,11 +2279,11 @@ gSafariZone_North_LandMonsInfo:: @ 8551F18
.align 2
gSafariZone_North_RockSmashMons:: @ 8551F20
- wild_mon GEODUDE, 10, 15
- wild_mon GEODUDE, 5, 10
- wild_mon GEODUDE, 15, 20
- wild_mon GEODUDE, 20, 25
- wild_mon GEODUDE, 25, 30
+ wild_mon SPECIES_GEODUDE, 10, 15
+ wild_mon SPECIES_GEODUDE, 5, 10
+ wild_mon SPECIES_GEODUDE, 15, 20
+ wild_mon SPECIES_GEODUDE, 20, 25
+ wild_mon SPECIES_GEODUDE, 25, 30
.align 2
gSafariZone_North_RockSmashMonsInfo:: @ 8551F34
@@ -2292,18 +2292,18 @@ gSafariZone_North_RockSmashMonsInfo:: @ 8551F34
.align 2
gSafariZone_Northwest_LandMons:: @ 8551F3C
- wild_mon RHYHORN, 27
- wild_mon ODDISH, 27
- wild_mon RHYHORN, 29
- wild_mon ODDISH, 29
- wild_mon DODUO, 27
- wild_mon GLOOM, 29
- wild_mon GLOOM, 31
- wild_mon DODUO, 29
- wild_mon DODRIO, 29
- wild_mon PINSIR, 27
- wild_mon DODRIO, 31
- wild_mon PINSIR, 29
+ wild_mon SPECIES_RHYHORN, 27
+ wild_mon SPECIES_ODDISH, 27
+ wild_mon SPECIES_RHYHORN, 29
+ wild_mon SPECIES_ODDISH, 29
+ wild_mon SPECIES_DODUO, 27
+ wild_mon SPECIES_GLOOM, 29
+ wild_mon SPECIES_GLOOM, 31
+ wild_mon SPECIES_DODUO, 29
+ wild_mon SPECIES_DODRIO, 29
+ wild_mon SPECIES_PINSIR, 27
+ wild_mon SPECIES_DODRIO, 31
+ wild_mon SPECIES_PINSIR, 29
.align 2
gSafariZone_Northwest_LandMonsInfo:: @ 8551F6C
@@ -2312,11 +2312,11 @@ gSafariZone_Northwest_LandMonsInfo:: @ 8551F6C
.align 2
gSafariZone_Northwest_WaterMons:: @ 8551F74
- wild_mon PSYDUCK, 20, 30
- wild_mon PSYDUCK, 20, 30
- wild_mon PSYDUCK, 30, 35
- wild_mon GOLDUCK, 30, 35
- wild_mon GOLDUCK, 25, 40
+ wild_mon SPECIES_PSYDUCK, 20, 30
+ wild_mon SPECIES_PSYDUCK, 20, 30
+ wild_mon SPECIES_PSYDUCK, 30, 35
+ wild_mon SPECIES_GOLDUCK, 30, 35
+ wild_mon SPECIES_GOLDUCK, 25, 40
.align 2
gSafariZone_Northwest_WaterMonsInfo:: @ 8551F88
@@ -2325,16 +2325,16 @@ gSafariZone_Northwest_WaterMonsInfo:: @ 8551F88
.align 2
gSafariZone_Northwest_FishingMons:: @ 8551F90
- wild_mon MAGIKARP, 5, 10
- wild_mon GOLDEEN, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon GOLDEEN, 10, 25
- wild_mon GOLDEEN, 10, 30
- wild_mon GOLDEEN, 25, 30
- wild_mon GOLDEEN, 30, 35
- wild_mon SEAKING, 30, 35
- wild_mon SEAKING, 35, 40
- wild_mon SEAKING, 25, 30
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_GOLDEEN, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_GOLDEEN, 10, 25
+ wild_mon SPECIES_GOLDEEN, 10, 30
+ wild_mon SPECIES_GOLDEEN, 25, 30
+ wild_mon SPECIES_GOLDEEN, 30, 35
+ wild_mon SPECIES_SEAKING, 30, 35
+ wild_mon SPECIES_SEAKING, 35, 40
+ wild_mon SPECIES_SEAKING, 25, 30
.align 2
gSafariZone_Northwest_FishingMonsInfo:: @ 8551FB8
@@ -2343,18 +2343,18 @@ gSafariZone_Northwest_FishingMonsInfo:: @ 8551FB8
.align 2
gVictoryRoad_B1F_LandMons:: @ 8551FC0
- wild_mon GOLBAT, 40
- wild_mon HARIYAMA, 40
- wild_mon LAIRON, 40
- wild_mon LAIRON, 40
- wild_mon GOLBAT, 38
- wild_mon HARIYAMA, 38
- wild_mon GOLBAT, 42
- wild_mon HARIYAMA, 42
- wild_mon LAIRON, 42
- wild_mon MAWILE, 38
- wild_mon LAIRON, 42
- wild_mon MAWILE, 38
+ wild_mon SPECIES_GOLBAT, 40
+ wild_mon SPECIES_HARIYAMA, 40
+ wild_mon SPECIES_LAIRON, 40
+ wild_mon SPECIES_LAIRON, 40
+ wild_mon SPECIES_GOLBAT, 38
+ wild_mon SPECIES_HARIYAMA, 38
+ wild_mon SPECIES_GOLBAT, 42
+ wild_mon SPECIES_HARIYAMA, 42
+ wild_mon SPECIES_LAIRON, 42
+ wild_mon SPECIES_MAWILE, 38
+ wild_mon SPECIES_LAIRON, 42
+ wild_mon SPECIES_MAWILE, 38
.align 2
gVictoryRoad_B1F_LandMonsInfo:: @ 8551FF0
@@ -2363,11 +2363,11 @@ gVictoryRoad_B1F_LandMonsInfo:: @ 8551FF0
.align 2
gVictoryRoad_B1F_RockSmashMons:: @ 8551FF8
- wild_mon GRAVELER, 30, 40
- wild_mon GEODUDE, 30, 40
- wild_mon GRAVELER, 35, 40
- wild_mon GRAVELER, 35, 40
- wild_mon GRAVELER, 35, 40
+ wild_mon SPECIES_GRAVELER, 30, 40
+ wild_mon SPECIES_GEODUDE, 30, 40
+ wild_mon SPECIES_GRAVELER, 35, 40
+ wild_mon SPECIES_GRAVELER, 35, 40
+ wild_mon SPECIES_GRAVELER, 35, 40
.align 2
gVictoryRoad_B1F_RockSmashMonsInfo:: @ 855200C
@@ -2376,18 +2376,18 @@ gVictoryRoad_B1F_RockSmashMonsInfo:: @ 855200C
.align 2
gVictoryRoad_B2F_LandMons:: @ 8552014
- wild_mon GOLBAT, 40
- wild_mon SABLEYE, 40
- wild_mon LAIRON, 40
- wild_mon LAIRON, 40
- wild_mon GOLBAT, 42
- wild_mon SABLEYE, 42
- wild_mon GOLBAT, 44
- wild_mon SABLEYE, 44
- wild_mon LAIRON, 42
- wild_mon MAWILE, 42
- wild_mon LAIRON, 44
- wild_mon MAWILE, 44
+ wild_mon SPECIES_GOLBAT, 40
+ wild_mon SPECIES_SABLEYE, 40
+ wild_mon SPECIES_LAIRON, 40
+ wild_mon SPECIES_LAIRON, 40
+ wild_mon SPECIES_GOLBAT, 42
+ wild_mon SPECIES_SABLEYE, 42
+ wild_mon SPECIES_GOLBAT, 44
+ wild_mon SPECIES_SABLEYE, 44
+ wild_mon SPECIES_LAIRON, 42
+ wild_mon SPECIES_MAWILE, 42
+ wild_mon SPECIES_LAIRON, 44
+ wild_mon SPECIES_MAWILE, 44
.align 2
gVictoryRoad_B2F_LandMonsInfo:: @ 8552044
@@ -2396,11 +2396,11 @@ gVictoryRoad_B2F_LandMonsInfo:: @ 8552044
.align 2
gVictoryRoad_B2F_WaterMons:: @ 855204C
- wild_mon GOLBAT, 30, 35
- wild_mon GOLBAT, 25, 30
- wild_mon GOLBAT, 35, 40
- wild_mon GOLBAT, 35, 40
- wild_mon GOLBAT, 35, 40
+ wild_mon SPECIES_GOLBAT, 30, 35
+ wild_mon SPECIES_GOLBAT, 25, 30
+ wild_mon SPECIES_GOLBAT, 35, 40
+ wild_mon SPECIES_GOLBAT, 35, 40
+ wild_mon SPECIES_GOLBAT, 35, 40
.align 2
gVictoryRoad_B2F_WaterMonsInfo:: @ 8552060
@@ -2409,16 +2409,16 @@ gVictoryRoad_B2F_WaterMonsInfo:: @ 8552060
.align 2
gVictoryRoad_B2F_FishingMons:: @ 8552068
- wild_mon MAGIKARP, 5, 10
- wild_mon GOLDEEN, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon GOLDEEN, 10, 30
- wild_mon BARBOACH, 10, 30
- wild_mon BARBOACH, 25, 30
- wild_mon BARBOACH, 30, 35
- wild_mon WHISCASH, 30, 35
- wild_mon WHISCASH, 35, 40
- wild_mon WHISCASH, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_GOLDEEN, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_GOLDEEN, 10, 30
+ wild_mon SPECIES_BARBOACH, 10, 30
+ wild_mon SPECIES_BARBOACH, 25, 30
+ wild_mon SPECIES_BARBOACH, 30, 35
+ wild_mon SPECIES_WHISCASH, 30, 35
+ wild_mon SPECIES_WHISCASH, 35, 40
+ wild_mon SPECIES_WHISCASH, 40, 45
.align 2
gVictoryRoad_B2F_FishingMonsInfo:: @ 8552090
@@ -2427,18 +2427,18 @@ gVictoryRoad_B2F_FishingMonsInfo:: @ 8552090
.align 2
gMeteorFalls_1F_1R_LandMons:: @ 8552098
- wild_mon ZUBAT, 16
- wild_mon ZUBAT, 17
- wild_mon ZUBAT, 18
- wild_mon ZUBAT, 15
- wild_mon ZUBAT, 14
- wild_mon SOLROCK, 16
- wild_mon SOLROCK, 18
- wild_mon SOLROCK, 14
- wild_mon ZUBAT, 19
- wild_mon ZUBAT, 20
- wild_mon ZUBAT, 19
- wild_mon ZUBAT, 20
+ wild_mon SPECIES_ZUBAT, 16
+ wild_mon SPECIES_ZUBAT, 17
+ wild_mon SPECIES_ZUBAT, 18
+ wild_mon SPECIES_ZUBAT, 15
+ wild_mon SPECIES_ZUBAT, 14
+ wild_mon SPECIES_SOLROCK, 16
+ wild_mon SPECIES_SOLROCK, 18
+ wild_mon SPECIES_SOLROCK, 14
+ wild_mon SPECIES_ZUBAT, 19
+ wild_mon SPECIES_ZUBAT, 20
+ wild_mon SPECIES_ZUBAT, 19
+ wild_mon SPECIES_ZUBAT, 20
.align 2
gMeteorFalls_1F_1R_LandMonsInfo:: @ 85520C8
@@ -2447,11 +2447,11 @@ gMeteorFalls_1F_1R_LandMonsInfo:: @ 85520C8
.align 2
gMeteorFalls_1F_1R_WaterMons:: @ 85520D0
- wild_mon ZUBAT, 5, 35
- wild_mon ZUBAT, 30, 35
- wild_mon SOLROCK, 25, 35
- wild_mon SOLROCK, 15, 25
- wild_mon SOLROCK, 5, 15
+ wild_mon SPECIES_ZUBAT, 5, 35
+ wild_mon SPECIES_ZUBAT, 30, 35
+ wild_mon SPECIES_SOLROCK, 25, 35
+ wild_mon SPECIES_SOLROCK, 15, 25
+ wild_mon SPECIES_SOLROCK, 5, 15
.align 2
gMeteorFalls_1F_1R_WaterMonsInfo:: @ 85520E4
@@ -2460,16 +2460,16 @@ gMeteorFalls_1F_1R_WaterMonsInfo:: @ 85520E4
.align 2
gMeteorFalls_1F_1R_FishingMons:: @ 85520EC
- wild_mon MAGIKARP, 5, 10
- wild_mon GOLDEEN, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon GOLDEEN, 10, 30
- wild_mon BARBOACH, 10, 30
- wild_mon BARBOACH, 25, 30
- wild_mon BARBOACH, 30, 35
- wild_mon BARBOACH, 20, 25
- wild_mon BARBOACH, 35, 40
- wild_mon BARBOACH, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_GOLDEEN, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_GOLDEEN, 10, 30
+ wild_mon SPECIES_BARBOACH, 10, 30
+ wild_mon SPECIES_BARBOACH, 25, 30
+ wild_mon SPECIES_BARBOACH, 30, 35
+ wild_mon SPECIES_BARBOACH, 20, 25
+ wild_mon SPECIES_BARBOACH, 35, 40
+ wild_mon SPECIES_BARBOACH, 40, 45
.align 2
gMeteorFalls_1F_1R_FishingMonsInfo:: @ 8552114
@@ -2478,18 +2478,18 @@ gMeteorFalls_1F_1R_FishingMonsInfo:: @ 8552114
.align 2
gMeteorFalls_1F_2R_LandMons:: @ 855211C
- wild_mon GOLBAT, 33
- wild_mon GOLBAT, 35
- wild_mon GOLBAT, 33
- wild_mon SOLROCK, 35
- wild_mon SOLROCK, 33
- wild_mon SOLROCK, 37
- wild_mon GOLBAT, 35
- wild_mon SOLROCK, 39
- wild_mon GOLBAT, 38
- wild_mon GOLBAT, 40
- wild_mon GOLBAT, 38
- wild_mon GOLBAT, 40
+ wild_mon SPECIES_GOLBAT, 33
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_GOLBAT, 33
+ wild_mon SPECIES_SOLROCK, 35
+ wild_mon SPECIES_SOLROCK, 33
+ wild_mon SPECIES_SOLROCK, 37
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_SOLROCK, 39
+ wild_mon SPECIES_GOLBAT, 38
+ wild_mon SPECIES_GOLBAT, 40
+ wild_mon SPECIES_GOLBAT, 38
+ wild_mon SPECIES_GOLBAT, 40
.align 2
gMeteorFalls_1F_2R_LandMonsInfo:: @ 855214C
@@ -2498,11 +2498,11 @@ gMeteorFalls_1F_2R_LandMonsInfo:: @ 855214C
.align 2
gMeteorFalls_1F_2R_WaterMons:: @ 8552154
- wild_mon GOLBAT, 30, 35
- wild_mon GOLBAT, 30, 35
- wild_mon SOLROCK, 25, 35
- wild_mon SOLROCK, 15, 25
- wild_mon SOLROCK, 5, 15
+ wild_mon SPECIES_GOLBAT, 30, 35
+ wild_mon SPECIES_GOLBAT, 30, 35
+ wild_mon SPECIES_SOLROCK, 25, 35
+ wild_mon SPECIES_SOLROCK, 15, 25
+ wild_mon SPECIES_SOLROCK, 5, 15
.align 2
gMeteorFalls_1F_2R_WaterMonsInfo:: @ 8552168
@@ -2511,16 +2511,16 @@ gMeteorFalls_1F_2R_WaterMonsInfo:: @ 8552168
.align 2
gMeteorFalls_1F_2R_FishingMons:: @ 8552170
- wild_mon MAGIKARP, 5, 10
- wild_mon GOLDEEN, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon GOLDEEN, 10, 30
- wild_mon BARBOACH, 10, 30
- wild_mon BARBOACH, 25, 30
- wild_mon BARBOACH, 30, 35
- wild_mon WHISCASH, 30, 35
- wild_mon WHISCASH, 35, 40
- wild_mon WHISCASH, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_GOLDEEN, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_GOLDEEN, 10, 30
+ wild_mon SPECIES_BARBOACH, 10, 30
+ wild_mon SPECIES_BARBOACH, 25, 30
+ wild_mon SPECIES_BARBOACH, 30, 35
+ wild_mon SPECIES_WHISCASH, 30, 35
+ wild_mon SPECIES_WHISCASH, 35, 40
+ wild_mon SPECIES_WHISCASH, 40, 45
.align 2
gMeteorFalls_1F_2R_FishingMonsInfo:: @ 8552198
@@ -2529,18 +2529,18 @@ gMeteorFalls_1F_2R_FishingMonsInfo:: @ 8552198
.align 2
gMeteorFalls_B1F_1R_LandMons:: @ 85521A0
- wild_mon GOLBAT, 33
- wild_mon GOLBAT, 35
- wild_mon GOLBAT, 33
- wild_mon SOLROCK, 35
- wild_mon SOLROCK, 33
- wild_mon SOLROCK, 37
- wild_mon GOLBAT, 35
- wild_mon SOLROCK, 39
- wild_mon GOLBAT, 38
- wild_mon GOLBAT, 40
- wild_mon GOLBAT, 38
- wild_mon GOLBAT, 40
+ wild_mon SPECIES_GOLBAT, 33
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_GOLBAT, 33
+ wild_mon SPECIES_SOLROCK, 35
+ wild_mon SPECIES_SOLROCK, 33
+ wild_mon SPECIES_SOLROCK, 37
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_SOLROCK, 39
+ wild_mon SPECIES_GOLBAT, 38
+ wild_mon SPECIES_GOLBAT, 40
+ wild_mon SPECIES_GOLBAT, 38
+ wild_mon SPECIES_GOLBAT, 40
.align 2
gMeteorFalls_B1F_1R_LandMonsInfo:: @ 85521D0
@@ -2549,11 +2549,11 @@ gMeteorFalls_B1F_1R_LandMonsInfo:: @ 85521D0
.align 2
gMeteorFalls_B1F_1R_WaterMons:: @ 85521D8
- wild_mon GOLBAT, 30, 35
- wild_mon GOLBAT, 30, 35
- wild_mon SOLROCK, 25, 35
- wild_mon SOLROCK, 15, 25
- wild_mon SOLROCK, 5, 15
+ wild_mon SPECIES_GOLBAT, 30, 35
+ wild_mon SPECIES_GOLBAT, 30, 35
+ wild_mon SPECIES_SOLROCK, 25, 35
+ wild_mon SPECIES_SOLROCK, 15, 25
+ wild_mon SPECIES_SOLROCK, 5, 15
.align 2
gMeteorFalls_B1F_1R_WaterMonsInfo:: @ 85521EC
@@ -2562,16 +2562,16 @@ gMeteorFalls_B1F_1R_WaterMonsInfo:: @ 85521EC
.align 2
gMeteorFalls_B1F_1R_FishingMons:: @ 85521F4
- wild_mon MAGIKARP, 5, 10
- wild_mon GOLDEEN, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon GOLDEEN, 10, 30
- wild_mon BARBOACH, 10, 30
- wild_mon BARBOACH, 25, 30
- wild_mon BARBOACH, 30, 35
- wild_mon WHISCASH, 30, 35
- wild_mon WHISCASH, 35, 40
- wild_mon WHISCASH, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_GOLDEEN, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_GOLDEEN, 10, 30
+ wild_mon SPECIES_BARBOACH, 10, 30
+ wild_mon SPECIES_BARBOACH, 25, 30
+ wild_mon SPECIES_BARBOACH, 30, 35
+ wild_mon SPECIES_WHISCASH, 30, 35
+ wild_mon SPECIES_WHISCASH, 35, 40
+ wild_mon SPECIES_WHISCASH, 40, 45
.align 2
gMeteorFalls_B1F_1R_FishingMonsInfo:: @ 855221C
@@ -2580,18 +2580,18 @@ gMeteorFalls_B1F_1R_FishingMonsInfo:: @ 855221C
.align 2
gShoalCave_LowTideStairsRoom_LandMons:: @ 8552224
- wild_mon ZUBAT, 26
- wild_mon SPHEAL, 26
- wild_mon ZUBAT, 28
- wild_mon SPHEAL, 28
- wild_mon ZUBAT, 30
- wild_mon SPHEAL, 30
- wild_mon ZUBAT, 32
- wild_mon SPHEAL, 32
- wild_mon GOLBAT, 32
- wild_mon SPHEAL, 32
- wild_mon GOLBAT, 32
- wild_mon SPHEAL, 32
+ wild_mon SPECIES_ZUBAT, 26
+ wild_mon SPECIES_SPHEAL, 26
+ wild_mon SPECIES_ZUBAT, 28
+ wild_mon SPECIES_SPHEAL, 28
+ wild_mon SPECIES_ZUBAT, 30
+ wild_mon SPECIES_SPHEAL, 30
+ wild_mon SPECIES_ZUBAT, 32
+ wild_mon SPECIES_SPHEAL, 32
+ wild_mon SPECIES_GOLBAT, 32
+ wild_mon SPECIES_SPHEAL, 32
+ wild_mon SPECIES_GOLBAT, 32
+ wild_mon SPECIES_SPHEAL, 32
.align 2
gShoalCave_LowTideStairsRoom_LandMonsInfo:: @ 8552254
@@ -2600,18 +2600,18 @@ gShoalCave_LowTideStairsRoom_LandMonsInfo:: @ 8552254
.align 2
gShoalCave_LowTideLowerRoom_LandMons:: @ 855225C
- wild_mon ZUBAT, 26
- wild_mon SPHEAL, 26
- wild_mon ZUBAT, 28
- wild_mon SPHEAL, 28
- wild_mon ZUBAT, 30
- wild_mon SPHEAL, 30
- wild_mon ZUBAT, 32
- wild_mon SPHEAL, 32
- wild_mon GOLBAT, 32
- wild_mon SPHEAL, 32
- wild_mon GOLBAT, 32
- wild_mon SPHEAL, 32
+ wild_mon SPECIES_ZUBAT, 26
+ wild_mon SPECIES_SPHEAL, 26
+ wild_mon SPECIES_ZUBAT, 28
+ wild_mon SPECIES_SPHEAL, 28
+ wild_mon SPECIES_ZUBAT, 30
+ wild_mon SPECIES_SPHEAL, 30
+ wild_mon SPECIES_ZUBAT, 32
+ wild_mon SPECIES_SPHEAL, 32
+ wild_mon SPECIES_GOLBAT, 32
+ wild_mon SPECIES_SPHEAL, 32
+ wild_mon SPECIES_GOLBAT, 32
+ wild_mon SPECIES_SPHEAL, 32
.align 2
gShoalCave_LowTideLowerRoom_LandMonsInfo:: @ 855228C
@@ -2620,18 +2620,18 @@ gShoalCave_LowTideLowerRoom_LandMonsInfo:: @ 855228C
.align 2
gShoalCave_LowTideInnerRoom_LandMons:: @ 8552294
- wild_mon ZUBAT, 26
- wild_mon SPHEAL, 26
- wild_mon ZUBAT, 28
- wild_mon SPHEAL, 28
- wild_mon ZUBAT, 30
- wild_mon SPHEAL, 30
- wild_mon ZUBAT, 32
- wild_mon SPHEAL, 32
- wild_mon GOLBAT, 32
- wild_mon SPHEAL, 32
- wild_mon GOLBAT, 32
- wild_mon SPHEAL, 32
+ wild_mon SPECIES_ZUBAT, 26
+ wild_mon SPECIES_SPHEAL, 26
+ wild_mon SPECIES_ZUBAT, 28
+ wild_mon SPECIES_SPHEAL, 28
+ wild_mon SPECIES_ZUBAT, 30
+ wild_mon SPECIES_SPHEAL, 30
+ wild_mon SPECIES_ZUBAT, 32
+ wild_mon SPECIES_SPHEAL, 32
+ wild_mon SPECIES_GOLBAT, 32
+ wild_mon SPECIES_SPHEAL, 32
+ wild_mon SPECIES_GOLBAT, 32
+ wild_mon SPECIES_SPHEAL, 32
.align 2
gShoalCave_LowTideInnerRoom_LandMonsInfo:: @ 85522C4
@@ -2640,11 +2640,11 @@ gShoalCave_LowTideInnerRoom_LandMonsInfo:: @ 85522C4
.align 2
gShoalCave_LowTideInnerRoom_WaterMons:: @ 85522CC
- wild_mon TENTACOOL, 5, 35
- wild_mon ZUBAT, 5, 35
- wild_mon SPHEAL, 25, 30
- wild_mon SPHEAL, 25, 30
- wild_mon SPHEAL, 25, 35
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_ZUBAT, 5, 35
+ wild_mon SPECIES_SPHEAL, 25, 30
+ wild_mon SPECIES_SPHEAL, 25, 30
+ wild_mon SPECIES_SPHEAL, 25, 35
.align 2
gShoalCave_LowTideInnerRoom_WaterMonsInfo:: @ 85522E0
@@ -2653,16 +2653,16 @@ gShoalCave_LowTideInnerRoom_WaterMonsInfo:: @ 85522E0
.align 2
gShoalCave_LowTideInnerRoom_FishingMons:: @ 85522E8
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 20, 25
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 20, 25
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gShoalCave_LowTideInnerRoom_FishingMonsInfo:: @ 8552310
@@ -2671,18 +2671,18 @@ gShoalCave_LowTideInnerRoom_FishingMonsInfo:: @ 8552310
.align 2
gShoalCave_LowTideEntranceRoom_LandMons:: @ 8552318
- wild_mon ZUBAT, 26
- wild_mon SPHEAL, 26
- wild_mon ZUBAT, 28
- wild_mon SPHEAL, 28
- wild_mon ZUBAT, 30
- wild_mon SPHEAL, 30
- wild_mon ZUBAT, 32
- wild_mon SPHEAL, 32
- wild_mon GOLBAT, 32
- wild_mon SPHEAL, 32
- wild_mon GOLBAT, 32
- wild_mon SPHEAL, 32
+ wild_mon SPECIES_ZUBAT, 26
+ wild_mon SPECIES_SPHEAL, 26
+ wild_mon SPECIES_ZUBAT, 28
+ wild_mon SPECIES_SPHEAL, 28
+ wild_mon SPECIES_ZUBAT, 30
+ wild_mon SPECIES_SPHEAL, 30
+ wild_mon SPECIES_ZUBAT, 32
+ wild_mon SPECIES_SPHEAL, 32
+ wild_mon SPECIES_GOLBAT, 32
+ wild_mon SPECIES_SPHEAL, 32
+ wild_mon SPECIES_GOLBAT, 32
+ wild_mon SPECIES_SPHEAL, 32
.align 2
gShoalCave_LowTideEntranceRoom_LandMonsInfo:: @ 8552348
@@ -2691,11 +2691,11 @@ gShoalCave_LowTideEntranceRoom_LandMonsInfo:: @ 8552348
.align 2
gShoalCave_LowTideEntranceRoom_WaterMons:: @ 8552350
- wild_mon TENTACOOL, 5, 35
- wild_mon ZUBAT, 5, 35
- wild_mon SPHEAL, 25, 30
- wild_mon SPHEAL, 25, 30
- wild_mon SPHEAL, 25, 35
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_ZUBAT, 5, 35
+ wild_mon SPECIES_SPHEAL, 25, 30
+ wild_mon SPECIES_SPHEAL, 25, 30
+ wild_mon SPECIES_SPHEAL, 25, 35
.align 2
gShoalCave_LowTideEntranceRoom_WaterMonsInfo:: @ 8552364
@@ -2704,16 +2704,16 @@ gShoalCave_LowTideEntranceRoom_WaterMonsInfo:: @ 8552364
.align 2
gShoalCave_LowTideEntranceRoom_FishingMons:: @ 855236C
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 20, 25
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 20, 25
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gShoalCave_LowTideEntranceRoom_FishingMonsInfo:: @ 8552394
@@ -2722,11 +2722,11 @@ gShoalCave_LowTideEntranceRoom_FishingMonsInfo:: @ 8552394
.align 2
gLilycoveCity_WaterMons:: @ 855239C
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gLilycoveCity_WaterMonsInfo:: @ 85523B0
@@ -2735,16 +2735,16 @@ gLilycoveCity_WaterMonsInfo:: @ 85523B0
.align 2
gLilycoveCity_FishingMons:: @ 85523B8
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 30, 35
- wild_mon STARYU, 25, 30
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_STARYU, 25, 30
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gLilycoveCity_FishingMonsInfo:: @ 85523E0
@@ -2753,11 +2753,11 @@ gLilycoveCity_FishingMonsInfo:: @ 85523E0
.align 2
gDewfordTown_WaterMons:: @ 85523E8
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gDewfordTown_WaterMonsInfo:: @ 85523FC
@@ -2766,16 +2766,16 @@ gDewfordTown_WaterMonsInfo:: @ 85523FC
.align 2
gDewfordTown_FishingMons:: @ 8552404
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 20, 25
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 20, 25
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gDewfordTown_FishingMonsInfo:: @ 855242C
@@ -2784,11 +2784,11 @@ gDewfordTown_FishingMonsInfo:: @ 855242C
.align 2
gSlateportCity_WaterMons:: @ 8552434
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gSlateportCity_WaterMonsInfo:: @ 8552448
@@ -2797,16 +2797,16 @@ gSlateportCity_WaterMonsInfo:: @ 8552448
.align 2
gSlateportCity_FishingMons:: @ 8552450
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 20, 25
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 20, 25
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gSlateportCity_FishingMonsInfo:: @ 8552478
@@ -2815,11 +2815,11 @@ gSlateportCity_FishingMonsInfo:: @ 8552478
.align 2
gMossdeepCity_WaterMons:: @ 8552480
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gMossdeepCity_WaterMonsInfo:: @ 8552494
@@ -2828,16 +2828,16 @@ gMossdeepCity_WaterMonsInfo:: @ 8552494
.align 2
gMossdeepCity_FishingMons:: @ 855249C
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon SHARPEDO, 30, 35
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_SHARPEDO, 30, 35
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gMossdeepCity_FishingMonsInfo:: @ 85524C4
@@ -2846,11 +2846,11 @@ gMossdeepCity_FishingMonsInfo:: @ 85524C4
.align 2
gPacifidlogTown_WaterMons:: @ 85524CC
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gPacifidlogTown_WaterMonsInfo:: @ 85524E0
@@ -2859,16 +2859,16 @@ gPacifidlogTown_WaterMonsInfo:: @ 85524E0
.align 2
gPacifidlogTown_FishingMons:: @ 85524E8
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon TENTACOOL, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon SHARPEDO, 30, 35
- wild_mon WAILMER, 30, 35
- wild_mon WAILMER, 25, 30
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_TENTACOOL, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_SHARPEDO, 30, 35
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_WAILMER, 25, 30
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gPacifidlogTown_FishingMonsInfo:: @ 8552510
@@ -2877,11 +2877,11 @@ gPacifidlogTown_FishingMonsInfo:: @ 8552510
.align 2
gEverGrandeCity_WaterMons:: @ 8552518
- wild_mon TENTACOOL, 5, 35
- wild_mon WINGULL, 10, 30
- wild_mon WINGULL, 15, 25
- wild_mon PELIPPER, 25, 30
- wild_mon PELIPPER, 25, 30
+ wild_mon SPECIES_TENTACOOL, 5, 35
+ wild_mon SPECIES_WINGULL, 10, 30
+ wild_mon SPECIES_WINGULL, 15, 25
+ wild_mon SPECIES_PELIPPER, 25, 30
+ wild_mon SPECIES_PELIPPER, 25, 30
.align 2
gEverGrandeCity_WaterMonsInfo:: @ 855252C
@@ -2890,16 +2890,16 @@ gEverGrandeCity_WaterMonsInfo:: @ 855252C
.align 2
gEverGrandeCity_FishingMons:: @ 8552534
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon LUVDISC, 10, 30
- wild_mon WAILMER, 10, 30
- wild_mon LUVDISC, 30, 35
- wild_mon WAILMER, 30, 35
- wild_mon CORSOLA, 30, 35
- wild_mon WAILMER, 35, 40
- wild_mon WAILMER, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_LUVDISC, 10, 30
+ wild_mon SPECIES_WAILMER, 10, 30
+ wild_mon SPECIES_LUVDISC, 30, 35
+ wild_mon SPECIES_WAILMER, 30, 35
+ wild_mon SPECIES_CORSOLA, 30, 35
+ wild_mon SPECIES_WAILMER, 35, 40
+ wild_mon SPECIES_WAILMER, 40, 45
.align 2
gEverGrandeCity_FishingMonsInfo:: @ 855255C
@@ -2908,11 +2908,11 @@ gEverGrandeCity_FishingMonsInfo:: @ 855255C
.align 2
gPetalburgCity_WaterMons:: @ 8552564
- wild_mon MARILL, 20, 30
- wild_mon MARILL, 10, 20
- wild_mon MARILL, 30, 35
- wild_mon MARILL, 5, 10
- wild_mon MARILL, 5, 10
+ wild_mon SPECIES_MARILL, 20, 30
+ wild_mon SPECIES_MARILL, 10, 20
+ wild_mon SPECIES_MARILL, 30, 35
+ wild_mon SPECIES_MARILL, 5, 10
+ wild_mon SPECIES_MARILL, 5, 10
.align 2
gPetalburgCity_WaterMonsInfo:: @ 8552578
@@ -2921,16 +2921,16 @@ gPetalburgCity_WaterMonsInfo:: @ 8552578
.align 2
gPetalburgCity_FishingMons:: @ 8552580
- wild_mon MAGIKARP, 5, 10
- wild_mon GOLDEEN, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon GOLDEEN, 10, 30
- wild_mon CORPHISH, 10, 30
- wild_mon CORPHISH, 25, 30
- wild_mon CORPHISH, 30, 35
- wild_mon CORPHISH, 20, 25
- wild_mon CORPHISH, 35, 40
- wild_mon CORPHISH, 40, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_GOLDEEN, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_GOLDEEN, 10, 30
+ wild_mon SPECIES_CORPHISH, 10, 30
+ wild_mon SPECIES_CORPHISH, 25, 30
+ wild_mon SPECIES_CORPHISH, 30, 35
+ wild_mon SPECIES_CORPHISH, 20, 25
+ wild_mon SPECIES_CORPHISH, 35, 40
+ wild_mon SPECIES_CORPHISH, 40, 45
.align 2
gPetalburgCity_FishingMonsInfo:: @ 85525A8
@@ -2939,11 +2939,11 @@ gPetalburgCity_FishingMonsInfo:: @ 85525A8
.align 2
gUnderwater1_WaterMons:: @ 85525B0
- wild_mon CLAMPERL, 20, 30
- wild_mon CHINCHOU, 20, 30
- wild_mon CLAMPERL, 30, 35
- wild_mon RELICANTH, 30, 35
- wild_mon RELICANTH, 30, 35
+ wild_mon SPECIES_CLAMPERL, 20, 30
+ wild_mon SPECIES_CHINCHOU, 20, 30
+ wild_mon SPECIES_CLAMPERL, 30, 35
+ wild_mon SPECIES_RELICANTH, 30, 35
+ wild_mon SPECIES_RELICANTH, 30, 35
.align 2
gUnderwater1_WaterMonsInfo:: @ 85525C4
@@ -2952,18 +2952,18 @@ gUnderwater1_WaterMonsInfo:: @ 85525C4
.align 2
gShoalCave_LowTideIceRoom_LandMons:: @ 85525CC
- wild_mon ZUBAT, 26
- wild_mon SPHEAL, 26
- wild_mon ZUBAT, 28
- wild_mon SPHEAL, 28
- wild_mon ZUBAT, 30
- wild_mon SPHEAL, 30
- wild_mon SNORUNT, 26
- wild_mon SPHEAL, 32
- wild_mon GOLBAT, 30
- wild_mon SNORUNT, 28
- wild_mon GOLBAT, 32
- wild_mon SNORUNT, 30
+ wild_mon SPECIES_ZUBAT, 26
+ wild_mon SPECIES_SPHEAL, 26
+ wild_mon SPECIES_ZUBAT, 28
+ wild_mon SPECIES_SPHEAL, 28
+ wild_mon SPECIES_ZUBAT, 30
+ wild_mon SPECIES_SPHEAL, 30
+ wild_mon SPECIES_SNORUNT, 26
+ wild_mon SPECIES_SPHEAL, 32
+ wild_mon SPECIES_GOLBAT, 30
+ wild_mon SPECIES_SNORUNT, 28
+ wild_mon SPECIES_GOLBAT, 32
+ wild_mon SPECIES_SNORUNT, 30
.align 2
gShoalCave_LowTideIceRoom_LandMonsInfo:: @ 85525FC
@@ -2972,18 +2972,18 @@ gShoalCave_LowTideIceRoom_LandMonsInfo:: @ 85525FC
.align 2
gSkyPillar_1F_LandMons:: @ 8552604
- wild_mon SABLEYE, 33
- wild_mon GOLBAT, 34
- wild_mon GOLBAT, 35
- wild_mon SABLEYE, 34
- wild_mon CLAYDOL, 36
- wild_mon BANETTE, 37
- wild_mon BANETTE, 38
- wild_mon CLAYDOL, 36
- wild_mon CLAYDOL, 37
- wild_mon CLAYDOL, 38
- wild_mon CLAYDOL, 37
- wild_mon CLAYDOL, 38
+ wild_mon SPECIES_SABLEYE, 33
+ wild_mon SPECIES_GOLBAT, 34
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_SABLEYE, 34
+ wild_mon SPECIES_CLAYDOL, 36
+ wild_mon SPECIES_BANETTE, 37
+ wild_mon SPECIES_BANETTE, 38
+ wild_mon SPECIES_CLAYDOL, 36
+ wild_mon SPECIES_CLAYDOL, 37
+ wild_mon SPECIES_CLAYDOL, 38
+ wild_mon SPECIES_CLAYDOL, 37
+ wild_mon SPECIES_CLAYDOL, 38
.align 2
gSkyPillar_1F_LandMonsInfo:: @ 8552634
@@ -2992,11 +2992,11 @@ gSkyPillar_1F_LandMonsInfo:: @ 8552634
.align 2
gSootopolisCity_WaterMons:: @ 855263C
- wild_mon MAGIKARP, 5, 35
- wild_mon MAGIKARP, 10, 30
- wild_mon MAGIKARP, 15, 25
- wild_mon MAGIKARP, 25, 30
- wild_mon MAGIKARP, 25, 30
+ wild_mon SPECIES_MAGIKARP, 5, 35
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_MAGIKARP, 15, 25
+ wild_mon SPECIES_MAGIKARP, 25, 30
+ wild_mon SPECIES_MAGIKARP, 25, 30
.align 2
gSootopolisCity_WaterMonsInfo:: @ 8552650
@@ -3005,16 +3005,16 @@ gSootopolisCity_WaterMonsInfo:: @ 8552650
.align 2
gSootopolisCity_FishingMons:: @ 8552658
- wild_mon MAGIKARP, 5, 10
- wild_mon TENTACOOL, 5, 10
- wild_mon MAGIKARP, 10, 30
- wild_mon MAGIKARP, 10, 30
- wild_mon MAGIKARP, 10, 30
- wild_mon MAGIKARP, 30, 35
- wild_mon MAGIKARP, 30, 35
- wild_mon GYARADOS, 35, 40
- wild_mon GYARADOS, 35, 45
- wild_mon GYARADOS, 5, 45
+ wild_mon SPECIES_MAGIKARP, 5, 10
+ wild_mon SPECIES_TENTACOOL, 5, 10
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_MAGIKARP, 10, 30
+ wild_mon SPECIES_MAGIKARP, 30, 35
+ wild_mon SPECIES_MAGIKARP, 30, 35
+ wild_mon SPECIES_GYARADOS, 35, 40
+ wild_mon SPECIES_GYARADOS, 35, 45
+ wild_mon SPECIES_GYARADOS, 5, 45
.align 2
gSootopolisCity_FishingMonsInfo:: @ 8552680
@@ -3023,18 +3023,18 @@ gSootopolisCity_FishingMonsInfo:: @ 8552680
.align 2
gSkyPillar_3F_LandMons:: @ 8552688
- wild_mon SABLEYE, 33
- wild_mon GOLBAT, 34
- wild_mon GOLBAT, 35
- wild_mon SABLEYE, 34
- wild_mon CLAYDOL, 36
- wild_mon BANETTE, 37
- wild_mon BANETTE, 38
- wild_mon CLAYDOL, 36
- wild_mon CLAYDOL, 37
- wild_mon CLAYDOL, 38
- wild_mon CLAYDOL, 37
- wild_mon CLAYDOL, 38
+ wild_mon SPECIES_SABLEYE, 33
+ wild_mon SPECIES_GOLBAT, 34
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_SABLEYE, 34
+ wild_mon SPECIES_CLAYDOL, 36
+ wild_mon SPECIES_BANETTE, 37
+ wild_mon SPECIES_BANETTE, 38
+ wild_mon SPECIES_CLAYDOL, 36
+ wild_mon SPECIES_CLAYDOL, 37
+ wild_mon SPECIES_CLAYDOL, 38
+ wild_mon SPECIES_CLAYDOL, 37
+ wild_mon SPECIES_CLAYDOL, 38
.align 2
gSkyPillar_3F_LandMonsInfo:: @ 85526B8
@@ -3043,18 +3043,18 @@ gSkyPillar_3F_LandMonsInfo:: @ 85526B8
.align 2
gSkyPillar_5F_LandMons:: @ 85526C0
- wild_mon SABLEYE, 33
- wild_mon GOLBAT, 34
- wild_mon GOLBAT, 35
- wild_mon SABLEYE, 34
- wild_mon CLAYDOL, 36
- wild_mon BANETTE, 37
- wild_mon BANETTE, 38
- wild_mon CLAYDOL, 36
- wild_mon CLAYDOL, 37
- wild_mon ALTARIA, 38
- wild_mon ALTARIA, 39
- wild_mon ALTARIA, 39
+ wild_mon SPECIES_SABLEYE, 33
+ wild_mon SPECIES_GOLBAT, 34
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_SABLEYE, 34
+ wild_mon SPECIES_CLAYDOL, 36
+ wild_mon SPECIES_BANETTE, 37
+ wild_mon SPECIES_BANETTE, 38
+ wild_mon SPECIES_CLAYDOL, 36
+ wild_mon SPECIES_CLAYDOL, 37
+ wild_mon SPECIES_ALTARIA, 38
+ wild_mon SPECIES_ALTARIA, 39
+ wild_mon SPECIES_ALTARIA, 39
.align 2
gSkyPillar_5F_LandMonsInfo:: @ 85526F0
@@ -3063,18 +3063,18 @@ gSkyPillar_5F_LandMonsInfo:: @ 85526F0
.align 2
gSafariZone_Southeast_LandMons:: @ 85526F8
- wild_mon SUNKERN, 33
- wild_mon MAREEP, 34
- wild_mon SUNKERN, 35
- wild_mon MAREEP, 36
- wild_mon AIPOM, 34
- wild_mon SPINARAK, 33
- wild_mon HOOTHOOT, 35
- wild_mon SNUBBULL, 34
- wild_mon STANTLER, 36
- wild_mon GLIGAR, 37
- wild_mon STANTLER, 39
- wild_mon GLIGAR, 40
+ wild_mon SPECIES_SUNKERN, 33
+ wild_mon SPECIES_MAREEP, 34
+ wild_mon SPECIES_SUNKERN, 35
+ wild_mon SPECIES_MAREEP, 36
+ wild_mon SPECIES_AIPOM, 34
+ wild_mon SPECIES_SPINARAK, 33
+ wild_mon SPECIES_HOOTHOOT, 35
+ wild_mon SPECIES_SNUBBULL, 34
+ wild_mon SPECIES_STANTLER, 36
+ wild_mon SPECIES_GLIGAR, 37
+ wild_mon SPECIES_STANTLER, 39
+ wild_mon SPECIES_GLIGAR, 40
.align 2
gSafariZone_Southeast_LandMonsInfo:: @ 8552728
@@ -3083,11 +3083,11 @@ gSafariZone_Southeast_LandMonsInfo:: @ 8552728
.align 2
gSafariZone_Southeast_WaterMons:: @ 8552730
- wild_mon WOOPER, 25, 30
- wild_mon MARILL, 25, 30
- wild_mon MARILL, 25, 30
- wild_mon MARILL, 30, 35
- wild_mon QUAGSIRE, 35, 40
+ wild_mon SPECIES_WOOPER, 25, 30
+ wild_mon SPECIES_MARILL, 25, 30
+ wild_mon SPECIES_MARILL, 25, 30
+ wild_mon SPECIES_MARILL, 30, 35
+ wild_mon SPECIES_QUAGSIRE, 35, 40
.align 2
gSafariZone_Southeast_WaterMonsInfo:: @ 8552744
@@ -3096,16 +3096,16 @@ gSafariZone_Southeast_WaterMonsInfo:: @ 8552744
.align 2
gSafariZone_Southeast_FishingMons:: @ 855274C
- wild_mon MAGIKARP, 25, 30
- wild_mon GOLDEEN, 25, 30
- wild_mon MAGIKARP, 25, 30
- wild_mon GOLDEEN, 25, 30
- wild_mon REMORAID, 30, 35
- wild_mon GOLDEEN, 25, 30
- wild_mon REMORAID, 25, 30
- wild_mon REMORAID, 30, 35
- wild_mon REMORAID, 30, 35
- wild_mon OCTILLERY, 35, 40
+ wild_mon SPECIES_MAGIKARP, 25, 30
+ wild_mon SPECIES_GOLDEEN, 25, 30
+ wild_mon SPECIES_MAGIKARP, 25, 30
+ wild_mon SPECIES_GOLDEEN, 25, 30
+ wild_mon SPECIES_REMORAID, 30, 35
+ wild_mon SPECIES_GOLDEEN, 25, 30
+ wild_mon SPECIES_REMORAID, 25, 30
+ wild_mon SPECIES_REMORAID, 30, 35
+ wild_mon SPECIES_REMORAID, 30, 35
+ wild_mon SPECIES_OCTILLERY, 35, 40
.align 2
gSafariZone_Southeast_FishingMonsInfo:: @ 8552774
@@ -3114,18 +3114,18 @@ gSafariZone_Southeast_FishingMonsInfo:: @ 8552774
.align 2
gSafariZone_Northeast_LandMons:: @ 855277C
- wild_mon AIPOM, 33
- wild_mon TEDDIURSA, 34
- wild_mon AIPOM, 35
- wild_mon TEDDIURSA, 36
- wild_mon SUNKERN, 34
- wild_mon LEDYBA, 33
- wild_mon HOOTHOOT, 35
- wild_mon PINECO, 34
- wild_mon HOUNDOUR, 36
- wild_mon MILTANK, 37
- wild_mon HOUNDOUR, 39
- wild_mon MILTANK, 40
+ wild_mon SPECIES_AIPOM, 33
+ wild_mon SPECIES_TEDDIURSA, 34
+ wild_mon SPECIES_AIPOM, 35
+ wild_mon SPECIES_TEDDIURSA, 36
+ wild_mon SPECIES_SUNKERN, 34
+ wild_mon SPECIES_LEDYBA, 33
+ wild_mon SPECIES_HOOTHOOT, 35
+ wild_mon SPECIES_PINECO, 34
+ wild_mon SPECIES_HOUNDOUR, 36
+ wild_mon SPECIES_MILTANK, 37
+ wild_mon SPECIES_HOUNDOUR, 39
+ wild_mon SPECIES_MILTANK, 40
.align 2
gSafariZone_Northeast_LandMonsInfo:: @ 85527AC
@@ -3134,11 +3134,11 @@ gSafariZone_Northeast_LandMonsInfo:: @ 85527AC
.align 2
gSafariZone_Northeast_RockSmashMons:: @ 85527B4
- wild_mon SHUCKLE, 25, 30
- wild_mon SHUCKLE, 20, 25
- wild_mon SHUCKLE, 30, 35
- wild_mon SHUCKLE, 30, 35
- wild_mon SHUCKLE, 35, 40
+ wild_mon SPECIES_SHUCKLE, 25, 30
+ wild_mon SPECIES_SHUCKLE, 20, 25
+ wild_mon SPECIES_SHUCKLE, 30, 35
+ wild_mon SPECIES_SHUCKLE, 30, 35
+ wild_mon SPECIES_SHUCKLE, 35, 40
.align 2
gSafariZone_Northeast_RockSmashMonsInfo:: @ 85527C8
@@ -3147,18 +3147,18 @@ gSafariZone_Northeast_RockSmashMonsInfo:: @ 85527C8
.align 2
gMagmaHideout_1F_LandMons:: @ 85527D0
- wild_mon GEODUDE, 27
- wild_mon TORKOAL, 28
- wild_mon GEODUDE, 28
- wild_mon TORKOAL, 30
- wild_mon GEODUDE, 29
- wild_mon GEODUDE, 30
- wild_mon GEODUDE, 30
- wild_mon GRAVELER, 30
- wild_mon GRAVELER, 30
- wild_mon GRAVELER, 31
- wild_mon GRAVELER, 32
- wild_mon GRAVELER, 33
+ wild_mon SPECIES_GEODUDE, 27
+ wild_mon SPECIES_TORKOAL, 28
+ wild_mon SPECIES_GEODUDE, 28
+ wild_mon SPECIES_TORKOAL, 30
+ wild_mon SPECIES_GEODUDE, 29
+ wild_mon SPECIES_GEODUDE, 30
+ wild_mon SPECIES_GEODUDE, 30
+ wild_mon SPECIES_GRAVELER, 30
+ wild_mon SPECIES_GRAVELER, 30
+ wild_mon SPECIES_GRAVELER, 31
+ wild_mon SPECIES_GRAVELER, 32
+ wild_mon SPECIES_GRAVELER, 33
.align 2
gMagmaHideout_1F_LandMonsInfo:: @ 8552800
@@ -3167,18 +3167,18 @@ gMagmaHideout_1F_LandMonsInfo:: @ 8552800
.align 2
gMagmaHideout_2F_1R_LandMons:: @ 8552808
- wild_mon GEODUDE, 27
- wild_mon TORKOAL, 28
- wild_mon GEODUDE, 28
- wild_mon TORKOAL, 30
- wild_mon GEODUDE, 29
- wild_mon GEODUDE, 30
- wild_mon GEODUDE, 30
- wild_mon GRAVELER, 30
- wild_mon GRAVELER, 30
- wild_mon GRAVELER, 31
- wild_mon GRAVELER, 32
- wild_mon GRAVELER, 33
+ wild_mon SPECIES_GEODUDE, 27
+ wild_mon SPECIES_TORKOAL, 28
+ wild_mon SPECIES_GEODUDE, 28
+ wild_mon SPECIES_TORKOAL, 30
+ wild_mon SPECIES_GEODUDE, 29
+ wild_mon SPECIES_GEODUDE, 30
+ wild_mon SPECIES_GEODUDE, 30
+ wild_mon SPECIES_GRAVELER, 30
+ wild_mon SPECIES_GRAVELER, 30
+ wild_mon SPECIES_GRAVELER, 31
+ wild_mon SPECIES_GRAVELER, 32
+ wild_mon SPECIES_GRAVELER, 33
.align 2
gMagmaHideout_2F_1R_LandMonsInfo:: @ 8552838
@@ -3187,18 +3187,18 @@ gMagmaHideout_2F_1R_LandMonsInfo:: @ 8552838
.align 2
gMagmaHideout_2F_2R_LandMons:: @ 8552840
- wild_mon GEODUDE, 27
- wild_mon TORKOAL, 28
- wild_mon GEODUDE, 28
- wild_mon TORKOAL, 30
- wild_mon GEODUDE, 29
- wild_mon GEODUDE, 30
- wild_mon GEODUDE, 30
- wild_mon GRAVELER, 30
- wild_mon GRAVELER, 30
- wild_mon GRAVELER, 31
- wild_mon GRAVELER, 32
- wild_mon GRAVELER, 33
+ wild_mon SPECIES_GEODUDE, 27
+ wild_mon SPECIES_TORKOAL, 28
+ wild_mon SPECIES_GEODUDE, 28
+ wild_mon SPECIES_TORKOAL, 30
+ wild_mon SPECIES_GEODUDE, 29
+ wild_mon SPECIES_GEODUDE, 30
+ wild_mon SPECIES_GEODUDE, 30
+ wild_mon SPECIES_GRAVELER, 30
+ wild_mon SPECIES_GRAVELER, 30
+ wild_mon SPECIES_GRAVELER, 31
+ wild_mon SPECIES_GRAVELER, 32
+ wild_mon SPECIES_GRAVELER, 33
.align 2
gMagmaHideout_2F_2R_LandMonsInfo:: @ 8552870
@@ -3207,18 +3207,18 @@ gMagmaHideout_2F_2R_LandMonsInfo:: @ 8552870
.align 2
gMagmaHideout_3F_1R_LandMons:: @ 8552878
- wild_mon GEODUDE, 27
- wild_mon TORKOAL, 28
- wild_mon GEODUDE, 28
- wild_mon TORKOAL, 30
- wild_mon GEODUDE, 29
- wild_mon GEODUDE, 30
- wild_mon GEODUDE, 30
- wild_mon GRAVELER, 30
- wild_mon GRAVELER, 30
- wild_mon GRAVELER, 31
- wild_mon GRAVELER, 32
- wild_mon GRAVELER, 33
+ wild_mon SPECIES_GEODUDE, 27
+ wild_mon SPECIES_TORKOAL, 28
+ wild_mon SPECIES_GEODUDE, 28
+ wild_mon SPECIES_TORKOAL, 30
+ wild_mon SPECIES_GEODUDE, 29
+ wild_mon SPECIES_GEODUDE, 30
+ wild_mon SPECIES_GEODUDE, 30
+ wild_mon SPECIES_GRAVELER, 30
+ wild_mon SPECIES_GRAVELER, 30
+ wild_mon SPECIES_GRAVELER, 31
+ wild_mon SPECIES_GRAVELER, 32
+ wild_mon SPECIES_GRAVELER, 33
.align 2
gMagmaHideout_3F_1R_LandMonsInfo:: @ 85528A8
@@ -3227,18 +3227,18 @@ gMagmaHideout_3F_1R_LandMonsInfo:: @ 85528A8
.align 2
gMagmaHideout_3F_2R_LandMons:: @ 85528B0
- wild_mon GEODUDE, 27
- wild_mon TORKOAL, 28
- wild_mon GEODUDE, 28
- wild_mon TORKOAL, 30
- wild_mon GEODUDE, 29
- wild_mon GEODUDE, 30
- wild_mon GEODUDE, 30
- wild_mon GRAVELER, 30
- wild_mon GRAVELER, 30
- wild_mon GRAVELER, 31
- wild_mon GRAVELER, 32
- wild_mon GRAVELER, 33
+ wild_mon SPECIES_GEODUDE, 27
+ wild_mon SPECIES_TORKOAL, 28
+ wild_mon SPECIES_GEODUDE, 28
+ wild_mon SPECIES_TORKOAL, 30
+ wild_mon SPECIES_GEODUDE, 29
+ wild_mon SPECIES_GEODUDE, 30
+ wild_mon SPECIES_GEODUDE, 30
+ wild_mon SPECIES_GRAVELER, 30
+ wild_mon SPECIES_GRAVELER, 30
+ wild_mon SPECIES_GRAVELER, 31
+ wild_mon SPECIES_GRAVELER, 32
+ wild_mon SPECIES_GRAVELER, 33
.align 2
gMagmaHideout_3F_2R_LandMonsInfo:: @ 85528E0
@@ -3247,18 +3247,18 @@ gMagmaHideout_3F_2R_LandMonsInfo:: @ 85528E0
.align 2
gMagmaHideout_4F_LandMons:: @ 85528E8
- wild_mon GEODUDE, 27
- wild_mon TORKOAL, 28
- wild_mon GEODUDE, 28
- wild_mon TORKOAL, 30
- wild_mon GEODUDE, 29
- wild_mon GEODUDE, 30
- wild_mon GEODUDE, 30
- wild_mon GRAVELER, 30
- wild_mon GRAVELER, 30
- wild_mon GRAVELER, 31
- wild_mon GRAVELER, 32
- wild_mon GRAVELER, 33
+ wild_mon SPECIES_GEODUDE, 27
+ wild_mon SPECIES_TORKOAL, 28
+ wild_mon SPECIES_GEODUDE, 28
+ wild_mon SPECIES_TORKOAL, 30
+ wild_mon SPECIES_GEODUDE, 29
+ wild_mon SPECIES_GEODUDE, 30
+ wild_mon SPECIES_GEODUDE, 30
+ wild_mon SPECIES_GRAVELER, 30
+ wild_mon SPECIES_GRAVELER, 30
+ wild_mon SPECIES_GRAVELER, 31
+ wild_mon SPECIES_GRAVELER, 32
+ wild_mon SPECIES_GRAVELER, 33
.align 2
gMagmaHideout_4F_LandMonsInfo:: @ 8552918
@@ -3267,18 +3267,18 @@ gMagmaHideout_4F_LandMonsInfo:: @ 8552918
.align 2
gMagmaHideout_3F_3R_LandMons:: @ 8552920
- wild_mon GEODUDE, 27
- wild_mon TORKOAL, 28
- wild_mon GEODUDE, 28
- wild_mon TORKOAL, 30
- wild_mon GEODUDE, 29
- wild_mon GEODUDE, 30
- wild_mon GEODUDE, 30
- wild_mon GRAVELER, 30
- wild_mon GRAVELER, 30
- wild_mon GRAVELER, 31
- wild_mon GRAVELER, 32
- wild_mon GRAVELER, 33
+ wild_mon SPECIES_GEODUDE, 27
+ wild_mon SPECIES_TORKOAL, 28
+ wild_mon SPECIES_GEODUDE, 28
+ wild_mon SPECIES_TORKOAL, 30
+ wild_mon SPECIES_GEODUDE, 29
+ wild_mon SPECIES_GEODUDE, 30
+ wild_mon SPECIES_GEODUDE, 30
+ wild_mon SPECIES_GRAVELER, 30
+ wild_mon SPECIES_GRAVELER, 30
+ wild_mon SPECIES_GRAVELER, 31
+ wild_mon SPECIES_GRAVELER, 32
+ wild_mon SPECIES_GRAVELER, 33
.align 2
gMagmaHideout_3F_3R_LandMonsInfo:: @ 8552950
@@ -3287,18 +3287,18 @@ gMagmaHideout_3F_3R_LandMonsInfo:: @ 8552950
.align 2
gMagmaHideout_2F_3R_LandMons:: @ 8552958
- wild_mon GEODUDE, 27
- wild_mon TORKOAL, 28
- wild_mon GEODUDE, 28
- wild_mon TORKOAL, 30
- wild_mon GEODUDE, 29
- wild_mon GEODUDE, 30
- wild_mon GEODUDE, 30
- wild_mon GRAVELER, 30
- wild_mon GRAVELER, 30
- wild_mon GRAVELER, 31
- wild_mon GRAVELER, 32
- wild_mon GRAVELER, 33
+ wild_mon SPECIES_GEODUDE, 27
+ wild_mon SPECIES_TORKOAL, 28
+ wild_mon SPECIES_GEODUDE, 28
+ wild_mon SPECIES_TORKOAL, 30
+ wild_mon SPECIES_GEODUDE, 29
+ wild_mon SPECIES_GEODUDE, 30
+ wild_mon SPECIES_GEODUDE, 30
+ wild_mon SPECIES_GRAVELER, 30
+ wild_mon SPECIES_GRAVELER, 30
+ wild_mon SPECIES_GRAVELER, 31
+ wild_mon SPECIES_GRAVELER, 32
+ wild_mon SPECIES_GRAVELER, 33
.align 2
gMagmaHideout_2F_3R_LandMonsInfo:: @ 8552988
@@ -3307,18 +3307,18 @@ gMagmaHideout_2F_3R_LandMonsInfo:: @ 8552988
.align 2
gMirageTower_1F_LandMons:: @ 8552990
- wild_mon SANDSHREW, 21
- wild_mon TRAPINCH, 21
- wild_mon SANDSHREW, 20
- wild_mon TRAPINCH, 20
- wild_mon SANDSHREW, 20
- wild_mon TRAPINCH, 20
- wild_mon SANDSHREW, 22
- wild_mon TRAPINCH, 22
- wild_mon SANDSHREW, 23
- wild_mon TRAPINCH, 23
- wild_mon SANDSHREW, 24
- wild_mon TRAPINCH, 24
+ wild_mon SPECIES_SANDSHREW, 21
+ wild_mon SPECIES_TRAPINCH, 21
+ wild_mon SPECIES_SANDSHREW, 20
+ wild_mon SPECIES_TRAPINCH, 20
+ wild_mon SPECIES_SANDSHREW, 20
+ wild_mon SPECIES_TRAPINCH, 20
+ wild_mon SPECIES_SANDSHREW, 22
+ wild_mon SPECIES_TRAPINCH, 22
+ wild_mon SPECIES_SANDSHREW, 23
+ wild_mon SPECIES_TRAPINCH, 23
+ wild_mon SPECIES_SANDSHREW, 24
+ wild_mon SPECIES_TRAPINCH, 24
.align 2
gMirageTower_1F_LandMonsInfo:: @ 85529C0
@@ -3327,18 +3327,18 @@ gMirageTower_1F_LandMonsInfo:: @ 85529C0
.align 2
gMirageTower_2F_LandMons:: @ 85529C8
- wild_mon SANDSHREW, 21
- wild_mon TRAPINCH, 21
- wild_mon SANDSHREW, 20
- wild_mon TRAPINCH, 20
- wild_mon SANDSHREW, 20
- wild_mon TRAPINCH, 20
- wild_mon SANDSHREW, 22
- wild_mon TRAPINCH, 22
- wild_mon SANDSHREW, 23
- wild_mon TRAPINCH, 23
- wild_mon SANDSHREW, 24
- wild_mon TRAPINCH, 24
+ wild_mon SPECIES_SANDSHREW, 21
+ wild_mon SPECIES_TRAPINCH, 21
+ wild_mon SPECIES_SANDSHREW, 20
+ wild_mon SPECIES_TRAPINCH, 20
+ wild_mon SPECIES_SANDSHREW, 20
+ wild_mon SPECIES_TRAPINCH, 20
+ wild_mon SPECIES_SANDSHREW, 22
+ wild_mon SPECIES_TRAPINCH, 22
+ wild_mon SPECIES_SANDSHREW, 23
+ wild_mon SPECIES_TRAPINCH, 23
+ wild_mon SPECIES_SANDSHREW, 24
+ wild_mon SPECIES_TRAPINCH, 24
.align 2
gMirageTower_2F_LandMonsInfo:: @ 85529F8
@@ -3347,18 +3347,18 @@ gMirageTower_2F_LandMonsInfo:: @ 85529F8
.align 2
gMirageTower_3F_LandMons:: @ 8552A00
- wild_mon SANDSHREW, 21
- wild_mon TRAPINCH, 21
- wild_mon SANDSHREW, 20
- wild_mon TRAPINCH, 20
- wild_mon SANDSHREW, 20
- wild_mon TRAPINCH, 20
- wild_mon SANDSHREW, 22
- wild_mon TRAPINCH, 22
- wild_mon SANDSHREW, 23
- wild_mon TRAPINCH, 23
- wild_mon SANDSHREW, 24
- wild_mon TRAPINCH, 24
+ wild_mon SPECIES_SANDSHREW, 21
+ wild_mon SPECIES_TRAPINCH, 21
+ wild_mon SPECIES_SANDSHREW, 20
+ wild_mon SPECIES_TRAPINCH, 20
+ wild_mon SPECIES_SANDSHREW, 20
+ wild_mon SPECIES_TRAPINCH, 20
+ wild_mon SPECIES_SANDSHREW, 22
+ wild_mon SPECIES_TRAPINCH, 22
+ wild_mon SPECIES_SANDSHREW, 23
+ wild_mon SPECIES_TRAPINCH, 23
+ wild_mon SPECIES_SANDSHREW, 24
+ wild_mon SPECIES_TRAPINCH, 24
.align 2
gMirageTower_3F_LandMonsInfo:: @ 8552A30
@@ -3367,18 +3367,18 @@ gMirageTower_3F_LandMonsInfo:: @ 8552A30
.align 2
gMirageTower_4F_LandMons:: @ 8552A38
- wild_mon SANDSHREW, 21
- wild_mon TRAPINCH, 21
- wild_mon SANDSHREW, 20
- wild_mon TRAPINCH, 20
- wild_mon SANDSHREW, 20
- wild_mon TRAPINCH, 20
- wild_mon SANDSHREW, 22
- wild_mon TRAPINCH, 22
- wild_mon SANDSHREW, 23
- wild_mon TRAPINCH, 23
- wild_mon SANDSHREW, 24
- wild_mon TRAPINCH, 24
+ wild_mon SPECIES_SANDSHREW, 21
+ wild_mon SPECIES_TRAPINCH, 21
+ wild_mon SPECIES_SANDSHREW, 20
+ wild_mon SPECIES_TRAPINCH, 20
+ wild_mon SPECIES_SANDSHREW, 20
+ wild_mon SPECIES_TRAPINCH, 20
+ wild_mon SPECIES_SANDSHREW, 22
+ wild_mon SPECIES_TRAPINCH, 22
+ wild_mon SPECIES_SANDSHREW, 23
+ wild_mon SPECIES_TRAPINCH, 23
+ wild_mon SPECIES_SANDSHREW, 24
+ wild_mon SPECIES_TRAPINCH, 24
.align 2
gMirageTower_4F_LandMonsInfo:: @ 8552A68
@@ -3387,18 +3387,18 @@ gMirageTower_4F_LandMonsInfo:: @ 8552A68
.align 2
gDesertUnderpass_LandMons:: @ 8552A70
- wild_mon DITTO, 38
- wild_mon WHISMUR, 35
- wild_mon DITTO, 40
- wild_mon LOUDRED, 40
- wild_mon DITTO, 41
- wild_mon WHISMUR, 36
- wild_mon LOUDRED, 38
- wild_mon DITTO, 42
- wild_mon WHISMUR, 38
- wild_mon DITTO, 43
- wild_mon LOUDRED, 44
- wild_mon DITTO, 45
+ wild_mon SPECIES_DITTO, 38
+ wild_mon SPECIES_WHISMUR, 35
+ wild_mon SPECIES_DITTO, 40
+ wild_mon SPECIES_LOUDRED, 40
+ wild_mon SPECIES_DITTO, 41
+ wild_mon SPECIES_WHISMUR, 36
+ wild_mon SPECIES_LOUDRED, 38
+ wild_mon SPECIES_DITTO, 42
+ wild_mon SPECIES_WHISMUR, 38
+ wild_mon SPECIES_DITTO, 43
+ wild_mon SPECIES_LOUDRED, 44
+ wild_mon SPECIES_DITTO, 45
.align 2
gDesertUnderpass_LandMonsInfo:: @ 8552AA0
@@ -3407,18 +3407,18 @@ gDesertUnderpass_LandMonsInfo:: @ 8552AA0
.align 2
gArtisanCave_B1F_LandMons:: @ 8552AA8
- wild_mon SMEARGLE, 40
- wild_mon SMEARGLE, 41
- wild_mon SMEARGLE, 42
- wild_mon SMEARGLE, 43
- wild_mon SMEARGLE, 44
- wild_mon SMEARGLE, 45
- wild_mon SMEARGLE, 46
- wild_mon SMEARGLE, 47
- wild_mon SMEARGLE, 48
- wild_mon SMEARGLE, 49
- wild_mon SMEARGLE, 50
- wild_mon SMEARGLE, 50
+ wild_mon SPECIES_SMEARGLE, 40
+ wild_mon SPECIES_SMEARGLE, 41
+ wild_mon SPECIES_SMEARGLE, 42
+ wild_mon SPECIES_SMEARGLE, 43
+ wild_mon SPECIES_SMEARGLE, 44
+ wild_mon SPECIES_SMEARGLE, 45
+ wild_mon SPECIES_SMEARGLE, 46
+ wild_mon SPECIES_SMEARGLE, 47
+ wild_mon SPECIES_SMEARGLE, 48
+ wild_mon SPECIES_SMEARGLE, 49
+ wild_mon SPECIES_SMEARGLE, 50
+ wild_mon SPECIES_SMEARGLE, 50
.align 2
gArtisanCave_B1F_LandMonsInfo:: @ 8552AD8
@@ -3427,18 +3427,18 @@ gArtisanCave_B1F_LandMonsInfo:: @ 8552AD8
.align 2
gArtisanCave_1F_LandMons:: @ 8552AE0
- wild_mon SMEARGLE, 40
- wild_mon SMEARGLE, 41
- wild_mon SMEARGLE, 42
- wild_mon SMEARGLE, 43
- wild_mon SMEARGLE, 44
- wild_mon SMEARGLE, 45
- wild_mon SMEARGLE, 46
- wild_mon SMEARGLE, 47
- wild_mon SMEARGLE, 48
- wild_mon SMEARGLE, 49
- wild_mon SMEARGLE, 50
- wild_mon SMEARGLE, 50
+ wild_mon SPECIES_SMEARGLE, 40
+ wild_mon SPECIES_SMEARGLE, 41
+ wild_mon SPECIES_SMEARGLE, 42
+ wild_mon SPECIES_SMEARGLE, 43
+ wild_mon SPECIES_SMEARGLE, 44
+ wild_mon SPECIES_SMEARGLE, 45
+ wild_mon SPECIES_SMEARGLE, 46
+ wild_mon SPECIES_SMEARGLE, 47
+ wild_mon SPECIES_SMEARGLE, 48
+ wild_mon SPECIES_SMEARGLE, 49
+ wild_mon SPECIES_SMEARGLE, 50
+ wild_mon SPECIES_SMEARGLE, 50
.align 2
gArtisanCave_1F_LandMonsInfo:: @ 8552B10
@@ -3447,18 +3447,18 @@ gArtisanCave_1F_LandMonsInfo:: @ 8552B10
.align 2
gAlteringCave1_LandMons:: @ 8552B18
- wild_mon ZUBAT, 10
- wild_mon ZUBAT, 12
- wild_mon ZUBAT, 8
- wild_mon ZUBAT, 14
- wild_mon ZUBAT, 10
- wild_mon ZUBAT, 12
- wild_mon ZUBAT, 16
- wild_mon ZUBAT, 6
- wild_mon ZUBAT, 8
- wild_mon ZUBAT, 14
- wild_mon ZUBAT, 8
- wild_mon ZUBAT, 14
+ wild_mon SPECIES_ZUBAT, 10
+ wild_mon SPECIES_ZUBAT, 12
+ wild_mon SPECIES_ZUBAT, 8
+ wild_mon SPECIES_ZUBAT, 14
+ wild_mon SPECIES_ZUBAT, 10
+ wild_mon SPECIES_ZUBAT, 12
+ wild_mon SPECIES_ZUBAT, 16
+ wild_mon SPECIES_ZUBAT, 6
+ wild_mon SPECIES_ZUBAT, 8
+ wild_mon SPECIES_ZUBAT, 14
+ wild_mon SPECIES_ZUBAT, 8
+ wild_mon SPECIES_ZUBAT, 14
.align 2
gAlteringCave1_LandMonsInfo:: @ 8552B48
@@ -3467,18 +3467,18 @@ gAlteringCave1_LandMonsInfo:: @ 8552B48
.align 2
gAlteringCave2_LandMons:: @ 8552B50
- wild_mon MAREEP, 7
- wild_mon MAREEP, 9
- wild_mon MAREEP, 5
- wild_mon MAREEP, 11
- wild_mon MAREEP, 7
- wild_mon MAREEP, 9
- wild_mon MAREEP, 13
- wild_mon MAREEP, 3
- wild_mon MAREEP, 5
- wild_mon MAREEP, 11
- wild_mon MAREEP, 5
- wild_mon MAREEP, 11
+ wild_mon SPECIES_MAREEP, 7
+ wild_mon SPECIES_MAREEP, 9
+ wild_mon SPECIES_MAREEP, 5
+ wild_mon SPECIES_MAREEP, 11
+ wild_mon SPECIES_MAREEP, 7
+ wild_mon SPECIES_MAREEP, 9
+ wild_mon SPECIES_MAREEP, 13
+ wild_mon SPECIES_MAREEP, 3
+ wild_mon SPECIES_MAREEP, 5
+ wild_mon SPECIES_MAREEP, 11
+ wild_mon SPECIES_MAREEP, 5
+ wild_mon SPECIES_MAREEP, 11
.align 2
gAlteringCave2_LandMonsInfo:: @ 8552B80
@@ -3487,18 +3487,18 @@ gAlteringCave2_LandMonsInfo:: @ 8552B80
.align 2
gAlteringCave3_LandMons:: @ 8552B88
- wild_mon PINECO, 23
- wild_mon PINECO, 25
- wild_mon PINECO, 22
- wild_mon PINECO, 27
- wild_mon PINECO, 23
- wild_mon PINECO, 25
- wild_mon PINECO, 29
- wild_mon PINECO, 19
- wild_mon PINECO, 21
- wild_mon PINECO, 27
- wild_mon PINECO, 21
- wild_mon PINECO, 27
+ wild_mon SPECIES_PINECO, 23
+ wild_mon SPECIES_PINECO, 25
+ wild_mon SPECIES_PINECO, 22
+ wild_mon SPECIES_PINECO, 27
+ wild_mon SPECIES_PINECO, 23
+ wild_mon SPECIES_PINECO, 25
+ wild_mon SPECIES_PINECO, 29
+ wild_mon SPECIES_PINECO, 19
+ wild_mon SPECIES_PINECO, 21
+ wild_mon SPECIES_PINECO, 27
+ wild_mon SPECIES_PINECO, 21
+ wild_mon SPECIES_PINECO, 27
.align 2
gAlteringCave3_LandMonsInfo:: @ 8552BB8
@@ -3507,18 +3507,18 @@ gAlteringCave3_LandMonsInfo:: @ 8552BB8
.align 2
gAlteringCave4_LandMons:: @ 8552BC0
- wild_mon HOUNDOUR, 16
- wild_mon HOUNDOUR, 18
- wild_mon HOUNDOUR, 14
- wild_mon HOUNDOUR, 20
- wild_mon HOUNDOUR, 16
- wild_mon HOUNDOUR, 18
- wild_mon HOUNDOUR, 22
- wild_mon HOUNDOUR, 12
- wild_mon HOUNDOUR, 14
- wild_mon HOUNDOUR, 20
- wild_mon HOUNDOUR, 14
- wild_mon HOUNDOUR, 20
+ wild_mon SPECIES_HOUNDOUR, 16
+ wild_mon SPECIES_HOUNDOUR, 18
+ wild_mon SPECIES_HOUNDOUR, 14
+ wild_mon SPECIES_HOUNDOUR, 20
+ wild_mon SPECIES_HOUNDOUR, 16
+ wild_mon SPECIES_HOUNDOUR, 18
+ wild_mon SPECIES_HOUNDOUR, 22
+ wild_mon SPECIES_HOUNDOUR, 12
+ wild_mon SPECIES_HOUNDOUR, 14
+ wild_mon SPECIES_HOUNDOUR, 20
+ wild_mon SPECIES_HOUNDOUR, 14
+ wild_mon SPECIES_HOUNDOUR, 20
.align 2
gAlteringCave4_LandMonsInfo:: @ 8552BF0
@@ -3527,18 +3527,18 @@ gAlteringCave4_LandMonsInfo:: @ 8552BF0
.align 2
gAlteringCave5_LandMons:: @ 8552BF8
- wild_mon TEDDIURSA, 10
- wild_mon TEDDIURSA, 12
- wild_mon TEDDIURSA, 8
- wild_mon TEDDIURSA, 14
- wild_mon TEDDIURSA, 10
- wild_mon TEDDIURSA, 12
- wild_mon TEDDIURSA, 16
- wild_mon TEDDIURSA, 6
- wild_mon TEDDIURSA, 8
- wild_mon TEDDIURSA, 14
- wild_mon TEDDIURSA, 8
- wild_mon TEDDIURSA, 14
+ wild_mon SPECIES_TEDDIURSA, 10
+ wild_mon SPECIES_TEDDIURSA, 12
+ wild_mon SPECIES_TEDDIURSA, 8
+ wild_mon SPECIES_TEDDIURSA, 14
+ wild_mon SPECIES_TEDDIURSA, 10
+ wild_mon SPECIES_TEDDIURSA, 12
+ wild_mon SPECIES_TEDDIURSA, 16
+ wild_mon SPECIES_TEDDIURSA, 6
+ wild_mon SPECIES_TEDDIURSA, 8
+ wild_mon SPECIES_TEDDIURSA, 14
+ wild_mon SPECIES_TEDDIURSA, 8
+ wild_mon SPECIES_TEDDIURSA, 14
.align 2
gAlteringCave5_LandMonsInfo:: @ 8552C28
@@ -3547,18 +3547,18 @@ gAlteringCave5_LandMonsInfo:: @ 8552C28
.align 2
gAlteringCave6_LandMons:: @ 8552C30
- wild_mon AIPOM, 22
- wild_mon AIPOM, 24
- wild_mon AIPOM, 20
- wild_mon AIPOM, 26
- wild_mon AIPOM, 22
- wild_mon AIPOM, 24
- wild_mon AIPOM, 28
- wild_mon AIPOM, 18
- wild_mon AIPOM, 20
- wild_mon AIPOM, 26
- wild_mon AIPOM, 20
- wild_mon AIPOM, 26
+ wild_mon SPECIES_AIPOM, 22
+ wild_mon SPECIES_AIPOM, 24
+ wild_mon SPECIES_AIPOM, 20
+ wild_mon SPECIES_AIPOM, 26
+ wild_mon SPECIES_AIPOM, 22
+ wild_mon SPECIES_AIPOM, 24
+ wild_mon SPECIES_AIPOM, 28
+ wild_mon SPECIES_AIPOM, 18
+ wild_mon SPECIES_AIPOM, 20
+ wild_mon SPECIES_AIPOM, 26
+ wild_mon SPECIES_AIPOM, 20
+ wild_mon SPECIES_AIPOM, 26
.align 2
gAlteringCave6_LandMonsInfo:: @ 8552C60
@@ -3567,18 +3567,18 @@ gAlteringCave6_LandMonsInfo:: @ 8552C60
.align 2
gAlteringCave7_LandMons:: @ 8552C68
- wild_mon SHUCKLE, 22
- wild_mon SHUCKLE, 24
- wild_mon SHUCKLE, 20
- wild_mon SHUCKLE, 26
- wild_mon SHUCKLE, 22
- wild_mon SHUCKLE, 24
- wild_mon SHUCKLE, 28
- wild_mon SHUCKLE, 18
- wild_mon SHUCKLE, 20
- wild_mon SHUCKLE, 26
- wild_mon SHUCKLE, 20
- wild_mon SHUCKLE, 26
+ wild_mon SPECIES_SHUCKLE, 22
+ wild_mon SPECIES_SHUCKLE, 24
+ wild_mon SPECIES_SHUCKLE, 20
+ wild_mon SPECIES_SHUCKLE, 26
+ wild_mon SPECIES_SHUCKLE, 22
+ wild_mon SPECIES_SHUCKLE, 24
+ wild_mon SPECIES_SHUCKLE, 28
+ wild_mon SPECIES_SHUCKLE, 18
+ wild_mon SPECIES_SHUCKLE, 20
+ wild_mon SPECIES_SHUCKLE, 26
+ wild_mon SPECIES_SHUCKLE, 20
+ wild_mon SPECIES_SHUCKLE, 26
.align 2
gAlteringCave7_LandMonsInfo:: @ 8552C98
@@ -3587,18 +3587,18 @@ gAlteringCave7_LandMonsInfo:: @ 8552C98
.align 2
gAlteringCave8_LandMons:: @ 8552CA0
- wild_mon STANTLER, 22
- wild_mon STANTLER, 24
- wild_mon STANTLER, 20
- wild_mon STANTLER, 26
- wild_mon STANTLER, 22
- wild_mon STANTLER, 24
- wild_mon STANTLER, 28
- wild_mon STANTLER, 18
- wild_mon STANTLER, 20
- wild_mon STANTLER, 26
- wild_mon STANTLER, 20
- wild_mon STANTLER, 26
+ wild_mon SPECIES_STANTLER, 22
+ wild_mon SPECIES_STANTLER, 24
+ wild_mon SPECIES_STANTLER, 20
+ wild_mon SPECIES_STANTLER, 26
+ wild_mon SPECIES_STANTLER, 22
+ wild_mon SPECIES_STANTLER, 24
+ wild_mon SPECIES_STANTLER, 28
+ wild_mon SPECIES_STANTLER, 18
+ wild_mon SPECIES_STANTLER, 20
+ wild_mon SPECIES_STANTLER, 26
+ wild_mon SPECIES_STANTLER, 20
+ wild_mon SPECIES_STANTLER, 26
.align 2
gAlteringCave8_LandMonsInfo:: @ 8552CD0
@@ -3607,18 +3607,18 @@ gAlteringCave8_LandMonsInfo:: @ 8552CD0
.align 2
gAlteringCave9_LandMons:: @ 8552CD8
- wild_mon SMEARGLE, 22
- wild_mon SMEARGLE, 24
- wild_mon SMEARGLE, 20
- wild_mon SMEARGLE, 26
- wild_mon SMEARGLE, 22
- wild_mon SMEARGLE, 24
- wild_mon SMEARGLE, 28
- wild_mon SMEARGLE, 18
- wild_mon SMEARGLE, 20
- wild_mon SMEARGLE, 26
- wild_mon SMEARGLE, 20
- wild_mon SMEARGLE, 26
+ wild_mon SPECIES_SMEARGLE, 22
+ wild_mon SPECIES_SMEARGLE, 24
+ wild_mon SPECIES_SMEARGLE, 20
+ wild_mon SPECIES_SMEARGLE, 26
+ wild_mon SPECIES_SMEARGLE, 22
+ wild_mon SPECIES_SMEARGLE, 24
+ wild_mon SPECIES_SMEARGLE, 28
+ wild_mon SPECIES_SMEARGLE, 18
+ wild_mon SPECIES_SMEARGLE, 20
+ wild_mon SPECIES_SMEARGLE, 26
+ wild_mon SPECIES_SMEARGLE, 20
+ wild_mon SPECIES_SMEARGLE, 26
.align 2
gAlteringCave9_LandMonsInfo:: @ 8552D08
@@ -3627,18 +3627,18 @@ gAlteringCave9_LandMonsInfo:: @ 8552D08
.align 2
gMeteorFalls_StevensCave_LandMons:: @ 8552D10
- wild_mon GOLBAT, 33
- wild_mon GOLBAT, 35
- wild_mon GOLBAT, 33
- wild_mon SOLROCK, 35
- wild_mon SOLROCK, 33
- wild_mon SOLROCK, 37
- wild_mon GOLBAT, 35
- wild_mon SOLROCK, 39
- wild_mon GOLBAT, 38
- wild_mon GOLBAT, 40
- wild_mon GOLBAT, 38
- wild_mon GOLBAT, 40
+ wild_mon SPECIES_GOLBAT, 33
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_GOLBAT, 33
+ wild_mon SPECIES_SOLROCK, 35
+ wild_mon SPECIES_SOLROCK, 33
+ wild_mon SPECIES_SOLROCK, 37
+ wild_mon SPECIES_GOLBAT, 35
+ wild_mon SPECIES_SOLROCK, 39
+ wild_mon SPECIES_GOLBAT, 38
+ wild_mon SPECIES_GOLBAT, 40
+ wild_mon SPECIES_GOLBAT, 38
+ wild_mon SPECIES_GOLBAT, 40
.align 2
gMeteorFalls_StevensCave_LandMonsInfo:: @ 8552D40
diff --git a/graphics/interface/ball/dive.png b/graphics/interface/ball/dive.png
new file mode 100644
index 000000000..5be9b1ed6
--- /dev/null
+++ b/graphics/interface/ball/dive.png
Binary files differ
diff --git a/graphics/interface/ball/great.png b/graphics/interface/ball/great.png
new file mode 100644
index 000000000..0c054d7d3
--- /dev/null
+++ b/graphics/interface/ball/great.png
Binary files differ
diff --git a/graphics/interface/ball/luxury.png b/graphics/interface/ball/luxury.png
new file mode 100644
index 000000000..8056416b2
--- /dev/null
+++ b/graphics/interface/ball/luxury.png
Binary files differ
diff --git a/graphics/interface/ball/master.png b/graphics/interface/ball/master.png
new file mode 100644
index 000000000..9787a8896
--- /dev/null
+++ b/graphics/interface/ball/master.png
Binary files differ
diff --git a/graphics/interface/ball/nest.png b/graphics/interface/ball/nest.png
new file mode 100644
index 000000000..a2fa81c1e
--- /dev/null
+++ b/graphics/interface/ball/nest.png
Binary files differ
diff --git a/graphics/interface/ball/net.png b/graphics/interface/ball/net.png
new file mode 100644
index 000000000..6fef48101
--- /dev/null
+++ b/graphics/interface/ball/net.png
Binary files differ
diff --git a/graphics/interface/ball/poke.png b/graphics/interface/ball/poke.png
new file mode 100644
index 000000000..1e4aba669
--- /dev/null
+++ b/graphics/interface/ball/poke.png
Binary files differ
diff --git a/graphics/interface/ball/premier.png b/graphics/interface/ball/premier.png
new file mode 100644
index 000000000..f5aaadbaf
--- /dev/null
+++ b/graphics/interface/ball/premier.png
Binary files differ
diff --git a/graphics/interface/ball/repeat.png b/graphics/interface/ball/repeat.png
new file mode 100644
index 000000000..5abe789a2
--- /dev/null
+++ b/graphics/interface/ball/repeat.png
Binary files differ
diff --git a/graphics/interface/ball/safari.png b/graphics/interface/ball/safari.png
new file mode 100644
index 000000000..0dd49aef9
--- /dev/null
+++ b/graphics/interface/ball/safari.png
Binary files differ
diff --git a/graphics/interface/ball/timer.png b/graphics/interface/ball/timer.png
new file mode 100644
index 000000000..2b63f6795
--- /dev/null
+++ b/graphics/interface/ball/timer.png
Binary files differ
diff --git a/include/abilities.h b/include/abilities.h
deleted file mode 100644
index 4c47025f8..000000000
--- a/include/abilities.h
+++ /dev/null
@@ -1,81 +0,0 @@
-enum
-{
- ABILITY_NONE,
- ABILITY_STENCH,
- ABILITY_DRIZZLE,
- ABILITY_SPEED_BOOST,
- ABILITY_BATTLE_ARMOR,
- ABILITY_STURDY,
- ABILITY_DAMP,
- ABILITY_LIMBER,
- ABILITY_SAND_VEIL,
- ABILITY_STATIC,
- ABILITY_VOLT_ABSORB,
- ABILITY_WATER_ABSORB,
- ABILITY_OBLIVIOUS,
- ABILITY_CLOUD_NINE,
- ABILITY_COMPOUND_EYES,
- ABILITY_INSOMNIA,
- ABILITY_COLOR_CHANGE,
- ABILITY_IMMUNITY,
- ABILITY_FLASH_FIRE,
- ABILITY_SHIELD_DUST,
- ABILITY_OWN_TEMPO,
- ABILITY_SUCTION_CUPS,
- ABILITY_INTIMIDATE,
- ABILITY_SHADOW_TAG,
- ABILITY_ROUGH_SKIN,
- ABILITY_WONDER_GUARD,
- ABILITY_LEVITATE,
- ABILITY_EFFECT_SPORE,
- ABILITY_SYNCHRONIZE,
- ABILITY_CLEAR_BODY,
- ABILITY_NATURAL_CURE,
- ABILITY_LIGHTNING_ROD,
- ABILITY_SERENE_GRACE,
- ABILITY_SWIFT_SWIM,
- ABILITY_CHLOROPHYLL,
- ABILITY_ILLUMINATE,
- ABILITY_TRACE,
- ABILITY_HUGE_POWER,
- ABILITY_POISON_POINT,
- ABILITY_INNER_FOCUS,
- ABILITY_MAGMA_ARMOR,
- ABILITY_WATER_VEIL,
- ABILITY_MAGNET_PULL,
- ABILITY_SOUNDPROOF,
- ABILITY_RAIN_DISH,
- ABILITY_SAND_STREAM,
- ABILITY_PRESSURE,
- ABILITY_THICK_FAT,
- ABILITY_EARLY_BIRD,
- ABILITY_FLAME_BODY,
- ABILITY_RUN_AWAY,
- ABILITY_KEEN_EYE,
- ABILITY_HYPER_CUTTER,
- ABILITY_PICKUP,
- ABILITY_TRUANT,
- ABILITY_HUSTLE,
- ABILITY_CUTE_CHARM,
- ABILITY_PLUS,
- ABILITY_MINUS,
- ABILITY_FORECAST,
- ABILITY_STICKY_HOLD,
- ABILITY_SHED_SKIN,
- ABILITY_GUTS,
- ABILITY_MARVEL_SCALE,
- ABILITY_LIQUID_OOZE,
- ABILITY_OVERGROW,
- ABILITY_BLAZE,
- ABILITY_TORRENT,
- ABILITY_SWARM,
- ABILITY_ROCK_HEAD,
- ABILITY_DROUGHT,
- ABILITY_ARENA_TRAP,
- ABILITY_VITAL_SPIRIT,
- ABILITY_WHITE_SMOKE,
- ABILITY_PURE_POWER,
- ABILITY_SHELL_ARMOR,
- ABILITY_CACOPHONY,
- ABILITY_AIR_LOCK
-}; \ No newline at end of file
diff --git a/include/battle.h b/include/battle.h
index 72124e0d6..297711bd8 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -86,7 +86,7 @@
#define BATTLE_FORFEITED 0x9
#define BATTLE_OPPONENT_TELEPORTED 0xA
-#define BATTLE_OUTCOME_BIT_x80 0x80
+#define OUTCOME_LINK_BATTLE_RUN 0x80
#define STATUS_NONE 0x0
#define STATUS_SLEEP 0x7
@@ -616,10 +616,10 @@ struct BattleStruct
u8 focusPunchBank;
u8 field_49;
u8 moneyMultiplier;
- u8 field_4B;
+ u8 savedTurnActionNumber;
u8 switchInAbilitiesCounter;
- u8 field_4D;
- u8 field_4E;
+ u8 faintedActionsState;
+ u8 faintedActionsBank;
u8 field_4F;
u16 expValue;
u8 field_52;
@@ -691,8 +691,8 @@ struct BattleStruct
u8 field_182;
u8 field_183;
struct BattleEnigmaBerry battleEnigmaBerry;
- u8 field_1A0;
- u8 field_1A1;
+ u8 wishPerishSongState;
+ u8 wishPerishSongBank;
bool8 overworldWeatherDone;
u8 atkCancellerTracker;
u8 field_1A4[96];
@@ -801,7 +801,7 @@ extern struct BattleStruct* gBattleStruct;
#define B_ANIM_ITEM_STEAL 0x10
#define B_ANIM_SNATCH_MOVE 0x11
#define B_ANIM_FUTURE_SIGHT_HIT 0x12
-#define B_ANIM_x13 0x13
+#define B_ANIM_DOOM_DESIRE_HIT 0x13
#define B_ANIM_x14 0x14
#define B_ANIM_INGRAIN_HEAL 0x15
#define B_ANIM_WISH_HEAL 0x16
@@ -846,8 +846,8 @@ struct BattleScripting
u8 animArg2;
u16 tripleKickPower;
u8 atk49_state;
- u8 field_15;
- u8 field_16;
+ u8 bankWithAbility;
+ u8 multihitMoveEffect;
u8 bank;
u8 animTurn;
u8 animTargetsHit;
@@ -933,7 +933,7 @@ struct BattleHealthboxInfo
u8 flag_x1 : 1;
u8 flag_x2 : 1;
u8 flag_x4 : 1;
- u8 flag_x8 : 1;
+ u8 ballAnimActive : 1; // 0x8
u8 statusAnimActive : 1; // x10
u8 animFromTableActive : 1; // x20
u8 specialAnimActive : 1; //x40
diff --git a/include/battle_anim.h b/include/battle_anim.h
index c055e94fa..9fb7ccd53 100644
--- a/include/battle_anim.h
+++ b/include/battle_anim.h
@@ -79,11 +79,22 @@ void HandleIntroSlide(u8 terrainId);
// battle_anim_80A5C6C.s
void sub_80A6EEC(struct Sprite *sprite);
+void sub_80A68D4(struct Sprite *sprite);
+void sub_80A6F3C(struct Sprite *sprite);
void sub_80A8278(void);
void sub_80A6B30(struct UnknownAnimStruct2*);
void sub_80A6B90(struct UnknownAnimStruct2*, u32 arg1);
u8 sub_80A82E4(u8 bank);
-u8 sub_80A5C6C(u8 bank, u8 attributeId);
+bool8 AnimateBallThrow(struct Sprite *sprite);
+
+enum
+{
+ BANK_X_POS,
+ BANK_Y_POS,
+};
+
+u8 GetBankPosition(u8 bank, u8 attributeId);
+
bool8 IsBankSpritePresent(u8 bank);
void sub_80A6C68(u8 arg0);
u8 GetAnimBankSpriteId(u8 wantedBank);
@@ -99,4 +110,9 @@ u8 GetSubstituteSpriteDefault_Y(u8 bank);
// battle_anim_80A9C70.s
void LaunchStatusAnimation(u8 bank, u8 statusAnimId);
+// battle_anim_8170478.s
+u8 ItemIdToBallId(u16 itemId);
+u8 LaunchBallStarsTask(u8 x, u8 y, u8 kindOfStars, u8 arg3, u8 ballId);
+u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 bank, u32 arg2, u8 ballId);
+
#endif // GUARD_BATTLE_ANIM_H
diff --git a/include/battle_move_effects.h b/include/battle_move_effects.h
deleted file mode 100644
index 23c19ded7..000000000
--- a/include/battle_move_effects.h
+++ /dev/null
@@ -1,222 +0,0 @@
-#ifndef GUARD_BATTLE_MOVE_EFFECTS_H
-#define GUARD_BATTLE_MOVE_EFFECTS_H
-
-enum
-{
- EFFECT_HIT,
- EFFECT_SLEEP,
- EFFECT_POISON_HIT,
- EFFECT_ABSORB,
- EFFECT_BURN_HIT,
- EFFECT_FREEZE_HIT,
- EFFECT_PARALYZE_HIT,
- EFFECT_EXPLOSION,
- EFFECT_DREAM_EATER,
- EFFECT_MIRROR_MOVE,
- EFFECT_ATTACK_UP,
- EFFECT_DEFENSE_UP,
- EFFECT_SPEED_UP,
- EFFECT_SPECIAL_ATTACK_UP,
- EFFECT_SPECIAL_DEFENSE_UP,
- EFFECT_ACCURACY_UP,
- EFFECT_EVASION_UP,
- EFFECT_ALWAYS_HIT,
- EFFECT_ATTACK_DOWN,
- EFFECT_DEFENSE_DOWN,
- EFFECT_SPEED_DOWN,
- EFFECT_SPECIAL_ATTACK_DOWN, // unused
- EFFECT_SPECIAL_DEFENSE_DOWN, // unused
- EFFECT_ACCURACY_DOWN,
- EFFECT_EVASION_DOWN,
- EFFECT_HAZE,
- EFFECT_BIDE,
- EFFECT_RAMPAGE,
- EFFECT_ROAR,
- EFFECT_MULTI_HIT,
- EFFECT_CONVERSION,
- EFFECT_FLINCH_HIT,
- EFFECT_RESTORE_HP,
- EFFECT_TOXIC,
- EFFECT_PAY_DAY,
- EFFECT_LIGHT_SCREEN,
- EFFECT_TRI_ATTACK,
- EFFECT_REST,
- EFFECT_OHKO,
- EFFECT_RAZOR_WIND,
- EFFECT_SUPER_FANG,
- EFFECT_DRAGON_RAGE,
- EFFECT_TRAP,
- EFFECT_HIGH_CRITICAL,
- EFFECT_DOUBLE_HIT,
- EFFECT_RECOIL_IF_MISS,
- EFFECT_MIST,
- EFFECT_FOCUS_ENERGY,
- EFFECT_RECOIL,
- EFFECT_CONFUSE,
- EFFECT_ATTACK_UP_2,
- EFFECT_DEFENSE_UP_2,
- EFFECT_SPEED_UP_2,
- EFFECT_SPECIAL_ATTACK_UP_2,
- EFFECT_SPECIAL_DEFENSE_UP_2,
- EFFECT_ACCURACY_UP_2,
- EFFECT_EVASION_UP_2,
- EFFECT_TRANSFORM,
- EFFECT_ATTACK_DOWN_2,
- EFFECT_DEFENSE_DOWN_2,
- EFFECT_SPEED_DOWN_2,
- EFFECT_SPECIAL_ATTACK_DOWN_2,
- EFFECT_SPECIAL_DEFENSE_DOWN_2,
- EFFECT_ACCURACY_DOWN_2,
- EFFECT_EVASION_DOWN_2,
- EFFECT_REFLECT,
- EFFECT_POISON,
- EFFECT_PARALYZE,
- EFFECT_ATTACK_DOWN_HIT,
- EFFECT_DEFENSE_DOWN_HIT,
- EFFECT_SPEED_DOWN_HIT,
- EFFECT_SPECIAL_ATTACK_DOWN_HIT,
- EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
- EFFECT_ACCURACY_DOWN_HIT,
- EFFECT_EVASION_DOWN_HIT,
- EFFECT_SKY_ATTACK,
- EFFECT_CONFUSE_HIT,
- EFFECT_TWINEEDLE,
- EFFECT_VITAL_THROW,
- EFFECT_SUBSTITUTE,
- EFFECT_RECHARGE,
- EFFECT_RAGE,
- EFFECT_MIMIC,
- EFFECT_METRONOME,
- EFFECT_LEECH_SEED,
- EFFECT_SPLASH,
- EFFECT_DISABLE,
- EFFECT_LEVEL_DAMAGE,
- EFFECT_PSYWAVE,
- EFFECT_COUNTER,
- EFFECT_ENCORE,
- EFFECT_PAIN_SPLIT,
- EFFECT_SNORE,
- EFFECT_CONVERSION_2,
- EFFECT_LOCK_ON,
- EFFECT_SKETCH,
- EFFECT_UNUSED_60, // thaw
- EFFECT_SLEEP_TALK,
- EFFECT_DESTINY_BOND,
- EFFECT_FLAIL,
- EFFECT_SPITE,
- EFFECT_FALSE_SWIPE,
- EFFECT_HEAL_BELL,
- EFFECT_QUICK_ATTACK,
- EFFECT_TRIPLE_KICK,
- EFFECT_THIEF,
- EFFECT_MEAN_LOOK,
- EFFECT_NIGHTMARE,
- EFFECT_MINIMIZE,
- EFFECT_CURSE,
- EFFECT_UNUSED_6E,
- EFFECT_PROTECT,
- EFFECT_SPIKES,
- EFFECT_FORESIGHT,
- EFFECT_PERISH_SONG,
- EFFECT_SANDSTORM,
- EFFECT_ENDURE,
- EFFECT_ROLLOUT,
- EFFECT_SWAGGER,
- EFFECT_FURY_CUTTER,
- EFFECT_ATTRACT,
- EFFECT_RETURN,
- EFFECT_PRESENT,
- EFFECT_FRUSTRATION,
- EFFECT_SAFEGUARD,
- EFFECT_THAW_HIT,
- EFFECT_MAGNITUDE,
- EFFECT_BATON_PASS,
- EFFECT_PURSUIT,
- EFFECT_RAPID_SPIN,
- EFFECT_SONICBOOM,
- EFFECT_UNUSED_83,
- EFFECT_MORNING_SUN,
- EFFECT_SYNTHESIS,
- EFFECT_MOONLIGHT,
- EFFECT_HIDDEN_POWER,
- EFFECT_RAIN_DANCE,
- EFFECT_SUNNY_DAY,
- EFFECT_DEFENSE_UP_HIT,
- EFFECT_ATTACK_UP_HIT,
- EFFECT_ALL_STATS_UP_HIT,
- EFFECT_UNUSED_8D, // incomplete fake out in gen 2
- EFFECT_BELLY_DRUM,
- EFFECT_PSYCH_UP,
- EFFECT_MIRROR_COAT,
- EFFECT_SKULL_BASH,
- EFFECT_TWISTER,
- EFFECT_EARTHQUAKE,
- EFFECT_FUTURE_SIGHT,
- EFFECT_GUST,
- EFFECT_STOMP, // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM
- EFFECT_SOLARBEAM,
- EFFECT_THUNDER,
- EFFECT_TELEPORT,
- EFFECT_BEAT_UP,
- EFFECT_SEMI_INVULNERABLE,
- EFFECT_DEFENSE_CURL,
- EFFECT_SOFTBOILED,
- EFFECT_FAKE_OUT,
- EFFECT_UPROAR,
- EFFECT_STOCKPILE,
- EFFECT_SPIT_UP,
- EFFECT_SWALLOW,
- EFFECT_UNUSED_A3,
- EFFECT_HAIL,
- EFFECT_TORMENT,
- EFFECT_FLATTER,
- EFFECT_WILL_O_WISP,
- EFFECT_MEMENTO,
- EFFECT_FACADE,
- EFFECT_FOCUS_PUNCH,
- EFFECT_SMELLINGSALT,
- EFFECT_FOLLOW_ME,
- EFFECT_NATURE_POWER,
- EFFECT_CHARGE,
- EFFECT_TAUNT,
- EFFECT_HELPING_HAND,
- EFFECT_TRICK,
- EFFECT_ROLE_PLAY,
- EFFECT_WISH,
- EFFECT_ASSIST,
- EFFECT_INGRAIN,
- EFFECT_SUPERPOWER,
- EFFECT_MAGIC_COAT,
- EFFECT_RECYCLE,
- EFFECT_REVENGE,
- EFFECT_BRICK_BREAK,
- EFFECT_YAWN,
- EFFECT_KNOCK_OFF,
- EFFECT_ENDEAVOR,
- EFFECT_ERUPTION,
- EFFECT_SKILL_SWAP,
- EFFECT_IMPRISON,
- EFFECT_REFRESH,
- EFFECT_GRUDGE,
- EFFECT_SNATCH,
- EFFECT_LOW_KICK,
- EFFECT_SECRET_POWER,
- EFFECT_DOUBLE_EDGE,
- EFFECT_TEETER_DANCE,
- EFFECT_BLAZE_KICK,
- EFFECT_MUD_SPORT,
- EFFECT_POISON_FANG,
- EFFECT_WEATHER_BALL,
- EFFECT_OVERHEAT,
- EFFECT_TICKLE,
- EFFECT_COSMIC_POWER,
- EFFECT_SKY_UPPERCUT,
- EFFECT_BULK_UP,
- EFFECT_POISON_TAIL,
- EFFECT_WATER_SPORT,
- EFFECT_CALM_MIND,
- EFFECT_DRAGON_DANCE,
- EFFECT_CAMOUFLAGE,
-};
-
-#endif // GUARD_BATTLE_MOVE_EFFECTS_H
diff --git a/include/battle_scripts.h b/include/battle_scripts.h
index 5131778a8..2e31a37c5 100644
--- a/include/battle_scripts.h
+++ b/include/battle_scripts.h
@@ -1,356 +1,22 @@
#ifndef GUARD_BATTLE_SCRIPTS_H
#define GUARD_BATTLE_SCRIPTS_H
-extern const u8 BattleScript_EffectHit[];
-extern const u8 BattleScript_HitFromAtkCanceler[];
-extern const u8 BattleScript_HitFromAccCheck[];
-extern const u8 BattleScript_HitFromAtkString[];
extern const u8 BattleScript_HitFromCritCalc[];
-extern const u8 BattleScript_HitFromAtkAnimation[];
extern const u8 BattleScript_MoveEnd[];
extern const u8 BattleScript_MakeMoveMissed[];
extern const u8 BattleScript_PrintMoveMissed[];
extern const u8 BattleScript_MoveMissedPause[];
extern const u8 BattleScript_MoveMissed[];
-extern const u8 BattleScript_EffectSleep[];
-extern const u8 BattleScript_AlreadyAsleep[];
-extern const u8 BattleScript_WasntAffected[];
-extern const u8 BattleScript_CantMakeAsleep[];
-extern const u8 BattleScript_EffectPoisonHit[];
-extern const u8 BattleScript_EffectAbsorb[];
-extern const u8 BattleScript_82D8B26[];
-extern const u8 BattleScript_82D8B2E[];
-extern const u8 BattleScript_82D8B45[];
-extern const u8 BattleScript_EffectBurnHit[];
-extern const u8 BattleScript_EffectFreezeHit[];
-extern const u8 BattleScript_EffectParalyzeHit[];
-extern const u8 BattleScript_EffectExplosion[];
-extern const u8 BattleScript_82D8B94[];
-extern const u8 BattleScript_82D8B96[];
-extern const u8 BattleScript_82D8BCF[];
-extern const u8 BattleScript_82D8BEA[];
-extern const u8 BattleScript_EffectDreamEater[];
-extern const u8 BattleScript_82D8C0E[];
-extern const u8 BattleScript_82D8C18[];
-extern const u8 BattleScript_82D8C56[];
-extern const u8 BattleScript_EffectMirrorMove[];
-extern const u8 BattleScript_EffectAttackUp[];
-extern const u8 BattleScript_EffectDefenseUp[];
-extern const u8 BattleScript_EffectSpecialAttackUp[];
-extern const u8 BattleScript_EffectEvasionUp[];
-extern const u8 BattleScript_EffectStatUp[];
-extern const u8 BattleScript_EffectStatUpAfterAtkCanceler[];
-extern const u8 BattleScript_StatUpAttackAnim[];
-extern const u8 BattleScript_StatUpDoAnim[];
-extern const u8 BattleScript_StatUpPrintString[];
-extern const u8 BattleScript_StatUpEnd[];
+extern const u8 BattleScript_ButItFailed[];
extern const u8 BattleScript_StatUp[];
-extern const u8 BattleScript_EffectAttackDown[];
-extern const u8 BattleScript_EffectDefenseDown[];
-extern const u8 BattleScript_EffectSpeedDown[];
-extern const u8 BattleScript_EffectAccuracyDown[];
-extern const u8 BattleScript_EffectEvasionDown[];
-extern const u8 BattleScript_EffectStatDown[];
-extern const u8 BattleScript_StatDownDoAnim[];
-extern const u8 BattleScript_StatDownPrintString[];
-extern const u8 BattleScript_82D8D60[];
extern const u8 BattleScript_StatDown[];
-extern const u8 BattleScript_EffectHaze[];
-extern const u8 BattleScript_EffectBide[];
-extern const u8 BattleScript_EffectRampage[];
-extern const u8 BattleScript_82D8DAE[];
-extern const u8 BattleScript_EffectRoar[];
-extern const u8 BattleScript_EffectMultiHit[];
-extern const u8 BattleScript_82D8DFD[];
-extern const u8 BattleScript_82D8E1F[];
-extern const u8 BattleScript_82D8E71[];
-extern const u8 BattleScript_82D8E74[];
-extern const u8 BattleScript_82D8E93[];
-extern const u8 BattleScript_EffectConversion[];
-extern const u8 BattleScript_EffectFlinchHit[];
-extern const u8 BattleScript_EffectRestoreHp[];
-extern const u8 BattleScript_EffectToxic[];
-extern const u8 BattleScript_AlreadyPoisoned[];
-extern const u8 BattleScript_ImmunityProtected[];
-extern const u8 BattleScript_EffectPayDay[];
-extern const u8 BattleScript_EffectLightScreen[];
-extern const u8 BattleScript_EffectTriAttack[];
-extern const u8 BattleScript_EffectRest[];
-extern const u8 BattleScript_RestCantSleep[];
-extern const u8 BattleScript_RestIsAlreadyAsleep[];
-extern const u8 BattleScript_EffectOHKO[];
-extern const u8 BattleScript_KOFail[];
-extern const u8 BattleScript_EffectRazorWind[];
-extern const u8 BattleScript_TwoTurnMovesSecondTurn[];
-extern const u8 BattleScriptFirstChargingTurn[];
-extern const u8 BattleScript_EffectSuperFang[];
-extern const u8 BattleScript_EffectDragonRage[];
-extern const u8 BattleScript_EffectTrap[];
-extern const u8 BattleScript_DoWrapEffect[];
-extern const u8 BattleScript_EffectDoubleHit[];
-extern const u8 BattleScript_EffectRecoilIfMiss[];
-extern const u8 BattleScript_82D9135[];
-extern const u8 BattleScript_EffectMist[];
-extern const u8 BattleScript_EffectFocusEnergy[];
-extern const u8 BattleScript_EffectRecoil[];
-extern const u8 BattleScript_EffectConfuse[];
-extern const u8 BattleScript_AlreadyConfused[];
-extern const u8 BattleScript_EffectAttackUp2[];
-extern const u8 BattleScript_EffectDefenseUp2[];
-extern const u8 BattleScript_EffectSpeedUp2[];
-extern const u8 BattleScript_EffectSpecialAttackUp2[];
-extern const u8 BattleScript_EffectSpecialDefenseUp2[];
-extern const u8 BattleScript_EffectTransform[];
-extern const u8 BattleScript_EffectAttackDown2[];
-extern const u8 BattleScript_EffectDefenseDown2[];
-extern const u8 BattleScript_EffectSpeedDown2[];
-extern const u8 BattleScript_EffectSpecialDefenseDown2[];
-extern const u8 BattleScript_EffectReflect[];
-extern const u8 BattleScript_PrintReflectLightScreenSafeguardString[];
-extern const u8 BattleScript_EffectPoison[];
-extern const u8 BattleScript_EffectParalyze[];
-extern const u8 BattleScript_AlreadyParalyzed[];
-extern const u8 BattleScript_LimberProtected[];
-extern const u8 BattleScript_EffectAttackDownHit[];
-extern const u8 BattleScript_EffectDefenseDownHit[];
-extern const u8 BattleScript_EffectSpeedDownHit[];
-extern const u8 BattleScript_EffectSpecialAttackDownHit[];
-extern const u8 BattleScript_EffectSpecialDefenseDownHit[];
-extern const u8 BattleScript_EffectAccuracyDownHit[];
-extern const u8 BattleScript_EffectSkyAttack[];
-extern const u8 BattleScript_EffectConfuseHit[];
-extern const u8 BattleScript_EffectTwineedle[];
-extern const u8 BattleScript_EffectSubstitute[];
-extern const u8 BattleScript_SubstituteAnim[];
-extern const u8 BattleScript_SubstituteString[];
-extern const u8 BattleScript_AlreadyHasSubstitute[];
-extern const u8 BattleScript_EffectRecharge[];
-extern const u8 BattleScript_MoveUsedMustRecharge[];
-extern const u8 BattleScript_EffectRage[];
-extern const u8 BattleScript_RageMiss[];
-extern const u8 BattleScript_EffectMimic[];
-extern const u8 BattleScript_EffectMetronome[];
-extern const u8 BattleScript_EffectLeechSeed[];
-extern const u8 BattleScript_DoLeechSeed[];
-extern const u8 BattleScript_EffectSplash[];
-extern const u8 BattleScript_EffectDisable[];
-extern const u8 BattleScript_EffectLevelDamage[];
-extern const u8 BattleScript_EffectPsywave[];
-extern const u8 BattleScript_EffectCounter[];
-extern const u8 BattleScript_EffectEncore[];
-extern const u8 BattleScript_EffectPainSplit[];
-extern const u8 BattleScript_EffectSnore[];
-extern const u8 BattleScript_SnoreIsAsleep[];
-extern const u8 BattleScript_DoSnore[];
-extern const u8 BattleScript_EffectConversion2[];
-extern const u8 BattleScript_EffectLockOn[];
-extern const u8 BattleScript_EffectSketch[];
-extern const u8 BattleScript_EffectSleepTalk[];
-extern const u8 BattleScript_SleepTalkIsAsleep[];
-extern const u8 BattleScript_SleepTalkUsingMove[];
-extern const u8 BattleScript_EffectDestinyBond[];
-extern const u8 BattleScript_EffectFlail[];
-extern const u8 BattleScript_EffectSpite[];
-extern const u8 BattleScript_EffectHealBell[];
-extern const u8 BattleScript_CheckHealBellMon2Unaffected[];
-extern const u8 BattleScript_PartyHealEnd[];
-extern const u8 BattleScript_EffectTripleKick[];
-extern const u8 BattleScript_TripleKickLoop[];
-extern const u8 BattleScript_DoTripleKickAttack[];
-extern const u8 BattleScript_TripleKickNoMoreHits[];
-extern const u8 BattleScript_TripleKickPrintStrings[];
-extern const u8 BattleScript_TripleKickEnd[];
-extern const u8 BattleScript_EffectThief[];
-extern const u8 BattleScript_EffectMeanLook[];
-extern const u8 BattleScript_EffectNightmare[];
-extern const u8 BattleScript_NightmareWorked[];
-extern const u8 BattleScript_EffectMinimize[];
-extern const u8 BattleScript_EffectCurse[];
-extern const u8 BattleScript_CurseTrySpeed[];
-extern const u8 BattleScript_CurseTryAttack[];
-extern const u8 BattleScript_CurseTryDefence[];
-extern const u8 BattleScript_CurseEnd[];
-extern const u8 BattleScript_GhostCurse[];
-extern const u8 BattleScript_DoGhostCurse[];
-extern const u8 BattleScript_EffectProtect[];
-extern const u8 BattleScript_EffectSpikes[];
-extern const u8 BattleScript_EffectForesight[];
-extern const u8 BattleScript_EffectPerishSong[];
-extern const u8 BattleScript_PerishSongLoop[];
-extern const u8 BattleScript_PerishSongLoopIncrement[];
-extern const u8 BattleScript_PerishSongNotAffected[];
-extern const u8 BattleScript_EffectSandstorm[];
-extern const u8 BattleScript_EffectRollout[];
-extern const u8 BattleScript_RolloutCheckAccuracy[];
-extern const u8 BattleScript_RolloutHit[];
-extern const u8 BattleScript_EffectSwagger[];
-extern const u8 BattleScript_SwaggerTryConfuse[];
-extern const u8 BattleScript_EffectFuryCutter[];
-extern const u8 BattleScript_FuryCutterHit[];
-extern const u8 BattleScript_EffectAttract[];
-extern const u8 BattleScript_EffectReturn[];
-extern const u8 BattleScript_EffectPresent[];
-extern const u8 BattleScript_EffectSafeguard[];
-extern const u8 BattleScript_EffectThawHit[];
-extern const u8 BattleScript_EffectMagnitude[];
-extern const u8 BattleScript_EffectBatonPass[];
-extern const u8 BattleScript_EffectRapidSpin[];
-extern const u8 BattleScript_EffectSonicboom[];
-extern const u8 BattleScript_EffectMorningSun[];
-extern const u8 BattleScript_EffectHiddenPower[];
-extern const u8 BattleScript_EffectRainDance[];
-extern const u8 BattleScript_MoveWeatherChange[];
-extern const u8 BattleScript_EffectSunnyDay[];
-extern const u8 BattleScript_EffectDefenseUpHit[];
-extern const u8 BattleScript_EffectAttackUpHit[];
-extern const u8 BattleScript_EffectAllStatsUpHit[];
-extern const u8 BattleScript_EffectBellyDrum[];
-extern const u8 BattleScript_EffectPsychUp[];
-extern const u8 BattleScript_EffectMirrorCoat[];
-extern const u8 BattleScript_EffectSkullBash[];
-extern const u8 BattleScript_SkullBashEnd[];
-extern const u8 BattleScript_EffectTwister[];
-extern const u8 BattleScript_FlinchEffect[];
-extern const u8 BattleScript_EffectEarthquake[];
-extern const u8 BattleScript_82D9C44[];
-extern const u8 BattleScript_82D9C64[];
-extern const u8 BattleScript_82D9C73[];
-extern const u8 BattleScript_82D9CAC[];
-extern const u8 BattleScript_EffectFutureSight[];
-extern const u8 BattleScript_EffectGust[];
-extern const u8 BattleScript_EffectStomp[];
-extern const u8 BattleScript_EffectSolarbeam[];
-extern const u8 BattleScript_SolarbeamDecideTurn[];
-extern const u8 BattleScript_SolarbeamOnFirstTurn[];
-extern const u8 BattleScript_EffectThunder[];
-extern const u8 BattleScript_EffectTeleport[];
-extern const u8 BattleScript_EffectBeatUp[];
-extern const u8 BattleScript_BeatUpLoop[];
-extern const u8 BattleScript_BeatUpAttack[];
-extern const u8 BattleScript_BeatUpEnd[];
-extern const u8 BattleScript_EffectSemiInvulnerable[];
-extern const u8 BattleScript_FirstTurnBounce[];
-extern const u8 BattleScript_FirstTurnDive[];
-extern const u8 BattleScript_FirstTurnFly[];
-extern const u8 BattleScript_FirstTurnSemiInvulnerable[];
-extern const u8 BattleScript_SecondTurnSemiInvulnerable[];
-extern const u8 BattleScript_SemiInvulnerableTryHit[];
-extern const u8 BattleScript_SemiInvulnerableMiss[];
-extern const u8 BattleScript_EffectDefenseCurl[];
-extern const u8 BattleScript_DefenseCurlDoStatUpAnim[];
-extern const u8 BattleScript_EffectSoftboiled[];
-extern const u8 BattleScript_PresentHealTarget[];
extern const u8 BattleScript_AlreadyAtFullHp[];
-extern const u8 BattleScript_EffectFakeOut[];
-extern const u8 BattleScript_ButItFailedAtkStringPpReduce[];
-extern const u8 BattleScript_ButItFailedPpReduce[];
-extern const u8 BattleScript_ButItFailed[];
-extern const u8 BattleScript_NotAffected[];
-extern const u8 BattleScript_EffectUproar[];
-extern const u8 BattleScript_UproarHit[];
-extern const u8 BattleScript_EffectStockpile[];
-extern const u8 BattleScript_EffectSpitUp[];
-extern const u8 BattleScript_SpitUpFail[];
-extern const u8 BattleScript_82D9FA2[];
-extern const u8 BattleScript_EffectSwallow[];
-extern const u8 BattleScript_SwallowFail[];
-extern const u8 BattleScript_EffectHail[];
-extern const u8 BattleScript_EffectTorment[];
-extern const u8 BattleScript_EffectFlatter[];
-extern const u8 BattleScript_FlatterTryConfuse[];
-extern const u8 BattleScript_EffectWillOWisp[];
-extern const u8 BattleScript_WaterVeilPrevents[];
-extern const u8 BattleScript_AlreadyBurned[];
-extern const u8 BattleScript_EffectMemento[];
-extern const u8 BattleScript_82DA119[];
-extern const u8 BattleScript_82DA13C[];
-extern const u8 BattleScript_82DA148[];
-extern const u8 BattleScript_82DA153[];
-extern const u8 BattleScript_82DA15A[];
-extern const u8 BattleScript_EffectFacade[];
-extern const u8 BattleScript_FacadeDoubleDmg[];
-extern const u8 BattleScript_EffectFocusPunch[];
-extern const u8 BattleScript_EffectSmellingsalt[];
-extern const u8 BattleScript_82DA1BA[];
-extern const u8 BattleScript_EffectFollowMe[];
-extern const u8 BattleScript_EffectNaturePower[];
-extern const u8 BattleScript_EffectCharge[];
-extern const u8 BattleScript_EffectTaunt[];
-extern const u8 BattleScript_EffectHelpingHand[];
-extern const u8 BattleScript_EffectTrick[];
-extern const u8 BattleScript_EffectRolePlay[];
-extern const u8 BattleScript_EffectWish[];
-extern const u8 BattleScript_EffectAssist[];
-extern const u8 BattleScript_EffectIngrain[];
-extern const u8 BattleScript_EffectSuperpower[];
-extern const u8 BattleScript_EffectMagicCoat[];
-extern const u8 BattleScript_EffectRecycle[];
-extern const u8 BattleScript_EffectRevenge[];
-extern const u8 BattleScript_EffectBrickBreak[];
-extern const u8 BattleScript_82DA306[];
-extern const u8 BattleScript_82DA319[];
-extern const u8 BattleScript_EffectYawn[];
-extern const u8 BattleScript_82DA378[];
-extern const u8 BattleScript_82DA382[];
-extern const u8 BattleScript_EffectKnockOff[];
-extern const u8 BattleScript_EffectEndeavor[];
-extern const u8 BattleScript_EffectEruption[];
-extern const u8 BattleScript_EffectSkillSwap[];
-extern const u8 BattleScript_EffectImprison[];
-extern const u8 BattleScript_EffectRefresh[];
-extern const u8 BattleScript_EffectGrudge[];
-extern const u8 BattleScript_EffectSnatch[];
-extern const u8 BattleScript_EffectLowKick[];
-extern const u8 BattleScript_EffectSecretPower[];
-extern const u8 BattleScript_EffectDoubleEdge[];
-extern const u8 BattleScript_EffectTeeterDance[];
-extern const u8 BattleScript_82DA47B[];
-extern const u8 BattleScript_82DA4C7[];
-extern const u8 BattleScript_82DA4D0[];
-extern const u8 BattleScript_82DA4E5[];
-extern const u8 BattleScript_82DA4F3[];
-extern const u8 BattleScript_82DA501[];
-extern const u8 BattleScript_82DA50F[];
-extern const u8 BattleScript_82DA520[];
-extern const u8 BattleScript_EffectMudSport[];
-extern const u8 BattleScript_EffectPoisonFang[];
-extern const u8 BattleScript_EffectWeatherBall[];
-extern const u8 BattleScript_EffectOverheat[];
-extern const u8 BattleScript_EffectTickle[];
-extern const u8 BattleScript_TickleDoMoveAnim[];
-extern const u8 BattleScript_TickleTryLowerDef[];
-extern const u8 BattleScript_TickleEnd[];
-extern const u8 BattleScript_CantLowerMultipleStats[];
-extern const u8 BattleScript_EffectCosmicPower[];
-extern const u8 BattleScript_CosmicPowerDoMoveAnim[];
-extern const u8 BattleScript_CosmicPowerTrySpDef[];
-extern const u8 BattleScript_CosmicPowerEnd[];
-extern const u8 BattleScript_EffectSkyUppercut[];
-extern const u8 BattleScript_EffectBulkUp[];
-extern const u8 BattleScript_BulkUpDoMoveAnim[];
-extern const u8 BattleScript_BulkUpTryDef[];
-extern const u8 BattleScript_BulkUpEnd[];
-extern const u8 BattleScript_EffectCalmMind[];
-extern const u8 BattleScript_CalmMindDoMoveAnim[];
-extern const u8 BattleScript_CalmMindTrySpDef[];
-extern const u8 BattleScript_CalmMindEnd[];
-extern const u8 BattleScript_CantRaiseMultipleStats[];
-extern const u8 BattleScript_EffectDragonDance[];
-extern const u8 BattleScript_DragonDanceDoMoveAnim[];
-extern const u8 BattleScript_DragonDanceTrySpeed[];
-extern const u8 BattleScript_DragonDanceEnd[];
-extern const u8 BattleScript_EffectCamouflage[];
+extern const u8 BattleScript_PresentHealTarget[];
+extern const u8 BattleScript_MoveUsedMustRecharge[];
extern const u8 BattleScript_FaintAttacker[];
extern const u8 BattleScript_FaintTarget[];
-extern const u8 BattleScript_82DA7C4[];
-extern const u8 BattleScript_82DA7CD[];
-extern const u8 BattleScript_82DA816[];
-extern const u8 BattleScript_82DA8D0[];
-extern const u8 BattleScript_82DA8F5[];
-extern const u8 BattleScript_82DA8F6[];
-extern const u8 BattleScript_82DA8FC[];
-extern const u8 BattleScript_82DA908[];
-extern const u8 BattleScript_82DA92C[];
+extern const u8 BattleScript_GiveExp[];
+extern const u8 BattleScript_HandleFaintedMon[];
extern const u8 BattleScript_LocalTrainerBattleWon[];
extern const u8 BattleScript_LocalTwoTrainersDefeated[];
extern const u8 BattleScript_LocalBattleWonLoseTexts[];
@@ -360,13 +26,9 @@ extern const u8 BattleScript_LocalBattleLost[];
extern const u8 BattleScript_LocalBattleLostPrintWhiteOut[];
extern const u8 BattleScript_LocalBattleLostEnd[];
extern const u8 BattleScript_CheckDomeDrew[];
-extern const u8 BattleScript_LocalBattleLostPrintTrainersWinText[];
-extern const u8 BattleScript_LocalBattleLostDoTrainer2WinText[];
-extern const u8 BattleScript_LocalBattleLostEnd_[];
extern const u8 BattleScript_82DAA0B[];
extern const u8 BattleScript_82DAA31[];
extern const u8 BattleScript_LinkBattleWonOrLost[];
-extern const u8 BattleScript_LinkBattleWonOrLostWaitEnd[];
extern const u8 BattleScript_82DAA5C[];
extern const u8 BattleScript_82DAA83[];
extern const u8 BattleScript_FrontierTrainerBattleWon[];
@@ -390,17 +52,8 @@ extern const u8 BattleScript_82DAB77[];
extern const u8 BattleScript_82DABB8[];
extern const u8 BattleScript_Pausex20[];
extern const u8 BattleScript_LevelUp[];
-extern const u8 BattleScript_TryLearnMoveLoop[];
-extern const u8 BattleScript_AskToLearnMove[];
-extern const u8 BattleScript_ForgotAndLearnedNewMove[];
-extern const u8 BattleScript_LearnedNewMove[];
-extern const u8 BattleScript_LearnMoveReturn[];
extern const u8 BattleScript_RainContinuesOrEnds[];
-extern const u8 BattleScript_RainContinuesOrEndsEnd[];
extern const u8 BattleScript_DamagingWeatherContinues[];
-extern const u8 BattleScript_DamagingWeatherLoop[];
-extern const u8 BattleScript_DamagingWeatherLoopIncrement[];
-extern const u8 BattleScript_DamagingWeatherContinuesEnd[];
extern const u8 BattleScript_SandStormHailEnds[];
extern const u8 BattleScript_SunlightContinues[];
extern const u8 BattleScript_SunlightFaded[];
@@ -414,15 +67,15 @@ extern const u8 BattleScript_82DAD4D[];
extern const u8 BattleScript_BideStoringEnergy[];
extern const u8 BattleScript_BideAttack[];
extern const u8 BattleScript_BideNoEnergyToAttack[];
-extern const u8 BattleScript_82DADD8[];
+extern const u8 BattleScript_SuccessForceOut[];
extern const u8 BattleScript_82DADF1[];
extern const u8 BattleScript_MistProtected[];
extern const u8 BattleScript_RageIsBuilding[];
extern const u8 BattleScript_MoveUsedIsDisabled[];
extern const u8 BattleScript_SelectingDisabledMove[];
extern const u8 BattleScript_DisabledNoMore[];
-extern const u8 BattleScript_82DAE2A[];
-extern const u8 BattleScript_82DAE2D[];
+extern const u8 BattleScript_SelectingDisabledMoveInPalace[];
+extern const u8 BattleScript_SelectingUnusableMoveInPalace[];
extern const u8 BattleScript_EncoredNoMore[];
extern const u8 BattleScript_DestinyBondTakesLife[];
extern const u8 BattleScript_SpikesOnAttacker[];
@@ -456,22 +109,20 @@ extern const u8 BattleScript_NoMovesLeft[];
extern const u8 BattleScript_SelectingMoveWithNoPP[];
extern const u8 BattleScript_NoPPForMove[];
extern const u8 BattleScript_SelectingTormentedMove[];
-extern const u8 BattleScript_82DB08D[];
-extern const u8 BattleScript_82DB098[];
+extern const u8 BattleScript_MoveUsedIsTormented[];
+extern const u8 BattleScript_SelectingTormentedMoveInPalace[];
extern const u8 BattleScript_SelectingNotAllowedMoveTaunt[];
extern const u8 BattleScript_MoveUsedIsTaunted[];
-extern const u8 BattleScript_82DB0AF[];
+extern const u8 BattleScript_SelectingNotAllowedMoveTauntInPalace[];
extern const u8 BattleScript_WishComesTrue[];
-extern const u8 BattleScript_82DB0DE[];
extern const u8 BattleScript_IngrainTurnHeal[];
-extern const u8 BattleScript_82DB109[];
extern const u8 BattleScript_AtkDefDown[];
extern const u8 BattleScript_82DB144[];
extern const u8 BattleScript_82DB167[];
extern const u8 BattleScript_KnockedOff[];
extern const u8 BattleScript_MoveUsedIsImprisoned[];
extern const u8 BattleScript_SelectingImprisionedMove[];
-extern const u8 BattleScript_82DB185[];
+extern const u8 BattleScript_SelectingImprisionedMoveInPalace[];
extern const u8 BattleScript_GrudgeTakesPp[];
extern const u8 BattleScript_MagicCoatBounce[];
extern const u8 BattleScript_SnatchedMove[];
@@ -550,7 +201,6 @@ extern const u8 BattleScript_MonMadeMoveUseless_PPLoss[];
extern const u8 BattleScript_MonMadeMoveUseless[];
extern const u8 BattleScript_FlashFireBoost_PPLoss[];
extern const u8 BattleScript_FlashFireBoost[];
-extern const u8 BattleScript_82DB5B9[];
extern const u8 BattleScript_AbilityNoStatLoss[];
extern const u8 BattleScript_BRNPrevention[];
extern const u8 BattleScript_PRLZPrevention[];
@@ -612,8 +262,8 @@ extern const u8 BattleScript_82DB8F3[];
extern const u8 BattleScript_82DB973[];
extern const u8 BattleScript_82DB992[];
extern const u8 BattleScript_AskIfWantsToForfeitMatch[];
-extern const u8 BattleScript_82DB9C1[];
-extern const u8 BattleScript_82DB9C8[];
+extern const u8 BattleScript_PrintPlayerForfeited[];
+extern const u8 BattleScript_PrintPlayerForfeitedLinkBattle[];
extern const u8 BattleScript_BallThrow[];
extern const u8 BattleScript_BallThrowByWally[];
extern const u8 BattleScript_SafariBallThrow[];
diff --git a/include/battle_util.h b/include/battle_util.h
index b21b250c4..81eb85dc7 100644
--- a/include/battle_util.h
+++ b/include/battle_util.h
@@ -66,8 +66,8 @@ bool8 AreAllMovesUnusable(void);
u8 GetImprisonedMovesCount(u8 bank, u16 move);
u8 UpdateTurnCounters(void);
u8 TurnBasedEffects(void);
-bool8 sub_8041364(void);
-bool8 sub_8041728(void);
+bool8 HandleWishPerishSongOnTurnEnd(void);
+bool8 HandleFaintedMonActions(void);
void TryClearRageStatuses(void);
u8 AtkCanceller_UnableToUseMove(void);
bool8 sub_80423F4(u8 bank, u8 r1, u8 r2);
@@ -79,6 +79,6 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn);
void ClearFuryCutterDestinyBondGrudge(u8 bank);
void HandleAction_RunBattleScript(void);
u8 GetMoveTarget(u16 move, u8 useMoveTarget);
-u8 IsPokeDisobedient(void);
+u8 IsMonDisobedient(void);
#endif // GUARD_BATTLE_UTIL_H
diff --git a/include/constants/abilities.h b/include/constants/abilities.h
new file mode 100644
index 000000000..4e2c4056c
--- /dev/null
+++ b/include/constants/abilities.h
@@ -0,0 +1,83 @@
+#ifndef GUARD_CONSTANTS_ABILITIES_H
+#define GUARD_CONSTANTS_ABILITIES_H
+
+#define ABILITY_NONE 0
+#define ABILITY_STENCH 1
+#define ABILITY_DRIZZLE 2
+#define ABILITY_SPEED_BOOST 3
+#define ABILITY_BATTLE_ARMOR 4
+#define ABILITY_STURDY 5
+#define ABILITY_DAMP 6
+#define ABILITY_LIMBER 7
+#define ABILITY_SAND_VEIL 8
+#define ABILITY_STATIC 9
+#define ABILITY_VOLT_ABSORB 10
+#define ABILITY_WATER_ABSORB 11
+#define ABILITY_OBLIVIOUS 12
+#define ABILITY_CLOUD_NINE 13
+#define ABILITY_COMPOUND_EYES 14
+#define ABILITY_INSOMNIA 15
+#define ABILITY_COLOR_CHANGE 16
+#define ABILITY_IMMUNITY 17
+#define ABILITY_FLASH_FIRE 18
+#define ABILITY_SHIELD_DUST 19
+#define ABILITY_OWN_TEMPO 20
+#define ABILITY_SUCTION_CUPS 21
+#define ABILITY_INTIMIDATE 22
+#define ABILITY_SHADOW_TAG 23
+#define ABILITY_ROUGH_SKIN 24
+#define ABILITY_WONDER_GUARD 25
+#define ABILITY_LEVITATE 26
+#define ABILITY_EFFECT_SPORE 27
+#define ABILITY_SYNCHRONIZE 28
+#define ABILITY_CLEAR_BODY 29
+#define ABILITY_NATURAL_CURE 30
+#define ABILITY_LIGHTNING_ROD 31
+#define ABILITY_SERENE_GRACE 32
+#define ABILITY_SWIFT_SWIM 33
+#define ABILITY_CHLOROPHYLL 34
+#define ABILITY_ILLUMINATE 35
+#define ABILITY_TRACE 36
+#define ABILITY_HUGE_POWER 37
+#define ABILITY_POISON_POINT 38
+#define ABILITY_INNER_FOCUS 39
+#define ABILITY_MAGMA_ARMOR 40
+#define ABILITY_WATER_VEIL 41
+#define ABILITY_MAGNET_PULL 42
+#define ABILITY_SOUNDPROOF 43
+#define ABILITY_RAIN_DISH 44
+#define ABILITY_SAND_STREAM 45
+#define ABILITY_PRESSURE 46
+#define ABILITY_THICK_FAT 47
+#define ABILITY_EARLY_BIRD 48
+#define ABILITY_FLAME_BODY 49
+#define ABILITY_RUN_AWAY 50
+#define ABILITY_KEEN_EYE 51
+#define ABILITY_HYPER_CUTTER 52
+#define ABILITY_PICKUP 53
+#define ABILITY_TRUANT 54
+#define ABILITY_HUSTLE 55
+#define ABILITY_CUTE_CHARM 56
+#define ABILITY_PLUS 57
+#define ABILITY_MINUS 58
+#define ABILITY_FORECAST 59
+#define ABILITY_STICKY_HOLD 60
+#define ABILITY_SHED_SKIN 61
+#define ABILITY_GUTS 62
+#define ABILITY_MARVEL_SCALE 63
+#define ABILITY_LIQUID_OOZE 64
+#define ABILITY_OVERGROW 65
+#define ABILITY_BLAZE 66
+#define ABILITY_TORRENT 67
+#define ABILITY_SWARM 68
+#define ABILITY_ROCK_HEAD 69
+#define ABILITY_DROUGHT 70
+#define ABILITY_ARENA_TRAP 71
+#define ABILITY_VITAL_SPIRIT 72
+#define ABILITY_WHITE_SMOKE 73
+#define ABILITY_PURE_POWER 74
+#define ABILITY_SHELL_ARMOR 75
+#define ABILITY_CACOPHONY 76
+#define ABILITY_AIR_LOCK 77
+
+#endif // GUARD_CONSTANTS_ABILITIES_H
diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h
new file mode 100644
index 000000000..1b59f2f64
--- /dev/null
+++ b/include/constants/battle_move_effects.h
@@ -0,0 +1,219 @@
+#ifndef GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H
+#define GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H
+
+#define EFFECT_HIT 0
+#define EFFECT_SLEEP 1
+#define EFFECT_POISON_HIT 2
+#define EFFECT_ABSORB 3
+#define EFFECT_BURN_HIT 4
+#define EFFECT_FREEZE_HIT 5
+#define EFFECT_PARALYZE_HIT 6
+#define EFFECT_EXPLOSION 7
+#define EFFECT_DREAM_EATER 8
+#define EFFECT_MIRROR_MOVE 9
+#define EFFECT_ATTACK_UP 10
+#define EFFECT_DEFENSE_UP 11
+#define EFFECT_SPEED_UP 12
+#define EFFECT_SPECIAL_ATTACK_UP 13
+#define EFFECT_SPECIAL_DEFENSE_UP 14
+#define EFFECT_ACCURACY_UP 15
+#define EFFECT_EVASION_UP 16
+#define EFFECT_ALWAYS_HIT 17
+#define EFFECT_ATTACK_DOWN 18
+#define EFFECT_DEFENSE_DOWN 19
+#define EFFECT_SPEED_DOWN 20
+#define EFFECT_SPECIAL_ATTACK_DOWN 21 // unused
+#define EFFECT_SPECIAL_DEFENSE_DOWN 22 // unused
+#define EFFECT_ACCURACY_DOWN 23
+#define EFFECT_EVASION_DOWN 24
+#define EFFECT_HAZE 25
+#define EFFECT_BIDE 26
+#define EFFECT_RAMPAGE 27
+#define EFFECT_ROAR 28
+#define EFFECT_MULTI_HIT 29
+#define EFFECT_CONVERSION 30
+#define EFFECT_FLINCH_HIT 31
+#define EFFECT_RESTORE_HP 32
+#define EFFECT_TOXIC 33
+#define EFFECT_PAY_DAY 34
+#define EFFECT_LIGHT_SCREEN 35
+#define EFFECT_TRI_ATTACK 36
+#define EFFECT_REST 37
+#define EFFECT_OHKO 38
+#define EFFECT_RAZOR_WIND 39
+#define EFFECT_SUPER_FANG 40
+#define EFFECT_DRAGON_RAGE 41
+#define EFFECT_TRAP 42
+#define EFFECT_HIGH_CRITICAL 43
+#define EFFECT_DOUBLE_HIT 44
+#define EFFECT_RECOIL_IF_MISS 45
+#define EFFECT_MIST 46
+#define EFFECT_FOCUS_ENERGY 47
+#define EFFECT_RECOIL 48
+#define EFFECT_CONFUSE 49
+#define EFFECT_ATTACK_UP_2 50
+#define EFFECT_DEFENSE_UP_2 51
+#define EFFECT_SPEED_UP_2 52
+#define EFFECT_SPECIAL_ATTACK_UP_2 53
+#define EFFECT_SPECIAL_DEFENSE_UP_2 54
+#define EFFECT_ACCURACY_UP_2 55
+#define EFFECT_EVASION_UP_2 56
+#define EFFECT_TRANSFORM 57
+#define EFFECT_ATTACK_DOWN_2 58
+#define EFFECT_DEFENSE_DOWN_2 59
+#define EFFECT_SPEED_DOWN_2 60
+#define EFFECT_SPECIAL_ATTACK_DOWN_2 61
+#define EFFECT_SPECIAL_DEFENSE_DOWN_2 62
+#define EFFECT_ACCURACY_DOWN_2 63
+#define EFFECT_EVASION_DOWN_2 64
+#define EFFECT_REFLECT 65
+#define EFFECT_POISON 66
+#define EFFECT_PARALYZE 67
+#define EFFECT_ATTACK_DOWN_HIT 68
+#define EFFECT_DEFENSE_DOWN_HIT 69
+#define EFFECT_SPEED_DOWN_HIT 70
+#define EFFECT_SPECIAL_ATTACK_DOWN_HIT 71
+#define EFFECT_SPECIAL_DEFENSE_DOWN_HIT 72
+#define EFFECT_ACCURACY_DOWN_HIT 73
+#define EFFECT_EVASION_DOWN_HIT 74
+#define EFFECT_SKY_ATTACK 75
+#define EFFECT_CONFUSE_HIT 76
+#define EFFECT_TWINEEDLE 77
+#define EFFECT_VITAL_THROW 78
+#define EFFECT_SUBSTITUTE 79
+#define EFFECT_RECHARGE 80
+#define EFFECT_RAGE 81
+#define EFFECT_MIMIC 82
+#define EFFECT_METRONOME 83
+#define EFFECT_LEECH_SEED 84
+#define EFFECT_SPLASH 85
+#define EFFECT_DISABLE 86
+#define EFFECT_LEVEL_DAMAGE 87
+#define EFFECT_PSYWAVE 88
+#define EFFECT_COUNTER 89
+#define EFFECT_ENCORE 90
+#define EFFECT_PAIN_SPLIT 91
+#define EFFECT_SNORE 92
+#define EFFECT_CONVERSION_2 93
+#define EFFECT_LOCK_ON 94
+#define EFFECT_SKETCH 95
+#define EFFECT_UNUSED_60 96 // thaw
+#define EFFECT_SLEEP_TALK 97
+#define EFFECT_DESTINY_BOND 98
+#define EFFECT_FLAIL 99
+#define EFFECT_SPITE 100
+#define EFFECT_FALSE_SWIPE 101
+#define EFFECT_HEAL_BELL 102
+#define EFFECT_QUICK_ATTACK 103
+#define EFFECT_TRIPLE_KICK 104
+#define EFFECT_THIEF 105
+#define EFFECT_MEAN_LOOK 106
+#define EFFECT_NIGHTMARE 107
+#define EFFECT_MINIMIZE 108
+#define EFFECT_CURSE 109
+#define EFFECT_UNUSED_6E 110
+#define EFFECT_PROTECT 111
+#define EFFECT_SPIKES 112
+#define EFFECT_FORESIGHT 113
+#define EFFECT_PERISH_SONG 114
+#define EFFECT_SANDSTORM 115
+#define EFFECT_ENDURE 116
+#define EFFECT_ROLLOUT 117
+#define EFFECT_SWAGGER 118
+#define EFFECT_FURY_CUTTER 119
+#define EFFECT_ATTRACT 120
+#define EFFECT_RETURN 121
+#define EFFECT_PRESENT 122
+#define EFFECT_FRUSTRATION 123
+#define EFFECT_SAFEGUARD 124
+#define EFFECT_THAW_HIT 125
+#define EFFECT_MAGNITUDE 126
+#define EFFECT_BATON_PASS 127
+#define EFFECT_PURSUIT 128
+#define EFFECT_RAPID_SPIN 129
+#define EFFECT_SONICBOOM 130
+#define EFFECT_UNUSED_83 131
+#define EFFECT_MORNING_SUN 132
+#define EFFECT_SYNTHESIS 133
+#define EFFECT_MOONLIGHT 134
+#define EFFECT_HIDDEN_POWER 135
+#define EFFECT_RAIN_DANCE 136
+#define EFFECT_SUNNY_DAY 137
+#define EFFECT_DEFENSE_UP_HIT 138
+#define EFFECT_ATTACK_UP_HIT 139
+#define EFFECT_ALL_STATS_UP_HIT 140
+#define EFFECT_UNUSED_8D 141 // incomplete fake out in gen 2
+#define EFFECT_BELLY_DRUM 142
+#define EFFECT_PSYCH_UP 143
+#define EFFECT_MIRROR_COAT 144
+#define EFFECT_SKULL_BASH 145
+#define EFFECT_TWISTER 146
+#define EFFECT_EARTHQUAKE 147
+#define EFFECT_FUTURE_SIGHT 148
+#define EFFECT_GUST 149
+#define EFFECT_FLINCH_HIT_2 150 // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM
+#define EFFECT_SOLARBEAM 151
+#define EFFECT_THUNDER 152
+#define EFFECT_TELEPORT 153
+#define EFFECT_BEAT_UP 154
+#define EFFECT_SEMI_INVULNERABLE 155
+#define EFFECT_DEFENSE_CURL 156
+#define EFFECT_SOFTBOILED 157
+#define EFFECT_FAKE_OUT 158
+#define EFFECT_UPROAR 159
+#define EFFECT_STOCKPILE 160
+#define EFFECT_SPIT_UP 161
+#define EFFECT_SWALLOW 162
+#define EFFECT_UNUSED_A3 163
+#define EFFECT_HAIL 164
+#define EFFECT_TORMENT 165
+#define EFFECT_FLATTER 166
+#define EFFECT_WILL_O_WISP 167
+#define EFFECT_MEMENTO 168
+#define EFFECT_FACADE 169
+#define EFFECT_FOCUS_PUNCH 170
+#define EFFECT_SMELLINGSALT 171
+#define EFFECT_FOLLOW_ME 172
+#define EFFECT_NATURE_POWER 173
+#define EFFECT_CHARGE 174
+#define EFFECT_TAUNT 175
+#define EFFECT_HELPING_HAND 176
+#define EFFECT_TRICK 177
+#define EFFECT_ROLE_PLAY 178
+#define EFFECT_WISH 179
+#define EFFECT_ASSIST 180
+#define EFFECT_INGRAIN 181
+#define EFFECT_SUPERPOWER 182
+#define EFFECT_MAGIC_COAT 183
+#define EFFECT_RECYCLE 184
+#define EFFECT_REVENGE 185
+#define EFFECT_BRICK_BREAK 186
+#define EFFECT_YAWN 187
+#define EFFECT_KNOCK_OFF 188
+#define EFFECT_ENDEAVOR 189
+#define EFFECT_ERUPTION 190
+#define EFFECT_SKILL_SWAP 191
+#define EFFECT_IMPRISON 192
+#define EFFECT_REFRESH 193
+#define EFFECT_GRUDGE 194
+#define EFFECT_SNATCH 195
+#define EFFECT_LOW_KICK 196
+#define EFFECT_SECRET_POWER 197
+#define EFFECT_DOUBLE_EDGE 198
+#define EFFECT_TEETER_DANCE 199
+#define EFFECT_BLAZE_KICK 200
+#define EFFECT_MUD_SPORT 201
+#define EFFECT_POISON_FANG 202
+#define EFFECT_WEATHER_BALL 203
+#define EFFECT_OVERHEAT 204
+#define EFFECT_TICKLE 205
+#define EFFECT_COSMIC_POWER 206
+#define EFFECT_SKY_UPPERCUT 207
+#define EFFECT_BULK_UP 208
+#define EFFECT_POISON_TAIL 209
+#define EFFECT_WATER_SPORT 210
+#define EFFECT_CALM_MIND 211
+#define EFFECT_DRAGON_DANCE 212
+#define EFFECT_CAMOUFLAGE 213
+
+#endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H
diff --git a/include/constants/decorations.h b/include/constants/decorations.h
new file mode 100644
index 000000000..2e3558721
--- /dev/null
+++ b/include/constants/decorations.h
@@ -0,0 +1,126 @@
+#ifndef GUARD_CONSTANTS_DECORATIONS_H
+#define GUARD_CONSTANTS_DECORATIONS_H
+
+#define DECOR_NONE 0
+#define DECOR_SMALL_DESK 1
+#define DECOR_POKEMON_DESK 2
+#define DECOR_HEAVY_DESK 3
+#define DECOR_RAGGED_DESK 4
+#define DECOR_COMFORT_DESK 5
+#define DECOR_PRETTY_DESK 6
+#define DECOR_BRICK_DESK 7
+#define DECOR_CAMP_DESK 8
+#define DECOR_HARD_DESK 9
+#define DECOR_SMALL_CHAIR 10
+#define DECOR_POKEMON_CHAIR 11
+#define DECOR_HEAVY_CHAIR 12
+#define DECOR_PRETTY_CHAIR 13
+#define DECOR_COMFORT_CHAIR 14
+#define DECOR_RAGGED_CHAIR 15
+#define DECOR_BRICK_CHAIR 16
+#define DECOR_CAMP_CHAIR 17
+#define DECOR_HARD_CHAIR 18
+#define DECOR_RED_PLANT 19
+#define DECOR_TROPICAL_PLANT 20
+#define DECOR_PRETTY_FLOWERS 21
+#define DECOR_COLORFUL_PLANT 22
+#define DECOR_BIG_PLANT 23
+#define DECOR_GORGEOUS_PLANT 24
+#define DECOR_RED_BRICK 25
+#define DECOR_YELLOW_BRICK 26
+#define DECOR_BLUE_BRICK 27
+#define DECOR_RED_BALLOON 28
+#define DECOR_BLUE_BALLOON 29
+#define DECOR_YELLOW_BALLOON 30
+#define DECOR_RED_TENT 31
+#define DECOR_BLUE_TENT 32
+#define DECOR_SOLID_BOARD 33
+#define DECOR_SLIDE 34
+#define DECOR_FENCE_LENGTH 35
+#define DECOR_FENCE_WIDTH 36
+#define DECOR_TIRE 37
+#define DECOR_STAND 38
+#define DECOR_MUD_BALL 39
+#define DECOR_BREAKABLE_DOOR 40
+#define DECOR_SAND_ORNAMENT 41
+#define DECOR_SILVER_SHIELD 42
+#define DECOR_GOLD_SHIELD 43
+#define DECOR_GLASS_ORNAMENT 44
+#define DECOR_TV 45
+#define DECOR_ROUND_TV 46
+#define DECOR_CUTE_TV 47
+#define DECOR_GLITTER_MAT 48
+#define DECOR_JUMP_MAT 49
+#define DECOR_SPIN_MAT 50
+#define DECOR_C_LOW_NOTE_MAT 51
+#define DECOR_D_NOTE_MAT 52
+#define DECOR_E_NOTE_MAT 53
+#define DECOR_F_NOTE_MAT 54
+#define DECOR_G_NOTE_MAT 55
+#define DECOR_A_NOTE_MAT 56
+#define DECOR_B_NOTE_MAT 57
+#define DECOR_C_HIGH_NOTE_MAT 58
+#define DECOR_SURF_MAT 59
+#define DECOR_THUNDER_MAT 60
+#define DECOR_FIRE_BLAST_MAT 61
+#define DECOR_POWDER_SNOW_MAT 62
+#define DECOR_ATTRACT_MAT 63
+#define DECOR_FISSURE_MAT 64
+#define DECOR_SPIKES_MAT 65
+#define DECOR_BALL_POSTER 66
+#define DECOR_GREEN_POSTER 67
+#define DECOR_RED_POSTER 68
+#define DECOR_BLUE_POSTER 69
+#define DECOR_CUTE_POSTER 70
+#define DECOR_PIKA_POSTER 71
+#define DECOR_LONG_POSTER 72
+#define DECOR_SEA_POSTER 73
+#define DECOR_SKY_POSTER 74
+#define DECOR_KISS_POSTER 75
+#define DECOR_PICHU_DOLL 76
+#define DECOR_PIKACHU_DOLL 77
+#define DECOR_MARILL_DOLL 78
+#define DECOR_TOGEPI_DOLL 79
+#define DECOR_CYNDAQUIL_DOLL 80
+#define DECOR_CHIKORITA_DOLL 81
+#define DECOR_TOTODILE_DOLL 82
+#define DECOR_JIGGLYPUFF_DOLL 83
+#define DECOR_MEOWTH_DOLL 84
+#define DECOR_CLEFAIRY_DOLL 85
+#define DECOR_DITTO_DOLL 86
+#define DECOR_SMOOCHUM_DOLL 87
+#define DECOR_TREECKO_DOLL 88
+#define DECOR_TORCHIC_DOLL 89
+#define DECOR_MUDKIP_DOLL 90
+#define DECOR_DUSKULL_DOLL 91
+#define DECOR_WYNAUT_DOLL 92
+#define DECOR_BALTOY_DOLL 93
+#define DECOR_KECLEON_DOLL 94
+#define DECOR_AZURILL_DOLL 95
+#define DECOR_SKITTY_DOLL 96
+#define DECOR_SWABLU_DOLL 97
+#define DECOR_GULPIN_DOLL 98
+#define DECOR_LOTAD_DOLL 99
+#define DECOR_SEEDOT_DOLL 100
+#define DECOR_PIKA_CUSHION 101
+#define DECOR_ROUND_CUSHION 102
+#define DECOR_KISS_CUSHION 103
+#define DECOR_ZIGZAG_CUSHION 104
+#define DECOR_SPIN_CUSHION 105
+#define DECOR_DIAMOND_CUSHION 106
+#define DECOR_BALL_CUSHION 107
+#define DECOR_GRASS_CUSHION 108
+#define DECOR_FIRE_CUSHION 109
+#define DECOR_WATER_CUSHION 110
+#define DECOR_SNORLAX_DOLL 111
+#define DECOR_RHYDON_DOLL 112
+#define DECOR_LAPRAS_DOLL 113
+#define DECOR_VENUSAUR_DOLL 114
+#define DECOR_CHARIZARD_DOLL 115
+#define DECOR_BLASTOISE_DOLL 116
+#define DECOR_WAILMER_DOLL 117
+#define DECOR_REGIROCK_DOLL 118
+#define DECOR_REGICE_DOLL 119
+#define DECOR_REGISTEEL_DOLL 120
+
+#endif // GUARD_CONSTANTS_DECORATIONS_H
diff --git a/include/constants/easy_chat.h b/include/constants/easy_chat.h
new file mode 100644
index 000000000..2c437c88e
--- /dev/null
+++ b/include/constants/easy_chat.h
@@ -0,0 +1,1079 @@
+#ifndef GUARD_CONSTANTS_EASY_CHAT_H
+#define GUARD_CONSTANTS_EASY_CHAT_H
+
+#define EC_GROUP_POKEMON 0x0
+#define EC_GROUP_TRAINER 0x1
+#define EC_GROUP_STATUS 0x2
+#define EC_GROUP_BATTLE 0x3
+#define EC_GROUP_GREETINGS 0x4
+#define EC_GROUP_PEOPLE 0x5
+#define EC_GROUP_VOICES 0x6
+#define EC_GROUP_SPEECH 0x7
+#define EC_GROUP_ENDINGS 0x8
+#define EC_GROUP_FEELINGS 0x9
+#define EC_GROUP_CONDITIONS 0xa
+#define EC_GROUP_ACTIONS 0xb
+#define EC_GROUP_LIFESTYLE 0xc
+#define EC_GROUP_HOBBIES 0xd
+#define EC_GROUP_TIME 0xe
+#define EC_GROUP_MISC 0xf
+#define EC_GROUP_ADJECTIVES 0x10
+#define EC_GROUP_EVENTS 0x11
+#define EC_GROUP_MOVE_1 0x12
+#define EC_GROUP_MOVE_2 0x13
+#define EC_GROUP_TRENDY_SAYING 0x14
+#define EC_GROUP_POKEMON_2 0x15
+
+// TRAINER
+#define EC_WORD_I_CHOOSE_YOU (EC_GROUP_TRAINER << 9) | 0x0
+#define EC_WORD_GOTCHA (EC_GROUP_TRAINER << 9) | 0x1
+#define EC_WORD_TRADE (EC_GROUP_TRAINER << 9) | 0x2
+#define EC_WORD_SAPPHIRE (EC_GROUP_TRAINER << 9) | 0x3
+#define EC_WORD_EVOLVE (EC_GROUP_TRAINER << 9) | 0x4
+#define EC_WORD_ENCYCLOPEDIA (EC_GROUP_TRAINER << 9) | 0x5
+#define EC_WORD_NATURE (EC_GROUP_TRAINER << 9) | 0x6
+#define EC_WORD_CENTER (EC_GROUP_TRAINER << 9) | 0x7
+#define EC_WORD_EGG (EC_GROUP_TRAINER << 9) | 0x8
+#define EC_WORD_LINK (EC_GROUP_TRAINER << 9) | 0x9
+#define EC_WORD_SP_ABILITY (EC_GROUP_TRAINER << 9) | 0xa
+#define EC_WORD_TRAINER (EC_GROUP_TRAINER << 9) | 0xb
+#define EC_WORD_VERSION (EC_GROUP_TRAINER << 9) | 0xc
+#define EC_WORD_POKENAV (EC_GROUP_TRAINER << 9) | 0xd
+#define EC_WORD_POKEMON (EC_GROUP_TRAINER << 9) | 0xe
+#define EC_WORD_GET (EC_GROUP_TRAINER << 9) | 0xf
+#define EC_WORD_POKEDEX (EC_GROUP_TRAINER << 9) | 0x10
+#define EC_WORD_RUBY (EC_GROUP_TRAINER << 9) | 0x11
+#define EC_WORD_LEVEL (EC_GROUP_TRAINER << 9) | 0x12
+#define EC_WORD_RED (EC_GROUP_TRAINER << 9) | 0x13
+#define EC_WORD_GREEN (EC_GROUP_TRAINER << 9) | 0x14
+#define EC_WORD_BAG (EC_GROUP_TRAINER << 9) | 0x15
+#define EC_WORD_FLAME (EC_GROUP_TRAINER << 9) | 0x16
+#define EC_WORD_GOLD (EC_GROUP_TRAINER << 9) | 0x17
+#define EC_WORD_LEAF (EC_GROUP_TRAINER << 9) | 0x18
+#define EC_WORD_SILVER (EC_GROUP_TRAINER << 9) | 0x19
+#define EC_WORD_EMERALD (EC_GROUP_TRAINER << 9) | 0x1a
+
+// STATUS
+#define EC_WORD_DARK (EC_GROUP_STATUS << 9) | 0x0
+#define EC_WORD_STENCH (EC_GROUP_STATUS << 9) | 0x1
+#define EC_WORD_THICK_FAT (EC_GROUP_STATUS << 9) | 0x2
+#define EC_WORD_RAIN_DISH (EC_GROUP_STATUS << 9) | 0x3
+#define EC_WORD_DRIZZLE (EC_GROUP_STATUS << 9) | 0x4
+#define EC_WORD_ARENA_TRAP (EC_GROUP_STATUS << 9) | 0x5
+#define EC_WORD_INTIMIDATE (EC_GROUP_STATUS << 9) | 0x6
+#define EC_WORD_ROCK_HEAD (EC_GROUP_STATUS << 9) | 0x7
+#define EC_WORD_COLOR (EC_GROUP_STATUS << 9) | 0x8
+#define EC_WORD_ALT_COLOR (EC_GROUP_STATUS << 9) | 0x9
+#define EC_WORD_ROCK (EC_GROUP_STATUS << 9) | 0xa
+#define EC_WORD_BEAUTIFUL (EC_GROUP_STATUS << 9) | 0xb
+#define EC_WORD_BEAUTY (EC_GROUP_STATUS << 9) | 0xc
+#define EC_WORD_AIR_LOCK (EC_GROUP_STATUS << 9) | 0xd
+#define EC_WORD_PSYCHIC (EC_GROUP_STATUS << 9) | 0xe
+#define EC_WORD_HYPER_CUTTER (EC_GROUP_STATUS << 9) | 0xf
+#define EC_WORD_FIGHTING (EC_GROUP_STATUS << 9) | 0x10
+#define EC_WORD_SHADOW_TAG (EC_GROUP_STATUS << 9) | 0x11
+#define EC_WORD_SMART (EC_GROUP_STATUS << 9) | 0x12
+#define EC_WORD_SMARTNESS (EC_GROUP_STATUS << 9) | 0x13
+#define EC_WORD_SPEED_BOOST (EC_GROUP_STATUS << 9) | 0x14
+#define EC_WORD_COOL (EC_GROUP_STATUS << 9) | 0x15
+#define EC_WORD_COOLNESS (EC_GROUP_STATUS << 9) | 0x16
+#define EC_WORD_BATTLE_ARMOR (EC_GROUP_STATUS << 9) | 0x17
+#define EC_WORD_CUTE (EC_GROUP_STATUS << 9) | 0x18
+#define EC_WORD_CUTENESS (EC_GROUP_STATUS << 9) | 0x19
+#define EC_WORD_STURDY (EC_GROUP_STATUS << 9) | 0x1a
+#define EC_WORD_SUCTION_CUPS (EC_GROUP_STATUS << 9) | 0x1b
+#define EC_WORD_GRASS (EC_GROUP_STATUS << 9) | 0x1c
+#define EC_WORD_CLEAR_BODY (EC_GROUP_STATUS << 9) | 0x1d
+#define EC_WORD_TORRENT (EC_GROUP_STATUS << 9) | 0x1e
+#define EC_WORD_GHOST (EC_GROUP_STATUS << 9) | 0x1f
+#define EC_WORD_ICE (EC_GROUP_STATUS << 9) | 0x20
+#define EC_WORD_GUTS (EC_GROUP_STATUS << 9) | 0x21
+#define EC_WORD_ROUGH_SKIN (EC_GROUP_STATUS << 9) | 0x22
+#define EC_WORD_SHELL_ARMOR (EC_GROUP_STATUS << 9) | 0x23
+#define EC_WORD_NATURAL_CURE (EC_GROUP_STATUS << 9) | 0x24
+#define EC_WORD_DAMP (EC_GROUP_STATUS << 9) | 0x25
+#define EC_WORD_GROUND (EC_GROUP_STATUS << 9) | 0x26
+#define EC_WORD_LIMBER (EC_GROUP_STATUS << 9) | 0x27
+#define EC_WORD_MAGNET_PULL (EC_GROUP_STATUS << 9) | 0x28
+#define EC_WORD_WHITE_SMOKE (EC_GROUP_STATUS << 9) | 0x29
+#define EC_WORD_SYNCHRONIZE (EC_GROUP_STATUS << 9) | 0x2a
+#define EC_WORD_OVERGROW (EC_GROUP_STATUS << 9) | 0x2b
+#define EC_WORD_SWIFT_SWIM (EC_GROUP_STATUS << 9) | 0x2c
+#define EC_WORD_SAND_STREAM (EC_GROUP_STATUS << 9) | 0x2d
+#define EC_WORD_SAND_VEIL (EC_GROUP_STATUS << 9) | 0x2e
+#define EC_WORD_KEEN_EYE (EC_GROUP_STATUS << 9) | 0x2f
+#define EC_WORD_INNER_FOCUS (EC_GROUP_STATUS << 9) | 0x30
+#define EC_WORD_STATIC (EC_GROUP_STATUS << 9) | 0x31
+#define EC_WORD_TYPE (EC_GROUP_STATUS << 9) | 0x32
+#define EC_WORD_TOUGH (EC_GROUP_STATUS << 9) | 0x33
+#define EC_WORD_TOUGHNESS (EC_GROUP_STATUS << 9) | 0x34
+#define EC_WORD_SHED_SKIN (EC_GROUP_STATUS << 9) | 0x35
+#define EC_WORD_HUGE_POWER (EC_GROUP_STATUS << 9) | 0x36
+#define EC_WORD_VOLT_ABSORB (EC_GROUP_STATUS << 9) | 0x37
+#define EC_WORD_WATER_ABSORB (EC_GROUP_STATUS << 9) | 0x38
+#define EC_WORD_ELECTRIC (EC_GROUP_STATUS << 9) | 0x39
+#define EC_WORD_FORECAST (EC_GROUP_STATUS << 9) | 0x3a
+#define EC_WORD_SERENE_GRACE (EC_GROUP_STATUS << 9) | 0x3b
+#define EC_WORD_POISON (EC_GROUP_STATUS << 9) | 0x3c
+#define EC_WORD_POISON_POINT (EC_GROUP_STATUS << 9) | 0x3d
+#define EC_WORD_DRAGON (EC_GROUP_STATUS << 9) | 0x3e
+#define EC_WORD_TRACE (EC_GROUP_STATUS << 9) | 0x3f
+#define EC_WORD_OBLIVIOUS (EC_GROUP_STATUS << 9) | 0x40
+#define EC_WORD_TRUANT (EC_GROUP_STATUS << 9) | 0x41
+#define EC_WORD_RUN_AWAY (EC_GROUP_STATUS << 9) | 0x42
+#define EC_WORD_STICKY_HOLD (EC_GROUP_STATUS << 9) | 0x43
+#define EC_WORD_CLOUD_NINE (EC_GROUP_STATUS << 9) | 0x44
+#define EC_WORD_NORMAL (EC_GROUP_STATUS << 9) | 0x45
+#define EC_WORD_STEEL (EC_GROUP_STATUS << 9) | 0x46
+#define EC_WORD_ILLUMINATE (EC_GROUP_STATUS << 9) | 0x47
+#define EC_WORD_EARLY_BIRD (EC_GROUP_STATUS << 9) | 0x48
+#define EC_WORD_HUSTLE (EC_GROUP_STATUS << 9) | 0x49
+#define EC_WORD_SHINE (EC_GROUP_STATUS << 9) | 0x4a
+#define EC_WORD_FLYING (EC_GROUP_STATUS << 9) | 0x4b
+#define EC_WORD_DROUGHT (EC_GROUP_STATUS << 9) | 0x4c
+#define EC_WORD_LIGHTNINGROD (EC_GROUP_STATUS << 9) | 0x4d
+#define EC_WORD_COMPOUNDEYES (EC_GROUP_STATUS << 9) | 0x4e
+#define EC_WORD_MARVEL_SCALE (EC_GROUP_STATUS << 9) | 0x4f
+#define EC_WORD_WONDER_GUARD (EC_GROUP_STATUS << 9) | 0x50
+#define EC_WORD_INSOMNIA (EC_GROUP_STATUS << 9) | 0x51
+#define EC_WORD_LEVITATE (EC_GROUP_STATUS << 9) | 0x52
+#define EC_WORD_PLUS (EC_GROUP_STATUS << 9) | 0x53
+#define EC_WORD_PRESSURE (EC_GROUP_STATUS << 9) | 0x54
+#define EC_WORD_LIQUID_OOZE (EC_GROUP_STATUS << 9) | 0x55
+#define EC_WORD_COLOR_CHANGE (EC_GROUP_STATUS << 9) | 0x56
+#define EC_WORD_SOUNDPROOF (EC_GROUP_STATUS << 9) | 0x57
+#define EC_WORD_EFFECT_SPORE (EC_GROUP_STATUS << 9) | 0x58
+#define EC_WORD_PKRS (EC_GROUP_STATUS << 9) | 0x59
+#define EC_WORD_FIRE (EC_GROUP_STATUS << 9) | 0x5a
+#define EC_WORD_FLAME_BODY (EC_GROUP_STATUS << 9) | 0x5b
+#define EC_WORD_MINUS (EC_GROUP_STATUS << 9) | 0x5c
+#define EC_WORD_OWN_TEMPO (EC_GROUP_STATUS << 9) | 0x5d
+#define EC_WORD_MAGMA_ARMOR (EC_GROUP_STATUS << 9) | 0x5e
+#define EC_WORD_WATER (EC_GROUP_STATUS << 9) | 0x5f
+#define EC_WORD_WATER_VEIL (EC_GROUP_STATUS << 9) | 0x60
+#define EC_WORD_BUG (EC_GROUP_STATUS << 9) | 0x61
+#define EC_WORD_SWARM (EC_GROUP_STATUS << 9) | 0x62
+#define EC_WORD_CUTE_CHARM (EC_GROUP_STATUS << 9) | 0x63
+#define EC_WORD_IMMUNITY (EC_GROUP_STATUS << 9) | 0x64
+#define EC_WORD_BLAZE (EC_GROUP_STATUS << 9) | 0x65
+#define EC_WORD_PICKUP (EC_GROUP_STATUS << 9) | 0x66
+#define EC_WORD_PATTERN (EC_GROUP_STATUS << 9) | 0x67
+#define EC_WORD_FLASH_FIRE (EC_GROUP_STATUS << 9) | 0x68
+#define EC_WORD_VITAL_SPIRIT (EC_GROUP_STATUS << 9) | 0x69
+#define EC_WORD_CHLOROPHYLL (EC_GROUP_STATUS << 9) | 0x6a
+#define EC_WORD_PURE_POWER (EC_GROUP_STATUS << 9) | 0x6b
+#define EC_WORD_SHIELD_DUST (EC_GROUP_STATUS << 9) | 0x6c
+
+// BATTLE
+#define EC_WORD_MATCH_UP (EC_GROUP_BATTLE << 9) | 0x0
+#define EC_WORD_GO (EC_GROUP_BATTLE << 9) | 0x1
+#define EC_WORD_NO_1 (EC_GROUP_BATTLE << 9) | 0x2
+#define EC_WORD_DECIDE (EC_GROUP_BATTLE << 9) | 0x3
+#define EC_WORD_LET_ME_WIN (EC_GROUP_BATTLE << 9) | 0x4
+#define EC_WORD_WINS (EC_GROUP_BATTLE << 9) | 0x5
+#define EC_WORD_WIN (EC_GROUP_BATTLE << 9) | 0x6
+#define EC_WORD_WON (EC_GROUP_BATTLE << 9) | 0x7
+#define EC_WORD_IF_I_WIN (EC_GROUP_BATTLE << 9) | 0x8
+#define EC_WORD_WHEN_I_WIN (EC_GROUP_BATTLE << 9) | 0x9
+#define EC_WORD_CAN_T_WIN (EC_GROUP_BATTLE << 9) | 0xa
+#define EC_WORD_CAN_WIN (EC_GROUP_BATTLE << 9) | 0xb
+#define EC_WORD_NO_MATCH (EC_GROUP_BATTLE << 9) | 0xc
+#define EC_WORD_SPIRIT (EC_GROUP_BATTLE << 9) | 0xd
+#define EC_WORD_DECIDED (EC_GROUP_BATTLE << 9) | 0xe
+#define EC_WORD_TRUMP_CARD (EC_GROUP_BATTLE << 9) | 0xf
+#define EC_WORD_TAKE_THAT (EC_GROUP_BATTLE << 9) | 0x10
+#define EC_WORD_COME_ON (EC_GROUP_BATTLE << 9) | 0x11
+#define EC_WORD_ATTACK (EC_GROUP_BATTLE << 9) | 0x12
+#define EC_WORD_SURRENDER (EC_GROUP_BATTLE << 9) | 0x13
+#define EC_WORD_GUTSY (EC_GROUP_BATTLE << 9) | 0x14
+#define EC_WORD_TALENT (EC_GROUP_BATTLE << 9) | 0x15
+#define EC_WORD_STRATEGY (EC_GROUP_BATTLE << 9) | 0x16
+#define EC_WORD_SMITE (EC_GROUP_BATTLE << 9) | 0x17
+#define EC_WORD_MATCH (EC_GROUP_BATTLE << 9) | 0x18
+#define EC_WORD_VICTORY (EC_GROUP_BATTLE << 9) | 0x19
+#define EC_WORD_OFFENSIVE (EC_GROUP_BATTLE << 9) | 0x1a
+#define EC_WORD_SENSE (EC_GROUP_BATTLE << 9) | 0x1b
+#define EC_WORD_VERSUS (EC_GROUP_BATTLE << 9) | 0x1c
+#define EC_WORD_FIGHTS (EC_GROUP_BATTLE << 9) | 0x1d
+#define EC_WORD_POWER (EC_GROUP_BATTLE << 9) | 0x1e
+#define EC_WORD_CHALLENGE (EC_GROUP_BATTLE << 9) | 0x1f
+#define EC_WORD_STRONG (EC_GROUP_BATTLE << 9) | 0x20
+#define EC_WORD_TOO_STRONG (EC_GROUP_BATTLE << 9) | 0x21
+#define EC_WORD_GO_EASY (EC_GROUP_BATTLE << 9) | 0x22
+#define EC_WORD_FOE (EC_GROUP_BATTLE << 9) | 0x23
+#define EC_WORD_GENIUS (EC_GROUP_BATTLE << 9) | 0x24
+#define EC_WORD_LEGEND (EC_GROUP_BATTLE << 9) | 0x25
+#define EC_WORD_ESCAPE (EC_GROUP_BATTLE << 9) | 0x26
+#define EC_WORD_AIM (EC_GROUP_BATTLE << 9) | 0x27
+#define EC_WORD_BATTLE (EC_GROUP_BATTLE << 9) | 0x28
+#define EC_WORD_FIGHT (EC_GROUP_BATTLE << 9) | 0x29
+#define EC_WORD_RESUSCITATE (EC_GROUP_BATTLE << 9) | 0x2a
+#define EC_WORD_POINTS (EC_GROUP_BATTLE << 9) | 0x2b
+#define EC_WORD_SERIOUS (EC_GROUP_BATTLE << 9) | 0x2c
+#define EC_WORD_GIVE_UP (EC_GROUP_BATTLE << 9) | 0x2d
+#define EC_WORD_LOSS (EC_GROUP_BATTLE << 9) | 0x2e
+#define EC_WORD_IF_I_LOSE (EC_GROUP_BATTLE << 9) | 0x2f
+#define EC_WORD_LOST (EC_GROUP_BATTLE << 9) | 0x30
+#define EC_WORD_LOSE (EC_GROUP_BATTLE << 9) | 0x31
+#define EC_WORD_GUARD (EC_GROUP_BATTLE << 9) | 0x32
+#define EC_WORD_PARTNER (EC_GROUP_BATTLE << 9) | 0x33
+#define EC_WORD_REJECT (EC_GROUP_BATTLE << 9) | 0x34
+#define EC_WORD_ACCEPT (EC_GROUP_BATTLE << 9) | 0x35
+#define EC_WORD_INVINCIBLE (EC_GROUP_BATTLE << 9) | 0x36
+#define EC_WORD_RECEIVED (EC_GROUP_BATTLE << 9) | 0x37
+#define EC_WORD_EASY (EC_GROUP_BATTLE << 9) | 0x38
+#define EC_WORD_WEAK (EC_GROUP_BATTLE << 9) | 0x39
+#define EC_WORD_TOO_WEAK (EC_GROUP_BATTLE << 9) | 0x3a
+#define EC_WORD_PUSHOVER (EC_GROUP_BATTLE << 9) | 0x3b
+#define EC_WORD_LEADER (EC_GROUP_BATTLE << 9) | 0x3c
+#define EC_WORD_RULE (EC_GROUP_BATTLE << 9) | 0x3d
+#define EC_WORD_MOVE (EC_GROUP_BATTLE << 9) | 0x3e
+
+// GREETINGS
+#define EC_WORD_THANKS (EC_GROUP_GREETINGS << 9) | 0x0
+#define EC_WORD_YES (EC_GROUP_GREETINGS << 9) | 0x1
+#define EC_WORD_HERE_GOES (EC_GROUP_GREETINGS << 9) | 0x2
+#define EC_WORD_HERE_I_COME (EC_GROUP_GREETINGS << 9) | 0x3
+#define EC_WORD_HERE_IT_IS (EC_GROUP_GREETINGS << 9) | 0x4
+#define EC_WORD_YEAH (EC_GROUP_GREETINGS << 9) | 0x5
+#define EC_WORD_WELCOME (EC_GROUP_GREETINGS << 9) | 0x6
+#define EC_WORD_OI (EC_GROUP_GREETINGS << 9) | 0x7
+#define EC_WORD_HOW_DO (EC_GROUP_GREETINGS << 9) | 0x8
+#define EC_WORD_CONGRATS (EC_GROUP_GREETINGS << 9) | 0x9
+#define EC_WORD_GIVE_ME (EC_GROUP_GREETINGS << 9) | 0xa
+#define EC_WORD_SORRY (EC_GROUP_GREETINGS << 9) | 0xb
+#define EC_WORD_APOLOGIZE (EC_GROUP_GREETINGS << 9) | 0xc
+#define EC_WORD_FORGIVE (EC_GROUP_GREETINGS << 9) | 0xd
+#define EC_WORD_HEY_THERE (EC_GROUP_GREETINGS << 9) | 0xe
+#define EC_WORD_HELLO (EC_GROUP_GREETINGS << 9) | 0xf
+#define EC_WORD_GOOD_BYE (EC_GROUP_GREETINGS << 9) | 0x10
+#define EC_WORD_THANK_YOU (EC_GROUP_GREETINGS << 9) | 0x11
+#define EC_WORD_I_VE_ARRIVED (EC_GROUP_GREETINGS << 9) | 0x12
+#define EC_WORD_PARDON (EC_GROUP_GREETINGS << 9) | 0x13
+#define EC_WORD_EXCUSE (EC_GROUP_GREETINGS << 9) | 0x14
+#define EC_WORD_SEE_YA (EC_GROUP_GREETINGS << 9) | 0x15
+#define EC_WORD_EXCUSE_ME (EC_GROUP_GREETINGS << 9) | 0x16
+#define EC_WORD_WELL_THEN (EC_GROUP_GREETINGS << 9) | 0x17
+#define EC_WORD_GO_AHEAD (EC_GROUP_GREETINGS << 9) | 0x18
+#define EC_WORD_APPRECIATE (EC_GROUP_GREETINGS << 9) | 0x19
+#define EC_WORD_HEY_QUES (EC_GROUP_GREETINGS << 9) | 0x1a
+#define EC_WORD_WHAT_S_UP_QUES (EC_GROUP_GREETINGS << 9) | 0x1b
+#define EC_WORD_HUH_QUES (EC_GROUP_GREETINGS << 9) | 0x1c
+#define EC_WORD_NO (EC_GROUP_GREETINGS << 9) | 0x1d
+#define EC_WORD_HI (EC_GROUP_GREETINGS << 9) | 0x1e
+#define EC_WORD_YEAH_YEAH (EC_GROUP_GREETINGS << 9) | 0x1f
+#define EC_WORD_BYE_BYE (EC_GROUP_GREETINGS << 9) | 0x20
+#define EC_WORD_MEET_YOU (EC_GROUP_GREETINGS << 9) | 0x21
+#define EC_WORD_HEY (EC_GROUP_GREETINGS << 9) | 0x22
+#define EC_WORD_SMELL (EC_GROUP_GREETINGS << 9) | 0x23
+#define EC_WORD_LISTENING (EC_GROUP_GREETINGS << 9) | 0x24
+#define EC_WORD_HOO_HAH (EC_GROUP_GREETINGS << 9) | 0x25
+#define EC_WORD_YAHOO (EC_GROUP_GREETINGS << 9) | 0x26
+#define EC_WORD_YO (EC_GROUP_GREETINGS << 9) | 0x27
+#define EC_WORD_COME_OVER (EC_GROUP_GREETINGS << 9) | 0x28
+#define EC_WORD_COUNT_ON (EC_GROUP_GREETINGS << 9) | 0x29
+
+// PEOPLE
+#define EC_WORD_OPPONENT (EC_GROUP_PEOPLE << 9) | 0x0
+#define EC_WORD_I (EC_GROUP_PEOPLE << 9) | 0x1
+#define EC_WORD_YOU (EC_GROUP_PEOPLE << 9) | 0x2
+#define EC_WORD_YOURS (EC_GROUP_PEOPLE << 9) | 0x3
+#define EC_WORD_SON (EC_GROUP_PEOPLE << 9) | 0x4
+#define EC_WORD_YOUR (EC_GROUP_PEOPLE << 9) | 0x5
+#define EC_WORD_YOU_RE (EC_GROUP_PEOPLE << 9) | 0x6
+#define EC_WORD_YOU_VE (EC_GROUP_PEOPLE << 9) | 0x7
+#define EC_WORD_MOTHER (EC_GROUP_PEOPLE << 9) | 0x8
+#define EC_WORD_GRANDFATHER (EC_GROUP_PEOPLE << 9) | 0x9
+#define EC_WORD_UNCLE (EC_GROUP_PEOPLE << 9) | 0xa
+#define EC_WORD_FATHER (EC_GROUP_PEOPLE << 9) | 0xb
+#define EC_WORD_BOY (EC_GROUP_PEOPLE << 9) | 0xc
+#define EC_WORD_ADULT (EC_GROUP_PEOPLE << 9) | 0xd
+#define EC_WORD_BROTHER (EC_GROUP_PEOPLE << 9) | 0xe
+#define EC_WORD_SISTER (EC_GROUP_PEOPLE << 9) | 0xf
+#define EC_WORD_GRANDMOTHER (EC_GROUP_PEOPLE << 9) | 0x10
+#define EC_WORD_AUNT (EC_GROUP_PEOPLE << 9) | 0x11
+#define EC_WORD_PARENT (EC_GROUP_PEOPLE << 9) | 0x12
+#define EC_WORD_MAN (EC_GROUP_PEOPLE << 9) | 0x13
+#define EC_WORD_ME (EC_GROUP_PEOPLE << 9) | 0x14
+#define EC_WORD_GIRL (EC_GROUP_PEOPLE << 9) | 0x15
+#define EC_WORD_BABE (EC_GROUP_PEOPLE << 9) | 0x16
+#define EC_WORD_FAMILY (EC_GROUP_PEOPLE << 9) | 0x17
+#define EC_WORD_HER (EC_GROUP_PEOPLE << 9) | 0x18
+#define EC_WORD_HIM (EC_GROUP_PEOPLE << 9) | 0x19
+#define EC_WORD_HE (EC_GROUP_PEOPLE << 9) | 0x1a
+#define EC_WORD_PLACE (EC_GROUP_PEOPLE << 9) | 0x1b
+#define EC_WORD_DAUGHTER (EC_GROUP_PEOPLE << 9) | 0x1c
+#define EC_WORD_HIS (EC_GROUP_PEOPLE << 9) | 0x1d
+#define EC_WORD_HE_S (EC_GROUP_PEOPLE << 9) | 0x1e
+#define EC_WORD_AREN_T (EC_GROUP_PEOPLE << 9) | 0x1f
+#define EC_WORD_SIBLINGS (EC_GROUP_PEOPLE << 9) | 0x20
+#define EC_WORD_KID (EC_GROUP_PEOPLE << 9) | 0x21
+#define EC_WORD_CHILDREN (EC_GROUP_PEOPLE << 9) | 0x22
+#define EC_WORD_MR (EC_GROUP_PEOPLE << 9) | 0x23
+#define EC_WORD_MRS (EC_GROUP_PEOPLE << 9) | 0x24
+#define EC_WORD_MYSELF (EC_GROUP_PEOPLE << 9) | 0x25
+#define EC_WORD_I_WAS (EC_GROUP_PEOPLE << 9) | 0x26
+#define EC_WORD_TO_ME (EC_GROUP_PEOPLE << 9) | 0x27
+#define EC_WORD_MY (EC_GROUP_PEOPLE << 9) | 0x28
+#define EC_WORD_I_AM (EC_GROUP_PEOPLE << 9) | 0x29
+#define EC_WORD_I_VE (EC_GROUP_PEOPLE << 9) | 0x2a
+#define EC_WORD_WHO (EC_GROUP_PEOPLE << 9) | 0x2b
+#define EC_WORD_SOMEONE (EC_GROUP_PEOPLE << 9) | 0x2c
+#define EC_WORD_WHO_WAS (EC_GROUP_PEOPLE << 9) | 0x2d
+#define EC_WORD_TO_WHOM (EC_GROUP_PEOPLE << 9) | 0x2e
+#define EC_WORD_WHOSE (EC_GROUP_PEOPLE << 9) | 0x2f
+#define EC_WORD_WHO_IS (EC_GROUP_PEOPLE << 9) | 0x30
+#define EC_WORD_IT_S (EC_GROUP_PEOPLE << 9) | 0x31
+#define EC_WORD_LADY (EC_GROUP_PEOPLE << 9) | 0x32
+#define EC_WORD_FRIEND (EC_GROUP_PEOPLE << 9) | 0x33
+#define EC_WORD_ALLY (EC_GROUP_PEOPLE << 9) | 0x34
+#define EC_WORD_PERSON (EC_GROUP_PEOPLE << 9) | 0x35
+#define EC_WORD_DUDE (EC_GROUP_PEOPLE << 9) | 0x36
+#define EC_WORD_THEY (EC_GROUP_PEOPLE << 9) | 0x37
+#define EC_WORD_THEY_WERE (EC_GROUP_PEOPLE << 9) | 0x38
+#define EC_WORD_TO_THEM (EC_GROUP_PEOPLE << 9) | 0x39
+#define EC_WORD_THEIR (EC_GROUP_PEOPLE << 9) | 0x3a
+#define EC_WORD_THEY_RE (EC_GROUP_PEOPLE << 9) | 0x3b
+#define EC_WORD_THEY_VE (EC_GROUP_PEOPLE << 9) | 0x3c
+#define EC_WORD_WE (EC_GROUP_PEOPLE << 9) | 0x3d
+#define EC_WORD_BEEN (EC_GROUP_PEOPLE << 9) | 0x3e
+#define EC_WORD_TO_US (EC_GROUP_PEOPLE << 9) | 0x3f
+#define EC_WORD_OUR (EC_GROUP_PEOPLE << 9) | 0x40
+#define EC_WORD_WE_RE (EC_GROUP_PEOPLE << 9) | 0x41
+#define EC_WORD_RIVAL (EC_GROUP_PEOPLE << 9) | 0x42
+#define EC_WORD_WE_VE (EC_GROUP_PEOPLE << 9) | 0x43
+#define EC_WORD_WOMAN (EC_GROUP_PEOPLE << 9) | 0x44
+#define EC_WORD_SHE (EC_GROUP_PEOPLE << 9) | 0x45
+#define EC_WORD_SHE_WAS (EC_GROUP_PEOPLE << 9) | 0x46
+#define EC_WORD_TO_HER (EC_GROUP_PEOPLE << 9) | 0x47
+#define EC_WORD_HERS (EC_GROUP_PEOPLE << 9) | 0x48
+#define EC_WORD_SHE_IS (EC_GROUP_PEOPLE << 9) | 0x49
+#define EC_WORD_SOME (EC_GROUP_PEOPLE << 9) | 0x4a
+
+// VOICES
+#define EC_WORD_EXCL (EC_GROUP_VOICES << 9) | 0x0
+#define EC_WORD_EXCL_EXCL (EC_GROUP_VOICES << 9) | 0x1
+#define EC_WORD_QUES_EXCL (EC_GROUP_VOICES << 9) | 0x2
+#define EC_WORD_QUES (EC_GROUP_VOICES << 9) | 0x3
+#define EC_WORD_ELLIPSIS (EC_GROUP_VOICES << 9) | 0x4
+#define EC_WORD_ELLIPSIS_EXCL (EC_GROUP_VOICES << 9) | 0x5
+#define EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS (EC_GROUP_VOICES << 9) | 0x6
+#define EC_WORD_DASH (EC_GROUP_VOICES << 9) | 0x7
+#define EC_WORD_DASH_DASH_DASH (EC_GROUP_VOICES << 9) | 0x8
+#define EC_WORD_UH_OH (EC_GROUP_VOICES << 9) | 0x9
+#define EC_WORD_WAAAH (EC_GROUP_VOICES << 9) | 0xa
+#define EC_WORD_AHAHA (EC_GROUP_VOICES << 9) | 0xb
+#define EC_WORD_OH_QUES (EC_GROUP_VOICES << 9) | 0xc
+#define EC_WORD_NOPE (EC_GROUP_VOICES << 9) | 0xd
+#define EC_WORD_URGH (EC_GROUP_VOICES << 9) | 0xe
+#define EC_WORD_HMM (EC_GROUP_VOICES << 9) | 0xf
+#define EC_WORD_WHOAH (EC_GROUP_VOICES << 9) | 0x10
+#define EC_WORD_WROOOAAR_EXCL (EC_GROUP_VOICES << 9) | 0x11
+#define EC_WORD_WOW (EC_GROUP_VOICES << 9) | 0x12
+#define EC_WORD_GIGGLE (EC_GROUP_VOICES << 9) | 0x13
+#define EC_WORD_SIGH (EC_GROUP_VOICES << 9) | 0x14
+#define EC_WORD_UNBELIEVABLE (EC_GROUP_VOICES << 9) | 0x15
+#define EC_WORD_CRIES (EC_GROUP_VOICES << 9) | 0x16
+#define EC_WORD_AGREE (EC_GROUP_VOICES << 9) | 0x17
+#define EC_WORD_EH_QUES (EC_GROUP_VOICES << 9) | 0x18
+#define EC_WORD_CRY (EC_GROUP_VOICES << 9) | 0x19
+#define EC_WORD_EHEHE (EC_GROUP_VOICES << 9) | 0x1a
+#define EC_WORD_OI_OI_OI (EC_GROUP_VOICES << 9) | 0x1b
+#define EC_WORD_OH_YEAH (EC_GROUP_VOICES << 9) | 0x1c
+#define EC_WORD_OH (EC_GROUP_VOICES << 9) | 0x1d
+#define EC_WORD_OOPS (EC_GROUP_VOICES << 9) | 0x1e
+#define EC_WORD_SHOCKED (EC_GROUP_VOICES << 9) | 0x1f
+#define EC_WORD_EEK (EC_GROUP_VOICES << 9) | 0x20
+#define EC_WORD_GRAAAH (EC_GROUP_VOICES << 9) | 0x21
+#define EC_WORD_GWAHAHAHA (EC_GROUP_VOICES << 9) | 0x22
+#define EC_WORD_WAY (EC_GROUP_VOICES << 9) | 0x23
+#define EC_WORD_TCH (EC_GROUP_VOICES << 9) | 0x24
+#define EC_WORD_HEHE (EC_GROUP_VOICES << 9) | 0x25
+#define EC_WORD_HAH (EC_GROUP_VOICES << 9) | 0x26
+#define EC_WORD_YUP (EC_GROUP_VOICES << 9) | 0x27
+#define EC_WORD_HAHAHA (EC_GROUP_VOICES << 9) | 0x28
+#define EC_WORD_AIYEEH (EC_GROUP_VOICES << 9) | 0x29
+#define EC_WORD_HIYAH (EC_GROUP_VOICES << 9) | 0x2a
+#define EC_WORD_FUFUFU (EC_GROUP_VOICES << 9) | 0x2b
+#define EC_WORD_LOL (EC_GROUP_VOICES << 9) | 0x2c
+#define EC_WORD_SNORT (EC_GROUP_VOICES << 9) | 0x2d
+#define EC_WORD_HUMPH (EC_GROUP_VOICES << 9) | 0x2e
+#define EC_WORD_HEHEHE (EC_GROUP_VOICES << 9) | 0x2f
+#define EC_WORD_HEH (EC_GROUP_VOICES << 9) | 0x30
+#define EC_WORD_HOHOHO (EC_GROUP_VOICES << 9) | 0x31
+#define EC_WORD_UH_HUH (EC_GROUP_VOICES << 9) | 0x32
+#define EC_WORD_OH_DEAR (EC_GROUP_VOICES << 9) | 0x33
+#define EC_WORD_ARRGH (EC_GROUP_VOICES << 9) | 0x34
+#define EC_WORD_MUFUFU (EC_GROUP_VOICES << 9) | 0x35
+#define EC_WORD_MMM (EC_GROUP_VOICES << 9) | 0x36
+#define EC_WORD_OH_KAY (EC_GROUP_VOICES << 9) | 0x37
+#define EC_WORD_OKAY (EC_GROUP_VOICES << 9) | 0x38
+#define EC_WORD_LALALA (EC_GROUP_VOICES << 9) | 0x39
+#define EC_WORD_YAY (EC_GROUP_VOICES << 9) | 0x3a
+#define EC_WORD_AWW (EC_GROUP_VOICES << 9) | 0x3b
+#define EC_WORD_WOWEE (EC_GROUP_VOICES << 9) | 0x3c
+#define EC_WORD_GWAH (EC_GROUP_VOICES << 9) | 0x3d
+#define EC_WORD_WAHAHAHA (EC_GROUP_VOICES << 9) | 0x3e
+
+// SPEECH
+#define EC_WORD_LISTEN (EC_GROUP_SPEECH << 9) | 0x0
+#define EC_WORD_NOT_VERY (EC_GROUP_SPEECH << 9) | 0x1
+#define EC_WORD_MEAN (EC_GROUP_SPEECH << 9) | 0x2
+#define EC_WORD_LIE (EC_GROUP_SPEECH << 9) | 0x3
+#define EC_WORD_LAY (EC_GROUP_SPEECH << 9) | 0x4
+#define EC_WORD_RECOMMEND (EC_GROUP_SPEECH << 9) | 0x5
+#define EC_WORD_NITWIT (EC_GROUP_SPEECH << 9) | 0x6
+#define EC_WORD_QUITE (EC_GROUP_SPEECH << 9) | 0x7
+#define EC_WORD_FROM (EC_GROUP_SPEECH << 9) | 0x8
+#define EC_WORD_FEELING (EC_GROUP_SPEECH << 9) | 0x9
+#define EC_WORD_BUT (EC_GROUP_SPEECH << 9) | 0xa
+#define EC_WORD_HOWEVER (EC_GROUP_SPEECH << 9) | 0xb
+#define EC_WORD_CASE (EC_GROUP_SPEECH << 9) | 0xc
+#define EC_WORD_THE (EC_GROUP_SPEECH << 9) | 0xd
+#define EC_WORD_MISS (EC_GROUP_SPEECH << 9) | 0xe
+#define EC_WORD_HOW (EC_GROUP_SPEECH << 9) | 0xf
+#define EC_WORD_HIT (EC_GROUP_SPEECH << 9) | 0x10
+#define EC_WORD_ENOUGH (EC_GROUP_SPEECH << 9) | 0x11
+#define EC_WORD_A_LOT (EC_GROUP_SPEECH << 9) | 0x12
+#define EC_WORD_A_LITTLE (EC_GROUP_SPEECH << 9) | 0x13
+#define EC_WORD_ABSOLUTELY (EC_GROUP_SPEECH << 9) | 0x14
+#define EC_WORD_AND (EC_GROUP_SPEECH << 9) | 0x15
+#define EC_WORD_ONLY (EC_GROUP_SPEECH << 9) | 0x16
+#define EC_WORD_AROUND (EC_GROUP_SPEECH << 9) | 0x17
+#define EC_WORD_PROBABLY (EC_GROUP_SPEECH << 9) | 0x18
+#define EC_WORD_IF (EC_GROUP_SPEECH << 9) | 0x19
+#define EC_WORD_VERY (EC_GROUP_SPEECH << 9) | 0x1a
+#define EC_WORD_A_TINY_BIT (EC_GROUP_SPEECH << 9) | 0x1b
+#define EC_WORD_WILD (EC_GROUP_SPEECH << 9) | 0x1c
+#define EC_WORD_THAT_S (EC_GROUP_SPEECH << 9) | 0x1d
+#define EC_WORD_JUST (EC_GROUP_SPEECH << 9) | 0x1e
+#define EC_WORD_EVEN_SO (EC_GROUP_SPEECH << 9) | 0x1f
+#define EC_WORD_MUST_BE (EC_GROUP_SPEECH << 9) | 0x20
+#define EC_WORD_NATURALLY (EC_GROUP_SPEECH << 9) | 0x21
+#define EC_WORD_FOR_NOW (EC_GROUP_SPEECH << 9) | 0x22
+#define EC_WORD_UNDERSTOOD (EC_GROUP_SPEECH << 9) | 0x23
+#define EC_WORD_JOKING (EC_GROUP_SPEECH << 9) | 0x24
+#define EC_WORD_READY (EC_GROUP_SPEECH << 9) | 0x25
+#define EC_WORD_SOMETHING (EC_GROUP_SPEECH << 9) | 0x26
+#define EC_WORD_SOMEHOW (EC_GROUP_SPEECH << 9) | 0x27
+#define EC_WORD_ALTHOUGH (EC_GROUP_SPEECH << 9) | 0x28
+#define EC_WORD_ALSO (EC_GROUP_SPEECH << 9) | 0x29
+#define EC_WORD_PERFECT (EC_GROUP_SPEECH << 9) | 0x2a
+#define EC_WORD_AS_MUCH_AS (EC_GROUP_SPEECH << 9) | 0x2b
+#define EC_WORD_REALLY (EC_GROUP_SPEECH << 9) | 0x2c
+#define EC_WORD_TRULY (EC_GROUP_SPEECH << 9) | 0x2d
+#define EC_WORD_SERIOUSLY (EC_GROUP_SPEECH << 9) | 0x2e
+#define EC_WORD_TOTALLY (EC_GROUP_SPEECH << 9) | 0x2f
+#define EC_WORD_UNTIL (EC_GROUP_SPEECH << 9) | 0x30
+#define EC_WORD_AS_IF (EC_GROUP_SPEECH << 9) | 0x31
+#define EC_WORD_MOOD (EC_GROUP_SPEECH << 9) | 0x32
+#define EC_WORD_RATHER (EC_GROUP_SPEECH << 9) | 0x33
+#define EC_WORD_AWFULLY (EC_GROUP_SPEECH << 9) | 0x34
+#define EC_WORD_MODE (EC_GROUP_SPEECH << 9) | 0x35
+#define EC_WORD_MORE (EC_GROUP_SPEECH << 9) | 0x36
+#define EC_WORD_TOO_LATE (EC_GROUP_SPEECH << 9) | 0x37
+#define EC_WORD_FINALLY (EC_GROUP_SPEECH << 9) | 0x38
+#define EC_WORD_ANY (EC_GROUP_SPEECH << 9) | 0x39
+#define EC_WORD_INSTEAD (EC_GROUP_SPEECH << 9) | 0x3a
+#define EC_WORD_FANTASTIC (EC_GROUP_SPEECH << 9) | 0x3b
+
+// ENDINGS
+#define EC_WORD_WILL (EC_GROUP_ENDINGS << 9) | 0x0
+#define EC_WORD_WILL_BE_HERE (EC_GROUP_ENDINGS << 9) | 0x1
+#define EC_WORD_OR (EC_GROUP_ENDINGS << 9) | 0x2
+#define EC_WORD_TIMES (EC_GROUP_ENDINGS << 9) | 0x3
+#define EC_WORD_WONDER (EC_GROUP_ENDINGS << 9) | 0x4
+#define EC_WORD_IS_IT_QUES (EC_GROUP_ENDINGS << 9) | 0x5
+#define EC_WORD_BE (EC_GROUP_ENDINGS << 9) | 0x6
+#define EC_WORD_GIMME (EC_GROUP_ENDINGS << 9) | 0x7
+#define EC_WORD_COULD (EC_GROUP_ENDINGS << 9) | 0x8
+#define EC_WORD_LIKELY_TO (EC_GROUP_ENDINGS << 9) | 0x9
+#define EC_WORD_WOULD (EC_GROUP_ENDINGS << 9) | 0xa
+#define EC_WORD_IS (EC_GROUP_ENDINGS << 9) | 0xb
+#define EC_WORD_ISN_T_IT_QUES (EC_GROUP_ENDINGS << 9) | 0xc
+#define EC_WORD_LET_S (EC_GROUP_ENDINGS << 9) | 0xd
+#define EC_WORD_OTHER (EC_GROUP_ENDINGS << 9) | 0xe
+#define EC_WORD_ARE (EC_GROUP_ENDINGS << 9) | 0xf
+#define EC_WORD_WAS (EC_GROUP_ENDINGS << 9) | 0x10
+#define EC_WORD_WERE (EC_GROUP_ENDINGS << 9) | 0x11
+#define EC_WORD_THOSE (EC_GROUP_ENDINGS << 9) | 0x12
+#define EC_WORD_ISN_T (EC_GROUP_ENDINGS << 9) | 0x13
+#define EC_WORD_WON_T (EC_GROUP_ENDINGS << 9) | 0x14
+#define EC_WORD_CAN_T (EC_GROUP_ENDINGS << 9) | 0x15
+#define EC_WORD_CAN (EC_GROUP_ENDINGS << 9) | 0x16
+#define EC_WORD_DON_T (EC_GROUP_ENDINGS << 9) | 0x17
+#define EC_WORD_DO (EC_GROUP_ENDINGS << 9) | 0x18
+#define EC_WORD_DOES (EC_GROUP_ENDINGS << 9) | 0x19
+#define EC_WORD_WHOM (EC_GROUP_ENDINGS << 9) | 0x1a
+#define EC_WORD_WHICH (EC_GROUP_ENDINGS << 9) | 0x1b
+#define EC_WORD_WASN_T (EC_GROUP_ENDINGS << 9) | 0x1c
+#define EC_WORD_WEREN_T (EC_GROUP_ENDINGS << 9) | 0x1d
+#define EC_WORD_HAVE (EC_GROUP_ENDINGS << 9) | 0x1e
+#define EC_WORD_HAVEN_T (EC_GROUP_ENDINGS << 9) | 0x1f
+#define EC_WORD_A (EC_GROUP_ENDINGS << 9) | 0x20
+#define EC_WORD_AN (EC_GROUP_ENDINGS << 9) | 0x21
+#define EC_WORD_NOT (EC_GROUP_ENDINGS << 9) | 0x22
+#define EC_WORD_THERE (EC_GROUP_ENDINGS << 9) | 0x23
+#define EC_WORD_OK_QUES (EC_GROUP_ENDINGS << 9) | 0x24
+#define EC_WORD_SO (EC_GROUP_ENDINGS << 9) | 0x25
+#define EC_WORD_MAYBE (EC_GROUP_ENDINGS << 9) | 0x26
+#define EC_WORD_ABOUT (EC_GROUP_ENDINGS << 9) | 0x27
+#define EC_WORD_OVER (EC_GROUP_ENDINGS << 9) | 0x28
+#define EC_WORD_IT (EC_GROUP_ENDINGS << 9) | 0x29
+#define EC_WORD_ALL (EC_GROUP_ENDINGS << 9) | 0x2a
+#define EC_WORD_FOR (EC_GROUP_ENDINGS << 9) | 0x2b
+#define EC_WORD_ON (EC_GROUP_ENDINGS << 9) | 0x2c
+#define EC_WORD_OFF (EC_GROUP_ENDINGS << 9) | 0x2d
+#define EC_WORD_AS (EC_GROUP_ENDINGS << 9) | 0x2e
+#define EC_WORD_TO (EC_GROUP_ENDINGS << 9) | 0x2f
+#define EC_WORD_WITH (EC_GROUP_ENDINGS << 9) | 0x30
+#define EC_WORD_BETTER (EC_GROUP_ENDINGS << 9) | 0x31
+#define EC_WORD_EVER (EC_GROUP_ENDINGS << 9) | 0x32
+#define EC_WORD_SINCE (EC_GROUP_ENDINGS << 9) | 0x33
+#define EC_WORD_OF (EC_GROUP_ENDINGS << 9) | 0x34
+#define EC_WORD_BELONGS_TO (EC_GROUP_ENDINGS << 9) | 0x35
+#define EC_WORD_AT (EC_GROUP_ENDINGS << 9) | 0x36
+#define EC_WORD_IN (EC_GROUP_ENDINGS << 9) | 0x37
+#define EC_WORD_OUT (EC_GROUP_ENDINGS << 9) | 0x38
+#define EC_WORD_TOO (EC_GROUP_ENDINGS << 9) | 0x39
+#define EC_WORD_LIKE (EC_GROUP_ENDINGS << 9) | 0x3a
+#define EC_WORD_DID (EC_GROUP_ENDINGS << 9) | 0x3b
+#define EC_WORD_DIDN_T (EC_GROUP_ENDINGS << 9) | 0x3c
+#define EC_WORD_DOESN_T (EC_GROUP_ENDINGS << 9) | 0x3d
+#define EC_WORD_WITHOUT (EC_GROUP_ENDINGS << 9) | 0x3e
+#define EC_WORD_AFTER (EC_GROUP_ENDINGS << 9) | 0x3f
+#define EC_WORD_BEFORE (EC_GROUP_ENDINGS << 9) | 0x40
+#define EC_WORD_WHILE (EC_GROUP_ENDINGS << 9) | 0x41
+#define EC_WORD_THAN (EC_GROUP_ENDINGS << 9) | 0x42
+#define EC_WORD_ONCE (EC_GROUP_ENDINGS << 9) | 0x43
+#define EC_WORD_ANYWHERE (EC_GROUP_ENDINGS << 9) | 0x44
+
+// FEELINGS
+#define EC_WORD_MEET (EC_GROUP_FEELINGS << 9) | 0x0
+#define EC_WORD_PLAY (EC_GROUP_FEELINGS << 9) | 0x1
+#define EC_WORD_HURRIED (EC_GROUP_FEELINGS << 9) | 0x2
+#define EC_WORD_GOES (EC_GROUP_FEELINGS << 9) | 0x3
+#define EC_WORD_GIDDY (EC_GROUP_FEELINGS << 9) | 0x4
+#define EC_WORD_HAPPY (EC_GROUP_FEELINGS << 9) | 0x5
+#define EC_WORD_HAPPINESS (EC_GROUP_FEELINGS << 9) | 0x6
+#define EC_WORD_EXCITE (EC_GROUP_FEELINGS << 9) | 0x7
+#define EC_WORD_IMPORTANT (EC_GROUP_FEELINGS << 9) | 0x8
+#define EC_WORD_FUNNY (EC_GROUP_FEELINGS << 9) | 0x9
+#define EC_WORD_GOT (EC_GROUP_FEELINGS << 9) | 0xa
+#define EC_WORD_GO_HOME (EC_GROUP_FEELINGS << 9) | 0xb
+#define EC_WORD_DISAPPOINTED (EC_GROUP_FEELINGS << 9) | 0xc
+#define EC_WORD_DISAPPOINTS (EC_GROUP_FEELINGS << 9) | 0xd
+#define EC_WORD_SAD (EC_GROUP_FEELINGS << 9) | 0xe
+#define EC_WORD_TRY (EC_GROUP_FEELINGS << 9) | 0xf
+#define EC_WORD_TRIES (EC_GROUP_FEELINGS << 9) | 0x10
+#define EC_WORD_HEARS (EC_GROUP_FEELINGS << 9) | 0x11
+#define EC_WORD_THINK (EC_GROUP_FEELINGS << 9) | 0x12
+#define EC_WORD_HEAR (EC_GROUP_FEELINGS << 9) | 0x13
+#define EC_WORD_WANTS (EC_GROUP_FEELINGS << 9) | 0x14
+#define EC_WORD_MISHEARD (EC_GROUP_FEELINGS << 9) | 0x15
+#define EC_WORD_DISLIKE (EC_GROUP_FEELINGS << 9) | 0x16
+#define EC_WORD_ANGRY (EC_GROUP_FEELINGS << 9) | 0x17
+#define EC_WORD_ANGER (EC_GROUP_FEELINGS << 9) | 0x18
+#define EC_WORD_SCARY (EC_GROUP_FEELINGS << 9) | 0x19
+#define EC_WORD_LONESOME (EC_GROUP_FEELINGS << 9) | 0x1a
+#define EC_WORD_DISAPPOINT (EC_GROUP_FEELINGS << 9) | 0x1b
+#define EC_WORD_JOY (EC_GROUP_FEELINGS << 9) | 0x1c
+#define EC_WORD_GETS (EC_GROUP_FEELINGS << 9) | 0x1d
+#define EC_WORD_NEVER (EC_GROUP_FEELINGS << 9) | 0x1e
+#define EC_WORD_DARN (EC_GROUP_FEELINGS << 9) | 0x1f
+#define EC_WORD_DOWNCAST (EC_GROUP_FEELINGS << 9) | 0x20
+#define EC_WORD_INCREDIBLE (EC_GROUP_FEELINGS << 9) | 0x21
+#define EC_WORD_LIKES (EC_GROUP_FEELINGS << 9) | 0x22
+#define EC_WORD_DISLIKES (EC_GROUP_FEELINGS << 9) | 0x23
+#define EC_WORD_BORING (EC_GROUP_FEELINGS << 9) | 0x24
+#define EC_WORD_CARE (EC_GROUP_FEELINGS << 9) | 0x25
+#define EC_WORD_CARES (EC_GROUP_FEELINGS << 9) | 0x26
+#define EC_WORD_ALL_RIGHT (EC_GROUP_FEELINGS << 9) | 0x27
+#define EC_WORD_ADORE (EC_GROUP_FEELINGS << 9) | 0x28
+#define EC_WORD_DISASTER (EC_GROUP_FEELINGS << 9) | 0x29
+#define EC_WORD_ENJOY (EC_GROUP_FEELINGS << 9) | 0x2a
+#define EC_WORD_ENJOYS (EC_GROUP_FEELINGS << 9) | 0x2b
+#define EC_WORD_EAT (EC_GROUP_FEELINGS << 9) | 0x2c
+#define EC_WORD_LACKING (EC_GROUP_FEELINGS << 9) | 0x2d
+#define EC_WORD_BAD (EC_GROUP_FEELINGS << 9) | 0x2e
+#define EC_WORD_HARD (EC_GROUP_FEELINGS << 9) | 0x2f
+#define EC_WORD_TERRIBLE (EC_GROUP_FEELINGS << 9) | 0x30
+#define EC_WORD_SHOULD (EC_GROUP_FEELINGS << 9) | 0x31
+#define EC_WORD_NICE (EC_GROUP_FEELINGS << 9) | 0x32
+#define EC_WORD_DRINK (EC_GROUP_FEELINGS << 9) | 0x33
+#define EC_WORD_SURPRISE (EC_GROUP_FEELINGS << 9) | 0x34
+#define EC_WORD_FEAR (EC_GROUP_FEELINGS << 9) | 0x35
+#define EC_WORD_WANT (EC_GROUP_FEELINGS << 9) | 0x36
+#define EC_WORD_WAIT (EC_GROUP_FEELINGS << 9) | 0x37
+#define EC_WORD_SATISFIED (EC_GROUP_FEELINGS << 9) | 0x38
+#define EC_WORD_SEE (EC_GROUP_FEELINGS << 9) | 0x39
+#define EC_WORD_RARE (EC_GROUP_FEELINGS << 9) | 0x3a
+#define EC_WORD_NEGATIVE (EC_GROUP_FEELINGS << 9) | 0x3b
+#define EC_WORD_DONE (EC_GROUP_FEELINGS << 9) | 0x3c
+#define EC_WORD_DANGER (EC_GROUP_FEELINGS << 9) | 0x3d
+#define EC_WORD_DEFEATED (EC_GROUP_FEELINGS << 9) | 0x3e
+#define EC_WORD_BEAT (EC_GROUP_FEELINGS << 9) | 0x3f
+#define EC_WORD_GREAT (EC_GROUP_FEELINGS << 9) | 0x40
+#define EC_WORD_ROMANTIC (EC_GROUP_FEELINGS << 9) | 0x41
+#define EC_WORD_QUESTION (EC_GROUP_FEELINGS << 9) | 0x42
+#define EC_WORD_UNDERSTAND (EC_GROUP_FEELINGS << 9) | 0x43
+#define EC_WORD_UNDERSTANDS (EC_GROUP_FEELINGS << 9) | 0x44
+
+// CONDITIONS
+#define EC_WORD_HOT (EC_GROUP_CONDITIONS << 9) | 0x0
+#define EC_WORD_EXISTS (EC_GROUP_CONDITIONS << 9) | 0x1
+#define EC_WORD_EXCESS (EC_GROUP_CONDITIONS << 9) | 0x2
+#define EC_WORD_APPROVED (EC_GROUP_CONDITIONS << 9) | 0x3
+#define EC_WORD_HAS (EC_GROUP_CONDITIONS << 9) | 0x4
+#define EC_WORD_GOOD (EC_GROUP_CONDITIONS << 9) | 0x5
+#define EC_WORD_LESS (EC_GROUP_CONDITIONS << 9) | 0x6
+#define EC_WORD_MOMENTUM (EC_GROUP_CONDITIONS << 9) | 0x7
+#define EC_WORD_GOING (EC_GROUP_CONDITIONS << 9) | 0x8
+#define EC_WORD_WEIRD (EC_GROUP_CONDITIONS << 9) | 0x9
+#define EC_WORD_BUSY (EC_GROUP_CONDITIONS << 9) | 0xa
+#define EC_WORD_TOGETHER (EC_GROUP_CONDITIONS << 9) | 0xb
+#define EC_WORD_FULL (EC_GROUP_CONDITIONS << 9) | 0xc
+#define EC_WORD_ABSENT (EC_GROUP_CONDITIONS << 9) | 0xd
+#define EC_WORD_BEING (EC_GROUP_CONDITIONS << 9) | 0xe
+#define EC_WORD_NEED (EC_GROUP_CONDITIONS << 9) | 0xf
+#define EC_WORD_TASTY (EC_GROUP_CONDITIONS << 9) | 0x10
+#define EC_WORD_SKILLED (EC_GROUP_CONDITIONS << 9) | 0x11
+#define EC_WORD_NOISY (EC_GROUP_CONDITIONS << 9) | 0x12
+#define EC_WORD_BIG (EC_GROUP_CONDITIONS << 9) | 0x13
+#define EC_WORD_LATE (EC_GROUP_CONDITIONS << 9) | 0x14
+#define EC_WORD_CLOSE (EC_GROUP_CONDITIONS << 9) | 0x15
+#define EC_WORD_DOCILE (EC_GROUP_CONDITIONS << 9) | 0x16
+#define EC_WORD_AMUSING (EC_GROUP_CONDITIONS << 9) | 0x17
+#define EC_WORD_ENTERTAINING (EC_GROUP_CONDITIONS << 9) | 0x18
+#define EC_WORD_PERFECTION (EC_GROUP_CONDITIONS << 9) | 0x19
+#define EC_WORD_PRETTY (EC_GROUP_CONDITIONS << 9) | 0x1a
+#define EC_WORD_HEALTHY (EC_GROUP_CONDITIONS << 9) | 0x1b
+#define EC_WORD_EXCELLENT (EC_GROUP_CONDITIONS << 9) | 0x1c
+#define EC_WORD_UPSIDE_DOWN (EC_GROUP_CONDITIONS << 9) | 0x1d
+#define EC_WORD_COLD (EC_GROUP_CONDITIONS << 9) | 0x1e
+#define EC_WORD_REFRESHING (EC_GROUP_CONDITIONS << 9) | 0x1f
+#define EC_WORD_UNAVOIDABLE (EC_GROUP_CONDITIONS << 9) | 0x20
+#define EC_WORD_MUCH (EC_GROUP_CONDITIONS << 9) | 0x21
+#define EC_WORD_OVERWHELMING (EC_GROUP_CONDITIONS << 9) | 0x22
+#define EC_WORD_FABULOUS (EC_GROUP_CONDITIONS << 9) | 0x23
+#define EC_WORD_ELSE (EC_GROUP_CONDITIONS << 9) | 0x24
+#define EC_WORD_EXPENSIVE (EC_GROUP_CONDITIONS << 9) | 0x25
+#define EC_WORD_CORRECT (EC_GROUP_CONDITIONS << 9) | 0x26
+#define EC_WORD_IMPOSSIBLE (EC_GROUP_CONDITIONS << 9) | 0x27
+#define EC_WORD_SMALL (EC_GROUP_CONDITIONS << 9) | 0x28
+#define EC_WORD_DIFFERENT (EC_GROUP_CONDITIONS << 9) | 0x29
+#define EC_WORD_TIRED (EC_GROUP_CONDITIONS << 9) | 0x2a
+#define EC_WORD_SKILL (EC_GROUP_CONDITIONS << 9) | 0x2b
+#define EC_WORD_TOP (EC_GROUP_CONDITIONS << 9) | 0x2c
+#define EC_WORD_NON_STOP (EC_GROUP_CONDITIONS << 9) | 0x2d
+#define EC_WORD_PREPOSTEROUS (EC_GROUP_CONDITIONS << 9) | 0x2e
+#define EC_WORD_NONE (EC_GROUP_CONDITIONS << 9) | 0x2f
+#define EC_WORD_NOTHING (EC_GROUP_CONDITIONS << 9) | 0x30
+#define EC_WORD_NATURAL (EC_GROUP_CONDITIONS << 9) | 0x31
+#define EC_WORD_BECOMES (EC_GROUP_CONDITIONS << 9) | 0x32
+#define EC_WORD_LUKEWARM (EC_GROUP_CONDITIONS << 9) | 0x33
+#define EC_WORD_FAST (EC_GROUP_CONDITIONS << 9) | 0x34
+#define EC_WORD_LOW (EC_GROUP_CONDITIONS << 9) | 0x35
+#define EC_WORD_AWFUL (EC_GROUP_CONDITIONS << 9) | 0x36
+#define EC_WORD_ALONE (EC_GROUP_CONDITIONS << 9) | 0x37
+#define EC_WORD_BORED (EC_GROUP_CONDITIONS << 9) | 0x38
+#define EC_WORD_SECRET (EC_GROUP_CONDITIONS << 9) | 0x39
+#define EC_WORD_MYSTERY (EC_GROUP_CONDITIONS << 9) | 0x3a
+#define EC_WORD_LACKS (EC_GROUP_CONDITIONS << 9) | 0x3b
+#define EC_WORD_BEST (EC_GROUP_CONDITIONS << 9) | 0x3c
+#define EC_WORD_LOUSY (EC_GROUP_CONDITIONS << 9) | 0x3d
+#define EC_WORD_MISTAKE (EC_GROUP_CONDITIONS << 9) | 0x3e
+#define EC_WORD_KIND (EC_GROUP_CONDITIONS << 9) | 0x3f
+#define EC_WORD_WELL (EC_GROUP_CONDITIONS << 9) | 0x40
+#define EC_WORD_WEAKENED (EC_GROUP_CONDITIONS << 9) | 0x41
+#define EC_WORD_SIMPLE (EC_GROUP_CONDITIONS << 9) | 0x42
+#define EC_WORD_SEEMS (EC_GROUP_CONDITIONS << 9) | 0x43
+#define EC_WORD_BADLY (EC_GROUP_CONDITIONS << 9) | 0x44
+
+// ACTIONS
+#define EC_WORD_MEETS (EC_GROUP_ACTIONS << 9) | 0x0
+#define EC_WORD_CONCEDE (EC_GROUP_ACTIONS << 9) | 0x1
+#define EC_WORD_GIVE (EC_GROUP_ACTIONS << 9) | 0x2
+#define EC_WORD_GIVES (EC_GROUP_ACTIONS << 9) | 0x3
+#define EC_WORD_PLAYED (EC_GROUP_ACTIONS << 9) | 0x4
+#define EC_WORD_PLAYS (EC_GROUP_ACTIONS << 9) | 0x5
+#define EC_WORD_COLLECT (EC_GROUP_ACTIONS << 9) | 0x6
+#define EC_WORD_WALKING (EC_GROUP_ACTIONS << 9) | 0x7
+#define EC_WORD_WALKS (EC_GROUP_ACTIONS << 9) | 0x8
+#define EC_WORD_SAYS (EC_GROUP_ACTIONS << 9) | 0x9
+#define EC_WORD_WENT (EC_GROUP_ACTIONS << 9) | 0xa
+#define EC_WORD_SAID (EC_GROUP_ACTIONS << 9) | 0xb
+#define EC_WORD_WAKE_UP (EC_GROUP_ACTIONS << 9) | 0xc
+#define EC_WORD_WAKES_UP (EC_GROUP_ACTIONS << 9) | 0xd
+#define EC_WORD_ANGERS (EC_GROUP_ACTIONS << 9) | 0xe
+#define EC_WORD_TEACH (EC_GROUP_ACTIONS << 9) | 0xf
+#define EC_WORD_TEACHES (EC_GROUP_ACTIONS << 9) | 0x10
+#define EC_WORD_PLEASE (EC_GROUP_ACTIONS << 9) | 0x11
+#define EC_WORD_LEARN (EC_GROUP_ACTIONS << 9) | 0x12
+#define EC_WORD_CHANGE (EC_GROUP_ACTIONS << 9) | 0x13
+#define EC_WORD_STORY (EC_GROUP_ACTIONS << 9) | 0x14
+#define EC_WORD_TRUST (EC_GROUP_ACTIONS << 9) | 0x15
+#define EC_WORD_LAVISH (EC_GROUP_ACTIONS << 9) | 0x16
+#define EC_WORD_LISTENS (EC_GROUP_ACTIONS << 9) | 0x17
+#define EC_WORD_HEARING (EC_GROUP_ACTIONS << 9) | 0x18
+#define EC_WORD_TRAINS (EC_GROUP_ACTIONS << 9) | 0x19
+#define EC_WORD_CHOOSE (EC_GROUP_ACTIONS << 9) | 0x1a
+#define EC_WORD_COME (EC_GROUP_ACTIONS << 9) | 0x1b
+#define EC_WORD_CAME (EC_GROUP_ACTIONS << 9) | 0x1c
+#define EC_WORD_SEARCH (EC_GROUP_ACTIONS << 9) | 0x1d
+#define EC_WORD_MAKE (EC_GROUP_ACTIONS << 9) | 0x1e
+#define EC_WORD_CAUSE (EC_GROUP_ACTIONS << 9) | 0x1f
+#define EC_WORD_KNOW (EC_GROUP_ACTIONS << 9) | 0x20
+#define EC_WORD_KNOWS (EC_GROUP_ACTIONS << 9) | 0x21
+#define EC_WORD_REFUSE (EC_GROUP_ACTIONS << 9) | 0x22
+#define EC_WORD_STORES (EC_GROUP_ACTIONS << 9) | 0x23
+#define EC_WORD_BRAG (EC_GROUP_ACTIONS << 9) | 0x24
+#define EC_WORD_IGNORANT (EC_GROUP_ACTIONS << 9) | 0x25
+#define EC_WORD_THINKS (EC_GROUP_ACTIONS << 9) | 0x26
+#define EC_WORD_BELIEVE (EC_GROUP_ACTIONS << 9) | 0x27
+#define EC_WORD_SLIDE (EC_GROUP_ACTIONS << 9) | 0x28
+#define EC_WORD_EATS (EC_GROUP_ACTIONS << 9) | 0x29
+#define EC_WORD_USE (EC_GROUP_ACTIONS << 9) | 0x2a
+#define EC_WORD_USES (EC_GROUP_ACTIONS << 9) | 0x2b
+#define EC_WORD_USING (EC_GROUP_ACTIONS << 9) | 0x2c
+#define EC_WORD_COULDN_T (EC_GROUP_ACTIONS << 9) | 0x2d
+#define EC_WORD_CAPABLE (EC_GROUP_ACTIONS << 9) | 0x2e
+#define EC_WORD_DISAPPEAR (EC_GROUP_ACTIONS << 9) | 0x2f
+#define EC_WORD_APPEAR (EC_GROUP_ACTIONS << 9) | 0x30
+#define EC_WORD_THROW (EC_GROUP_ACTIONS << 9) | 0x31
+#define EC_WORD_WORRY (EC_GROUP_ACTIONS << 9) | 0x32
+#define EC_WORD_SLEPT (EC_GROUP_ACTIONS << 9) | 0x33
+#define EC_WORD_SLEEP (EC_GROUP_ACTIONS << 9) | 0x34
+#define EC_WORD_RELEASE (EC_GROUP_ACTIONS << 9) | 0x35
+#define EC_WORD_DRINKS (EC_GROUP_ACTIONS << 9) | 0x36
+#define EC_WORD_RUNS (EC_GROUP_ACTIONS << 9) | 0x37
+#define EC_WORD_RUN (EC_GROUP_ACTIONS << 9) | 0x38
+#define EC_WORD_WORKS (EC_GROUP_ACTIONS << 9) | 0x39
+#define EC_WORD_WORKING (EC_GROUP_ACTIONS << 9) | 0x3a
+#define EC_WORD_TALKING (EC_GROUP_ACTIONS << 9) | 0x3b
+#define EC_WORD_TALK (EC_GROUP_ACTIONS << 9) | 0x3c
+#define EC_WORD_SINK (EC_GROUP_ACTIONS << 9) | 0x3d
+#define EC_WORD_SMACK (EC_GROUP_ACTIONS << 9) | 0x3e
+#define EC_WORD_PRETEND (EC_GROUP_ACTIONS << 9) | 0x3f
+#define EC_WORD_PRAISE (EC_GROUP_ACTIONS << 9) | 0x40
+#define EC_WORD_OVERDO (EC_GROUP_ACTIONS << 9) | 0x41
+#define EC_WORD_SHOW (EC_GROUP_ACTIONS << 9) | 0x42
+#define EC_WORD_LOOKS (EC_GROUP_ACTIONS << 9) | 0x43
+#define EC_WORD_SEES (EC_GROUP_ACTIONS << 9) | 0x44
+#define EC_WORD_SEEK (EC_GROUP_ACTIONS << 9) | 0x45
+#define EC_WORD_OWN (EC_GROUP_ACTIONS << 9) | 0x46
+#define EC_WORD_TAKE (EC_GROUP_ACTIONS << 9) | 0x47
+#define EC_WORD_ALLOW (EC_GROUP_ACTIONS << 9) | 0x48
+#define EC_WORD_FORGET (EC_GROUP_ACTIONS << 9) | 0x49
+#define EC_WORD_FORGETS (EC_GROUP_ACTIONS << 9) | 0x4a
+#define EC_WORD_APPEARS (EC_GROUP_ACTIONS << 9) | 0x4b
+#define EC_WORD_FAINT (EC_GROUP_ACTIONS << 9) | 0x4c
+#define EC_WORD_FAINTED (EC_GROUP_ACTIONS << 9) | 0x4d
+
+// LIFESTYLE
+#define EC_WORD_CHORES (EC_GROUP_LIFESTYLE << 9) | 0x0
+#define EC_WORD_HOME (EC_GROUP_LIFESTYLE << 9) | 0x1
+#define EC_WORD_MONEY (EC_GROUP_LIFESTYLE << 9) | 0x2
+#define EC_WORD_ALLOWANCE (EC_GROUP_LIFESTYLE << 9) | 0x3
+#define EC_WORD_BATH (EC_GROUP_LIFESTYLE << 9) | 0x4
+#define EC_WORD_CONVERSATION (EC_GROUP_LIFESTYLE << 9) | 0x5
+#define EC_WORD_SCHOOL (EC_GROUP_LIFESTYLE << 9) | 0x6
+#define EC_WORD_COMMEMORATE (EC_GROUP_LIFESTYLE << 9) | 0x7
+#define EC_WORD_HABIT (EC_GROUP_LIFESTYLE << 9) | 0x8
+#define EC_WORD_GROUP (EC_GROUP_LIFESTYLE << 9) | 0x9
+#define EC_WORD_WORD (EC_GROUP_LIFESTYLE << 9) | 0xa
+#define EC_WORD_STORE (EC_GROUP_LIFESTYLE << 9) | 0xb
+#define EC_WORD_SERVICE (EC_GROUP_LIFESTYLE << 9) | 0xc
+#define EC_WORD_WORK (EC_GROUP_LIFESTYLE << 9) | 0xd
+#define EC_WORD_SYSTEM (EC_GROUP_LIFESTYLE << 9) | 0xe
+#define EC_WORD_TRAIN (EC_GROUP_LIFESTYLE << 9) | 0xf
+#define EC_WORD_CLASS (EC_GROUP_LIFESTYLE << 9) | 0x10
+#define EC_WORD_LESSONS (EC_GROUP_LIFESTYLE << 9) | 0x11
+#define EC_WORD_INFORMATION (EC_GROUP_LIFESTYLE << 9) | 0x12
+#define EC_WORD_LIVING (EC_GROUP_LIFESTYLE << 9) | 0x13
+#define EC_WORD_TEACHER (EC_GROUP_LIFESTYLE << 9) | 0x14
+#define EC_WORD_TOURNAMENT (EC_GROUP_LIFESTYLE << 9) | 0x15
+#define EC_WORD_LETTER (EC_GROUP_LIFESTYLE << 9) | 0x16
+#define EC_WORD_EVENT (EC_GROUP_LIFESTYLE << 9) | 0x17
+#define EC_WORD_DIGITAL (EC_GROUP_LIFESTYLE << 9) | 0x18
+#define EC_WORD_TEST (EC_GROUP_LIFESTYLE << 9) | 0x19
+#define EC_WORD_DEPT_STORE (EC_GROUP_LIFESTYLE << 9) | 0x1a
+#define EC_WORD_TELEVISION (EC_GROUP_LIFESTYLE << 9) | 0x1b
+#define EC_WORD_PHONE (EC_GROUP_LIFESTYLE << 9) | 0x1c
+#define EC_WORD_ITEM (EC_GROUP_LIFESTYLE << 9) | 0x1d
+#define EC_WORD_NAME (EC_GROUP_LIFESTYLE << 9) | 0x1e
+#define EC_WORD_NEWS (EC_GROUP_LIFESTYLE << 9) | 0x1f
+#define EC_WORD_POPULAR (EC_GROUP_LIFESTYLE << 9) | 0x20
+#define EC_WORD_PARTY (EC_GROUP_LIFESTYLE << 9) | 0x21
+#define EC_WORD_STUDY (EC_GROUP_LIFESTYLE << 9) | 0x22
+#define EC_WORD_MACHINE (EC_GROUP_LIFESTYLE << 9) | 0x23
+#define EC_WORD_MAIL (EC_GROUP_LIFESTYLE << 9) | 0x24
+#define EC_WORD_MESSAGE (EC_GROUP_LIFESTYLE << 9) | 0x25
+#define EC_WORD_PROMISE (EC_GROUP_LIFESTYLE << 9) | 0x26
+#define EC_WORD_DREAM (EC_GROUP_LIFESTYLE << 9) | 0x27
+#define EC_WORD_KINDERGARTEN (EC_GROUP_LIFESTYLE << 9) | 0x28
+#define EC_WORD_LIFE (EC_GROUP_LIFESTYLE << 9) | 0x29
+#define EC_WORD_RADIO (EC_GROUP_LIFESTYLE << 9) | 0x2a
+#define EC_WORD_RENTAL (EC_GROUP_LIFESTYLE << 9) | 0x2b
+#define EC_WORD_WORLD (EC_GROUP_LIFESTYLE << 9) | 0x2c
+
+// HOBBIES
+#define EC_WORD_IDOL (EC_GROUP_HOBBIES << 9) | 0x0
+#define EC_WORD_ANIME (EC_GROUP_HOBBIES << 9) | 0x1
+#define EC_WORD_SONG (EC_GROUP_HOBBIES << 9) | 0x2
+#define EC_WORD_MOVIE (EC_GROUP_HOBBIES << 9) | 0x3
+#define EC_WORD_SWEETS (EC_GROUP_HOBBIES << 9) | 0x4
+#define EC_WORD_CHAT (EC_GROUP_HOBBIES << 9) | 0x5
+#define EC_WORD_CHILD_S_PLAY (EC_GROUP_HOBBIES << 9) | 0x6
+#define EC_WORD_TOYS (EC_GROUP_HOBBIES << 9) | 0x7
+#define EC_WORD_MUSIC (EC_GROUP_HOBBIES << 9) | 0x8
+#define EC_WORD_CARDS (EC_GROUP_HOBBIES << 9) | 0x9
+#define EC_WORD_SHOPPING (EC_GROUP_HOBBIES << 9) | 0xa
+#define EC_WORD_CAMERA (EC_GROUP_HOBBIES << 9) | 0xb
+#define EC_WORD_VIEWING (EC_GROUP_HOBBIES << 9) | 0xc
+#define EC_WORD_SPECTATOR (EC_GROUP_HOBBIES << 9) | 0xd
+#define EC_WORD_GOURMET (EC_GROUP_HOBBIES << 9) | 0xe
+#define EC_WORD_GAME (EC_GROUP_HOBBIES << 9) | 0xf
+#define EC_WORD_RPG (EC_GROUP_HOBBIES << 9) | 0x10
+#define EC_WORD_COLLECTION (EC_GROUP_HOBBIES << 9) | 0x11
+#define EC_WORD_COMPLETE (EC_GROUP_HOBBIES << 9) | 0x12
+#define EC_WORD_MAGAZINE (EC_GROUP_HOBBIES << 9) | 0x13
+#define EC_WORD_WALK (EC_GROUP_HOBBIES << 9) | 0x14
+#define EC_WORD_BIKE (EC_GROUP_HOBBIES << 9) | 0x15
+#define EC_WORD_HOBBY (EC_GROUP_HOBBIES << 9) | 0x16
+#define EC_WORD_SPORTS (EC_GROUP_HOBBIES << 9) | 0x17
+#define EC_WORD_SOFTWARE (EC_GROUP_HOBBIES << 9) | 0x18
+#define EC_WORD_SONGS (EC_GROUP_HOBBIES << 9) | 0x19
+#define EC_WORD_DIET (EC_GROUP_HOBBIES << 9) | 0x1a
+#define EC_WORD_TREASURE (EC_GROUP_HOBBIES << 9) | 0x1b
+#define EC_WORD_TRAVEL (EC_GROUP_HOBBIES << 9) | 0x1c
+#define EC_WORD_DANCE (EC_GROUP_HOBBIES << 9) | 0x1d
+#define EC_WORD_CHANNEL (EC_GROUP_HOBBIES << 9) | 0x1e
+#define EC_WORD_MAKING (EC_GROUP_HOBBIES << 9) | 0x1f
+#define EC_WORD_FISHING (EC_GROUP_HOBBIES << 9) | 0x20
+#define EC_WORD_DATE (EC_GROUP_HOBBIES << 9) | 0x21
+#define EC_WORD_DESIGN (EC_GROUP_HOBBIES << 9) | 0x22
+#define EC_WORD_LOCOMOTIVE (EC_GROUP_HOBBIES << 9) | 0x23
+#define EC_WORD_PLUSH_DOLL (EC_GROUP_HOBBIES << 9) | 0x24
+#define EC_WORD_PC (EC_GROUP_HOBBIES << 9) | 0x25
+#define EC_WORD_FLOWERS (EC_GROUP_HOBBIES << 9) | 0x26
+#define EC_WORD_HERO (EC_GROUP_HOBBIES << 9) | 0x27
+#define EC_WORD_NAP (EC_GROUP_HOBBIES << 9) | 0x28
+#define EC_WORD_HEROINE (EC_GROUP_HOBBIES << 9) | 0x29
+#define EC_WORD_FASHION (EC_GROUP_HOBBIES << 9) | 0x2a
+#define EC_WORD_ADVENTURE (EC_GROUP_HOBBIES << 9) | 0x2b
+#define EC_WORD_BOARD (EC_GROUP_HOBBIES << 9) | 0x2c
+#define EC_WORD_BALL (EC_GROUP_HOBBIES << 9) | 0x2d
+#define EC_WORD_BOOK (EC_GROUP_HOBBIES << 9) | 0x2e
+#define EC_WORD_FESTIVAL (EC_GROUP_HOBBIES << 9) | 0x2f
+#define EC_WORD_COMICS (EC_GROUP_HOBBIES << 9) | 0x30
+#define EC_WORD_HOLIDAY (EC_GROUP_HOBBIES << 9) | 0x31
+#define EC_WORD_PLANS (EC_GROUP_HOBBIES << 9) | 0x32
+#define EC_WORD_TRENDY (EC_GROUP_HOBBIES << 9) | 0x33
+#define EC_WORD_VACATION (EC_GROUP_HOBBIES << 9) | 0x34
+#define EC_WORD_LOOK (EC_GROUP_HOBBIES << 9) | 0x35
+
+// TIME
+#define EC_WORD_FALL (EC_GROUP_TIME << 9) | 0x0
+#define EC_WORD_MORNING (EC_GROUP_TIME << 9) | 0x1
+#define EC_WORD_TOMORROW (EC_GROUP_TIME << 9) | 0x2
+#define EC_WORD_LAST (EC_GROUP_TIME << 9) | 0x3
+#define EC_WORD_DAY (EC_GROUP_TIME << 9) | 0x4
+#define EC_WORD_SOMETIME (EC_GROUP_TIME << 9) | 0x5
+#define EC_WORD_ALWAYS (EC_GROUP_TIME << 9) | 0x6
+#define EC_WORD_CURRENT (EC_GROUP_TIME << 9) | 0x7
+#define EC_WORD_FOREVER (EC_GROUP_TIME << 9) | 0x8
+#define EC_WORD_DAYS (EC_GROUP_TIME << 9) | 0x9
+#define EC_WORD_END (EC_GROUP_TIME << 9) | 0xa
+#define EC_WORD_TUESDAY (EC_GROUP_TIME << 9) | 0xb
+#define EC_WORD_YESTERDAY (EC_GROUP_TIME << 9) | 0xc
+#define EC_WORD_TODAY (EC_GROUP_TIME << 9) | 0xd
+#define EC_WORD_FRIDAY (EC_GROUP_TIME << 9) | 0xe
+#define EC_WORD_MONDAY (EC_GROUP_TIME << 9) | 0xf
+#define EC_WORD_LATER (EC_GROUP_TIME << 9) | 0x10
+#define EC_WORD_EARLIER (EC_GROUP_TIME << 9) | 0x11
+#define EC_WORD_ANOTHER (EC_GROUP_TIME << 9) | 0x12
+#define EC_WORD_TIME (EC_GROUP_TIME << 9) | 0x13
+#define EC_WORD_FINISH (EC_GROUP_TIME << 9) | 0x14
+#define EC_WORD_WEDNESDAY (EC_GROUP_TIME << 9) | 0x15
+#define EC_WORD_SOON (EC_GROUP_TIME << 9) | 0x16
+#define EC_WORD_START (EC_GROUP_TIME << 9) | 0x17
+#define EC_WORD_MONTH (EC_GROUP_TIME << 9) | 0x18
+#define EC_WORD_STOP (EC_GROUP_TIME << 9) | 0x19
+#define EC_WORD_NOW (EC_GROUP_TIME << 9) | 0x1a
+#define EC_WORD_FINAL (EC_GROUP_TIME << 9) | 0x1b
+#define EC_WORD_NEXT (EC_GROUP_TIME << 9) | 0x1c
+#define EC_WORD_AGE (EC_GROUP_TIME << 9) | 0x1d
+#define EC_WORD_SATURDAY (EC_GROUP_TIME << 9) | 0x1e
+#define EC_WORD_SUMMER (EC_GROUP_TIME << 9) | 0x1f
+#define EC_WORD_SUNDAY (EC_GROUP_TIME << 9) | 0x20
+#define EC_WORD_BEGINNING (EC_GROUP_TIME << 9) | 0x21
+#define EC_WORD_SPRING (EC_GROUP_TIME << 9) | 0x22
+#define EC_WORD_DAYTIME (EC_GROUP_TIME << 9) | 0x23
+#define EC_WORD_WINTER (EC_GROUP_TIME << 9) | 0x24
+#define EC_WORD_DAILY (EC_GROUP_TIME << 9) | 0x25
+#define EC_WORD_OLDEN (EC_GROUP_TIME << 9) | 0x26
+#define EC_WORD_ALMOST (EC_GROUP_TIME << 9) | 0x27
+#define EC_WORD_NEARLY (EC_GROUP_TIME << 9) | 0x28
+#define EC_WORD_THURSDAY (EC_GROUP_TIME << 9) | 0x29
+#define EC_WORD_NIGHTTIME (EC_GROUP_TIME << 9) | 0x2a
+#define EC_WORD_NIGHT (EC_GROUP_TIME << 9) | 0x2b
+#define EC_WORD_WEEK (EC_GROUP_TIME << 9) | 0x2c
+
+// MISC
+#define EC_WORD_HIGHS (EC_GROUP_MISC << 9) | 0x0
+#define EC_WORD_LOWS (EC_GROUP_MISC << 9) | 0x1
+#define EC_WORD_UM (EC_GROUP_MISC << 9) | 0x2
+#define EC_WORD_REAR (EC_GROUP_MISC << 9) | 0x3
+#define EC_WORD_THINGS (EC_GROUP_MISC << 9) | 0x4
+#define EC_WORD_THING (EC_GROUP_MISC << 9) | 0x5
+#define EC_WORD_BELOW (EC_GROUP_MISC << 9) | 0x6
+#define EC_WORD_ABOVE (EC_GROUP_MISC << 9) | 0x7
+#define EC_WORD_BACK (EC_GROUP_MISC << 9) | 0x8
+#define EC_WORD_HIGH (EC_GROUP_MISC << 9) | 0x9
+#define EC_WORD_HERE (EC_GROUP_MISC << 9) | 0xa
+#define EC_WORD_INSIDE (EC_GROUP_MISC << 9) | 0xb
+#define EC_WORD_OUTSIDE (EC_GROUP_MISC << 9) | 0xc
+#define EC_WORD_BESIDE (EC_GROUP_MISC << 9) | 0xd
+#define EC_WORD_THIS_IS_IT_EXCL (EC_GROUP_MISC << 9) | 0xe
+#define EC_WORD_THIS (EC_GROUP_MISC << 9) | 0xf
+#define EC_WORD_EVERY (EC_GROUP_MISC << 9) | 0x10
+#define EC_WORD_THESE (EC_GROUP_MISC << 9) | 0x11
+#define EC_WORD_THESE_WERE (EC_GROUP_MISC << 9) | 0x12
+#define EC_WORD_DOWN (EC_GROUP_MISC << 9) | 0x13
+#define EC_WORD_THAT (EC_GROUP_MISC << 9) | 0x14
+#define EC_WORD_THOSE_ARE (EC_GROUP_MISC << 9) | 0x15
+#define EC_WORD_THOSE_WERE (EC_GROUP_MISC << 9) | 0x16
+#define EC_WORD_THAT_S_IT_EXCL (EC_GROUP_MISC << 9) | 0x17
+#define EC_WORD_AM (EC_GROUP_MISC << 9) | 0x18
+#define EC_WORD_THAT_WAS (EC_GROUP_MISC << 9) | 0x19
+#define EC_WORD_FRONT (EC_GROUP_MISC << 9) | 0x1a
+#define EC_WORD_UP (EC_GROUP_MISC << 9) | 0x1b
+#define EC_WORD_CHOICE (EC_GROUP_MISC << 9) | 0x1c
+#define EC_WORD_FAR (EC_GROUP_MISC << 9) | 0x1d
+#define EC_WORD_AWAY (EC_GROUP_MISC << 9) | 0x1e
+#define EC_WORD_NEAR (EC_GROUP_MISC << 9) | 0x1f
+#define EC_WORD_WHERE (EC_GROUP_MISC << 9) | 0x20
+#define EC_WORD_WHEN (EC_GROUP_MISC << 9) | 0x21
+#define EC_WORD_WHAT (EC_GROUP_MISC << 9) | 0x22
+#define EC_WORD_DEEP (EC_GROUP_MISC << 9) | 0x23
+#define EC_WORD_SHALLOW (EC_GROUP_MISC << 9) | 0x24
+#define EC_WORD_WHY (EC_GROUP_MISC << 9) | 0x25
+#define EC_WORD_CONFUSED (EC_GROUP_MISC << 9) | 0x26
+#define EC_WORD_OPPOSITE (EC_GROUP_MISC << 9) | 0x27
+#define EC_WORD_LEFT (EC_GROUP_MISC << 9) | 0x28
+#define EC_WORD_RIGHT (EC_GROUP_MISC << 9) | 0x29
+
+// ADJECTIVES
+#define EC_WORD_WANDERING (EC_GROUP_ADJECTIVES << 9) | 0x0
+#define EC_WORD_RICKETY (EC_GROUP_ADJECTIVES << 9) | 0x1
+#define EC_WORD_ROCK_SOLID (EC_GROUP_ADJECTIVES << 9) | 0x2
+#define EC_WORD_HUNGRY (EC_GROUP_ADJECTIVES << 9) | 0x3
+#define EC_WORD_TIGHT (EC_GROUP_ADJECTIVES << 9) | 0x4
+#define EC_WORD_TICKLISH (EC_GROUP_ADJECTIVES << 9) | 0x5
+#define EC_WORD_TWIRLING (EC_GROUP_ADJECTIVES << 9) | 0x6
+#define EC_WORD_SPIRALING (EC_GROUP_ADJECTIVES << 9) | 0x7
+#define EC_WORD_THIRSTY (EC_GROUP_ADJECTIVES << 9) | 0x8
+#define EC_WORD_LOLLING (EC_GROUP_ADJECTIVES << 9) | 0x9
+#define EC_WORD_SILKY (EC_GROUP_ADJECTIVES << 9) | 0xa
+#define EC_WORD_SADLY (EC_GROUP_ADJECTIVES << 9) | 0xb
+#define EC_WORD_HOPELESS (EC_GROUP_ADJECTIVES << 9) | 0xc
+#define EC_WORD_USELESS (EC_GROUP_ADJECTIVES << 9) | 0xd
+#define EC_WORD_DROOLING (EC_GROUP_ADJECTIVES << 9) | 0xe
+#define EC_WORD_EXCITING (EC_GROUP_ADJECTIVES << 9) | 0xf
+#define EC_WORD_THICK (EC_GROUP_ADJECTIVES << 9) | 0x10
+#define EC_WORD_SMOOTH (EC_GROUP_ADJECTIVES << 9) | 0x11
+#define EC_WORD_SLIMY (EC_GROUP_ADJECTIVES << 9) | 0x12
+#define EC_WORD_THIN (EC_GROUP_ADJECTIVES << 9) | 0x13
+#define EC_WORD_BREAK (EC_GROUP_ADJECTIVES << 9) | 0x14
+#define EC_WORD_VORACIOUS (EC_GROUP_ADJECTIVES << 9) | 0x15
+#define EC_WORD_SCATTER (EC_GROUP_ADJECTIVES << 9) | 0x16
+#define EC_WORD_AWESOME (EC_GROUP_ADJECTIVES << 9) | 0x17
+#define EC_WORD_WIMPY (EC_GROUP_ADJECTIVES << 9) | 0x18
+#define EC_WORD_WOBBLY (EC_GROUP_ADJECTIVES << 9) | 0x19
+#define EC_WORD_SHAKY (EC_GROUP_ADJECTIVES << 9) | 0x1a
+#define EC_WORD_RIPPED (EC_GROUP_ADJECTIVES << 9) | 0x1b
+#define EC_WORD_SHREDDED (EC_GROUP_ADJECTIVES << 9) | 0x1c
+#define EC_WORD_INCREASING (EC_GROUP_ADJECTIVES << 9) | 0x1d
+#define EC_WORD_YET (EC_GROUP_ADJECTIVES << 9) | 0x1e
+#define EC_WORD_DESTROYED (EC_GROUP_ADJECTIVES << 9) | 0x1f
+#define EC_WORD_FIERY (EC_GROUP_ADJECTIVES << 9) | 0x20
+#define EC_WORD_LOVEY_DOVEY (EC_GROUP_ADJECTIVES << 9) | 0x21
+#define EC_WORD_HAPPILY (EC_GROUP_ADJECTIVES << 9) | 0x22
+#define EC_WORD_ANTICIPATION (EC_GROUP_ADJECTIVES << 9) | 0x23
+
+// EVENTS
+#define EC_WORD_APPEAL (EC_GROUP_EVENTS << 9) | 0x0
+#define EC_WORD_EVENTS (EC_GROUP_EVENTS << 9) | 0x1
+#define EC_WORD_STAY_AT_HOME (EC_GROUP_EVENTS << 9) | 0x2
+#define EC_WORD_BERRY (EC_GROUP_EVENTS << 9) | 0x3
+#define EC_WORD_CONTEST (EC_GROUP_EVENTS << 9) | 0x4
+#define EC_WORD_MC (EC_GROUP_EVENTS << 9) | 0x5
+#define EC_WORD_JUDGE (EC_GROUP_EVENTS << 9) | 0x6
+#define EC_WORD_SUPER (EC_GROUP_EVENTS << 9) | 0x7
+#define EC_WORD_STAGE (EC_GROUP_EVENTS << 9) | 0x8
+#define EC_WORD_HALL_OF_FAME (EC_GROUP_EVENTS << 9) | 0x9
+#define EC_WORD_EVOLUTION (EC_GROUP_EVENTS << 9) | 0xa
+#define EC_WORD_HYPER (EC_GROUP_EVENTS << 9) | 0xb
+#define EC_WORD_BATTLE_TOWER (EC_GROUP_EVENTS << 9) | 0xc
+#define EC_WORD_LEADERS (EC_GROUP_EVENTS << 9) | 0xd
+#define EC_WORD_BATTLE_ROOM (EC_GROUP_EVENTS << 9) | 0xe
+#define EC_WORD_HIDDEN (EC_GROUP_EVENTS << 9) | 0xf
+#define EC_WORD_SECRET_BASE (EC_GROUP_EVENTS << 9) | 0x10
+#define EC_WORD_BLEND (EC_GROUP_EVENTS << 9) | 0x11
+#define EC_WORD_POKEBLOCK (EC_GROUP_EVENTS << 9) | 0x12
+#define EC_WORD_MASTER (EC_GROUP_EVENTS << 9) | 0x13
+#define EC_WORD_RANK (EC_GROUP_EVENTS << 9) | 0x14
+#define EC_WORD_RIBBON (EC_GROUP_EVENTS << 9) | 0x15
+#define EC_WORD_CRUSH (EC_GROUP_EVENTS << 9) | 0x16
+#define EC_WORD_DIRECT (EC_GROUP_EVENTS << 9) | 0x17
+#define EC_WORD_TOWER (EC_GROUP_EVENTS << 9) | 0x18
+#define EC_WORD_UNION (EC_GROUP_EVENTS << 9) | 0x19
+#define EC_WORD_ROOM (EC_GROUP_EVENTS << 9) | 0x1a
+#define EC_WORD_WIRELESS (EC_GROUP_EVENTS << 9) | 0x1b
+#define EC_WORD_FRONTIER (EC_GROUP_EVENTS << 9) | 0x1c
+
+// TRENDY_SAYING
+#define EC_WORD_KTHX_BYE (EC_GROUP_TRENDY_SAYING << 9) | 0x0
+#define EC_WORD_YES_SIR_EXCL (EC_GROUP_TRENDY_SAYING << 9) | 0x1
+#define EC_WORD_AVANT_GARDE (EC_GROUP_TRENDY_SAYING << 9) | 0x2
+#define EC_WORD_COUPLE (EC_GROUP_TRENDY_SAYING << 9) | 0x3
+#define EC_WORD_MUCH_OBLIGED (EC_GROUP_TRENDY_SAYING << 9) | 0x4
+#define EC_WORD_YEEHAW_EXCL (EC_GROUP_TRENDY_SAYING << 9) | 0x5
+#define EC_WORD_MEGA (EC_GROUP_TRENDY_SAYING << 9) | 0x6
+#define EC_WORD_1_HIT_KO_EXCL (EC_GROUP_TRENDY_SAYING << 9) | 0x7
+#define EC_WORD_DESTINY (EC_GROUP_TRENDY_SAYING << 9) | 0x8
+#define EC_WORD_CANCEL (EC_GROUP_TRENDY_SAYING << 9) | 0x9
+#define EC_WORD_NEW (EC_GROUP_TRENDY_SAYING << 9) | 0xa
+#define EC_WORD_FLATTEN (EC_GROUP_TRENDY_SAYING << 9) | 0xb
+#define EC_WORD_KIDDING (EC_GROUP_TRENDY_SAYING << 9) | 0xc
+#define EC_WORD_LOSER (EC_GROUP_TRENDY_SAYING << 9) | 0xd
+#define EC_WORD_LOSING (EC_GROUP_TRENDY_SAYING << 9) | 0xe
+#define EC_WORD_HAPPENING (EC_GROUP_TRENDY_SAYING << 9) | 0xf
+#define EC_WORD_HIP_AND (EC_GROUP_TRENDY_SAYING << 9) | 0x10
+#define EC_WORD_SHAKE (EC_GROUP_TRENDY_SAYING << 9) | 0x11
+#define EC_WORD_SHADY (EC_GROUP_TRENDY_SAYING << 9) | 0x12
+#define EC_WORD_UPBEAT (EC_GROUP_TRENDY_SAYING << 9) | 0x13
+#define EC_WORD_MODERN (EC_GROUP_TRENDY_SAYING << 9) | 0x14
+#define EC_WORD_SMELL_YA (EC_GROUP_TRENDY_SAYING << 9) | 0x15
+#define EC_WORD_BANG (EC_GROUP_TRENDY_SAYING << 9) | 0x16
+#define EC_WORD_KNOCKOUT (EC_GROUP_TRENDY_SAYING << 9) | 0x17
+#define EC_WORD_HASSLE (EC_GROUP_TRENDY_SAYING << 9) | 0x18
+#define EC_WORD_WINNER (EC_GROUP_TRENDY_SAYING << 9) | 0x19
+#define EC_WORD_FEVER (EC_GROUP_TRENDY_SAYING << 9) | 0x1a
+#define EC_WORD_WANNABE (EC_GROUP_TRENDY_SAYING << 9) | 0x1b
+#define EC_WORD_BABY (EC_GROUP_TRENDY_SAYING << 9) | 0x1c
+#define EC_WORD_HEART (EC_GROUP_TRENDY_SAYING << 9) | 0x1d
+#define EC_WORD_OLD (EC_GROUP_TRENDY_SAYING << 9) | 0x1e
+#define EC_WORD_YOUNG (EC_GROUP_TRENDY_SAYING << 9) | 0x1f
+#define EC_WORD_UGLY (EC_GROUP_TRENDY_SAYING << 9) | 0x20
+
+#define EC_POKEMON(mon) ((EC_GROUP_POKEMON << 9) | SPECIES_##mon)
+#define EC_POKEMON2(mon) ((EC_GROUP_POKEMON_2 << 9) | SPECIES_##mon)
+#define EC_MOVE(move) ((EC_GROUP_MOVE_1 << 9) | MOVE_##move)
+#define EC_MOVE2(move) ((EC_GROUP_MOVE_2 << 9) | MOVE_##move)
+
+#define EC_GROUP(word) ((word) >> 9)
+#define EC_INDEX(word) ((word) & 0x1FF)
+
+#endif // GUARD_CONSTANTS_EASY_CHAT_H
diff --git a/include/constants/flags.h b/include/constants/flags.h
new file mode 100644
index 000000000..26d015c84
--- /dev/null
+++ b/include/constants/flags.h
@@ -0,0 +1,1578 @@
+#ifndef GUARD_CONSTANTS_FLAGS_H
+#define GUARD_CONSTANTS_FLAGS_H
+
+#define FLAG_0x001 0x1
+#define FLAG_0x002 0x2
+#define FLAG_0x003 0x3
+#define FLAG_0x004 0x4
+#define FLAG_0x005 0x5
+#define FLAG_0x006 0x6
+#define FLAG_0x007 0x7
+#define FLAG_0x008 0x8
+#define FLAG_0x009 0x9
+#define FLAG_0x00A 0xA
+#define FLAG_0x00B 0xB
+#define FLAG_0x00C 0xC
+#define FLAG_0x00D 0xD
+#define FLAG_0x00E 0xE
+#define FLAG_0x00F 0xF
+#define FLAG_0x010 0x10
+#define FLAG_0x011 0x11
+#define FLAG_0x012 0x12
+#define FLAG_0x013 0x13
+#define FLAG_0x014 0x14
+#define FLAG_0x015 0x15
+#define FLAG_0x016 0x16
+#define FLAG_0x017 0x17
+#define FLAG_0x018 0x18
+#define FLAG_0x019 0x19
+#define FLAG_0x01A 0x1A
+#define FLAG_0x01B 0x1B
+#define FLAG_0x01C 0x1C
+#define FLAG_0x01D 0x1D
+#define FLAG_0x01E 0x1E
+#define FLAG_0x01F 0x1F
+#define FLAG_0x020 0x20
+#define FLAG_0x021 0x21
+#define FLAG_0x022 0x22
+#define FLAG_0x023 0x23
+#define FLAG_0x024 0x24
+#define FLAG_0x025 0x25
+#define FLAG_0x026 0x26
+#define FLAG_0x027 0x27
+#define FLAG_0x028 0x28
+#define FLAG_0x029 0x29
+#define FLAG_0x02A 0x2A
+#define FLAG_0x02B 0x2B
+#define FLAG_0x02C 0x2C
+#define FLAG_0x02D 0x2D
+#define FLAG_0x02E 0x2E
+#define FLAG_0x02F 0x2F
+#define FLAG_0x030 0x30
+#define FLAG_0x031 0x31
+#define FLAG_0x032 0x32
+#define FLAG_0x033 0x33
+#define FLAG_0x034 0x34
+#define FLAG_0x035 0x35
+#define FLAG_0x036 0x36
+#define FLAG_0x037 0x37
+#define FLAG_0x038 0x38
+#define FLAG_0x039 0x39
+#define FLAG_0x03A 0x3A
+#define FLAG_0x03B 0x3B
+#define FLAG_0x03C 0x3C
+#define FLAG_0x03D 0x3D
+#define FLAG_0x03E 0x3E
+#define FLAG_0x03F 0x3F
+#define FLAG_0x040 0x40
+#define FLAG_0x041 0x41
+#define FLAG_0x042 0x42
+#define FLAG_0x043 0x43
+#define FLAG_0x044 0x44
+#define FLAG_0x045 0x45
+#define FLAG_0x046 0x46
+#define FLAG_0x047 0x47
+#define FLAG_0x048 0x48
+#define FLAG_0x049 0x49
+#define FLAG_0x04A 0x4A
+#define FLAG_0x04B 0x4B
+#define FLAG_0x04C 0x4C
+#define FLAG_0x04D 0x4D
+#define FLAG_0x04E 0x4E
+#define FLAG_0x04F 0x4F
+#define FLAG_0x050 0x50
+#define FLAG_0x051 0x51
+#define FLAG_0x052 0x52
+#define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53
+#define FLAG_0x054 0x54
+#define FLAG_0x055 0x55
+#define FLAG_0x056 0x56
+#define FLAG_0x057 0x57
+#define FLAG_0x058 0x58
+#define FLAG_0x059 0x59
+#define FLAG_0x05A 0x5A
+#define FLAG_0x05B 0x5B
+#define FLAG_0x05C 0x5C
+#define FLAG_0x05D 0x5D
+#define FLAG_0x05E 0x5E
+#define FLAG_0x05F 0x5F
+#define FLAG_0x060 0x60
+#define FLAG_0x061 0x61
+#define FLAG_0x062 0x62
+#define FLAG_0x063 0x63
+#define FLAG_0x064 0x64
+#define FLAG_0x065 0x65
+#define FLAG_0x066 0x66
+#define FLAG_0x067 0x67
+#define FLAG_0x068 0x68
+#define FLAG_0x069 0x69
+#define FLAG_0x06A 0x6A
+#define FLAG_0x06B 0x6B
+#define FLAG_0x06C 0x6C
+#define FLAG_0x06D 0x6D
+#define FLAG_0x06E 0x6E
+#define FLAG_0x06F 0x6F
+#define FLAG_0x070 0x70
+#define FLAG_0x071 0x71
+#define FLAG_0x072 0x72
+#define FLAG_0x073 0x73
+#define FLAG_0x074 0x74
+#define FLAG_0x075 0x75
+#define FLAG_0x076 0x76
+#define FLAG_0x077 0x77
+#define FLAG_0x078 0x78
+#define FLAG_0x079 0x79
+#define FLAG_0x07A 0x7A
+#define FLAG_0x07B 0x7B
+#define FLAG_0x07C 0x7C
+#define FLAG_0x07D 0x7D
+#define FLAG_0x07E 0x7E
+#define FLAG_0x07F 0x7F
+#define FLAG_0x080 0x80
+#define FLAG_0x081 0x81
+#define FLAG_0x082 0x82
+#define FLAG_0x083 0x83
+#define FLAG_0x084 0x84
+#define FLAG_0x085 0x85
+#define FLAG_PENDING_DAYCARE_EGG 0x86
+#define FLAG_0x087 0x87
+#define FLAG_0x088 0x88
+#define FLAG_0x089 0x89
+#define FLAG_0x08A 0x8A
+#define FLAG_0x08B 0x8B
+#define FLAG_0x08C 0x8C
+#define FLAG_0x08D 0x8D
+#define FLAG_0x08E 0x8E
+#define FLAG_0x08F 0x8F
+#define FLAG_0x090 0x90
+#define FLAG_0x091 0x91
+#define FLAG_0x092 0x92
+#define FLAG_0x093 0x93
+#define FLAG_0x094 0x94
+#define FLAG_0x095 0x95
+#define FLAG_0x096 0x96
+#define FLAG_0x097 0x97
+#define FLAG_0x098 0x98
+#define FLAG_0x099 0x99
+#define FLAG_0x09A 0x9A
+#define FLAG_0x09B 0x9B
+#define FLAG_0x09C 0x9C
+#define FLAG_0x09D 0x9D
+#define FLAG_0x09E 0x9E
+#define FLAG_0x09F 0x9F
+#define FLAG_0x0A0 0xA0
+#define FLAG_0x0A1 0xA1
+#define FLAG_0x0A2 0xA2
+#define FLAG_0x0A3 0xA3
+#define FLAG_0x0A4 0xA4
+#define FLAG_0x0A5 0xA5
+#define FLAG_0x0A6 0xA6
+#define FLAG_0x0A7 0xA7
+#define FLAG_0x0A8 0xA8
+#define FLAG_0x0A9 0xA9
+#define FLAG_0x0AA 0xAA
+#define FLAG_0x0AB 0xAB
+#define FLAG_0x0AC 0xAC
+#define FLAG_0x0AD 0xAD
+#define FLAG_0x0AE 0xAE
+#define FLAG_0x0AF 0xAF
+#define FLAG_0x0B0 0xB0
+#define FLAG_0x0B1 0xB1
+#define FLAG_0x0B2 0xB2
+#define FLAG_0x0B3 0xB3
+#define FLAG_0x0B4 0xB4
+#define FLAG_0x0B5 0xB5
+#define FLAG_0x0B6 0xB6
+#define FLAG_0x0B7 0xB7
+#define FLAG_0x0B8 0xB8
+#define FLAG_0x0B9 0xB9
+#define FLAG_0x0BA 0xBA
+#define FLAG_0x0BB 0xBB
+#define FLAG_0x0BC 0xBC
+#define FLAG_0x0BD 0xBD
+#define FLAG_0x0BE 0xBE
+#define FLAG_0x0BF 0xBF
+#define FLAG_0x0C0 0xC0
+#define FLAG_0x0C1 0xC1
+#define FLAG_0x0C2 0xC2
+#define FLAG_0x0C3 0xC3
+#define FLAG_0x0C4 0xC4
+#define FLAG_0x0C5 0xC5
+#define FLAG_0x0C6 0xC6
+#define FLAG_0x0C7 0xC7
+#define FLAG_0x0C8 0xC8
+#define FLAG_0x0C9 0xC9
+#define FLAG_0x0CA 0xCA
+#define FLAG_0x0CB 0xCB
+#define FLAG_0x0CC 0xCC
+#define FLAG_0x0CD 0xCD
+#define FLAG_0x0CE 0xCE
+#define FLAG_0x0CF 0xCF
+#define FLAG_0x0D0 0xD0
+#define FLAG_0x0D1 0xD1
+#define FLAG_0x0D2 0xD2
+#define FLAG_0x0D3 0xD3
+#define FLAG_0x0D4 0xD4
+#define FLAG_0x0D5 0xD5
+#define FLAG_0x0D6 0xD6
+#define FLAG_0x0D7 0xD7
+#define FLAG_0x0D8 0xD8
+#define FLAG_0x0D9 0xD9
+#define FLAG_0x0DA 0xDA
+#define FLAG_0x0DB 0xDB
+#define FLAG_0x0DC 0xDC
+#define FLAG_0x0DD 0xDD
+#define FLAG_0x0DE 0xDE
+#define FLAG_0x0DF 0xDF
+#define FLAG_0x0E0 0xE0
+#define FLAG_0x0E1 0xE1
+#define FLAG_0x0E2 0xE2
+#define FLAG_0x0E3 0xE3
+#define FLAG_0x0E4 0xE4
+#define FLAG_0x0E5 0xE5
+#define FLAG_0x0E6 0xE6
+#define FLAG_0x0E7 0xE7
+#define FLAG_0x0E8 0xE8
+#define FLAG_0x0E9 0xE9
+#define FLAG_0x0EA 0xEA
+#define FLAG_0x0EB 0xEB
+#define FLAG_0x0EC 0xEC
+#define FLAG_0x0ED 0xED
+#define FLAG_0x0EE 0xEE
+#define FLAG_0x0EF 0xEF
+#define FLAG_0x0F0 0xF0
+#define FLAG_0x0F1 0xF1
+#define FLAG_0x0F2 0xF2
+#define FLAG_0x0F3 0xF3
+#define FLAG_0x0F4 0xF4
+#define FLAG_0x0F5 0xF5
+#define FLAG_0x0F6 0xF6
+#define FLAG_0x0F7 0xF7
+#define FLAG_0x0F8 0xF8
+#define FLAG_0x0F9 0xF9
+#define FLAG_0x0FA 0xFA
+#define FLAG_0x0FB 0xFB
+#define FLAG_0x0FC 0xFC
+#define FLAG_0x0FD 0xFD
+#define FLAG_0x0FE 0xFE
+#define FLAG_0x0FF 0xFF
+#define FLAG_0x100 0x100
+#define FLAG_0x101 0x101
+#define FLAG_0x102 0x102
+#define FLAG_0x103 0x103
+#define FLAG_0x104 0x104
+#define FLAG_0x105 0x105
+#define FLAG_0x106 0x106
+#define FLAG_0x107 0x107
+#define FLAG_0x108 0x108
+#define FLAG_0x109 0x109
+#define FLAG_0x10A 0x10A
+#define FLAG_0x10B 0x10B
+#define FLAG_0x10C 0x10C
+#define FLAG_0x10D 0x10D
+#define FLAG_0x10E 0x10E
+#define FLAG_0x10F 0x10F
+#define FLAG_0x110 0x110
+#define FLAG_0x111 0x111
+#define FLAG_0x112 0x112
+#define FLAG_0x113 0x113
+#define FLAG_0x114 0x114
+#define FLAG_0x115 0x115
+#define FLAG_0x116 0x116
+#define FLAG_0x117 0x117
+#define FLAG_0x118 0x118
+#define FLAG_0x119 0x119
+#define FLAG_0x11A 0x11A
+#define FLAG_0x11B 0x11B
+#define FLAG_0x11C 0x11C
+#define FLAG_0x11D 0x11D
+#define FLAG_0x11E 0x11E
+#define FLAG_0x11F 0x11F
+#define FLAG_0x120 0x120
+#define FLAG_0x121 0x121
+#define FLAG_0x122 0x122
+#define FLAG_0x123 0x123
+#define FLAG_0x124 0x124
+#define FLAG_0x125 0x125
+#define FLAG_0x126 0x126
+#define FLAG_0x127 0x127
+#define FLAG_0x128 0x128
+#define FLAG_0x129 0x129
+#define FLAG_0x12A 0x12A
+#define FLAG_0x12B 0x12B
+#define FLAG_0x12C 0x12C
+#define FLAG_0x12D 0x12D
+#define FLAG_0x12E 0x12E
+#define FLAG_HAS_MATCH_CALL 0x12F
+#define FLAG_0x130 0x130
+#define FLAG_0x131 0x131
+#define FLAG_0x132 0x132
+#define FLAG_0x133 0x133
+#define FLAG_0x134 0x134
+#define FLAG_0x135 0x135
+#define FLAG_0x136 0x136
+#define FLAG_0x137 0x137
+#define FLAG_0x138 0x138
+#define FLAG_0x139 0x139
+#define FLAG_0x13A 0x13A
+#define FLAG_0x13B 0x13B
+#define FLAG_0x13C 0x13C
+#define FLAG_0x13D 0x13D
+#define FLAG_0x13E 0x13E
+#define FLAG_0x13F 0x13F
+#define FLAG_0x140 0x140
+#define FLAG_0x141 0x141
+#define FLAG_0x142 0x142
+#define FLAG_0x143 0x143
+#define FLAG_0x144 0x144
+#define FLAG_0x145 0x145
+#define FLAG_0x146 0x146
+#define FLAG_0x147 0x147
+#define FLAG_0x148 0x148
+#define FLAG_0x149 0x149
+#define FLAG_0x14A 0x14A
+#define FLAG_0x14B 0x14B
+#define FLAG_0x14C 0x14C
+#define FLAG_0x14D 0x14D
+#define FLAG_0x14E 0x14E
+#define FLAG_0x14F 0x14F
+#define FLAG_0x150 0x150
+#define FLAG_0x151 0x151
+#define FLAG_0x152 0x152
+#define FLAG_0x153 0x153
+#define FLAG_0x154 0x154
+#define FLAG_0x155 0x155
+#define FLAG_0x156 0x156
+#define FLAG_0x157 0x157
+#define FLAG_0x158 0x158
+#define FLAG_0x159 0x159
+#define FLAG_0x15A 0x15A
+#define FLAG_0x15B 0x15B
+#define FLAG_MATCH_CALL_REGISTERED 0x15C
+#define FLAG_0x15D 0x15D
+#define FLAG_0x15E 0x15E
+#define FLAG_0x15F 0x15F
+#define FLAG_0x160 0x160
+#define FLAG_0x161 0x161
+#define FLAG_0x162 0x162
+#define FLAG_0x163 0x163
+#define FLAG_0x164 0x164
+#define FLAG_0x165 0x165
+#define FLAG_0x166 0x166
+#define FLAG_0x167 0x167
+#define FLAG_0x168 0x168
+#define FLAG_0x169 0x169
+#define FLAG_0x16A 0x16A
+#define FLAG_0x16B 0x16B
+#define FLAG_0x16C 0x16C
+#define FLAG_0x16D 0x16D
+#define FLAG_0x16E 0x16E
+#define FLAG_0x16F 0x16F
+#define FLAG_0x170 0x170
+#define FLAG_0x171 0x171
+#define FLAG_0x172 0x172
+#define FLAG_0x173 0x173
+#define FLAG_0x174 0x174
+#define FLAG_0x175 0x175
+#define FLAG_0x176 0x176
+#define FLAG_0x177 0x177
+#define FLAG_0x178 0x178
+#define FLAG_0x179 0x179
+#define FLAG_0x17A 0x17A
+#define FLAG_0x17B 0x17B
+#define FLAG_0x17C 0x17C
+#define FLAG_0x17D 0x17D
+#define FLAG_0x17E 0x17E
+#define FLAG_0x17F 0x17F
+#define FLAG_0x180 0x180
+#define FLAG_0x181 0x181
+#define FLAG_0x182 0x182
+#define FLAG_0x183 0x183
+#define FLAG_0x184 0x184
+#define FLAG_0x185 0x185
+#define FLAG_0x186 0x186
+#define FLAG_0x187 0x187
+#define FLAG_0x188 0x188
+#define FLAG_0x189 0x189
+#define FLAG_0x18A 0x18A
+#define FLAG_0x18B 0x18B
+#define FLAG_0x18C 0x18C
+#define FLAG_0x18D 0x18D
+#define FLAG_0x18E 0x18E
+#define FLAG_0x18F 0x18F
+#define FLAG_0x190 0x190
+#define FLAG_0x191 0x191
+#define FLAG_0x192 0x192
+#define FLAG_0x193 0x193
+#define FLAG_0x194 0x194
+#define FLAG_0x195 0x195
+#define FLAG_0x196 0x196
+#define FLAG_0x197 0x197
+#define FLAG_0x198 0x198
+#define FLAG_0x199 0x199
+#define FLAG_0x19A 0x19A
+#define FLAG_0x19B 0x19B
+#define FLAG_0x19C 0x19C
+#define FLAG_0x19D 0x19D
+#define FLAG_0x19E 0x19E
+#define FLAG_0x19F 0x19F
+#define FLAG_0x1A0 0x1A0
+#define FLAG_0x1A1 0x1A1
+#define FLAG_0x1A2 0x1A2
+#define FLAG_0x1A3 0x1A3
+#define FLAG_0x1A4 0x1A4
+#define FLAG_0x1A5 0x1A5
+#define FLAG_0x1A6 0x1A6
+#define FLAG_0x1A7 0x1A7
+#define FLAG_0x1A8 0x1A8
+#define FLAG_0x1A9 0x1A9
+#define FLAG_0x1AA 0x1AA
+#define FLAG_0x1AB 0x1AB
+#define FLAG_0x1AC 0x1AC
+#define FLAG_0x1AD 0x1AD
+#define FLAG_0x1AE 0x1AE
+#define FLAG_0x1AF 0x1AF
+#define FLAG_0x1B0 0x1B0
+#define FLAG_0x1B1 0x1B1
+#define FLAG_0x1B2 0x1B2
+#define FLAG_0x1B3 0x1B3
+#define FLAG_0x1B4 0x1B4
+#define FLAG_0x1B5 0x1B5
+#define FLAG_0x1B6 0x1B6
+#define FLAG_0x1B7 0x1B7
+#define FLAG_0x1B8 0x1B8
+#define FLAG_0x1B9 0x1B9
+#define FLAG_0x1BA 0x1BA
+#define FLAG_0x1BB 0x1BB
+#define FLAG_0x1BC 0x1BC
+#define FLAG_0x1BD 0x1BD
+#define FLAG_0x1BE 0x1BE
+#define FLAG_0x1BF 0x1BF
+#define FLAG_0x1C0 0x1C0
+#define FLAG_0x1C1 0x1C1
+#define FLAG_0x1C2 0x1C2
+#define FLAG_0x1C3 0x1C3
+#define FLAG_0x1C4 0x1C4
+#define FLAG_0x1C5 0x1C5
+#define FLAG_0x1C6 0x1C6
+#define FLAG_0x1C7 0x1C7
+#define FLAG_0x1C8 0x1C8
+#define FLAG_0x1C9 0x1C9
+#define FLAG_0x1CA 0x1CA
+#define FLAG_0x1CB 0x1CB
+#define FLAG_0x1CC 0x1CC
+#define FLAG_0x1CD 0x1CD
+#define FLAG_0x1CE 0x1CE
+#define FLAG_0x1CF 0x1CF
+#define FLAG_0x1D0 0x1D0
+#define FLAG_0x1D1 0x1D1
+#define FLAG_0x1D2 0x1D2
+#define FLAG_0x1D3 0x1D3
+#define FLAG_0x1D4 0x1D4
+#define FLAG_0x1D5 0x1D5
+#define FLAG_0x1D6 0x1D6
+#define FLAG_0x1D7 0x1D7
+#define FLAG_0x1D8 0x1D8
+#define FLAG_0x1D9 0x1D9
+#define FLAG_0x1DA 0x1DA
+#define FLAG_0x1DB 0x1DB
+#define FLAG_0x1DC 0x1DC
+#define FLAG_0x1DD 0x1DD
+#define FLAG_0x1DE 0x1DE
+#define FLAG_0x1DF 0x1DF
+#define FLAG_0x1E0 0x1E0
+#define FLAG_0x1E1 0x1E1
+#define FLAG_0x1E2 0x1E2
+#define FLAG_0x1E3 0x1E3
+#define FLAG_0x1E4 0x1E4
+#define FLAG_0x1E5 0x1E5
+#define FLAG_0x1E6 0x1E6
+#define FLAG_0x1E7 0x1E7
+#define FLAG_0x1E8 0x1E8
+#define FLAG_0x1E9 0x1E9
+#define FLAG_0x1EA 0x1EA
+#define FLAG_0x1EB 0x1EB
+#define FLAG_0x1EC 0x1EC
+#define FLAG_0x1ED 0x1ED
+#define FLAG_0x1EE 0x1EE
+#define FLAG_0x1EF 0x1EF
+#define FLAG_0x1F0 0x1F0
+#define FLAG_0x1F1 0x1F1
+#define FLAG_0x1F2 0x1F2
+#define FLAG_0x1F3 0x1F3
+#define FLAG_0x1F4 0x1F4
+#define FLAG_0x1F5 0x1F5
+#define FLAG_0x1F6 0x1F6
+#define FLAG_0x1F7 0x1F7
+#define FLAG_0x1F8 0x1F8
+#define FLAG_0x1F9 0x1F9
+#define FLAG_0x1FA 0x1FA
+#define FLAG_0x1FB 0x1FB
+#define FLAG_0x1FC 0x1FC
+#define FLAG_0x1FD 0x1FD
+#define FLAG_0x1FE 0x1FE
+#define FLAG_0x1FF 0x1FF
+#define FLAG_0x200 0x200
+#define FLAG_0x201 0x201
+#define FLAG_0x202 0x202
+#define FLAG_0x203 0x203
+#define FLAG_0x204 0x204
+#define FLAG_0x205 0x205
+#define FLAG_0x206 0x206
+#define FLAG_0x207 0x207
+#define FLAG_0x208 0x208
+#define FLAG_0x209 0x209
+#define FLAG_0x20A 0x20A
+#define FLAG_0x20B 0x20B
+#define FLAG_0x20C 0x20C
+#define FLAG_0x20D 0x20D
+#define FLAG_0x20E 0x20E
+#define FLAG_0x20F 0x20F
+#define FLAG_0x210 0x210
+#define FLAG_0x211 0x211
+#define FLAG_0x212 0x212
+#define FLAG_0x213 0x213
+#define FLAG_0x214 0x214
+#define FLAG_0x215 0x215
+#define FLAG_0x216 0x216
+#define FLAG_0x217 0x217
+#define FLAG_0x218 0x218
+#define FLAG_0x219 0x219
+#define FLAG_0x21A 0x21A
+#define FLAG_0x21B 0x21B
+#define FLAG_0x21C 0x21C
+#define FLAG_0x21D 0x21D
+#define FLAG_0x21E 0x21E
+#define FLAG_0x21F 0x21F
+#define FLAG_0x220 0x220
+#define FLAG_0x221 0x221
+#define FLAG_0x222 0x222
+#define FLAG_0x223 0x223
+#define FLAG_0x224 0x224
+#define FLAG_0x225 0x225
+#define FLAG_0x226 0x226
+#define FLAG_0x227 0x227
+#define FLAG_0x228 0x228
+#define FLAG_0x229 0x229
+#define FLAG_0x22A 0x22A
+#define FLAG_0x22B 0x22B
+#define FLAG_0x22C 0x22C
+#define FLAG_0x22D 0x22D
+#define FLAG_0x22E 0x22E
+#define FLAG_0x22F 0x22F
+#define FLAG_0x230 0x230
+#define FLAG_0x231 0x231
+#define FLAG_0x232 0x232
+#define FLAG_0x233 0x233
+#define FLAG_0x234 0x234
+#define FLAG_0x235 0x235
+#define FLAG_0x236 0x236
+#define FLAG_0x237 0x237
+#define FLAG_0x238 0x238
+#define FLAG_0x239 0x239
+#define FLAG_0x23A 0x23A
+#define FLAG_0x23B 0x23B
+#define FLAG_0x23C 0x23C
+#define FLAG_0x23D 0x23D
+#define FLAG_0x23E 0x23E
+#define FLAG_0x23F 0x23F
+#define FLAG_0x240 0x240
+#define FLAG_0x241 0x241
+#define FLAG_0x242 0x242
+#define FLAG_0x243 0x243
+#define FLAG_0x244 0x244
+#define FLAG_0x245 0x245
+#define FLAG_0x246 0x246
+#define FLAG_0x247 0x247
+#define FLAG_0x248 0x248
+#define FLAG_0x249 0x249
+#define FLAG_0x24A 0x24A
+#define FLAG_0x24B 0x24B
+#define FLAG_0x24C 0x24C
+#define FLAG_0x24D 0x24D
+#define FLAG_0x24E 0x24E
+#define FLAG_0x24F 0x24F
+#define FLAG_0x250 0x250
+#define FLAG_0x251 0x251
+#define FLAG_0x252 0x252
+#define FLAG_0x253 0x253
+#define FLAG_0x254 0x254
+#define FLAG_0x255 0x255
+#define FLAG_0x256 0x256
+#define FLAG_0x257 0x257
+#define FLAG_0x258 0x258
+#define FLAG_0x259 0x259
+#define FLAG_0x25A 0x25A
+#define FLAG_0x25B 0x25B
+#define FLAG_0x25C 0x25C
+#define FLAG_0x25D 0x25D
+#define FLAG_0x25E 0x25E
+#define FLAG_0x25F 0x25F
+#define FLAG_0x260 0x260
+#define FLAG_0x261 0x261
+#define FLAG_0x262 0x262
+#define FLAG_0x263 0x263
+#define FLAG_0x264 0x264
+#define FLAG_0x265 0x265
+#define FLAG_0x266 0x266
+#define FLAG_0x267 0x267
+#define FLAG_0x268 0x268
+#define FLAG_0x269 0x269
+#define FLAG_0x26A 0x26A
+#define FLAG_0x26B 0x26B
+#define FLAG_0x26C 0x26C
+#define FLAG_0x26D 0x26D
+#define FLAG_0x26E 0x26E
+#define FLAG_0x26F 0x26F
+#define FLAG_0x270 0x270
+#define FLAG_0x271 0x271
+#define FLAG_0x272 0x272
+#define FLAG_0x273 0x273
+#define FLAG_0x274 0x274
+#define FLAG_0x275 0x275
+#define FLAG_0x276 0x276
+#define FLAG_0x277 0x277
+#define FLAG_0x278 0x278
+#define FLAG_0x279 0x279
+#define FLAG_0x27A 0x27A
+#define FLAG_0x27B 0x27B
+#define FLAG_0x27C 0x27C
+#define FLAG_0x27D 0x27D
+#define FLAG_0x27E 0x27E
+#define FLAG_0x27F 0x27F
+#define FLAG_0x280 0x280
+#define FLAG_0x281 0x281
+#define FLAG_0x282 0x282
+#define FLAG_0x283 0x283
+#define FLAG_0x284 0x284
+#define FLAG_0x285 0x285
+#define FLAG_0x286 0x286
+#define FLAG_0x287 0x287
+#define FLAG_0x288 0x288
+#define FLAG_0x289 0x289
+#define FLAG_0x28A 0x28A
+#define FLAG_0x28B 0x28B
+#define FLAG_0x28C 0x28C
+#define FLAG_0x28D 0x28D
+#define FLAG_0x28E 0x28E
+#define FLAG_0x28F 0x28F
+#define FLAG_0x290 0x290
+#define FLAG_0x291 0x291
+#define FLAG_0x292 0x292
+#define FLAG_0x293 0x293
+#define FLAG_0x294 0x294
+#define FLAG_0x295 0x295
+#define FLAG_0x296 0x296
+#define FLAG_0x297 0x297
+#define FLAG_0x298 0x298
+#define FLAG_0x299 0x299
+#define FLAG_0x29A 0x29A
+#define FLAG_0x29B 0x29B
+#define FLAG_0x29C 0x29C
+#define FLAG_0x29D 0x29D
+#define FLAG_0x29E 0x29E
+#define FLAG_0x29F 0x29F
+#define FLAG_0x2A0 0x2A0
+#define FLAG_0x2A1 0x2A1
+#define FLAG_0x2A2 0x2A2
+#define FLAG_0x2A3 0x2A3
+#define FLAG_0x2A4 0x2A4
+#define FLAG_0x2A5 0x2A5
+#define FLAG_0x2A6 0x2A6
+#define FLAG_0x2A7 0x2A7
+#define FLAG_0x2A8 0x2A8
+#define FLAG_0x2A9 0x2A9
+#define FLAG_0x2AA 0x2AA
+#define FLAG_0x2AB 0x2AB
+#define FLAG_0x2AC 0x2AC
+#define FLAG_0x2AD 0x2AD
+#define FLAG_0x2AE 0x2AE
+#define FLAG_0x2AF 0x2AF
+#define FLAG_0x2B0 0x2B0
+#define FLAG_0x2B1 0x2B1
+#define FLAG_0x2B2 0x2B2
+#define FLAG_0x2B3 0x2B3
+#define FLAG_0x2B4 0x2B4
+#define FLAG_0x2B5 0x2B5
+#define FLAG_0x2B6 0x2B6
+#define FLAG_0x2B7 0x2B7
+#define FLAG_0x2B8 0x2B8
+#define FLAG_0x2B9 0x2B9
+#define FLAG_0x2BA 0x2BA
+#define FLAG_0x2BB 0x2BB
+#define FLAG_0x2BC 0x2BC
+#define FLAG_0x2BD 0x2BD
+#define FLAG_0x2BE 0x2BE
+#define FLAG_0x2BF 0x2BF
+#define FLAG_0x2C0 0x2C0
+#define FLAG_0x2C1 0x2C1
+#define FLAG_0x2C2 0x2C2
+#define FLAG_0x2C3 0x2C3
+#define FLAG_0x2C4 0x2C4
+#define FLAG_0x2C5 0x2C5
+#define FLAG_0x2C6 0x2C6
+#define FLAG_0x2C7 0x2C7
+#define FLAG_0x2C8 0x2C8
+#define FLAG_0x2C9 0x2C9
+#define FLAG_0x2CA 0x2CA
+#define FLAG_0x2CB 0x2CB
+#define FLAG_0x2CC 0x2CC
+#define FLAG_0x2CD 0x2CD
+#define FLAG_0x2CE 0x2CE
+#define FLAG_0x2CF 0x2CF
+#define FLAG_0x2D0 0x2D0
+#define FLAG_0x2D1 0x2D1
+#define FLAG_0x2D2 0x2D2
+#define FLAG_0x2D3 0x2D3
+#define FLAG_0x2D4 0x2D4
+#define FLAG_0x2D5 0x2D5
+#define FLAG_0x2D6 0x2D6
+#define FLAG_0x2D7 0x2D7
+#define FLAG_0x2D8 0x2D8
+#define FLAG_0x2D9 0x2D9
+#define FLAG_0x2DA 0x2DA
+#define FLAG_0x2DB 0x2DB
+#define FLAG_0x2DC 0x2DC
+#define FLAG_0x2DD 0x2DD
+#define FLAG_0x2DE 0x2DE
+#define FLAG_0x2DF 0x2DF
+#define FLAG_0x2E0 0x2E0
+#define FLAG_0x2E1 0x2E1
+#define FLAG_0x2E2 0x2E2
+#define FLAG_0x2E3 0x2E3
+#define FLAG_0x2E4 0x2E4
+#define FLAG_0x2E5 0x2E5
+#define FLAG_0x2E6 0x2E6
+#define FLAG_0x2E7 0x2E7
+#define FLAG_0x2E8 0x2E8
+#define FLAG_0x2E9 0x2E9
+#define FLAG_0x2EA 0x2EA
+#define FLAG_0x2EB 0x2EB
+#define FLAG_0x2EC 0x2EC
+#define FLAG_0x2ED 0x2ED
+#define FLAG_0x2EE 0x2EE
+#define FLAG_0x2EF 0x2EF
+#define FLAG_0x2F0 0x2F0
+#define FLAG_0x2F1 0x2F1
+#define FLAG_0x2F2 0x2F2
+#define FLAG_0x2F3 0x2F3
+#define FLAG_0x2F4 0x2F4
+#define FLAG_0x2F5 0x2F5
+#define FLAG_0x2F6 0x2F6
+#define FLAG_0x2F7 0x2F7
+#define FLAG_0x2F8 0x2F8
+#define FLAG_0x2F9 0x2F9
+#define FLAG_0x2FA 0x2FA
+#define FLAG_0x2FB 0x2FB
+#define FLAG_0x2FC 0x2FC
+#define FLAG_0x2FD 0x2FD
+#define FLAG_0x2FE 0x2FE
+#define FLAG_0x2FF 0x2FF
+#define FLAG_0x300 0x300
+#define FLAG_0x301 0x301
+#define FLAG_0x302 0x302
+#define FLAG_0x303 0x303
+#define FLAG_0x304 0x304
+#define FLAG_0x305 0x305
+#define FLAG_0x306 0x306
+#define FLAG_0x307 0x307
+#define FLAG_0x308 0x308
+#define FLAG_0x309 0x309
+#define FLAG_0x30A 0x30A
+#define FLAG_0x30B 0x30B
+#define FLAG_0x30C 0x30C
+#define FLAG_0x30D 0x30D
+#define FLAG_0x30E 0x30E
+#define FLAG_0x30F 0x30F
+#define FLAG_0x310 0x310
+#define FLAG_0x311 0x311
+#define FLAG_0x312 0x312
+#define FLAG_0x313 0x313
+#define FLAG_0x314 0x314
+#define FLAG_0x315 0x315
+#define FLAG_0x316 0x316
+#define FLAG_0x317 0x317
+#define FLAG_0x318 0x318
+#define FLAG_0x319 0x319
+#define FLAG_0x31A 0x31A
+#define FLAG_0x31B 0x31B
+#define FLAG_0x31C 0x31C
+#define FLAG_0x31D 0x31D
+#define FLAG_0x31E 0x31E
+#define FLAG_0x31F 0x31F
+#define FLAG_0x320 0x320
+#define FLAG_0x321 0x321
+#define FLAG_0x322 0x322
+#define FLAG_0x323 0x323
+#define FLAG_0x324 0x324
+#define FLAG_0x325 0x325
+#define FLAG_0x326 0x326
+#define FLAG_0x327 0x327
+#define FLAG_0x328 0x328
+#define FLAG_0x329 0x329
+#define FLAG_0x32A 0x32A
+#define FLAG_0x32B 0x32B
+#define FLAG_0x32C 0x32C
+#define FLAG_0x32D 0x32D
+#define FLAG_0x32E 0x32E
+#define FLAG_0x32F 0x32F
+#define FLAG_0x330 0x330
+#define FLAG_0x331 0x331
+#define FLAG_0x332 0x332
+#define FLAG_0x333 0x333
+#define FLAG_0x334 0x334
+#define FLAG_0x335 0x335
+#define FLAG_0x336 0x336
+#define FLAG_0x337 0x337
+#define FLAG_0x338 0x338
+#define FLAG_0x339 0x339
+#define FLAG_0x33A 0x33A
+#define FLAG_0x33B 0x33B
+#define FLAG_0x33C 0x33C
+#define FLAG_0x33D 0x33D
+#define FLAG_0x33E 0x33E
+#define FLAG_0x33F 0x33F
+#define FLAG_0x340 0x340
+#define FLAG_0x341 0x341
+#define FLAG_0x342 0x342
+#define FLAG_0x343 0x343
+#define FLAG_0x344 0x344
+#define FLAG_0x345 0x345
+#define FLAG_0x346 0x346
+#define FLAG_0x347 0x347
+#define FLAG_0x348 0x348
+#define FLAG_0x349 0x349
+#define FLAG_0x34A 0x34A
+#define FLAG_0x34B 0x34B
+#define FLAG_0x34C 0x34C
+#define FLAG_0x34D 0x34D
+#define FLAG_0x34E 0x34E
+#define FLAG_0x34F 0x34F
+#define FLAG_0x350 0x350
+#define FLAG_0x351 0x351
+#define FLAG_0x352 0x352
+#define FLAG_0x353 0x353
+#define FLAG_0x354 0x354
+#define FLAG_0x355 0x355
+#define FLAG_0x356 0x356
+#define FLAG_0x357 0x357
+#define FLAG_0x358 0x358
+#define FLAG_0x359 0x359
+#define FLAG_0x35A 0x35A
+#define FLAG_0x35B 0x35B
+#define FLAG_0x35C 0x35C
+#define FLAG_0x35D 0x35D
+#define FLAG_0x35E 0x35E
+#define FLAG_0x35F 0x35F
+#define FLAG_0x360 0x360
+#define FLAG_0x361 0x361
+#define FLAG_0x362 0x362
+#define FLAG_0x363 0x363
+#define FLAG_0x364 0x364
+#define FLAG_0x365 0x365
+#define FLAG_0x366 0x366
+#define FLAG_0x367 0x367
+#define FLAG_0x368 0x368
+#define FLAG_0x369 0x369
+#define FLAG_0x36A 0x36A
+#define FLAG_0x36B 0x36B
+#define FLAG_0x36C 0x36C
+#define FLAG_0x36D 0x36D
+#define FLAG_0x36E 0x36E
+#define FLAG_0x36F 0x36F
+#define FLAG_0x370 0x370
+#define FLAG_0x371 0x371
+#define FLAG_0x372 0x372
+#define FLAG_0x373 0x373
+#define FLAG_0x374 0x374
+#define FLAG_0x375 0x375
+#define FLAG_0x376 0x376
+#define FLAG_0x377 0x377
+#define FLAG_0x378 0x378
+#define FLAG_0x379 0x379
+#define FLAG_0x37A 0x37A
+#define FLAG_0x37B 0x37B
+#define FLAG_0x37C 0x37C
+#define FLAG_0x37D 0x37D
+#define FLAG_0x37E 0x37E
+#define FLAG_0x37F 0x37F
+#define FLAG_0x380 0x380
+#define FLAG_0x381 0x381
+#define FLAG_0x382 0x382
+#define FLAG_0x383 0x383
+#define FLAG_0x384 0x384
+#define FLAG_0x385 0x385
+#define FLAG_0x386 0x386
+#define FLAG_0x387 0x387
+#define FLAG_0x388 0x388
+#define FLAG_0x389 0x389
+#define FLAG_0x38A 0x38A
+#define FLAG_0x38B 0x38B
+#define FLAG_0x38C 0x38C
+#define FLAG_0x38D 0x38D
+#define FLAG_0x38E 0x38E
+#define FLAG_0x38F 0x38F
+#define FLAG_0x390 0x390
+#define FLAG_0x391 0x391
+#define FLAG_0x392 0x392
+#define FLAG_0x393 0x393
+#define FLAG_0x394 0x394
+#define FLAG_0x395 0x395
+#define FLAG_0x396 0x396
+#define FLAG_0x397 0x397
+#define FLAG_0x398 0x398
+#define FLAG_0x399 0x399
+#define FLAG_0x39A 0x39A
+#define FLAG_0x39B 0x39B
+#define FLAG_0x39C 0x39C
+#define FLAG_0x39D 0x39D
+#define FLAG_0x39E 0x39E
+#define FLAG_0x39F 0x39F
+#define FLAG_0x3A0 0x3A0
+#define FLAG_0x3A1 0x3A1
+#define FLAG_0x3A2 0x3A2
+#define FLAG_0x3A3 0x3A3
+#define FLAG_0x3A4 0x3A4
+#define FLAG_0x3A5 0x3A5
+#define FLAG_0x3A6 0x3A6
+#define FLAG_0x3A7 0x3A7
+#define FLAG_0x3A8 0x3A8
+#define FLAG_0x3A9 0x3A9
+#define FLAG_0x3AA 0x3AA
+#define FLAG_0x3AB 0x3AB
+#define FLAG_0x3AC 0x3AC
+#define FLAG_0x3AD 0x3AD
+#define FLAG_0x3AE 0x3AE
+#define FLAG_0x3AF 0x3AF
+#define FLAG_0x3B0 0x3B0
+#define FLAG_0x3B1 0x3B1
+#define FLAG_0x3B2 0x3B2
+#define FLAG_0x3B3 0x3B3
+#define FLAG_0x3B4 0x3B4
+#define FLAG_0x3B5 0x3B5
+#define FLAG_0x3B6 0x3B6
+#define FLAG_0x3B7 0x3B7
+#define FLAG_0x3B8 0x3B8
+#define FLAG_0x3B9 0x3B9
+#define FLAG_0x3BA 0x3BA
+#define FLAG_0x3BB 0x3BB
+#define FLAG_0x3BC 0x3BC
+#define FLAG_0x3BD 0x3BD
+#define FLAG_0x3BE 0x3BE
+#define FLAG_0x3BF 0x3BF
+#define FLAG_0x3C0 0x3C0
+#define FLAG_0x3C1 0x3C1
+#define FLAG_0x3C2 0x3C2
+#define FLAG_0x3C3 0x3C3
+#define FLAG_0x3C4 0x3C4
+#define FLAG_0x3C5 0x3C5
+#define FLAG_0x3C6 0x3C6
+#define FLAG_0x3C7 0x3C7
+#define FLAG_0x3C8 0x3C8
+#define FLAG_0x3C9 0x3C9
+#define FLAG_0x3CA 0x3CA
+#define FLAG_0x3CB 0x3CB
+#define FLAG_0x3CC 0x3CC
+#define FLAG_0x3CD 0x3CD
+#define FLAG_0x3CE 0x3CE
+#define FLAG_0x3CF 0x3CF
+#define FLAG_0x3D0 0x3D0
+#define FLAG_0x3D1 0x3D1
+#define FLAG_0x3D2 0x3D2
+#define FLAG_0x3D3 0x3D3
+#define FLAG_0x3D4 0x3D4
+#define FLAG_0x3D5 0x3D5
+#define FLAG_0x3D6 0x3D6
+#define FLAG_0x3D7 0x3D7
+#define FLAG_0x3D8 0x3D8
+#define FLAG_0x3D9 0x3D9
+#define FLAG_0x3DA 0x3DA
+#define FLAG_0x3DB 0x3DB
+#define FLAG_0x3DC 0x3DC
+#define FLAG_0x3DD 0x3DD
+#define FLAG_0x3DE 0x3DE
+#define FLAG_0x3DF 0x3DF
+#define FLAG_0x3E0 0x3E0
+#define FLAG_0x3E1 0x3E1
+#define FLAG_0x3E2 0x3E2
+#define FLAG_0x3E3 0x3E3
+#define FLAG_0x3E4 0x3E4
+#define FLAG_0x3E5 0x3E5
+#define FLAG_0x3E6 0x3E6
+#define FLAG_0x3E7 0x3E7
+#define FLAG_0x3E8 0x3E8
+#define FLAG_0x3E9 0x3E9
+#define FLAG_0x3EA 0x3EA
+#define FLAG_0x3EB 0x3EB
+#define FLAG_0x3EC 0x3EC
+#define FLAG_0x3ED 0x3ED
+#define FLAG_0x3EE 0x3EE
+#define FLAG_0x3EF 0x3EF
+#define FLAG_0x3F0 0x3F0
+#define FLAG_0x3F1 0x3F1
+#define FLAG_0x3F2 0x3F2
+#define FLAG_0x3F3 0x3F3
+#define FLAG_0x3F4 0x3F4
+#define FLAG_0x3F5 0x3F5
+#define FLAG_0x3F6 0x3F6
+#define FLAG_0x3F7 0x3F7
+#define FLAG_0x3F8 0x3F8
+#define FLAG_0x3F9 0x3F9
+#define FLAG_0x3FA 0x3FA
+#define FLAG_0x3FB 0x3FB
+#define FLAG_0x3FC 0x3FC
+#define FLAG_0x3FD 0x3FD
+#define FLAG_0x3FE 0x3FE
+#define FLAG_0x3FF 0x3FF
+#define FLAG_0x400 0x400
+#define FLAG_0x401 0x401
+#define FLAG_0x402 0x402
+#define FLAG_0x403 0x403
+#define FLAG_0x404 0x404
+#define FLAG_0x405 0x405
+#define FLAG_0x406 0x406
+#define FLAG_0x407 0x407
+#define FLAG_0x408 0x408
+#define FLAG_0x409 0x409
+#define FLAG_0x40A 0x40A
+#define FLAG_0x40B 0x40B
+#define FLAG_0x40C 0x40C
+#define FLAG_0x40D 0x40D
+#define FLAG_0x40E 0x40E
+#define FLAG_0x40F 0x40F
+#define FLAG_0x410 0x410
+#define FLAG_0x411 0x411
+#define FLAG_0x412 0x412
+#define FLAG_0x413 0x413
+#define FLAG_0x414 0x414
+#define FLAG_0x415 0x415
+#define FLAG_0x416 0x416
+#define FLAG_0x417 0x417
+#define FLAG_0x418 0x418
+#define FLAG_0x419 0x419
+#define FLAG_0x41A 0x41A
+#define FLAG_0x41B 0x41B
+#define FLAG_0x41C 0x41C
+#define FLAG_0x41D 0x41D
+#define FLAG_0x41E 0x41E
+#define FLAG_0x41F 0x41F
+#define FLAG_0x420 0x420
+#define FLAG_0x421 0x421
+#define FLAG_0x422 0x422
+#define FLAG_0x423 0x423
+#define FLAG_0x424 0x424
+#define FLAG_0x425 0x425
+#define FLAG_0x426 0x426
+#define FLAG_0x427 0x427
+#define FLAG_0x428 0x428
+#define FLAG_0x429 0x429
+#define FLAG_0x42A 0x42A
+#define FLAG_0x42B 0x42B
+#define FLAG_0x42C 0x42C
+#define FLAG_0x42D 0x42D
+#define FLAG_0x42E 0x42E
+#define FLAG_0x42F 0x42F
+#define FLAG_0x430 0x430
+#define FLAG_0x431 0x431
+#define FLAG_0x432 0x432
+#define FLAG_0x433 0x433
+#define FLAG_0x434 0x434
+#define FLAG_0x435 0x435
+#define FLAG_0x436 0x436
+#define FLAG_0x437 0x437
+#define FLAG_0x438 0x438
+#define FLAG_0x439 0x439
+#define FLAG_0x43A 0x43A
+#define FLAG_0x43B 0x43B
+#define FLAG_0x43C 0x43C
+#define FLAG_0x43D 0x43D
+#define FLAG_0x43E 0x43E
+#define FLAG_0x43F 0x43F
+#define FLAG_0x440 0x440
+#define FLAG_0x441 0x441
+#define FLAG_0x442 0x442
+#define FLAG_0x443 0x443
+#define FLAG_0x444 0x444
+#define FLAG_0x445 0x445
+#define FLAG_0x446 0x446
+#define FLAG_0x447 0x447
+#define FLAG_0x448 0x448
+#define FLAG_0x449 0x449
+#define FLAG_0x44A 0x44A
+#define FLAG_0x44B 0x44B
+#define FLAG_0x44C 0x44C
+#define FLAG_0x44D 0x44D
+#define FLAG_0x44E 0x44E
+#define FLAG_0x44F 0x44F
+#define FLAG_0x450 0x450
+#define FLAG_0x451 0x451
+#define FLAG_0x452 0x452
+#define FLAG_0x453 0x453
+#define FLAG_0x454 0x454
+#define FLAG_0x455 0x455
+#define FLAG_0x456 0x456
+#define FLAG_0x457 0x457
+#define FLAG_0x458 0x458
+#define FLAG_0x459 0x459
+#define FLAG_0x45A 0x45A
+#define FLAG_0x45B 0x45B
+#define FLAG_0x45C 0x45C
+#define FLAG_0x45D 0x45D
+#define FLAG_0x45E 0x45E
+#define FLAG_0x45F 0x45F
+#define FLAG_0x460 0x460
+#define FLAG_0x461 0x461
+#define FLAG_0x462 0x462
+#define FLAG_0x463 0x463
+#define FLAG_0x464 0x464
+#define FLAG_0x465 0x465
+#define FLAG_0x466 0x466
+#define FLAG_0x467 0x467
+#define FLAG_0x468 0x468
+#define FLAG_0x469 0x469
+#define FLAG_0x46A 0x46A
+#define FLAG_0x46B 0x46B
+#define FLAG_0x46C 0x46C
+#define FLAG_0x46D 0x46D
+#define FLAG_0x46E 0x46E
+#define FLAG_0x46F 0x46F
+#define FLAG_0x470 0x470
+#define FLAG_0x471 0x471
+#define FLAG_0x472 0x472
+#define FLAG_0x473 0x473
+#define FLAG_0x474 0x474
+#define FLAG_0x475 0x475
+#define FLAG_0x476 0x476
+#define FLAG_0x477 0x477
+#define FLAG_0x478 0x478
+#define FLAG_0x479 0x479
+#define FLAG_0x47A 0x47A
+#define FLAG_0x47B 0x47B
+#define FLAG_0x47C 0x47C
+#define FLAG_0x47D 0x47D
+#define FLAG_0x47E 0x47E
+#define FLAG_0x47F 0x47F
+#define FLAG_0x480 0x480
+#define FLAG_0x481 0x481
+#define FLAG_0x482 0x482
+#define FLAG_0x483 0x483
+#define FLAG_0x484 0x484
+#define FLAG_0x485 0x485
+#define FLAG_0x486 0x486
+#define FLAG_0x487 0x487
+#define FLAG_0x488 0x488
+#define FLAG_0x489 0x489
+#define FLAG_0x48A 0x48A
+#define FLAG_0x48B 0x48B
+#define FLAG_0x48C 0x48C
+#define FLAG_0x48D 0x48D
+#define FLAG_0x48E 0x48E
+#define FLAG_0x48F 0x48F
+#define FLAG_0x490 0x490
+#define FLAG_0x491 0x491
+#define FLAG_0x492 0x492
+#define FLAG_0x493 0x493
+#define FLAG_0x494 0x494
+#define FLAG_0x495 0x495
+#define FLAG_0x496 0x496
+#define FLAG_0x497 0x497
+#define FLAG_0x498 0x498
+#define FLAG_0x499 0x499
+#define FLAG_0x49A 0x49A
+#define FLAG_0x49B 0x49B
+#define FLAG_0x49C 0x49C
+#define FLAG_0x49D 0x49D
+#define FLAG_0x49E 0x49E
+#define FLAG_0x49F 0x49F
+#define FLAG_0x4A0 0x4A0
+#define FLAG_0x4A1 0x4A1
+#define FLAG_0x4A2 0x4A2
+#define FLAG_0x4A3 0x4A3
+#define FLAG_0x4A4 0x4A4
+#define FLAG_0x4A5 0x4A5
+#define FLAG_0x4A6 0x4A6
+#define FLAG_0x4A7 0x4A7
+#define FLAG_0x4A8 0x4A8
+#define FLAG_0x4A9 0x4A9
+#define FLAG_0x4AA 0x4AA
+#define FLAG_0x4AB 0x4AB
+#define FLAG_0x4AC 0x4AC
+#define FLAG_0x4AD 0x4AD
+#define FLAG_0x4AE 0x4AE
+#define FLAG_0x4AF 0x4AF
+#define FLAG_0x4B0 0x4B0
+#define FLAG_0x4B1 0x4B1
+#define FLAG_0x4B2 0x4B2
+#define FLAG_0x4B3 0x4B3
+#define FLAG_0x4B4 0x4B4
+#define FLAG_0x4B5 0x4B5
+#define FLAG_0x4B6 0x4B6
+#define FLAG_0x4B7 0x4B7
+#define FLAG_0x4B8 0x4B8
+#define FLAG_0x4B9 0x4B9
+#define FLAG_0x4BA 0x4BA
+#define FLAG_0x4BB 0x4BB
+#define FLAG_0x4BC 0x4BC
+#define FLAG_0x4BD 0x4BD
+#define FLAG_0x4BE 0x4BE
+#define FLAG_0x4BF 0x4BF
+#define FLAG_0x4C0 0x4C0
+#define FLAG_0x4C1 0x4C1
+#define FLAG_0x4C2 0x4C2
+#define FLAG_0x4C3 0x4C3
+#define FLAG_0x4C4 0x4C4
+#define FLAG_0x4C5 0x4C5
+#define FLAG_0x4C6 0x4C6
+#define FLAG_0x4C7 0x4C7
+#define FLAG_0x4C8 0x4C8
+#define FLAG_0x4C9 0x4C9
+#define FLAG_0x4CA 0x4CA
+#define FLAG_0x4CB 0x4CB
+#define FLAG_0x4CC 0x4CC
+#define FLAG_0x4CD 0x4CD
+#define FLAG_0x4CE 0x4CE
+#define FLAG_0x4CF 0x4CF
+#define FLAG_0x4D0 0x4D0
+#define FLAG_0x4D1 0x4D1
+#define FLAG_0x4D2 0x4D2
+#define FLAG_0x4D3 0x4D3
+#define FLAG_0x4D4 0x4D4
+#define FLAG_0x4D5 0x4D5
+#define FLAG_0x4D6 0x4D6
+#define FLAG_0x4D7 0x4D7
+#define FLAG_0x4D8 0x4D8
+#define FLAG_0x4D9 0x4D9
+#define FLAG_0x4DA 0x4DA
+#define FLAG_0x4DB 0x4DB
+#define FLAG_0x4DC 0x4DC
+#define FLAG_0x4DD 0x4DD
+#define FLAG_0x4DE 0x4DE
+#define FLAG_0x4DF 0x4DF
+#define FLAG_0x4E0 0x4E0
+#define FLAG_0x4E1 0x4E1
+#define FLAG_0x4E2 0x4E2
+#define FLAG_0x4E3 0x4E3
+#define FLAG_0x4E4 0x4E4
+#define FLAG_0x4E5 0x4E5
+#define FLAG_0x4E6 0x4E6
+#define FLAG_0x4E7 0x4E7
+#define FLAG_0x4E8 0x4E8
+#define FLAG_0x4E9 0x4E9
+#define FLAG_0x4EA 0x4EA
+#define FLAG_0x4EB 0x4EB
+#define FLAG_0x4EC 0x4EC
+#define FLAG_0x4ED 0x4ED
+#define FLAG_0x4EE 0x4EE
+#define FLAG_0x4EF 0x4EF
+#define FLAG_0x4F0 0x4F0
+#define FLAG_0x4F1 0x4F1
+#define FLAG_0x4F2 0x4F2
+#define FLAG_0x4F3 0x4F3
+#define FLAG_0x4F4 0x4F4
+#define FLAG_0x4F5 0x4F5
+#define FLAG_0x4F6 0x4F6
+#define FLAG_0x4F7 0x4F7
+#define FLAG_0x4F8 0x4F8
+#define FLAG_0x4F9 0x4F9
+#define FLAG_0x4FA 0x4FA
+#define FLAG_0x4FB 0x4FB
+#define FLAG_0x4FC 0x4FC
+#define FLAG_0x4FD 0x4FD
+#define FLAG_0x4FE 0x4FE
+#define FLAG_0x4FF 0x4FF
+
+#define FLAG_TRAINER_FLAG_START 0x500
+
+#define TRAINERS_FLAG_NO 0x356
+#define CODE_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860
+
+// SYSTEM FLAGS
+
+// 0x860
+#define FLAG_SYS_POKEMON_GET (CODE_FLAGS + 0)
+#define FLAG_SYS_POKEDEX_GET (CODE_FLAGS + 1)
+#define FLAG_SYS_POKENAV_GET (CODE_FLAGS + 2)
+// third one appears unused
+#define FLAG_SYS_GAME_CLEAR (CODE_FLAGS + 4)
+#define FLAG_SYS_CHAT_USED (CODE_FLAGS + 5)
+#define FLAG_SYS_HIPSTER_MEET (CODE_FLAGS + 6)
+
+// badges
+#define FLAG_BADGE01_GET (CODE_FLAGS + 7)
+#define FLAG_BADGE02_GET (CODE_FLAGS + 8)
+#define FLAG_BADGE03_GET (CODE_FLAGS + 9)
+#define FLAG_BADGE04_GET (CODE_FLAGS + 0xA)
+#define FLAG_BADGE05_GET (CODE_FLAGS + 0xB)
+#define FLAG_BADGE06_GET (CODE_FLAGS + 0xC)
+#define FLAG_BADGE07_GET (CODE_FLAGS + 0xD)
+#define FLAG_BADGE08_GET (CODE_FLAGS + 0xE)
+
+// cities and towns
+#define FLAG_VISITED_LITTLEROOT_TOWN (CODE_FLAGS + 0xF)
+#define FLAG_VISITED_OLDALE_TOWN (CODE_FLAGS + 0x10)
+#define FLAG_VISITED_DEWFORD_TOWN (CODE_FLAGS + 0x11)
+#define FLAG_VISITED_LAVARIDGE_TOWN (CODE_FLAGS + 0x12)
+#define FLAG_VISITED_FALLARBOR_TOWN (CODE_FLAGS + 0x13)
+#define FLAG_VISITED_VERDANTURF_TOWN (CODE_FLAGS + 0x14)
+#define FLAG_VISITED_PACIFIDLOG_TOWN (CODE_FLAGS + 0x15)
+#define FLAG_VISITED_PETALBURG_CITY (CODE_FLAGS + 0x16)
+#define FLAG_VISITED_SLATEPORT_CITY (CODE_FLAGS + 0x17)
+#define FLAG_VISITED_MAUVILLE_CITY (CODE_FLAGS + 0x18)
+#define FLAG_VISITED_RUSTBORO_CITY (CODE_FLAGS + 0x19)
+#define FLAG_VISITED_FORTREE_CITY (CODE_FLAGS + 0x1A)
+#define FLAG_VISITED_LILYCOVE_CITY (CODE_FLAGS + 0x1B)
+#define FLAG_VISITED_MOSSDEEP_CITY (CODE_FLAGS + 0x1C)
+#define FLAG_VISITED_SOOTOPOLIS_CITY (CODE_FLAGS + 0x1D)
+#define FLAG_VISITED_EVER_GRANDE_CITY (CODE_FLAGS + 0x1E)
+
+#define FLAG_0x87F (CODE_FLAGS + 0x1F)
+#define FLAG_0x880 (CODE_FLAGS + 0x20)
+#define FLAG_0x881 (CODE_FLAGS + 0x21)
+#define FLAG_0x882 (CODE_FLAGS + 0x22)
+#define FLAG_0x883 (CODE_FLAGS + 0x23)
+#define FLAG_0x884 (CODE_FLAGS + 0x24)
+#define FLAG_0x885 (CODE_FLAGS + 0x25)
+#define FLAG_0x886 (CODE_FLAGS + 0x26)
+#define FLAG_0x887 (CODE_FLAGS + 0x27)
+
+#define FLAG_SYS_USE_FLASH (CODE_FLAGS + 0x28)
+#define FLAG_SYS_USE_STRENGTH (CODE_FLAGS + 0x29)
+#define FLAG_SYS_WEATHER_CTRL (CODE_FLAGS + 0x2A)
+#define FLAG_SYS_CYCLING_ROAD (CODE_FLAGS + 0x2B)
+#define FLAG_SYS_SAFARI_MODE (CODE_FLAGS + 0x2C)
+#define FLAG_SYS_CRUISE_MODE (CODE_FLAGS + 0x2D)
+
+#define FLAG_0x88E (CODE_FLAGS + 0x2E)
+#define FLAG_0x88F (CODE_FLAGS + 0x2F)
+
+#define FLAG_SYS_TV_HOME (CODE_FLAGS + 0x30)
+#define FLAG_SYS_TV_WATCH (CODE_FLAGS + 0x31)
+#define FLAG_SYS_TV_START (CODE_FLAGS + 0x32)
+#define FLAG_SYS_POPWORD_INPUT (CODE_FLAGS + 0x33)
+#define FLAG_SYS_MIX_RECORD (CODE_FLAGS + 0x34)
+#define FLAG_SYS_CLOCK_SET (CODE_FLAGS + 0x35)
+#define FLAG_SYS_NATIONAL_DEX (CODE_FLAGS + 0x36)
+#define FLAG_SYS_CAVE_SHIP (CODE_FLAGS + 0x37)
+#define FLAG_SYS_CAVE_WONDER (CODE_FLAGS + 0x38)
+#define FLAG_SYS_CAVE_BATTLE (CODE_FLAGS + 0x39)
+#define FLAG_SYS_SHOAL_TIDE (CODE_FLAGS + 0x3A)
+#define FLAG_SYS_RIBBON_GET (CODE_FLAGS + 0x3B)
+
+#define FLAG_0x89C (CODE_FLAGS + 0x3C)
+#define FLAG_0x89D (CODE_FLAGS + 0x3D)
+#define FLAG_0x89E (CODE_FLAGS + 0x3E)
+#define FLAG_0x89F (CODE_FLAGS + 0x3F)
+#define FLAG_0x8A0 (CODE_FLAGS + 0x40)
+#define FLAG_0x8A1 (CODE_FLAGS + 0x41)
+#define FLAG_0x8A2 (CODE_FLAGS + 0x42)
+#define FLAG_0x8A3 (CODE_FLAGS + 0x43)
+#define FLAG_0x8A4 (CODE_FLAGS + 0x44)
+#define FLAG_0x8A5 (CODE_FLAGS + 0x45)
+#define FLAG_0x8A6 (CODE_FLAGS + 0x46)
+#define FLAG_0x8A7 (CODE_FLAGS + 0x47)
+#define FLAG_UNLOCK_BATTLE_FRONTIER (CODE_FLAGS + 0x48)
+#define FLAG_UNLOCK_SOUTHERN_ISLAND (CODE_FLAGS + 0x49)
+#define FLAG_0x8AA (CODE_FLAGS + 0x4A)
+
+#define FLAG_SYS_PC_LANETTE (CODE_FLAGS + 0x4B)
+#define FLAG_SYS_MYSTERY_EVENT_ENABLE (CODE_FLAGS + 0x4C)
+#define FLAG_SYS_ENC_UP_ITEM (CODE_FLAGS + 0x4D)
+#define FLAG_SYS_ENC_DOWN_ITEM (CODE_FLAGS + 0x4E)
+#define FLAG_SYS_BRAILLE_DIG (CODE_FLAGS + 0x4F)
+#define FLAG_SYS_BRAILLE_STRENGTH (CODE_FLAGS + 0x50)
+#define FLAG_SYS_BRAILLE_WAIT (CODE_FLAGS + 0x51)
+#define FLAG_SYS_BRAILLE_FLY (CODE_FLAGS + 0x52)
+#define FLAG_SYS_HAS_EON_TICKET (CODE_FLAGS + 0x53)
+
+#define FLAG_SYS_POKEMON_LEAGUE_FLY (CODE_FLAGS + 0x54)
+
+#define FLAG_0x8B5 (CODE_FLAGS + 0x55)
+#define FLAG_0x8B6 (CODE_FLAGS + 0x56)
+#define FLAG_0x8B7 (CODE_FLAGS + 0x57)
+#define FLAG_0x8B8 (CODE_FLAGS + 0x58)
+#define FLAG_0x8B9 (CODE_FLAGS + 0x59)
+#define FLAG_0x8BA (CODE_FLAGS + 0x5A)
+#define FLAG_0x8BB (CODE_FLAGS + 0x5B)
+#define FLAG_0x8BC (CODE_FLAGS + 0x5C)
+
+#define FLAG_SYS_TV_LATI (CODE_FLAGS + 0x5D)
+
+#define FLAG_0x8BE (CODE_FLAGS + 0x5E)
+
+#define FLAG_SYS_SHOAL_ITEM (CODE_FLAGS + 0x5F)
+#define FLAG_SYS_B_DASH (CODE_FLAGS + 0x60) // got Running Shoes
+#define FLAG_SYS_CTRL_OBJ_DELETE (CODE_FLAGS + 0x61)
+#define FLAG_SYS_RESET_RTC_ENABLE (CODE_FLAGS + 0x62)
+
+#define FLAG_0x8C3 (CODE_FLAGS + 0x63)
+
+#define FLAG_SYS_TOWER_SILVER (CODE_FLAGS + 0x64)
+#define FLAG_SYS_TOWER_GOLD (CODE_FLAGS + 0x65)
+#define FLAG_SYS_DOME_SILVER (CODE_FLAGS + 0x66)
+#define FLAG_SYS_DOME_GOLD (CODE_FLAGS + 0x67)
+#define FLAG_SYS_PALACE_SILVER (CODE_FLAGS + 0x68)
+#define FLAG_SYS_PALACE_GOLD (CODE_FLAGS + 0x69)
+#define FLAG_SYS_ARENA_SILVER (CODE_FLAGS + 0x6A)
+#define FLAG_SYS_ARENA_GOLD (CODE_FLAGS + 0x6B)
+#define FLAG_SYS_FACTORY_SILVER (CODE_FLAGS + 0x6C)
+#define FLAG_SYS_FACTORY_GOLD (CODE_FLAGS + 0x6D)
+#define FLAG_SYS_PIKE_SILVER (CODE_FLAGS + 0x6E)
+#define FLAG_SYS_PIKE_GOLD (CODE_FLAGS + 0x6F)
+#define FLAG_SYS_PYRAMID_SILVER (CODE_FLAGS + 0x70)
+#define FLAG_SYS_PYRAMID_GOLD (CODE_FLAGS + 0x71)
+#define FLAG_SYS_FRONTIER_PASS (CODE_FLAGS + 0x72)
+
+#define FLAG_0x8D3 (CODE_FLAGS + 0x73)
+#define FLAG_0x8D4 (CODE_FLAGS + 0x74)
+#define FLAG_0x8D5 (CODE_FLAGS + 0x75)
+#define FLAG_0x8D6 (CODE_FLAGS + 0x76)
+
+#define FLAG_SYS_STORAGE_UNKNOWN_FLAG (CODE_FLAGS + 0x77)
+
+#define FLAG_0x8D8 (CODE_FLAGS + 0x78)
+#define FLAG_0x8D9 (CODE_FLAGS + 0x79)
+#define FLAG_0x8DA (CODE_FLAGS + 0x7A)
+
+#define FLAG_SYS_MYSTERY_GIFT_ENABLE (CODE_FLAGS + 0x7B)
+
+#define FLAG_0x8DC (CODE_FLAGS + 0x7C)
+#define FLAG_0x8DD (CODE_FLAGS + 0x7D)
+#define FLAG_0x8DE (CODE_FLAGS + 0x7E)
+#define FLAG_0x8DF (CODE_FLAGS + 0x7F)
+#define FLAG_0x8E0 (CODE_FLAGS + 0x80)
+#define FLAG_0x8E1 (CODE_FLAGS + 0x81)
+#define FLAG_0x8E2 (CODE_FLAGS + 0x82)
+#define FLAG_0x8E3 (CODE_FLAGS + 0x83)
+#define FLAG_0x8E4 (CODE_FLAGS + 0x84)
+#define FLAG_0x8E5 (CODE_FLAGS + 0x85)
+#define FLAG_0x8E6 (CODE_FLAGS + 0x86)
+#define FLAG_0x8E7 (CODE_FLAGS + 0x87)
+#define FLAG_0x8E8 (CODE_FLAGS + 0x88)
+#define FLAG_0x8E9 (CODE_FLAGS + 0x89)
+#define FLAG_0x8EA (CODE_FLAGS + 0x8A)
+#define FLAG_0x8EB (CODE_FLAGS + 0x8B)
+#define FLAG_0x8EC (CODE_FLAGS + 0x8C)
+#define FLAG_0x8ED (CODE_FLAGS + 0x8D)
+#define FLAG_0x8EE (CODE_FLAGS + 0x8E)
+#define FLAG_0x8EF (CODE_FLAGS + 0x8F)
+#define FLAG_0x8F0 (CODE_FLAGS + 0x90)
+#define FLAG_0x8F1 (CODE_FLAGS + 0x91)
+#define FLAG_0x8F2 (CODE_FLAGS + 0x92)
+#define FLAG_0x8F3 (CODE_FLAGS + 0x93)
+#define FLAG_0x8F4 (CODE_FLAGS + 0x94)
+#define FLAG_0x8F5 (CODE_FLAGS + 0x95)
+#define FLAG_0x8F6 (CODE_FLAGS + 0x96)
+#define FLAG_0x8F7 (CODE_FLAGS + 0x97)
+#define FLAG_0x8F8 (CODE_FLAGS + 0x98)
+#define FLAG_0x8F9 (CODE_FLAGS + 0x99)
+#define FLAG_0x8FA (CODE_FLAGS + 0x9A)
+#define FLAG_0x8FB (CODE_FLAGS + 0x9B)
+#define FLAG_0x8FC (CODE_FLAGS + 0x9C)
+#define FLAG_0x8FD (CODE_FLAGS + 0x9D)
+#define FLAG_0x8FE (CODE_FLAGS + 0x9E)
+#define FLAG_0x8FF (CODE_FLAGS + 0x9F)
+#define FLAG_0x900 (CODE_FLAGS + 0xA0)
+#define FLAG_0x901 (CODE_FLAGS + 0xA1)
+#define FLAG_0x902 (CODE_FLAGS + 0xA2)
+#define FLAG_0x903 (CODE_FLAGS + 0xA3)
+#define FLAG_0x904 (CODE_FLAGS + 0xA4)
+#define FLAG_0x905 (CODE_FLAGS + 0xA5)
+#define FLAG_0x906 (CODE_FLAGS + 0xA6)
+#define FLAG_0x907 (CODE_FLAGS + 0xA7)
+#define FLAG_0x908 (CODE_FLAGS + 0xA8)
+#define FLAG_0x909 (CODE_FLAGS + 0xA9)
+#define FLAG_0x90A (CODE_FLAGS + 0xAA)
+#define FLAG_0x90B (CODE_FLAGS + 0xAB)
+#define FLAG_0x90C (CODE_FLAGS + 0xAC)
+#define FLAG_0x90D (CODE_FLAGS + 0xAD)
+#define FLAG_0x90E (CODE_FLAGS + 0xAE)
+#define FLAG_0x90F (CODE_FLAGS + 0xAF)
+#define FLAG_0x910 (CODE_FLAGS + 0xB0)
+#define FLAG_0x911 (CODE_FLAGS + 0xB1)
+#define FLAG_0x912 (CODE_FLAGS + 0xB2)
+#define FLAG_0x913 (CODE_FLAGS + 0xB3)
+#define FLAG_0x914 (CODE_FLAGS + 0xB4)
+#define FLAG_0x915 (CODE_FLAGS + 0xB5)
+#define FLAG_0x916 (CODE_FLAGS + 0xB6)
+#define FLAG_0x917 (CODE_FLAGS + 0xB7)
+#define FLAG_0x918 (CODE_FLAGS + 0xB8)
+#define FLAG_0x919 (CODE_FLAGS + 0xB9)
+#define FLAG_0x91A (CODE_FLAGS + 0xBA)
+#define FLAG_0x91B (CODE_FLAGS + 0xBB)
+#define FLAG_0x91C (CODE_FLAGS + 0xBC)
+#define FLAG_0x91D (CODE_FLAGS + 0xBD)
+#define FLAG_0x91E (CODE_FLAGS + 0xBE)
+#define FLAG_0x91F (CODE_FLAGS + 0xBF)
+#define FLAG_0x920 (CODE_FLAGS + 0xC0)
+#define FLAG_0x921 (CODE_FLAGS + 0xC1)
+#define FLAG_0x922 (CODE_FLAGS + 0xC2)
+#define FLAG_0x923 (CODE_FLAGS + 0xC3)
+#define FLAG_0x924 (CODE_FLAGS + 0xC4)
+#define FLAG_0x925 (CODE_FLAGS + 0xC5)
+#define FLAG_0x926 (CODE_FLAGS + 0xC6)
+#define FLAG_0x927 (CODE_FLAGS + 0xC7)
+#define FLAG_0x928 (CODE_FLAGS + 0xC8)
+#define FLAG_0x929 (CODE_FLAGS + 0xC9)
+#define FLAG_0x92A (CODE_FLAGS + 0xCA)
+#define FLAG_0x92B (CODE_FLAGS + 0xCB)
+#define FLAG_0x92C (CODE_FLAGS + 0xCC)
+#define FLAG_0x92D (CODE_FLAGS + 0xCD)
+#define FLAG_0x92E (CODE_FLAGS + 0xCE)
+#define FLAG_0x92F (CODE_FLAGS + 0xCF)
+#define FLAG_0x930 (CODE_FLAGS + 0xD0)
+#define FLAG_0x931 (CODE_FLAGS + 0xD1)
+#define FLAG_0x932 (CODE_FLAGS + 0xD2)
+#define FLAG_0x933 (CODE_FLAGS + 0xD3)
+#define FLAG_0x934 (CODE_FLAGS + 0xD4)
+#define FLAG_0x935 (CODE_FLAGS + 0xD5)
+#define FLAG_0x936 (CODE_FLAGS + 0xD6)
+#define FLAG_0x937 (CODE_FLAGS + 0xD7)
+#define FLAG_0x938 (CODE_FLAGS + 0xD8)
+#define FLAG_0x939 (CODE_FLAGS + 0xD9)
+#define FLAG_0x93A (CODE_FLAGS + 0xDA)
+#define FLAG_0x93B (CODE_FLAGS + 0xDB)
+#define FLAG_0x93C (CODE_FLAGS + 0xDC)
+#define FLAG_0x93D (CODE_FLAGS + 0xDD)
+#define FLAG_0x93E (CODE_FLAGS + 0xDE)
+#define FLAG_0x93F (CODE_FLAGS + 0xDF)
+#define FLAG_0x940 (CODE_FLAGS + 0xE0)
+#define FLAG_0x941 (CODE_FLAGS + 0xE1)
+#define FLAG_0x942 (CODE_FLAGS + 0xE2)
+#define FLAG_0x943 (CODE_FLAGS + 0xE3)
+#define FLAG_0x944 (CODE_FLAGS + 0xE4)
+#define FLAG_0x945 (CODE_FLAGS + 0xE5)
+#define FLAG_0x946 (CODE_FLAGS + 0xE6)
+#define FLAG_0x947 (CODE_FLAGS + 0xE7)
+#define FLAG_0x948 (CODE_FLAGS + 0xE8)
+#define FLAG_0x949 (CODE_FLAGS + 0xE9)
+#define FLAG_0x94A (CODE_FLAGS + 0xEA)
+#define FLAG_0x94B (CODE_FLAGS + 0xEB)
+#define FLAG_0x94C (CODE_FLAGS + 0xEC)
+#define FLAG_0x94D (CODE_FLAGS + 0xED)
+#define FLAG_0x94E (CODE_FLAGS + 0xEE)
+#define FLAG_0x94F (CODE_FLAGS + 0xEF)
+#define FLAG_0x950 (CODE_FLAGS + 0xF0)
+#define FLAG_0x951 (CODE_FLAGS + 0xF1)
+#define FLAG_0x952 (CODE_FLAGS + 0xF2)
+#define FLAG_0x953 (CODE_FLAGS + 0xF3)
+#define FLAG_0x954 (CODE_FLAGS + 0xF4)
+#define FLAG_0x955 (CODE_FLAGS + 0xF5)
+#define FLAG_0x956 (CODE_FLAGS + 0xF6)
+#define FLAG_0x957 (CODE_FLAGS + 0xF7)
+#define FLAG_0x958 (CODE_FLAGS + 0xF8)
+#define FLAG_0x959 (CODE_FLAGS + 0xF9)
+#define FLAG_0x95A (CODE_FLAGS + 0xFA)
+#define FLAG_0x95B (CODE_FLAGS + 0xFB)
+#define FLAG_0x95C (CODE_FLAGS + 0xFC)
+#define FLAG_0x95D (CODE_FLAGS + 0xFD)
+#define FLAG_0x95E (CODE_FLAGS + 0xFE)
+#define FLAG_0x95F (CODE_FLAGS + 0xFF)
+
+// SPECIAL FLAGS (unknown purpose)
+#define FLAG_SPECIAL_FLAG_0x4000 0x4000
+#define FLAG_SPECIAL_FLAG_0x4001 0x4001
+#define FLAG_SPECIAL_FLAG_0x4002 0x4002
+#define FLAG_SPECIAL_FLAG_0x4003 0x4003
+#define FLAG_SPECIAL_FLAG_0x4004 0x4004
+
+#endif // GUARD_CONSTANTS_FLAGS_H
diff --git a/include/game_stat.h b/include/constants/game_stat.h
index 5979c531c..b1f3d4197 100644
--- a/include/game_stat.h
+++ b/include/constants/game_stat.h
@@ -1,5 +1,5 @@
-#ifndef GUARD_GAME_STAT_H
-#define GUARD_GAME_STAT_H
+#ifndef GUARD_CONSTANTS_GAME_STAT_H
+#define GUARD_CONSTANTS_GAME_STAT_H
#define GAME_STAT_SAVED_GAME 0
#define GAME_STAT_FIRST_HOF_PLAY_TIME 1
@@ -56,7 +56,4 @@
#define NUM_GAME_STATS 64
-void IncrementGameStat(u8);
-u32 GetGameStat(u8);
-
-#endif // GUARD_GAME_STAT_H
+#endif // GUARD_CONSTANTS_GAME_STAT_H
diff --git a/include/hold_effects.h b/include/constants/hold_effects.h
index b653f5a92..b653f5a92 100644
--- a/include/hold_effects.h
+++ b/include/constants/hold_effects.h
diff --git a/include/constants/items.h b/include/constants/items.h
new file mode 100644
index 000000000..6135b8d6f
--- /dev/null
+++ b/include/constants/items.h
@@ -0,0 +1,393 @@
+#ifndef GUARD_CONSTANTS_ITEMS_H
+#define GUARD_CONSTANTS_ITEMS_H
+
+#define ITEM_NONE 0
+#define ITEM_MASTER_BALL 1
+#define ITEM_ULTRA_BALL 2
+#define ITEM_GREAT_BALL 3
+#define ITEM_POKE_BALL 4
+#define ITEM_SAFARI_BALL 5
+#define ITEM_NET_BALL 6
+#define ITEM_DIVE_BALL 7
+#define ITEM_NEST_BALL 8
+#define ITEM_REPEAT_BALL 9
+#define ITEM_TIMER_BALL 10
+#define ITEM_LUXURY_BALL 11
+#define ITEM_PREMIER_BALL 12
+#define ITEM_POTION 13
+#define ITEM_ANTIDOTE 14
+#define ITEM_BURN_HEAL 15
+#define ITEM_ICE_HEAL 16
+#define ITEM_AWAKENING 17
+#define ITEM_PARALYZE_HEAL 18
+#define ITEM_FULL_RESTORE 19
+#define ITEM_MAX_POTION 20
+#define ITEM_HYPER_POTION 21
+#define ITEM_SUPER_POTION 22
+#define ITEM_FULL_HEAL 23
+#define ITEM_REVIVE 24
+#define ITEM_MAX_REVIVE 25
+#define ITEM_FRESH_WATER 26
+#define ITEM_SODA_POP 27
+#define ITEM_LEMONADE 28
+#define ITEM_MOOMOO_MILK 29
+#define ITEM_ENERGY_POWDER 30
+#define ITEM_ENERGY_ROOT 31
+#define ITEM_HEAL_POWDER 32
+#define ITEM_REVIVAL_HERB 33
+#define ITEM_ETHER 34
+#define ITEM_MAX_ETHER 35
+#define ITEM_ELIXIR 36
+#define ITEM_MAX_ELIXIR 37
+#define ITEM_LAVA_COOKIE 38
+#define ITEM_BLUE_FLUTE 39
+#define ITEM_YELLOW_FLUTE 40
+#define ITEM_RED_FLUTE 41
+#define ITEM_BLACK_FLUTE 42
+#define ITEM_WHITE_FLUTE 43
+#define ITEM_BERRY_JUICE 44
+#define ITEM_SACRED_ASH 45
+#define ITEM_SHOAL_SALT 46
+#define ITEM_SHOAL_SHELL 47
+#define ITEM_RED_SHARD 48
+#define ITEM_BLUE_SHARD 49
+#define ITEM_YELLOW_SHARD 50
+#define ITEM_GREEN_SHARD 51
+#define ITEM_034 52
+#define ITEM_035 53
+#define ITEM_036 54
+#define ITEM_037 55
+#define ITEM_038 56
+#define ITEM_039 57
+#define ITEM_03A 58
+#define ITEM_03B 59
+#define ITEM_03C 60
+#define ITEM_03D 61
+#define ITEM_03E 62
+#define ITEM_HP_UP 63
+#define ITEM_PROTEIN 64
+#define ITEM_IRON 65
+#define ITEM_CARBOS 66
+#define ITEM_CALCIUM 67
+#define ITEM_RARE_CANDY 68
+#define ITEM_PP_UP 69
+#define ITEM_ZINC 70
+#define ITEM_PP_MAX 71
+#define ITEM_048 72
+#define ITEM_GUARD_SPEC 73
+#define ITEM_DIRE_HIT 74
+#define ITEM_X_ATTACK 75
+#define ITEM_X_DEFEND 76
+#define ITEM_X_SPEED 77
+#define ITEM_X_ACCURACY 78
+#define ITEM_X_SPECIAL 79
+#define ITEM_POKE_DOLL 80
+#define ITEM_FLUFFY_TAIL 81
+#define ITEM_052 82
+#define ITEM_SUPER_REPEL 83
+#define ITEM_MAX_REPEL 84
+#define ITEM_ESCAPE_ROPE 85
+#define ITEM_REPEL 86
+#define ITEM_057 87
+#define ITEM_058 88
+#define ITEM_059 89
+#define ITEM_05A 90
+#define ITEM_05B 91
+#define ITEM_05C 92
+#define ITEM_SUN_STONE 93
+#define ITEM_MOON_STONE 94
+#define ITEM_FIRE_STONE 95
+#define ITEM_THUNDER_STONE 96
+#define ITEM_WATER_STONE 97
+#define ITEM_LEAF_STONE 98
+#define ITEM_063 99
+#define ITEM_064 100
+#define ITEM_065 101
+#define ITEM_066 102
+#define ITEM_TINY_MUSHROOM 103
+#define ITEM_BIG_MUSHROOM 104
+#define ITEM_069 105
+#define ITEM_PEARL 106
+#define ITEM_BIG_PEARL 107
+#define ITEM_STARDUST 108
+#define ITEM_STAR_PIECE 109
+#define ITEM_NUGGET 110
+#define ITEM_HEART_SCALE 111
+#define ITEM_070 112
+#define ITEM_071 113
+#define ITEM_072 114
+#define ITEM_073 115
+#define ITEM_074 116
+#define ITEM_075 117
+#define ITEM_076 118
+#define ITEM_077 119
+#define ITEM_078 120
+#define ITEM_ORANGE_MAIL 121
+#define ITEM_HARBOR_MAIL 122
+#define ITEM_GLITTER_MAIL 123
+#define ITEM_MECH_MAIL 124
+#define ITEM_WOOD_MAIL 125
+#define ITEM_WAVE_MAIL 126
+#define ITEM_BEAD_MAIL 127
+#define ITEM_SHADOW_MAIL 128
+#define ITEM_TROPIC_MAIL 129
+#define ITEM_DREAM_MAIL 130
+#define ITEM_FAB_MAIL 131
+#define ITEM_RETRO_MAIL 132
+#define ITEM_CHERI_BERRY 133
+#define ITEM_CHESTO_BERRY 134
+#define ITEM_PECHA_BERRY 135
+#define ITEM_RAWST_BERRY 136
+#define ITEM_ASPEAR_BERRY 137
+#define ITEM_LEPPA_BERRY 138
+#define ITEM_ORAN_BERRY 139
+#define ITEM_PERSIM_BERRY 140
+#define ITEM_LUM_BERRY 141
+#define ITEM_SITRUS_BERRY 142
+#define ITEM_FIGY_BERRY 143
+#define ITEM_WIKI_BERRY 144
+#define ITEM_MAGO_BERRY 145
+#define ITEM_AGUAV_BERRY 146
+#define ITEM_IAPAPA_BERRY 147
+#define ITEM_RAZZ_BERRY 148
+#define ITEM_BLUK_BERRY 149
+#define ITEM_NANAB_BERRY 150
+#define ITEM_WEPEAR_BERRY 151
+#define ITEM_PINAP_BERRY 152
+#define ITEM_POMEG_BERRY 153
+#define ITEM_KELPSY_BERRY 154
+#define ITEM_QUALOT_BERRY 155
+#define ITEM_HONDEW_BERRY 156
+#define ITEM_GREPA_BERRY 157
+#define ITEM_TAMATO_BERRY 158
+#define ITEM_CORNN_BERRY 159
+#define ITEM_MAGOST_BERRY 160
+#define ITEM_RABUTA_BERRY 161
+#define ITEM_NOMEL_BERRY 162
+#define ITEM_SPELON_BERRY 163
+#define ITEM_PAMTRE_BERRY 164
+#define ITEM_WATMEL_BERRY 165
+#define ITEM_DURIN_BERRY 166
+#define ITEM_BELUE_BERRY 167
+#define ITEM_LIECHI_BERRY 168
+#define ITEM_GANLON_BERRY 169
+#define ITEM_SALAC_BERRY 170
+#define ITEM_PETAYA_BERRY 171
+#define ITEM_APICOT_BERRY 172
+#define ITEM_LANSAT_BERRY 173
+#define ITEM_STARF_BERRY 174
+#define ITEM_ENIGMA_BERRY 175
+#define ITEM_0B0 176
+#define ITEM_0B1 177
+#define ITEM_0B2 178
+#define ITEM_BRIGHT_POWDER 179
+#define ITEM_WHITE_HERB 180
+#define ITEM_MACHO_BRACE 181
+#define ITEM_EXP_SHARE 182
+#define ITEM_QUICK_CLAW 183
+#define ITEM_SOOTHE_BELL 184
+#define ITEM_MENTAL_HERB 185
+#define ITEM_CHOICE_BAND 186
+#define ITEM_KINGS_ROCK 187
+#define ITEM_SILVER_POWDER 188
+#define ITEM_AMULET_COIN 189
+#define ITEM_CLEANSE_TAG 190
+#define ITEM_SOUL_DEW 191
+#define ITEM_DEEP_SEA_TOOTH 192
+#define ITEM_DEEP_SEA_SCALE 193
+#define ITEM_SMOKE_BALL 194
+#define ITEM_EVERSTONE 195
+#define ITEM_FOCUS_BAND 196
+#define ITEM_LUCKY_EGG 197
+#define ITEM_SCOPE_LENS 198
+#define ITEM_METAL_COAT 199
+#define ITEM_LEFTOVERS 200
+#define ITEM_DRAGON_SCALE 201
+#define ITEM_LIGHT_BALL 202
+#define ITEM_SOFT_SAND 203
+#define ITEM_HARD_STONE 204
+#define ITEM_MIRACLE_SEED 205
+#define ITEM_BLACK_GLASSES 206
+#define ITEM_BLACK_BELT 207
+#define ITEM_MAGNET 208
+#define ITEM_MYSTIC_WATER 209
+#define ITEM_SHARP_BEAK 210
+#define ITEM_POISON_BARB 211
+#define ITEM_NEVER_MELT_ICE 212
+#define ITEM_SPELL_TAG 213
+#define ITEM_TWISTED_SPOON 214
+#define ITEM_CHARCOAL 215
+#define ITEM_DRAGON_FANG 216
+#define ITEM_SILK_SCARF 217
+#define ITEM_UP_GRADE 218
+#define ITEM_SHELL_BELL 219
+#define ITEM_SEA_INCENSE 220
+#define ITEM_LAX_INCENSE 221
+#define ITEM_LUCKY_PUNCH 222
+#define ITEM_METAL_POWDER 223
+#define ITEM_THICK_CLUB 224
+#define ITEM_STICK 225
+#define ITEM_0E2 226
+#define ITEM_0E3 227
+#define ITEM_0E4 228
+#define ITEM_0E5 229
+#define ITEM_0E6 230
+#define ITEM_0E7 231
+#define ITEM_0E8 232
+#define ITEM_0E9 233
+#define ITEM_0EA 234
+#define ITEM_0EB 235
+#define ITEM_0EC 236
+#define ITEM_0ED 237
+#define ITEM_0EE 238
+#define ITEM_0EF 239
+#define ITEM_0F0 240
+#define ITEM_0F1 241
+#define ITEM_0F2 242
+#define ITEM_0F3 243
+#define ITEM_0F4 244
+#define ITEM_0F5 245
+#define ITEM_0F6 246
+#define ITEM_0F7 247
+#define ITEM_0F8 248
+#define ITEM_0F9 249
+#define ITEM_0FA 250
+#define ITEM_0FB 251
+#define ITEM_0FC 252
+#define ITEM_0FD 253
+#define ITEM_RED_SCARF 254
+#define ITEM_BLUE_SCARF 255
+#define ITEM_PINK_SCARF 256
+#define ITEM_GREEN_SCARF 257
+#define ITEM_YELLOW_SCARF 258
+#define ITEM_MACH_BIKE 259
+#define ITEM_COIN_CASE 260
+#define ITEM_ITEMFINDER 261
+#define ITEM_OLD_ROD 262
+#define ITEM_GOOD_ROD 263
+#define ITEM_SUPER_ROD 264
+#define ITEM_SS_TICKET 265
+#define ITEM_CONTEST_PASS 266
+#define ITEM_10B 267
+#define ITEM_WAILMER_PAIL 268
+#define ITEM_DEVON_GOODS 269
+#define ITEM_SOOT_SACK 270
+#define ITEM_BASEMENT_KEY 271
+#define ITEM_ACRO_BIKE 272
+#define ITEM_POKEBLOCK_CASE 273
+#define ITEM_LETTER 274
+#define ITEM_EON_TICKET 275
+#define ITEM_RED_ORB 276
+#define ITEM_BLUE_ORB 277
+#define ITEM_SCANNER 278
+#define ITEM_GO_GOGGLES 279
+#define ITEM_METEORITE 280
+#define ITEM_ROOM_1_KEY 281
+#define ITEM_ROOM_2_KEY 282
+#define ITEM_ROOM_4_KEY 283
+#define ITEM_ROOM_6_KEY 284
+#define ITEM_STORAGE_KEY 285
+#define ITEM_ROOT_FOSSIL 286
+#define ITEM_CLAW_FOSSIL 287
+#define ITEM_DEVON_SCOPE 288
+#define ITEM_TM01 289
+#define ITEM_TM02 290
+#define ITEM_TM03 291
+#define ITEM_TM04 292
+#define ITEM_TM05 293
+#define ITEM_TM06 294
+#define ITEM_TM07 295
+#define ITEM_TM08 296
+#define ITEM_TM09 297
+#define ITEM_TM10 298
+#define ITEM_TM11 299
+#define ITEM_TM12 300
+#define ITEM_TM13 301
+#define ITEM_TM14 302
+#define ITEM_TM15 303
+#define ITEM_TM16 304
+#define ITEM_TM17 305
+#define ITEM_TM18 306
+#define ITEM_TM19 307
+#define ITEM_TM20 308
+#define ITEM_TM21 309
+#define ITEM_TM22 310
+#define ITEM_TM23 311
+#define ITEM_TM24 312
+#define ITEM_TM25 313
+#define ITEM_TM26 314
+#define ITEM_TM27 315
+#define ITEM_TM28 316
+#define ITEM_TM29 317
+#define ITEM_TM30 318
+#define ITEM_TM31 319
+#define ITEM_TM32 320
+#define ITEM_TM33 321
+#define ITEM_TM34 322
+#define ITEM_TM35 323
+#define ITEM_TM36 324
+#define ITEM_TM37 325
+#define ITEM_TM38 326
+#define ITEM_TM39 327
+#define ITEM_TM40 328
+#define ITEM_TM41 329
+#define ITEM_TM42 330
+#define ITEM_TM43 331
+#define ITEM_TM44 332
+#define ITEM_TM45 333
+#define ITEM_TM46 334
+#define ITEM_TM47 335
+#define ITEM_TM48 336
+#define ITEM_TM49 337
+#define ITEM_TM50 338
+#define ITEM_HM01 339
+#define ITEM_HM02 340
+#define ITEM_HM03 341
+#define ITEM_HM04 342
+#define ITEM_HM05 343
+#define ITEM_HM06 344
+#define ITEM_HM07 345
+#define ITEM_HM08 346
+#define ITEM_15B 347
+#define ITEM_15C 348
+
+// FireRed/LeafGreen
+#define ITEM_OAKS_PARCEL 349
+#define ITEM_POKE_FLUTE 350
+#define ITEM_SECRET_KEY 351
+#define ITEM_BIKE_VOUCHER 352
+#define ITEM_GOLD_TEETH 353
+#define ITEM_OLD_AMBER 354
+#define ITEM_CARD_KEY 355
+#define ITEM_LIFT_KEY 356
+#define ITEM_HELIX_FOSSIL 357
+#define ITEM_DOME_FOSSIL 358
+#define ITEM_SILPH_SCOPE 359
+#define ITEM_BICYCLE 360
+#define ITEM_TOWN_MAP 361
+#define ITEM_VS_SEEKER 362
+#define ITEM_FAME_CHECKER 363
+#define ITEM_TM_CASE 364
+#define ITEM_BERRY_POUCH 365
+#define ITEM_TEACHY_TV 366
+#define ITEM_TRI_PASS 367
+#define ITEM_RAINBOW_PASS 368
+#define ITEM_TEA 369
+#define ITEM_MYSTIC_TICKET 370
+#define ITEM_AURORA_TICKET 371
+#define ITEM_POWDER_JAR 372
+#define ITEM_RUBY 373
+#define ITEM_SAPPHIRE 374
+
+// Emerald
+#define ITEM_MAGMA_EMBLEM 375
+#define ITEM_OLD_SEA_MAP 376
+
+#define FIRST_BERRY_INDEX ITEM_CHERI_BERRY
+#define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY
+#define ITEM_TO_BERRY(itemId)(((itemId - FIRST_BERRY_INDEX) + 1))
+
+#define NUM_TECHNICAL_MACHINES 50
+#define NUM_HIDDEN_MACHINES 8
+
+#endif // GUARD_CONSTANTS_ITEMS_H
diff --git a/include/constants/map_objects.h b/include/constants/map_objects.h
new file mode 100644
index 000000000..d5b983005
--- /dev/null
+++ b/include/constants/map_objects.h
@@ -0,0 +1,263 @@
+#ifndef GUARD_CONSTANTS_MAP_OBJECTS_H
+#define GUARD_CONSTANTS_MAP_OBJECTS_H
+
+#define MAP_OBJ_GFX_BRENDAN_NORMAL 0
+#define MAP_OBJ_GFX_BRENDAN_MACH_BIKE 1
+#define MAP_OBJ_GFX_BRENDAN_SURFING 2
+#define MAP_OBJ_GFX_BRENDAN_FIELD_MOVE 3
+#define MAP_OBJ_GFX_QUINTY_PLUMP 4
+#define MAP_OBJ_GFX_LITTLE_BOY_1 5
+#define MAP_OBJ_GFX_LITTLE_GIRL_1 6
+#define MAP_OBJ_GFX_BOY_1 7
+#define MAP_OBJ_GFX_GIRL_1 8
+#define MAP_OBJ_GFX_BOY_2 9
+#define MAP_OBJ_GFX_GIRL_2 10
+#define MAP_OBJ_GFX_LITTLE_BOY_2 11
+#define MAP_OBJ_GFX_LITTLE_GIRL_2 12
+#define MAP_OBJ_GFX_BOY_3 13
+#define MAP_OBJ_GFX_GIRL_3 14
+#define MAP_OBJ_GFX_BOY_4 15
+#define MAP_OBJ_GFX_WOMAN_1 16
+#define MAP_OBJ_GFX_FAT_MAN 17
+#define MAP_OBJ_GFX_WOMAN_2 18
+#define MAP_OBJ_GFX_MAN_1 19
+#define MAP_OBJ_GFX_WOMAN_3 20
+#define MAP_OBJ_GFX_OLD_MAN_1 21
+#define MAP_OBJ_GFX_OLD_WOMAN_1 22
+#define MAP_OBJ_GFX_MAN_2 23
+#define MAP_OBJ_GFX_WOMAN_4 24
+#define MAP_OBJ_GFX_MAN_3 25
+#define MAP_OBJ_GFX_WOMAN_5 26
+#define MAP_OBJ_GFX_COOK 27
+#define MAP_OBJ_GFX_WOMAN_6 28
+#define MAP_OBJ_GFX_OLD_MAN_2 29
+#define MAP_OBJ_GFX_OLD_WOMAN_2 30
+#define MAP_OBJ_GFX_CAMPER 31
+#define MAP_OBJ_GFX_PICNICKER 32
+#define MAP_OBJ_GFX_MAN_4 33
+#define MAP_OBJ_GFX_WOMAN_7 34
+#define MAP_OBJ_GFX_YOUNGSTER 35
+#define MAP_OBJ_GFX_BUG_CATCHER 36
+#define MAP_OBJ_GFX_PSYCHIC_M 37
+#define MAP_OBJ_GFX_SCHOOL_KID_M 38
+#define MAP_OBJ_GFX_MANIAC 39
+#define MAP_OBJ_GFX_HEX_MANIAC 40
+#define MAP_OBJ_GFX_RAYQUAZA_1 41
+#define MAP_OBJ_GFX_SWIMMER_M 42
+#define MAP_OBJ_GFX_SWIMMER_F 43
+#define MAP_OBJ_GFX_BLACK_BELT 44
+#define MAP_OBJ_GFX_BEAUTY 45
+#define MAP_OBJ_GFX_SCIENTIST_1 46
+#define MAP_OBJ_GFX_LASS 47
+#define MAP_OBJ_GFX_GENTLEMAN 48
+#define MAP_OBJ_GFX_SAILOR 49
+#define MAP_OBJ_GFX_FISHERMAN 50
+#define MAP_OBJ_GFX_RUNNING_TRIATHLETE_M 51
+#define MAP_OBJ_GFX_RUNNING_TRIATHLETE_F 52
+#define MAP_OBJ_GFX_TUBER_F 53
+#define MAP_OBJ_GFX_TUBER_M 54
+#define MAP_OBJ_GFX_HIKER 55
+#define MAP_OBJ_GFX_CYCLING_TRIATHLETE_M 56
+#define MAP_OBJ_GFX_CYCLING_TRIATHLETE_F 57
+#define MAP_OBJ_GFX_NURSE 58
+#define MAP_OBJ_GFX_ITEM_BALL 59
+#define MAP_OBJ_GFX_BERRY_TREE 60
+#define MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES 61
+#define MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES 62
+#define MAP_OBJ_GFX_BRENDAN_ACRO_BIKE 63
+#define MAP_OBJ_GFX_PROF_BIRCH 64
+#define MAP_OBJ_GFX_MAN_5 65
+#define MAP_OBJ_GFX_MAN_6 66
+#define MAP_OBJ_GFX_REPORTER_M 67
+#define MAP_OBJ_GFX_REPORTER_F 68
+#define MAP_OBJ_GFX_BARD 69
+#define MAP_OBJ_GFX_ANABEL 70
+#define MAP_OBJ_GFX_TUCKER 71
+#define MAP_OBJ_GFX_GRETA 72
+#define MAP_OBJ_GFX_SPENSER 73
+#define MAP_OBJ_GFX_NOLAND 74
+#define MAP_OBJ_GFX_LUCY 75
+#define MAP_OBJ_GFX_UNUSED_NATU_DOLL 76
+#define MAP_OBJ_GFX_UNUSED_MAGNEMITE_DOLL 77
+#define MAP_OBJ_GFX_UNUSED_SQUIRTLE_DOLL 78
+#define MAP_OBJ_GFX_UNUSED_WOOPER_DOLL 79
+#define MAP_OBJ_GFX_UNUSED_PIKACHU_DOLL 80
+#define MAP_OBJ_GFX_UNUSED_PORYGON2_DOLL 81
+#define MAP_OBJ_GFX_CUTTABLE_TREE 82
+#define MAP_OBJ_GFX_MART_EMPLOYEE 83
+#define MAP_OBJ_GFX_ROOFTOP_SALE_WOMAN 84
+#define MAP_OBJ_GFX_TEALA 85
+#define MAP_OBJ_GFX_BREAKABLE_ROCK 86
+#define MAP_OBJ_GFX_PUSHABLE_BOULDER 87
+#define MAP_OBJ_GFX_MR_BRINEYS_BOAT 88
+#define MAP_OBJ_GFX_MAY_NORMAL 89
+#define MAP_OBJ_GFX_MAY_MACH_BIKE 90
+#define MAP_OBJ_GFX_MAY_ACRO_BIKE 91
+#define MAP_OBJ_GFX_MAY_SURFING 92
+#define MAP_OBJ_GFX_MAY_FIELD_MOVE 93
+#define MAP_OBJ_GFX_TRUCK 94
+#define MAP_OBJ_GFX_VIGAROTH_CARRYING_BOX 95
+#define MAP_OBJ_GFX_VIGAROTH_FACING_AWAY 96
+#define MAP_OBJ_GFX_BIRCHS_BAG 97
+#define MAP_OBJ_GFX_ZIGZAGOON_1 98
+#define MAP_OBJ_GFX_ARTIST 99
+#define MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL 100
+#define MAP_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE 101
+#define MAP_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE 102
+#define MAP_OBJ_GFX_RIVAL_BRENDAN_SURFING 103
+#define MAP_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE 104
+#define MAP_OBJ_GFX_RIVAL_MAY_NORMAL 105
+#define MAP_OBJ_GFX_RIVAL_MAY_MACH_BIKE 106
+#define MAP_OBJ_GFX_RIVAL_MAY_ACRO_BIKE 107
+#define MAP_OBJ_GFX_RIVAL_MAY_SURFING 108
+#define MAP_OBJ_GFX_RIVAL_MAY_FIELD_MOVE 109
+#define MAP_OBJ_GFX_CAMERAMAN 110
+#define MAP_OBJ_GFX_BRENDAN_UNDERWATER 111
+#define MAP_OBJ_GFX_MAY_UNDERWATER 112
+#define MAP_OBJ_GFX_MOVING_BOX 113
+#define MAP_OBJ_GFX_CABLE_CAR 114
+#define MAP_OBJ_GFX_SCIENTIST_2 115
+#define MAP_OBJ_GFX_MAN_7 116
+#define MAP_OBJ_GFX_AQUA_MEMBER_M 117
+#define MAP_OBJ_GFX_AQUA_MEMBER_F 118
+#define MAP_OBJ_GFX_MAGMA_MEMBER_M 119
+#define MAP_OBJ_GFX_MAGMA_MEMBER_F 120
+#define MAP_OBJ_GFX_SIDNEY 121
+#define MAP_OBJ_GFX_PHOEBE 122
+#define MAP_OBJ_GFX_GLACIA 123
+#define MAP_OBJ_GFX_DRAKE 124
+#define MAP_OBJ_GFX_ROXANNE 125
+#define MAP_OBJ_GFX_BRAWLY 126
+#define MAP_OBJ_GFX_WATTSON 127
+#define MAP_OBJ_GFX_FLANNERY 128
+#define MAP_OBJ_GFX_NORMAN 129
+#define MAP_OBJ_GFX_WINONA 130
+#define MAP_OBJ_GFX_LIZA 131
+#define MAP_OBJ_GFX_TATE 132
+#define MAP_OBJ_GFX_WALLACE 133
+#define MAP_OBJ_GFX_STEVEN 134
+#define MAP_OBJ_GFX_WALLY 135
+#define MAP_OBJ_GFX_LITTLE_BOY_3 136
+#define MAP_OBJ_GFX_BRENDAN_FISHING 137
+#define MAP_OBJ_GFX_MAY_FISHING 138
+#define MAP_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN 139
+#define MAP_OBJ_GFX_SS_TIDAL 140
+#define MAP_OBJ_GFX_SUBMARINE_SHADOW 141
+#define MAP_OBJ_GFX_PICHU_DOLL 142
+#define MAP_OBJ_GFX_PIKACHU_DOLL 143
+#define MAP_OBJ_GFX_MARILL_DOLL 144
+#define MAP_OBJ_GFX_TOGEPI_DOLL 145
+#define MAP_OBJ_GFX_CYNDAQUIL_DOLL 146
+#define MAP_OBJ_GFX_CHIKORITA_DOLL 147
+#define MAP_OBJ_GFX_TOTODILE_DOLL 148
+#define MAP_OBJ_GFX_JIGGLYPUFF_DOLL 149
+#define MAP_OBJ_GFX_MEOWTH_DOLL 150
+#define MAP_OBJ_GFX_CLEFAIRY_DOLL 151
+#define MAP_OBJ_GFX_DITTO_DOLL 152
+#define MAP_OBJ_GFX_SMOOCHUM_DOLL 153
+#define MAP_OBJ_GFX_TREECKO_DOLL 154
+#define MAP_OBJ_GFX_TORCHIC_DOLL 155
+#define MAP_OBJ_GFX_MUDKIP_DOLL 156
+#define MAP_OBJ_GFX_DUSKULL_DOLL 157
+#define MAP_OBJ_GFX_WYNAUT_DOLL 158
+#define MAP_OBJ_GFX_BALTOY_DOLL 159
+#define MAP_OBJ_GFX_KECLEON_DOLL 160
+#define MAP_OBJ_GFX_AZURILL_DOLL 161
+#define MAP_OBJ_GFX_SKITTY_DOLL 162
+#define MAP_OBJ_GFX_SWABLU_DOLL 163
+#define MAP_OBJ_GFX_GULPIN_DOLL 164
+#define MAP_OBJ_GFX_LOTAD_DOLL 165
+#define MAP_OBJ_GFX_SEEDOT_DOLL 166
+#define MAP_OBJ_GFX_PIKA_CUSHION 167
+#define MAP_OBJ_GFX_ROUND_CUSHION 168
+#define MAP_OBJ_GFX_KISS_CUSHION 169
+#define MAP_OBJ_GFX_ZIGZAG_CUSHION 170
+#define MAP_OBJ_GFX_SPIN_CUSHION 171
+#define MAP_OBJ_GFX_DIAMOND_CUSHION 172
+#define MAP_OBJ_GFX_BALL_CUSHION 173
+#define MAP_OBJ_GFX_GRASS_CUSHION 174
+#define MAP_OBJ_GFX_FIRE_CUSHION 175
+#define MAP_OBJ_GFX_WATER_CUSHION 176
+#define MAP_OBJ_GFX_BIG_SNORLAX_DOLL 177
+#define MAP_OBJ_GFX_BIG_RHYDON_DOLL 178
+#define MAP_OBJ_GFX_BIG_LAPRAS_DOLL 179
+#define MAP_OBJ_GFX_BIG_VENUSAUR_DOLL 180
+#define MAP_OBJ_GFX_BIG_CHARIZARD_DOLL 181
+#define MAP_OBJ_GFX_BIG_BLASTOISE_DOLL 182
+#define MAP_OBJ_GFX_BIG_WAILMER_DOLL 183
+#define MAP_OBJ_GFX_BIG_REGIROCK_DOLL 184
+#define MAP_OBJ_GFX_BIG_REGICE_DOLL 185
+#define MAP_OBJ_GFX_BIG_REGISTEEL_DOLL 186
+#define MAP_OBJ_GFX_LATIAS 187
+#define MAP_OBJ_GFX_LATIOS 188
+#define MAP_OBJ_GFX_BOY_5 189
+#define MAP_OBJ_GFX_CONTEST_JUDGE 190
+#define MAP_OBJ_GFX_BRENDAN_WATERING 191
+#define MAP_OBJ_GFX_MAY_WATERING 192
+#define MAP_OBJ_GFX_BRENDAN_DECORATING 193
+#define MAP_OBJ_GFX_MAY_DECORATING 194
+#define MAP_OBJ_GFX_ARCHIE 195
+#define MAP_OBJ_GFX_MAXIE 196
+#define MAP_OBJ_GFX_KYOGRE_1 197
+#define MAP_OBJ_GFX_GROUDON_1 198
+#define MAP_OBJ_GFX_FOSSIL 199
+#define MAP_OBJ_GFX_REGIROCK 200
+#define MAP_OBJ_GFX_REGICE 201
+#define MAP_OBJ_GFX_REGISTEEL 202
+#define MAP_OBJ_GFX_SKITTY 203
+#define MAP_OBJ_GFX_KECLEON_1 204
+#define MAP_OBJ_GFX_KYOGRE_2 205
+#define MAP_OBJ_GFX_GROUDON_2 206
+#define MAP_OBJ_GFX_RAYQUAZA_2 207
+#define MAP_OBJ_GFX_ZIGZAGOON_2 208
+#define MAP_OBJ_GFX_PIKACHU 209
+#define MAP_OBJ_GFX_AZUMARILL 210
+#define MAP_OBJ_GFX_WINGULL 211
+#define MAP_OBJ_GFX_KECLEON_2 212
+#define MAP_OBJ_GFX_TUBER_M_SWIMMING 213
+#define MAP_OBJ_GFX_AZURILL 214
+#define MAP_OBJ_GFX_MOM 215
+#define MAP_OBJ_GFX_LINK_BRENDAN 216
+#define MAP_OBJ_GFX_LINK_MAY 217
+#define MAP_OBJ_GFX_JUAN 218
+#define MAP_OBJ_GFX_SCOTT 219
+#define MAP_OBJ_GFX_POOCHYENA 220
+#define MAP_OBJ_GFX_KYOGRE_3 221
+#define MAP_OBJ_GFX_GROUDON_3 222
+#define MAP_OBJ_GFX_MYSTERY_GIFT_MAN 223
+#define MAP_OBJ_GFX_TRICK_HOUSE_STATUE 224
+#define MAP_OBJ_GFX_KIRLIA 225
+#define MAP_OBJ_GFX_DUSCLOPS 226
+#define MAP_OBJ_GFX_UNION_ROOM_NURSE 227
+#define MAP_OBJ_GFX_SUDOWOODO 228
+#define MAP_OBJ_GFX_MEW 229
+#define MAP_OBJ_GFX_RED 230
+#define MAP_OBJ_GFX_LEAF 231
+#define MAP_OBJ_GFX_DEOXYS 232
+#define MAP_OBJ_GFX_DEOXYS_TRIANGLE 233
+#define MAP_OBJ_GFX_BRANDON 234
+#define MAP_OBJ_GFX_LINK_RS_BRENDAN 235
+#define MAP_OBJ_GFX_LINK_RS_MAY 236
+#define MAP_OBJ_GFX_LUGIA 237
+#define MAP_OBJ_GFX_HOOH 238
+#define MAP_OBJ_GFX_BARD_2 239
+#define MAP_OBJ_GFX_HIPSTER 240
+#define MAP_OBJ_GFX_TRADER 241
+#define MAP_OBJ_GFX_STORYTELLER 242
+#define MAP_OBJ_GFX_GIDDY 243
+#define MAP_OBJ_GFX_PLACEHOLDER_1 244
+#define MAP_OBJ_GFX_PLACEHOLDER_2 245
+
+#define SHADOW_SIZE_S 0
+#define SHADOW_SIZE_M 1
+#define SHADOW_SIZE_L 2
+#define SHADOW_SIZE_XL 3
+
+#define F_INANIMATE (1 << 6)
+#define F_DISABLE_REFLECTION_PALETTE_LOAD (1 << 7)
+
+#define TRACKS_NONE 0
+#define TRACKS_FOOT 1
+#define TRACKS_BIKE_TIRE 2
+
+#endif // GUARD_CONSTANTS_MAP_OBJECTS_H
diff --git a/include/constants/maps.h b/include/constants/maps.h
new file mode 100644
index 000000000..737edd7de
--- /dev/null
+++ b/include/constants/maps.h
@@ -0,0 +1,595 @@
+#ifndef GUARD_CONSTANTS_MAPS_H
+#define GUARD_CONSTANTS_MAPS_H
+
+// Map Group 0
+#define MAP_PETALBURG_CITY (0 | (0 << 8))
+#define MAP_SLATEPORT_CITY (1 | (0 << 8))
+#define MAP_MAUVILLE_CITY (2 | (0 << 8))
+#define MAP_RUSTBORO_CITY (3 | (0 << 8))
+#define MAP_FORTREE_CITY (4 | (0 << 8))
+#define MAP_LILYCOVE_CITY (5 | (0 << 8))
+#define MAP_MOSSDEEP_CITY (6 | (0 << 8))
+#define MAP_SOOTOPOLIS_CITY (7 | (0 << 8))
+#define MAP_EVER_GRANDE_CITY (8 | (0 << 8))
+#define MAP_LITTLEROOT_TOWN (9 | (0 << 8))
+#define MAP_OLDALE_TOWN (10 | (0 << 8))
+#define MAP_DEWFORD_TOWN (11 | (0 << 8))
+#define MAP_LAVARIDGE_TOWN (12 | (0 << 8))
+#define MAP_FALLARBOR_TOWN (13 | (0 << 8))
+#define MAP_VERDANTURF_TOWN (14 | (0 << 8))
+#define MAP_PACIFIDLOG_TOWN (15 | (0 << 8))
+#define MAP_ROUTE101 (16 | (0 << 8))
+#define MAP_ROUTE102 (17 | (0 << 8))
+#define MAP_ROUTE103 (18 | (0 << 8))
+#define MAP_ROUTE104 (19 | (0 << 8))
+#define MAP_ROUTE105 (20 | (0 << 8))
+#define MAP_ROUTE106 (21 | (0 << 8))
+#define MAP_ROUTE107 (22 | (0 << 8))
+#define MAP_ROUTE108 (23 | (0 << 8))
+#define MAP_ROUTE109 (24 | (0 << 8))
+#define MAP_ROUTE110 (25 | (0 << 8))
+#define MAP_ROUTE111 (26 | (0 << 8))
+#define MAP_ROUTE112 (27 | (0 << 8))
+#define MAP_ROUTE113 (28 | (0 << 8))
+#define MAP_ROUTE114 (29 | (0 << 8))
+#define MAP_ROUTE115 (30 | (0 << 8))
+#define MAP_ROUTE116 (31 | (0 << 8))
+#define MAP_ROUTE117 (32 | (0 << 8))
+#define MAP_ROUTE118 (33 | (0 << 8))
+#define MAP_ROUTE119 (34 | (0 << 8))
+#define MAP_ROUTE120 (35 | (0 << 8))
+#define MAP_ROUTE121 (36 | (0 << 8))
+#define MAP_ROUTE122 (37 | (0 << 8))
+#define MAP_ROUTE123 (38 | (0 << 8))
+#define MAP_ROUTE124 (39 | (0 << 8))
+#define MAP_ROUTE125 (40 | (0 << 8))
+#define MAP_ROUTE126 (41 | (0 << 8))
+#define MAP_ROUTE127 (42 | (0 << 8))
+#define MAP_ROUTE128 (43 | (0 << 8))
+#define MAP_ROUTE129 (44 | (0 << 8))
+#define MAP_ROUTE130 (45 | (0 << 8))
+#define MAP_ROUTE131 (46 | (0 << 8))
+#define MAP_ROUTE132 (47 | (0 << 8))
+#define MAP_ROUTE133 (48 | (0 << 8))
+#define MAP_ROUTE134 (49 | (0 << 8))
+#define MAP_UNDERWATER1 (50 | (0 << 8))
+#define MAP_UNDERWATER2 (51 | (0 << 8))
+#define MAP_UNDERWATER3 (52 | (0 << 8))
+#define MAP_UNDERWATER4 (53 | (0 << 8))
+
+// Map Group 1
+#define MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F (0 | (1 << 8))
+#define MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F (1 | (1 << 8))
+#define MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F (2 | (1 << 8))
+#define MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F (3 | (1 << 8))
+#define MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB (4 | (1 << 8))
+
+// Map Group 2
+#define MAP_OLDALE_TOWN_HOUSE1 (0 | (2 << 8))
+#define MAP_OLDALE_TOWN_HOUSE2 (1 | (2 << 8))
+#define MAP_OLDALE_TOWN_POKEMON_CENTER_1F (2 | (2 << 8))
+#define MAP_OLDALE_TOWN_POKEMON_CENTER_2F (3 | (2 << 8))
+#define MAP_OLDALE_TOWN_MART (4 | (2 << 8))
+
+// Map Group 3
+#define MAP_DEWFORD_TOWN_HOUSE1 (0 | (3 << 8))
+#define MAP_DEWFORD_TOWN_POKEMON_CENTER_1F (1 | (3 << 8))
+#define MAP_DEWFORD_TOWN_POKEMON_CENTER_2F (2 | (3 << 8))
+#define MAP_DEWFORD_TOWN_GYM (3 | (3 << 8))
+#define MAP_DEWFORD_TOWN_HALL (4 | (3 << 8))
+#define MAP_DEWFORD_TOWN_HOUSE2 (5 | (3 << 8))
+
+// Map Group 4
+#define MAP_LAVARIDGE_TOWN_HERB_SHOP (0 | (4 << 8))
+#define MAP_LAVARIDGE_TOWN_GYM_1F (1 | (4 << 8))
+#define MAP_LAVARIDGE_TOWN_GYM_B1F (2 | (4 << 8))
+#define MAP_LAVARIDGE_TOWN_HOUSE (3 | (4 << 8))
+#define MAP_LAVARIDGE_TOWN_MART (4 | (4 << 8))
+#define MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F (5 | (4 << 8))
+#define MAP_LAVARIDGE_TOWN_POKEMON_CENTER_2F (6 | (4 << 8))
+
+// Map Group 5
+#define MAP_FALLARBOR_TOWN_MART (0 | (5 << 8))
+#define MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY (1 | (5 << 8))
+#define MAP_FALLARBOR_TOWN_BATTLE_TENT_CORRIDOR (2 | (5 << 8))
+#define MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM (3 | (5 << 8))
+#define MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F (4 | (5 << 8))
+#define MAP_FALLARBOR_TOWN_POKEMON_CENTER_2F (5 | (5 << 8))
+#define MAP_FALLARBOR_TOWN_HOUSE1 (6 | (5 << 8))
+#define MAP_FALLARBOR_TOWN_HOUSE2 (7 | (5 << 8))
+
+// Map Group 6
+#define MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY (0 | (6 << 8))
+#define MAP_VERDANTURF_TOWN_BATTLE_TENT_CORRIDOR (1 | (6 << 8))
+#define MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM (2 | (6 << 8))
+#define MAP_VERDANTURF_TOWN_MART (3 | (6 << 8))
+#define MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F (4 | (6 << 8))
+#define MAP_VERDANTURF_TOWN_POKEMON_CENTER_2F (5 | (6 << 8))
+#define MAP_VERDANTURF_TOWN_WANDAS_HOUSE (6 | (6 << 8))
+#define MAP_VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE (7 | (6 << 8))
+#define MAP_VERDANTURF_TOWN_HOUSE (8 | (6 << 8))
+
+// Map Group 7
+#define MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F (0 | (7 << 8))
+#define MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_2F (1 | (7 << 8))
+#define MAP_PACIFIDLOG_TOWN_HOUSE1 (2 | (7 << 8))
+#define MAP_PACIFIDLOG_TOWN_HOUSE2 (3 | (7 << 8))
+#define MAP_PACIFIDLOG_TOWN_HOUSE3 (4 | (7 << 8))
+#define MAP_PACIFIDLOG_TOWN_HOUSE4 (5 | (7 << 8))
+#define MAP_PACIFIDLOG_TOWN_HOUSE5 (6 | (7 << 8))
+
+// Map Group 8
+#define MAP_PETALBURG_CITY_WALLYS_HOUSE (0 | (8 << 8))
+#define MAP_PETALBURG_CITY_GYM (1 | (8 << 8))
+#define MAP_PETALBURG_CITY_HOUSE1 (2 | (8 << 8))
+#define MAP_PETALBURG_CITY_HOUSE2 (3 | (8 << 8))
+#define MAP_PETALBURG_CITY_POKEMON_CENTER_1F (4 | (8 << 8))
+#define MAP_PETALBURG_CITY_POKEMON_CENTER_2F (5 | (8 << 8))
+#define MAP_PETALBURG_CITY_MART (6 | (8 << 8))
+
+// Map Group 9
+#define MAP_SLATEPORT_CITY_STERNS_SHIPYARD_1F (0 | (9 << 8))
+#define MAP_SLATEPORT_CITY_STERNS_SHIPYARD_2F (1 | (9 << 8))
+#define MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY (2 | (9 << 8))
+#define MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR (3 | (9 << 8))
+#define MAP_SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM (4 | (9 << 8))
+#define MAP_SLATEPORT_CITY_HOUSE1 (5 | (9 << 8))
+#define MAP_SLATEPORT_CITY_POKEMON_FAN_CLUB (6 | (9 << 8))
+#define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F (7 | (9 << 8))
+#define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_2F (8 | (9 << 8))
+#define MAP_SLATEPORT_CITY_HARBOR (9 | (9 << 8))
+#define MAP_SLATEPORT_CITY_HOUSE2 (10 | (9 << 8))
+#define MAP_SLATEPORT_CITY_POKEMON_CENTER_1F (11 | (9 << 8))
+#define MAP_SLATEPORT_CITY_POKEMON_CENTER_2F (12 | (9 << 8))
+#define MAP_SLATEPORT_CITY_MART (13 | (9 << 8))
+
+// Map Group 10
+#define MAP_MAUVILLE_CITY_GYM (0 | (10 << 8))
+#define MAP_MAUVILLE_CITY_BIKE_SHOP (1 | (10 << 8))
+#define MAP_MAUVILLE_CITY_HOUSE1 (2 | (10 << 8))
+#define MAP_MAUVILLE_CITY_GAME_CORNER (3 | (10 << 8))
+#define MAP_MAUVILLE_CITY_HOUSE2 (4 | (10 << 8))
+#define MAP_MAUVILLE_CITY_POKEMON_CENTER_1F (5 | (10 << 8))
+#define MAP_MAUVILLE_CITY_POKEMON_CENTER_2F (6 | (10 << 8))
+#define MAP_MAUVILLE_CITY_MART (7 | (10 << 8))
+
+// Map Group 11
+#define MAP_RUSTBORO_CITY_DEVON_CORP_1F (0 | (11 << 8))
+#define MAP_RUSTBORO_CITY_DEVON_CORP_2F (1 | (11 << 8))
+#define MAP_RUSTBORO_CITY_DEVON_CORP_3F (2 | (11 << 8))
+#define MAP_RUSTBORO_CITY_GYM (3 | (11 << 8))
+#define MAP_RUSTBORO_CITY_POKEMON_SCHOOL (4 | (11 << 8))
+#define MAP_RUSTBORO_CITY_POKEMON_CENTER_1F (5 | (11 << 8))
+#define MAP_RUSTBORO_CITY_POKEMON_CENTER_2F (6 | (11 << 8))
+#define MAP_RUSTBORO_CITY_MART (7 | (11 << 8))
+#define MAP_RUSTBORO_CITY_FLAT1_1F (8 | (11 << 8))
+#define MAP_RUSTBORO_CITY_FLAT1_2F (9 | (11 << 8))
+#define MAP_RUSTBORO_CITY_HOUSE1 (10 | (11 << 8))
+#define MAP_RUSTBORO_CITY_CUTTERS_HOUSE (11 | (11 << 8))
+#define MAP_RUSTBORO_CITY_HOUSE2 (12 | (11 << 8))
+#define MAP_RUSTBORO_CITY_FLAT2_1F (13 | (11 << 8))
+#define MAP_RUSTBORO_CITY_FLAT2_2F (14 | (11 << 8))
+#define MAP_RUSTBORO_CITY_FLAT2_3F (15 | (11 << 8))
+#define MAP_RUSTBORO_CITY_HOUSE3 (16 | (11 << 8))
+
+// Map Group 12
+#define MAP_FORTREE_CITY_HOUSE1 (0 | (12 << 8))
+#define MAP_FORTREE_CITY_GYM (1 | (12 << 8))
+#define MAP_FORTREE_CITY_POKEMON_CENTER_1F (2 | (12 << 8))
+#define MAP_FORTREE_CITY_POKEMON_CENTER_2F (3 | (12 << 8))
+#define MAP_FORTREE_CITY_MART (4 | (12 << 8))
+#define MAP_FORTREE_CITY_HOUSE2 (5 | (12 << 8))
+#define MAP_FORTREE_CITY_HOUSE3 (6 | (12 << 8))
+#define MAP_FORTREE_CITY_HOUSE4 (7 | (12 << 8))
+#define MAP_FORTREE_CITY_HOUSE5 (8 | (12 << 8))
+#define MAP_FORTREE_CITY_DECORATION_SHOP (9 | (12 << 8))
+
+// Map Group 13
+#define MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F (0 | (13 << 8))
+#define MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_2F (1 | (13 << 8))
+#define MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F (2 | (13 << 8))
+#define MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F (3 | (13 << 8))
+#define MAP_LILYCOVE_CITY_CONTEST_LOBBY (4 | (13 << 8))
+#define MAP_LILYCOVE_CITY_CONTEST_HALL (5 | (13 << 8))
+#define MAP_LILYCOVE_CITY_POKEMON_CENTER_1F (6 | (13 << 8))
+#define MAP_LILYCOVE_CITY_POKEMON_CENTER_2F (7 | (13 << 8))
+#define MAP_LILYCOVE_CITY_UNUSED_MART (8 | (13 << 8))
+#define MAP_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB (9 | (13 << 8))
+#define MAP_LILYCOVE_CITY_HARBOR (10 | (13 << 8))
+#define MAP_LILYCOVE_CITY_MOVE_DELETERS_HOUSE (11 | (13 << 8))
+#define MAP_LILYCOVE_CITY_HOUSE1 (12 | (13 << 8))
+#define MAP_LILYCOVE_CITY_HOUSE2 (13 | (13 << 8))
+#define MAP_LILYCOVE_CITY_HOUSE3 (14 | (13 << 8))
+#define MAP_LILYCOVE_CITY_HOUSE4 (15 | (13 << 8))
+#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F (16 | (13 << 8))
+#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F (17 | (13 << 8))
+#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F (18 | (13 << 8))
+#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F (19 | (13 << 8))
+#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F (20 | (13 << 8))
+#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP (21 | (13 << 8))
+#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR (22 | (13 << 8))
+
+// Map Group 14
+#define MAP_MOSSDEEP_CITY_GYM (0 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_HOUSE1 (1 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_HOUSE2 (2 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F (3 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_POKEMON_CENTER_2F (4 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_MART (5 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_HOUSE3 (6 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_STEVENS_HOUSE (7 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_HOUSE4 (8 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_SPACE_CENTER_1F (9 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_SPACE_CENTER_2F (10 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_GAME_CORNER_1F (11 | (14 << 8))
+#define MAP_MOSSDEEP_CITY_GAME_CORNER_B1F (12 | (14 << 8))
+
+// Map Group 15
+#define MAP_SOOTOPOLIS_CITY_GYM_1F (0 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_GYM_B1F (1 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F (2 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F (3 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_MART (4 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_HOUSE1 (5 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_HOUSE2 (6 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_HOUSE3 (7 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_HOUSE4 (8 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_HOUSE5 (9 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_HOUSE6 (10 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_HOUSE7 (11 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_HOUSE8 (12 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_HOUSE9_1F (13 | (15 << 8))
+#define MAP_SOOTOPOLIS_CITY_HOUSE9_B1F (14 | (15 << 8))
+
+// Map Group 16
+#define MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM (0 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_PHOEBES_ROOM (1 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_GLACIAS_ROOM (2 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_DRAKES_ROOM (3 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_CHAMPIONS_ROOM (4 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_CORRIDOR1 (5 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_CORRIDOR2 (6 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_CORRIDOR3 (7 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_CORRIDOR4 (8 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_CORRIDOR5 (9 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F (10 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_HALL_OF_FAME (11 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F (12 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_POKEMON_CENTER_2F (13 | (16 << 8))
+#define MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F (14 | (16 << 8))
+
+// Map Group 17
+#define MAP_ROUTE104_MR_BRINEYS_HOUSE (0 | (17 << 8))
+#define MAP_ROUTE104_PRETTY_PETAL_FLOWER_SHOP (1 | (17 << 8))
+
+// Map Group 18
+#define MAP_ROUTE111_WINSTRATE_FAMILYS_HOUSE (0 | (18 << 8))
+#define MAP_ROUTE111_OLD_LADYS_REST_STOP (1 | (18 << 8))
+
+// Map Group 19
+#define MAP_ROUTE112_CABLE_CAR_STATION (0 | (19 << 8))
+#define MAP_MT_CHIMNEY_CABLE_CAR_STATION (1 | (19 << 8))
+
+// Map Group 20
+#define MAP_ROUTE114_FOSSIL_MANIACS_HOUSE (0 | (20 << 8))
+#define MAP_ROUTE114_FOSSIL_MANIACS_TUNNEL (1 | (20 << 8))
+#define MAP_ROUTE114_LANETTES_HOUSE (2 | (20 << 8))
+
+// Map Group 21
+#define MAP_ROUTE116_TUNNELERS_REST_HOUSE (0 | (21 << 8))
+
+// Map Group 22
+#define MAP_ROUTE117_POKEMON_DAY_CARE (0 | (22 << 8))
+
+// Map Group 23
+#define MAP_ROUTE121_SAFARI_ZONE_ENTRANCE (0 | (23 << 8))
+
+// Map Group 24
+#define MAP_METEOR_FALLS_1F_1R (0 | (24 << 8))
+#define MAP_METEOR_FALLS_1F_2R (1 | (24 << 8))
+#define MAP_METEOR_FALLS_B1F_1R (2 | (24 << 8))
+#define MAP_METEOR_FALLS_B1F_2R (3 | (24 << 8))
+#define MAP_RUSTURF_TUNNEL (4 | (24 << 8))
+#define MAP_UNDERWATER_SOOTOPOLIS_CITY (5 | (24 << 8))
+#define MAP_DESERT_RUINS (6 | (24 << 8))
+#define MAP_GRANITE_CAVE_1F (7 | (24 << 8))
+#define MAP_GRANITE_CAVE_B1F (8 | (24 << 8))
+#define MAP_GRANITE_CAVE_B2F (9 | (24 << 8))
+#define MAP_GRANITE_CAVE_STEVENS_ROOM (10 | (24 << 8))
+#define MAP_PETALBURG_WOODS (11 | (24 << 8))
+#define MAP_MT_CHIMNEY (12 | (24 << 8))
+#define MAP_JAGGED_PASS (13 | (24 << 8))
+#define MAP_FIERY_PATH (14 | (24 << 8))
+#define MAP_MT_PYRE_1F (15 | (24 << 8))
+#define MAP_MT_PYRE_2F (16 | (24 << 8))
+#define MAP_MT_PYRE_3F (17 | (24 << 8))
+#define MAP_MT_PYRE_4F (18 | (24 << 8))
+#define MAP_MT_PYRE_5F (19 | (24 << 8))
+#define MAP_MT_PYRE_6F (20 | (24 << 8))
+#define MAP_MT_PYRE_EXTERIOR (21 | (24 << 8))
+#define MAP_MT_PYRE_SUMMIT (22 | (24 << 8))
+#define MAP_AQUA_HIDEOUT_1F (23 | (24 << 8))
+#define MAP_AQUA_HIDEOUT_B1F (24 | (24 << 8))
+#define MAP_AQUA_HIDEOUT_B2F (25 | (24 << 8))
+#define MAP_UNDERWATER_SEAFLOOR_CAVERN (26 | (24 << 8))
+#define MAP_SEAFLOOR_CAVERN_ENTRANCE (27 | (24 << 8))
+#define MAP_SEAFLOOR_CAVERN_ROOM1 (28 | (24 << 8))
+#define MAP_SEAFLOOR_CAVERN_ROOM2 (29 | (24 << 8))
+#define MAP_SEAFLOOR_CAVERN_ROOM3 (30 | (24 << 8))
+#define MAP_SEAFLOOR_CAVERN_ROOM4 (31 | (24 << 8))
+#define MAP_SEAFLOOR_CAVERN_ROOM5 (32 | (24 << 8))
+#define MAP_SEAFLOOR_CAVERN_ROOM6 (33 | (24 << 8))
+#define MAP_SEAFLOOR_CAVERN_ROOM7 (34 | (24 << 8))
+#define MAP_SEAFLOOR_CAVERN_ROOM8 (35 | (24 << 8))
+#define MAP_SEAFLOOR_CAVERN_ROOM9 (36 | (24 << 8))
+#define MAP_CAVE_OF_ORIGIN_ENTRANCE (37 | (24 << 8))
+#define MAP_CAVE_OF_ORIGIN_1F (38 | (24 << 8))
+#define MAP_CAVE_OF_ORIGIN_UNUSED_RS_B1F (39 | (24 << 8)) //
+#define MAP_CAVE_OF_ORIGIN_UNUSED_RS_B2F (40 | (24 << 8)) // Ruby/Sapphire leftovers
+#define MAP_CAVE_OF_ORIGIN_UNUSED_RS_B3F (41 | (24 << 8)) //
+#define MAP_CAVE_OF_ORIGIN_B1F (42 | (24 << 8))
+#define MAP_VICTORY_ROAD_1F (43 | (24 << 8))
+#define MAP_VICTORY_ROAD_B1F (44 | (24 << 8))
+#define MAP_VICTORY_ROAD_B2F (45 | (24 << 8))
+#define MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM (46 | (24 << 8))
+#define MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM (47 | (24 << 8))
+#define MAP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM (48 | (24 << 8))
+#define MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM (49 | (24 << 8))
+#define MAP_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM (50 | (24 << 8))
+#define MAP_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM (51 | (24 << 8))
+#define MAP_NEW_MAUVILLE_ENTRANCE (52 | (24 << 8))
+#define MAP_NEW_MAUVILLE_INSIDE (53 | (24 << 8))
+#define MAP_ABANDONED_SHIP_DECK (54 | (24 << 8))
+#define MAP_ABANDONED_SHIP_CORRIDORS_1F (55 | (24 << 8))
+#define MAP_ABANDONED_SHIP_ROOMS_1F (56 | (24 << 8))
+#define MAP_ABANDONED_SHIP_CORRIDORS_B1F (57 | (24 << 8))
+#define MAP_ABANDONED_SHIP_ROOMS_B1F (58 | (24 << 8))
+#define MAP_ABANDONED_SHIP_ROOMS2_B1F (59 | (24 << 8))
+#define MAP_ABANDONED_SHIP_UNDERWATER1 (60 | (24 << 8))
+#define MAP_ABANDONED_SHIP_ROOM_B1F (61 | (24 << 8))
+#define MAP_ABANDONED_SHIP_ROOMS2_1F (62 | (24 << 8))
+#define MAP_ABANDONED_SHIP_CAPTAINS_OFFICE (63 | (24 << 8))
+#define MAP_ABANDONED_SHIP_UNDERWATER2 (64 | (24 << 8))
+#define MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS (65 | (24 << 8))
+#define MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS (66 | (24 << 8))
+#define MAP_ISLAND_CAVE (67 | (24 << 8))
+#define MAP_ANCIENT_TOMB (68 | (24 << 8))
+#define MAP_UNDERWATER_ROUTE134 (69 | (24 << 8))
+#define MAP_UNDERWATER_SEALED_CHAMBER (70 | (24 << 8))
+#define MAP_SEALED_CHAMBER_OUTER_ROOM (71 | (24 << 8))
+#define MAP_SEALED_CHAMBER_INNER_ROOM (72 | (24 << 8))
+#define MAP_SCORCHED_SLAB (73 | (24 << 8))
+#define MAP_UNUSED_RUBY_MAGMA_HIDEOUT_1F (74 | (24 << 8)) //
+#define MAP_UNUSED_RUBY_MAGMA_HIDEOUT_B1F (75 | (24 << 8)) // Ruby/Sapphire leftovers
+#define MAP_UNUSED_RUBY_MAGMA_HIDEOUT_B2F (76 | (24 << 8)) //
+#define MAP_SKY_PILLAR_ENTRANCE (77 | (24 << 8))
+#define MAP_SKY_PILLAR_OUTSIDE (78 | (24 << 8))
+#define MAP_SKY_PILLAR_1F (79 | (24 << 8))
+#define MAP_SKY_PILLAR_2F (80 | (24 << 8))
+#define MAP_SKY_PILLAR_3F (81 | (24 << 8))
+#define MAP_SKY_PILLAR_4F (82 | (24 << 8))
+#define MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM (83 | (24 << 8))
+#define MAP_SKY_PILLAR_5F (84 | (24 << 8))
+#define MAP_SKY_PILLAR_TOP (85 | (24 << 8))
+#define MAP_MAGMA_HIDEOUT_1F (86 | (24 << 8))
+#define MAP_MAGMA_HIDEOUT_2F_1R (87 | (24 << 8))
+#define MAP_MAGMA_HIDEOUT_2F_2R (88 | (24 << 8))
+#define MAP_MAGMA_HIDEOUT_3F_1R (89 | (24 << 8))
+#define MAP_MAGMA_HIDEOUT_3F_2R (90 | (24 << 8))
+#define MAP_MAGMA_HIDEOUT_4F (91 | (24 << 8))
+#define MAP_MAGMA_HIDEOUT_3F_3R (92 | (24 << 8))
+#define MAP_MAGMA_HIDEOUT_2F_3R (93 | (24 << 8))
+#define MAP_MIRAGE_TOWER_1F (94 | (24 << 8))
+#define MAP_MIRAGE_TOWER_2F (95 | (24 << 8))
+#define MAP_MIRAGE_TOWER_3F (96 | (24 << 8))
+#define MAP_MIRAGE_TOWER_4F (97 | (24 << 8))
+#define MAP_DESERT_UNDERPASS (98 | (24 << 8))
+#define MAP_ARTISAN_CAVE_B1F (99 | (24 << 8))
+#define MAP_ARTISAN_CAVE_1F (100 | (24 << 8))
+#define MAP_UNDERWATER_MARINE_CAVE (101 | (24 << 8))
+#define MAP_MARINE_CAVE_ENTRANCE (102 | (24 << 8))
+#define MAP_MARINE_CAVE_END (103 | (24 << 8))
+#define MAP_TERRA_CAVE_ENTRANCE (104 | (24 << 8))
+#define MAP_TERRA_CAVE_END (105 | (24 << 8))
+#define MAP_ALTERING_CAVE (106 | (24 << 8))
+#define MAP_METEOR_FALLS_STEVENS_CAVE (107 | (24 << 8))
+
+// Map Group 25
+#define MAP_SECRET_BASE_RED_CAVE1 (0 | (25 << 8))
+#define MAP_SECRET_BASE_BROWN_CAVE1 (1 | (25 << 8))
+#define MAP_SECRET_BASE_BLUE_CAVE1 (2 | (25 << 8))
+#define MAP_SECRET_BASE_YELLOW_CAVE1 (3 | (25 << 8))
+#define MAP_SECRET_BASE_TREE1 (4 | (25 << 8))
+#define MAP_SECRET_BASE_SHRUB1 (5 | (25 << 8))
+#define MAP_SECRET_BASE_RED_CAVE2 (6 | (25 << 8))
+#define MAP_SECRET_BASE_BROWN_CAVE2 (7 | (25 << 8))
+#define MAP_SECRET_BASE_BLUE_CAVE2 (8 | (25 << 8))
+#define MAP_SECRET_BASE_YELLOW_CAVE2 (9 | (25 << 8))
+#define MAP_SECRET_BASE_TREE2 (10 | (25 << 8))
+#define MAP_SECRET_BASE_SHRUB2 (11 | (25 << 8))
+#define MAP_SECRET_BASE_RED_CAVE3 (12 | (25 << 8))
+#define MAP_SECRET_BASE_BROWN_CAVE3 (13 | (25 << 8))
+#define MAP_SECRET_BASE_BLUE_CAVE3 (14 | (25 << 8))
+#define MAP_SECRET_BASE_YELLOW_CAVE3 (15 | (25 << 8))
+#define MAP_SECRET_BASE_TREE3 (16 | (25 << 8))
+#define MAP_SECRET_BASE_SHRUB3 (17 | (25 << 8))
+#define MAP_SECRET_BASE_RED_CAVE4 (18 | (25 << 8))
+#define MAP_SECRET_BASE_BROWN_CAVE4 (19 | (25 << 8))
+#define MAP_SECRET_BASE_BLUE_CAVE4 (20 | (25 << 8))
+#define MAP_SECRET_BASE_YELLOW_CAVE4 (21 | (25 << 8))
+#define MAP_SECRET_BASE_TREE4 (22 | (25 << 8))
+#define MAP_SECRET_BASE_SHRUB4 (23 | (25 << 8))
+#define MAP_SINGLE_BATTLE_COLOSSEUM (24 | (25 << 8))
+#define MAP_TRADE_CENTER (25 | (25 << 8))
+#define MAP_RECORD_CORNER (26 | (25 << 8))
+#define MAP_DOUBLE_BATTLE_COLOSSEUM (27 | (25 << 8))
+#define MAP_LINK_CONTEST_ROOM1 (28 | (25 << 8))
+#define MAP_UNKNOWN_MAP_25_29 (29 | (25 << 8))
+#define MAP_UNKNOWN_MAP_25_30 (30 | (25 << 8))
+#define MAP_UNKNOWN_MAP_25_31 (31 | (25 << 8))
+#define MAP_UNKNOWN_MAP_25_32 (32 | (25 << 8))
+#define MAP_UNKNOWN_MAP_25_33 (33 | (25 << 8))
+#define MAP_UNKNOWN_MAP_25_34 (34 | (25 << 8))
+#define MAP_LINK_CONTEST_ROOM2 (35 | (25 << 8))
+#define MAP_LINK_CONTEST_ROOM3 (36 | (25 << 8))
+#define MAP_LINK_CONTEST_ROOM4 (37 | (25 << 8))
+#define MAP_LINK_CONTEST_ROOM5 (38 | (25 << 8))
+#define MAP_LINK_CONTEST_ROOM6 (39 | (25 << 8))
+#define MAP_INSIDE_OF_TRUCK (40 | (25 << 8))
+#define MAP_SS_TIDAL_CORRIDOR (41 | (25 << 8))
+#define MAP_SS_TIDAL_LOWER_DECK (42 | (25 << 8))
+#define MAP_SS_TIDAL_ROOMS (43 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE_01 (44 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE_02 (45 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE_03 (46 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE_04 (47 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE_05 (48 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE_06 (49 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE_07 (50 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE_08 (51 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE_09 (52 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE_10 (53 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE_11 (54 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE_12 (55 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE_13 (56 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE_14 (57 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE_15 (58 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE_16 (59 | (25 << 8))
+#define MAP_UNION_ROOM (60 | (25 << 8))
+
+// Map Group 26
+#define MAP_SAFARI_ZONE_NORTHWEST (0 | (26 << 8))
+#define MAP_SAFARI_ZONE_NORTHEAST (1 | (26 << 8))
+#define MAP_SAFARI_ZONE_SOUTHWEST (2 | (26 << 8))
+#define MAP_SAFARI_ZONE_SOUTHEAST (3 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_OUTSIDE_WEST (4 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY (5 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR (6 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR (7 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM (8 | (26 << 8))
+#define MAP_SOUTHERN_ISLAND_EXTERIOR (9 | (26 << 8))
+#define MAP_SOUTHERN_ISLAND_INTERIOR (10 | (26 << 8))
+#define MAP_SAFARI_ZONE_REST_HOUSE (11 | (26 << 8))
+#define MAP_SAFARI_ZONE_EM_1 (12 | (26 << 8))
+#define MAP_SAFARI_ZONE_EM_2 (13 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_OUTSIDE_EAST (14 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM (15 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2 (16 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM_2 (17 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY (18 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR (19 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM (20 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM (21 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY (22 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR (23 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM (24 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY (25 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE (26 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP (27 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY (28 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR (29 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM (30 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY (31 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM (32 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM (33 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY (34 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR (35 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM (36 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_1 (37 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_2 (38 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_3 (39 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_RANKING_HALL (40 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE_1 (41 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER (42 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE_2 (43 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE_3 (44 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE_4 (45 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_SCOTTS_HOUSE (46 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE_5 (47 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE_6 (48 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE_7 (49 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_RECEPTION_GATE (50 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE_8 (51 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE_9 (52 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F (53 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F (54 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_MART (55 | (26 << 8))
+#define MAP_FARAWAY_ISLAND_ENTRANCE (56 | (26 << 8))
+#define MAP_FARAWAY_ISLAND_INTERIOR (57 | (26 << 8))
+#define MAP_BIRTH_ISLAND_EXTERIOR (58 | (26 << 8))
+#define MAP_BIRTH_ISLAND_HARBOR (59 | (26 << 8))
+#define MAP_TRAINER_HILL_ENTRANCE (60 | (26 << 8))
+#define MAP_TRAINER_HILL_1F (61 | (26 << 8))
+#define MAP_TRAINER_HILL_2F (62 | (26 << 8))
+#define MAP_TRAINER_HILL_3F (63 | (26 << 8))
+#define MAP_TRAINER_HILL_4F (64 | (26 << 8))
+#define MAP_TRAINER_HILL_ROOF (65 | (26 << 8))
+#define MAP_NAVEL_ROCK_EXTERIOR (66 | (26 << 8))
+#define MAP_NAVEL_ROCK_HARBOR (67 | (26 << 8))
+#define MAP_NAVEL_ROCK_ENTRANCE (68 | (26 << 8))
+#define MAP_NAVEL_ROCK_B1F (69 | (26 << 8))
+#define MAP_NAVEL_ROCK_FORK (70 | (26 << 8))
+#define MAP_NAVEL_ROCK_UP_1 (71 | (26 << 8))
+#define MAP_NAVEL_ROCK_UP_2 (72 | (26 << 8))
+#define MAP_NAVEL_ROCK_UP_3 (73 | (26 << 8))
+#define MAP_NAVEL_ROCK_UP_4 (74 | (26 << 8))
+#define MAP_NAVEL_ROCK_TOP (75 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN_01 (76 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN_02 (77 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN_03 (78 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN_04 (79 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN_05 (80 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN_06 (81 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN_07 (82 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN_08 (83 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN_09 (84 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN_10 (85 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN_11 (86 | (26 << 8))
+#define MAP_NAVEL_ROCK_BOTTOM (87 | (26 << 8))
+#define MAP_TRAINER_HILL_ELEVATOR (88 | (26 << 8))
+
+// Map Group 27
+#define MAP_ROUTE104_PROTOTYPE (0 | (27 << 8))
+#define MAP_ROUTE104_PROTOTYPE_PRETTY_PETAL_FLOWER_SHOP (1 | (27 << 8))
+
+// Map Group 28
+#define MAP_ROUTE109_SEASHORE_HOUSE (0 | (28 << 8))
+
+// Map Group 29
+#define MAP_ROUTE110_TRICK_HOUSE_ENTRANCE (0 | (29 << 8))
+#define MAP_ROUTE110_TRICK_HOUSE_END (1 | (29 << 8))
+#define MAP_ROUTE110_TRICK_HOUSE_CORRIDOR (2 | (29 << 8))
+#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE1 (3 | (29 << 8))
+#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE2 (4 | (29 << 8))
+#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE3 (5 | (29 << 8))
+#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE4 (6 | (29 << 8))
+#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE5 (7 | (29 << 8))
+#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE6 (8 | (29 << 8))
+#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE7 (9 | (29 << 8))
+#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE8 (10 | (29 << 8))
+#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE (11 | (29 << 8))
+#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE (12 | (29 << 8))
+
+// Map Group 30
+#define MAP_ROUTE113_GLASS_WORKSHOP (0 | (30 << 8))
+
+// Map Group 31
+#define MAP_ROUTE123_BERRY_MASTERS_HOUSE (0 | (31 << 8))
+
+// Map Group 32
+#define MAP_ROUTE119_WEATHER_INSTITUTE_1F (0 | (32 << 8))
+#define MAP_ROUTE119_WEATHER_INSTITUTE_2F (1 | (32 << 8))
+#define MAP_ROUTE119_HOUSE (2 | (32 << 8))
+
+// Map Group 33
+#define MAP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE (0 | (33 << 8))
+
+
+#define MAP_NONE (0x7F | (0x7F << 8))
+#define MAP_UNDEFINED (0xFF | (0xFF << 8))
+
+
+#define MAP_GROUP(map) (MAP_##map >> 8)
+#define MAP_NUM(map) (MAP_##map & 0xFF)
+
+#endif // GUARD_CONSTANTS_MAPS_H
diff --git a/include/constants/mauville_man.h b/include/constants/mauville_man.h
new file mode 100644
index 000000000..b00e3a291
--- /dev/null
+++ b/include/constants/mauville_man.h
@@ -0,0 +1,10 @@
+#ifndef GUARD_CONSTANTS_MAUVILLE_MAN_H
+#define GUARD_CONSTANTS_MAUVILLE_MAN_H
+
+#define MAUVILLE_MAN_BARD 0
+#define MAUVILLE_MAN_HIPSTER 1
+#define MAUVILLE_MAN_TRADER 2
+#define MAUVILLE_MAN_STORYTELLER 3
+#define MAUVILLE_MAN_GIDDY 4
+
+#endif // GUARD_CONSTANTS_MAUVILLE_MAN_H
diff --git a/include/constants/moves.h b/include/constants/moves.h
new file mode 100644
index 000000000..f3a3acb90
--- /dev/null
+++ b/include/constants/moves.h
@@ -0,0 +1,362 @@
+#ifndef GUARD_CONSTANTS_MOVES_H
+#define GUARD_CONSTANTS_MOVES_H
+
+#define MOVE_NONE 0
+#define MOVE_POUND 1
+#define MOVE_KARATE_CHOP 2
+#define MOVE_DOUBLE_SLAP 3
+#define MOVE_COMET_PUNCH 4
+#define MOVE_MEGA_PUNCH 5
+#define MOVE_PAY_DAY 6
+#define MOVE_FIRE_PUNCH 7
+#define MOVE_ICE_PUNCH 8
+#define MOVE_THUNDER_PUNCH 9
+#define MOVE_SCRATCH 10
+#define MOVE_VICE_GRIP 11
+#define MOVE_GUILLOTINE 12
+#define MOVE_RAZOR_WIND 13
+#define MOVE_SWORDS_DANCE 14
+#define MOVE_CUT 15
+#define MOVE_GUST 16
+#define MOVE_WING_ATTACK 17
+#define MOVE_WHIRLWIND 18
+#define MOVE_FLY 19
+#define MOVE_BIND 20
+#define MOVE_SLAM 21
+#define MOVE_VINE_WHIP 22
+#define MOVE_STOMP 23
+#define MOVE_DOUBLE_KICK 24
+#define MOVE_MEGA_KICK 25
+#define MOVE_JUMP_KICK 26
+#define MOVE_ROLLING_KICK 27
+#define MOVE_SAND_ATTACK 28
+#define MOVE_HEADBUTT 29
+#define MOVE_HORN_ATTACK 30
+#define MOVE_FURY_ATTACK 31
+#define MOVE_HORN_DRILL 32
+#define MOVE_TACKLE 33
+#define MOVE_BODY_SLAM 34
+#define MOVE_WRAP 35
+#define MOVE_TAKE_DOWN 36
+#define MOVE_THRASH 37
+#define MOVE_DOUBLE_EDGE 38
+#define MOVE_TAIL_WHIP 39
+#define MOVE_POISON_STING 40
+#define MOVE_TWINEEDLE 41
+#define MOVE_PIN_MISSILE 42
+#define MOVE_LEER 43
+#define MOVE_BITE 44
+#define MOVE_GROWL 45
+#define MOVE_ROAR 46
+#define MOVE_SING 47
+#define MOVE_SUPERSONIC 48
+#define MOVE_SONIC_BOOM 49
+#define MOVE_DISABLE 50
+#define MOVE_ACID 51
+#define MOVE_EMBER 52
+#define MOVE_FLAMETHROWER 53
+#define MOVE_MIST 54
+#define MOVE_WATER_GUN 55
+#define MOVE_HYDRO_PUMP 56
+#define MOVE_SURF 57
+#define MOVE_ICE_BEAM 58
+#define MOVE_BLIZZARD 59
+#define MOVE_PSYBEAM 60
+#define MOVE_BUBBLE_BEAM 61
+#define MOVE_AURORA_BEAM 62
+#define MOVE_HYPER_BEAM 63
+#define MOVE_PECK 64
+#define MOVE_DRILL_PECK 65
+#define MOVE_SUBMISSION 66
+#define MOVE_LOW_KICK 67
+#define MOVE_COUNTER 68
+#define MOVE_SEISMIC_TOSS 69
+#define MOVE_STRENGTH 70
+#define MOVE_ABSORB 71
+#define MOVE_MEGA_DRAIN 72
+#define MOVE_LEECH_SEED 73
+#define MOVE_GROWTH 74
+#define MOVE_RAZOR_LEAF 75
+#define MOVE_SOLAR_BEAM 76
+#define MOVE_POISON_POWDER 77
+#define MOVE_STUN_SPORE 78
+#define MOVE_SLEEP_POWDER 79
+#define MOVE_PETAL_DANCE 80
+#define MOVE_STRING_SHOT 81
+#define MOVE_DRAGON_RAGE 82
+#define MOVE_FIRE_SPIN 83
+#define MOVE_THUNDER_SHOCK 84
+#define MOVE_THUNDERBOLT 85
+#define MOVE_THUNDER_WAVE 86
+#define MOVE_THUNDER 87
+#define MOVE_ROCK_THROW 88
+#define MOVE_EARTHQUAKE 89
+#define MOVE_FISSURE 90
+#define MOVE_DIG 91
+#define MOVE_TOXIC 92
+#define MOVE_CONFUSION 93
+#define MOVE_PSYCHIC 94
+#define MOVE_HYPNOSIS 95
+#define MOVE_MEDITATE 96
+#define MOVE_AGILITY 97
+#define MOVE_QUICK_ATTACK 98
+#define MOVE_RAGE 99
+#define MOVE_TELEPORT 100
+#define MOVE_NIGHT_SHADE 101
+#define MOVE_MIMIC 102
+#define MOVE_SCREECH 103
+#define MOVE_DOUBLE_TEAM 104
+#define MOVE_RECOVER 105
+#define MOVE_HARDEN 106
+#define MOVE_MINIMIZE 107
+#define MOVE_SMOKESCREEN 108
+#define MOVE_CONFUSE_RAY 109
+#define MOVE_WITHDRAW 110
+#define MOVE_DEFENSE_CURL 111
+#define MOVE_BARRIER 112
+#define MOVE_LIGHT_SCREEN 113
+#define MOVE_HAZE 114
+#define MOVE_REFLECT 115
+#define MOVE_FOCUS_ENERGY 116
+#define MOVE_BIDE 117
+#define MOVE_METRONOME 118
+#define MOVE_MIRROR_MOVE 119
+#define MOVE_SELF_DESTRUCT 120
+#define MOVE_EGG_BOMB 121
+#define MOVE_LICK 122
+#define MOVE_SMOG 123
+#define MOVE_SLUDGE 124
+#define MOVE_BONE_CLUB 125
+#define MOVE_FIRE_BLAST 126
+#define MOVE_WATERFALL 127
+#define MOVE_CLAMP 128
+#define MOVE_SWIFT 129
+#define MOVE_SKULL_BASH 130
+#define MOVE_SPIKE_CANNON 131
+#define MOVE_CONSTRICT 132
+#define MOVE_AMNESIA 133
+#define MOVE_KINESIS 134
+#define MOVE_SOFT_BOILED 135
+#define MOVE_HI_JUMP_KICK 136
+#define MOVE_GLARE 137
+#define MOVE_DREAM_EATER 138
+#define MOVE_POISON_GAS 139
+#define MOVE_BARRAGE 140
+#define MOVE_LEECH_LIFE 141
+#define MOVE_LOVELY_KISS 142
+#define MOVE_SKY_ATTACK 143
+#define MOVE_TRANSFORM 144
+#define MOVE_BUBBLE 145
+#define MOVE_DIZZY_PUNCH 146
+#define MOVE_SPORE 147
+#define MOVE_FLASH 148
+#define MOVE_PSYWAVE 149
+#define MOVE_SPLASH 150
+#define MOVE_ACID_ARMOR 151
+#define MOVE_CRABHAMMER 152
+#define MOVE_EXPLOSION 153
+#define MOVE_FURY_SWIPES 154
+#define MOVE_BONEMERANG 155
+#define MOVE_REST 156
+#define MOVE_ROCK_SLIDE 157
+#define MOVE_HYPER_FANG 158
+#define MOVE_SHARPEN 159
+#define MOVE_CONVERSION 160
+#define MOVE_TRI_ATTACK 161
+#define MOVE_SUPER_FANG 162
+#define MOVE_SLASH 163
+#define MOVE_SUBSTITUTE 164
+#define MOVE_STRUGGLE 165
+#define MOVE_SKETCH 166
+#define MOVE_TRIPLE_KICK 167
+#define MOVE_THIEF 168
+#define MOVE_SPIDER_WEB 169
+#define MOVE_MIND_READER 170
+#define MOVE_NIGHTMARE 171
+#define MOVE_FLAME_WHEEL 172
+#define MOVE_SNORE 173
+#define MOVE_CURSE 174
+#define MOVE_FLAIL 175
+#define MOVE_CONVERSION_2 176
+#define MOVE_AEROBLAST 177
+#define MOVE_COTTON_SPORE 178
+#define MOVE_REVERSAL 179
+#define MOVE_SPITE 180
+#define MOVE_POWDER_SNOW 181
+#define MOVE_PROTECT 182
+#define MOVE_MACH_PUNCH 183
+#define MOVE_SCARY_FACE 184
+#define MOVE_FAINT_ATTACK 185
+#define MOVE_SWEET_KISS 186
+#define MOVE_BELLY_DRUM 187
+#define MOVE_SLUDGE_BOMB 188
+#define MOVE_MUD_SLAP 189
+#define MOVE_OCTAZOOKA 190
+#define MOVE_SPIKES 191
+#define MOVE_ZAP_CANNON 192
+#define MOVE_FORESIGHT 193
+#define MOVE_DESTINY_BOND 194
+#define MOVE_PERISH_SONG 195
+#define MOVE_ICY_WIND 196
+#define MOVE_DETECT 197
+#define MOVE_BONE_RUSH 198
+#define MOVE_LOCK_ON 199
+#define MOVE_OUTRAGE 200
+#define MOVE_SANDSTORM 201
+#define MOVE_GIGA_DRAIN 202
+#define MOVE_ENDURE 203
+#define MOVE_CHARM 204
+#define MOVE_ROLLOUT 205
+#define MOVE_FALSE_SWIPE 206
+#define MOVE_SWAGGER 207
+#define MOVE_MILK_DRINK 208
+#define MOVE_SPARK 209
+#define MOVE_FURY_CUTTER 210
+#define MOVE_STEEL_WING 211
+#define MOVE_MEAN_LOOK 212
+#define MOVE_ATTRACT 213
+#define MOVE_SLEEP_TALK 214
+#define MOVE_HEAL_BELL 215
+#define MOVE_RETURN 216
+#define MOVE_PRESENT 217
+#define MOVE_FRUSTRATION 218
+#define MOVE_SAFEGUARD 219
+#define MOVE_PAIN_SPLIT 220
+#define MOVE_SACRED_FIRE 221
+#define MOVE_MAGNITUDE 222
+#define MOVE_DYNAMIC_PUNCH 223
+#define MOVE_MEGAHORN 224
+#define MOVE_DRAGON_BREATH 225
+#define MOVE_BATON_PASS 226
+#define MOVE_ENCORE 227
+#define MOVE_PURSUIT 228
+#define MOVE_RAPID_SPIN 229
+#define MOVE_SWEET_SCENT 230
+#define MOVE_IRON_TAIL 231
+#define MOVE_METAL_CLAW 232
+#define MOVE_VITAL_THROW 233
+#define MOVE_MORNING_SUN 234
+#define MOVE_SYNTHESIS 235
+#define MOVE_MOONLIGHT 236
+#define MOVE_HIDDEN_POWER 237
+#define MOVE_CROSS_CHOP 238
+#define MOVE_TWISTER 239
+#define MOVE_RAIN_DANCE 240
+#define MOVE_SUNNY_DAY 241
+#define MOVE_CRUNCH 242
+#define MOVE_MIRROR_COAT 243
+#define MOVE_PSYCH_UP 244
+#define MOVE_EXTREME_SPEED 245
+#define MOVE_ANCIENT_POWER 246
+#define MOVE_SHADOW_BALL 247
+#define MOVE_FUTURE_SIGHT 248
+#define MOVE_ROCK_SMASH 249
+#define MOVE_WHIRLPOOL 250
+#define MOVE_BEAT_UP 251
+#define MOVE_FAKE_OUT 252
+#define MOVE_UPROAR 253
+#define MOVE_STOCKPILE 254
+#define MOVE_SPIT_UP 255
+#define MOVE_SWALLOW 256
+#define MOVE_HEAT_WAVE 257
+#define MOVE_HAIL 258
+#define MOVE_TORMENT 259
+#define MOVE_FLATTER 260
+#define MOVE_WILL_O_WISP 261
+#define MOVE_MEMENTO 262
+#define MOVE_FACADE 263
+#define MOVE_FOCUS_PUNCH 264
+#define MOVE_SMELLING_SALT 265
+#define MOVE_FOLLOW_ME 266
+#define MOVE_NATURE_POWER 267
+#define MOVE_CHARGE 268
+#define MOVE_TAUNT 269
+#define MOVE_HELPING_HAND 270
+#define MOVE_TRICK 271
+#define MOVE_ROLE_PLAY 272
+#define MOVE_WISH 273
+#define MOVE_ASSIST 274
+#define MOVE_INGRAIN 275
+#define MOVE_SUPERPOWER 276
+#define MOVE_MAGIC_COAT 277
+#define MOVE_RECYCLE 278
+#define MOVE_REVENGE 279
+#define MOVE_BRICK_BREAK 280
+#define MOVE_YAWN 281
+#define MOVE_KNOCK_OFF 282
+#define MOVE_ENDEAVOR 283
+#define MOVE_ERUPTION 284
+#define MOVE_SKILL_SWAP 285
+#define MOVE_IMPRISON 286
+#define MOVE_REFRESH 287
+#define MOVE_GRUDGE 288
+#define MOVE_SNATCH 289
+#define MOVE_SECRET_POWER 290
+#define MOVE_DIVE 291
+#define MOVE_ARM_THRUST 292
+#define MOVE_CAMOUFLAGE 293
+#define MOVE_TAIL_GLOW 294
+#define MOVE_LUSTER_PURGE 295
+#define MOVE_MIST_BALL 296
+#define MOVE_FEATHER_DANCE 297
+#define MOVE_TEETER_DANCE 298
+#define MOVE_BLAZE_KICK 299
+#define MOVE_MUD_SPORT 300
+#define MOVE_ICE_BALL 301
+#define MOVE_NEEDLE_ARM 302
+#define MOVE_SLACK_OFF 303
+#define MOVE_HYPER_VOICE 304
+#define MOVE_POISON_FANG 305
+#define MOVE_CRUSH_CLAW 306
+#define MOVE_BLAST_BURN 307
+#define MOVE_HYDRO_CANNON 308
+#define MOVE_METEOR_MASH 309
+#define MOVE_ASTONISH 310
+#define MOVE_WEATHER_BALL 311
+#define MOVE_AROMATHERAPY 312
+#define MOVE_FAKE_TEARS 313
+#define MOVE_AIR_CUTTER 314
+#define MOVE_OVERHEAT 315
+#define MOVE_ODOR_SLEUTH 316
+#define MOVE_ROCK_TOMB 317
+#define MOVE_SILVER_WIND 318
+#define MOVE_METAL_SOUND 319
+#define MOVE_GRASS_WHISTLE 320
+#define MOVE_TICKLE 321
+#define MOVE_COSMIC_POWER 322
+#define MOVE_WATER_SPOUT 323
+#define MOVE_SIGNAL_BEAM 324
+#define MOVE_SHADOW_PUNCH 325
+#define MOVE_EXTRASENSORY 326
+#define MOVE_SKY_UPPERCUT 327
+#define MOVE_SAND_TOMB 328
+#define MOVE_SHEER_COLD 329
+#define MOVE_MUDDY_WATER 330
+#define MOVE_BULLET_SEED 331
+#define MOVE_AERIAL_ACE 332
+#define MOVE_ICICLE_SPEAR 333
+#define MOVE_IRON_DEFENSE 334
+#define MOVE_BLOCK 335
+#define MOVE_HOWL 336
+#define MOVE_DRAGON_CLAW 337
+#define MOVE_FRENZY_PLANT 338
+#define MOVE_BULK_UP 339
+#define MOVE_BOUNCE 340
+#define MOVE_MUD_SHOT 341
+#define MOVE_POISON_TAIL 342
+#define MOVE_COVET 343
+#define MOVE_VOLT_TACKLE 344
+#define MOVE_MAGICAL_LEAF 345
+#define MOVE_WATER_SPORT 346
+#define MOVE_CALM_MIND 347
+#define MOVE_LEAF_BLADE 348
+#define MOVE_DRAGON_DANCE 349
+#define MOVE_ROCK_BLAST 350
+#define MOVE_SHOCK_WAVE 351
+#define MOVE_WATER_PULSE 352
+#define MOVE_DOOM_DESIRE 353
+#define MOVE_PSYCHO_BOOST 354
+
+#define LAST_MOVE_INDEX MOVE_PSYCHO_BOOST
+
+#endif // GUARD_CONSTANTS_MOVES_H
diff --git a/include/constants/songs.h b/include/constants/songs.h
new file mode 100644
index 000000000..2e3adcbbf
--- /dev/null
+++ b/include/constants/songs.h
@@ -0,0 +1,465 @@
+#ifndef GUARD_CONSTANTS_SONGS_H
+#define GUARD_CONSTANTS_SONGS_H
+
+#define SE_STOP 0
+#define SE_KAIFUKU 1
+#define SE_PC_LOGON 2
+#define SE_PC_OFF 3
+#define SE_PC_ON 4
+#define SE_SELECT 5
+#define SE_WIN_OPEN 6
+#define SE_WALL_HIT 7
+#define SE_DOOR 8
+#define SE_KAIDAN 9
+#define SE_DANSA 10
+#define SE_JITENSYA 11
+#define SE_KOUKA_L 12
+#define SE_KOUKA_M 13
+#define SE_KOUKA_H 14
+#define SE_BOWA2 15
+#define SE_POKE_DEAD 16
+#define SE_NIGERU 17
+#define SE_JIDO_DOA 18
+#define SE_NAMINORI 19
+#define SE_BAN 20
+#define SE_PIN 21
+#define SE_BOO 22
+#define SE_BOWA 23
+#define SE_JYUNI 24
+#define SE_A 25
+#define SE_I 26
+#define SE_U 27
+#define SE_E 28
+#define SE_O 29
+#define SE_N 30
+#define SE_SEIKAI 31
+#define SE_HAZURE 32
+#define SE_EXP 33
+#define SE_JITE_PYOKO 34
+#define SE_MU_PACHI 35
+#define SE_TK_KASYA 36
+#define SE_FU_ZAKU 37
+#define SE_FU_ZAKU2 38
+#define SE_FU_ZUZUZU 39
+#define SE_RU_GASHIN 40
+#define SE_RU_GASYAN 41
+#define SE_RU_BARI 42
+#define SE_RU_HYUU 43
+#define SE_KI_GASYAN 44
+#define SE_TK_WARPIN 45
+#define SE_TK_WARPOUT 46
+#define SE_TU_SAA 47
+#define SE_HI_TURUN 48
+#define SE_TRACK_MOVE 49
+#define SE_TRACK_STOP 50
+#define SE_TRACK_HAIK 51
+#define SE_TRACK_DOOR 52
+#define SE_MOTER 53
+#define SE_CARD 54
+#define SE_SAVE 55
+#define SE_KON 56
+#define SE_KON2 57
+#define SE_KON3 58
+#define SE_KON4 59
+#define SE_SUIKOMU 60
+#define SE_NAGERU 61
+#define SE_TOY_C 62
+#define SE_TOY_D 63
+#define SE_TOY_E 64
+#define SE_TOY_F 65
+#define SE_TOY_G 66
+#define SE_TOY_A 67
+#define SE_TOY_B 68
+#define SE_TOY_C1 69
+#define SE_MIZU 70
+#define SE_HASHI 71
+#define SE_DAUGI 72
+#define SE_PINPON 73
+#define SE_FUUSEN1 74
+#define SE_FUUSEN2 75
+#define SE_FUUSEN3 76
+#define SE_TOY_KABE 77
+#define SE_TOY_DANGO 78
+#define SE_DOKU 79
+#define SE_ESUKA 80
+#define SE_T_AME 81
+#define SE_T_AME_E 82
+#define SE_T_OOAME 83
+#define SE_T_OOAME_E 84
+#define SE_T_KOAME 85
+#define SE_T_KOAME_E 86
+#define SE_T_KAMI 87
+#define SE_T_KAMI2 88
+#define SE_ELEBETA 89
+#define SE_HINSI 90
+#define SE_EXPMAX 91
+#define SE_TAMAKORO 92
+#define SE_TAMAKORO_E 93
+#define SE_BASABASA 94
+#define SE_REGI 95
+#define SE_C_GAJI 96
+#define SE_C_MAKU_U 97
+#define SE_C_MAKU_D 98
+#define SE_C_PASI 99
+#define SE_C_SYU 100
+#define SE_C_PIKON 101
+#define SE_REAPOKE 102
+#define SE_OP_BASYU 103
+#define SE_BT_START 104
+#define SE_DENDOU 105
+#define SE_JIHANKI 106
+#define SE_TAMA 107
+#define SE_Z_SCROLL 108
+#define SE_Z_PAGE 109
+#define SE_PN_ON 110
+#define SE_PN_OFF 111
+#define SE_Z_SEARCH 112
+#define SE_TAMAGO 113
+#define SE_TB_START 114
+#define SE_TB_KON 115
+#define SE_TB_KARA 116
+#define SE_BIDORO 117
+#define SE_W085 118
+#define SE_W085B 119
+#define SE_W231 120
+#define SE_W171 121
+#define SE_W233 122
+#define SE_W233B 123
+#define SE_W145 124
+#define SE_W145B 125
+#define SE_W145C 126
+#define SE_W240 127
+#define SE_W015 128
+#define SE_W081 129
+#define SE_W081B 130
+#define SE_W088 131
+#define SE_W016 132
+#define SE_W016B 133
+#define SE_W003 134
+#define SE_W104 135
+#define SE_W013 136
+#define SE_W196 137
+#define SE_W086 138
+#define SE_W004 139
+#define SE_W025 140
+#define SE_W025B 141
+#define SE_W152 142
+#define SE_W026 143
+#define SE_W172 144
+#define SE_W172B 145
+#define SE_W053 146
+#define SE_W007 147
+#define SE_W092 148
+#define SE_W221 149
+#define SE_W221B 150
+#define SE_W052 151
+#define SE_W036 152
+#define SE_W059 153
+#define SE_W059B 154
+#define SE_W010 155
+#define SE_W011 156
+#define SE_W017 157
+#define SE_W019 158
+#define SE_W028 159
+#define SE_W013B 160
+#define SE_W044 161
+#define SE_W029 162
+#define SE_W057 163
+#define SE_W056 164
+#define SE_W250 165
+#define SE_W030 166
+#define SE_W039 167
+#define SE_W054 168
+#define SE_W077 169
+#define SE_W020 170
+#define SE_W082 171
+#define SE_W047 172
+#define SE_W195 173
+#define SE_W006 174
+#define SE_W091 175
+#define SE_W146 176
+#define SE_W120 177
+#define SE_W153 178
+#define SE_W071B 179
+#define SE_W071 180
+#define SE_W103 181
+#define SE_W062 182
+#define SE_W062B 183
+#define SE_W048 184
+#define SE_W187 185
+#define SE_W118 186
+#define SE_W155 187
+#define SE_W122 188
+#define SE_W060 189
+#define SE_W185 190
+#define SE_W014 191
+#define SE_W043 192
+#define SE_W207 193
+#define SE_W207B 194
+#define SE_W215 195
+#define SE_W109 196
+#define SE_W173 197
+#define SE_W280 198
+#define SE_W202 199
+#define SE_W060B 200
+#define SE_W076 201
+#define SE_W080 202
+#define SE_W100 203
+#define SE_W107 204
+#define SE_W166 205
+#define SE_W129 206
+#define SE_W115 207
+#define SE_W112 208
+#define SE_W197 209
+#define SE_W199 210
+#define SE_W236 211
+#define SE_W204 212
+#define SE_W268 213
+#define SE_W070 214
+#define SE_W063 215
+#define SE_W127 216
+#define SE_W179 217
+#define SE_W151 218
+#define SE_W201 219
+#define SE_W161 220
+#define SE_W161B 221
+#define SE_W227 222
+#define SE_W227B 223
+#define SE_W226 224
+#define SE_W208 225
+#define SE_W213 226
+#define SE_W213B 227
+#define SE_W234 228
+#define SE_W260 229
+#define SE_W328 230
+#define SE_W320 231
+#define SE_W255 232
+#define SE_W291 233
+#define SE_W089 234
+#define SE_W239 235
+#define SE_W230 236
+#define SE_W281 237
+#define SE_W327 238
+#define SE_W287 239
+#define SE_W257 240
+#define SE_W253 241
+#define SE_W258 242
+#define SE_W322 243
+#define SE_W298 244
+#define SE_W287B 245
+#define SE_W114 246
+#define SE_W063B 247
+#define BGM_STOP 349
+#define BGM_TETSUJI 350
+#define BGM_FIELD13 351
+#define BGM_KACHI22 352
+#define BGM_KACHI2 353
+#define BGM_KACHI3 354
+#define BGM_KACHI5 355
+#define BGM_PCC 356
+#define BGM_NIBI 357
+#define BGM_SUIKUN 358
+#define BGM_DOORO1 359
+#define BGM_DOORO_X1 360
+#define BGM_DOORO_X3 361
+#define BGM_MACHI_S2 362
+#define BGM_MACHI_S4 363
+#define BGM_GIM 364
+#define BGM_NAMINORI 365
+#define BGM_DAN01 366
+#define BGM_FANFA1 367
+#define BGM_ME_ASA 368
+#define BGM_ME_BACHI 369
+#define BGM_FANFA4 370
+#define BGM_FANFA5 371
+#define BGM_ME_WAZA 372
+#define BGM_BIJYUTU 373
+#define BGM_DOORO_X4 374
+#define BGM_FUNE_KAN 375
+#define BGM_ME_SHINKA 376
+#define BGM_SHINKA 377
+#define BGM_ME_WASURE 378
+#define BGM_SYOUJOEYE 379
+#define BGM_BOYEYE 380
+#define BGM_DAN02 381
+#define BGM_MACHI_S3 382
+#define BGM_ODAMAKI 383
+#define BGM_B_TOWER 384
+#define BGM_SWIMEYE 385
+#define BGM_DAN03 386
+#define BGM_ME_KINOMI 387
+#define BGM_ME_TAMA 388
+#define BGM_ME_B_BIG 389
+#define BGM_ME_B_SMALL 390
+#define BGM_ME_ZANNEN 391
+#define BGM_BD_TIME 392
+#define BGM_TEST1 393
+#define BGM_TEST2 394
+#define BGM_TEST3 395
+#define BGM_TEST4 396
+#define BGM_TEST 397
+#define BGM_GOMACHI0 398
+#define BGM_GOTOWN 399
+#define BGM_POKECEN 400
+#define BGM_NEXTROAD 401
+#define BGM_GRANROAD 402
+#define BGM_CYCLING 403
+#define BGM_FRIENDLY 404
+#define BGM_MISHIRO 405
+#define BGM_TOZAN 406
+#define BGM_GIRLEYE 407
+#define BGM_MINAMO 408
+#define BGM_ASHROAD 409
+#define BGM_EVENT0 410
+#define BGM_DEEPDEEP 411
+#define BGM_KACHI1 412
+#define BGM_TITLE3 413
+#define BGM_DEMO1 414
+#define BGM_GIRL_SUP 415
+#define BGM_HAGESHII 416
+#define BGM_KAKKOII 417
+#define BGM_KAZANBAI 418
+#define BGM_AQA_0 419
+#define BGM_TSURETEK 420
+#define BGM_BOY_SUP 421
+#define BGM_RAINBOW 422
+#define BGM_AYASII 423
+#define BGM_KACHI4 424
+#define BGM_ROPEWAY 425
+#define BGM_CASINO 426
+#define BGM_HIGHTOWN 427
+#define BGM_SAFARI 428
+#define BGM_C_ROAD 429
+#define BGM_AJITO 430
+#define BGM_M_BOAT 431
+#define BGM_M_DUNGON 432
+#define BGM_FINECITY 433
+#define BGM_MACHUPI 434
+#define BGM_P_SCHOOL 435
+#define BGM_DENDOU 436
+#define BGM_TONEKUSA 437
+#define BGM_MABOROSI 438
+#define BGM_CON_FAN 439
+#define BGM_CONTEST0 440
+#define BGM_MGM0 441
+#define BGM_T_BATTLE 442
+#define BGM_OOAME 443
+#define BGM_HIDERI 444
+#define BGM_RUNECITY 445
+#define BGM_CON_K 446
+#define BGM_EIKOU_R 447
+#define BGM_KARAKURI 448
+#define BGM_HUTAGO 449
+#define BGM_SITENNOU 450
+#define BGM_YAMA_EYE 451
+#define BGM_CONLOBBY 452
+#define BGM_INTER_V 453
+#define BGM_DAIGO 454
+#define BGM_THANKFOR 455
+#define BGM_END 456
+#define BGM_BATTLE_FRONTIER 457
+#define BGM_BATTLE_ARENA 458
+#define BGM_ME_BATTLE_POINTS 459
+#define BGM_ME_MATCH_CALL 460
+#define BGM_BATTLE_PYRAMID 461
+#define BGM_BATTLE_PYRAMID_SUMMIT 462
+#define BGM_BATTLE_PALACE 463
+#define BGM_FANFA_RAYQUAZA 464
+#define BGM_BATTLE_TOWER 465
+#define BGM_ME_BATTLE_SYMBOL 466
+#define BGM_BATTLE_DOME_TOURNAMENT 467
+#define BGM_BATTLE_PIKE 468
+#define BGM_BATTLE_FACTORY 469
+#define BGM_BATTLE_LEGENDARY 470
+#define BGM_BATTLE_FRONTIER_BRAIN 471
+#define BGM_BATTLE_MEW 472
+#define BGM_BATTLE_DOME 473
+#define BGM_BATTLE27 474
+#define BGM_BATTLE31 475
+#define BGM_BATTLE20 476
+#define BGM_BATTLE32 477
+#define BGM_BATTLE33 478
+#define BGM_BATTLE36 479
+#define BGM_BATTLE34 480
+#define BGM_BATTLE35 481
+#define BGM_BATTLE38 482
+#define BGM_BATTLE30 483
+#define BGM_FRLG_FOLLOW_ME 484
+#define BGM_FRLG_GAMECORNER 485
+#define BGM_FRLG_ROCKET_HIDEOUT 486
+#define BGM_FRLG_GYM 487
+#define BGM_FRLG_JIGGLYPUFF 488
+#define BGM_FRLG_OPENING 489
+#define BGM_FRLG_TITLE 490
+#define BGM_FRLG_CINNABAR_ISLAND 491
+#define BGM_FRLG_LAVENDER_TOWN 492
+#define BGM_FRLG_HEALING_TEST 493
+#define BGM_FRLG_BICYCLE 494
+#define BGM_FRLG_SUSPICIOUS_EYE 495
+#define BGM_FRLG_GIRL_EYE 496
+#define BGM_FRLG_BOY_EYE 497
+#define BGM_FRLG_CONGRATULATIONS_HALL_OF_FAME 498
+#define BGM_FRLG_VIRIDIAN_FOREST 499
+#define BGM_FRLG_MT_MOON 500
+#define BGM_FRLG_POKEMON_MANSION 501
+#define BGM_FRLG_CREDITS 502
+#define BGM_FRLG_ROUTE_1 503
+#define BGM_FRLG_ROUTE_24 504
+#define BGM_FRLG_ROUTE_3 505
+#define BGM_FRLG_ROUTE_11 506
+#define BGM_FRLG_INDIGO_PLATEAU 507
+#define BGM_FRLG_BATTLE_LEADER 508
+#define BGM_FRLG_BATTLE_TRAINER 509
+#define BGM_FRLG_BATTLE_WILD_POKEMON 510
+#define BGM_FRLG_BATTLE_CHAMPION 511
+#define BGM_FRLG_PALLET_TOWN 512
+#define BGM_FRLG_OAK_LAB 513
+#define BGM_FRLG_PROF_OAK 514
+#define BGM_FRLG_POKEMON_CENTER 515
+#define BGM_FRLG_SS_ANNE 516
+#define BGM_FRLG_SURF 517
+#define BGM_FRLG_POKEMON_TOWER 518
+#define BGM_FRLG_SILPH 519
+#define BGM_FRLG_CERULEAN_CITY 520
+#define BGM_FRLG_CELADON_CITY 521
+#define BGM_FRLG_KACHI_TRAINER 522
+#define BGM_FRLG_KACHI_WILD_POKEMON 523
+#define BGM_FRLG_KACHI_LEADER 524
+#define BGM_FRLG_VERMILION_CITY 525
+#define BGM_FRLG_VIRIDIAN_CITY 526
+#define BGM_FRLG_RIVAL 527
+#define BGM_FRLG_RIVAL_POSTBATTLE 528
+#define BGM_FRLG_ME_POKEDEX_EVAL 529
+#define BGM_FRLG_ME_KEYITEM 530
+#define BGM_FRLG_FANFA_POKEMON_CAUGHT 531
+#define BGM_FRLG_FANFA_TRAINERCARD_PHOTO 532
+#define BGM_FRLG_GAMEFREAK_LOGO 533
+#define BGM_FRLG_CAUGHT_POKEMON 534
+#define BGM_FRLG_GAME_EXPLANATION_START 535
+#define BGM_FRLG_GAME_EXPLANATION_MIDDLE 536
+#define BGM_FRLG_GAME_EXPLANATION_END 537
+#define BGM_FRLG_POKEMON_JUMP 538
+#define BGM_FRLG_UNION_ROOM 539
+#define BGM_FRLG_POKEMON_NETWORK_CENTER 540
+#define BGM_FRLG_MYSTERY_GIFT 541
+#define BGM_FRLG_DODRIO_BERRY_PICK 542
+#define BGM_FRLG_MT_EMBER 543
+#define BGM_FRLG_TEACHY_TV_EPISODE 544
+#define BGM_FRLG_SEVII_ISLANDS 545
+#define BGM_FRLG_TANOBY_RUINS 546
+#define BGM_FRLG_ISLAND_ONE 547
+#define BGM_FRLG_ISLAND_FOUR 548
+#define BGM_FRLG_ISLAND_SIX 549
+#define BGM_FRLG_FLUTE 550
+#define BGM_FRLG_BATTLE_DEOXYS 551
+#define BGM_FRLG_BATTLE_MEWTWO 552
+#define BGM_FRLG_BATTLE_LEGENDARY 553
+#define BGM_FRLG_LEADER_EYE 554
+#define BGM_FRLG_DEOXYS_EYE 555
+#define BGM_FRLG_TRAINER_TOWER 556
+#define BGM_FRLG_HALL_OF_FAME_PALLET_TOWN 557
+#define BGM_FRLG_TEACHY_TV 558
+
+#define BGM_ROUTE_118 0x7FFF // What is this for?
+
+#endif // GUARD_CONSTANTS_SONGS_H
diff --git a/include/constants/species.h b/include/constants/species.h
new file mode 100644
index 000000000..f698ada14
--- /dev/null
+++ b/include/constants/species.h
@@ -0,0 +1,450 @@
+#ifndef GUARD_CONSTANTS_SPECIES_H
+#define GUARD_CONSTANTS_SPECIES_H
+
+#define SPECIES_NONE 0
+#define SPECIES_BULBASAUR 1
+#define SPECIES_IVYSAUR 2
+#define SPECIES_VENUSAUR 3
+#define SPECIES_CHARMANDER 4
+#define SPECIES_CHARMELEON 5
+#define SPECIES_CHARIZARD 6
+#define SPECIES_SQUIRTLE 7
+#define SPECIES_WARTORTLE 8
+#define SPECIES_BLASTOISE 9
+#define SPECIES_CATERPIE 10
+#define SPECIES_METAPOD 11
+#define SPECIES_BUTTERFREE 12
+#define SPECIES_WEEDLE 13
+#define SPECIES_KAKUNA 14
+#define SPECIES_BEEDRILL 15
+#define SPECIES_PIDGEY 16
+#define SPECIES_PIDGEOTTO 17
+#define SPECIES_PIDGEOT 18
+#define SPECIES_RATTATA 19
+#define SPECIES_RATICATE 20
+#define SPECIES_SPEAROW 21
+#define SPECIES_FEAROW 22
+#define SPECIES_EKANS 23
+#define SPECIES_ARBOK 24
+#define SPECIES_PIKACHU 25
+#define SPECIES_RAICHU 26
+#define SPECIES_SANDSHREW 27
+#define SPECIES_SANDSLASH 28
+#define SPECIES_NIDORAN_F 29
+#define SPECIES_NIDORINA 30
+#define SPECIES_NIDOQUEEN 31
+#define SPECIES_NIDORAN_M 32
+#define SPECIES_NIDORINO 33
+#define SPECIES_NIDOKING 34
+#define SPECIES_CLEFAIRY 35
+#define SPECIES_CLEFABLE 36
+#define SPECIES_VULPIX 37
+#define SPECIES_NINETALES 38
+#define SPECIES_JIGGLYPUFF 39
+#define SPECIES_WIGGLYTUFF 40
+#define SPECIES_ZUBAT 41
+#define SPECIES_GOLBAT 42
+#define SPECIES_ODDISH 43
+#define SPECIES_GLOOM 44
+#define SPECIES_VILEPLUME 45
+#define SPECIES_PARAS 46
+#define SPECIES_PARASECT 47
+#define SPECIES_VENONAT 48
+#define SPECIES_VENOMOTH 49
+#define SPECIES_DIGLETT 50
+#define SPECIES_DUGTRIO 51
+#define SPECIES_MEOWTH 52
+#define SPECIES_PERSIAN 53
+#define SPECIES_PSYDUCK 54
+#define SPECIES_GOLDUCK 55
+#define SPECIES_MANKEY 56
+#define SPECIES_PRIMEAPE 57
+#define SPECIES_GROWLITHE 58
+#define SPECIES_ARCANINE 59
+#define SPECIES_POLIWAG 60
+#define SPECIES_POLIWHIRL 61
+#define SPECIES_POLIWRATH 62
+#define SPECIES_ABRA 63
+#define SPECIES_KADABRA 64
+#define SPECIES_ALAKAZAM 65
+#define SPECIES_MACHOP 66
+#define SPECIES_MACHOKE 67
+#define SPECIES_MACHAMP 68
+#define SPECIES_BELLSPROUT 69
+#define SPECIES_WEEPINBELL 70
+#define SPECIES_VICTREEBEL 71
+#define SPECIES_TENTACOOL 72
+#define SPECIES_TENTACRUEL 73
+#define SPECIES_GEODUDE 74
+#define SPECIES_GRAVELER 75
+#define SPECIES_GOLEM 76
+#define SPECIES_PONYTA 77
+#define SPECIES_RAPIDASH 78
+#define SPECIES_SLOWPOKE 79
+#define SPECIES_SLOWBRO 80
+#define SPECIES_MAGNEMITE 81
+#define SPECIES_MAGNETON 82
+#define SPECIES_FARFETCHD 83
+#define SPECIES_DODUO 84
+#define SPECIES_DODRIO 85
+#define SPECIES_SEEL 86
+#define SPECIES_DEWGONG 87
+#define SPECIES_GRIMER 88
+#define SPECIES_MUK 89
+#define SPECIES_SHELLDER 90
+#define SPECIES_CLOYSTER 91
+#define SPECIES_GASTLY 92
+#define SPECIES_HAUNTER 93
+#define SPECIES_GENGAR 94
+#define SPECIES_ONIX 95
+#define SPECIES_DROWZEE 96
+#define SPECIES_HYPNO 97
+#define SPECIES_KRABBY 98
+#define SPECIES_KINGLER 99
+#define SPECIES_VOLTORB 100
+#define SPECIES_ELECTRODE 101
+#define SPECIES_EXEGGCUTE 102
+#define SPECIES_EXEGGUTOR 103
+#define SPECIES_CUBONE 104
+#define SPECIES_MAROWAK 105
+#define SPECIES_HITMONLEE 106
+#define SPECIES_HITMONCHAN 107
+#define SPECIES_LICKITUNG 108
+#define SPECIES_KOFFING 109
+#define SPECIES_WEEZING 110
+#define SPECIES_RHYHORN 111
+#define SPECIES_RHYDON 112
+#define SPECIES_CHANSEY 113
+#define SPECIES_TANGELA 114
+#define SPECIES_KANGASKHAN 115
+#define SPECIES_HORSEA 116
+#define SPECIES_SEADRA 117
+#define SPECIES_GOLDEEN 118
+#define SPECIES_SEAKING 119
+#define SPECIES_STARYU 120
+#define SPECIES_STARMIE 121
+#define SPECIES_MR_MIME 122
+#define SPECIES_SCYTHER 123
+#define SPECIES_JYNX 124
+#define SPECIES_ELECTABUZZ 125
+#define SPECIES_MAGMAR 126
+#define SPECIES_PINSIR 127
+#define SPECIES_TAUROS 128
+#define SPECIES_MAGIKARP 129
+#define SPECIES_GYARADOS 130
+#define SPECIES_LAPRAS 131
+#define SPECIES_DITTO 132
+#define SPECIES_EEVEE 133
+#define SPECIES_VAPOREON 134
+#define SPECIES_JOLTEON 135
+#define SPECIES_FLAREON 136
+#define SPECIES_PORYGON 137
+#define SPECIES_OMANYTE 138
+#define SPECIES_OMASTAR 139
+#define SPECIES_KABUTO 140
+#define SPECIES_KABUTOPS 141
+#define SPECIES_AERODACTYL 142
+#define SPECIES_SNORLAX 143
+#define SPECIES_ARTICUNO 144
+#define SPECIES_ZAPDOS 145
+#define SPECIES_MOLTRES 146
+#define SPECIES_DRATINI 147
+#define SPECIES_DRAGONAIR 148
+#define SPECIES_DRAGONITE 149
+#define SPECIES_MEWTWO 150
+#define SPECIES_MEW 151
+#define SPECIES_CHIKORITA 152
+#define SPECIES_BAYLEEF 153
+#define SPECIES_MEGANIUM 154
+#define SPECIES_CYNDAQUIL 155
+#define SPECIES_QUILAVA 156
+#define SPECIES_TYPHLOSION 157
+#define SPECIES_TOTODILE 158
+#define SPECIES_CROCONAW 159
+#define SPECIES_FERALIGATR 160
+#define SPECIES_SENTRET 161
+#define SPECIES_FURRET 162
+#define SPECIES_HOOTHOOT 163
+#define SPECIES_NOCTOWL 164
+#define SPECIES_LEDYBA 165
+#define SPECIES_LEDIAN 166
+#define SPECIES_SPINARAK 167
+#define SPECIES_ARIADOS 168
+#define SPECIES_CROBAT 169
+#define SPECIES_CHINCHOU 170
+#define SPECIES_LANTURN 171
+#define SPECIES_PICHU 172
+#define SPECIES_CLEFFA 173
+#define SPECIES_IGGLYBUFF 174
+#define SPECIES_TOGEPI 175
+#define SPECIES_TOGETIC 176
+#define SPECIES_NATU 177
+#define SPECIES_XATU 178
+#define SPECIES_MAREEP 179
+#define SPECIES_FLAAFFY 180
+#define SPECIES_AMPHAROS 181
+#define SPECIES_BELLOSSOM 182
+#define SPECIES_MARILL 183
+#define SPECIES_AZUMARILL 184
+#define SPECIES_SUDOWOODO 185
+#define SPECIES_POLITOED 186
+#define SPECIES_HOPPIP 187
+#define SPECIES_SKIPLOOM 188
+#define SPECIES_JUMPLUFF 189
+#define SPECIES_AIPOM 190
+#define SPECIES_SUNKERN 191
+#define SPECIES_SUNFLORA 192
+#define SPECIES_YANMA 193
+#define SPECIES_WOOPER 194
+#define SPECIES_QUAGSIRE 195
+#define SPECIES_ESPEON 196
+#define SPECIES_UMBREON 197
+#define SPECIES_MURKROW 198
+#define SPECIES_SLOWKING 199
+#define SPECIES_MISDREAVUS 200
+#define SPECIES_UNOWN 201
+#define SPECIES_WOBBUFFET 202
+#define SPECIES_GIRAFARIG 203
+#define SPECIES_PINECO 204
+#define SPECIES_FORRETRESS 205
+#define SPECIES_DUNSPARCE 206
+#define SPECIES_GLIGAR 207
+#define SPECIES_STEELIX 208
+#define SPECIES_SNUBBULL 209
+#define SPECIES_GRANBULL 210
+#define SPECIES_QWILFISH 211
+#define SPECIES_SCIZOR 212
+#define SPECIES_SHUCKLE 213
+#define SPECIES_HERACROSS 214
+#define SPECIES_SNEASEL 215
+#define SPECIES_TEDDIURSA 216
+#define SPECIES_URSARING 217
+#define SPECIES_SLUGMA 218
+#define SPECIES_MAGCARGO 219
+#define SPECIES_SWINUB 220
+#define SPECIES_PILOSWINE 221
+#define SPECIES_CORSOLA 222
+#define SPECIES_REMORAID 223
+#define SPECIES_OCTILLERY 224
+#define SPECIES_DELIBIRD 225
+#define SPECIES_MANTINE 226
+#define SPECIES_SKARMORY 227
+#define SPECIES_HOUNDOUR 228
+#define SPECIES_HOUNDOOM 229
+#define SPECIES_KINGDRA 230
+#define SPECIES_PHANPY 231
+#define SPECIES_DONPHAN 232
+#define SPECIES_PORYGON2 233
+#define SPECIES_STANTLER 234
+#define SPECIES_SMEARGLE 235
+#define SPECIES_TYROGUE 236
+#define SPECIES_HITMONTOP 237
+#define SPECIES_SMOOCHUM 238
+#define SPECIES_ELEKID 239
+#define SPECIES_MAGBY 240
+#define SPECIES_MILTANK 241
+#define SPECIES_BLISSEY 242
+#define SPECIES_RAIKOU 243
+#define SPECIES_ENTEI 244
+#define SPECIES_SUICUNE 245
+#define SPECIES_LARVITAR 246
+#define SPECIES_PUPITAR 247
+#define SPECIES_TYRANITAR 248
+#define SPECIES_LUGIA 249
+#define SPECIES_HO_OH 250
+#define SPECIES_CELEBI 251
+
+#define SPECIES_OLD_UNOWN_B 252
+#define SPECIES_OLD_UNOWN_C 253
+#define SPECIES_OLD_UNOWN_D 254
+#define SPECIES_OLD_UNOWN_E 255
+#define SPECIES_OLD_UNOWN_F 256
+#define SPECIES_OLD_UNOWN_G 257
+#define SPECIES_OLD_UNOWN_H 258
+#define SPECIES_OLD_UNOWN_I 259
+#define SPECIES_OLD_UNOWN_J 260
+#define SPECIES_OLD_UNOWN_K 261
+#define SPECIES_OLD_UNOWN_L 262
+#define SPECIES_OLD_UNOWN_M 263
+#define SPECIES_OLD_UNOWN_N 264
+#define SPECIES_OLD_UNOWN_O 265
+#define SPECIES_OLD_UNOWN_P 266
+#define SPECIES_OLD_UNOWN_Q 267
+#define SPECIES_OLD_UNOWN_R 268
+#define SPECIES_OLD_UNOWN_S 269
+#define SPECIES_OLD_UNOWN_T 270
+#define SPECIES_OLD_UNOWN_U 271
+#define SPECIES_OLD_UNOWN_V 272
+#define SPECIES_OLD_UNOWN_W 273
+#define SPECIES_OLD_UNOWN_X 274
+#define SPECIES_OLD_UNOWN_Y 275
+#define SPECIES_OLD_UNOWN_Z 276
+
+#define SPECIES_TREECKO 277
+#define SPECIES_GROVYLE 278
+#define SPECIES_SCEPTILE 279
+#define SPECIES_TORCHIC 280
+#define SPECIES_COMBUSKEN 281
+#define SPECIES_BLAZIKEN 282
+#define SPECIES_MUDKIP 283
+#define SPECIES_MARSHTOMP 284
+#define SPECIES_SWAMPERT 285
+#define SPECIES_POOCHYENA 286
+#define SPECIES_MIGHTYENA 287
+#define SPECIES_ZIGZAGOON 288
+#define SPECIES_LINOONE 289
+#define SPECIES_WURMPLE 290
+#define SPECIES_SILCOON 291
+#define SPECIES_BEAUTIFLY 292
+#define SPECIES_CASCOON 293
+#define SPECIES_DUSTOX 294
+#define SPECIES_LOTAD 295
+#define SPECIES_LOMBRE 296
+#define SPECIES_LUDICOLO 297
+#define SPECIES_SEEDOT 298
+#define SPECIES_NUZLEAF 299
+#define SPECIES_SHIFTRY 300
+#define SPECIES_NINCADA 301
+#define SPECIES_NINJASK 302
+#define SPECIES_SHEDINJA 303
+#define SPECIES_TAILLOW 304
+#define SPECIES_SWELLOW 305
+#define SPECIES_SHROOMISH 306
+#define SPECIES_BRELOOM 307
+#define SPECIES_SPINDA 308
+#define SPECIES_WINGULL 309
+#define SPECIES_PELIPPER 310
+#define SPECIES_SURSKIT 311
+#define SPECIES_MASQUERAIN 312
+#define SPECIES_WAILMER 313
+#define SPECIES_WAILORD 314
+#define SPECIES_SKITTY 315
+#define SPECIES_DELCATTY 316
+#define SPECIES_KECLEON 317
+#define SPECIES_BALTOY 318
+#define SPECIES_CLAYDOL 319
+#define SPECIES_NOSEPASS 320
+#define SPECIES_TORKOAL 321
+#define SPECIES_SABLEYE 322
+#define SPECIES_BARBOACH 323
+#define SPECIES_WHISCASH 324
+#define SPECIES_LUVDISC 325
+#define SPECIES_CORPHISH 326
+#define SPECIES_CRAWDAUNT 327
+#define SPECIES_FEEBAS 328
+#define SPECIES_MILOTIC 329
+#define SPECIES_CARVANHA 330
+#define SPECIES_SHARPEDO 331
+#define SPECIES_TRAPINCH 332
+#define SPECIES_VIBRAVA 333
+#define SPECIES_FLYGON 334
+#define SPECIES_MAKUHITA 335
+#define SPECIES_HARIYAMA 336
+#define SPECIES_ELECTRIKE 337
+#define SPECIES_MANECTRIC 338
+#define SPECIES_NUMEL 339
+#define SPECIES_CAMERUPT 340
+#define SPECIES_SPHEAL 341
+#define SPECIES_SEALEO 342
+#define SPECIES_WALREIN 343
+#define SPECIES_CACNEA 344
+#define SPECIES_CACTURNE 345
+#define SPECIES_SNORUNT 346
+#define SPECIES_GLALIE 347
+#define SPECIES_LUNATONE 348
+#define SPECIES_SOLROCK 349
+#define SPECIES_AZURILL 350
+#define SPECIES_SPOINK 351
+#define SPECIES_GRUMPIG 352
+#define SPECIES_PLUSLE 353
+#define SPECIES_MINUN 354
+#define SPECIES_MAWILE 355
+#define SPECIES_MEDITITE 356
+#define SPECIES_MEDICHAM 357
+#define SPECIES_SWABLU 358
+#define SPECIES_ALTARIA 359
+#define SPECIES_WYNAUT 360
+#define SPECIES_DUSKULL 361
+#define SPECIES_DUSCLOPS 362
+#define SPECIES_ROSELIA 363
+#define SPECIES_SLAKOTH 364
+#define SPECIES_VIGOROTH 365
+#define SPECIES_SLAKING 366
+#define SPECIES_GULPIN 367
+#define SPECIES_SWALOT 368
+#define SPECIES_TROPIUS 369
+#define SPECIES_WHISMUR 370
+#define SPECIES_LOUDRED 371
+#define SPECIES_EXPLOUD 372
+#define SPECIES_CLAMPERL 373
+#define SPECIES_HUNTAIL 374
+#define SPECIES_GOREBYSS 375
+#define SPECIES_ABSOL 376
+#define SPECIES_SHUPPET 377
+#define SPECIES_BANETTE 378
+#define SPECIES_SEVIPER 379
+#define SPECIES_ZANGOOSE 380
+#define SPECIES_RELICANTH 381
+#define SPECIES_ARON 382
+#define SPECIES_LAIRON 383
+#define SPECIES_AGGRON 384
+#define SPECIES_CASTFORM 385
+#define SPECIES_VOLBEAT 386
+#define SPECIES_ILLUMISE 387
+#define SPECIES_LILEEP 388
+#define SPECIES_CRADILY 389
+#define SPECIES_ANORITH 390
+#define SPECIES_ARMALDO 391
+#define SPECIES_RALTS 392
+#define SPECIES_KIRLIA 393
+#define SPECIES_GARDEVOIR 394
+#define SPECIES_BAGON 395
+#define SPECIES_SHELGON 396
+#define SPECIES_SALAMENCE 397
+#define SPECIES_BELDUM 398
+#define SPECIES_METANG 399
+#define SPECIES_METAGROSS 400
+#define SPECIES_REGIROCK 401
+#define SPECIES_REGICE 402
+#define SPECIES_REGISTEEL 403
+#define SPECIES_KYOGRE 404
+#define SPECIES_GROUDON 405
+#define SPECIES_RAYQUAZA 406
+#define SPECIES_LATIAS 407
+#define SPECIES_LATIOS 408
+#define SPECIES_JIRACHI 409
+#define SPECIES_DEOXYS 410
+#define SPECIES_CHIMECHO 411
+#define SPECIES_EGG 412
+
+#define SPECIES_UNOWN_B 413
+#define SPECIES_UNOWN_C 414
+#define SPECIES_UNOWN_D 415
+#define SPECIES_UNOWN_E 416
+#define SPECIES_UNOWN_F 417
+#define SPECIES_UNOWN_G 418
+#define SPECIES_UNOWN_H 419
+#define SPECIES_UNOWN_I 420
+#define SPECIES_UNOWN_J 421
+#define SPECIES_UNOWN_K 422
+#define SPECIES_UNOWN_L 423
+#define SPECIES_UNOWN_M 424
+#define SPECIES_UNOWN_N 425
+#define SPECIES_UNOWN_O 426
+#define SPECIES_UNOWN_P 427
+#define SPECIES_UNOWN_Q 428
+#define SPECIES_UNOWN_R 429
+#define SPECIES_UNOWN_S 430
+#define SPECIES_UNOWN_T 431
+#define SPECIES_UNOWN_U 432
+#define SPECIES_UNOWN_V 433
+#define SPECIES_UNOWN_W 434
+#define SPECIES_UNOWN_X 435
+#define SPECIES_UNOWN_Y 436
+#define SPECIES_UNOWN_Z 437
+#define SPECIES_UNOWN_EMARK 438
+#define SPECIES_UNOWN_QMARK 439
+
+#define NUM_SPECIES SPECIES_EGG
+
+#endif // GUARD_CONSTANTS_SPECIES_H
diff --git a/include/constants/vars.h b/include/constants/vars.h
new file mode 100644
index 000000000..6828614bf
--- /dev/null
+++ b/include/constants/vars.h
@@ -0,0 +1,285 @@
+#ifndef GUARD_CONSTANTS_VARS_H
+#define GUARD_CONSTANTS_VARS_H
+
+#define VAR_0x3F20 0x3F20
+
+#define VAR_0x4000 0x4000
+#define VAR_0x4001 0x4001
+#define VAR_0x4002 0x4002
+#define VAR_0x4003 0x4003
+#define VAR_0x4004 0x4004
+#define VAR_0x4005 0x4005
+#define VAR_0x4006 0x4006
+#define VAR_0x4007 0x4007
+#define VAR_0x4008 0x4008
+#define VAR_0x4009 0x4009
+#define VAR_0x400A 0x400A
+#define VAR_0x400B 0x400B
+#define VAR_0x400C 0x400C
+#define VAR_0x400D 0x400D
+#define VAR_0x400E 0x400E
+#define VAR_0x400F 0x400F
+#define VAR_0x4010 0x4010
+#define VAR_0x4011 0x4011
+#define VAR_0x4012 0x4012
+#define VAR_0x4013 0x4013
+#define VAR_0x4014 0x4014
+#define VAR_0x4015 0x4015
+#define VAR_0x4016 0x4016
+#define VAR_0x4017 0x4017
+#define VAR_0x4018 0x4018
+#define VAR_0x4019 0x4019
+#define VAR_0x401A 0x401A
+#define VAR_0x401B 0x401B
+#define VAR_0x401C 0x401C
+#define VAR_0x401D 0x401D
+#define VAR_0x401E 0x401E
+#define VAR_0x401F 0x401F
+#define VAR_RECYCLE_GOODS 0x4020
+#define VAR_REPEL_STEP_COUNT 0x4021
+#define VAR_ICE_STEP_COUNT 0x4022
+#define VAR_FIRST_POKE 0x4023
+#define VAR_MIRAGE_RND_H 0x4024
+#define VAR_MIRAGE_RND_L 0x4025
+#define VAR_SECRET_BASE_MAP 0x4026
+#define VAR_0x4027 0x4027
+#define VAR_0x4028 0x4028
+#define VAR_0x4029 0x4029
+#define VAR_HAPPINESS_STEP_COUNTER 0x402A
+#define VAR_POISON_STEP_COUNTER 0x402B
+#define VAR_RESET_RTC_ENABLE 0x402C
+#define VAR_0x402D 0x402D
+#define VAR_0x402E 0x402E
+#define VAR_0x402F 0x402F
+#define VAR_0x4030 0x4030
+#define VAR_0x4031 0x4031
+#define VAR_0x4032 0x4032
+#define VAR_0x4033 0x4033
+#define VAR_0x4034 0x4034
+#define VAR_0x4035 0x4035
+#define VAR_STORAGE_UNKNOWN 0x4036
+#define VAR_0x4037 0x4037
+#define VAR_0x4038 0x4038
+#define VAR_0x4039 0x4039
+#define VAR_0x403A 0x403A
+#define VAR_0x403B 0x403B
+#define VAR_0x403C 0x403C
+#define VAR_0x403D 0x403D
+#define VAR_ALTERING_CAVE_WILD_SET 0x403E
+#define VAR_0x403F 0x403F
+#define VAR_DAYS 0x4040
+#define VAR_0x4041 0x4041
+#define VAR_0x4042 0x4042
+#define VAR_DEPT_STORE_FLOOR 0x4043
+#define VAR_0x4044 0x4044
+#define VAR_POKELOT_PRIZE 0x4045
+#define VAR_NATIONAL_DEX 0x4046
+#define VAR_SEEDOT_SIZE_RECORD 0x4047
+#define VAR_ASH_GATHER_COUNT 0x4048
+#define VAR_BIRCH_STATE 0x4049
+#define VAR_CRUISE_STEP_COUNT 0x404A
+#define VAR_POKELOT_RND1 0x404B
+#define VAR_POKELOT_RND2 0x404C
+#define VAR_0x404D 0x404D
+#define VAR_0x404E 0x404E
+#define VAR_LOTAD_SIZE_RECORD 0x404F
+#define VAR_0x4050 0x4050
+#define VAR_0x4051 0x4051
+#define VAR_0x4052 0x4052
+#define VAR_0x4053 0x4053
+#define VAR_0x4054 0x4054
+#define VAR_0x4055 0x4055
+#define VAR_0x4056 0x4056
+#define VAR_0x4057 0x4057
+#define VAR_0x4058 0x4058
+#define VAR_0x4059 0x4059
+#define VAR_0x405A 0x405A
+#define VAR_0x405B 0x405B
+#define VAR_0x405C 0x405C
+#define VAR_0x405D 0x405D
+#define VAR_0x405E 0x405E
+#define VAR_0x405F 0x405F
+#define VAR_0x4060 0x4060
+#define VAR_0x4061 0x4061
+#define VAR_0x4062 0x4062
+#define VAR_0x4063 0x4063
+#define VAR_0x4064 0x4064
+#define VAR_0x4065 0x4065
+#define VAR_0x4066 0x4066
+#define VAR_0x4067 0x4067
+#define VAR_0x4068 0x4068
+#define VAR_0x4069 0x4069
+#define VAR_0x406A 0x406A
+#define VAR_0x406B 0x406B
+#define VAR_0x406C 0x406C
+#define VAR_0x406D 0x406D
+#define VAR_0x406E 0x406E
+#define VAR_0x406F 0x406F
+#define VAR_0x4070 0x4070
+#define VAR_0x4071 0x4071
+#define VAR_0x4072 0x4072
+#define VAR_0x4073 0x4073
+#define VAR_0x4074 0x4074
+#define VAR_0x4075 0x4075
+#define VAR_0x4076 0x4076
+#define VAR_0x4077 0x4077
+#define VAR_0x4078 0x4078
+#define VAR_0x4079 0x4079
+#define VAR_0x407A 0x407A
+#define VAR_0x407B 0x407B
+#define VAR_0x407C 0x407C
+#define VAR_0x407D 0x407D
+#define VAR_0x407E 0x407E
+#define VAR_0x407F 0x407F
+#define VAR_0x4080 0x4080
+#define VAR_0x4081 0x4081
+#define VAR_0x4082 0x4082
+#define VAR_0x4083 0x4083
+#define VAR_0x4084 0x4084
+#define VAR_0x4085 0x4085
+#define VAR_0x4086 0x4086
+#define VAR_0x4087 0x4087
+#define VAR_0x4088 0x4088
+#define VAR_0x4089 0x4089
+#define VAR_0x408A 0x408A
+#define VAR_0x408B 0x408B
+#define VAR_0x408C 0x408C
+#define VAR_0x408D 0x408D
+#define VAR_0x408E 0x408E
+#define VAR_0x408F 0x408F
+#define VAR_0x4090 0x4090
+#define VAR_0x4091 0x4091
+#define VAR_0x4092 0x4092
+#define VAR_0x4093 0x4093
+#define VAR_0x4094 0x4094
+#define VAR_0x4095 0x4095
+#define VAR_0x4096 0x4096
+#define VAR_0x4097 0x4097
+#define VAR_0x4098 0x4098
+#define VAR_0x4099 0x4099
+#define VAR_0x409A 0x409A
+#define VAR_0x409B 0x409B
+#define VAR_0x409C 0x409C
+#define VAR_0x409D 0x409D
+#define VAR_0x409E 0x409E
+#define VAR_0x409F 0x409F
+#define VAR_0x40A0 0x40A0
+#define VAR_0x40A1 0x40A1
+#define VAR_0x40A2 0x40A2
+#define VAR_0x40A3 0x40A3
+#define VAR_0x40A4 0x40A4
+#define VAR_0x40A5 0x40A5
+#define VAR_0x40A6 0x40A6
+#define VAR_0x40A7 0x40A7
+#define VAR_0x40A8 0x40A8
+#define VAR_0x40A9 0x40A9
+#define VAR_0x40AA 0x40AA
+#define VAR_0x40AB 0x40AB
+#define VAR_0x40AC 0x40AC
+#define VAR_0x40AD 0x40AD
+#define VAR_0x40AE 0x40AE
+#define VAR_0x40AF 0x40AF
+#define VAR_0x40B0 0x40B0
+#define VAR_0x40B1 0x40B1
+#define VAR_0x40B2 0x40B2
+#define VAR_0x40B3 0x40B3
+#define VAR_PORTHOLE 0x40B4
+#define VAR_0x40B5 0x40B5
+#define VAR_0x40B6 0x40B6
+#define VAR_0x40B7 0x40B7
+#define VAR_0x40B8 0x40B8
+#define VAR_0x40B9 0x40B9
+#define VAR_0x40BA 0x40BA
+#define VAR_0x40BB 0x40BB
+#define VAR_0x40BC 0x40BC
+#define VAR_0x40BD 0x40BD
+#define VAR_0x40BE 0x40BE
+#define VAR_0x40BF 0x40BF
+#define VAR_0x40C0 0x40C0
+#define VAR_0x40C1 0x40C1
+#define VAR_0x40C2 0x40C2
+#define VAR_0x40C3 0x40C3
+#define VAR_0x40C4 0x40C4
+#define VAR_0x40C5 0x40C5
+#define VAR_0x40C6 0x40C6
+#define VAR_0x40C7 0x40C7
+#define VAR_0x40C8 0x40C8
+#define VAR_0x40C9 0x40C9
+#define VAR_0x40CA 0x40CA
+#define VAR_0x40CB 0x40CB
+#define VAR_0x40CC 0x40CC
+#define VAR_0x40CD 0x40CD
+#define VAR_0x40CE 0x40CE
+#define VAR_FRONTIER_FACILITY 0x40CF
+#define VAR_0x40D0 0x40D0
+#define VAR_0x40D1 0x40D1
+#define VAR_0x40D2 0x40D2
+#define VAR_0x40D3 0x40D3
+#define VAR_0x40D4 0x40D4
+#define VAR_0x40D5 0x40D5
+#define VAR_0x40D6 0x40D6
+#define VAR_0x40D7 0x40D7
+#define VAR_0x40D8 0x40D8
+#define VAR_0x40D9 0x40D9
+#define VAR_0x40DA 0x40DA
+#define VAR_0x40DB 0x40DB
+#define VAR_0x40DC 0x40DC
+#define VAR_0x40DD 0x40DD
+#define VAR_0x40DE 0x40DE
+#define VAR_0x40DF 0x40DF
+#define VAR_0x40E0 0x40E0
+#define VAR_0x40E1 0x40E1
+#define VAR_0x40E2 0x40E2
+#define VAR_0x40E3 0x40E3
+#define VAR_0x40E4 0x40E4
+#define VAR_0x40E5 0x40E5
+#define VAR_DAILY_SLOTS 0x40E6
+#define VAR_DAILY_WILDS 0x40E7
+#define VAR_DAILY_BLENDER 0x40E8
+#define VAR_DAILY_PLANTED_BERRIES 0x40E9
+#define VAR_DAILY_PICKED_BERRIES 0x40EA
+#define VAR_DAILY_ROULETTE 0x40EB
+#define VAR_0x40EC 0x40EC
+#define VAR_0x40ED 0x40ED
+#define VAR_0x40EE 0x40EE
+#define VAR_0x40EF 0x40EF
+#define VAR_0x40F0 0x40F0
+#define VAR_DAILY_BP 0x40F1
+#define VAR_0x40F2 0x40F2
+#define VAR_0x40F3 0x40F3
+#define VAR_0x40F4 0x40F4
+#define VAR_0x40F5 0x40F5
+#define VAR_0x40F6 0x40F6
+#define VAR_0x40F7 0x40F7
+#define VAR_0x40F8 0x40F8
+#define VAR_0x40F9 0x40F9
+#define VAR_0x40FA 0x40FA
+#define VAR_0x40FB 0x40FB
+#define VAR_0x40FC 0x40FC
+#define VAR_0x40FD 0x40FD
+#define VAR_0x40FE 0x40FE
+#define VAR_0x40FF 0x40FF
+
+#define VAR_0x8000 0x8000
+#define VAR_0x8001 0x8001
+#define VAR_0x8002 0x8002
+#define VAR_0x8003 0x8003
+#define VAR_0x8004 0x8004
+#define VAR_0x8005 0x8005
+#define VAR_0x8006 0x8006
+#define VAR_0x8007 0x8007
+#define VAR_0x8008 0x8008
+#define VAR_0x8009 0x8009
+#define VAR_0x800A 0x800A
+#define VAR_0x800B 0x800B
+#define VAR_FACING 0x800C
+#define VAR_RESULT 0x800D
+#define VAR_ITEM_ID 0x800E
+#define VAR_LAST_TALKED 0x800F
+#define VAR_CONTEST_RANK 0x8010
+#define VAR_CONTEST_CATEGORY 0x8011
+#define VAR_MON_BOX_ID 0x8012
+#define VAR_MON_BOX_POS 0x8013
+#define VAR_0x8014 0x8014
+
+#endif // GUARD_CONSTANTS_VARS_H
diff --git a/include/data/bard_music/pokemon.h b/include/data/bard_music/pokemon.h
index 7b4081a3c..693005360 100644
--- a/include/data/bard_music/pokemon.h
+++ b/include/data/bard_music/pokemon.h
@@ -1,6 +1,6 @@
#ifndef GUARD_DATA_BARD_MUSIC_POKEMON_H
#define GUARD_DATA_BARD_MUSIC_POKEMON_H
-#include "species.h"
+#include "constants/species.h"
const u16 gUnknown_085F5490 = NUM_SPECIES;
diff --git a/include/decoration.h b/include/decoration.h
index ead621c5f..c841bbfc1 100644
--- a/include/decoration.h
+++ b/include/decoration.h
@@ -1,130 +1,6 @@
#ifndef GUARD_DECORATION_H
#define GUARD_DECORATION_H
-enum DecoId {
- /*000*/ DECOR_NONE,
- /*001*/ DECOR_SMALL_DESK,
- /*002*/ DECOR_POKEMON_DESK,
- /*003*/ DECOR_HEAVY_DESK,
- /*004*/ DECOR_RAGGED_DESK,
- /*005*/ DECOR_COMFORT_DESK,
- /*006*/ DECOR_PRETTY_DESK,
- /*007*/ DECOR_BRICK_DESK,
- /*008*/ DECOR_CAMP_DESK,
- /*009*/ DECOR_HARD_DESK,
- /*010*/ DECOR_SMALL_CHAIR,
- /*011*/ DECOR_POKEMON_CHAIR,
- /*012*/ DECOR_HEAVY_CHAIR,
- /*013*/ DECOR_PRETTY_CHAIR,
- /*014*/ DECOR_COMFORT_CHAIR,
- /*015*/ DECOR_RAGGED_CHAIR,
- /*016*/ DECOR_BRICK_CHAIR,
- /*017*/ DECOR_CAMP_CHAIR,
- /*018*/ DECOR_HARD_CHAIR,
- /*019*/ DECOR_RED_PLANT,
- /*020*/ DECOR_TROPICAL_PLANT,
- /*021*/ DECOR_PRETTY_FLOWERS,
- /*022*/ DECOR_COLORFUL_PLANT,
- /*023*/ DECOR_BIG_PLANT,
- /*024*/ DECOR_GORGEOUS_PLANT,
- /*025*/ DECOR_RED_BRICK,
- /*026*/ DECOR_YELLOW_BRICK,
- /*027*/ DECOR_BLUE_BRICK,
- /*028*/ DECOR_RED_BALLOON,
- /*029*/ DECOR_BLUE_BALLOON,
- /*030*/ DECOR_YELLOW_BALLOON,
- /*031*/ DECOR_RED_TENT,
- /*032*/ DECOR_BLUE_TENT,
- /*033*/ DECOR_SOLID_BOARD,
- /*034*/ DECOR_SLIDE,
- /*035*/ DECOR_FENCE_LENGTH,
- /*036*/ DECOR_FENCE_WIDTH,
- /*037*/ DECOR_TIRE,
- /*038*/ DECOR_STAND,
- /*039*/ DECOR_MUD_BALL,
- /*040*/ DECOR_BREAKABLE_DOOR,
- /*041*/ DECOR_SAND_ORNAMENT,
- /*042*/ DECOR_SILVER_SHIELD,
- /*043*/ DECOR_GOLD_SHIELD,
- /*044*/ DECOR_GLASS_ORNAMENT,
- /*045*/ DECOR_TV,
- /*046*/ DECOR_ROUND_TV,
- /*047*/ DECOR_CUTE_TV,
- /*048*/ DECOR_GLITTER_MAT,
- /*049*/ DECOR_JUMP_MAT,
- /*050*/ DECOR_SPIN_MAT,
- /*051*/ DECOR_C_LOW_NOTE_MAT,
- /*052*/ DECOR_D_NOTE_MAT,
- /*053*/ DECOR_E_NOTE_MAT,
- /*054*/ DECOR_F_NOTE_MAT,
- /*055*/ DECOR_G_NOTE_MAT,
- /*056*/ DECOR_A_NOTE_MAT,
- /*057*/ DECOR_B_NOTE_MAT,
- /*058*/ DECOR_C_HIGH_NOTE_MAT,
- /*059*/ DECOR_SURF_MAT,
- /*060*/ DECOR_THUNDER_MAT,
- /*061*/ DECOR_FIRE_BLAST_MAT,
- /*062*/ DECOR_POWDER_SNOW_MAT,
- /*063*/ DECOR_ATTRACT_MAT,
- /*064*/ DECOR_FISSURE_MAT,
- /*065*/ DECOR_SPIKES_MAT,
- /*066*/ DECOR_BALL_POSTER,
- /*067*/ DECOR_GREEN_POSTER,
- /*068*/ DECOR_RED_POSTER,
- /*069*/ DECOR_BLUE_POSTER,
- /*070*/ DECOR_CUTE_POSTER,
- /*071*/ DECOR_PIKA_POSTER,
- /*072*/ DECOR_LONG_POSTER,
- /*073*/ DECOR_SEA_POSTER,
- /*074*/ DECOR_SKY_POSTER,
- /*075*/ DECOR_KISS_POSTER,
- /*076*/ DECOR_PICHU_DOLL,
- /*077*/ DECOR_PIKACHU_DOLL,
- /*078*/ DECOR_MARILL_DOLL,
- /*079*/ DECOR_TOGEPI_DOLL,
- /*080*/ DECOR_CYNDAQUIL_DOLL,
- /*081*/ DECOR_CHIKORITA_DOLL,
- /*082*/ DECOR_TOTODILE_DOLL,
- /*083*/ DECOR_JIGGLYPUFF_DOLL,
- /*084*/ DECOR_MEOWTH_DOLL,
- /*085*/ DECOR_CLEFAIRY_DOLL,
- /*086*/ DECOR_DITTO_DOLL,
- /*087*/ DECOR_SMOOCHUM_DOLL,
- /*088*/ DECOR_TREECKO_DOLL,
- /*089*/ DECOR_TORCHIC_DOLL,
- /*090*/ DECOR_MUDKIP_DOLL,
- /*091*/ DECOR_DUSKULL_DOLL,
- /*092*/ DECOR_WYNAUT_DOLL,
- /*093*/ DECOR_BALTOY_DOLL,
- /*094*/ DECOR_KECLEON_DOLL,
- /*095*/ DECOR_AZURILL_DOLL,
- /*096*/ DECOR_SKITTY_DOLL,
- /*097*/ DECOR_SWABLU_DOLL,
- /*098*/ DECOR_GULPIN_DOLL,
- /*099*/ DECOR_LOTAD_DOLL,
- /*100*/ DECOR_SEEDOT_DOLL,
- /*101*/ DECOR_PIKA_CUSHION,
- /*102*/ DECOR_ROUND_CUSHION,
- /*103*/ DECOR_KISS_CUSHION,
- /*104*/ DECOR_ZIGZAG_CUSHION,
- /*105*/ DECOR_SPIN_CUSHION,
- /*106*/ DECOR_DIAMOND_CUSHION,
- /*107*/ DECOR_BALL_CUSHION,
- /*108*/ DECOR_GRASS_CUSHION,
- /*109*/ DECOR_FIRE_CUSHION,
- /*110*/ DECOR_WATER_CUSHION,
- /*111*/ DECOR_SNORLAX_DOLL,
- /*112*/ DECOR_RHYDON_DOLL,
- /*113*/ DECOR_LAPRAS_DOLL,
- /*114*/ DECOR_VENUSAUR_DOLL,
- /*115*/ DECOR_CHARIZARD_DOLL,
- /*116*/ DECOR_BLASTOISE_DOLL,
- /*117*/ DECOR_WAILMER_DOLL,
- /*118*/ DECOR_REGIROCK_DOLL,
- /*119*/ DECOR_REGICE_DOLL,
- /*120*/ DECOR_REGISTEEL_DOLL
-};
-
enum DecorPerm {
/*
* The nomenclature here describes collision and placement permissions, in that order.
diff --git a/include/event_data.h b/include/event_data.h
index f0ab90ae4..f829d3b87 100644
--- a/include/event_data.h
+++ b/include/event_data.h
@@ -1,8 +1,8 @@
#ifndef GUARD_EVENT_DATA_H
#define GUARD_EVENT_DATA_H
-#include "flags.h"
-#include "vars.h"
+#include "constants/flags.h"
+#include "constants/vars.h"
void InitEventData(void);
void ClearTempFieldEventData(void);
diff --git a/include/flags.h b/include/flags.h
deleted file mode 100644
index cf5e67576..000000000
--- a/include/flags.h
+++ /dev/null
@@ -1,122 +0,0 @@
-#ifndef GUARD_FLAGS_H
-#define GUARD_FLAGS_H
-
-#define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53
-#define FLAG_PENDING_DAYCARE_EGG 0x86
-#define FLAG_7E 0x7E
-#define FLAG_HAS_MATCH_CALL 0x12F
-#define FLAG_MATCH_CALL_REGISTERED 0x15C
-#define FLAG_340 0x340
-
-#define FLAG_TRAINER_FLAG_START 0x500
-
-#define TRAINERS_FLAG_NO 0x356
-#define CODE_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860
-
-// SYSTEM FLAGS
-
-#define FLAG_SYS_POKEMON_GET (CODE_FLAGS + 0)
-#define FLAG_SYS_POKEDEX_GET (CODE_FLAGS + 1)
-#define FLAG_SYS_POKENAV_GET (CODE_FLAGS + 2)
-// third one appears unused
-#define FLAG_SYS_GAME_CLEAR (CODE_FLAGS + 4)
-#define FLAG_SYS_CHAT_USED (CODE_FLAGS + 5)
-#define FLAG_SYS_HIPSTER_MEET (CODE_FLAGS + 6)
-
-// badges
-#define FLAG_BADGE01_GET (CODE_FLAGS + 7)
-#define FLAG_BADGE02_GET (CODE_FLAGS + 8)
-#define FLAG_BADGE03_GET (CODE_FLAGS + 9)
-#define FLAG_BADGE04_GET (CODE_FLAGS + 0xA)
-#define FLAG_BADGE05_GET (CODE_FLAGS + 0xB)
-#define FLAG_BADGE06_GET (CODE_FLAGS + 0xC)
-#define FLAG_BADGE07_GET (CODE_FLAGS + 0xD)
-#define FLAG_BADGE08_GET (CODE_FLAGS + 0xE)
-
-// cities and towns
-#define FLAG_VISITED_LITTLEROOT_TOWN (CODE_FLAGS + 0xF)
-#define FLAG_VISITED_OLDALE_TOWN (CODE_FLAGS + 0x10)
-#define FLAG_VISITED_DEWFORD_TOWN (CODE_FLAGS + 0x11)
-#define FLAG_VISITED_LAVARIDGE_TOWN (CODE_FLAGS + 0x12)
-#define FLAG_VISITED_FALLARBOR_TOWN (CODE_FLAGS + 0x13)
-#define FLAG_VISITED_VERDANTURF_TOWN (CODE_FLAGS + 0x14)
-#define FLAG_VISITED_PACIFIDLOG_TOWN (CODE_FLAGS + 0x15)
-#define FLAG_VISITED_PETALBURG_CITY (CODE_FLAGS + 0x16)
-#define FLAG_VISITED_SLATEPORT_CITY (CODE_FLAGS + 0x17)
-#define FLAG_VISITED_MAUVILLE_CITY (CODE_FLAGS + 0x18)
-#define FLAG_VISITED_RUSTBORO_CITY (CODE_FLAGS + 0x19)
-#define FLAG_VISITED_FORTREE_CITY (CODE_FLAGS + 0x1A)
-#define FLAG_VISITED_LILYCOVE_CITY (CODE_FLAGS + 0x1B)
-#define FLAG_VISITED_MOSSDEEP_CITY (CODE_FLAGS + 0x1C)
-#define FLAG_VISITED_SOOTOPOLIS_CITY (CODE_FLAGS + 0x1D)
-#define FLAG_VISITED_EVER_GRANDE_CITY (CODE_FLAGS + 0x1E)
-
-#define FLAG_SYS_UNKNOWN_880 (CODE_FLAGS + 0x20)
-
-#define FLAG_SYS_USE_FLASH (CODE_FLAGS + 0x28)
-#define FLAG_SYS_USE_STRENGTH (CODE_FLAGS + 0x29)
-#define FLAG_SYS_WEATHER_CTRL (CODE_FLAGS + 0x2A)
-#define FLAG_SYS_CYCLING_ROAD (CODE_FLAGS + 0x2B)
-#define FLAG_SYS_SAFARI_MODE (CODE_FLAGS + 0x2C)
-#define FLAG_SYS_CRUISE_MODE (CODE_FLAGS + 0x2D)
-
-#define FLAG_SYS_TV_HOME (CODE_FLAGS + 0x30)
-#define FLAG_SYS_TV_WATCH (CODE_FLAGS + 0x31)
-#define FLAG_SYS_TV_START (CODE_FLAGS + 0x32)
-#define FLAG_SYS_POPWORD_INPUT (CODE_FLAGS + 0x33)
-#define FLAG_SYS_MIX_RECORD (CODE_FLAGS + 0x34)
-#define FLAG_SYS_CLOCK_SET (CODE_FLAGS + 0x35)
-#define FLAG_SYS_NATIONAL_DEX (CODE_FLAGS + 0x36)
-#define FLAG_SYS_CAVE_SHIP (CODE_FLAGS + 0x37)
-#define FLAG_SYS_CAVE_WONDER (CODE_FLAGS + 0x38)
-#define FLAG_SYS_CAVE_BATTLE (CODE_FLAGS + 0x39)
-#define FLAG_SYS_SHOAL_TIDE (CODE_FLAGS + 0x3A)
-#define FLAG_SYS_RIBBON_GET (CODE_FLAGS + 0x3B)
-
-#define FLAG_UNLOCK_BATTLE_FRONTIER (CODE_FLAGS + 0x48)
-#define FLAG_UNLOCK_SOUTHERN_ISLAND (CODE_FLAGS + 0x49)
-
-#define FLAG_SYS_PC_LANETTE (CODE_FLAGS + 0x4B)
-#define FLAG_SYS_MYSTERY_EVENT_ENABLE (CODE_FLAGS + 0x4C)
-#define FLAG_SYS_ENC_UP_ITEM (CODE_FLAGS + 0x4D)
-#define FLAG_SYS_ENC_DOWN_ITEM (CODE_FLAGS + 0x4E)
-#define FLAG_SYS_BRAILLE_DIG (CODE_FLAGS + 0x4F)
-#define FLAG_SYS_BRAILLE_STRENGTH (CODE_FLAGS + 0x50)
-#define FLAG_SYS_BRAILLE_WAIT (CODE_FLAGS + 0x51)
-#define FLAG_SYS_BRAILLE_FLY (CODE_FLAGS + 0x52)
-#define FLAG_SYS_HAS_EON_TICKET (CODE_FLAGS + 0x53)
-
-#define FLAG_SYS_POKEMON_LEAGUE_FLY (CODE_FLAGS + 0x54)
-
-#define FLAG_SYS_TV_LATI (CODE_FLAGS + 0x5D)
-
-#define FLAG_SYS_SHOAL_ITEM (CODE_FLAGS + 0x5F)
-#define FLAG_SYS_B_DASH (CODE_FLAGS + 0x60) // got Running Shoes
-#define FLAG_SYS_CTRL_OBJ_DELETE (CODE_FLAGS + 0x61)
-#define FLAG_SYS_RESET_RTC_ENABLE (CODE_FLAGS + 0x62)
-
-#define FLAG_SYS_TOWER_SILVER (CODE_FLAGS + 0x64)
-#define FLAG_SYS_TOWER_GOLD (CODE_FLAGS + 0x65)
-#define FLAG_SYS_DOME_SILVER (CODE_FLAGS + 0x66)
-#define FLAG_SYS_DOME_GOLD (CODE_FLAGS + 0x67)
-#define FLAG_SYS_PALACE_SILVER (CODE_FLAGS + 0x68)
-#define FLAG_SYS_PALACE_GOLD (CODE_FLAGS + 0x69)
-#define FLAG_SYS_ARENA_SILVER (CODE_FLAGS + 0x6A)
-#define FLAG_SYS_ARENA_GOLD (CODE_FLAGS + 0x6B)
-#define FLAG_SYS_FACTORY_SILVER (CODE_FLAGS + 0x6C)
-#define FLAG_SYS_FACTORY_GOLD (CODE_FLAGS + 0x6D)
-#define FLAG_SYS_PIKE_SILVER (CODE_FLAGS + 0x6E)
-#define FLAG_SYS_PIKE_GOLD (CODE_FLAGS + 0x6F)
-#define FLAG_SYS_PYRAMID_SILVER (CODE_FLAGS + 0x70)
-#define FLAG_SYS_PYRAMID_GOLD (CODE_FLAGS + 0x71)
-#define FLAG_SYS_FRONTIER_PASS (CODE_FLAGS + 0x72)
-
-#define FLAG_SYS_STORAGE_UNKNOWN_FLAG (CODE_FLAGS + 0x77)
-
-#define FLAG_SYS_MYSTERY_GIFT_ENABLE (CODE_FLAGS + 0x7B)
-
-// SPECIAL FLAGS (unknown purpose)
-
-#define SPECIAL_FLAG_1 0x4001
-
-#endif // GUARD_FLAGS_H
diff --git a/include/global.h b/include/global.h
index 8e936aa8c..63bb55165 100644
--- a/include/global.h
+++ b/include/global.h
@@ -67,7 +67,11 @@ enum LanguageId
{
LANGUAGE_JAPANESE = 1,
LANGUAGE_ENGLISH = 2,
+ LANGUAGE_FRENCH = 3,
+ LANGUAGE_ITALIAN = 4,
LANGUAGE_GERMAN = 5,
+ // 6 goes unused but the theory is it was meant to be Korean
+ LANGUAGE_SPANISH = 7,
};
#define GAME_LANGUAGE (LANGUAGE_ENGLISH)
@@ -237,7 +241,7 @@ struct SaveBlock2
/*0x1EC*/ struct BerryCrush berryCrush;
/*0x1FC*/ struct PokemonJumpResults pokeJump;
/*0x20C*/ struct BerryPickingResults berryPick;
- /*0x214*/ u8 field_214[1032];
+ /*0x21C*/ u8 field_21C[1032];
/*0x624*/ u16 contestLinkResults[20]; // 4 positions for 5 categories, possibly a struct or a 2d array
// All below could be a one giant struct
@@ -259,7 +263,7 @@ struct SaveBlock2
/*0xCA9*/ u8 field_CA9_f : 1; // 0x80
/*0xCAA*/ u16 field_CAA[4];
/*0xCB2*/ u16 battlePyramidWildHeaderId;
- /*0xCB4*/ u16 field_CB4[82];
+ /*0xCB4*/ u16 field_CB4[41];
/*0xD06*/ u8 field_D06;
/*0xD07*/ u8 field_D07;
/*0xD08*/ u8 filler_D08[0x112];
@@ -303,7 +307,7 @@ struct SecretBaseRecord
/*0x1B34*/ u8 partyEVs[6];
};
-#include "game_stat.h"
+#include "constants/game_stat.h"
#include "global.fieldmap.h"
#include "global.berry.h"
#include "global.tv.h"
diff --git a/include/graphics.h b/include/graphics.h
index 4c5a0952b..4a522a429 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -5,6 +5,32 @@
#ifndef GUARD_GRAPHICS_H
#define GUARD_GRAPHICS_H
+extern const u8 gInterfaceGfx_PokeBall[];
+extern const u8 gInterfacePal_PokeBall[];
+extern const u8 gInterfaceGfx_GreatBall[];
+extern const u8 gInterfacePal_GreatBall[];
+extern const u8 gInterfaceGfx_SafariBall[];
+extern const u8 gInterfacePal_SafariBall[];
+extern const u8 gInterfaceGfx_UltraBall[];
+extern const u8 gInterfacePal_UltraBall[];
+extern const u8 gInterfaceGfx_MasterBall[];
+extern const u8 gInterfacePal_MasterBall[];
+extern const u8 gInterfaceGfx_NetBall[];
+extern const u8 gInterfacePal_NetBall[];
+extern const u8 gInterfaceGfx_DiveBall[];
+extern const u8 gInterfacePal_DiveBall[];
+extern const u8 gInterfaceGfx_NestBall[];
+extern const u8 gInterfacePal_NestBall[];
+extern const u8 gInterfaceGfx_RepeatBall[];
+extern const u8 gInterfacePal_RepeatBall[];
+extern const u8 gInterfaceGfx_TimerBall[];
+extern const u8 gInterfacePal_TimerBall[];
+extern const u8 gInterfaceGfx_LuxuryBall[];
+extern const u8 gInterfacePal_LuxuryBall[];
+extern const u8 gInterfaceGfx_PremierBall[];
+extern const u8 gInterfacePal_PremierBall[];
+extern const u8 gOpenPokeballGfx[];
+
extern const u8 gItemIcon_QuestionMark[];
extern const u8 gItemIconPalette_QuestionMark[];
extern const u8 gUnknown_08DB7AA0[];
diff --git a/include/items.h b/include/items.h
deleted file mode 100644
index 1a6df42db..000000000
--- a/include/items.h
+++ /dev/null
@@ -1,396 +0,0 @@
-#ifndef GUARD_ITEMS_H
-#define GUARD_ITEMS_H
-
-enum
-{
- ITEM_NONE, // 0x000
- ITEM_MASTER_BALL, // 0x001
- ITEM_ULTRA_BALL, // 0x002
- ITEM_GREAT_BALL, // 0x003
- ITEM_POKE_BALL, // 0x004
- ITEM_SAFARI_BALL, // 0x005
- ITEM_NET_BALL, // 0x006
- ITEM_DIVE_BALL, // 0x007
- ITEM_NEST_BALL, // 0x008
- ITEM_REPEAT_BALL, // 0x009
- ITEM_TIMER_BALL, // 0x00a
- ITEM_LUXURY_BALL, // 0x00b
- ITEM_PREMIER_BALL, // 0x00c
- ITEM_POTION, // 0x00d
- ITEM_ANTIDOTE, // 0x00e
- ITEM_BURN_HEAL, // 0x00f
- ITEM_ICE_HEAL, // 0x010
- ITEM_AWAKENING, // 0x011
- ITEM_PARALYZE_HEAL, // 0x012
- ITEM_FULL_RESTORE, // 0x013
- ITEM_MAX_POTION, // 0x014
- ITEM_HYPER_POTION, // 0x015
- ITEM_SUPER_POTION, // 0x016
- ITEM_FULL_HEAL, // 0x017
- ITEM_REVIVE, // 0x018
- ITEM_MAX_REVIVE, // 0x019
- ITEM_FRESH_WATER, // 0x01a
- ITEM_SODA_POP, // 0x01b
- ITEM_LEMONADE, // 0x01c
- ITEM_MOOMOO_MILK, // 0x01d
- ITEM_ENERGY_POWDER, // 0x01e
- ITEM_ENERGY_ROOT, // 0x01f
- ITEM_HEAL_POWDER, // 0x020
- ITEM_REVIVAL_HERB, // 0x021
- ITEM_ETHER, // 0x022
- ITEM_MAX_ETHER, // 0x023
- ITEM_ELIXIR, // 0x024
- ITEM_MAX_ELIXIR, // 0x025
- ITEM_LAVA_COOKIE, // 0x026
- ITEM_BLUE_FLUTE, // 0x027
- ITEM_YELLOW_FLUTE, // 0x028
- ITEM_RED_FLUTE, // 0x029
- ITEM_BLACK_FLUTE, // 0x02a
- ITEM_WHITE_FLUTE, // 0x02b
- ITEM_BERRY_JUICE, // 0x02c
- ITEM_SACRED_ASH, // 0x02d
- ITEM_SHOAL_SALT, // 0x02e
- ITEM_SHOAL_SHELL, // 0x02f
- ITEM_RED_SHARD, // 0x030
- ITEM_BLUE_SHARD, // 0x031
- ITEM_YELLOW_SHARD, // 0x032
- ITEM_GREEN_SHARD, // 0x033
- ITEM_034,
- ITEM_035,
- ITEM_036,
- ITEM_037,
- ITEM_038,
- ITEM_039,
- ITEM_03A,
- ITEM_03B,
- ITEM_03C,
- ITEM_03D,
- ITEM_03E,
- ITEM_HP_UP, // 0x03f
- ITEM_PROTEIN, // 0x040
- ITEM_IRON, // 0x041
- ITEM_CARBOS, // 0x042
- ITEM_CALCIUM, // 0x043
- ITEM_RARE_CANDY, // 0x044
- ITEM_PP_UP, // 0x045
- ITEM_ZINC, // 0x046
- ITEM_PP_MAX, // 0x047
- ITEM_048,
- ITEM_GUARD_SPEC, // 0x049
- ITEM_DIRE_HIT, // 0x04a
- ITEM_X_ATTACK, // 0x04b
- ITEM_X_DEFEND, // 0x04c
- ITEM_X_SPEED, // 0x04d
- ITEM_X_ACCURACY, // 0x04e
- ITEM_X_SPECIAL, // 0x04f
- ITEM_POKE_DOLL, // 0x050
- ITEM_FLUFFY_TAIL, // 0x051
- ITEM_052,
- ITEM_SUPER_REPEL, // 0x053
- ITEM_MAX_REPEL, // 0x054
- ITEM_ESCAPE_ROPE, // 0x055
- ITEM_REPEL, // 0x056
- ITEM_057,
- ITEM_058,
- ITEM_059,
- ITEM_05A,
- ITEM_05B,
- ITEM_05C,
- ITEM_SUN_STONE, // 0x05d
- ITEM_MOON_STONE, // 0x05e
- ITEM_FIRE_STONE, // 0x05f
- ITEM_THUNDER_STONE, // 0x060
- ITEM_WATER_STONE, // 0x061
- ITEM_LEAF_STONE, // 0x062
- ITEM_063,
- ITEM_064,
- ITEM_065,
- ITEM_066,
- ITEM_TINY_MUSHROOM, // 0x067
- ITEM_BIG_MUSHROOM, // 0x068
- ITEM_069,
- ITEM_PEARL, // 0x06a
- ITEM_BIG_PEARL, // 0x06b
- ITEM_STARDUST, // 0x06c
- ITEM_STAR_PIECE, // 0x06d
- ITEM_NUGGET, // 0x06e
- ITEM_HEART_SCALE, // 0x06f
- ITEM_070,
- ITEM_071,
- ITEM_072,
- ITEM_073,
- ITEM_074,
- ITEM_075,
- ITEM_076,
- ITEM_077,
- ITEM_078,
- ITEM_ORANGE_MAIL, // 0x079
- ITEM_HARBOR_MAIL, // 0x07a
- ITEM_GLITTER_MAIL, // 0x07b
- ITEM_MECH_MAIL, // 0x07c
- ITEM_WOOD_MAIL, // 0x07d
- ITEM_WAVE_MAIL, // 0x07e
- ITEM_BEAD_MAIL, // 0x07f
- ITEM_SHADOW_MAIL, // 0x080
- ITEM_TROPIC_MAIL, // 0x081
- ITEM_DREAM_MAIL, // 0x082
- ITEM_FAB_MAIL, // 0x083
- ITEM_RETRO_MAIL, // 0x084
- ITEM_CHERI_BERRY, // 0x085
- ITEM_CHESTO_BERRY, // 0x086
- ITEM_PECHA_BERRY, // 0x087
- ITEM_RAWST_BERRY, // 0x088
- ITEM_ASPEAR_BERRY, // 0x089
- ITEM_LEPPA_BERRY, // 0x08a
- ITEM_ORAN_BERRY, // 0x08b
- ITEM_PERSIM_BERRY, // 0x08c
- ITEM_LUM_BERRY, // 0x08d
- ITEM_SITRUS_BERRY, // 0x08e
- ITEM_FIGY_BERRY, // 0x08f
- ITEM_WIKI_BERRY, // 0x090
- ITEM_MAGO_BERRY, // 0x091
- ITEM_AGUAV_BERRY, // 0x092
- ITEM_IAPAPA_BERRY, // 0x093
- ITEM_RAZZ_BERRY, // 0x094
- ITEM_BLUK_BERRY, // 0x095
- ITEM_NANAB_BERRY, // 0x096
- ITEM_WEPEAR_BERRY, // 0x097
- ITEM_PINAP_BERRY, // 0x098
- ITEM_POMEG_BERRY, // 0x099
- ITEM_KELPSY_BERRY, // 0x09a
- ITEM_QUALOT_BERRY, // 0x09b
- ITEM_HONDEW_BERRY, // 0x09c
- ITEM_GREPA_BERRY, // 0x09d
- ITEM_TAMATO_BERRY, // 0x09e
- ITEM_CORNN_BERRY, // 0x09f
- ITEM_MAGOST_BERRY, // 0x0a0
- ITEM_RABUTA_BERRY, // 0x0a1
- ITEM_NOMEL_BERRY, // 0x0a2
- ITEM_SPELON_BERRY, // 0x0a3
- ITEM_PAMTRE_BERRY, // 0x0a4
- ITEM_WATMEL_BERRY, // 0x0a5
- ITEM_DURIN_BERRY, // 0x0a6
- ITEM_BELUE_BERRY, // 0x0a7
- ITEM_LIECHI_BERRY, // 0x0a8
- ITEM_GANLON_BERRY, // 0x0a9
- ITEM_SALAC_BERRY, // 0x0aa
- ITEM_PETAYA_BERRY, // 0x0ab
- ITEM_APICOT_BERRY, // 0x0ac
- ITEM_LANSAT_BERRY, // 0x0ad
- ITEM_STARF_BERRY, // 0x0ae
- ITEM_ENIGMA_BERRY, // 0x0af
- ITEM_0B0,
- ITEM_0B1,
- ITEM_0B2,
- ITEM_BRIGHT_POWDER, // 0x0b3
- ITEM_WHITE_HERB, // 0x0b4
- ITEM_MACHO_BRACE, // 0x0b5
- ITEM_EXP_SHARE, // 0x0b6
- ITEM_QUICK_CLAW, // 0x0b7
- ITEM_SOOTHE_BELL, // 0x0b8
- ITEM_MENTAL_HERB, // 0x0b9
- ITEM_CHOICE_BAND, // 0x0ba
- ITEM_KINGS_ROCK, // 0x0bb
- ITEM_SILVER_POWDER, // 0x0bc
- ITEM_AMULET_COIN, // 0x0bd
- ITEM_CLEANSE_TAG, // 0x0be
- ITEM_SOUL_DEW, // 0x0bf
- ITEM_DEEP_SEA_TOOTH, // 0x0c0
- ITEM_DEEP_SEA_SCALE, // 0x0c1
- ITEM_SMOKE_BALL, // 0x0c2
- ITEM_EVERSTONE, // 0x0c3
- ITEM_FOCUS_BAND, // 0x0c4
- ITEM_LUCKY_EGG, // 0x0c5
- ITEM_SCOPE_LENS, // 0x0c6
- ITEM_METAL_COAT, // 0x0c7
- ITEM_LEFTOVERS, // 0x0c8
- ITEM_DRAGON_SCALE, // 0x0c9
- ITEM_LIGHT_BALL, // 0x0ca
- ITEM_SOFT_SAND, // 0x0cb
- ITEM_HARD_STONE, // 0x0cc
- ITEM_MIRACLE_SEED, // 0x0cd
- ITEM_BLACK_GLASSES, // 0x0ce
- ITEM_BLACK_BELT, // 0x0cf
- ITEM_MAGNET, // 0x0d0
- ITEM_MYSTIC_WATER, // 0x0d1
- ITEM_SHARP_BEAK, // 0x0d2
- ITEM_POISON_BARB, // 0x0d3
- ITEM_NEVER_MELT_ICE, // 0x0d4
- ITEM_SPELL_TAG, // 0x0d5
- ITEM_TWISTED_SPOON, // 0x0d6
- ITEM_CHARCOAL, // 0x0d7
- ITEM_DRAGON_FANG, // 0x0d8
- ITEM_SILK_SCARF, // 0x0d9
- ITEM_UP_GRADE, // 0x0da
- ITEM_SHELL_BELL, // 0x0db
- ITEM_SEA_INCENSE, // 0x0dc
- ITEM_LAX_INCENSE, // 0x0dd
- ITEM_LUCKY_PUNCH, // 0x0de
- ITEM_METAL_POWDER, // 0x0df
- ITEM_THICK_CLUB, // 0x0e0
- ITEM_STICK, // 0x0e1
- ITEM_0E2,
- ITEM_0E3,
- ITEM_0E4,
- ITEM_0E5,
- ITEM_0E6,
- ITEM_0E7,
- ITEM_0E8,
- ITEM_0E9,
- ITEM_0EA,
- ITEM_0EB,
- ITEM_0EC,
- ITEM_0ED,
- ITEM_0EE,
- ITEM_0EF,
- ITEM_0F0,
- ITEM_0F1,
- ITEM_0F2,
- ITEM_0F3,
- ITEM_0F4,
- ITEM_0F5,
- ITEM_0F6,
- ITEM_0F7,
- ITEM_0F8,
- ITEM_0F9,
- ITEM_0FA,
- ITEM_0FB,
- ITEM_0FC,
- ITEM_0FD,
- ITEM_RED_SCARF, // 0x0fe
- ITEM_BLUE_SCARF, // 0x0ff
- ITEM_PINK_SCARF, // 0x100
- ITEM_GREEN_SCARF, // 0x101
- ITEM_YELLOW_SCARF, // 0x102
- ITEM_MACH_BIKE, // 0x103
- ITEM_COIN_CASE, // 0x104
- ITEM_ITEMFINDER, // 0x105
- ITEM_OLD_ROD, // 0x106
- ITEM_GOOD_ROD, // 0x107
- ITEM_SUPER_ROD, // 0x108
- ITEM_SS_TICKET, // 0x109
- ITEM_CONTEST_PASS, // 0x10a
- ITEM_10B,
- ITEM_WAILMER_PAIL, // 0x10c
- ITEM_DEVON_GOODS, // 0x10d
- ITEM_SOOT_SACK, // 0x10e
- ITEM_BASEMENT_KEY, // 0x10f
- ITEM_ACRO_BIKE, // 0x110
- ITEM_POKEBLOCK_CASE, // 0x111
- ITEM_LETTER, // 0x112
- ITEM_EON_TICKET, // 0x113
- ITEM_RED_ORB, // 0x114
- ITEM_BLUE_ORB, // 0x115
- ITEM_SCANNER, // 0x116
- ITEM_GO_GOGGLES, // 0x117
- ITEM_METEORITE, // 0x118
- ITEM_ROOM_1_KEY, // 0x119
- ITEM_ROOM_2_KEY, // 0x11a
- ITEM_ROOM_4_KEY, // 0x11b
- ITEM_ROOM_6_KEY, // 0x11c
- ITEM_STORAGE_KEY, // 0x11d
- ITEM_ROOT_FOSSIL, // 0x11e
- ITEM_CLAW_FOSSIL, // 0x11f
- ITEM_DEVON_SCOPE, // 0x120
- ITEM_TM01, // 0x121
- ITEM_TM02, // 0x122
- ITEM_TM03, // 0x123
- ITEM_TM04, // 0x124
- ITEM_TM05, // 0x125
- ITEM_TM06, // 0x126
- ITEM_TM07, // 0x127
- ITEM_TM08, // 0x128
- ITEM_TM09, // 0x129
- ITEM_TM10, // 0x12a
- ITEM_TM11, // 0x12b
- ITEM_TM12, // 0x12c
- ITEM_TM13, // 0x12d
- ITEM_TM14, // 0x12e
- ITEM_TM15, // 0x12f
- ITEM_TM16, // 0x130
- ITEM_TM17, // 0x131
- ITEM_TM18, // 0x132
- ITEM_TM19, // 0x133
- ITEM_TM20, // 0x134
- ITEM_TM21, // 0x135
- ITEM_TM22, // 0x136
- ITEM_TM23, // 0x137
- ITEM_TM24, // 0x138
- ITEM_TM25, // 0x139
- ITEM_TM26, // 0x13a
- ITEM_TM27, // 0x13b
- ITEM_TM28, // 0x13c
- ITEM_TM29, // 0x13d
- ITEM_TM30, // 0x13e
- ITEM_TM31, // 0x13f
- ITEM_TM32, // 0x140
- ITEM_TM33, // 0x141
- ITEM_TM34, // 0x142
- ITEM_TM35, // 0x143
- ITEM_TM36, // 0x144
- ITEM_TM37, // 0x145
- ITEM_TM38, // 0x146
- ITEM_TM39, // 0x147
- ITEM_TM40, // 0x148
- ITEM_TM41, // 0x149
- ITEM_TM42, // 0x14a
- ITEM_TM43, // 0x14b
- ITEM_TM44, // 0x14c
- ITEM_TM45, // 0x14d
- ITEM_TM46, // 0x14e
- ITEM_TM47, // 0x14f
- ITEM_TM48, // 0x150
- ITEM_TM49, // 0x151
- ITEM_TM50, // 0x152
- ITEM_HM01, // 0x153
- ITEM_HM02, // 0x154
- ITEM_HM03, // 0x155
- ITEM_HM04, // 0x156
- ITEM_HM05, // 0x157
- ITEM_HM06, // 0x158
- ITEM_HM07, // 0x159
- ITEM_HM08, // 0x15a
- ITEM_15B,
- ITEM_15C,
-
- // FireRed/LeafGreen
- ITEM_OAKS_PARCEL, // 0x15d
- ITEM_POKE_FLUTE, // 0x15e
- ITEM_SECRET_KEY, // 0x15f
- ITEM_BIKE_VOUCHER, // 0x160
- ITEM_GOLD_TEETH, // 0x161
- ITEM_OLD_AMBER, // 0x162
- ITEM_CARD_KEY, // 0x163
- ITEM_LIFT_KEY, // 0x164
- ITEM_HELIX_FOSSIL, // 0x165
- ITEM_DOME_FOSSIL, // 0x166
- ITEM_SILPH_SCOPE, // 0x167
- ITEM_BICYCLE, // 0x168
- ITEM_TOWN_MAP, // 0x169
- ITEM_VS_SEEKER, // 0x16a
- ITEM_FAME_CHECKER, // 0x16b
- ITEM_TM_CASE, // 0x16c
- ITEM_BERRY_POUCH, // 0x16d
- ITEM_TEACHY_TV, // 0x16e
- ITEM_TRI_PASS, // 0x16f
- ITEM_RAINBOW_PASS, // 0x170
- ITEM_TEA, // 0x171
- ITEM_MYSTIC_TICKET, // 0x172
- ITEM_AURORA_TICKET, // 0x173
- ITEM_POWDER_JAR, // 0x174
- ITEM_RUBY, // 0x175
- ITEM_SAPPHIRE, // 0x176
-
- // Emerald
- ITEM_MAGMA_EMBLEM, // 0x177
- ITEM_OLD_SEA_MAP, // 0x178
-};
-
-#define FIRST_BERRY_INDEX ITEM_CHERI_BERRY
-#define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY
-#define ITEM_TO_BERRY(itemId)(((itemId - FIRST_BERRY_INDEX) + 1))
-
-#define NUM_TECHNICAL_MACHINES 50
-#define NUM_HIDDEN_MACHINES 8
-
-#endif // GUARD_ITEMS_H
diff --git a/include/mail.h b/include/mail.h
index 1a29d73b5..0a70237bf 100644
--- a/include/mail.h
+++ b/include/mail.h
@@ -1,8 +1,6 @@
#ifndef GUARD_MAIL_H
#define GUARD_MAIL_H
-#include "items.h"
-
#define IS_ITEM_MAIL(itemId)((itemId == ITEM_ORANGE_MAIL \
|| itemId == ITEM_HARBOR_MAIL \
|| itemId == ITEM_GLITTER_MAIL \
diff --git a/include/map_constants.h b/include/map_constants.h
deleted file mode 100644
index 6199793c8..000000000
--- a/include/map_constants.h
+++ /dev/null
@@ -1,1342 +0,0 @@
-#ifndef GUARD_MAP_CONSTANTS_H
-#define GUARD_MAP_CONSTANTS_H
-
-//--------------------------------------------------
-// Map Group 0
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_PETALBURG_CITY,
- MAP_ID_SLATEPORT_CITY,
- MAP_ID_MAUVILLE_CITY,
- MAP_ID_RUSTBORO_CITY,
- MAP_ID_FORTREE_CITY,
- MAP_ID_LILYCOVE_CITY,
- MAP_ID_MOSSDEEP_CITY,
- MAP_ID_SOOTOPOLIS_CITY,
- MAP_ID_EVER_GRANDE_CITY,
- MAP_ID_LITTLEROOT_TOWN,
- MAP_ID_OLDALE_TOWN,
- MAP_ID_DEWFORD_TOWN,
- MAP_ID_LAVARIDGE_TOWN,
- MAP_ID_FALLARBOR_TOWN,
- MAP_ID_VERDANTURF_TOWN,
- MAP_ID_PACIFIDLOG_TOWN,
- MAP_ID_ROUTE101,
- MAP_ID_ROUTE102,
- MAP_ID_ROUTE103,
- MAP_ID_ROUTE104,
- MAP_ID_ROUTE105,
- MAP_ID_ROUTE106,
- MAP_ID_ROUTE107,
- MAP_ID_ROUTE108,
- MAP_ID_ROUTE109,
- MAP_ID_ROUTE110,
- MAP_ID_ROUTE111,
- MAP_ID_ROUTE112,
- MAP_ID_ROUTE113,
- MAP_ID_ROUTE114,
- MAP_ID_ROUTE115,
- MAP_ID_ROUTE116,
- MAP_ID_ROUTE117,
- MAP_ID_ROUTE118,
- MAP_ID_ROUTE119,
- MAP_ID_ROUTE120,
- MAP_ID_ROUTE121,
- MAP_ID_ROUTE122,
- MAP_ID_ROUTE123,
- MAP_ID_ROUTE124,
- MAP_ID_ROUTE125,
- MAP_ID_ROUTE126,
- MAP_ID_ROUTE127,
- MAP_ID_ROUTE128,
- MAP_ID_ROUTE129,
- MAP_ID_ROUTE130,
- MAP_ID_ROUTE131,
- MAP_ID_ROUTE132,
- MAP_ID_ROUTE133,
- MAP_ID_ROUTE134,
- MAP_ID_UNDERWATER1,
- MAP_ID_UNDERWATER2,
- MAP_ID_UNDERWATER3,
- MAP_ID_UNDERWATER4,
- MAP_ID_UNDERWATER5,
- MAP_ID_UNDERWATER6,
- MAP_ID_UNDERWATER7,
-};
-
-#define MAP_GROUP_PETALBURG_CITY 0
-#define MAP_GROUP_SLATEPORT_CITY 0
-#define MAP_GROUP_MAUVILLE_CITY 0
-#define MAP_GROUP_RUSTBORO_CITY 0
-#define MAP_GROUP_FORTREE_CITY 0
-#define MAP_GROUP_LILYCOVE_CITY 0
-#define MAP_GROUP_MOSSDEEP_CITY 0
-#define MAP_GROUP_SOOTOPOLIS_CITY 0
-#define MAP_GROUP_EVER_GRANDE_CITY 0
-#define MAP_GROUP_LITTLEROOT_TOWN 0
-#define MAP_GROUP_OLDALE_TOWN 0
-#define MAP_GROUP_DEWFORD_TOWN 0
-#define MAP_GROUP_LAVARIDGE_TOWN 0
-#define MAP_GROUP_FALLARBOR_TOWN 0
-#define MAP_GROUP_VERDANTURF_TOWN 0
-#define MAP_GROUP_PACIFIDLOG_TOWN 0
-#define MAP_GROUP_ROUTE101 0
-#define MAP_GROUP_ROUTE102 0
-#define MAP_GROUP_ROUTE103 0
-#define MAP_GROUP_ROUTE104 0
-#define MAP_GROUP_ROUTE105 0
-#define MAP_GROUP_ROUTE106 0
-#define MAP_GROUP_ROUTE107 0
-#define MAP_GROUP_ROUTE108 0
-#define MAP_GROUP_ROUTE109 0
-#define MAP_GROUP_ROUTE110 0
-#define MAP_GROUP_ROUTE111 0
-#define MAP_GROUP_ROUTE112 0
-#define MAP_GROUP_ROUTE113 0
-#define MAP_GROUP_ROUTE114 0
-#define MAP_GROUP_ROUTE115 0
-#define MAP_GROUP_ROUTE116 0
-#define MAP_GROUP_ROUTE117 0
-#define MAP_GROUP_ROUTE118 0
-#define MAP_GROUP_ROUTE119 0
-#define MAP_GROUP_ROUTE120 0
-#define MAP_GROUP_ROUTE121 0
-#define MAP_GROUP_ROUTE122 0
-#define MAP_GROUP_ROUTE123 0
-#define MAP_GROUP_ROUTE124 0
-#define MAP_GROUP_ROUTE125 0
-#define MAP_GROUP_ROUTE126 0
-#define MAP_GROUP_ROUTE127 0
-#define MAP_GROUP_ROUTE128 0
-#define MAP_GROUP_ROUTE129 0
-#define MAP_GROUP_ROUTE130 0
-#define MAP_GROUP_ROUTE131 0
-#define MAP_GROUP_ROUTE132 0
-#define MAP_GROUP_ROUTE133 0
-#define MAP_GROUP_ROUTE134 0
-#define MAP_GROUP_UNDERWATER1 0
-#define MAP_GROUP_UNDERWATER2 0
-#define MAP_GROUP_UNDERWATER3 0
-#define MAP_GROUP_UNDERWATER4 0
-#define MAP_GROUP_UNDERWATER5 0
-#define MAP_GROUP_UNDERWATER6 0
-#define MAP_GROUP_UNDERWATER7 0
-//--------------------------------------------------
-// Map Group 1
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F,
- MAP_ID_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F,
- MAP_ID_LITTLEROOT_TOWN_MAYS_HOUSE_1F,
- MAP_ID_LITTLEROOT_TOWN_MAYS_HOUSE_2F,
- MAP_ID_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB,
-};
-
-#define MAP_GROUP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F 1
-#define MAP_GROUP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F 1
-#define MAP_GROUP_LITTLEROOT_TOWN_MAYS_HOUSE_1F 1
-#define MAP_GROUP_LITTLEROOT_TOWN_MAYS_HOUSE_2F 1
-#define MAP_GROUP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB 1
-
-//--------------------------------------------------
-// Map Group 2
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_OLDALE_TOWN_HOUSE1,
- MAP_ID_OLDALE_TOWN_HOUSE2,
- MAP_ID_OLDALE_TOWN_POKEMON_CENTER_1F,
- MAP_ID_OLDALE_TOWN_POKEMON_CENTER_2F,
- MAP_ID_OLDALE_TOWN_MART,
-};
-
-#define MAP_GROUP_OLDALE_TOWN_HOUSE1 2
-#define MAP_GROUP_OLDALE_TOWN_HOUSE2 2
-#define MAP_GROUP_OLDALE_TOWN_POKEMON_CENTER_1F 2
-#define MAP_GROUP_OLDALE_TOWN_POKEMON_CENTER_2F 2
-#define MAP_GROUP_OLDALE_TOWN_MART 2
-
-//--------------------------------------------------
-// Map Group 3
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_DEWFORD_TOWN_HOUSE1,
- MAP_ID_DEWFORD_TOWN_POKEMON_CENTER_1F,
- MAP_ID_DEWFORD_TOWN_POKEMON_CENTER_2F,
- MAP_ID_DEWFORD_TOWN_GYM,
- MAP_ID_DEWFORD_TOWN_HALL,
- MAP_ID_DEWFORD_TOWN_HOUSE2,
-};
-
-#define MAP_GROUP_DEWFORD_TOWN_HOUSE1 3
-#define MAP_GROUP_DEWFORD_TOWN_POKEMON_CENTER_1F 3
-#define MAP_GROUP_DEWFORD_TOWN_POKEMON_CENTER_2F 3
-#define MAP_GROUP_DEWFORD_TOWN_GYM 3
-#define MAP_GROUP_DEWFORD_TOWN_HALL 3
-#define MAP_GROUP_DEWFORD_TOWN_HOUSE2 3
-
-//--------------------------------------------------
-// Map Group 4
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_LAVARIDGE_TOWN_HERB_SHOP,
- MAP_ID_LAVARIDGE_TOWN_GYM_1F,
- MAP_ID_LAVARIDGE_TOWN_GYM_B1F,
- MAP_ID_LAVARIDGE_TOWN_HOUSE,
- MAP_ID_LAVARIDGE_TOWN_MART,
- MAP_ID_LAVARIDGE_TOWN_POKEMON_CENTER_1F,
- MAP_ID_LAVARIDGE_TOWN_POKEMON_CENTER_2F,
-};
-
-#define MAP_GROUP_LAVARIDGE_TOWN_HERB_SHOP 4
-#define MAP_GROUP_LAVARIDGE_TOWN_GYM_1F 4
-#define MAP_GROUP_LAVARIDGE_TOWN_GYM_B1F 4
-#define MAP_GROUP_LAVARIDGE_TOWN_HOUSE 4
-#define MAP_GROUP_LAVARIDGE_TOWN_MART 4
-#define MAP_GROUP_LAVARIDGE_TOWN_POKEMON_CENTER_1F 4
-#define MAP_GROUP_LAVARIDGE_TOWN_POKEMON_CENTER_2F 4
-
-//--------------------------------------------------
-// Map Group 5
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_FALLARBOR_TOWN_MART,
- MAP_ID_FALLARBOR_TOWN_TENT_LOBBY,
- MAP_ID_FALLARBOR_TOWN_TENT_HALL,
- MAP_ID_FALLARBOR_TOWN_TENT_ARENA,
- MAP_ID_FALLARBOR_TOWN_POKEMON_CENTER_1F,
- MAP_ID_FALLARBOR_TOWN_POKEMON_CENTER_2F,
- MAP_ID_FALLARBOR_TOWN_HOUSE1,
- MAP_ID_FALLARBOR_TOWN_HOUSE2,
-};
-
-#define MAP_GROUP_FALLARBOR_TOWN_MART 5
-#define MAP_GROUP_FALLARBOR_TOWN_TENT_LOBBY 5
-#define MAP_GROUP_FALLARBOR_TOWN_TENT_HALL 5
-#define MAP_GROUP_FALLARBOR_TOWN_TENT_ARENA 5
-#define MAP_GROUP_FALLARBOR_TOWN_POKEMON_CENTER_1F 5
-#define MAP_GROUP_FALLARBOR_TOWN_POKEMON_CENTER_2F 5
-#define MAP_GROUP_FALLARBOR_TOWN_HOUSE1 5
-#define MAP_GROUP_FALLARBOR_TOWN_HOUSE2 5
-
-//--------------------------------------------------
-// Map Group 6
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_VERDANTURF_TOWN_TENT_LOBBY,
- MAP_ID_VERDANTURF_TOWN_TENT_HALL,
- MAP_ID_VERDANTURF_TOWN_TENT_ARENA,
- MAP_ID_VERDANTURF_TOWN_MART,
- MAP_ID_VERDANTURF_TOWN_POKEMON_CENTER_1F,
- MAP_ID_VERDANTURF_TOWN_POKEMON_CENTER_2F,
- MAP_ID_VERDANTURF_TOWN_WANDAS_HOUSE,
- MAP_ID_VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE,
- MAP_ID_VERDANTURF_TOWN_HOUSE,
-};
-
-#define MAP_GROUP_VERDANTURF_TOWN_TENT_LOBBY 6
-#define MAP_GROUP_VERDANTURF_TOWN_TENT_HALL 6
-#define MAP_GROUP_VERDANTURF_TOWN_TENT_ARENA 6
-#define MAP_GROUP_VERDANTURF_TOWN_MART 6
-#define MAP_GROUP_VERDANTURF_TOWN_POKEMON_CENTER_1F 6
-#define MAP_GROUP_VERDANTURF_TOWN_POKEMON_CENTER_2F 6
-#define MAP_GROUP_VERDANTURF_TOWN_WANDAS_HOUSE 6
-#define MAP_GROUP_VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE 6
-#define MAP_GROUP_VERDANTURF_TOWN_HOUSE 6
-
-//--------------------------------------------------
-// Map Group 7
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_PACIFIDLOG_TOWN_POKEMON_CENTER_1F,
- MAP_ID_PACIFIDLOG_TOWN_POKEMON_CENTER_2F,
- MAP_ID_PACIFIDLOG_TOWN_HOUSE1,
- MAP_ID_PACIFIDLOG_TOWN_HOUSE2,
- MAP_ID_PACIFIDLOG_TOWN_HOUSE3,
- MAP_ID_PACIFIDLOG_TOWN_HOUSE4,
- MAP_ID_PACIFIDLOG_TOWN_HOUSE5,
-};
-
-#define MAP_GROUP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F 7
-#define MAP_GROUP_PACIFIDLOG_TOWN_POKEMON_CENTER_2F 7
-#define MAP_GROUP_PACIFIDLOG_TOWN_HOUSE1 7
-#define MAP_GROUP_PACIFIDLOG_TOWN_HOUSE2 7
-#define MAP_GROUP_PACIFIDLOG_TOWN_HOUSE3 7
-#define MAP_GROUP_PACIFIDLOG_TOWN_HOUSE4 7
-#define MAP_GROUP_PACIFIDLOG_TOWN_HOUSE5 7
-
-//--------------------------------------------------
-// Map Group 8
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_PETALBURG_CITY_WALLYS_HOUSE,
- MAP_ID_PETALBURG_CITY_GYM,
- MAP_ID_PETALBURG_CITY_HOUSE1,
- MAP_ID_PETALBURG_CITY_HOUSE2,
- MAP_ID_PETALBURG_CITY_POKEMON_CENTER_1F,
- MAP_ID_PETALBURG_CITY_POKEMON_CENTER_2F,
- MAP_ID_PETALBURG_CITY_MART,
-};
-
-#define MAP_GROUP_PETALBURG_CITY_WALLYS_HOUSE 8
-#define MAP_GROUP_PETALBURG_CITY_GYM 8
-#define MAP_GROUP_PETALBURG_CITY_HOUSE1 8
-#define MAP_GROUP_PETALBURG_CITY_HOUSE2 8
-#define MAP_GROUP_PETALBURG_CITY_POKEMON_CENTER_1F 8
-#define MAP_GROUP_PETALBURG_CITY_POKEMON_CENTER_2F 8
-#define MAP_GROUP_PETALBURG_CITY_MART 8
-
-//--------------------------------------------------
-// Map Group 9
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_SLATEPORT_CITY_STERNS_SHIPYARD_1F,
- MAP_ID_SLATEPORT_CITY_STERNS_SHIPYARD_2F,
- MAP_ID_SLATEPORT_CITY_TENT_LOBBY,
- MAP_ID_SLATEPORT_CITY_TENT_HALL,
- MAP_ID_SLATEPORT_CITY_TENT_ARENA,
- MAP_ID_SLATEPORT_CITY_HOUSE1,
- MAP_ID_SLATEPORT_CITY_POKEMON_FAN_CLUB,
- MAP_ID_SLATEPORT_CITY_OCEANIC_MUSEUM_1F,
- MAP_ID_SLATEPORT_CITY_OCEANIC_MUSEUM_2F,
- MAP_ID_SLATEPORT_CITY_HARBOR,
- MAP_ID_SLATEPORT_CITY_HOUSE2,
- MAP_ID_SLATEPORT_CITY_POKEMON_CENTER_1F,
- MAP_ID_SLATEPORT_CITY_POKEMON_CENTER_2F,
- MAP_ID_SLATEPORT_CITY_MART,
-};
-
-#define MAP_GROUP_SLATEPORT_CITY_STERNS_SHIPYARD_1F 9
-#define MAP_GROUP_SLATEPORT_CITY_STERNS_SHIPYARD_2F 9
-#define MAP_GROUP_SLATEPORT_CITY_TENT_LOBBY 9
-#define MAP_GROUP_SLATEPORT_CITY_TENT_HALL 9
-#define MAP_GROUP_SLATEPORT_CITY_TENT_ARENA 9
-#define MAP_GROUP_SLATEPORT_CITY_HOUSE1 9
-#define MAP_GROUP_SLATEPORT_CITY_POKEMON_FAN_CLUB 9
-#define MAP_GROUP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F 9
-#define MAP_GROUP_SLATEPORT_CITY_OCEANIC_MUSEUM_2F 9
-#define MAP_GROUP_SLATEPORT_CITY_HARBOR 9
-#define MAP_GROUP_SLATEPORT_CITY_HOUSE2 9
-#define MAP_GROUP_SLATEPORT_CITY_POKEMON_CENTER_1F 9
-#define MAP_GROUP_SLATEPORT_CITY_POKEMON_CENTER_2F 9
-#define MAP_GROUP_SLATEPORT_CITY_MART 9
-
-//--------------------------------------------------
-// Map Group 10
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_MAUVILLE_CITY_GYM,
- MAP_ID_MAUVILLE_CITY_BIKE_SHOP,
- MAP_ID_MAUVILLE_CITY_HOUSE1,
- MAP_ID_MAUVILLE_CITY_GAME_CORNER,
- MAP_ID_MAUVILLE_CITY_HOUSE2,
- MAP_ID_MAUVILLE_CITY_POKEMON_CENTER_1F,
- MAP_ID_MAUVILLE_CITY_POKEMON_CENTER_2F,
- MAP_ID_MAUVILLE_CITY_MART,
-};
-
-#define MAP_GROUP_MAUVILLE_CITY_GYM 10
-#define MAP_GROUP_MAUVILLE_CITY_BIKE_SHOP 10
-#define MAP_GROUP_MAUVILLE_CITY_HOUSE1 10
-#define MAP_GROUP_MAUVILLE_CITY_GAME_CORNER 10
-#define MAP_GROUP_MAUVILLE_CITY_HOUSE2 10
-#define MAP_GROUP_MAUVILLE_CITY_POKEMON_CENTER_1F 10
-#define MAP_GROUP_MAUVILLE_CITY_POKEMON_CENTER_2F 10
-#define MAP_GROUP_MAUVILLE_CITY_MART 10
-
-//--------------------------------------------------
-// Map Group 11
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_RUSTBORO_CITY_DEVON_CORP_1F,
- MAP_ID_RUSTBORO_CITY_DEVON_CORP_2F,
- MAP_ID_RUSTBORO_CITY_DEVON_CORP_3F,
- MAP_ID_RUSTBORO_CITY_GYM,
- MAP_ID_RUSTBORO_CITY_POKEMON_SCHOOL,
- MAP_ID_RUSTBORO_CITY_POKEMON_CENTER_1F,
- MAP_ID_RUSTBORO_CITY_POKEMON_CENTER_2F,
- MAP_ID_RUSTBORO_CITY_MART,
- MAP_ID_RUSTBORO_CITY_FLAT1_1F,
- MAP_ID_RUSTBORO_CITY_FLAT1_2F,
- MAP_ID_RUSTBORO_CITY_HOUSE1,
- MAP_ID_RUSTBORO_CITY_CUTTERS_HOUSE,
- MAP_ID_RUSTBORO_CITY_HOUSE2,
- MAP_ID_RUSTBORO_CITY_FLAT2_1F,
- MAP_ID_RUSTBORO_CITY_FLAT2_2F,
- MAP_ID_RUSTBORO_CITY_FLAT2_3F,
- MAP_ID_RUSTBORO_CITY_HOUSE3,
-};
-
-#define MAP_GROUP_RUSTBORO_CITY_DEVON_CORP_1F 11
-#define MAP_GROUP_RUSTBORO_CITY_DEVON_CORP_2F 11
-#define MAP_GROUP_RUSTBORO_CITY_DEVON_CORP_3F 11
-#define MAP_GROUP_RUSTBORO_CITY_GYM 11
-#define MAP_GROUP_RUSTBORO_CITY_POKEMON_SCHOOL 11
-#define MAP_GROUP_RUSTBORO_CITY_POKEMON_CENTER_1F 11
-#define MAP_GROUP_RUSTBORO_CITY_POKEMON_CENTER_2F 11
-#define MAP_GROUP_RUSTBORO_CITY_MART 11
-#define MAP_GROUP_RUSTBORO_CITY_FLAT1_1F 11
-#define MAP_GROUP_RUSTBORO_CITY_FLAT1_2F 11
-#define MAP_GROUP_RUSTBORO_CITY_HOUSE1 11
-#define MAP_GROUP_RUSTBORO_CITY_CUTTERS_HOUSE 11
-#define MAP_GROUP_RUSTBORO_CITY_HOUSE2 11
-#define MAP_GROUP_RUSTBORO_CITY_FLAT2_1F 11
-#define MAP_GROUP_RUSTBORO_CITY_FLAT2_2F 11
-#define MAP_GROUP_RUSTBORO_CITY_FLAT2_3F 11
-#define MAP_GROUP_RUSTBORO_CITY_HOUSE3 11
-
-//--------------------------------------------------
-// Map Group 12
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_FORTREE_CITY_HOUSE1,
- MAP_ID_FORTREE_CITY_GYM,
- MAP_ID_FORTREE_CITY_POKEMON_CENTER_1F,
- MAP_ID_FORTREE_CITY_POKEMON_CENTER_2F,
- MAP_ID_FORTREE_CITY_MART,
- MAP_ID_FORTREE_CITY_HOUSE2,
- MAP_ID_FORTREE_CITY_HOUSE3,
- MAP_ID_FORTREE_CITY_HOUSE4,
- MAP_ID_FORTREE_CITY_HOUSE5,
- MAP_ID_FORTREE_CITY_DECORATION_SHOP,
-};
-
-#define MAP_GROUP_FORTREE_CITY_HOUSE1 12
-#define MAP_GROUP_FORTREE_CITY_GYM 12
-#define MAP_GROUP_FORTREE_CITY_POKEMON_CENTER_1F 12
-#define MAP_GROUP_FORTREE_CITY_POKEMON_CENTER_2F 12
-#define MAP_GROUP_FORTREE_CITY_MART 12
-#define MAP_GROUP_FORTREE_CITY_HOUSE2 12
-#define MAP_GROUP_FORTREE_CITY_HOUSE3 12
-#define MAP_GROUP_FORTREE_CITY_HOUSE4 12
-#define MAP_GROUP_FORTREE_CITY_HOUSE5 12
-#define MAP_GROUP_FORTREE_CITY_DECORATION_SHOP 12
-
-//--------------------------------------------------
-// Map Group 13
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_LILYCOVE_CITY_COVE_LILY_MOTEL_1F,
- MAP_ID_LILYCOVE_CITY_COVE_LILY_MOTEL_2F,
- MAP_ID_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F,
- MAP_ID_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F,
- MAP_ID_LILYCOVE_CITY_CONTEST_LOBBY,
- MAP_ID_LILYCOVE_CITY_CONTEST_HALL,
- MAP_ID_LILYCOVE_CITY_POKEMON_CENTER_1F,
- MAP_ID_LILYCOVE_CITY_POKEMON_CENTER_2F,
- MAP_ID_LILYCOVE_CITY_UNUSED_MART,
- MAP_ID_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB,
- MAP_ID_LILYCOVE_CITY_HARBOR,
- MAP_ID_LILYCOVE_CITY_MOVE_DELETERS_HOUSE,
- MAP_ID_LILYCOVE_CITY_HOUSE1,
- MAP_ID_LILYCOVE_CITY_HOUSE2,
- MAP_ID_LILYCOVE_CITY_HOUSE3,
- MAP_ID_LILYCOVE_CITY_HOUSE4,
- MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_1F,
- MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_2F,
- MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_3F,
- MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_4F,
- MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_5F,
- MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP,
- MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR,
-};
-
-#define MAP_GROUP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F 13
-#define MAP_GROUP_LILYCOVE_CITY_COVE_LILY_MOTEL_2F 13
-#define MAP_GROUP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F 13
-#define MAP_GROUP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F 13
-#define MAP_GROUP_LILYCOVE_CITY_CONTEST_LOBBY 13
-#define MAP_GROUP_LILYCOVE_CITY_CONTEST_HALL 13
-#define MAP_GROUP_LILYCOVE_CITY_POKEMON_CENTER_1F 13
-#define MAP_GROUP_LILYCOVE_CITY_POKEMON_CENTER_2F 13
-#define MAP_GROUP_LILYCOVE_CITY_UNUSED_MART 13
-#define MAP_GROUP_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB 13
-#define MAP_GROUP_LILYCOVE_CITY_HARBOR 13
-#define MAP_GROUP_LILYCOVE_CITY_MOVE_DELETERS_HOUSE 13
-#define MAP_GROUP_LILYCOVE_CITY_HOUSE1 13
-#define MAP_GROUP_LILYCOVE_CITY_HOUSE2 13
-#define MAP_GROUP_LILYCOVE_CITY_HOUSE3 13
-#define MAP_GROUP_LILYCOVE_CITY_HOUSE4 13
-#define MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_1F 13
-#define MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_2F 13
-#define MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_3F 13
-#define MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_4F 13
-#define MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_5F 13
-#define MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP 13
-#define MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR 13
-
-//--------------------------------------------------
-// Map Group 14
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_MOSSDEEP_CITY_GYM,
- MAP_ID_MOSSDEEP_CITY_HOUSE1,
- MAP_ID_MOSSDEEP_CITY_HOUSE2,
- MAP_ID_MOSSDEEP_CITY_POKEMON_CENTER_1F,
- MAP_ID_MOSSDEEP_CITY_POKEMON_CENTER_2F,
- MAP_ID_MOSSDEEP_CITY_MART,
- MAP_ID_MOSSDEEP_CITY_HOUSE3,
- MAP_ID_MOSSDEEP_CITY_STEVENS_HOUSE,
- MAP_ID_MOSSDEEP_CITY_HOUSE4,
- MAP_ID_MOSSDEEP_CITY_SPACE_CENTER_1F,
- MAP_ID_MOSSDEEP_CITY_SPACE_CENTER_2F,
- MAP_ID_MOSSDEEP_CITY_GAME_CORNER_1F,
- MAP_ID_MOSSDEEP_CITY_GAME_CORNER_B1F,
-};
-
-#define MAP_GROUP_MOSSDEEP_CITY_GYM 14
-#define MAP_GROUP_MOSSDEEP_CITY_HOUSE1 14
-#define MAP_GROUP_MOSSDEEP_CITY_HOUSE2 14
-#define MAP_GROUP_MOSSDEEP_CITY_POKEMON_CENTER_1F 14
-#define MAP_GROUP_MOSSDEEP_CITY_POKEMON_CENTER_2F 14
-#define MAP_GROUP_MOSSDEEP_CITY_MART 14
-#define MAP_GROUP_MOSSDEEP_CITY_HOUSE3 14
-#define MAP_GROUP_MOSSDEEP_CITY_STEVENS_HOUSE 14
-#define MAP_GROUP_MOSSDEEP_CITY_HOUSE4 14
-#define MAP_GROUP_MOSSDEEP_CITY_SPACE_CENTER_1F 14
-#define MAP_GROUP_MOSSDEEP_CITY_SPACE_CENTER_2F 14
-#define MAP_GROUP_MOSSDEEP_CITY_GAME_CORNER_1F 14
-#define MAP_GROUP_MOSSDEEP_CITY_GAME_CORNER_B1F 14
-
-//--------------------------------------------------
-// Map Group 15
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_SOOTOPOLIS_CITY_GYM_1F,
- MAP_ID_SOOTOPOLIS_CITY_GYM_B1F,
- MAP_ID_SOOTOPOLIS_CITY_POKEMON_CENTER_1F,
- MAP_ID_SOOTOPOLIS_CITY_POKEMON_CENTER_2F,
- MAP_ID_SOOTOPOLIS_CITY_MART,
- MAP_ID_SOOTOPOLIS_CITY_HOUSE1,
- MAP_ID_SOOTOPOLIS_CITY_HOUSE2,
- MAP_ID_SOOTOPOLIS_CITY_HOUSE3,
- MAP_ID_SOOTOPOLIS_CITY_HOUSE4,
- MAP_ID_SOOTOPOLIS_CITY_HOUSE5,
- MAP_ID_SOOTOPOLIS_CITY_HOUSE6,
- MAP_ID_SOOTOPOLIS_CITY_HOUSE7,
- MAP_ID_SOOTOPOLIS_CITY_HOUSE8,
- MAP_ID_SOOTOPOLIS_CITY_BATTLEHOUSE_1,
- MAP_ID_SOOTOPOLIS_CITY_BATTLEHOUSE_2,
-};
-
-#define MAP_GROUP_SOOTOPOLIS_CITY_GYM_1F 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_GYM_B1F 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_MART 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE1 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE2 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE3 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE4 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE5 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE6 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE7 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE8 15
-#define MAP_ID_SOOTOPOLIS_CITY_BATTLEHOUSE_1 15
-#define MAP_ID_SOOTOPOLIS_CITY_BATTLEHOUSE_2 15
-//--------------------------------------------------
-// Map Group 16
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_EVER_GRANDE_CITY_SIDNEYS_ROOM,
- MAP_ID_EVER_GRANDE_CITY_PHOEBES_ROOM,
- MAP_ID_EVER_GRANDE_CITY_GLACIAS_ROOM,
- MAP_ID_EVER_GRANDE_CITY_DRAKES_ROOM,
- MAP_ID_EVER_GRANDE_CITY_CHAMPIONS_ROOM,
- MAP_ID_EVER_GRANDE_CITY_CORRIDOR1,
- MAP_ID_EVER_GRANDE_CITY_CORRIDOR2,
- MAP_ID_EVER_GRANDE_CITY_CORRIDOR3,
- MAP_ID_EVER_GRANDE_CITY_CORRIDOR4,
- MAP_ID_EVER_GRANDE_CITY_CORRIDOR5,
- MAP_ID_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F,
- MAP_ID_EVER_GRANDE_CITY_HALL_OF_FAME,
- MAP_ID_EVER_GRANDE_CITY_POKEMON_CENTER_1F,
- MAP_ID_EVER_GRANDE_CITY_POKEMON_CENTER_2F,
- MAP_ID_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F,
-};
-
-#define MAP_GROUP_EVER_GRANDE_CITY_SIDNEYS_ROOM 16
-#define MAP_GROUP_EVER_GRANDE_CITY_PHOEBES_ROOM 16
-#define MAP_GROUP_EVER_GRANDE_CITY_GLACIAS_ROOM 16
-#define MAP_GROUP_EVER_GRANDE_CITY_DRAKES_ROOM 16
-#define MAP_GROUP_EVER_GRANDE_CITY_CHAMPIONS_ROOM 16
-#define MAP_GROUP_EVER_GRANDE_CITY_CORRIDOR1 16
-#define MAP_GROUP_EVER_GRANDE_CITY_CORRIDOR2 16
-#define MAP_GROUP_EVER_GRANDE_CITY_CORRIDOR3 16
-#define MAP_GROUP_EVER_GRANDE_CITY_CORRIDOR4 16
-#define MAP_GROUP_EVER_GRANDE_CITY_CORRIDOR5 16
-#define MAP_GROUP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F 16
-#define MAP_GROUP_EVER_GRANDE_CITY_HALL_OF_FAME 16
-#define MAP_GROUP_EVER_GRANDE_CITY_POKEMON_CENTER_1F 16
-#define MAP_GROUP_EVER_GRANDE_CITY_POKEMON_CENTER_2F 16
-#define MAP_GROUP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F 16
-
-//--------------------------------------------------
-// Map Group 17
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE104_MR_BRINEYS_HOUSE,
- MAP_ID_ROUTE104_PRETTY_PETAL_FLOWER_SHOP,
-};
-
-#define MAP_GROUP_ROUTE104_MR_BRINEYS_HOUSE 17
-#define MAP_GROUP_ROUTE104_PRETTY_PETAL_FLOWER_SHOP 17
-
-//--------------------------------------------------
-// Map Group 18
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE111_WINSTRATE_FAMILYS_HOUSE,
- MAP_ID_ROUTE111_OLD_LADYS_REST_STOP,
-};
-
-#define MAP_GROUP_ROUTE111_WINSTRATE_FAMILYS_HOUSE 18
-#define MAP_GROUP_ROUTE111_OLD_LADYS_REST_STOP 18
-
-//--------------------------------------------------
-// Map Group 19
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE112_CABLE_CAR_STATION,
- MAP_ID_MT_CHIMNEY_CABLE_CAR_STATION,
-};
-
-#define MAP_GROUP_ROUTE112_CABLE_CAR_STATION 19
-#define MAP_GROUP_MT_CHIMNEY_CABLE_CAR_STATION 19
-
-//--------------------------------------------------
-// Map Group 20
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE114_FOSSIL_MANIACS_HOUSE,
- MAP_ID_ROUTE114_FOSSIL_MANIACS_TUNNEL,
- MAP_ID_ROUTE114_LANETTES_HOUSE,
-};
-
-#define MAP_GROUP_ROUTE114_FOSSIL_MANIACS_HOUSE 20
-#define MAP_GROUP_ROUTE114_FOSSIL_MANIACS_TUNNEL 20
-#define MAP_GROUP_ROUTE114_LANETTES_HOUSE 20
-
-//--------------------------------------------------
-// Map Group 21
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE116_TUNNELERS_REST_HOUSE,
-};
-
-#define MAP_GROUP_ROUTE116_TUNNELERS_REST_HOUSE 21
-
-//--------------------------------------------------
-// Map Group 22
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE117_POKEMON_DAY_CARE,
-};
-
-#define MAP_GROUP_ROUTE117_POKEMON_DAY_CARE 22
-
-//--------------------------------------------------
-// Map Group 23
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE121_SAFARI_ZONE_ENTRANCE,
-};
-
-#define MAP_GROUP_ROUTE121_SAFARI_ZONE_ENTRANCE 23
-
-//--------------------------------------------------
-// Map Group 24
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_METEOR_FALLS_1F_1R,
- MAP_ID_METEOR_FALLS_1F_2R,
- MAP_ID_METEOR_FALLS_B1F_1R,
- MAP_ID_METEOR_FALLS_B1F_2R,
- MAP_ID_RUSTURF_TUNNEL,
- MAP_ID_UNDERWATER_SOOTOPOLIS_CITY,
- MAP_ID_DESERT_RUINS,
- MAP_ID_GRANITE_CAVE_1F,
- MAP_ID_GRANITE_CAVE_B1F,
- MAP_ID_GRANITE_CAVE_B2F,
- MAP_ID_GRANITE_CAVE_STEVENS_ROOM,
- MAP_ID_PETALBURG_WOODS,
- MAP_ID_MT_CHIMNEY,
- MAP_ID_JAGGED_PASS,
- MAP_ID_FIERY_PATH,
- MAP_ID_MT_PYRE_1F,
- MAP_ID_MT_PYRE_2F,
- MAP_ID_MT_PYRE_3F,
- MAP_ID_MT_PYRE_4F,
- MAP_ID_MT_PYRE_5F,
- MAP_ID_MT_PYRE_6F,
- MAP_ID_MT_PYRE_EXTERIOR,
- MAP_ID_MT_PYRE_SUMMIT,
- MAP_ID_AQUA_HIDEOUT_1F,
- MAP_ID_AQUA_HIDEOUT_B1F,
- MAP_ID_AQUA_HIDEOUT_B2F,
- MAP_ID_UNDERWATER_SEAFLOOR_CAVERN,
- MAP_ID_SEAFLOOR_CAVERN_ENTRANCE,
- MAP_ID_SEAFLOOR_CAVERN_ROOM1,
- MAP_ID_SEAFLOOR_CAVERN_ROOM2,
- MAP_ID_SEAFLOOR_CAVERN_ROOM3,
- MAP_ID_SEAFLOOR_CAVERN_ROOM4,
- MAP_ID_SEAFLOOR_CAVERN_ROOM5,
- MAP_ID_SEAFLOOR_CAVERN_ROOM6,
- MAP_ID_SEAFLOOR_CAVERN_ROOM7,
- MAP_ID_SEAFLOOR_CAVERN_ROOM8,
- MAP_ID_SEAFLOOR_CAVERN_ROOM9,
- MAP_ID_CAVE_OF_ORIGIN_ENTRANCE,
- MAP_ID_CAVE_OF_ORIGIN_1F,
- MAP_ID_CAVE_OF_ORIGIN_B1F,
- MAP_ID_CAVE_OF_ORIGIN_B2F,
- MAP_ID_CAVE_OF_ORIGIN_B3F,
- MAP_ID_CAVE_OF_ORIGIN_B4F,
- MAP_ID_VICTORY_ROAD_1F,
- MAP_ID_VICTORY_ROAD_B1F,
- MAP_ID_VICTORY_ROAD_B2F,
- MAP_ID_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM,
- MAP_ID_SHOAL_CAVE_LOW_TIDE_INNER_ROOM,
- MAP_ID_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM,
- MAP_ID_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM,
- MAP_ID_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM,
- MAP_ID_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM,
- MAP_ID_NEW_MAUVILLE_ENTRANCE,
- MAP_ID_NEW_MAUVILLE_INSIDE,
- MAP_ID_ABANDONED_SHIP_DECK,
- MAP_ID_ABANDONED_SHIP_CORRIDORS_1F,
- MAP_ID_ABANDONED_SHIP_ROOMS_1F,
- MAP_ID_ABANDONED_SHIP_CORRIDORS_B1F,
- MAP_ID_ABANDONED_SHIP_ROOMS_B1F,
- MAP_ID_ABANDONED_SHIP_ROOMS2_B1F,
- MAP_ID_ABANDONED_SHIP_UNDERWATER1,
- MAP_ID_ABANDONED_SHIP_ROOM_B1F,
- MAP_ID_ABANDONED_SHIP_ROOMS2_1F,
- MAP_ID_ABANDONED_SHIP_CAPTAINS_OFFICE,
- MAP_ID_ABANDONED_SHIP_UNDERWATER2,
- MAP_ID_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS,
- MAP_ID_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS,
- MAP_ID_ISLAND_CAVE,
- MAP_ID_ANCIENT_TOMB,
- MAP_ID_UNDERWATER_ROUTE134,
- MAP_ID_UNDERWATER_SEALED_CHAMBER,
- MAP_ID_SEALED_CHAMBER_OUTER_ROOM,
- MAP_ID_SEALED_CHAMBER_INNER_ROOM,
- MAP_ID_SCORCHED_SLAB,
- MAP_ID_UNUSED_AQUA_HIDEOUT_1F,
- MAP_ID_UNUSED_AQUA_HIDEOUT_B1F,
- MAP_ID_UNUSED_AQUA_HIDEOUT_B2F,
- MAP_ID_SKY_PILLAR_ENTRANCE,
- MAP_ID_SKY_PILLAR_OUTSIDE,
- MAP_ID_SKY_PILLAR_1F,
- MAP_ID_SKY_PILLAR_2F,
- MAP_ID_SKY_PILLAR_3F,
- MAP_ID_SKY_PILLAR_4F,
- MAP_ID_SHOAL_CAVE_LOW_TIDE_ICE_ROOM,
- MAP_ID_SKY_PILLAR_5F,
- MAP_ID_SKY_PILLAR_TOP,
- MAP_ID_MAGMA_HIDEOUT_ENTRANCE,
- MAP_ID_MAGMA_HIDEOUT_B1F,
- MAP_ID_MAGMA_HIDEOUT_B2F,
- MAP_ID_MAGMA_HIDEOUT_B3F,
- MAP_ID_MAGMA_HIDEOUT_B4F,
- MAP_ID_MAGMA_HIDEOUT_B5F,
- MAP_ID_MAGMA_HIDEOUT_B6F,
- MAP_ID_MAGMA_HIDEOUT_B7F,
- MAP_ID_MIRAGE_TOWER_1F,
- MAP_ID_MIRAGE_TOWER_2F,
- MAP_ID_MIRAGE_TOWER_3F,
- MAP_ID_MIRAGE_TOWER_4F,
- MAP_ID_DESERT_UNDERPASS,
- MAP_ID_ARTISAN_CAVE_1F,
- MAP_ID_ARTISAN_CAVE_2F,
- MAP_ID_UNKNOWN_UNDERWATER,
- MAP_ID_MARINE_CAVE_1F,
- MAP_ID_MARINE_CAVE_2F,
- MAP_ID_TERRA_CAVE_1F,
- MAP_ID_TERRA_CAVE_2F,
- MAP_ID_ALTERING_CAVE,
- MAP_ID_METEOR_FALLS_B1F_3R,
-};
-
-#define MAP_GROUP_METEOR_FALLS_1F_1R 24
-#define MAP_GROUP_METEOR_FALLS_1F_2R 24
-#define MAP_GROUP_METEOR_FALLS_B1F_1R 24
-#define MAP_GROUP_METEOR_FALLS_B1F_2R 24
-#define MAP_GROUP_RUSTURF_TUNNEL 24
-#define MAP_GROUP_UNDERWATER_SOOTOPOLIS_CITY 24
-#define MAP_GROUP_DESERT_RUINS 24
-#define MAP_GROUP_GRANITE_CAVE_1F 24
-#define MAP_GROUP_GRANITE_CAVE_B1F 24
-#define MAP_GROUP_GRANITE_CAVE_B2F 24
-#define MAP_GROUP_GRANITE_CAVE_STEVENS_ROOM 24
-#define MAP_GROUP_PETALBURG_WOODS 24
-#define MAP_GROUP_MT_CHIMNEY 24
-#define MAP_GROUP_JAGGED_PASS 24
-#define MAP_GROUP_FIERY_PATH 24
-#define MAP_GROUP_MT_PYRE_1F 24
-#define MAP_GROUP_MT_PYRE_2F 24
-#define MAP_GROUP_MT_PYRE_3F 24
-#define MAP_GROUP_MT_PYRE_4F 24
-#define MAP_GROUP_MT_PYRE_5F 24
-#define MAP_GROUP_MT_PYRE_6F 24
-#define MAP_GROUP_MT_PYRE_EXTERIOR 24
-#define MAP_GROUP_MT_PYRE_SUMMIT 24
-#define MAP_GROUP_AQUA_HIDEOUT_1F 24
-#define MAP_GROUP_AQUA_HIDEOUT_B1F 24
-#define MAP_GROUP_AQUA_HIDEOUT_B2F 24
-#define MAP_GROUP_UNDERWATER_SEAFLOOR_CAVERN 24
-#define MAP_GROUP_SEAFLOOR_CAVERN_ENTRANCE 24
-#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM1 24
-#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM2 24
-#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM3 24
-#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM4 24
-#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM5 24
-#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM6 24
-#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM7 24
-#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM8 24
-#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM9 24
-#define MAP_GROUP_CAVE_OF_ORIGIN_ENTRANCE 24
-#define MAP_GROUP_CAVE_OF_ORIGIN_1F 24
-#define MAP_GROUP_CAVE_OF_ORIGIN_B1F 24
-#define MAP_GROUP_CAVE_OF_ORIGIN_B2F 24
-#define MAP_GROUP_CAVE_OF_ORIGIN_B3F 24
-#define MAP_GROUP_CAVE_OF_ORIGIN_B4F 24
-#define MAP_GROUP_VICTORY_ROAD_1F 24
-#define MAP_GROUP_VICTORY_ROAD_B1F 24
-#define MAP_GROUP_VICTORY_ROAD_B2F 24
-#define MAP_GROUP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM 24
-#define MAP_GROUP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM 24
-#define MAP_GROUP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM 24
-#define MAP_GROUP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM 24
-#define MAP_GROUP_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM 24
-#define MAP_GROUP_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM 24
-#define MAP_GROUP_NEW_MAUVILLE_ENTRANCE 24
-#define MAP_GROUP_NEW_MAUVILLE_INSIDE 24
-#define MAP_GROUP_ABANDONED_SHIP_DECK 24
-#define MAP_GROUP_ABANDONED_SHIP_CORRIDORS_1F 24
-#define MAP_GROUP_ABANDONED_SHIP_ROOMS_1F 24
-#define MAP_GROUP_ABANDONED_SHIP_CORRIDORS_B1F 24
-#define MAP_GROUP_ABANDONED_SHIP_ROOMS_B1F 24
-#define MAP_GROUP_ABANDONED_SHIP_ROOMS2_B1F 24
-#define MAP_GROUP_ABANDONED_SHIP_UNDERWATER1 24
-#define MAP_GROUP_ABANDONED_SHIP_ROOM_B1F 24
-#define MAP_GROUP_ABANDONED_SHIP_ROOMS2_1F 24
-#define MAP_GROUP_ABANDONED_SHIP_CAPTAINS_OFFICE 24
-#define MAP_GROUP_ABANDONED_SHIP_UNDERWATER2 24
-#define MAP_GROUP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS 24
-#define MAP_GROUP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS 24
-#define MAP_GROUP_ISLAND_CAVE 24
-#define MAP_GROUP_ANCIENT_TOMB 24
-#define MAP_GROUP_UNDERWATER_ROUTE134 24
-#define MAP_GROUP_UNDERWATER_SEALED_CHAMBER 24
-#define MAP_GROUP_SEALED_CHAMBER_OUTER_ROOM 24
-#define MAP_GROUP_SEALED_CHAMBER_INNER_ROOM 24
-#define MAP_GROUP_SCORCHED_SLAB 24
-#define MAP_GROUP_UNUSED_AQUA_HIDEOUT_1F 24
-#define MAP_GROUP_UNUSED_AQUA_HIDEOUT_B1F 24
-#define MAP_GROUP_UNUSED_AQUA_HIDEOUT_B2F 24
-#define MAP_GROUP_SKY_PILLAR_ENTRANCE 24
-#define MAP_GROUP_SKY_PILLAR_OUTSIDE 24
-#define MAP_GROUP_SKY_PILLAR_1F 24
-#define MAP_GROUP_SKY_PILLAR_2F 24
-#define MAP_GROUP_SKY_PILLAR_3F 24
-#define MAP_GROUP_SKY_PILLAR_4F 24
-#define MAP_GROUP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM 24
-#define MAP_GROUP_SKY_PILLAR_5F 24
-#define MAP_GROUP_SKY_PILLAR_TOP 24
-#define MAP_GROUP_MAGMA_HIDEOUT_ENTRANCE 24
-#define MAP_GROUP_MAGMA_HIDEOUT_B1F 24
-#define MAP_GROUP_MAGMA_HIDEOUT_B2F 24
-#define MAP_GROUP_MAGMA_HIDEOUT_B3F 24
-#define MAP_GROUP_MAGMA_HIDEOUT_B4F 24
-#define MAP_GROUP_MAGMA_HIDEOUT_B5F 24
-#define MAP_GROUP_MAGMA_HIDEOUT_B6F 24
-#define MAP_GROUP_MAGMA_HIDEOUT_B7F 24
-#define MAP_GROUP_MIRAGE_TOWER_1F 24
-#define MAP_GROUP_MIRAGE_TOWER_2F 24
-#define MAP_GROUP_MIRAGE_TOWER_3F 24
-#define MAP_GROUP_MIRAGE_TOWER_4F 24
-#define MAP_GROUP_DESERT_UNDERPASS 24
-#define MAP_GROUP_ARTISAN_CAVE_1F 24
-#define MAP_GROUP_ARTISAN_CAVE_2F 24
-#define MAP_GROUP_UNKNOWN_UNDERWATER 24
-#define MAP_GROUP_MARINE_CAVE_1F 24
-#define MAP_GROUP_MARINE_CAVE_2F 24
-#define MAP_GROUP_TERRA_CAVE_1F 24
-#define MAP_GROUP_TERRA_CAVE_2F 24
-#define MAP_GROUP_ALTERING_CAVE 24
-#define MAP_GROUP_METEOR_FALLS_B1F_3R 24
-
-//--------------------------------------------------
-// Map Group 25
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_SECRET_BASE_RED_CAVE1,
- MAP_ID_SECRET_BASE_BROWN_CAVE1,
- MAP_ID_SECRET_BASE_BLUE_CAVE1,
- MAP_ID_SECRET_BASE_YELLOW_CAVE1,
- MAP_ID_SECRET_BASE_TREE1,
- MAP_ID_SECRET_BASE_SHRUB1,
- MAP_ID_SECRET_BASE_RED_CAVE2,
- MAP_ID_SECRET_BASE_BROWN_CAVE2,
- MAP_ID_SECRET_BASE_BLUE_CAVE2,
- MAP_ID_SECRET_BASE_YELLOW_CAVE2,
- MAP_ID_SECRET_BASE_TREE2,
- MAP_ID_SECRET_BASE_SHRUB2,
- MAP_ID_SECRET_BASE_RED_CAVE3,
- MAP_ID_SECRET_BASE_BROWN_CAVE3,
- MAP_ID_SECRET_BASE_BLUE_CAVE3,
- MAP_ID_SECRET_BASE_YELLOW_CAVE3,
- MAP_ID_SECRET_BASE_TREE3,
- MAP_ID_SECRET_BASE_SHRUB3,
- MAP_ID_SECRET_BASE_RED_CAVE4,
- MAP_ID_SECRET_BASE_BROWN_CAVE4,
- MAP_ID_SECRET_BASE_BLUE_CAVE4,
- MAP_ID_SECRET_BASE_YELLOW_CAVE4,
- MAP_ID_SECRET_BASE_TREE4,
- MAP_ID_SECRET_BASE_SHRUB4,
- MAP_ID_SINGLE_BATTLE_COLOSSEUM,
- MAP_ID_TRADE_CENTER,
- MAP_ID_RECORD_CORNER,
- MAP_ID_DOUBLE_BATTLE_COLOSSEUM,
- MAP_ID_LINK_CONTEST_ROOM1,
- MAP_ID_UNKNOWN_MAP_25_29,
- MAP_ID_UNKNOWN_MAP_25_30,
- MAP_ID_UNKNOWN_MAP_25_31,
- MAP_ID_UNKNOWN_MAP_25_32,
- MAP_ID_UNKNOWN_MAP_25_33,
- MAP_ID_UNKNOWN_MAP_25_34,
- MAP_ID_LINK_CONTEST_ROOM2,
- MAP_ID_LINK_CONTEST_ROOM3,
- MAP_ID_LINK_CONTEST_ROOM4,
- MAP_ID_LINK_CONTEST_ROOM5,
- MAP_ID_LINK_CONTEST_ROOM6,
- MAP_ID_INSIDE_OF_TRUCK,
- MAP_ID_SS_TIDAL_CORRIDOR,
- MAP_ID_SS_TIDAL_LOWER_DECK,
- MAP_ID_SS_TIDAL_ROOMS,
- MAP_ID_TEST_ROOM_1,
- MAP_ID_TEST_ROOM_2,
- MAP_ID_TEST_ROOM_3,
- MAP_ID_TEST_ROOM_4,
- MAP_ID_TEST_ROOM_5,
- MAP_ID_TEST_ROOM_6,
- MAP_ID_TEST_ROOM_7,
- MAP_ID_TEST_ROOM_8,
- MAP_ID_TEST_ROOM_9,
- MAP_ID_TEST_ROOM_10,
- MAP_ID_TEST_ROOM_11,
- MAP_ID_TEST_ROOM_12,
- MAP_ID_TEST_ROOM_13,
- MAP_ID_TEST_ROOM_14,
- MAP_ID_TEST_ROOM_15,
- MAP_ID_TEST_ROOM_16,
- MAP_ID_UNION_ROOM,
-};
-
-#define MAP_GROUP_SECRET_BASE_RED_CAVE1 25
-#define MAP_GROUP_SECRET_BASE_BROWN_CAVE1 25
-#define MAP_GROUP_SECRET_BASE_BLUE_CAVE1 25
-#define MAP_GROUP_SECRET_BASE_YELLOW_CAVE1 25
-#define MAP_GROUP_SECRET_BASE_TREE1 25
-#define MAP_GROUP_SECRET_BASE_SHRUB1 25
-#define MAP_GROUP_SECRET_BASE_RED_CAVE2 25
-#define MAP_GROUP_SECRET_BASE_BROWN_CAVE2 25
-#define MAP_GROUP_SECRET_BASE_BLUE_CAVE2 25
-#define MAP_GROUP_SECRET_BASE_YELLOW_CAVE2 25
-#define MAP_GROUP_SECRET_BASE_TREE2 25
-#define MAP_GROUP_SECRET_BASE_SHRUB2 25
-#define MAP_GROUP_SECRET_BASE_RED_CAVE3 25
-#define MAP_GROUP_SECRET_BASE_BROWN_CAVE3 25
-#define MAP_GROUP_SECRET_BASE_BLUE_CAVE3 25
-#define MAP_GROUP_SECRET_BASE_YELLOW_CAVE3 25
-#define MAP_GROUP_SECRET_BASE_TREE3 25
-#define MAP_GROUP_SECRET_BASE_SHRUB3 25
-#define MAP_GROUP_SECRET_BASE_RED_CAVE4 25
-#define MAP_GROUP_SECRET_BASE_BROWN_CAVE4 25
-#define MAP_GROUP_SECRET_BASE_BLUE_CAVE4 25
-#define MAP_GROUP_SECRET_BASE_YELLOW_CAVE4 25
-#define MAP_GROUP_SECRET_BASE_TREE4 25
-#define MAP_GROUP_SECRET_BASE_SHRUB4 25
-#define MAP_GROUP_SINGLE_BATTLE_COLOSSEUM 25
-#define MAP_GROUP_TRADE_CENTER 25
-#define MAP_GROUP_RECORD_CORNER 25
-#define MAP_GROUP_DOUBLE_BATTLE_COLOSSEUM 25
-#define MAP_GROUP_LINK_CONTEST_ROOM1 25
-#define MAP_GROUP_UNKNOWN_MAP_25_29 25
-#define MAP_GROUP_UNKNOWN_MAP_25_30 25
-#define MAP_GROUP_UNKNOWN_MAP_25_31 25
-#define MAP_GROUP_UNKNOWN_MAP_25_32 25
-#define MAP_GROUP_UNKNOWN_MAP_25_33 25
-#define MAP_GROUP_UNKNOWN_MAP_25_34 25
-#define MAP_GROUP_LINK_CONTEST_ROOM2 25
-#define MAP_GROUP_LINK_CONTEST_ROOM3 25
-#define MAP_GROUP_LINK_CONTEST_ROOM4 25
-#define MAP_GROUP_LINK_CONTEST_ROOM5 25
-#define MAP_GROUP_LINK_CONTEST_ROOM6 25
-#define MAP_GROUP_INSIDE_OF_TRUCK 25
-#define MAP_GROUP_SS_TIDAL_CORRIDOR 25
-#define MAP_GROUP_SS_TIDAL_LOWER_DECK 25
-#define MAP_GROUP_SS_TIDAL_ROOMS 25
-#define MAP_GROUP_TEST_ROOM_1 25
-#define MAP_GROUP_TEST_ROOM_2 25
-#define MAP_GROUP_TEST_ROOM_3 25
-#define MAP_GROUP_TEST_ROOM_4 25
-#define MAP_GROUP_TEST_ROOM_5 25
-#define MAP_GROUP_TEST_ROOM_6 25
-#define MAP_GROUP_TEST_ROOM_7 25
-#define MAP_GROUP_TEST_ROOM_8 25
-#define MAP_GROUP_TEST_ROOM_9 25
-#define MAP_GROUP_TEST_ROOM_10 25
-#define MAP_GROUP_TEST_ROOM_11 25
-#define MAP_GROUP_TEST_ROOM_12 25
-#define MAP_GROUP_TEST_ROOM_13 25
-#define MAP_GROUP_TEST_ROOM_14 25
-#define MAP_GROUP_TEST_ROOM_15 25
-#define MAP_GROUP_TEST_ROOM_16 25
-#define MAP_GROUP_UNION_ROOM 25
-//--------------------------------------------------
-// Map Group 26
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_SAFARI_ZONE_NORTHWEST,
- MAP_ID_SAFARI_ZONE_NORTHEAST,
- MAP_ID_SAFARI_ZONE_SOUTHWEST,
- MAP_ID_SAFARI_ZONE_SOUTHEAST,
- MAP_ID_BATTLE_FRONTIER_OUTSIDE_WEST,
- MAP_ID_BATTLE_TOWER_LOBBY,
- MAP_ID_BATTLE_TOWER_ELEVATOR,
- MAP_ID_BATTLE_TOWER_CORRIDOR,
- MAP_ID_BATTLE_TOWER_BATTLE_ROOM,
- MAP_ID_SOUTHERN_ISLAND_EXTERIOR,
- MAP_ID_SOUTHERN_ISLAND_INTERIOR,
- MAP_ID_SAFARI_ZONE_REST_HOUSE,
- MAP_ID_SAFARI_ZONE_EM_1,
- MAP_ID_SAFARI_ZONE_EM_2,
- MAP_ID_BATTLE_FRONTIER_OUTSIDE_EAST,
- MAP_ID_BATTLE_FRONTIER_TAG_LINK,
- MAP_ID_BATTLE_FRONTIER_TAG_LINK_CORRIDOR,
- MAP_ID_BATTLE_FRONTIER_TAG_LINK_ARENA,
- MAP_ID_BATTLE_DOME_LOBBY,
- MAP_ID_BATTLE_DOME_CORRIDOR,
- MAP_ID_BATTLE_DOME_ROOM,
- MAP_ID_BATTLE_DOME_ARENA,
- MAP_ID_BATTLE_PALACE_LOBBY,
- MAP_ID_BATTLE_PALACE_CORRIDOR,
- MAP_ID_BATTLE_PALACE_1F,
- MAP_ID_BATTLE_PYRAMID_LOBBY,
- MAP_ID_BATTLE_PYRAMID_UNKNOWN,
- MAP_ID_BATTLE_PYRAMID_PEAK,
- MAP_ID_BATTLE_ARENA_LOBBY,
- MAP_ID_BATTLE_ARENA_CORRIDOR,
- MAP_ID_BATTLE_ARENA_ARENA,
- MAP_ID_BATTLE_FACTORY_LOBBY,
- MAP_ID_BATTLE_FACTORY_CORRIDOR,
- MAP_ID_BATTLE_FACTORY_ARENA,
- MAP_ID_BATTLE_PALACE_2F,
- MAP_ID_BATTLE_PALACE_3F,
- MAP_ID_BATTLE_PALACE_4F,
- MAP_ID_BATTLE_PALACE_5F,
- MAP_ID_BATTLE_PALACE_6F,
- MAP_ID_BATTLE_PALACE_TEST_ROOM,
- MAP_ID_RANKING_HALL,
- MAP_ID_STAT_RATER_HOUSE,
- MAP_ID_BATTLE_FRONTIER_EXCHANGE,
- MAP_ID_BATTLE_FRONTIER_MANIAC_HOUSE,
- MAP_ID_BATTLE_FRONTIER_GAMBLING_HOUSE,
- MAP_ID_BATTLE_FRONTIER_HOUSE1,
- MAP_ID_BATTLE_FRONTIER_SCOTTS_HOUSE,
- MAP_ID_BATTLE_FRONTIER_HOUSE2,
- MAP_ID_BATTLE_FRONTIER_HOUSE3,
- MAP_ID_BATTLE_FRONTIER_HOUSE4,
- MAP_ID_BATTLE_FRONTIER_ENTRANCE_HALL,
- MAP_ID_BATTLE_FRONTIER_HOUSE5,
- MAP_ID_BATTLE_FRONTIER_UNUSED_HOUSE,
- MAP_ID_BATTLE_FRONTIER_POKEMON_CENTER_1F,
- MAP_ID_BATTLE_FRONTIER_POKEMON_CENTER_2F,
- MAP_ID_BATTLE_FRONTIER_MART,
- MAP_ID_FARAWAY_ISLAND_OUTSIDE,
- MAP_ID_FARAWAY_ISLAND_FOREST,
- MAP_ID_BIRTH_ISLAND_OUTSIDE,
- MAP_ID_BIRTH_ISLAND_DOCKS,
- MAP_ID_TRAINER_HILL_LOBBY,
- MAP_ID_TRAINER_HILL_1F,
- MAP_ID_TRAINER_HILL_2F,
- MAP_ID_TRAINER_HILL_3F,
- MAP_ID_TRAINER_HILL_4F,
- MAP_ID_TRAINER_HILL_5F,
- MAP_ID_NAVEL_ROCK_OUTSIDE,
- MAP_ID_NAVEL_ROCK_DOCKS,
- MAP_ID_NAVEL_ROCK_1F,
- MAP_ID_NAVEL_ROCK_2F,
- MAP_ID_NAVEL_ROCK_3F,
- MAP_ID_NAVEL_ROCK_4F,
- MAP_ID_NAVEL_ROCK_5F,
- MAP_ID_NAVEL_ROCK_6F,
- MAP_ID_NAVEL_ROCK_7F,
- MAP_ID_NAVEL_ROCK_PEAK,
- MAP_ID_NAVEL_ROCK_B1F,
- MAP_ID_NAVEL_ROCK_B2F,
- MAP_ID_NAVEL_ROCK_B3F,
- MAP_ID_NAVEL_ROCK_B4F,
- MAP_ID_NAVEL_ROCK_B5F,
- MAP_ID_NAVEL_ROCK_B6F,
- MAP_ID_NAVEL_ROCK_B7F,
- MAP_ID_NAVEL_ROCK_B8F,
- MAP_ID_NAVEL_ROCK_B9F,
- MAP_ID_NAVEL_ROCK_B10F,
- MAP_ID_NAVEL_ROCK_B11F,
- MAP_ID_NAVEL_ROCK_INNER,
- MAP_ID_TRAINER_HILL_ELEVATOR,
-};
-
-#define MAP_GROUP_SAFARI_ZONE_NORTHWEST 26
-#define MAP_GROUP_SAFARI_ZONE_NORTHEAST 26
-#define MAP_GROUP_SAFARI_ZONE_SOUTHWEST 26
-#define MAP_GROUP_SAFARI_ZONE_SOUTHEAST 26
-#define MAP_GROUP_BATTLE_FRONTIER_OUTSIDE_WEST 26
-#define MAP_GROUP_BATTLE_TOWER_LOBBY 26
-#define MAP_GROUP_BATTLE_TOWER_ELEVATOR 26
-#define MAP_GROUP_BATTLE_TOWER_CORRIDOR 26
-#define MAP_GROUP_BATTLE_TOWER_BATTLE_ROOM 26
-#define MAP_GROUP_SOUTHERN_ISLAND_EXTERIOR 26
-#define MAP_GROUP_SOUTHERN_ISLAND_INTERIOR 26
-#define MAP_GROUP_SAFARI_ZONE_REST_HOUSE 26
-#define MAP_GROUP_SAFARI_ZONE_EM_1 26
-#define MAP_GROUP_SAFARI_ZONE_EM_2 26
-#define MAP_GROUP_BATTLE_FRONTIER_OUTSIDE_EAST 26
-#define MAP_GROUP_BATTLE_FRONTIER_TAG_LINK 26
-#define MAP_GROUP_BATTLE_FRONTIER_TAG_LINK_CORRIDOR 26
-#define MAP_GROUP_BATTLE_FRONTIER_TAG_LINK_ARENA 26
-#define MAP_GROUP_BATTLE_DOME_LOBBY 26
-#define MAP_GROUP_BATTLE_DOME_CORRIDOR 26
-#define MAP_GROUP_BATTLE_DOME_ROOM 26
-#define MAP_GROUP_BATTLE_DOME_ARENA 26
-#define MAP_GROUP_BATTLE_PALACE_LOBBY 26
-#define MAP_GROUP_BATTLE_PALACE_CORRIDOR 26
-#define MAP_GROUP_BATTLE_PALACE_1F 26
-#define MAP_GROUP_BATTLE_PYRAMID_LOBBY 26
-#define MAP_GROUP_BATTLE_PYRAMID_UNKNOWN 26
-#define MAP_GROUP_BATTLE_PYRAMID_PEAK 26
-#define MAP_GROUP_BATTLE_ARENA_LOBBY 26
-#define MAP_GROUP_BATTLE_ARENA_CORRIDOR 26
-#define MAP_GROUP_BATTLE_ARENA_ARENA 26 // rename
-#define MAP_GROUP_BATTLE_FACTORY_LOBBY 26
-#define MAP_GROUP_BATTLE_FACTORY_CORRIDOR 26
-#define MAP_GROUP_BATTLE_FACTORY_ARENA 26
-#define MAP_GROUP_BATTLE_PALACE_2F 26
-#define MAP_GROUP_BATTLE_PALACE_3F 26
-#define MAP_GROUP_BATTLE_PALACE_4F 26
-#define MAP_GROUP_BATTLE_PALACE_5F 26
-#define MAP_GROUP_BATTLE_PALACE_6F 26
-#define MAP_GROUP_BATTLE_PALACE_TEST_ROOM 26
-#define MAP_GROUP_RANKING_HALL 26
-#define MAP_GROUP_STAT_RATER_HOUSE 26
-#define MAP_GROUP_BATTLE_FRONTIER_EXCHANGE 26
-#define MAP_GROUP_BATTLE_FRONTIER_MANIAC_HOUSE 26
-#define MAP_GROUP_BATTLE_FRONTIER_GAMBLING_HOUSE 26
-#define MAP_GROUP_BATTLE_FRONTIER_HOUSE1 26
-#define MAP_GROUP_BATTLE_FRONTIER_SCOTTS_HOUSE 26
-#define MAP_GROUP_BATTLE_FRONTIER_HOUSE2 26
-#define MAP_GROUP_BATTLE_FRONTIER_HOUSE3 26
-#define MAP_GROUP_BATTLE_FRONTIER_HOUSE4 26
-#define MAP_GROUP_BATTLE_FRONTIER_ENTRANCE_HALL 26
-#define MAP_GROUP_BATTLE_FRONTIER_HOUSE5 26
-#define MAP_GROUP_BATTLE_FRONTIER_UNUSED_HOUSE 26
-#define MAP_GROUP_BATTLE_FRONTIER_POKEMON_CENTER_1F 26
-#define MAP_GROUP_BATTLE_FRONTIER_POKEMON_CENTER_2F 26
-#define MAP_GROUP_BATTLE_FRONTIER_MART 26
-#define MAP_GROUP_FARAWAY_ISLAND_OUTSIDE 26
-#define MAP_GROUP_FARAWAY_ISLAND_FOREST 26
-#define MAP_GROUP_BIRTH_ISLAND_OUTSIDE 26
-#define MAP_GROUP_BIRTH_ISLAND_DOCKS 26
-#define MAP_GROUP_TRAINER_HILL_LOBBY 26
-#define MAP_GROUP_TRAINER_HILL_1F 26
-#define MAP_GROUP_TRAINER_HILL_2F 26
-#define MAP_GROUP_TRAINER_HILL_3F 26
-#define MAP_GROUP_TRAINER_HILL_4F 26
-#define MAP_GROUP_TRAINER_HILL_5F 26
-#define MAP_GROUP_NAVEL_ROCK_OUTSIDE 26
-#define MAP_GROUP_NAVEL_ROCK_DOCKS 26
-#define MAP_GROUP_NAVEL_ROCK_1F 26
-#define MAP_GROUP_NAVEL_ROCK_2F 26
-#define MAP_GROUP_NAVEL_ROCK_3F 26
-#define MAP_GROUP_NAVEL_ROCK_4F 26
-#define MAP_GROUP_NAVEL_ROCK_5F 26
-#define MAP_GROUP_NAVEL_ROCK_6F 26
-#define MAP_GROUP_NAVEL_ROCK_7F 26
-#define MAP_GROUP_NAVEL_ROCK_PEAK 26
-#define MAP_GROUP_NAVEL_ROCK_B1F 26
-#define MAP_GROUP_NAVEL_ROCK_B2F 26
-#define MAP_GROUP_NAVEL_ROCK_B3F 26
-#define MAP_GROUP_NAVEL_ROCK_B4F 26
-#define MAP_GROUP_NAVEL_ROCK_B5F 26
-#define MAP_GROUP_NAVEL_ROCK_B6F 26
-#define MAP_GROUP_NAVEL_ROCK_B7F 26
-#define MAP_GROUP_NAVEL_ROCK_B8F 26
-#define MAP_GROUP_NAVEL_ROCK_B9F 26
-#define MAP_GROUP_NAVEL_ROCK_B10F 26
-#define MAP_GROUP_NAVEL_ROCK_B11F 26
-#define MAP_GROUP_NAVEL_ROCK_INNER 26
-#define MAP_GROUP_TRAINER_HILL_ELEVATOR 26
-//--------------------------------------------------
-// Map Group 27
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE104_PROTOTYPE,
- MAP_ID_ROUTE104_PROTOTYPE_PRETTY_PETAL_FLOWER_SHOP,
-};
-
-#define MAP_GROUP_ROUTE104_PROTOTYPE 27
-#define MAP_GROUP_ROUTE104_PROTOTYPE_PRETTY_PETAL_FLOWER_SHOP 27
-
-//--------------------------------------------------
-// Map Group 28
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE109_SEASHORE_HOUSE,
-};
-
-#define MAP_GROUP_ROUTE109_SEASHORE_HOUSE 28
-
-//--------------------------------------------------
-// Map Group 29
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE110_TRICK_HOUSE_ENTRANCE,
- MAP_ID_ROUTE110_TRICK_HOUSE_END,
- MAP_ID_ROUTE110_TRICK_HOUSE_CORRIDOR,
- MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE1,
- MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE2,
- MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE3,
- MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE4,
- MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE5,
- MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE6,
- MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE7,
- MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE8,
- MAP_ID_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE,
- MAP_ID_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE,
-};
-
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_ENTRANCE 29
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_END 29
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_CORRIDOR 29
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE1 29
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE2 29
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE3 29
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE4 29
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE5 29
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE6 29
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE7 29
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE8 29
-#define MAP_GROUP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE 29
-#define MAP_GROUP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE 29
-
-//--------------------------------------------------
-// Map Group 30
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE113_GLASS_WORKSHOP,
-};
-
-#define MAP_GROUP_ROUTE113_GLASS_WORKSHOP 30
-
-//--------------------------------------------------
-// Map Group 31
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE123_BERRY_MASTERS_HOUSE,
-};
-
-#define MAP_GROUP_ROUTE123_BERRY_MASTERS_HOUSE 31
-
-//--------------------------------------------------
-// Map Group 32
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE119_WEATHER_INSTITUTE_1F,
- MAP_ID_ROUTE119_WEATHER_INSTITUTE_2F,
- MAP_ID_ROUTE119_HOUSE,
-};
-
-#define MAP_GROUP_ROUTE119_WEATHER_INSTITUTE_1F 32
-#define MAP_GROUP_ROUTE119_WEATHER_INSTITUTE_2F 32
-#define MAP_GROUP_ROUTE119_HOUSE 32
-
-//--------------------------------------------------
-// Map Group 33
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE,
-};
-
-#define MAP_GROUP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE 33
-
-#endif // GUARD_MAP_CONSTANTS_H \ No newline at end of file
diff --git a/include/map_object_constants.h b/include/map_object_constants.h
deleted file mode 100644
index 79482b54a..000000000
--- a/include/map_object_constants.h
+++ /dev/null
@@ -1,239 +0,0 @@
-#ifndef GUARD_MAP_OBJECT_CONSTANTS_H
-#define GUARD_MAP_OBJECT_CONSTANTS_H
-
-enum
-{
- MAP_OBJ_GFX_BRENDAN_NORMAL,
- MAP_OBJ_GFX_BRENDAN_MACH_BIKE,
- MAP_OBJ_GFX_BRENDAN_SURFING,
- MAP_OBJ_GFX_BRENDAN_FIELD_MOVE,
- MAP_OBJ_GFX_QUINTY_PLUMP,
- MAP_OBJ_GFX_LITTLE_BOY_1,
- MAP_OBJ_GFX_LITTLE_GIRL_1,
- MAP_OBJ_GFX_BOY_1,
- MAP_OBJ_GFX_GIRL_1,
- MAP_OBJ_GFX_BOY_2,
- MAP_OBJ_GFX_GIRL_2,
- MAP_OBJ_GFX_LITTLE_BOY_2,
- MAP_OBJ_GFX_LITTLE_GIRL_2,
- MAP_OBJ_GFX_BOY_3,
- MAP_OBJ_GFX_GIRL_3,
- MAP_OBJ_GFX_BOY_4,
- MAP_OBJ_GFX_WOMAN_1,
- MAP_OBJ_GFX_FAT_MAN,
- MAP_OBJ_GFX_WOMAN_2,
- MAP_OBJ_GFX_MAN_1,
- MAP_OBJ_GFX_WOMAN_3,
- MAP_OBJ_GFX_OLD_MAN_1,
- MAP_OBJ_GFX_OLD_WOMAN_1,
- MAP_OBJ_GFX_MAN_2,
- MAP_OBJ_GFX_WOMAN_4,
- MAP_OBJ_GFX_MAN_3,
- MAP_OBJ_GFX_WOMAN_5,
- MAP_OBJ_GFX_COOK,
- MAP_OBJ_GFX_WOMAN_6,
- MAP_OBJ_GFX_OLD_MAN_2,
- MAP_OBJ_GFX_OLD_WOMAN_2,
- MAP_OBJ_GFX_CAMPER,
- MAP_OBJ_GFX_PICNICKER,
- MAP_OBJ_GFX_MAN_4,
- MAP_OBJ_GFX_WOMAN_7,
- MAP_OBJ_GFX_YOUNGSTER,
- MAP_OBJ_GFX_BUG_CATCHER,
- MAP_OBJ_GFX_PSYCHIC_M,
- MAP_OBJ_GFX_SCHOOL_KID_M,
- MAP_OBJ_GFX_MANIAC,
- MAP_OBJ_GFX_HEX_MANIAC,
- MAP_OBJ_GFX_WOMAN_8,
- MAP_OBJ_GFX_SWIMMER_M,
- MAP_OBJ_GFX_SWIMMER_F,
- MAP_OBJ_GFX_BLACK_BELT,
- MAP_OBJ_GFX_BEAUTY,
- MAP_OBJ_GFX_SCIENTIST_1,
- MAP_OBJ_GFX_LASS,
- MAP_OBJ_GFX_GENTLEMAN,
- MAP_OBJ_GFX_SAILOR,
- MAP_OBJ_GFX_FISHERMAN,
- MAP_OBJ_GFX_RUNNING_TRIATHLETE_M,
- MAP_OBJ_GFX_RUNNING_TRIATHLETE_F,
- MAP_OBJ_GFX_TUBER_F,
- MAP_OBJ_GFX_TUBER_M,
- MAP_OBJ_GFX_HIKER,
- MAP_OBJ_GFX_CYCLING_TRIATHLETE_M,
- MAP_OBJ_GFX_CYCLING_TRIATHLETE_F,
- MAP_OBJ_GFX_NURSE,
- MAP_OBJ_GFX_ITEM_BALL,
- MAP_OBJ_GFX_BERRY_TREE,
- MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES,
- MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES,
- MAP_OBJ_GFX_BRENDAN_ACRO_BIKE,
- MAP_OBJ_GFX_PROF_BIRCH,
- MAP_OBJ_GFX_MAN_5,
- MAP_OBJ_GFX_MAN_6,
- MAP_OBJ_GFX_REPORTER_M,
- MAP_OBJ_GFX_REPORTER_F,
- MAP_OBJ_GFX_BARD,
- MAP_OBJ_GFX_HIPSTER,
- MAP_OBJ_GFX_TRADER,
- MAP_OBJ_GFX_STORYTELLER,
- MAP_OBJ_GFX_GIDDY,
- MAP_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_1,
- MAP_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_2,
- MAP_OBJ_GFX_UNUSED_NATU_DOLL,
- MAP_OBJ_GFX_UNUSED_MAGNEMITE_DOLL,
- MAP_OBJ_GFX_UNUSED_SQUIRTLE_DOLL,
- MAP_OBJ_GFX_UNUSED_WOOPER_DOLL,
- MAP_OBJ_GFX_UNUSED_PIKACHU_DOLL,
- MAP_OBJ_GFX_UNUSED_PORYGON2_DOLL,
- MAP_OBJ_GFX_CUTTABLE_TREE,
- MAP_OBJ_GFX_MART_EMPLOYEE,
- MAP_OBJ_GFX_ROOFTOP_SALE_WOMAN,
- MAP_OBJ_GFX_TEALA,
- MAP_OBJ_GFX_BREAKABLE_ROCK,
- MAP_OBJ_GFX_PUSHABLE_BOULDER,
- MAP_OBJ_GFX_MR_BRINEYS_BOAT,
- MAP_OBJ_GFX_MAY_NORMAL,
- MAP_OBJ_GFX_MAY_MACH_BIKE,
- MAP_OBJ_GFX_MAY_ACRO_BIKE,
- MAP_OBJ_GFX_MAY_SURFING,
- MAP_OBJ_GFX_MAY_FIELD_MOVE,
- MAP_OBJ_GFX_TRUCK,
- MAP_OBJ_GFX_MACHOKE_CARRYING_BOX,
- MAP_OBJ_GFX_MACHOKE_FACING_AWAY,
- MAP_OBJ_GFX_BIRCHS_BAG,
- MAP_OBJ_GFX_POOCHYENA,
- MAP_OBJ_GFX_ARTIST,
- MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL,
- MAP_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE,
- MAP_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE,
- MAP_OBJ_GFX_RIVAL_BRENDAN_SURFING,
- MAP_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE,
- MAP_OBJ_GFX_RIVAL_MAY_NORMAL,
- MAP_OBJ_GFX_RIVAL_MAY_MACH_BIKE,
- MAP_OBJ_GFX_RIVAL_MAY_ACRO_BIKE,
- MAP_OBJ_GFX_RIVAL_MAY_SURFING,
- MAP_OBJ_GFX_RIVAL_MAY_FIELD_MOVE,
- MAP_OBJ_GFX_CAMERAMAN,
- MAP_OBJ_GFX_BRENDAN_UNDERWATER,
- MAP_OBJ_GFX_MAY_UNDERWATER,
- MAP_OBJ_GFX_MOVING_BOX,
- MAP_OBJ_GFX_CABLE_CAR,
- MAP_OBJ_GFX_SCIENTIST_2,
- MAP_OBJ_GFX_MAN_7,
- MAP_OBJ_GFX_AQUA_MEMBER_M,
- MAP_OBJ_GFX_AQUA_MEMBER_F,
- MAP_OBJ_GFX_MAGMA_MEMBER_M,
- MAP_OBJ_GFX_MAGMA_MEMBER_F,
- MAP_OBJ_GFX_SIDNEY,
- MAP_OBJ_GFX_PHOEBE,
- MAP_OBJ_GFX_GLACIA,
- MAP_OBJ_GFX_DRAKE,
- MAP_OBJ_GFX_ROXANNE,
- MAP_OBJ_GFX_BRAWLY,
- MAP_OBJ_GFX_WATTSON,
- MAP_OBJ_GFX_FLANNERY,
- MAP_OBJ_GFX_NORMAN,
- MAP_OBJ_GFX_WINONA,
- MAP_OBJ_GFX_LIZA,
- MAP_OBJ_GFX_TATE,
- MAP_OBJ_GFX_WALLACE,
- MAP_OBJ_GFX_STEVEN,
- MAP_OBJ_GFX_WALLY,
- MAP_OBJ_GFX_LITTLE_BOY_3,
- MAP_OBJ_GFX_BRENDAN_FISHING,
- MAP_OBJ_GFX_MAY_FISHING,
- MAP_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN,
- MAP_OBJ_GFX_SS_TIDAL,
- MAP_OBJ_GFX_SUBMARINE_SHADOW,
- MAP_OBJ_GFX_PICHU_DOLL,
- MAP_OBJ_GFX_PIKACHU_DOLL,
- MAP_OBJ_GFX_MARILL_DOLL,
- MAP_OBJ_GFX_TOGEPI_DOLL,
- MAP_OBJ_GFX_CYNDAQUIL_DOLL,
- MAP_OBJ_GFX_CHIKORITA_DOLL,
- MAP_OBJ_GFX_TOTODILE_DOLL,
- MAP_OBJ_GFX_JIGGLYPUFF_DOLL,
- MAP_OBJ_GFX_MEOWTH_DOLL,
- MAP_OBJ_GFX_CLEFAIRY_DOLL,
- MAP_OBJ_GFX_DITTO_DOLL,
- MAP_OBJ_GFX_SMOOCHUM_DOLL,
- MAP_OBJ_GFX_TREECKO_DOLL,
- MAP_OBJ_GFX_TORCHIC_DOLL,
- MAP_OBJ_GFX_MUDKIP_DOLL,
- MAP_OBJ_GFX_DUSKULL_DOLL,
- MAP_OBJ_GFX_WYNAUT_DOLL,
- MAP_OBJ_GFX_BALTOY_DOLL,
- MAP_OBJ_GFX_KECLEON_DOLL,
- MAP_OBJ_GFX_AZURILL_DOLL,
- MAP_OBJ_GFX_SKITTY_DOLL,
- MAP_OBJ_GFX_SWABLU_DOLL,
- MAP_OBJ_GFX_GULPIN_DOLL,
- MAP_OBJ_GFX_LOTAD_DOLL,
- MAP_OBJ_GFX_SEEDOT_DOLL,
- MAP_OBJ_GFX_PIKA_CUSHION,
- MAP_OBJ_GFX_ROUND_CUSHION,
- MAP_OBJ_GFX_KISS_CUSHION,
- MAP_OBJ_GFX_ZIGZAG_CUSHION,
- MAP_OBJ_GFX_SPIN_CUSHION,
- MAP_OBJ_GFX_DIAMOND_CUSHION,
- MAP_OBJ_GFX_BALL_CUSHION,
- MAP_OBJ_GFX_GRASS_CUSHION,
- MAP_OBJ_GFX_FIRE_CUSHION,
- MAP_OBJ_GFX_WATER_CUSHION,
- MAP_OBJ_GFX_BIG_SNORLAX_DOLL,
- MAP_OBJ_GFX_BIG_RHYDON_DOLL,
- MAP_OBJ_GFX_BIG_LAPRAS_DOLL,
- MAP_OBJ_GFX_BIG_VENUSAUR_DOLL,
- MAP_OBJ_GFX_BIG_CHARIZARD_DOLL,
- MAP_OBJ_GFX_BIG_BLASTOISE_DOLL,
- MAP_OBJ_GFX_BIG_WAILMER_DOLL,
- MAP_OBJ_GFX_BIG_REGIROCK_DOLL,
- MAP_OBJ_GFX_BIG_REGICE_DOLL,
- MAP_OBJ_GFX_BIG_REGISTEEL_DOLL,
- MAP_OBJ_GFX_LATIAS,
- MAP_OBJ_GFX_LATIOS,
- MAP_OBJ_GFX_BOY_5,
- MAP_OBJ_GFX_CONTEST_JUDGE,
- MAP_OBJ_GFX_BRENDAN_WATERING,
- MAP_OBJ_GFX_MAY_WATERING,
- MAP_OBJ_GFX_BRENDAN_DECORATING,
- MAP_OBJ_GFX_MAY_DECORATING,
- MAP_OBJ_GFX_ARCHIE,
- MAP_OBJ_GFX_MAXIE,
- MAP_OBJ_GFX_KYOGRE_1,
- MAP_OBJ_GFX_GROUDON_1,
- MAP_OBJ_GFX_FOSSIL,
- MAP_OBJ_GFX_REGIROCK,
- MAP_OBJ_GFX_REGICE,
- MAP_OBJ_GFX_REGISTEEL,
- MAP_OBJ_GFX_SKITTY,
- MAP_OBJ_GFX_KECLEON_1,
- MAP_OBJ_GFX_KYOGRE_2,
- MAP_OBJ_GFX_GROUDON_2,
- MAP_OBJ_GFX_RAYQUAZA,
- MAP_OBJ_GFX_ZIGZAGOON,
- MAP_OBJ_GFX_PIKACHU,
- MAP_OBJ_GFX_AZUMARILL,
- MAP_OBJ_GFX_WINGULL,
- MAP_OBJ_GFX_KECLEON_2,
- MAP_OBJ_GFX_TUBER_M_SWIMMING,
- MAP_OBJ_GFX_AZURILL,
- MAP_OBJ_GFX_MOM,
- MAP_OBJ_GFX_LINK_BRENDAN,
- MAP_OBJ_GFX_LINK_MAY,
-};
-
-enum {
- SHADOW_SIZE_S,
- SHADOW_SIZE_M,
- SHADOW_SIZE_L,
- SHADOW_SIZE_XL
-};
-
-enum {
- TRACKS_NONE,
- TRACKS_FOOT,
- TRACKS_BIKE_TIRE
-};
-
-#endif // GUARD_MAP_OBJECT_CONSTANTS_H
diff --git a/include/moves.h b/include/moves.h
deleted file mode 100644
index 682f59506..000000000
--- a/include/moves.h
+++ /dev/null
@@ -1,366 +0,0 @@
-#ifndef GUARD_MOVES_H
-#define GUARD_MOVES_H
-
-enum
-{
- MOVE_NONE,
- MOVE_POUND,
- MOVE_KARATE_CHOP,
- MOVE_DOUBLE_SLAP,
- MOVE_COMET_PUNCH,
- MOVE_MEGA_PUNCH,
- MOVE_PAY_DAY,
- MOVE_FIRE_PUNCH,
- MOVE_ICE_PUNCH,
- MOVE_THUNDER_PUNCH,
- MOVE_SCRATCH,
- MOVE_VICE_GRIP,
- MOVE_GUILLOTINE,
- MOVE_RAZOR_WIND,
- MOVE_SWORDS_DANCE,
- MOVE_CUT,
- MOVE_GUST,
- MOVE_WING_ATTACK,
- MOVE_WHIRLWIND,
- MOVE_FLY,
- MOVE_BIND,
- MOVE_SLAM,
- MOVE_VINE_WHIP,
- MOVE_STOMP,
- MOVE_DOUBLE_KICK,
- MOVE_MEGA_KICK,
- MOVE_JUMP_KICK,
- MOVE_ROLLING_KICK,
- MOVE_SAND_ATTACK,
- MOVE_HEADBUTT,
- MOVE_HORN_ATTACK,
- MOVE_FURY_ATTACK,
- MOVE_HORN_DRILL,
- MOVE_TACKLE,
- MOVE_BODY_SLAM,
- MOVE_WRAP,
- MOVE_TAKE_DOWN,
- MOVE_THRASH,
- MOVE_DOUBLE_EDGE,
- MOVE_TAIL_WHIP,
- MOVE_POISON_STING,
- MOVE_TWINEEDLE,
- MOVE_PIN_MISSILE,
- MOVE_LEER,
- MOVE_BITE,
- MOVE_GROWL,
- MOVE_ROAR,
- MOVE_SING,
- MOVE_SUPERSONIC,
- MOVE_SONIC_BOOM,
- MOVE_DISABLE,
- MOVE_ACID,
- MOVE_EMBER,
- MOVE_FLAMETHROWER,
- MOVE_MIST,
- MOVE_WATER_GUN,
- MOVE_HYDRO_PUMP,
- MOVE_SURF,
- MOVE_ICE_BEAM,
- MOVE_BLIZZARD,
- MOVE_PSYBEAM,
- MOVE_BUBBLE_BEAM,
- MOVE_AURORA_BEAM,
- MOVE_HYPER_BEAM,
- MOVE_PECK,
- MOVE_DRILL_PECK,
- MOVE_SUBMISSION,
- MOVE_LOW_KICK,
- MOVE_COUNTER,
- MOVE_SEISMIC_TOSS,
- MOVE_STRENGTH,
- MOVE_ABSORB,
- MOVE_MEGA_DRAIN,
- MOVE_LEECH_SEED,
- MOVE_GROWTH,
- MOVE_RAZOR_LEAF,
- MOVE_SOLAR_BEAM,
- MOVE_POISON_POWDER,
- MOVE_STUN_SPORE,
- MOVE_SLEEP_POWDER,
- MOVE_PETAL_DANCE,
- MOVE_STRING_SHOT,
- MOVE_DRAGON_RAGE,
- MOVE_FIRE_SPIN,
- MOVE_THUNDER_SHOCK,
- MOVE_THUNDERBOLT,
- MOVE_THUNDER_WAVE,
- MOVE_THUNDER,
- MOVE_ROCK_THROW,
- MOVE_EARTHQUAKE,
- MOVE_FISSURE,
- MOVE_DIG,
- MOVE_TOXIC,
- MOVE_CONFUSION,
- MOVE_PSYCHIC,
- MOVE_HYPNOSIS,
- MOVE_MEDITATE,
- MOVE_AGILITY,
- MOVE_QUICK_ATTACK,
- MOVE_RAGE,
- MOVE_TELEPORT,
- MOVE_NIGHT_SHADE,
- MOVE_MIMIC,
- MOVE_SCREECH,
- MOVE_DOUBLE_TEAM,
- MOVE_RECOVER,
- MOVE_HARDEN,
- MOVE_MINIMIZE,
- MOVE_SMOKESCREEN,
- MOVE_CONFUSE_RAY,
- MOVE_WITHDRAW,
- MOVE_DEFENSE_CURL,
- MOVE_BARRIER,
- MOVE_LIGHT_SCREEN,
- MOVE_HAZE,
- MOVE_REFLECT,
- MOVE_FOCUS_ENERGY,
- MOVE_BIDE,
- MOVE_METRONOME,
- MOVE_MIRROR_MOVE,
- MOVE_SELF_DESTRUCT,
- MOVE_EGG_BOMB,
- MOVE_LICK,
- MOVE_SMOG,
- MOVE_SLUDGE,
- MOVE_BONE_CLUB,
- MOVE_FIRE_BLAST,
- MOVE_WATERFALL,
- MOVE_CLAMP,
- MOVE_SWIFT,
- MOVE_SKULL_BASH,
- MOVE_SPIKE_CANNON,
- MOVE_CONSTRICT,
- MOVE_AMNESIA,
- MOVE_KINESIS,
- MOVE_SOFT_BOILED,
- MOVE_HI_JUMP_KICK,
- MOVE_GLARE,
- MOVE_DREAM_EATER,
- MOVE_POISON_GAS,
- MOVE_BARRAGE,
- MOVE_LEECH_LIFE,
- MOVE_LOVELY_KISS,
- MOVE_SKY_ATTACK,
- MOVE_TRANSFORM,
- MOVE_BUBBLE,
- MOVE_DIZZY_PUNCH,
- MOVE_SPORE,
- MOVE_FLASH,
- MOVE_PSYWAVE,
- MOVE_SPLASH,
- MOVE_ACID_ARMOR,
- MOVE_CRABHAMMER,
- MOVE_EXPLOSION,
- MOVE_FURY_SWIPES,
- MOVE_BONEMERANG,
- MOVE_REST,
- MOVE_ROCK_SLIDE,
- MOVE_HYPER_FANG,
- MOVE_SHARPEN,
- MOVE_CONVERSION,
- MOVE_TRI_ATTACK,
- MOVE_SUPER_FANG,
- MOVE_SLASH,
- MOVE_SUBSTITUTE,
- MOVE_STRUGGLE,
- MOVE_SKETCH,
- MOVE_TRIPLE_KICK,
- MOVE_THIEF,
- MOVE_SPIDER_WEB,
- MOVE_MIND_READER,
- MOVE_NIGHTMARE,
- MOVE_FLAME_WHEEL,
- MOVE_SNORE,
- MOVE_CURSE,
- MOVE_FLAIL,
- MOVE_CONVERSION_2,
- MOVE_AEROBLAST,
- MOVE_COTTON_SPORE,
- MOVE_REVERSAL,
- MOVE_SPITE,
- MOVE_POWDER_SNOW,
- MOVE_PROTECT,
- MOVE_MACH_PUNCH,
- MOVE_SCARY_FACE,
- MOVE_FAINT_ATTACK,
- MOVE_SWEET_KISS,
- MOVE_BELLY_DRUM,
- MOVE_SLUDGE_BOMB,
- MOVE_MUD_SLAP,
- MOVE_OCTAZOOKA,
- MOVE_SPIKES,
- MOVE_ZAP_CANNON,
- MOVE_FORESIGHT,
- MOVE_DESTINY_BOND,
- MOVE_PERISH_SONG,
- MOVE_ICY_WIND,
- MOVE_DETECT,
- MOVE_BONE_RUSH,
- MOVE_LOCK_ON,
- MOVE_OUTRAGE,
- MOVE_SANDSTORM,
- MOVE_GIGA_DRAIN,
- MOVE_ENDURE,
- MOVE_CHARM,
- MOVE_ROLLOUT,
- MOVE_FALSE_SWIPE,
- MOVE_SWAGGER,
- MOVE_MILK_DRINK,
- MOVE_SPARK,
- MOVE_FURY_CUTTER,
- MOVE_STEEL_WING,
- MOVE_MEAN_LOOK,
- MOVE_ATTRACT,
- MOVE_SLEEP_TALK,
- MOVE_HEAL_BELL,
- MOVE_RETURN,
- MOVE_PRESENT,
- MOVE_FRUSTRATION,
- MOVE_SAFEGUARD,
- MOVE_PAIN_SPLIT,
- MOVE_SACRED_FIRE,
- MOVE_MAGNITUDE,
- MOVE_DYNAMIC_PUNCH,
- MOVE_MEGAHORN,
- MOVE_DRAGON_BREATH,
- MOVE_BATON_PASS,
- MOVE_ENCORE,
- MOVE_PURSUIT,
- MOVE_RAPID_SPIN,
- MOVE_SWEET_SCENT,
- MOVE_IRON_TAIL,
- MOVE_METAL_CLAW,
- MOVE_VITAL_THROW,
- MOVE_MORNING_SUN,
- MOVE_SYNTHESIS,
- MOVE_MOONLIGHT,
- MOVE_HIDDEN_POWER,
- MOVE_CROSS_CHOP,
- MOVE_TWISTER,
- MOVE_RAIN_DANCE,
- MOVE_SUNNY_DAY,
- MOVE_CRUNCH,
- MOVE_MIRROR_COAT,
- MOVE_PSYCH_UP,
- MOVE_EXTREME_SPEED,
- MOVE_ANCIENT_POWER,
- MOVE_SHADOW_BALL,
- MOVE_FUTURE_SIGHT,
- MOVE_ROCK_SMASH,
- MOVE_WHIRLPOOL,
- MOVE_BEAT_UP,
- MOVE_FAKE_OUT,
- MOVE_UPROAR,
- MOVE_STOCKPILE,
- MOVE_SPIT_UP,
- MOVE_SWALLOW,
- MOVE_HEAT_WAVE,
- MOVE_HAIL,
- MOVE_TORMENT,
- MOVE_FLATTER,
- MOVE_WILL_O_WISP,
- MOVE_MEMENTO,
- MOVE_FACADE,
- MOVE_FOCUS_PUNCH,
- MOVE_SMELLING_SALT,
- MOVE_FOLLOW_ME,
- MOVE_NATURE_POWER,
- MOVE_CHARGE,
- MOVE_TAUNT,
- MOVE_HELPING_HAND,
- MOVE_TRICK,
- MOVE_ROLE_PLAY,
- MOVE_WISH,
- MOVE_ASSIST,
- MOVE_INGRAIN,
- MOVE_SUPERPOWER,
- MOVE_MAGIC_COAT,
- MOVE_RECYCLE,
- MOVE_REVENGE,
- MOVE_BRICK_BREAK,
- MOVE_YAWN,
- MOVE_KNOCK_OFF,
- MOVE_ENDEAVOR,
- MOVE_ERUPTION,
- MOVE_SKILL_SWAP,
- MOVE_IMPRISON,
- MOVE_REFRESH,
- MOVE_GRUDGE,
- MOVE_SNATCH,
- MOVE_SECRET_POWER,
- MOVE_DIVE,
- MOVE_ARM_THRUST,
- MOVE_CAMOUFLAGE,
- MOVE_TAIL_GLOW,
- MOVE_LUSTER_PURGE,
- MOVE_MIST_BALL,
- MOVE_FEATHER_DANCE,
- MOVE_TEETER_DANCE,
- MOVE_BLAZE_KICK,
- MOVE_MUD_SPORT,
- MOVE_ICE_BALL,
- MOVE_NEEDLE_ARM,
- MOVE_SLACK_OFF,
- MOVE_HYPER_VOICE,
- MOVE_POISON_FANG,
- MOVE_CRUSH_CLAW,
- MOVE_BLAST_BURN,
- MOVE_HYDRO_CANNON,
- MOVE_METEOR_MASH,
- MOVE_ASTONISH,
- MOVE_WEATHER_BALL,
- MOVE_AROMATHERAPY,
- MOVE_FAKE_TEARS,
- MOVE_AIR_CUTTER,
- MOVE_OVERHEAT,
- MOVE_ODOR_SLEUTH,
- MOVE_ROCK_TOMB,
- MOVE_SILVER_WIND,
- MOVE_METAL_SOUND,
- MOVE_GRASS_WHISTLE,
- MOVE_TICKLE,
- MOVE_COSMIC_POWER,
- MOVE_WATER_SPOUT,
- MOVE_SIGNAL_BEAM,
- MOVE_SHADOW_PUNCH,
- MOVE_EXTRASENSORY,
- MOVE_SKY_UPPERCUT,
- MOVE_SAND_TOMB,
- MOVE_SHEER_COLD,
- MOVE_MUDDY_WATER,
- MOVE_BULLET_SEED,
- MOVE_AERIAL_ACE,
- MOVE_ICICLE_SPEAR,
- MOVE_IRON_DEFENSE,
- MOVE_BLOCK,
- MOVE_HOWL,
- MOVE_DRAGON_CLAW,
- MOVE_FRENZY_PLANT,
- MOVE_BULK_UP,
- MOVE_BOUNCE,
- MOVE_MUD_SHOT,
- MOVE_POISON_TAIL,
- MOVE_COVET,
- MOVE_VOLT_TACKLE,
- MOVE_MAGICAL_LEAF,
- MOVE_WATER_SPORT,
- MOVE_CALM_MIND,
- MOVE_LEAF_BLADE,
- MOVE_DRAGON_DANCE,
- MOVE_ROCK_BLAST,
- MOVE_SHOCK_WAVE,
- MOVE_WATER_PULSE,
- MOVE_DOOM_DESIRE,
- MOVE_PSYCHO_BOOST,
-};
-extern const u8 gMoveNames[][13];
-
-#define LAST_MOVE_INDEX MOVE_PSYCHO_BOOST
-
-#endif // GUARD_MOVES_H
diff --git a/include/overworld.h b/include/overworld.h
index ea3d27319..a5fba0c10 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -68,4 +68,7 @@ void c2_load_new_map(void);
void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused);
void mapldr_default(void);
+void IncrementGameStat(u8);
+u32 GetGameStat(u8);
+
#endif //GUARD_ROM4_H
diff --git a/include/pokeball.h b/include/pokeball.h
index 76f084465..84178b5b2 100644
--- a/include/pokeball.h
+++ b/include/pokeball.h
@@ -1,8 +1,32 @@
#ifndef GUARD_POKEBALL_H
#define GUARD_POKEBALL_H
-u8 sub_80753E8(u16, u8);
+enum
+{
+ BALL_POKE,
+ BALL_GREAT,
+ BALL_SAFARI,
+ BALL_ULTRA,
+ BALL_MASTER,
+ BALL_NET,
+ BALL_DIVE,
+ BALL_NEST,
+ BALL_REPEAT,
+ BALL_TIMER,
+ BALL_LUXURY,
+ BALL_PREMIER,
+ POKEBALL_COUNT
+};
+
+#define POKEBALL_PLAYER_SENDOUT 0xFF
+#define POKEBALL_OPPONENT_SENDOUT 0xFE
+
+u8 DoPokeballSendOutAnimation(s16 pan, u8 kindOfThrow);
+void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 bank, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h, u16 species);
+u8 sub_807671C(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h);
void sub_8076918(u8 bank);
void DoHitAnimHealthboxEffect(u8 bank);
+void LoadBallGfx(u8 ballId);
+void FreeBallGfx(u8 ballId);
#endif // GUARD_POKEBALL_H
diff --git a/include/rng.h b/include/random.h
index ae98e575f..79a9d71dc 100644
--- a/include/rng.h
+++ b/include/random.h
@@ -1,5 +1,5 @@
-#ifndef GUARD_RNG_H
-#define GUARD_RNG_H
+#ifndef GUARD_RANDOM_H
+#define GUARD_RANDOM_H
extern u32 gRngValue;
extern u32 gRng2Value;
@@ -15,4 +15,4 @@ u16 Random2(void);
void SeedRng(u16 seed);
void SeedRng2(u16 seed);
-#endif // GUARD_RNG_H
+#endif // GUARD_RANDOM_H
diff --git a/include/species.h b/include/species.h
deleted file mode 100644
index ac0797418..000000000
--- a/include/species.h
+++ /dev/null
@@ -1,454 +0,0 @@
-#ifndef GUARD_SPECIES_H
-#define GUARD_SPECIES_H
-
-enum
-{
- SPECIES_NONE, // 0x000
- SPECIES_BULBASAUR, // 0x001
- SPECIES_IVYSAUR, // 0x002
- SPECIES_VENUSAUR, // 0x003
- SPECIES_CHARMANDER, // 0x004
- SPECIES_CHARMELEON, // 0x005
- SPECIES_CHARIZARD, // 0x006
- SPECIES_SQUIRTLE, // 0x007
- SPECIES_WARTORTLE, // 0x008
- SPECIES_BLASTOISE, // 0x009
- SPECIES_CATERPIE, // 0x00a
- SPECIES_METAPOD, // 0x00b
- SPECIES_BUTTERFREE, // 0x00c
- SPECIES_WEEDLE, // 0x00d
- SPECIES_KAKUNA, // 0x00e
- SPECIES_BEEDRILL, // 0x00f
- SPECIES_PIDGEY, // 0x010
- SPECIES_PIDGEOTTO, // 0x011
- SPECIES_PIDGEOT, // 0x012
- SPECIES_RATTATA, // 0x013
- SPECIES_RATICATE, // 0x014
- SPECIES_SPEAROW, // 0x015
- SPECIES_FEAROW, // 0x016
- SPECIES_EKANS, // 0x017
- SPECIES_ARBOK, // 0x018
- SPECIES_PIKACHU, // 0x019
- SPECIES_RAICHU, // 0x01a
- SPECIES_SANDSHREW, // 0x01b
- SPECIES_SANDSLASH, // 0x01c
- SPECIES_NIDORAN_F, // 0x01d
- SPECIES_NIDORINA, // 0x01e
- SPECIES_NIDOQUEEN, // 0x01f
- SPECIES_NIDORAN_M, // 0x020
- SPECIES_NIDORINO, // 0x021
- SPECIES_NIDOKING, // 0x022
- SPECIES_CLEFAIRY, // 0x023
- SPECIES_CLEFABLE, // 0x024
- SPECIES_VULPIX, // 0x025
- SPECIES_NINETALES, // 0x026
- SPECIES_JIGGLYPUFF, // 0x027
- SPECIES_WIGGLYTUFF, // 0x028
- SPECIES_ZUBAT, // 0x029
- SPECIES_GOLBAT, // 0x02a
- SPECIES_ODDISH, // 0x02b
- SPECIES_GLOOM, // 0x02c
- SPECIES_VILEPLUME, // 0x02d
- SPECIES_PARAS, // 0x02e
- SPECIES_PARASECT, // 0x02f
- SPECIES_VENONAT, // 0x030
- SPECIES_VENOMOTH, // 0x031
- SPECIES_DIGLETT, // 0x032
- SPECIES_DUGTRIO, // 0x033
- SPECIES_MEOWTH, // 0x034
- SPECIES_PERSIAN, // 0x035
- SPECIES_PSYDUCK, // 0x036
- SPECIES_GOLDUCK, // 0x037
- SPECIES_MANKEY, // 0x038
- SPECIES_PRIMEAPE, // 0x039
- SPECIES_GROWLITHE, // 0x03a
- SPECIES_ARCANINE, // 0x03b
- SPECIES_POLIWAG, // 0x03c
- SPECIES_POLIWHIRL, // 0x03d
- SPECIES_POLIWRATH, // 0x03e
- SPECIES_ABRA, // 0x03f
- SPECIES_KADABRA, // 0x040
- SPECIES_ALAKAZAM, // 0x041
- SPECIES_MACHOP, // 0x042
- SPECIES_MACHOKE, // 0x043
- SPECIES_MACHAMP, // 0x044
- SPECIES_BELLSPROUT, // 0x045
- SPECIES_WEEPINBELL, // 0x046
- SPECIES_VICTREEBEL, // 0x047
- SPECIES_TENTACOOL, // 0x048
- SPECIES_TENTACRUEL, // 0x049
- SPECIES_GEODUDE, // 0x04a
- SPECIES_GRAVELER, // 0x04b
- SPECIES_GOLEM, // 0x04c
- SPECIES_PONYTA, // 0x04d
- SPECIES_RAPIDASH, // 0x04e
- SPECIES_SLOWPOKE, // 0x04f
- SPECIES_SLOWBRO, // 0x050
- SPECIES_MAGNEMITE, // 0x051
- SPECIES_MAGNETON, // 0x052
- SPECIES_FARFETCHD, // 0x053
- SPECIES_DODUO, // 0x054
- SPECIES_DODRIO, // 0x055
- SPECIES_SEEL, // 0x056
- SPECIES_DEWGONG, // 0x057
- SPECIES_GRIMER, // 0x058
- SPECIES_MUK, // 0x059
- SPECIES_SHELLDER, // 0x05a
- SPECIES_CLOYSTER, // 0x05b
- SPECIES_GASTLY, // 0x05c
- SPECIES_HAUNTER, // 0x05d
- SPECIES_GENGAR, // 0x05e
- SPECIES_ONIX, // 0x05f
- SPECIES_DROWZEE, // 0x060
- SPECIES_HYPNO, // 0x061
- SPECIES_KRABBY, // 0x062
- SPECIES_KINGLER, // 0x063
- SPECIES_VOLTORB, // 0x064
- SPECIES_ELECTRODE, // 0x065
- SPECIES_EXEGGCUTE, // 0x066
- SPECIES_EXEGGUTOR, // 0x067
- SPECIES_CUBONE, // 0x068
- SPECIES_MAROWAK, // 0x069
- SPECIES_HITMONLEE, // 0x06a
- SPECIES_HITMONCHAN, // 0x06b
- SPECIES_LICKITUNG, // 0x06c
- SPECIES_KOFFING, // 0x06d
- SPECIES_WEEZING, // 0x06e
- SPECIES_RHYHORN, // 0x06f
- SPECIES_RHYDON, // 0x070
- SPECIES_CHANSEY, // 0x071
- SPECIES_TANGELA, // 0x072
- SPECIES_KANGASKHAN, // 0x073
- SPECIES_HORSEA, // 0x074
- SPECIES_SEADRA, // 0x075
- SPECIES_GOLDEEN, // 0x076
- SPECIES_SEAKING, // 0x077
- SPECIES_STARYU, // 0x078
- SPECIES_STARMIE, // 0x079
- SPECIES_MR_MIME, // 0x07a
- SPECIES_SCYTHER, // 0x07b
- SPECIES_JYNX, // 0x07c
- SPECIES_ELECTABUZZ, // 0x07d
- SPECIES_MAGMAR, // 0x07e
- SPECIES_PINSIR, // 0x07f
- SPECIES_TAUROS, // 0x080
- SPECIES_MAGIKARP, // 0x081
- SPECIES_GYARADOS, // 0x082
- SPECIES_LAPRAS, // 0x083
- SPECIES_DITTO, // 0x084
- SPECIES_EEVEE, // 0x085
- SPECIES_VAPOREON, // 0x086
- SPECIES_JOLTEON, // 0x087
- SPECIES_FLAREON, // 0x088
- SPECIES_PORYGON, // 0x089
- SPECIES_OMANYTE, // 0x08a
- SPECIES_OMASTAR, // 0x08b
- SPECIES_KABUTO, // 0x08c
- SPECIES_KABUTOPS, // 0x08d
- SPECIES_AERODACTYL, // 0x08e
- SPECIES_SNORLAX, // 0x08f
- SPECIES_ARTICUNO, // 0x090
- SPECIES_ZAPDOS, // 0x091
- SPECIES_MOLTRES, // 0x092
- SPECIES_DRATINI, // 0x093
- SPECIES_DRAGONAIR, // 0x094
- SPECIES_DRAGONITE, // 0x095
- SPECIES_MEWTWO, // 0x096
- SPECIES_MEW, // 0x097
- SPECIES_CHIKORITA, // 0x098
- SPECIES_BAYLEEF, // 0x099
- SPECIES_MEGANIUM, // 0x09a
- SPECIES_CYNDAQUIL, // 0x09b
- SPECIES_QUILAVA, // 0x09c
- SPECIES_TYPHLOSION, // 0x09d
- SPECIES_TOTODILE, // 0x09e
- SPECIES_CROCONAW, // 0x09f
- SPECIES_FERALIGATR, // 0x0a0
- SPECIES_SENTRET, // 0x0a1
- SPECIES_FURRET, // 0x0a2
- SPECIES_HOOTHOOT, // 0x0a3
- SPECIES_NOCTOWL, // 0x0a4
- SPECIES_LEDYBA, // 0x0a5
- SPECIES_LEDIAN, // 0x0a6
- SPECIES_SPINARAK, // 0x0a7
- SPECIES_ARIADOS, // 0x0a8
- SPECIES_CROBAT, // 0x0a9
- SPECIES_CHINCHOU, // 0x0aa
- SPECIES_LANTURN, // 0x0ab
- SPECIES_PICHU, // 0x0ac
- SPECIES_CLEFFA, // 0x0ad
- SPECIES_IGGLYBUFF, // 0x0ae
- SPECIES_TOGEPI, // 0x0af
- SPECIES_TOGETIC, // 0x0b0
- SPECIES_NATU, // 0x0b1
- SPECIES_XATU, // 0x0b2
- SPECIES_MAREEP, // 0x0b3
- SPECIES_FLAAFFY, // 0x0b4
- SPECIES_AMPHAROS, // 0x0b5
- SPECIES_BELLOSSOM, // 0x0b6
- SPECIES_MARILL, // 0x0b7
- SPECIES_AZUMARILL, // 0x0b8
- SPECIES_SUDOWOODO, // 0x0b9
- SPECIES_POLITOED, // 0x0ba
- SPECIES_HOPPIP, // 0x0bb
- SPECIES_SKIPLOOM, // 0x0bc
- SPECIES_JUMPLUFF, // 0x0bd
- SPECIES_AIPOM, // 0x0be
- SPECIES_SUNKERN, // 0x0bf
- SPECIES_SUNFLORA, // 0x0c0
- SPECIES_YANMA, // 0x0c1
- SPECIES_WOOPER, // 0x0c2
- SPECIES_QUAGSIRE, // 0x0c3
- SPECIES_ESPEON, // 0x0c4
- SPECIES_UMBREON, // 0x0c5
- SPECIES_MURKROW, // 0x0c6
- SPECIES_SLOWKING, // 0x0c7
- SPECIES_MISDREAVUS, // 0x0c8
- SPECIES_UNOWN, // 0x0c9
- SPECIES_WOBBUFFET, // 0x0ca
- SPECIES_GIRAFARIG, // 0x0cb
- SPECIES_PINECO, // 0x0cc
- SPECIES_FORRETRESS, // 0x0cd
- SPECIES_DUNSPARCE, // 0x0ce
- SPECIES_GLIGAR, // 0x0cf
- SPECIES_STEELIX, // 0x0d0
- SPECIES_SNUBBULL, // 0x0d1
- SPECIES_GRANBULL, // 0x0d2
- SPECIES_QWILFISH, // 0x0d3
- SPECIES_SCIZOR, // 0x0d4
- SPECIES_SHUCKLE, // 0x0d5
- SPECIES_HERACROSS, // 0x0d6
- SPECIES_SNEASEL, // 0x0d7
- SPECIES_TEDDIURSA, // 0x0d8
- SPECIES_URSARING, // 0x0d9
- SPECIES_SLUGMA, // 0x0da
- SPECIES_MAGCARGO, // 0x0db
- SPECIES_SWINUB, // 0x0dc
- SPECIES_PILOSWINE, // 0x0dd
- SPECIES_CORSOLA, // 0x0de
- SPECIES_REMORAID, // 0x0df
- SPECIES_OCTILLERY, // 0x0e0
- SPECIES_DELIBIRD, // 0x0e1
- SPECIES_MANTINE, // 0x0e2
- SPECIES_SKARMORY, // 0x0e3
- SPECIES_HOUNDOUR, // 0x0e4
- SPECIES_HOUNDOOM, // 0x0e5
- SPECIES_KINGDRA, // 0x0e6
- SPECIES_PHANPY, // 0x0e7
- SPECIES_DONPHAN, // 0x0e8
- SPECIES_PORYGON2, // 0x0e9
- SPECIES_STANTLER, // 0x0ea
- SPECIES_SMEARGLE, // 0x0eb
- SPECIES_TYROGUE, // 0x0ec
- SPECIES_HITMONTOP, // 0x0ed
- SPECIES_SMOOCHUM, // 0x0ee
- SPECIES_ELEKID, // 0x0ef
- SPECIES_MAGBY, // 0x0f0
- SPECIES_MILTANK, // 0x0f1
- SPECIES_BLISSEY, // 0x0f2
- SPECIES_RAIKOU, // 0x0f3
- SPECIES_ENTEI, // 0x0f4
- SPECIES_SUICUNE, // 0x0f5
- SPECIES_LARVITAR, // 0x0f6
- SPECIES_PUPITAR, // 0x0f7
- SPECIES_TYRANITAR, // 0x0f8
- SPECIES_LUGIA, // 0x0f9
- SPECIES_HO_OH, // 0x0fa
- SPECIES_CELEBI, // 0x0fb
-
- SPECIES_OLD_UNOWN_B,
- SPECIES_OLD_UNOWN_C,
- SPECIES_OLD_UNOWN_D,
- SPECIES_OLD_UNOWN_E,
- SPECIES_OLD_UNOWN_F,
- SPECIES_OLD_UNOWN_G,
- SPECIES_OLD_UNOWN_H,
- SPECIES_OLD_UNOWN_I,
- SPECIES_OLD_UNOWN_J,
- SPECIES_OLD_UNOWN_K,
- SPECIES_OLD_UNOWN_L,
- SPECIES_OLD_UNOWN_M,
- SPECIES_OLD_UNOWN_N,
- SPECIES_OLD_UNOWN_O,
- SPECIES_OLD_UNOWN_P,
- SPECIES_OLD_UNOWN_Q,
- SPECIES_OLD_UNOWN_R,
- SPECIES_OLD_UNOWN_S,
- SPECIES_OLD_UNOWN_T,
- SPECIES_OLD_UNOWN_U,
- SPECIES_OLD_UNOWN_V,
- SPECIES_OLD_UNOWN_W,
- SPECIES_OLD_UNOWN_X,
- SPECIES_OLD_UNOWN_Y,
- SPECIES_OLD_UNOWN_Z,
-
- SPECIES_TREECKO, // 0x115
- SPECIES_GROVYLE, // 0x116
- SPECIES_SCEPTILE, // 0x117
- SPECIES_TORCHIC, // 0x118
- SPECIES_COMBUSKEN, // 0x119
- SPECIES_BLAZIKEN, // 0x11a
- SPECIES_MUDKIP, // 0x11b
- SPECIES_MARSHTOMP, // 0x11c
- SPECIES_SWAMPERT, // 0x11d
- SPECIES_POOCHYENA, // 0x11e
- SPECIES_MIGHTYENA, // 0x11f
- SPECIES_ZIGZAGOON, // 0x120
- SPECIES_LINOONE, // 0x121
- SPECIES_WURMPLE, // 0x122
- SPECIES_SILCOON, // 0x123
- SPECIES_BEAUTIFLY, // 0x124
- SPECIES_CASCOON, // 0x125
- SPECIES_DUSTOX, // 0x126
- SPECIES_LOTAD, // 0x127
- SPECIES_LOMBRE, // 0x128
- SPECIES_LUDICOLO, // 0x129
- SPECIES_SEEDOT, // 0x12a
- SPECIES_NUZLEAF, // 0x12b
- SPECIES_SHIFTRY, // 0x12c
- SPECIES_NINCADA, // 0x12d
- SPECIES_NINJASK, // 0x12e
- SPECIES_SHEDINJA, // 0x12f
- SPECIES_TAILLOW, // 0x130
- SPECIES_SWELLOW, // 0x131
- SPECIES_SHROOMISH, // 0x132
- SPECIES_BRELOOM, // 0x133
- SPECIES_SPINDA, // 0x134
- SPECIES_WINGULL, // 0x135
- SPECIES_PELIPPER, // 0x136
- SPECIES_SURSKIT, // 0x137
- SPECIES_MASQUERAIN, // 0x138
- SPECIES_WAILMER, // 0x139
- SPECIES_WAILORD, // 0x13a
- SPECIES_SKITTY, // 0x13b
- SPECIES_DELCATTY, // 0x13c
- SPECIES_KECLEON, // 0x13d
- SPECIES_BALTOY, // 0x13e
- SPECIES_CLAYDOL, // 0x13f
- SPECIES_NOSEPASS, // 0x140
- SPECIES_TORKOAL, // 0x141
- SPECIES_SABLEYE, // 0x142
- SPECIES_BARBOACH, // 0x143
- SPECIES_WHISCASH, // 0x144
- SPECIES_LUVDISC, // 0x145
- SPECIES_CORPHISH, // 0x146
- SPECIES_CRAWDAUNT, // 0x147
- SPECIES_FEEBAS, // 0x148
- SPECIES_MILOTIC, // 0x149
- SPECIES_CARVANHA, // 0x14a
- SPECIES_SHARPEDO, // 0x14b
- SPECIES_TRAPINCH, // 0x14c
- SPECIES_VIBRAVA, // 0x14d
- SPECIES_FLYGON, // 0x14e
- SPECIES_MAKUHITA, // 0x14f
- SPECIES_HARIYAMA, // 0x150
- SPECIES_ELECTRIKE, // 0x151
- SPECIES_MANECTRIC, // 0x152
- SPECIES_NUMEL, // 0x153
- SPECIES_CAMERUPT, // 0x154
- SPECIES_SPHEAL, // 0x155
- SPECIES_SEALEO, // 0x156
- SPECIES_WALREIN, // 0x157
- SPECIES_CACNEA, // 0x158
- SPECIES_CACTURNE, // 0x159
- SPECIES_SNORUNT, // 0x15a
- SPECIES_GLALIE, // 0x15b
- SPECIES_LUNATONE, // 0x15c
- SPECIES_SOLROCK, // 0x15d
- SPECIES_AZURILL, // 0x15e
- SPECIES_SPOINK, // 0x15f
- SPECIES_GRUMPIG, // 0x160
- SPECIES_PLUSLE, // 0x161
- SPECIES_MINUN, // 0x162
- SPECIES_MAWILE, // 0x163
- SPECIES_MEDITITE, // 0x164
- SPECIES_MEDICHAM, // 0x165
- SPECIES_SWABLU, // 0x166
- SPECIES_ALTARIA, // 0x167
- SPECIES_WYNAUT, // 0x168
- SPECIES_DUSKULL, // 0x169
- SPECIES_DUSCLOPS, // 0x16a
- SPECIES_ROSELIA, // 0x16b
- SPECIES_SLAKOTH, // 0x16c
- SPECIES_VIGOROTH, // 0x16d
- SPECIES_SLAKING, // 0x16e
- SPECIES_GULPIN, // 0x16f
- SPECIES_SWALOT, // 0x170
- SPECIES_TROPIUS, // 0x171
- SPECIES_WHISMUR, // 0x172
- SPECIES_LOUDRED, // 0x173
- SPECIES_EXPLOUD, // 0x174
- SPECIES_CLAMPERL, // 0x175
- SPECIES_HUNTAIL, // 0x176
- SPECIES_GOREBYSS, // 0x177
- SPECIES_ABSOL, // 0x178
- SPECIES_SHUPPET, // 0x179
- SPECIES_BANETTE, // 0x17a
- SPECIES_SEVIPER, // 0x17b
- SPECIES_ZANGOOSE, // 0x17c
- SPECIES_RELICANTH, // 0x17d
- SPECIES_ARON, // 0x17e
- SPECIES_LAIRON, // 0x17f
- SPECIES_AGGRON, // 0x180
- SPECIES_CASTFORM, // 0x181
- SPECIES_VOLBEAT, // 0x182
- SPECIES_ILLUMISE, // 0x183
- SPECIES_LILEEP, // 0x184
- SPECIES_CRADILY, // 0x185
- SPECIES_ANORITH, // 0x186
- SPECIES_ARMALDO, // 0x187
- SPECIES_RALTS, // 0x188
- SPECIES_KIRLIA, // 0x189
- SPECIES_GARDEVOIR, // 0x18a
- SPECIES_BAGON, // 0x18b
- SPECIES_SHELGON, // 0x18c
- SPECIES_SALAMENCE, // 0x18d
- SPECIES_BELDUM, // 0x18e
- SPECIES_METANG, // 0x18f
- SPECIES_METAGROSS, // 0x190
- SPECIES_REGIROCK, // 0x191
- SPECIES_REGICE, // 0x192
- SPECIES_REGISTEEL, // 0x193
- SPECIES_KYOGRE, // 0x194
- SPECIES_GROUDON, // 0x195
- SPECIES_RAYQUAZA, // 0x196
- SPECIES_LATIAS, // 0x197
- SPECIES_LATIOS, // 0x198
- SPECIES_JIRACHI, // 0x199
- SPECIES_DEOXYS, // 0x19a
- SPECIES_CHIMECHO, // 0x19b
- SPECIES_EGG, // 0x19c
-
- SPECIES_UNOWN_B,
- SPECIES_UNOWN_C,
- SPECIES_UNOWN_D,
- SPECIES_UNOWN_E,
- SPECIES_UNOWN_F,
- SPECIES_UNOWN_G,
- SPECIES_UNOWN_H,
- SPECIES_UNOWN_I,
- SPECIES_UNOWN_J,
- SPECIES_UNOWN_K,
- SPECIES_UNOWN_L,
- SPECIES_UNOWN_M,
- SPECIES_UNOWN_N,
- SPECIES_UNOWN_O,
- SPECIES_UNOWN_P,
- SPECIES_UNOWN_Q,
- SPECIES_UNOWN_R,
- SPECIES_UNOWN_S,
- SPECIES_UNOWN_T,
- SPECIES_UNOWN_U,
- SPECIES_UNOWN_V,
- SPECIES_UNOWN_W,
- SPECIES_UNOWN_X,
- SPECIES_UNOWN_Y,
- SPECIES_UNOWN_Z,
- SPECIES_UNOWN_EMARK,
- SPECIES_UNOWN_QMARK,
-};
-
-#define NUM_SPECIES SPECIES_EGG
-extern const u8 gSpeciesNames[][11];
-
-#endif // GUARD_SPECIES_H
diff --git a/include/sprite.h b/include/sprite.h
index 531314079..170d77c3f 100644
--- a/include/sprite.h
+++ b/include/sprite.h
@@ -195,14 +195,7 @@ struct Sprite
/*0x2D*/ u8 animLoopCounter;
// general purpose data fields
- /*0x2E*/ s16 data0;
- /*0x30*/ s16 data1;
- /*0x32*/ s16 data2;
- /*0x34*/ s16 data3;
- /*0x36*/ s16 data4;
- /*0x38*/ s16 data5;
- /*0x3A*/ s16 data6;
- /*0x3C*/ s16 data7;
+ /*0x2E*/ s16 data[8];
/*0x3E*/ u16 inUse:1; //1
u16 coordOffsetEnabled:1; //2
diff --git a/include/vars.h b/include/vars.h
deleted file mode 100644
index bc3f2ab1f..000000000
--- a/include/vars.h
+++ /dev/null
@@ -1,77 +0,0 @@
-#ifndef GUARD_VARS_H
-#define GUARD_VARS_H
-
-#define VAR_0x3F20 0x3F20
-
-#define VAR_0x4000 0x4000
-#define VAR_0x4001 0x4001
-#define VAR_0x4002 0x4002
-#define VAR_0x4003 0x4003
-#define VAR_0x4004 0x4004
-#define VAR_0x4005 0x4005
-#define VAR_0x4006 0x4006
-#define VAR_0x4007 0x4007
-#define VAR_0x4008 0x4008
-#define VAR_0x4009 0x4009
-#define VAR_0x400A 0x400A
-#define VAR_0x400E 0x400E
-#define VAR_0x4010 0x4010
-#define VAR_0x4011 0x4011
-#define VAR_0x401F 0x401F
-#define VAR_RECYCLE_GOODS 0x4020
-#define VAR_REPEL_STEP_COUNT 0x4021
-#define VAR_ICE_STEP_COUNT 0x4022
-#define VAR_STARTER_ID 0x4023
-#define VAR_MIRAGE_RND_H 0x4024
-#define VAR_MIRAGE_RND_L 0x4025
-#define VAR_SECRET_BASE_MAP 0x4026
-
-#define VAR_HAPPINESS_STEP_COUNTER 0x402A
-#define VAR_POISON_STEP_COUNTER 0x402B
-#define VAR_RESET_RTC_ENABLE 0x402C
-
-#define VAR_0x4037 0x4037
-#define VAR_ALTERING_CAVE_WILD_SET 0x403E
-#define VAR_DAYS 0x4040
-
-#define VAR_DEPT_STORE_FLOOR 0x4043
-#define VAR_STORAGE_UNKNOWN 0x4036
-#define VAR_POKELOT_PRIZE 0x4045
-#define VAR_NATIONAL_DEX 0x4046
-#define VAR_SEEDOT_SIZE_RECORD 0x4047
-#define VAR_ASH_GATHER_COUNT 0x4048
-#define VAR_BIRCH_STATE 0x4049
-#define VAR_CRUISE_STEP_COUNT 0x404A
-#define VAR_POKELOT_RND1 0x404B
-#define VAR_POKELOT_RND2 0x404C
-
-#define VAR_LOTAD_SIZE_RECORD 0x404F
-
-#define VAR_0x4054 0x4054
-
-#define VAR_0x4089 0x4089
-#define VAR_0x4095 0x4095
-#define VAR_0x4097 0x4097
-#define VAR_0x409a 0x409a
-#define VAR_PORTHOLE 0x40B4
-
-#define VAR_0x40BC 0x40BC
-#define VAR_0x40C2 0x40C2
-
-#define VAR_0x40CE 0x40CE
-#define VAR_FRONTIER_FACILITY 0x40CF
-
-#define VAR_DAILY_SLOTS 0x40E6
-#define VAR_DAILY_WILDS 0x40E7
-#define VAR_DAILY_BLENDER 0x40E8
-#define VAR_DAILY_PLANTED_BERRIES 0x40E9
-#define VAR_DAILY_PICKED_BERRIES 0x40EA
-#define VAR_DAILY_ROULETTE 0x40EB
-#define VAR_0x40EC 0x40EC
-#define VAR_0x40ED 0x40ED
-#define VAR_0x40EE 0x40EE
-#define VAR_0x40EF 0x40EF
-#define VAR_0x40F0 0x40F0
-#define VAR_DAILY_BP 0x40F1
-
-#endif // GUARD_VARS_H
diff --git a/ld_script.txt b/ld_script.txt
index bf772c33a..1561cae04 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -74,20 +74,20 @@ SECTIONS {
src/pokemon_3.o(.text);
asm/pokemon_3.o(.text);
src/trig.o(.text);
- src/rng.o(.text);
+ src/random.o(.text);
src/util.o(.text);
src/blend_palette.o(.text);
src/daycare.o(.text);
src/egg_hatch.o(.text);
src/battle_interface.o(.text);
asm/smokescreen.o(.text);
- asm/pokeball.o(.text);
+ src/pokeball.o(.text);
src/load_save.o(.text);
asm/trade.o(.text);
src/berry_blender.o(.text);
src/play_time.o(.text);
src/new_game.o(.text);
- asm/rom4.o(.text);
+ asm/overworld.o(.text);
asm/fieldmap.o(.text);
src/metatile_behavior.o(.text);
asm/field_camera.o(.text);
@@ -346,11 +346,11 @@ SECTIONS {
src/egg_hatch.o(.rodata);
src/battle_gfx_sfx_util.o(.rodata);
src/battle_interface.o(.rodata);
- data/pokeball.o(.rodata);
+ src/pokeball.o(.rodata);
data/trade.o(.rodata);
src/berry_blender.o(.rodata);
src/new_game.o(.rodata);
- data/rom4.o(.rodata);
+ data/overworld.o(.rodata);
data/tilesets.o(.rodata);
data/maps.o(.rodata);
data/fieldmap.o(.rodata);
diff --git a/src/battle_2.c b/src/battle_2.c
index eead4d7a9..67e49bb34 100644
--- a/src/battle_2.c
+++ b/src/battle_2.c
@@ -11,12 +11,12 @@
#include "palette.h"
#include "task.h"
#include "event_data.h"
-#include "species.h"
+#include "constants/species.h"
#include "berry.h"
#include "text.h"
#include "item.h"
-#include "items.h"
-#include "hold_effects.h"
+#include "constants/items.h"
+#include "constants/hold_effects.h"
#include "link.h"
#include "bg.h"
#include "dma3.h"
@@ -25,19 +25,19 @@
#include "event_data.h"
#include "m4a.h"
#include "window.h"
-#include "rng.h"
-#include "songs.h"
+#include "random.h"
+#include "constants/songs.h"
#include "sound.h"
#include "battle_message.h"
#include "sprite.h"
#include "util.h"
#include "trig.h"
#include "battle_ai_script_commands.h"
-#include "battle_move_effects.h"
+#include "constants/battle_move_effects.h"
#include "battle_controllers.h"
#include "pokedex.h"
-#include "abilities.h"
-#include "moves.h"
+#include "constants/abilities.h"
+#include "constants/moves.h"
#include "trainer_classes.h"
#include "evolution_scene.h"
#include "roamer.h"
@@ -160,7 +160,7 @@ extern const u8 gStatStageRatios[][2];
extern const u8 * const gBattleScriptsForMoveEffects[];
extern const u8 * const gBattlescriptsForBallThrow[];
extern const u8 * const gBattlescriptsForRunningByItem[];
-extern const u8 * const gUnknown_082DBD3C[];
+extern const u8 * const gBattlescriptsForUsingItem[];
extern const u8 * const gBattlescriptsForSafariActions[];
// strings
@@ -415,7 +415,7 @@ static void CB2_InitBattleInternal(void)
gBattleTerrain = BattleSetup_GetTerrainId();
if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
- gBattleTerrain = BATTLE_TERRAIN_INSIDE;
+ gBattleTerrain = BATTLE_TERRAIN_BUILDING;
sub_80356D0();
LoadBattleTextboxAndBackground();
@@ -1620,7 +1620,7 @@ void CB2_QuitRecordedBattle(void)
void sub_8038528(struct Sprite* sprite)
{
- sprite->data0 = 0;
+ sprite->data[0] = 0;
sprite->callback = sub_8038538;
}
@@ -1628,42 +1628,42 @@ static void sub_8038538(struct Sprite *sprite)
{
u16 *arr = (u16*)(gDecompressionBuffer);
- switch (sprite->data0)
+ switch (sprite->data[0])
{
case 0:
- sprite->data0++;
- sprite->data1 = 0;
- sprite->data2 = 0x281;
- sprite->data3 = 0;
- sprite->data4 = 1;
+ sprite->data[0]++;
+ sprite->data[1] = 0;
+ sprite->data[2] = 0x281;
+ sprite->data[3] = 0;
+ sprite->data[4] = 1;
// fall through
case 1:
- sprite->data4--;
- if (sprite->data4 == 0)
+ sprite->data[4]--;
+ if (sprite->data[4] == 0)
{
s32 i;
s32 r2;
s32 r0;
- sprite->data4 = 2;
- r2 = sprite->data1 + sprite->data3 * 32;
- r0 = sprite->data2 - sprite->data3 * 32;
+ sprite->data[4] = 2;
+ r2 = sprite->data[1] + sprite->data[3] * 32;
+ r0 = sprite->data[2] - sprite->data[3] * 32;
for (i = 0; i < 29; i += 2)
{
arr[r2 + i] = 0x3D;
arr[r0 + i] = 0x3D;
}
- sprite->data3++;
- if (sprite->data3 == 21)
+ sprite->data[3]++;
+ if (sprite->data[3] == 21)
{
- sprite->data0++;
- sprite->data1 = 32;
+ sprite->data[0]++;
+ sprite->data[1] = 32;
}
}
break;
case 2:
- sprite->data1--;
- if (sprite->data1 == 20)
+ sprite->data[1]--;
+ if (sprite->data[1] == 20)
SetMainCallback2(CB2_InitBattle);
break;
}
@@ -1824,12 +1824,12 @@ void nullsub_17(void)
static void sub_8038B04(struct Sprite *sprite)
{
- if (sprite->data0 != 0)
- sprite->pos1.x = sprite->data1 + ((sprite->data2 & 0xFF00) >> 8);
+ if (sprite->data[0] != 0)
+ sprite->pos1.x = sprite->data[1] + ((sprite->data[2] & 0xFF00) >> 8);
else
- sprite->pos1.x = sprite->data1 - ((sprite->data2 & 0xFF00) >> 8);
+ sprite->pos1.x = sprite->data[1] - ((sprite->data[2] & 0xFF00) >> 8);
- sprite->data2 += 0x180;
+ sprite->data[2] += 0x180;
if (sprite->affineAnimEnded)
{
@@ -2382,8 +2382,8 @@ u32 sub_80397C4(u32 setId, u32 tableId)
return gUnknown_0831ABA0[setId][tableId].width * 8;
}
-#define tBank data0
-#define tSpeciesId data2
+#define tBank data[0]
+#define tSpeciesId data[2]
void oac_poke_opponent(struct Sprite *sprite)
{
@@ -2431,20 +2431,20 @@ void SpriteCallbackDummy_2(struct Sprite *sprite)
static void sub_80398BC(struct Sprite *sprite) // unused?
{
- sprite->data3 = 6;
- sprite->data4 = 1;
+ sprite->data[3] = 6;
+ sprite->data[4] = 1;
sprite->callback = sub_80398D0;
}
static void sub_80398D0(struct Sprite *sprite)
{
- sprite->data4--;
- if (sprite->data4 == 0)
+ sprite->data[4]--;
+ if (sprite->data[4] == 0)
{
- sprite->data4 = 8;
+ sprite->data[4] = 8;
sprite->invisible ^= 1;
- sprite->data3--;
- if (sprite->data3 == 0)
+ sprite->data[3]--;
+ if (sprite->data[3] == 0)
{
sprite->invisible = FALSE;
sprite->callback = SpriteCallbackDummy_2;
@@ -2495,8 +2495,8 @@ void sub_8039934(struct Sprite *sprite)
yOffset = gMonFrontPicCoords[species].y_offset;
}
- sprite->data3 = 8 - yOffset / 8;
- sprite->data4 = 1;
+ sprite->data[3] = 8 - yOffset / 8;
+ sprite->data[4] = 1;
sprite->callback = sub_8039A48;
}
@@ -2504,20 +2504,20 @@ static void sub_8039A48(struct Sprite *sprite)
{
s32 i;
- sprite->data4--;
- if (sprite->data4 == 0)
+ sprite->data[4]--;
+ if (sprite->data[4] == 0)
{
- sprite->data4 = 2;
+ sprite->data[4] = 2;
sprite->pos2.y += 8;
- sprite->data3--;
- if (sprite->data3 < 0)
+ sprite->data[3]--;
+ if (sprite->data[3] < 0)
{
FreeSpriteOamMatrix(sprite);
DestroySprite(sprite);
}
else
{
- u8 *dst = (u8 *)gMonSpritesGfxPtr->sprites[GetBankIdentity(sprite->tBank)] + (gBattleMonForms[sprite->tBank] << 11) + (sprite->data3 << 8);
+ u8 *dst = (u8 *)gMonSpritesGfxPtr->sprites[GetBankIdentity(sprite->tBank)] + (gBattleMonForms[sprite->tBank] << 11) + (sprite->data[3] << 8);
for (i = 0; i < 0x100; i++)
*(dst++) = 0;
@@ -2529,25 +2529,25 @@ static void sub_8039A48(struct Sprite *sprite)
void sub_8039AD8(struct Sprite *sprite)
{
- sprite->data3 = 8;
- sprite->data4 = sprite->invisible;
+ sprite->data[3] = 8;
+ sprite->data[4] = sprite->invisible;
sprite->callback = sub_8039AF4;
}
static void sub_8039AF4(struct Sprite *sprite)
{
- sprite->data3--;
- if (sprite->data3 == 0)
+ sprite->data[3]--;
+ if (sprite->data[3] == 0)
{
sprite->invisible ^= 1;
- sprite->data3 = 8;
+ sprite->data[3] = 8;
}
}
void sub_8039B2C(struct Sprite *sprite)
{
- sprite->invisible = sprite->data4;
- sprite->data4 = FALSE;
+ sprite->invisible = sprite->data[4];
+ sprite->data[4] = FALSE;
sprite->callback = SpriteCallbackDummy_2;
}
@@ -2577,7 +2577,7 @@ static void oac_poke_ally_(struct Sprite *sprite)
if (sprite->pos2.x == 0)
{
sprite->callback = SpriteCallbackDummy_3;
- sprite->data1 = 0;
+ sprite->data[1] = 0;
}
}
}
@@ -2595,8 +2595,8 @@ void sub_8039C00(struct Sprite *sprite)
{
if (!(gUnknown_020243FC & 1))
{
- sprite->pos2.x += sprite->data1;
- sprite->pos2.y += sprite->data2;
+ sprite->pos2.x += sprite->data[1];
+ sprite->pos2.y += sprite->data[2];
}
}
@@ -2622,19 +2622,19 @@ void dp11b_obj_instanciate(u8 bank, u8 b, s8 c, s8 d)
spriteId2 = gHealthBoxesIds[bank];
gBattleSpritesDataPtr->healthBoxesData[bank].field_2 = bounceHealthBoxSpriteId;
gBattleSpritesDataPtr->healthBoxesData[bank].flag_x2 = 1;
- gSprites[bounceHealthBoxSpriteId].data0 = 0x80;
+ gSprites[bounceHealthBoxSpriteId].data[0] = 0x80;
}
else
{
spriteId2 = gBankSpriteIds[bank];
gBattleSpritesDataPtr->healthBoxesData[bank].field_3 = bounceHealthBoxSpriteId;
gBattleSpritesDataPtr->healthBoxesData[bank].flag_x4 = 1;
- gSprites[bounceHealthBoxSpriteId].data0 = 0xC0;
+ gSprites[bounceHealthBoxSpriteId].data[0] = 0xC0;
}
- gSprites[bounceHealthBoxSpriteId].data1 = c;
- gSprites[bounceHealthBoxSpriteId].data2 = d;
- gSprites[bounceHealthBoxSpriteId].data3 = spriteId2;
- gSprites[bounceHealthBoxSpriteId].data4 = b;
+ gSprites[bounceHealthBoxSpriteId].data[1] = c;
+ gSprites[bounceHealthBoxSpriteId].data[2] = d;
+ gSprites[bounceHealthBoxSpriteId].data[3] = spriteId2;
+ gSprites[bounceHealthBoxSpriteId].data[4] = b;
gSprites[spriteId2].pos2.x = 0;
gSprites[spriteId2].pos2.y = 0;
}
@@ -2648,7 +2648,7 @@ void dp11b_obj_free(u8 bank, bool8 b)
if (!gBattleSpritesDataPtr->healthBoxesData[bank].flag_x2)
return;
- r4 = gSprites[gBattleSpritesDataPtr->healthBoxesData[bank].field_2].data3;
+ r4 = gSprites[gBattleSpritesDataPtr->healthBoxesData[bank].field_2].data[3];
DestroySprite(&gSprites[gBattleSpritesDataPtr->healthBoxesData[bank].field_2]);
gBattleSpritesDataPtr->healthBoxesData[bank].flag_x2 = 0;
}
@@ -2657,7 +2657,7 @@ void dp11b_obj_free(u8 bank, bool8 b)
if (!gBattleSpritesDataPtr->healthBoxesData[bank].flag_x4)
return;
- r4 = gSprites[gBattleSpritesDataPtr->healthBoxesData[bank].field_3].data3;
+ r4 = gSprites[gBattleSpritesDataPtr->healthBoxesData[bank].field_3].data[3];
DestroySprite(&gSprites[gBattleSpritesDataPtr->healthBoxesData[bank].field_3]);
gBattleSpritesDataPtr->healthBoxesData[bank].flag_x4 = 0;
}
@@ -2667,16 +2667,16 @@ void dp11b_obj_free(u8 bank, bool8 b)
static void SpriteCB_HealthBoxBounce(struct Sprite *sprite)
{
- u8 spriteId = sprite->data3;
+ u8 spriteId = sprite->data[3];
s32 var;
- if (sprite->data4 == 1)
- var = sprite->data0;
+ if (sprite->data[4] == 1)
+ var = sprite->data[0];
else
- var = sprite->data0;
+ var = sprite->data[0];
- gSprites[spriteId].pos2.y = Sin(var, sprite->data2) + sprite->data2;
- sprite->data0 = (sprite->data0 + sprite->data1) & 0xFF;
+ gSprites[spriteId].pos2.y = Sin(var, sprite->data[2]) + sprite->data[2];
+ sprite->data[0] = (sprite->data[0] + sprite->data[1]) & 0xFF;
}
void sub_8039E44(struct Sprite *sprite)
@@ -2872,7 +2872,7 @@ void SwitchInClearSetData(void)
&& (gStatuses3[i] & STATUS3_ALWAYS_HITS) != 0
&& (gDisableStructs[i].bankWithSureHit == gActiveBank))
{
- gStatuses3[i] &= ~STATUS3_ALWAYS_HITS;
+ gStatuses3[i] &= ~(STATUS3_ALWAYS_HITS);
gStatuses3[i] |= 0x10;
}
}
@@ -3668,10 +3668,10 @@ static void TryDoEventsBeforeFirstTurn(void)
*(&gBattleStruct->turnEffectsTracker) = 0;
*(&gBattleStruct->turnEffectsBank) = 0;
- *(&gBattleStruct->field_1A0) = 0;
- *(&gBattleStruct->field_1A1) = 0;
+ *(&gBattleStruct->wishPerishSongState) = 0;
+ *(&gBattleStruct->wishPerishSongBank) = 0;
gBattleScripting.atk49_state = 0;
- gBattleStruct->field_4D = 0;
+ gBattleStruct->faintedActionsState = 0;
gBattleStruct->turncountersTracker = 0;
gBattleMoveFlags = 0;
@@ -3701,8 +3701,8 @@ static void HandleEndTurn_ContinueBattle(void)
}
gBattleStruct->turnEffectsTracker = 0;
gBattleStruct->turnEffectsBank = 0;
- gBattleStruct->field_1A0 = 0;
- gBattleStruct->field_1A1 = 0;
+ gBattleStruct->wishPerishSongState = 0;
+ gBattleStruct->wishPerishSongBank = 0;
gBattleStruct->turncountersTracker = 0;
gBattleMoveFlags = 0;
}
@@ -3720,10 +3720,10 @@ void BattleTurnPassed(void)
if (TurnBasedEffects() != 0)
return;
}
- if (sub_8041728() != 0)
+ if (HandleFaintedMonActions() != 0)
return;
- gBattleStruct->field_4D = 0;
- if (sub_8041364() != 0)
+ gBattleStruct->faintedActionsState = 0;
+ if (HandleWishPerishSongOnTurnEnd() != 0)
return;
TurnValuesCleanUp(FALSE);
@@ -4692,7 +4692,7 @@ static void CheckFocusPunch_ClearVarsBeforeTurnStarts(void)
gBattleMainFunc = RunTurnActionsFunctions;
gBattleCommunication[3] = 0;
gBattleCommunication[4] = 0;
- gBattleScripting.field_16 = 0;
+ gBattleScripting.multihitMoveEffect = 0;
gBattleResources->battleScriptsStack->size = 0;
}
@@ -4701,7 +4701,7 @@ static void RunTurnActionsFunctions(void)
if (gBattleOutcome != 0)
gCurrentActionFuncId = 12;
- *(&gBattleStruct->field_4B) = gCurrentTurnActionNumber;
+ *(&gBattleStruct->savedTurnActionNumber) = gCurrentTurnActionNumber;
sTurnActionsFuncsTable[gCurrentActionFuncId]();
if (gCurrentTurnActionNumber >= gNoOfAllBanks) // everyone did their actions, turn finished
@@ -4711,7 +4711,7 @@ static void RunTurnActionsFunctions(void)
}
else
{
- if (gBattleStruct->field_4B != gCurrentTurnActionNumber) // action turn has been done, clear hitmarker bits for another bank
+ if (gBattleStruct->savedTurnActionNumber != gCurrentTurnActionNumber) // action turn has been done, clear hitmarker bits for another bank
{
gHitMarker &= ~(HITMARKER_NO_ATTACKSTRING);
gHitMarker &= ~(HITMARKER_UNABLE_TO_USE_MOVE);
@@ -4729,7 +4729,7 @@ static void HandleEndTurn_BattleWon(void)
gBattleTextBuff1[0] = gBattleOutcome;
gBankAttacker = GetBankByIdentity(IDENTITY_PLAYER_MON1);
gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost;
- gBattleOutcome &= ~(BATTLE_OUTCOME_BIT_x80);
+ gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN);
}
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER
&& gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_x4000000 | BATTLE_TYPE_EREADER_TRAINER))
@@ -4785,16 +4785,16 @@ static void HandleEndTurn_BattleLost(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
{
- if (gBattleOutcome & BATTLE_OUTCOME_BIT_x80)
+ if (gBattleOutcome & OUTCOME_LINK_BATTLE_RUN)
{
- gBattlescriptCurrInstr = BattleScript_82DB9C8;
- gBattleOutcome &= ~(BATTLE_OUTCOME_BIT_x80);
+ gBattlescriptCurrInstr = BattleScript_PrintPlayerForfeitedLinkBattle;
+ gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN);
gSaveBlock2Ptr->field_CA9_b = 1;
}
else
{
gBattlescriptCurrInstr = BattleScript_82DAA0B;
- gBattleOutcome &= ~(BATTLE_OUTCOME_BIT_x80);
+ gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN);
}
}
else
@@ -4802,7 +4802,7 @@ static void HandleEndTurn_BattleLost(void)
gBattleTextBuff1[0] = gBattleOutcome;
gBankAttacker = GetBankByIdentity(IDENTITY_PLAYER_MON1);
gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost;
- gBattleOutcome &= ~(BATTLE_OUTCOME_BIT_x80);
+ gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN);
}
}
else
@@ -4819,13 +4819,13 @@ static void HandleEndTurn_RanFromBattle(void)
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER && gBattleTypeFlags & BATTLE_TYPE_TRAINER)
{
- gBattlescriptCurrInstr = BattleScript_82DB9C1;
+ gBattlescriptCurrInstr = BattleScript_PrintPlayerForfeited;
gBattleOutcome = BATTLE_FORFEITED;
gSaveBlock2Ptr->field_CA9_b = 1;
}
else if (gBattleTypeFlags & BATTLE_TYPE_x4000000)
{
- gBattlescriptCurrInstr = BattleScript_82DB9C1;
+ gBattlescriptCurrInstr = BattleScript_PrintPlayerForfeited;
gBattleOutcome = BATTLE_FORFEITED;
}
else
@@ -5276,7 +5276,7 @@ static void HandleAction_UseItem(void)
}
else if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
{
- gBattlescriptCurrInstr = gUnknown_082DBD3C[0];
+ gBattlescriptCurrInstr = gBattlescriptsForUsingItem[0];
}
else
{
@@ -5332,7 +5332,7 @@ static void HandleAction_UseItem(void)
break;
}
- gBattlescriptCurrInstr = gUnknown_082DBD3C[*(gBattleStruct->AI_itemType + gBankAttacker / 2)];
+ gBattlescriptCurrInstr = gBattlescriptsForUsingItem[*(gBattleStruct->AI_itemType + gBankAttacker / 2)];
}
gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT;
}
@@ -5439,7 +5439,7 @@ static void HandleAction_Run(void)
}
}
- gBattleOutcome |= BATTLE_OUTCOME_BIT_x80;
+ gBattleOutcome |= OUTCOME_LINK_BATTLE_RUN;
gSaveBlock2Ptr->field_CA9_b = 1;
}
else
@@ -5565,9 +5565,9 @@ static void HandleAction_Action9(void)
static void HandleAction_Action11(void)
{
- if (!sub_8041728())
+ if (!HandleFaintedMonActions())
{
- gBattleStruct->field_4D = 0;
+ gBattleStruct->faintedActionsState = 0;
gCurrentActionFuncId = ACTION_FINISHED;
}
}
@@ -5607,6 +5607,6 @@ static void HandleAction_ActionFinished(void)
gBattleScripting.atk49_state = 0;
gBattleCommunication[3] = 0;
gBattleCommunication[4] = 0;
- gBattleScripting.field_16 = 0;
+ gBattleScripting.multihitMoveEffect = 0;
gBattleResources->battleScriptsStack->size = 0;
}
diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c
index 97226f5c9..44be0a4d9 100644
--- a/src/battle_ai_script_commands.c
+++ b/src/battle_ai_script_commands.c
@@ -2,17 +2,16 @@
#include "battle_ai_script_commands.h"
#include "pokemon.h"
#include "battle.h"
-#include "species.h"
-#include "abilities.h"
-#include "rng.h"
+#include "constants/species.h"
+#include "constants/abilities.h"
+#include "random.h"
#include "item.h"
-#include "battle_move_effects.h"
-#include "moves.h"
+#include "constants/battle_move_effects.h"
+#include "constants/moves.h"
#include "util.h"
#define AIScriptRead32(ptr) ((ptr)[0] | (ptr)[1] << 8 | (ptr)[2] << 16 | (ptr)[3] << 24)
#define AIScriptRead16(ptr) ((ptr)[0] | (ptr)[1] << 8)
-#define AIScriptRead8(ptr) ((ptr)[0])
#define AIScriptReadPtr(ptr) (const u8*) AIScriptRead32(ptr)
#define AI_ACTION_DONE 0x0001
diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c
index f5b6c7fe4..b3fccb17f 100644
--- a/src/battle_ai_switch_items.c
+++ b/src/battle_ai_switch_items.c
@@ -1,13 +1,13 @@
#include "global.h"
#include "battle.h"
#include "battle_controllers.h"
-#include "abilities.h"
-#include "moves.h"
+#include "constants/abilities.h"
+#include "constants/moves.h"
#include "pokemon.h"
-#include "species.h"
-#include "rng.h"
+#include "constants/species.h"
+#include "random.h"
#include "util.h"
-#include "items.h"
+#include "constants/items.h"
#include "pokemon_item_effects.h"
extern u8 gActiveBank;
diff --git a/src/battle_anim.c b/src/battle_anim.c
index fa3ac73be..2eec0bed5 100644
--- a/src/battle_anim.c
+++ b/src/battle_anim.c
@@ -423,7 +423,7 @@ static void ScriptCmd_createsprite(void)
if (subpriority < 3)
subpriority = 3;
- CreateSpriteAndAnimate(template, sub_80A5C6C(gAnimBankTarget, 2), sub_80A5C6C(gAnimBankTarget, 3), subpriority);
+ CreateSpriteAndAnimate(template, GetBankPosition(gAnimBankTarget, 2), GetBankPosition(gAnimBankTarget, 3), subpriority);
gAnimVisualTaskCount++;
}
diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c
index 5758aba87..dd8582618 100644
--- a/src/battle_controller_link_opponent.c
+++ b/src/battle_controller_link_opponent.c
@@ -10,7 +10,7 @@
#include "link.h"
#include "util.h"
#include "main.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "sound.h"
#include "window.h"
#include "m4a.h"
@@ -310,14 +310,14 @@ static void sub_8064734(void)
{
bool32 r10 = FALSE;
- if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1)
{
sub_8172EF0(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]);
}
if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)
- && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8
+ && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].ballAnimActive
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x1)
{
@@ -325,7 +325,7 @@ static void sub_8064734(void)
}
- if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8)
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].ballAnimActive)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80)
{
@@ -465,18 +465,18 @@ static void DoHitAnimBlinkSpriteEffect(void)
{
u8 spriteId = gBankSpriteIds[gActiveBank];
- if (gSprites[spriteId].data1 == 32)
+ if (gSprites[spriteId].data[1] == 32)
{
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[1] = 0;
gSprites[spriteId].invisible = 0;
gDoingBattleAnim = FALSE;
LinkOpponentBufferExecCompleted();
}
else
{
- if ((gSprites[spriteId].data1 % 4) == 0)
+ if ((gSprites[spriteId].data[1] % 4) == 0)
gSprites[spriteId].invisible ^= 1;
- gSprites[spriteId].data1++;
+ gSprites[spriteId].data[1]++;
}
}
@@ -527,14 +527,14 @@ static void sub_8064E50(void)
static void sub_8064F40(void)
{
- if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80)
{
sub_8172EF0(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]);
}
if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy
- && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8)
+ && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive)
{
DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]);
SetBankEnemyShadowSpriteCallback(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES));
@@ -1163,12 +1163,12 @@ static void LinkOpponentHandleLoadMonSprite(void)
sub_806A068(species, GetBankIdentity(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
- sub_80A5C6C(gActiveBank, 2),
+ GetBankPosition(gActiveBank, 2),
GetBankSpriteDefault_Y(gActiveBank),
sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = gActiveBank;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = gActiveBank;
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]);
@@ -1197,15 +1197,15 @@ static void sub_8066494(u8 bank, bool8 dontClearSubstituteBit)
gBankSpriteIds[bank] = CreateSprite(
&gUnknown_0202499C,
- sub_80A5C6C(bank, 2),
+ GetBankPosition(bank, 2),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
- gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank];
- gSprites[gUnknown_03005D7C[bank]].data2 = bank;
+ gSprites[gUnknown_03005D7C[bank]].data[1] = gBankSpriteIds[bank];
+ gSprites[gUnknown_03005D7C[bank]].data[2] = bank;
- gSprites[gBankSpriteIds[bank]].data0 = bank;
- gSprites[gBankSpriteIds[bank]].data2 = species;
+ gSprites[gBankSpriteIds[bank]].data[0] = bank;
+ gSprites[gBankSpriteIds[bank]].data[2] = species;
gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank;
StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]);
@@ -1213,7 +1213,7 @@ static void sub_8066494(u8 bank, bool8 dontClearSubstituteBit)
gSprites[gBankSpriteIds[bank]].invisible = TRUE;
gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy;
- gSprites[gUnknown_03005D7C[bank]].data0 = sub_80753E8(0, 0xFE);
+ gSprites[gUnknown_03005D7C[bank]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT);
}
static void LinkOpponentHandleReturnMonToBall(void)
@@ -1334,7 +1334,7 @@ static void LinkOpponentHandleDrawTrainerPic(void)
sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = 2;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = 2;
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam = trainerPicId;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC;
@@ -1357,7 +1357,7 @@ static void LinkOpponentHandleTrainerSlide(void)
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 96;
gSprites[gBankSpriteIds[gActiveBank]].pos1.x += 32;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = -2;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2;
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam = trainerPicId;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC;
@@ -1369,9 +1369,9 @@ static void LinkOpponentHandleTrainerSlide(void)
static void LinkOpponentHandleTrainerSlideBack(void)
{
oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]);
- gSprites[gBankSpriteIds[gActiveBank]].data0 = 35;
- gSprites[gBankSpriteIds[gActiveBank]].data2 = 280;
- gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35;
+ gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280;
+ gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC;
StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy);
gBattleBankFunc[gActiveBank] = sub_8064470;
@@ -1670,7 +1670,7 @@ static void LinkOpponentHandleHitAnimation(void)
else
{
gDoingBattleAnim = TRUE;
- gSprites[gBankSpriteIds[gActiveBank]].data1 = 0;
+ gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0;
DoHitAnimHealthboxEffect(gActiveBank);
gBattleBankFunc[gActiveBank] = DoHitAnimBlinkSpriteEffect;
}
@@ -1731,9 +1731,9 @@ static void LinkOpponentHandleIntroTrainerBallThrow(void)
oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]);
- gSprites[gBankSpriteIds[gActiveBank]].data0 = 35;
- gSprites[gBankSpriteIds[gActiveBank]].data2 = 280;
- gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35;
+ gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280;
+ gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC;
StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], sub_80676FC);
diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c
index 1af6da1cd..9da468761 100644
--- a/src/battle_controller_link_partner.c
+++ b/src/battle_controller_link_partner.c
@@ -10,7 +10,7 @@
#include "link.h"
#include "util.h"
#include "main.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "sound.h"
#include "window.h"
#include "m4a.h"
@@ -267,8 +267,8 @@ static void sub_814B004(void)
static void sub_814B0E8(void)
{
- if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8
- && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive
+ && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].ballAnimActive
&& gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy
&& gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy
&& ++gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 != 1)
@@ -352,18 +352,18 @@ static void DoHitAnimBlinkSpriteEffect(void)
{
u8 spriteId = gBankSpriteIds[gActiveBank];
- if (gSprites[spriteId].data1 == 32)
+ if (gSprites[spriteId].data[1] == 32)
{
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[1] = 0;
gSprites[spriteId].invisible = 0;
gDoingBattleAnim = FALSE;
LinkPartnerBufferExecCompleted();
}
else
{
- if ((gSprites[spriteId].data1 % 4) == 0)
+ if ((gSprites[spriteId].data[1] % 4) == 0)
gSprites[spriteId].invisible ^= 1;
- gSprites[spriteId].data1++;
+ gSprites[spriteId].data[1]++;
}
}
@@ -412,13 +412,13 @@ static void sub_814B5A8(void)
static void sub_814B69C(void)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80
- && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8)
+ && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive)
{
sub_8172EF0(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]);
}
if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy
- && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8)
+ && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive)
{
DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]);
gBattleBankFunc[gActiveBank] = sub_814B5A8;
@@ -1049,11 +1049,11 @@ static void LinkPartnerHandleLoadMonSprite(void)
sub_806A068(species, GetBankIdentity(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
- sub_80A5C6C(gActiveBank, 2),
+ GetBankPosition(gActiveBank, 2),
GetBankSpriteDefault_Y(gActiveBank),
sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = gActiveBank;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = gActiveBank;
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]);
gBattleBankFunc[gActiveBank] = sub_814B290;
@@ -1080,15 +1080,15 @@ static void sub_814CC98(u8 bank, bool8 dontClearSubstituteBit)
gBankSpriteIds[bank] = CreateSprite(
&gUnknown_0202499C,
- sub_80A5C6C(bank, 2),
+ GetBankPosition(bank, 2),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
- gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank];
- gSprites[gUnknown_03005D7C[bank]].data2 = bank;
+ gSprites[gUnknown_03005D7C[bank]].data[1] = gBankSpriteIds[bank];
+ gSprites[gUnknown_03005D7C[bank]].data[2] = bank;
- gSprites[gBankSpriteIds[bank]].data0 = bank;
- gSprites[gBankSpriteIds[bank]].data2 = species;
+ gSprites[gBankSpriteIds[bank]].data[0] = bank;
+ gSprites[gBankSpriteIds[bank]].data[2] = species;
gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank;
StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]);
@@ -1096,7 +1096,7 @@ static void sub_814CC98(u8 bank, bool8 dontClearSubstituteBit)
gSprites[gBankSpriteIds[bank]].invisible = TRUE;
gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy;
- gSprites[gUnknown_03005D7C[bank]].data0 = sub_80753E8(0, 0xFF);
+ gSprites[gUnknown_03005D7C[bank]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT);
}
static void LinkPartnerHandleReturnMonToBall(void)
@@ -1174,7 +1174,7 @@ static void LinkPartnerHandleDrawTrainerPic(void)
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = -2;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC;
gBattleBankFunc[gActiveBank] = CompleteOnBankSpriteCallbackDummy;
@@ -1188,9 +1188,9 @@ static void LinkPartnerHandleTrainerSlide(void)
static void LinkPartnerHandleTrainerSlideBack(void)
{
oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]);
- gSprites[gBankSpriteIds[gActiveBank]].data0 = 35;
- gSprites[gBankSpriteIds[gActiveBank]].data2 = -40;
- gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35;
+ gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40;
+ gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC;
StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy);
gBattleBankFunc[gActiveBank] = sub_814AF54;
@@ -1211,8 +1211,8 @@ static void LinkPartnerHandleFaintAnimation(void)
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_PLAYER);
- gSprites[gBankSpriteIds[gActiveBank]].data1 = 0;
- gSprites[gBankSpriteIds[gActiveBank]].data2 = 5;
+ gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0;
+ gSprites[gBankSpriteIds[gActiveBank]].data[2] = 5;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8039C00;
gBattleBankFunc[gActiveBank] = sub_814B340;
}
@@ -1492,7 +1492,7 @@ static void LinkPartnerHandleHitAnimation(void)
else
{
gDoingBattleAnim = TRUE;
- gSprites[gBankSpriteIds[gActiveBank]].data1 = 0;
+ gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0;
DoHitAnimHealthboxEffect(gActiveBank);
gBattleBankFunc[gActiveBank] = DoHitAnimBlinkSpriteEffect;
}
@@ -1554,11 +1554,11 @@ static void LinkPartnerHandleIntroTrainerBallThrow(void)
oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]);
- gSprites[gBankSpriteIds[gActiveBank]].data0 = 50;
- gSprites[gBankSpriteIds[gActiveBank]].data2 = -40;
- gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50;
+ gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40;
+ gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC;
- gSprites[gBankSpriteIds[gActiveBank]].data5 = gActiveBank;
+ gSprites[gBankSpriteIds[gActiveBank]].data[5] = gActiveBank;
StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], sub_805CC00);
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1);
diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c
index d69de8c29..0862e72a7 100644
--- a/src/battle_controller_opponent.c
+++ b/src/battle_controller_opponent.c
@@ -11,10 +11,10 @@
#include "util.h"
#include "main.h"
#include "item.h"
-#include "items.h"
-#include "songs.h"
+#include "constants/items.h"
+#include "constants/songs.h"
#include "sound.h"
-#include "moves.h"
+#include "constants/moves.h"
#include "window.h"
#include "m4a.h"
#include "palette.h"
@@ -23,7 +23,7 @@
#include "string_util.h"
#include "bg.h"
#include "reshow_battle_screen.h"
-#include "rng.h"
+#include "random.h"
#include "pokeball.h"
#include "data2.h"
@@ -318,11 +318,11 @@ static void sub_805F560(void)
bool32 sp = FALSE;
bool32 r10 = FALSE;
- if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1)
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x1)
sub_8172EF0(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]);
- if (!(gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI) && IsDoubleBattle() && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x1)
+ if (!(gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI) && IsDoubleBattle() && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].field_1_x1)
sub_8172EF0(gActiveBank ^ BIT_MON, &gEnemyParty[gBattlePartyID[gActiveBank ^ BIT_MON]]);
- if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8)
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].ballAnimActive)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80)
{
@@ -453,18 +453,18 @@ static void DoHitAnimBlinkSpriteEffect(void)
{
u8 spriteId = gBankSpriteIds[gActiveBank];
- if (gSprites[spriteId].data1 == 32)
+ if (gSprites[spriteId].data[1] == 32)
{
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[1] = 0;
gSprites[spriteId].invisible = 0;
gDoingBattleAnim = FALSE;
OpponentBufferExecCompleted();
}
else
{
- if ((gSprites[spriteId].data1 % 4) == 0)
+ if ((gSprites[spriteId].data[1] % 4) == 0)
gSprites[spriteId].invisible ^= 1;
- gSprites[spriteId].data1++;
+ gSprites[spriteId].data[1]++;
}
}
@@ -509,11 +509,11 @@ static void sub_805FD00(void)
static void sub_805FDF0(void)
{
- if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8)
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive)
sub_8172EF0(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]);
if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy
- && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8)
+ && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive)
{
DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]);
SetBankEnemyShadowSpriteCallback(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES));
@@ -1151,13 +1151,13 @@ static void OpponentHandleLoadMonSprite(void)
sub_806A068(species, GetBankIdentity(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
- sub_80A5C6C(gActiveBank, 2),
+ GetBankPosition(gActiveBank, 2),
GetBankSpriteDefault_Y(gActiveBank),
sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = gActiveBank;
- gSprites[gBankSpriteIds[gActiveBank]].data2 = species;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = gActiveBank;
+ gSprites[gBankSpriteIds[gActiveBank]].data[2] = species;
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]);
@@ -1186,15 +1186,15 @@ static void sub_80613DC(u8 bank, bool8 dontClearSubstituteBit)
sub_806A068(species, GetBankIdentity(bank));
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C,
- sub_80A5C6C(bank, 2),
+ GetBankPosition(bank, 2),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
- gSprites[gBankSpriteIds[bank]].data0 = bank;
- gSprites[gBankSpriteIds[bank]].data2 = species;
+ gSprites[gBankSpriteIds[bank]].data[0] = bank;
+ gSprites[gBankSpriteIds[bank]].data[2] = species;
- gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank];
- gSprites[gUnknown_03005D7C[bank]].data2 = bank;
+ gSprites[gUnknown_03005D7C[bank]].data[1] = gBankSpriteIds[bank];
+ gSprites[gUnknown_03005D7C[bank]].data[2] = bank;
gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank;
@@ -1203,7 +1203,7 @@ static void sub_80613DC(u8 bank, bool8 dontClearSubstituteBit)
gSprites[gBankSpriteIds[bank]].invisible = TRUE;
gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy;
- gSprites[gUnknown_03005D7C[bank]].data0 = sub_80753E8(0, 0xFE);
+ gSprites[gUnknown_03005D7C[bank]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT);
}
static void OpponentHandleReturnMonToBall(void)
@@ -1321,7 +1321,7 @@ static void OpponentHandleDrawTrainerPic(void)
sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = 2;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = 2;
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam = trainerPicId;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC;
@@ -1391,7 +1391,7 @@ static void OpponentHandleTrainerSlide(void)
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 96;
gSprites[gBankSpriteIds[gActiveBank]].pos1.x += 32;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = -2;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2;
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam = trainerPicId;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC;
@@ -1402,9 +1402,9 @@ static void OpponentHandleTrainerSlide(void)
static void OpponentHandleTrainerSlideBack(void)
{
oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]);
- gSprites[gBankSpriteIds[gActiveBank]].data0 = 35;
- gSprites[gBankSpriteIds[gActiveBank]].data2 = 280;
- gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35;
+ gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280;
+ gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC;
StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy);
gBattleBankFunc[gActiveBank] = sub_805F240;
@@ -1815,7 +1815,7 @@ static void OpponentHandleHitAnimation(void)
else
{
gDoingBattleAnim = TRUE;
- gSprites[gBankSpriteIds[gActiveBank]].data1 = 0;
+ gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0;
DoHitAnimHealthboxEffect(gActiveBank);
gBattleBankFunc[gActiveBank] = DoHitAnimBlinkSpriteEffect;
}
@@ -1876,9 +1876,9 @@ static void OpponentHandleIntroTrainerBallThrow(void)
oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]);
- gSprites[gBankSpriteIds[gActiveBank]].data0 = 35;
- gSprites[gBankSpriteIds[gActiveBank]].data2 = 280;
- gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35;
+ gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280;
+ gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC;
StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], sub_806280C);
diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c
index 7ea2abccf..e497dbfe2 100644
--- a/src/battle_controller_player.c
+++ b/src/battle_controller_player.c
@@ -10,10 +10,10 @@
#include "util.h"
#include "main.h"
#include "item.h"
-#include "items.h"
-#include "songs.h"
+#include "constants/items.h"
+#include "constants/songs.h"
#include "sound.h"
-#include "moves.h"
+#include "constants/moves.h"
#include "window.h"
#include "m4a.h"
#include "palette.h"
@@ -22,7 +22,7 @@
#include "string_util.h"
#include "bg.h"
#include "reshow_battle_screen.h"
-#include "rng.h"
+#include "random.h"
#include "pokeball.h"
#include "data2.h"
@@ -1023,12 +1023,12 @@ static void sub_8058B40(void)
bool32 r9 = FALSE;
bool32 r8 = FALSE;
- if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8)
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive)
sub_8172EF0(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]);
- if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8)
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].ballAnimActive)
sub_8172EF0(gActiveBank ^ BIT_MON, &gPlayerParty[gBattlePartyID[gActiveBank ^ BIT_MON]]);
- if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8)
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].ballAnimActive)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80)
{
@@ -1127,13 +1127,13 @@ static void sub_8058FC0(void)
static void sub_805902C(void)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80
- && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8)
+ && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive)
{
sub_8172EF0(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]);
}
if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy
- && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8)
+ && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive)
{
DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]);
UpdateHealthboxAttribute(gHealthBoxesIds[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], HEALTHBOX_ALL);
@@ -1431,18 +1431,18 @@ static void DoHitAnimBlinkSpriteEffect(void)
{
u8 spriteId = gBankSpriteIds[gActiveBank];
- if (gSprites[spriteId].data1 == 32)
+ if (gSprites[spriteId].data[1] == 32)
{
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[1] = 0;
gSprites[spriteId].invisible = 0;
gDoingBattleAnim = FALSE;
PlayerBufferExecCompleted();
}
else
{
- if ((gSprites[spriteId].data1 % 4) == 0)
+ if ((gSprites[spriteId].data[1] % 4) == 0)
gSprites[spriteId].invisible ^= 1;
- gSprites[spriteId].data1++;
+ gSprites[spriteId].data[1]++;
}
}
@@ -2237,15 +2237,15 @@ static void sub_805B258(u8 bank, bool8 dontClearSubstituteBit)
gBankSpriteIds[bank] = CreateSprite(
&gUnknown_0202499C,
- sub_80A5C6C(bank, 2),
+ GetBankPosition(bank, 2),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
- gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank];
- gSprites[gUnknown_03005D7C[bank]].data2 = bank;
+ gSprites[gUnknown_03005D7C[bank]].data[1] = gBankSpriteIds[bank];
+ gSprites[gUnknown_03005D7C[bank]].data[2] = bank;
- gSprites[gBankSpriteIds[bank]].data0 = bank;
- gSprites[gBankSpriteIds[bank]].data2 = species;
+ gSprites[gBankSpriteIds[bank]].data[0] = bank;
+ gSprites[gBankSpriteIds[bank]].data[2] = species;
gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank;
StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]);
@@ -2253,7 +2253,7 @@ static void sub_805B258(u8 bank, bool8 dontClearSubstituteBit)
gSprites[gBankSpriteIds[bank]].invisible = TRUE;
gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy;
- gSprites[gUnknown_03005D7C[bank]].data0 = sub_80753E8(0, 0xFF);
+ gSprites[gUnknown_03005D7C[bank]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT);
}
static void PlayerHandleReturnMonToBall(void)
@@ -2358,7 +2358,7 @@ static void PlayerHandleDrawTrainerPic(void)
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240;
gSprites[gBankSpriteIds[gActiveBank]].pos2.y = 48;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = -2;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC;
gSprites[gBankSpriteIds[gActiveBank]].oam.affineMode = 0;
gSprites[gBankSpriteIds[gActiveBank]].hFlip = 1;
@@ -2372,7 +2372,7 @@ static void PlayerHandleDrawTrainerPic(void)
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = -2;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC;
}
@@ -2411,7 +2411,7 @@ static void PlayerHandleTrainerSlide(void)
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -96;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = 2;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = 2;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC;
gBattleBankFunc[gActiveBank] = CompleteOnBankSpriteCallbackDummy2;
@@ -2420,9 +2420,9 @@ static void PlayerHandleTrainerSlide(void)
static void PlayerHandleTrainerSlideBack(void)
{
oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]);
- gSprites[gBankSpriteIds[gActiveBank]].data0 = 50;
- gSprites[gBankSpriteIds[gActiveBank]].data2 = -40;
- gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50;
+ gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40;
+ gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC;
StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy);
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1);
@@ -2444,8 +2444,8 @@ static void PlayerHandleFaintAnimation(void)
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_PLAYER);
- gSprites[gBankSpriteIds[gActiveBank]].data1 = 0;
- gSprites[gBankSpriteIds[gActiveBank]].data2 = 5;
+ gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0;
+ gSprites[gBankSpriteIds[gActiveBank]].data[2] = 5;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8039C00;
gBattleBankFunc[gActiveBank] = sub_80596A8;
}
@@ -2902,7 +2902,7 @@ static void PlayerHandleHitAnimation(void)
else
{
gDoingBattleAnim = TRUE;
- gSprites[gBankSpriteIds[gActiveBank]].data1 = 0;
+ gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0;
DoHitAnimHealthboxEffect(gActiveBank);
gBattleBankFunc[gActiveBank] = DoHitAnimBlinkSpriteEffect;
}
@@ -2963,11 +2963,11 @@ static void PlayerHandleIntroTrainerBallThrow(void)
oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]);
- gSprites[gBankSpriteIds[gActiveBank]].data0 = 50;
- gSprites[gBankSpriteIds[gActiveBank]].data2 = -40;
- gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50;
+ gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40;
+ gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC;
- gSprites[gBankSpriteIds[gActiveBank]].data5 = gActiveBank;
+ gSprites[gBankSpriteIds[gActiveBank]].data[5] = gActiveBank;
StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], sub_805CC00);
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1);
@@ -2988,7 +2988,7 @@ static void PlayerHandleIntroTrainerBallThrow(void)
void sub_805CC00(struct Sprite *sprite)
{
- u8 bank = sprite->data5;
+ u8 bank = sprite->data[5];
FreeSpriteOamMatrix(sprite);
FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(sprite->oam.paletteNum));
diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c
index 4cca5c002..eb57297da 100644
--- a/src/battle_controller_player_partner.c
+++ b/src/battle_controller_player_partner.c
@@ -9,7 +9,7 @@
#include "link.h"
#include "util.h"
#include "main.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "sound.h"
#include "window.h"
#include "m4a.h"
@@ -282,8 +282,8 @@ static void sub_81BAF48(void)
static void sub_81BB02C(void)
{
- if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8
- && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive
+ && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].ballAnimActive
&& gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy
&& gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy
&& ++gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_9 != 1)
@@ -539,18 +539,18 @@ static void DoHitAnimBlinkSpriteEffect(void)
{
u8 spriteId = gBankSpriteIds[gActiveBank];
- if (gSprites[spriteId].data1 == 32)
+ if (gSprites[spriteId].data[1] == 32)
{
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[1] = 0;
gSprites[spriteId].invisible = 0;
gDoingBattleAnim = FALSE;
PlayerPartnerBufferExecCompleted();
}
else
{
- if ((gSprites[spriteId].data1 % 4) == 0)
+ if ((gSprites[spriteId].data[1] % 4) == 0)
gSprites[spriteId].invisible ^= 1;
- gSprites[spriteId].data1++;
+ gSprites[spriteId].data[1]++;
}
}
@@ -599,13 +599,13 @@ static void sub_81BB9F4(void)
static void sub_81BBAE8(void)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80
- && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8)
+ && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive)
{
sub_8172EF0(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]);
}
if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy
- && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8)
+ && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive)
{
DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]);
gBattleBankFunc[gActiveBank] = sub_81BB9F4;
@@ -1236,11 +1236,11 @@ static void PlayerPartnerHandleLoadMonSprite(void)
sub_806A068(species, GetBankIdentity(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
- sub_80A5C6C(gActiveBank, 2),
+ GetBankPosition(gActiveBank, 2),
GetBankSpriteDefault_Y(gActiveBank),
sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = gActiveBank;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = gActiveBank;
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]);
gBattleBankFunc[gActiveBank] = sub_81BB1D4;
@@ -1267,15 +1267,15 @@ static void sub_81BD0E4(u8 bank, bool8 dontClearSubstituteBit)
gBankSpriteIds[bank] = CreateSprite(
&gUnknown_0202499C,
- sub_80A5C6C(bank, 2),
+ GetBankPosition(bank, 2),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
- gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank];
- gSprites[gUnknown_03005D7C[bank]].data2 = bank;
+ gSprites[gUnknown_03005D7C[bank]].data[1] = gBankSpriteIds[bank];
+ gSprites[gUnknown_03005D7C[bank]].data[2] = bank;
- gSprites[gBankSpriteIds[bank]].data0 = bank;
- gSprites[gBankSpriteIds[bank]].data2 = species;
+ gSprites[gBankSpriteIds[bank]].data[0] = bank;
+ gSprites[gBankSpriteIds[bank]].data[2] = species;
gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank;
StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]);
@@ -1283,7 +1283,7 @@ static void sub_81BD0E4(u8 bank, bool8 dontClearSubstituteBit)
gSprites[gBankSpriteIds[bank]].invisible = TRUE;
gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy;
- gSprites[gUnknown_03005D7C[bank]].data0 = sub_80753E8(0, 0xFF);
+ gSprites[gUnknown_03005D7C[bank]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT);
}
static void PlayerPartnerHandleReturnMonToBall(void)
@@ -1353,7 +1353,7 @@ static void PlayerPartnerHandleDrawTrainerPic(void)
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = -2;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC;
}
else // otherwise use front sprite
@@ -1365,7 +1365,7 @@ static void PlayerPartnerHandleDrawTrainerPic(void)
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240;
gSprites[gBankSpriteIds[gActiveBank]].pos2.y = 48;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = -2;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC;
gSprites[gBankSpriteIds[gActiveBank]].oam.affineMode = 0;
gSprites[gBankSpriteIds[gActiveBank]].hFlip = 1;
@@ -1382,9 +1382,9 @@ static void PlayerPartnerHandleTrainerSlide(void)
static void PlayerPartnerHandleTrainerSlideBack(void)
{
oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]);
- gSprites[gBankSpriteIds[gActiveBank]].data0 = 35;
- gSprites[gBankSpriteIds[gActiveBank]].data2 = -40;
- gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35;
+ gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40;
+ gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC;
StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy);
gBattleBankFunc[gActiveBank] = sub_81BAE98;
@@ -1405,8 +1405,8 @@ static void PlayerPartnerHandleFaintAnimation(void)
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_PLAYER);
- gSprites[gBankSpriteIds[gActiveBank]].data1 = 0;
- gSprites[gBankSpriteIds[gActiveBank]].data2 = 5;
+ gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0;
+ gSprites[gBankSpriteIds[gActiveBank]].data[2] = 5;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8039C00;
gBattleBankFunc[gActiveBank] = sub_81BB78C;
}
@@ -1745,7 +1745,7 @@ static void PlayerPartnerHandleHitAnimation(void)
else
{
gDoingBattleAnim = TRUE;
- gSprites[gBankSpriteIds[gActiveBank]].data1 = 0;
+ gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0;
DoHitAnimHealthboxEffect(gActiveBank);
gBattleBankFunc[gActiveBank] = DoHitAnimBlinkSpriteEffect;
}
@@ -1806,11 +1806,11 @@ static void PlayerPartnerHandleIntroTrainerBallThrow(void)
oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]);
- gSprites[gBankSpriteIds[gActiveBank]].data0 = 50;
- gSprites[gBankSpriteIds[gActiveBank]].data2 = -40;
- gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50;
+ gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40;
+ gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC;
- gSprites[gBankSpriteIds[gActiveBank]].data5 = gActiveBank;
+ gSprites[gBankSpriteIds[gActiveBank]].data[5] = gActiveBank;
StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], sub_805CC00);
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1);
diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c
index 027230be4..8e2f31879 100644
--- a/src/battle_controller_recorded_opponent.c
+++ b/src/battle_controller_recorded_opponent.c
@@ -11,7 +11,7 @@
#include "link.h"
#include "util.h"
#include "main.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "sound.h"
#include "window.h"
#include "m4a.h"
@@ -298,12 +298,12 @@ static void sub_818686C(void)
bool32 r9 = FALSE;
bool32 r8 = FALSE;
- if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8)
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive)
sub_8172EF0(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]);
- if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8)
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].ballAnimActive)
sub_8172EF0(gActiveBank ^ BIT_MON, &gEnemyParty[gBattlePartyID[gActiveBank ^ BIT_MON]]);
- if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8)
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].ballAnimActive)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80)
{
@@ -449,18 +449,18 @@ static void DoHitAnimBlinkSpriteEffect(void)
{
u8 spriteId = gBankSpriteIds[gActiveBank];
- if (gSprites[spriteId].data1 == 32)
+ if (gSprites[spriteId].data[1] == 32)
{
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[1] = 0;
gSprites[spriteId].invisible = 0;
gDoingBattleAnim = FALSE;
RecordedOpponentBufferExecCompleted();
}
else
{
- if ((gSprites[spriteId].data1 % 4) == 0)
+ if ((gSprites[spriteId].data[1] % 4) == 0)
gSprites[spriteId].invisible ^= 1;
- gSprites[spriteId].data1++;
+ gSprites[spriteId].data[1]++;
}
}
@@ -512,14 +512,14 @@ static void sub_8186F94(void)
static void sub_8187084(void)
{
- if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80)
{
sub_8172EF0(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]);
}
if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy
- && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8)
+ && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive)
{
DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]);
SetBankEnemyShadowSpriteCallback(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES));
@@ -1148,14 +1148,14 @@ static void RecordedOpponentHandleLoadMonSprite(void)
sub_806A068(species, GetBankIdentity(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
- sub_80A5C6C(gActiveBank, 2),
+ GetBankPosition(gActiveBank, 2),
GetBankSpriteDefault_Y(gActiveBank),
sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = gActiveBank;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = gActiveBank;
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]);
@@ -1183,15 +1183,15 @@ static void sub_81885D8(u8 bank, bool8 dontClearSubstituteBit)
sub_806A068(species, GetBankIdentity(bank));
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C,
- sub_80A5C6C(bank, 2),
+ GetBankPosition(bank, 2),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
- gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank];
- gSprites[gUnknown_03005D7C[bank]].data2 = bank;
+ gSprites[gUnknown_03005D7C[bank]].data[1] = gBankSpriteIds[bank];
+ gSprites[gUnknown_03005D7C[bank]].data[2] = bank;
- gSprites[gBankSpriteIds[bank]].data0 = bank;
- gSprites[gBankSpriteIds[bank]].data2 = species;
+ gSprites[gBankSpriteIds[bank]].data[0] = bank;
+ gSprites[gBankSpriteIds[bank]].data[2] = species;
gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank;
StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]);
@@ -1199,7 +1199,7 @@ static void sub_81885D8(u8 bank, bool8 dontClearSubstituteBit)
gSprites[gBankSpriteIds[bank]].invisible = TRUE;
gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy;
- gSprites[gUnknown_03005D7C[bank]].data0 = sub_80753E8(0, 0xFE);
+ gSprites[gUnknown_03005D7C[bank]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT);
}
static void RecordedOpponentHandleReturnMonToBall(void)
@@ -1285,7 +1285,7 @@ static void RecordedOpponentHandleDrawTrainerPic(void)
sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = 2;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = 2;
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam = trainerPicId;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC;
@@ -1301,9 +1301,9 @@ static void RecordedOpponentHandleTrainerSlide(void)
static void RecordedOpponentHandleTrainerSlideBack(void)
{
oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]);
- gSprites[gBankSpriteIds[gActiveBank]].data0 = 35;
- gSprites[gBankSpriteIds[gActiveBank]].data2 = 280;
- gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35;
+ gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280;
+ gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC;
StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy);
gBattleBankFunc[gActiveBank] = sub_81865C8;
@@ -1614,7 +1614,7 @@ static void RecordedOpponentHandleHitAnimation(void)
else
{
gDoingBattleAnim = TRUE;
- gSprites[gBankSpriteIds[gActiveBank]].data1 = 0;
+ gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0;
DoHitAnimHealthboxEffect(gActiveBank);
gBattleBankFunc[gActiveBank] = DoHitAnimBlinkSpriteEffect;
}
@@ -1675,9 +1675,9 @@ static void RecordedOpponentHandleIntroTrainerBallThrow(void)
oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]);
- gSprites[gBankSpriteIds[gActiveBank]].data0 = 35;
- gSprites[gBankSpriteIds[gActiveBank]].data2 = 280;
- gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35;
+ gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280;
+ gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC;
StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], sub_818962C);
diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c
index f5f3ab3c0..f558fde87 100644
--- a/src/battle_controller_recorded_player.c
+++ b/src/battle_controller_recorded_player.c
@@ -10,7 +10,7 @@
#include "link.h"
#include "util.h"
#include "main.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "sound.h"
#include "window.h"
#include "m4a.h"
@@ -314,19 +314,19 @@ static void sub_8189D40(void)
if (GetBankIdentity(gActiveBank) == IDENTITY_PLAYER_MON1)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80
- && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8)
+ && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive)
{
sub_8172EF0(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]);
}
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80
- && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8)
+ && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].ballAnimActive)
{
sub_8172EF0(gActiveBank ^ BIT_MON, &gPlayerParty[gBattlePartyID[gActiveBank ^ BIT_MON]]);
}
}
- if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8
- && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8)
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive
+ && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].ballAnimActive)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].field_1_x80)
{
@@ -437,18 +437,18 @@ static void DoHitAnimBlinkSpriteEffect(void)
{
u8 spriteId = gBankSpriteIds[gActiveBank];
- if (gSprites[spriteId].data1 == 32)
+ if (gSprites[spriteId].data[1] == 32)
{
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[1] = 0;
gSprites[spriteId].invisible = 0;
gDoingBattleAnim = FALSE;
RecordedPlayerBufferExecCompleted();
}
else
{
- if ((gSprites[spriteId].data1 % 4) == 0)
+ if ((gSprites[spriteId].data[1] % 4) == 0)
gSprites[spriteId].invisible ^= 1;
- gSprites[spriteId].data1++;
+ gSprites[spriteId].data[1]++;
}
}
@@ -497,13 +497,13 @@ static void sub_818A37C(void)
static void sub_818A470(void)
{
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80
- && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8)
+ && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive)
{
sub_8172EF0(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]);
}
if (gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy
- && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8)
+ && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive)
{
DestroySprite(&gSprites[gUnknown_03005D7C[gActiveBank]]);
gBattleBankFunc[gActiveBank] = sub_818A37C;
@@ -1134,11 +1134,11 @@ static void RecordedPlayerHandleLoadMonSprite(void)
sub_806A068(species, GetBankIdentity(gActiveBank));
gBankSpriteIds[gActiveBank] = CreateSprite(&gUnknown_0202499C,
- sub_80A5C6C(gActiveBank, 2),
+ GetBankPosition(gActiveBank, 2),
GetBankSpriteDefault_Y(gActiveBank),
sub_80A82E4(gActiveBank));
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = gActiveBank;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = gActiveBank;
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]);
gBattleBankFunc[gActiveBank] = sub_818A064;
@@ -1165,15 +1165,15 @@ static void sub_818BA6C(u8 bank, bool8 dontClearSubstituteBit)
gBankSpriteIds[bank] = CreateSprite(
&gUnknown_0202499C,
- sub_80A5C6C(bank, 2),
+ GetBankPosition(bank, 2),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
- gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank];
- gSprites[gUnknown_03005D7C[bank]].data2 = bank;
+ gSprites[gUnknown_03005D7C[bank]].data[1] = gBankSpriteIds[bank];
+ gSprites[gUnknown_03005D7C[bank]].data[2] = bank;
- gSprites[gBankSpriteIds[bank]].data0 = bank;
- gSprites[gBankSpriteIds[bank]].data2 = species;
+ gSprites[gBankSpriteIds[bank]].data[0] = bank;
+ gSprites[gBankSpriteIds[bank]].data[2] = species;
gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank;
StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]);
@@ -1181,7 +1181,7 @@ static void sub_818BA6C(u8 bank, bool8 dontClearSubstituteBit)
gSprites[gBankSpriteIds[bank]].invisible = TRUE;
gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy;
- gSprites[gUnknown_03005D7C[bank]].data0 = sub_80753E8(0, 0xFF);
+ gSprites[gUnknown_03005D7C[bank]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT);
}
static void RecordedPlayerHandleReturnMonToBall(void)
@@ -1272,7 +1272,7 @@ static void RecordedPlayerHandleDrawTrainerPic(void)
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240;
gSprites[gBankSpriteIds[gActiveBank]].pos2.y = 48;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = -2;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC;
gSprites[gBankSpriteIds[gActiveBank]].oam.affineMode = 0;
gSprites[gBankSpriteIds[gActiveBank]].hFlip = 1;
@@ -1285,7 +1285,7 @@ static void RecordedPlayerHandleDrawTrainerPic(void)
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = -2;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC;
}
@@ -1300,9 +1300,9 @@ static void RecordedPlayerHandleTrainerSlide(void)
static void RecordedPlayerHandleTrainerSlideBack(void)
{
oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]);
- gSprites[gBankSpriteIds[gActiveBank]].data0 = 35;
- gSprites[gBankSpriteIds[gActiveBank]].data2 = -40;
- gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35;
+ gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40;
+ gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC;
StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy);
gBattleBankFunc[gActiveBank] = sub_81899F0;
@@ -1323,8 +1323,8 @@ static void RecordedPlayerHandleFaintAnimation(void)
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].animationState = 0;
HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank);
PlaySE12WithPanning(SE_POKE_DEAD, -64);
- gSprites[gBankSpriteIds[gActiveBank]].data1 = 0;
- gSprites[gBankSpriteIds[gActiveBank]].data2 = 5;
+ gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0;
+ gSprites[gBankSpriteIds[gActiveBank]].data[2] = 5;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8039C00;
gBattleBankFunc[gActiveBank] = sub_818A114;
}
@@ -1633,7 +1633,7 @@ static void RecordedPlayerHandleHitAnimation(void)
else
{
gDoingBattleAnim = TRUE;
- gSprites[gBankSpriteIds[gActiveBank]].data1 = 0;
+ gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0;
DoHitAnimHealthboxEffect(gActiveBank);
gBattleBankFunc[gActiveBank] = DoHitAnimBlinkSpriteEffect;
}
@@ -1695,11 +1695,11 @@ static void RecordedPlayerHandleIntroTrainerBallThrow(void)
oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]);
- gSprites[gBankSpriteIds[gActiveBank]].data0 = 50;
- gSprites[gBankSpriteIds[gActiveBank]].data2 = -40;
- gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50;
+ gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40;
+ gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC;
- gSprites[gBankSpriteIds[gActiveBank]].data5 = gActiveBank;
+ gSprites[gBankSpriteIds[gActiveBank]].data[5] = gActiveBank;
StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], sub_805CC00);
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1);
diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c
index 635f5fef1..db4670523 100644
--- a/src/battle_controller_safari.c
+++ b/src/battle_controller_safari.c
@@ -8,7 +8,7 @@
#include "link.h"
#include "util.h"
#include "main.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "sound.h"
#include "window.h"
#include "m4a.h"
@@ -384,7 +384,7 @@ static void SafariHandleDrawTrainerPic(void)
30);
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = -2;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC;
gBattleBankFunc[gActiveBank] = CompleteOnBankSpriteCallbackDummy;
}
diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c
index 442e32cca..446027944 100644
--- a/src/battle_controller_wally.c
+++ b/src/battle_controller_wally.c
@@ -10,10 +10,10 @@
#include "util.h"
#include "main.h"
#include "item.h"
-#include "items.h"
-#include "songs.h"
+#include "constants/items.h"
+#include "constants/songs.h"
#include "sound.h"
-#include "moves.h"
+#include "constants/moves.h"
#include "window.h"
#include "m4a.h"
#include "palette.h"
@@ -22,7 +22,7 @@
#include "string_util.h"
#include "bg.h"
#include "reshow_battle_screen.h"
-#include "rng.h"
+#include "random.h"
#include "pokeball.h"
#include "data2.h"
#include "party_menu.h"
@@ -321,13 +321,13 @@ static void CompleteOnChosenItem(void)
static void sub_816864C(void)
{
- if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8)
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive)
sub_8172EF0(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]);
- if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8)
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].ballAnimActive)
sub_8172EF0(gActiveBank ^ BIT_MON, &gPlayerParty[gBattlePartyID[gActiveBank ^ BIT_MON]]);
- if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].flag_x8
- && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].flag_x8
+ if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive
+ && !gBattleSpritesDataPtr->healthBoxesData[gActiveBank ^ BIT_MON].ballAnimActive
&& gSprites[gUnknown_03005D7C[gActiveBank]].callback == SpriteCallbackDummy
&& gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy)
{
@@ -396,18 +396,18 @@ static void DoHitAnimBlinkSpriteEffect(void)
{
u8 spriteId = gBankSpriteIds[gActiveBank];
- if (gSprites[spriteId].data1 == 32)
+ if (gSprites[spriteId].data[1] == 32)
{
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[1] = 0;
gSprites[spriteId].invisible = 0;
gDoingBattleAnim = FALSE;
WallyBufferExecCompleted();
}
else
{
- if ((gSprites[spriteId].data1 % 4) == 0)
+ if ((gSprites[spriteId].data[1] % 4) == 0)
gSprites[spriteId].invisible ^= 1;
- gSprites[spriteId].data1++;
+ gSprites[spriteId].data[1]++;
}
}
@@ -1073,7 +1073,7 @@ static void WallyHandleDrawTrainerPic(void)
30);
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = -2;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC;
gBattleBankFunc[gActiveBank] = CompleteOnBankSpriteCallbackDummy;
}
@@ -1088,7 +1088,7 @@ static void WallyHandleTrainerSlide(void)
30);
gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank;
gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -96;
- gSprites[gBankSpriteIds[gActiveBank]].data0 = 2;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = 2;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_805D7AC;
gBattleBankFunc[gActiveBank] = CompleteOnBankSpriteCallbackDummy2;
}
@@ -1408,7 +1408,7 @@ static void WallyHandleHitAnimation(void)
else
{
gDoingBattleAnim = TRUE;
- gSprites[gBankSpriteIds[gActiveBank]].data1 = 0;
+ gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0;
DoHitAnimHealthboxEffect(gActiveBank);
gBattleBankFunc[gActiveBank] = DoHitAnimBlinkSpriteEffect;
}
@@ -1462,11 +1462,11 @@ static void WallyHandleIntroTrainerBallThrow(void)
oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]);
- gSprites[gBankSpriteIds[gActiveBank]].data0 = 50;
- gSprites[gBankSpriteIds[gActiveBank]].data2 = -40;
- gSprites[gBankSpriteIds[gActiveBank]].data4 = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
+ gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50;
+ gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40;
+ gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y;
gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80A6EEC;
- gSprites[gBankSpriteIds[gActiveBank]].data5 = gActiveBank;
+ gSprites[gBankSpriteIds[gActiveBank]].data[5] = gActiveBank;
StoreSpriteCallbackInData6(&gSprites[gBankSpriteIds[gActiveBank]], sub_805CC00);
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1);
@@ -1495,21 +1495,21 @@ static void sub_816AA80(u8 bank)
gUnknown_03005D7C[bank] = CreateInvisibleSpriteWithCallback(sub_805D714);
sub_806A068(species, GetBankIdentity(bank));
gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C,
- sub_80A5C6C(bank, 2),
+ GetBankPosition(bank, 2),
GetBankSpriteDefault_Y(bank),
sub_80A82E4(bank));
- gSprites[gUnknown_03005D7C[bank]].data1 = gBankSpriteIds[bank];
- gSprites[gUnknown_03005D7C[bank]].data2 = bank;
+ gSprites[gUnknown_03005D7C[bank]].data[1] = gBankSpriteIds[bank];
+ gSprites[gUnknown_03005D7C[bank]].data[2] = bank;
- gSprites[gBankSpriteIds[bank]].data0 = bank;
- gSprites[gBankSpriteIds[bank]].data2 = species;
+ gSprites[gBankSpriteIds[bank]].data[0] = bank;
+ gSprites[gBankSpriteIds[bank]].data[2] = species;
gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank;
StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]);
gSprites[gBankSpriteIds[bank]].invisible = TRUE;
gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy;
- gSprites[gUnknown_03005D7C[bank]].data0 = sub_80753E8(0, 0xFF);
+ gSprites[gUnknown_03005D7C[bank]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT);
}
static void sub_816AC04(u8 taskId)
diff --git a/src/battle_controllers.c b/src/battle_controllers.c
index 2d373e876..c6d47e71e 100644
--- a/src/battle_controllers.c
+++ b/src/battle_controllers.c
@@ -6,10 +6,10 @@
#include "battle_ai_script_commands.h"
#include "battle_anim.h"
#include "pokemon.h"
-#include "species.h"
+#include "constants/species.h"
#include "recorded_battle.h"
#include "util.h"
-#include "abilities.h"
+#include "constants/abilities.h"
#include "battle_message.h"
extern u32 gBattleTypeFlags;
diff --git a/src/battle_dome_cards.c b/src/battle_dome_cards.c
index 9385417b4..d549856f2 100644
--- a/src/battle_dome_cards.c
+++ b/src/battle_dome_cards.c
@@ -4,7 +4,7 @@
#include "sprite.h"
#include "window.h"
#include "malloc.h"
-#include "species.h"
+#include "constants/species.h"
#include "palette.h"
#include "decompress.h"
#include "battle_dome_cards.h"
diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c
index 99a82f3ca..22be086f0 100644
--- a/src/battle_gfx_sfx_util.c
+++ b/src/battle_gfx_sfx_util.c
@@ -6,21 +6,21 @@
#include "battle_interface.h"
#include "main.h"
#include "malloc.h"
-#include "rng.h"
+#include "random.h"
#include "util.h"
#include "pokemon.h"
-#include "moves.h"
+#include "constants/moves.h"
#include "task.h"
#include "sprite.h"
#include "sound.h"
#include "m4a.h"
-#include "species.h"
+#include "constants/species.h"
#include "decompress.h"
#include "data2.h"
#include "palette.h"
#include "blend_palette.h"
#include "contest.h"
-#include "songs.h"
+#include "constants/songs.h"
extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200];
extern u8 gActiveBank;
@@ -332,7 +332,7 @@ static u16 BattlePalaceGetTargetRetValue(void)
void sub_805D714(struct Sprite *sprite)
{
- u8 spriteId = sprite->data1;
+ u8 spriteId = sprite->data[1];
if (!gSprites[spriteId].affineAnimEnded)
return;
@@ -367,7 +367,7 @@ void sub_805D7AC(struct Sprite *sprite)
{
if (!(gUnknown_020243FC & 1))
{
- sprite->pos2.x += sprite->data0;
+ sprite->pos2.x += sprite->data[0];
if (sprite->pos2.x == 0)
{
if (sprite->pos2.y != 0)
@@ -1134,7 +1134,7 @@ void sub_805EB9C(u8 affineMode)
}
}
-#define tBank data0
+#define tBank data[0]
void LoadAndCreateEnemyShadowSprites(void)
{
@@ -1143,14 +1143,14 @@ void LoadAndCreateEnemyShadowSprites(void)
LoadCompressedObjectPic(&gSpriteSheet_EnemyShadow);
bank = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
- gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, sub_80A5C6C(bank, 0), sub_80A5C6C(bank, 1) + 29, 0xC8);
- gSprites[gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId].data0 = bank;
+ gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, GetBankPosition(bank, 0), GetBankPosition(bank, 1) + 29, 0xC8);
+ gSprites[gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId].data[0] = bank;
if (IsDoubleBattle())
{
bank = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
- gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, sub_80A5C6C(bank, 0), sub_80A5C6C(bank, 1) + 29, 0xC8);
- gSprites[gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId].data0 = bank;
+ gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, GetBankPosition(bank, 0), GetBankPosition(bank, 1) + 29, 0xC8);
+ gSprites[gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId].data[0] = bank;
}
}
diff --git a/src/battle_interface.c b/src/battle_interface.c
index 240c64862..95f1a1111 100644
--- a/src/battle_interface.c
+++ b/src/battle_interface.c
@@ -8,13 +8,13 @@
#include "string_util.h"
#include "text.h"
#include "sound.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "decompress.h"
#include "task.h"
#include "util.h"
#include "gpu_regs.h"
#include "battle_message.h"
-#include "species.h"
+#include "constants/species.h"
#include "pokedex.h"
#include "palette.h"
#include "international_string_util.h"
@@ -927,7 +927,7 @@ u8 CreateBankHealthboxSprites(u8 bank)
data6 = 2;
}
gSprites[healthboxSpriteId_1].oam.affineParam = healthboxSpriteId_2;
- gSprites[healthboxSpriteId_2].data5 = healthboxSpriteId_1;
+ gSprites[healthboxSpriteId_2].data[5] = healthboxSpriteId_1;
gSprites[healthboxSpriteId_2].callback = sub_8072924;
}
else
@@ -939,7 +939,7 @@ u8 CreateBankHealthboxSprites(u8 bank)
gSprites[healthboxSpriteId_1].oam.affineParam = healthboxSpriteId_2;
- gSprites[healthboxSpriteId_2].data5 = healthboxSpriteId_1;
+ gSprites[healthboxSpriteId_2].data[5] = healthboxSpriteId_1;
gSprites[healthboxSpriteId_2].oam.tileNum += 32;
gSprites[healthboxSpriteId_2].callback = sub_8072924;
@@ -952,7 +952,7 @@ u8 CreateBankHealthboxSprites(u8 bank)
gSprites[healthboxSpriteId_1].oam.affineParam = healthboxSpriteId_2;
- gSprites[healthboxSpriteId_2].data5 = healthboxSpriteId_1;
+ gSprites[healthboxSpriteId_2].data[5] = healthboxSpriteId_1;
gSprites[healthboxSpriteId_2].oam.tileNum += 32;
gSprites[healthboxSpriteId_2].callback = sub_8072924;
@@ -968,14 +968,14 @@ u8 CreateBankHealthboxSprites(u8 bank)
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void*)(OBJ_VRAM0 + unkSpritePtr->oam.tileNum * 32), 64);
- gSprites[healthboxSpriteId_1].data5 = unkSpriteId;
- gSprites[healthboxSpriteId_1].data6 = bank;
+ gSprites[healthboxSpriteId_1].data[5] = unkSpriteId;
+ gSprites[healthboxSpriteId_1].data[6] = bank;
gSprites[healthboxSpriteId_1].invisible = 1;
gSprites[healthboxSpriteId_2].invisible = 1;
- unkSpritePtr->data5 = healthboxSpriteId_1;
- unkSpritePtr->data6 = data6;
+ unkSpritePtr->data[5] = healthboxSpriteId_1;
+ unkSpritePtr->data[6] = data6;
unkSpritePtr->invisible = 1;
return healthboxSpriteId_1;
@@ -994,7 +994,7 @@ u8 CreateSafariPlayerHealthboxSprites(void)
gSprites[healthboxSpriteId_2].oam.tileNum += 64;
gSprites[healthboxSpriteId_1].oam.affineParam = healthboxSpriteId_2;
- gSprites[healthboxSpriteId_2].data5 = healthboxSpriteId_1;
+ gSprites[healthboxSpriteId_2].data[5] = healthboxSpriteId_1;
gSprites[healthboxSpriteId_2].callback = sub_8072924;
@@ -1008,9 +1008,9 @@ static const u8 *GetHealthboxElementGfxPtr(u8 elementId)
static void sub_80728B4(struct Sprite *sprite)
{
- u8 var = sprite->data5;
+ u8 var = sprite->data[5];
- switch (sprite->data6)
+ switch (sprite->data[6])
{
case 0:
sprite->pos1.x = gSprites[var].pos1.x + 16;
@@ -1033,7 +1033,7 @@ static void sub_80728B4(struct Sprite *sprite)
static void sub_8072924(struct Sprite *sprite)
{
- u8 otherSpriteId = sprite->data5;
+ u8 otherSpriteId = sprite->data[5];
sprite->pos1.x = gSprites[otherSpriteId].pos1.x + 64;
sprite->pos1.y = gSprites[otherSpriteId].pos1.y;
@@ -1054,14 +1054,14 @@ void SetBattleBarStruct(u8 bank, u8 healthboxSpriteId, s32 maxVal, s32 currVal,
void SetHealthboxSpriteInvisible(u8 healthboxSpriteId)
{
gSprites[healthboxSpriteId].invisible = 1;
- gSprites[gSprites[healthboxSpriteId].data5].invisible = 1;
+ gSprites[gSprites[healthboxSpriteId].data[5]].invisible = 1;
gSprites[gSprites[healthboxSpriteId].oam.affineParam].invisible = 1;
}
void SetHealthboxSpriteVisible(u8 healthboxSpriteId)
{
gSprites[healthboxSpriteId].invisible = 0;
- gSprites[gSprites[healthboxSpriteId].data5].invisible = 0;
+ gSprites[gSprites[healthboxSpriteId].data[5]].invisible = 0;
gSprites[gSprites[healthboxSpriteId].oam.affineParam].invisible = 0;
}
@@ -1074,7 +1074,7 @@ static void UpdateSpritePos(u8 spriteId, s16 x, s16 y)
void DestoryHealthboxSprite(u8 healthboxSpriteId)
{
DestroySprite(&gSprites[gSprites[healthboxSpriteId].oam.affineParam]);
- DestroySprite(&gSprites[gSprites[healthboxSpriteId].data5]);
+ DestroySprite(&gSprites[gSprites[healthboxSpriteId].data[5]]);
DestroySprite(&gSprites[healthboxSpriteId]);
}
@@ -1091,7 +1091,7 @@ void UpdateOamPriorityInAllHealthboxes(u8 priority)
{
u8 healthboxSpriteId_1 = gHealthBoxesIds[i];
u8 healthboxSpriteId_2 = gSprites[gHealthBoxesIds[i]].oam.affineParam;
- u8 healthboxSpriteId_3 = gSprites[gHealthBoxesIds[i]].data5;
+ u8 healthboxSpriteId_3 = gSprites[gHealthBoxesIds[i]].data[5];
gSprites[healthboxSpriteId_1].oam.priority = priority;
gSprites[healthboxSpriteId_2].oam.priority = priority;
@@ -1156,7 +1156,7 @@ static void UpdateLvlInHealthbox(u8 healthboxSpriteId, u8 lvl)
windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(text, xPos, 3, 2, &windowId);
spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * 32;
- if (GetBankSide(gSprites[healthboxSpriteId].data6) == SIDE_PLAYER)
+ if (GetBankSide(gSprites[healthboxSpriteId].data[6]) == SIDE_PLAYER)
{
objVram = (void*)(OBJ_VRAM0);
if (!IsDoubleBattle())
@@ -1180,7 +1180,7 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent)
u8 text[32];
void *objVram;
- if (GetBankSide(gSprites[healthboxSpriteId].data6) == SIDE_PLAYER && !IsDoubleBattle())
+ if (GetBankSide(gSprites[healthboxSpriteId].data[6]) == SIDE_PLAYER && !IsDoubleBattle())
{
spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * 32;
if (maxOrCurrent != HP_CURRENT) // singles, max
@@ -1213,7 +1213,7 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent)
u8 bank;
memcpy(text, sUnknown_0832C3C4, sizeof(sUnknown_0832C3C4));
- bank = gSprites[healthboxSpriteId].data6;
+ bank = gSprites[healthboxSpriteId].data[6];
if (IsDoubleBattle() == TRUE || GetBankSide(bank) == SIDE_OPPONENT)
{
UpdateHpTextInHealthboxInDoubles(healthboxSpriteId, value, maxOrCurrent);
@@ -1223,7 +1223,7 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent)
u32 var;
u8 i;
- if (GetBankSide(gSprites[healthboxSpriteId].data6) == SIDE_PLAYER)
+ if (GetBankSide(gSprites[healthboxSpriteId].data[6]) == SIDE_PLAYER)
{
if (maxOrCurrent == HP_CURRENT)
var = 29;
@@ -1258,11 +1258,11 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8
u8 text[32];
void *objVram;
- if (GetBankSide(gSprites[healthboxSpriteId].data6) == SIDE_PLAYER)
+ if (GetBankSide(gSprites[healthboxSpriteId].data[6]) == SIDE_PLAYER)
{
- if (gBattleSpritesDataPtr->bankData[gSprites[healthboxSpriteId].data6].hpNumbersNoBars) // don't print text if only bars are visible
+ if (gBattleSpritesDataPtr->bankData[gSprites[healthboxSpriteId].data[6]].hpNumbersNoBars) // don't print text if only bars are visible
{
- spriteTileNum = gSprites[gSprites[healthboxSpriteId].data5].oam.tileNum * 32;
+ spriteTileNum = gSprites[gSprites[healthboxSpriteId].data[5]].oam.tileNum * 32;
objVram = (void*)(OBJ_VRAM0) + spriteTileNum;
if (maxOrCurrent != HP_CURRENT) // doubles, max hp
@@ -1292,7 +1292,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8
u8 bank;
memcpy(text, sUnknown_0832C3D8, sizeof(sUnknown_0832C3D8));
- bank = gSprites[healthboxSpriteId].data6;
+ bank = gSprites[healthboxSpriteId].data[6];
if (gBattleSpritesDataPtr->bankData[bank].hpNumbersNoBars) // don't print text if only bars are visible
{
@@ -1304,7 +1304,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8
if (maxOrCurrent == HP_CURRENT)
var = 0;
- r7 = gSprites[healthboxSpriteId].data5;
+ r7 = gSprites[healthboxSpriteId].data[5];
txtPtr = ConvertIntToDecimalStringN(text + 6, value, STR_CONV_MODE_RIGHT_ALIGN, 3);
if (!maxOrCurrent)
StringCopy(txtPtr, gText_Slash);
@@ -1354,7 +1354,7 @@ static void sub_80730D4(u8 healthboxSpriteId, struct Pokemon *mon)
u8 i, var, nature, healthboxSpriteId_2;
memcpy(text, sUnknown_0832C3C4, sizeof(sUnknown_0832C3C4));
- barFontGfx = &gMonSpritesGfxPtr->barFontGfx[0x520 + (GetBankIdentity(gSprites[healthboxSpriteId].data6) * 384)];
+ barFontGfx = &gMonSpritesGfxPtr->barFontGfx[0x520 + (GetBankIdentity(gSprites[healthboxSpriteId].data[6]) * 384)];
var = 5;
nature = GetNature(mon);
StringCopy(text + 6, gNatureNamePointers[nature]);
@@ -1385,7 +1385,7 @@ static void sub_80730D4(u8 healthboxSpriteId, struct Pokemon *mon)
barFontGfx += 0x20;
}
- healthboxSpriteId_2 = gSprites[healthboxSpriteId].data5;
+ healthboxSpriteId_2 = gSprites[healthboxSpriteId].data[5];
ConvertIntToDecimalStringN(text + 6, gBattleStruct->field_7C, STR_CONV_MODE_RIGHT_ALIGN, 2);
ConvertIntToDecimalStringN(text + 9, gBattleStruct->field_7B, STR_CONV_MODE_RIGHT_ALIGN, 2);
text[5] = CHAR_SPACE;
@@ -1434,7 +1434,7 @@ void SwapHpBarsWithHpText(void)
if (noBars == TRUE) // bars to text
{
- spriteId = gSprites[gHealthBoxesIds[i]].data5;
+ spriteId = gSprites[gHealthBoxesIds[i]].data[5];
CpuFill32(0, (void*)(OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32), 0x100);
UpdateHpTextInHealthboxInDoubles(gHealthBoxesIds[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_HP), HP_CURRENT);
@@ -1457,7 +1457,7 @@ void SwapHpBarsWithHpText(void)
}
else
{
- spriteId = gSprites[gHealthBoxesIds[i]].data5;
+ spriteId = gSprites[gHealthBoxesIds[i]].data[5];
CpuFill32(0, (void *)(OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32), 0x100);
UpdateHpTextInHealthboxInDoubles(gHealthBoxesIds[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_HP), HP_CURRENT);
@@ -1472,7 +1472,7 @@ void SwapHpBarsWithHpText(void)
UpdateHealthboxAttribute(gHealthBoxesIds[i], &gEnemyParty[gBattlePartyID[i]], HEALTHBOX_NICK);
}
}
- gSprites[gHealthBoxesIds[i]].data7 ^= 1;
+ gSprites[gHealthBoxesIds[i]].data[7] ^= 1;
}
}
}
@@ -1524,7 +1524,7 @@ u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 ar
barSpriteId = CreateSprite(&sStatusSummaryBarSpriteTemplates[isOpponent], bar_X, bar_Y, 10);
SetSubspriteTables(&gSprites[barSpriteId], sStatusSummaryBar_SubspriteTable);
gSprites[barSpriteId].pos2.x = bar_pos2_X;
- gSprites[barSpriteId].data0 = bar_data0;
+ gSprites[barSpriteId].data[0] = bar_data0;
if (isOpponent)
{
@@ -1549,22 +1549,22 @@ u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 ar
gSprites[ballIconSpritesIds[i]].pos2.y = 0;
}
- gSprites[ballIconSpritesIds[i]].data0 = barSpriteId;
+ gSprites[ballIconSpritesIds[i]].data[0] = barSpriteId;
if (!isOpponent)
{
gSprites[ballIconSpritesIds[i]].pos1.x += 10 * i + 24;
- gSprites[ballIconSpritesIds[i]].data1 = i * 7 + 10;
+ gSprites[ballIconSpritesIds[i]].data[1] = i * 7 + 10;
gSprites[ballIconSpritesIds[i]].pos2.x = 120;
}
else
{
gSprites[ballIconSpritesIds[i]].pos1.x -= 10 * (5 - i) + 24;
- gSprites[ballIconSpritesIds[i]].data1 = (6 - i) * 7 + 10;
+ gSprites[ballIconSpritesIds[i]].data[1] = (6 - i) * 7 + 10;
gSprites[ballIconSpritesIds[i]].pos2.x = -120;
}
- gSprites[ballIconSpritesIds[i]].data2 = isOpponent;
+ gSprites[ballIconSpritesIds[i]].data[2] = isOpponent;
}
if (GetBankSide(bank) == SIDE_PLAYER)
@@ -1576,7 +1576,7 @@ u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 ar
if (partyInfo[i].hp == 0xFFFF) // empty slot or an egg
{
gSprites[ballIconSpritesIds[i]].oam.tileNum += 1;
- gSprites[ballIconSpritesIds[i]].data7 = 1;
+ gSprites[ballIconSpritesIds[i]].data[7] = 1;
}
else if (partyInfo[i].hp == 0) // fainted mon
{
@@ -1595,7 +1595,7 @@ u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 ar
if (partyInfo[j].hp == 0xFFFF) // empty slot or an egg
{
gSprites[ballIconSpritesIds[var]].oam.tileNum += 1;
- gSprites[ballIconSpritesIds[var]].data7 = 1;
+ gSprites[ballIconSpritesIds[var]].data[7] = 1;
var--;
continue;
}
@@ -1624,7 +1624,7 @@ u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 ar
if (partyInfo[i].hp == 0xFFFF) // empty slot or an egg
{
gSprites[ballIconSpritesIds[var]].oam.tileNum += 1;
- gSprites[ballIconSpritesIds[var]].data7 = 1;
+ gSprites[ballIconSpritesIds[var]].data[7] = 1;
}
else if (partyInfo[i].hp == 0) // fainted mon
{
@@ -1644,7 +1644,7 @@ u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 ar
if (partyInfo[j].hp == 0xFFFF) // empty slot or an egg
{
gSprites[ballIconSpritesIds[i]].oam.tileNum += 1;
- gSprites[ballIconSpritesIds[i]].data7 = 1;
+ gSprites[ballIconSpritesIds[i]].data[7] = 1;
i++;
continue;
}
@@ -1714,21 +1714,21 @@ void sub_8073C30(u8 taskId)
{
if (GetBankSide(bank) != SIDE_PLAYER)
{
- gSprites[sp[5 - i]].data1 = 7 * i;
- gSprites[sp[5 - i]].data3 = 0;
- gSprites[sp[5 - i]].data4 = 0;
+ gSprites[sp[5 - i]].data[1] = 7 * i;
+ gSprites[sp[5 - i]].data[3] = 0;
+ gSprites[sp[5 - i]].data[4] = 0;
gSprites[sp[5 - i]].callback = sub_8074158;
}
else
{
- gSprites[sp[i]].data1 = 7 * i;
- gSprites[sp[i]].data3 = 0;
- gSprites[sp[i]].data4 = 0;
+ gSprites[sp[i]].data[1] = 7 * i;
+ gSprites[sp[i]].data[3] = 0;
+ gSprites[sp[i]].data[4] = 0;
gSprites[sp[i]].callback = sub_8074158;
}
}
- gSprites[r10].data0 /= 2;
- gSprites[r10].data1 = 0;
+ gSprites[r10].data[0] /= 2;
+ gSprites[r10].data[1] = 0;
gSprites[r10].callback = sub_8074090;
SetSubspriteTables(&gSprites[r10], sUnknown_0832C2CC);
gTasks[taskId].func = sub_8073E08;
@@ -1831,17 +1831,17 @@ static void sub_8073F98(u8 taskId)
static void SpriteCB_StatusSummaryBar(struct Sprite *sprite)
{
if (sprite->pos2.x != 0)
- sprite->pos2.x += sprite->data0;
+ sprite->pos2.x += sprite->data[0];
}
static void sub_8074090(struct Sprite *sprite)
{
- sprite->data1 += 32;
- if (sprite->data0 > 0)
- sprite->pos2.x += sprite->data1 >> 4;
+ sprite->data[1] += 32;
+ if (sprite->data[0] > 0)
+ sprite->pos2.x += sprite->data[1] >> 4;
else
- sprite->pos2.x -= sprite->data1 >> 4;
- sprite->data1 &= 0xF;
+ sprite->pos2.x -= sprite->data[1] >> 4;
+ sprite->data[1] &= 0xF;
}
static void SpriteCB_StatusSummaryBallsOnBattleStart(struct Sprite *sprite)
@@ -1850,16 +1850,16 @@ static void SpriteCB_StatusSummaryBallsOnBattleStart(struct Sprite *sprite)
u16 var2;
s8 pan;
- if (sprite->data1 > 0)
+ if (sprite->data[1] > 0)
{
- sprite->data1--;
+ sprite->data[1]--;
return;
}
- var1 = sprite->data2;
- var2 = sprite->data3;
+ var1 = sprite->data[2];
+ var2 = sprite->data[3];
var2 += 56;
- sprite->data3 = var2 & 0xFFF0;
+ sprite->data[3] = var2 & 0xFFF0;
if (var1 != 0)
{
@@ -1880,7 +1880,7 @@ static void SpriteCB_StatusSummaryBallsOnBattleStart(struct Sprite *sprite)
if (var1 != 0)
pan = PAN_SIDE_PLAYER;
- if (sprite->data7 != 0)
+ if (sprite->data[7] != 0)
PlaySE2WithPanning(SE_TB_KARA, pan);
else
PlaySE1WithPanning(SE_TB_KON, pan);
@@ -1894,15 +1894,15 @@ static void sub_8074158(struct Sprite *sprite)
u8 var1;
u16 var2;
- if (sprite->data1 > 0)
+ if (sprite->data[1] > 0)
{
- sprite->data1--;
+ sprite->data[1]--;
return;
}
- var1 = sprite->data2;
- var2 = sprite->data3;
+ var1 = sprite->data[2];
+ var2 = sprite->data[3];
var2 += 56;
- sprite->data3 = var2 & 0xFFF0;
+ sprite->data[3] = var2 & 0xFFF0;
if (var1 != 0)
sprite->pos2.x += var2 >> 4;
else
@@ -1917,7 +1917,7 @@ static void sub_8074158(struct Sprite *sprite)
static void SpriteCB_StatusSummaryBallsOnSwitchout(struct Sprite *sprite)
{
- u8 barSpriteId = sprite->data0;
+ u8 barSpriteId = sprite->data[0];
sprite->pos2.x = gSprites[barSpriteId].pos2.x;
sprite->pos2.y = gSprites[barSpriteId].pos2.y;
@@ -1964,7 +1964,7 @@ static void UpdateNickInHealthbox(u8 healthboxSpriteId, struct Pokemon *mon)
spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * 32;
- if (GetBankSide(gSprites[healthboxSpriteId].data6) == SIDE_PLAYER)
+ if (GetBankSide(gSprites[healthboxSpriteId].data[6]) == SIDE_PLAYER)
{
sub_8075198((void*)(0x6010040 + spriteTileNum), windowTileData, 6);
ptr = (void*)(OBJ_VRAM0);
@@ -1991,13 +1991,13 @@ static void TryAddPokeballIconToHealthbox(u8 healthboxSpriteId, bool8 noStatus)
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
return;
- bank = gSprites[healthboxSpriteId].data6;
+ bank = gSprites[healthboxSpriteId].data[6];
if (GetBankSide(bank) == SIDE_PLAYER)
return;
if (!GetSetPokedexFlag(SpeciesToNationalPokedexNum(GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES)), FLAG_GET_CAUGHT))
return;
- healthboxSpriteId_2 = gSprites[healthboxSpriteId].data5;
+ healthboxSpriteId_2 = gSprites[healthboxSpriteId].data[5];
if (noStatus)
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_70), (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId_2].oam.tileNum + 8) * 32), 32);
@@ -2014,8 +2014,8 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId)
s16 tileNumAdder;
u8 statusPalId;
- bank = gSprites[healthboxSpriteId].data6;
- healthboxSpriteId_2 = gSprites[healthboxSpriteId].data5;
+ bank = gSprites[healthboxSpriteId].data[6];
+ healthboxSpriteId_2 = gSprites[healthboxSpriteId].data[5];
if (GetBankSide(bank) == SIDE_PLAYER)
{
status = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_STATUS);
@@ -2178,12 +2178,12 @@ static void UpdateLeftNoOfBallsTextOnHealthbox(u8 healthboxSpriteId)
void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elementId)
{
s32 maxHp, currHp;
- u8 bank = gSprites[healthboxSpriteId].data6;
+ u8 bank = gSprites[healthboxSpriteId].data[6];
if (elementId == HEALTHBOX_ALL && !IsDoubleBattle())
GetBankSide(bank); // pointless function call
- if (GetBankSide(gSprites[healthboxSpriteId].data6) == SIDE_PLAYER)
+ if (GetBankSide(gSprites[healthboxSpriteId].data[6]) == SIDE_PLAYER)
{
u8 isDoubles;
@@ -2308,7 +2308,7 @@ static void sub_8074B9C(u8 bank, u8 whichBar)
}
for (i = 0; i < 6; i++)
{
- u8 healthboxSpriteId_2 = gSprites[gBattleSpritesDataPtr->battleBars[bank].healthboxSpriteId].data5;
+ u8 healthboxSpriteId_2 = gSprites[gBattleSpritesDataPtr->battleBars[bank].healthboxSpriteId].data[5];
if (i < 2)
CpuCopy32(GetHealthboxElementGfxPtr(barElementId) + array[i] * 32,
(void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId_2].oam.tileNum + 2 + i) * 32), 32);
diff --git a/src/battle_message.c b/src/battle_message.c
index 5faf60290..cab4bdf42 100644
--- a/src/battle_message.c
+++ b/src/battle_message.c
@@ -2,10 +2,10 @@
#include "battle.h"
#include "battle_message.h"
#include "battle_string_ids.h"
-#include "moves.h"
+#include "constants/moves.h"
#include "text.h"
#include "string_util.h"
-#include "items.h"
+#include "constants/items.h"
#include "event_data.h"
#include "link.h"
#include "item.h"
@@ -1631,9 +1631,9 @@ void BufferStringBattle(u16 stringID)
stringPtr = gText_AttackerUsedX;
break;
case STRINGID_BATTLEEND: // battle end
- if (gBattleTextBuff1[0] & BATTLE_OUTCOME_BIT_x80)
+ if (gBattleTextBuff1[0] & OUTCOME_LINK_BATTLE_RUN)
{
- gBattleTextBuff1[0] &= ~(BATTLE_OUTCOME_BIT_x80);
+ gBattleTextBuff1[0] &= ~(OUTCOME_LINK_BATTLE_RUN);
if (GetBankSide(gActiveBank) == SIDE_OPPONENT && gBattleTextBuff1[0] != BATTLE_DREW)
gBattleTextBuff1[0] ^= (BATTLE_LOST | BATTLE_WON);
diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c
index d9b35c053..ecdbb4d90 100644
--- a/src/battle_script_commands.c
+++ b/src/battle_script_commands.c
@@ -1,22 +1,22 @@
#include "global.h"
#include "battle.h"
-#include "battle_move_effects.h"
+#include "constants/battle_move_effects.h"
#include "battle_message.h"
#include "battle_ai_script_commands.h"
#include "battle_scripts.h"
-#include "moves.h"
-#include "abilities.h"
+#include "constants/moves.h"
+#include "constants/abilities.h"
#include "item.h"
-#include "items.h"
-#include "hold_effects.h"
+#include "constants/items.h"
+#include "constants/hold_effects.h"
#include "util.h"
#include "pokemon.h"
#include "calculate_base_damage.h"
-#include "rng.h"
+#include "random.h"
#include "battle_controllers.h"
#include "battle_interface.h"
-#include "species.h"
-#include "songs.h"
+#include "constants/species.h"
+#include "constants/songs.h"
#include "text.h"
#include "sound.h"
#include "pokedex.h"
@@ -1053,7 +1053,7 @@ static void atk00_attackcanceler(void)
if (!(gHitMarker & HITMARKER_OBEYS) && !(gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS))
{
- i = IsPokeDisobedient(); // why use the 'i' variable...?
+ i = IsMonDisobedient(); // why use the 'i' variable...?
switch (i)
{
case 0:
@@ -3040,7 +3040,7 @@ static void atk15_seteffectwithchance(void)
}
gBattleCommunication[MOVE_EFFECT_BYTE] = 0;
- gBattleScripting.field_16 = 0;
+ gBattleScripting.multihitMoveEffect = 0;
}
static void atk16_seteffectprimary(void)
@@ -3064,7 +3064,7 @@ static void atk18_clearstatusfromeffect(void)
gBattleCommunication[MOVE_EFFECT_BYTE] = 0;
gBattlescriptCurrInstr += 2;
- gBattleScripting.field_16 = 0;
+ gBattleScripting.multihitMoveEffect = 0;
}
static void atk19_tryfaintmon(void)
@@ -3221,7 +3221,7 @@ static void atk1E_jumpifability(void)
gLastUsedAbility = ability;
gBattlescriptCurrInstr = jumpPtr;
RecordAbilityBattle(bank - 1, gLastUsedAbility);
- gBattleScripting.field_15 = bank - 1;
+ gBattleScripting.bankWithAbility = bank - 1;
}
else
gBattlescriptCurrInstr += 7;
@@ -3234,7 +3234,7 @@ static void atk1E_jumpifability(void)
gLastUsedAbility = ability;
gBattlescriptCurrInstr = jumpPtr;
RecordAbilityBattle(bank - 1, gLastUsedAbility);
- gBattleScripting.field_15 = bank - 1;
+ gBattleScripting.bankWithAbility = bank - 1;
}
else
gBattlescriptCurrInstr += 7;
@@ -3247,7 +3247,7 @@ static void atk1E_jumpifability(void)
gLastUsedAbility = ability;
gBattlescriptCurrInstr = jumpPtr;
RecordAbilityBattle(bank, gLastUsedAbility);
- gBattleScripting.field_15 = bank;
+ gBattleScripting.bankWithAbility = bank;
}
else
gBattlescriptCurrInstr += 7;
@@ -6383,7 +6383,7 @@ static void atk62(void)
static void atk63_jumptorandomattack(void)
{
- if (gBattlescriptCurrInstr[1] != 0)
+ if (gBattlescriptCurrInstr[1])
gCurrentMove = gRandomMove;
else
gChosenMove = gCurrentMove = gRandomMove;
@@ -6782,8 +6782,8 @@ static bool8 sub_804F344(void)
return (gBattle_BG2_X != 0x1A0);
}
-#define sDestroy data0
-#define sSavedLvlUpBoxXPosition data1
+#define sDestroy data[0]
+#define sSavedLvlUpBoxXPosition data[1]
static void PutMonIconOnLvlUpBox(void)
{
@@ -7790,7 +7790,7 @@ static void atk8E_initmultihitstring(void)
gBattlescriptCurrInstr++;
}
-static bool8 sub_8051064(void)
+static bool8 TryDoForceSwitchOut(void)
{
if (gBattleMons[gBankAttacker].level >= gBattleMons[gBankTarget].level)
{
@@ -7807,7 +7807,7 @@ static bool8 sub_8051064(void)
*(gBattleStruct->field_58 + gBankTarget) = gBattlePartyID[gBankTarget];
}
- gBattlescriptCurrInstr = BattleScript_82DADD8;
+ gBattlescriptCurrInstr = BattleScript_SuccessForceOut;
return TRUE;
}
@@ -7935,7 +7935,7 @@ static void atk8F_forcerandomswitch(void)
}
else
{
- if (sub_8051064())
+ if (TryDoForceSwitchOut())
{
do
{
@@ -7968,7 +7968,7 @@ static void atk8F_forcerandomswitch(void)
}
else
{
- sub_8051064();
+ TryDoForceSwitchOut();
}
}
@@ -9306,7 +9306,7 @@ static void atkBA_jumpifnopursuitswitchdmg(void)
gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON2);
}
- if (gActionForBanks[gBankTarget] == 0
+ if (gActionForBanks[gBankTarget] == ACTION_USE_MOVE
&& gBankAttacker == *(gBattleStruct->moveTarget + gBankTarget)
&& !(gBattleMons[gBankTarget].status1 & (STATUS_SLEEP | STATUS_FREEZE))
&& gBattleMons[gBankAttacker].hp
@@ -10334,7 +10334,7 @@ static void atkE4_getsecretpowereffect(void)
case BATTLE_TERRAIN_POND:
gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_SPD_MINUS_1;
break;
- case BATTLE_TERRAIN_ROCK:
+ case BATTLE_TERRAIN_MOUNTAIN:
gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_CONFUSION;
break;
case BATTLE_TERRAIN_CAVE:
diff --git a/src/battle_setup.c b/src/battle_setup.c
index bcb883ca1..774aba9b2 100644
--- a/src/battle_setup.c
+++ b/src/battle_setup.c
@@ -7,20 +7,20 @@
#include "pokemon_3.h"
#include "safari_zone.h"
#include "script.h"
-#include "game_stat.h"
+#include "constants/game_stat.h"
#include "event_data.h"
-#include "species.h"
+#include "constants/species.h"
#include "songs.h"
#include "metatile_behavior.h"
-#include "map_constants.h"
+#include "constants/maps.h"
#include "field_player_avatar.h"
#include "fieldmap.h"
#include "trainer_classes.h"
#include "trainer_ids.h"
-#include "rng.h"
+#include "random.h"
#include "starter_choose.h"
#include "script_pokemon_80F8.h"
-#include "items.h"
+#include "constants/items.h"
#include "palette.h"
#include "window.h"
#include "field_map_obj.h"
@@ -84,6 +84,8 @@ extern void sub_81D61E8(void);
extern void sub_80982B8(void);
extern void sub_81A9EDC(u16 a0);
extern void sub_81D572C(u8 a0, u16 arg1);
+extern void IncrementGameStat(u8 statId);
+extern u32 GetGameStat(u8 statId);
extern u32 gBattleTypeFlags;
extern u8 gBattleOutcome;
@@ -685,7 +687,7 @@ u8 BattleSetup_GetTerrainId(void)
if (MetatileBehavior_IsBridge(tileBehavior) == TRUE)
return BATTLE_TERRAIN_WATER;
}
- if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP_ROUTE113 && gSaveBlock1Ptr->location.mapNum == MAP_ID_ROUTE113)
+ if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE113) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE113))
return BATTLE_TERRAIN_SAND;
if (GetSav1Weather() == 8)
return BATTLE_TERRAIN_SAND;
@@ -916,7 +918,7 @@ static void CB2_GiveStarter(void)
{
u16 starterMon;
- *GetVarPointer(VAR_STARTER_ID) = gSpecialVar_Result;
+ *GetVarPointer(VAR_FIRST_POKE) = gSpecialVar_Result;
starterMon = GetStarterPokemon(gSpecialVar_Result);
ScriptGiveMon(starterMon, 5, 0, 0, 0, 0);
ResetTasks();
@@ -1575,7 +1577,7 @@ static bool32 sub_80B1D94(s32 rematchTableId)
if (rematchTableId >= REMATCH_ELITE_FOUR_ENTRIES)
return TRUE;
else if (rematchTableId == REMATCH_WALLY_ENTRY)
- return (FlagGet(FLAG_7E) == FALSE);
+ return (FlagGet(FLAG_0x07E) == FALSE);
else
return FALSE;
}
diff --git a/src/battle_util.c b/src/battle_util.c
index 5c305a4e4..1a624641d 100644
--- a/src/battle_util.c
+++ b/src/battle_util.c
@@ -1,16 +1,16 @@
#include "global.h"
#include "battle.h"
-#include "abilities.h"
-#include "moves.h"
-#include "hold_effects.h"
+#include "constants/abilities.h"
+#include "constants/moves.h"
+#include "constants/hold_effects.h"
#include "pokemon.h"
-#include "species.h"
+#include "constants/species.h"
#include "item.h"
-#include "items.h"
+#include "constants/items.h"
#include "util.h"
-#include "battle_move_effects.h"
+#include "constants/battle_move_effects.h"
#include "battle_scripts.h"
-#include "rng.h"
+#include "random.h"
#include "text.h"
#include "string_util.h"
#include "battle_message.h"
@@ -364,7 +364,7 @@ u8 TrySetCantSelectMoveBattleScript(void)
gCurrentMove = move;
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
{
- gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_82DAE2A;
+ gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_SelectingDisabledMoveInPalace;
gProtectStructs[gActiveBank].flag_x10 = 1;
}
else
@@ -379,7 +379,7 @@ u8 TrySetCantSelectMoveBattleScript(void)
CancelMultiTurnMoves(gActiveBank);
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
{
- gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_82DB098;
+ gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_SelectingTormentedMoveInPalace;
gProtectStructs[gActiveBank].flag_x10 = 1;
}
else
@@ -394,7 +394,7 @@ u8 TrySetCantSelectMoveBattleScript(void)
gCurrentMove = move;
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
{
- gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_82DB0AF;
+ gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_SelectingNotAllowedMoveTauntInPalace;
gProtectStructs[gActiveBank].flag_x10 = 1;
}
else
@@ -409,7 +409,7 @@ u8 TrySetCantSelectMoveBattleScript(void)
gCurrentMove = move;
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
{
- gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_82DB185;
+ gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_SelectingImprisionedMoveInPalace;
gProtectStructs[gActiveBank].flag_x10 = 1;
}
else
@@ -1113,23 +1113,23 @@ u8 TurnBasedEffects(void)
return 0;
}
-bool8 sub_8041364(void)
+bool8 HandleWishPerishSongOnTurnEnd(void)
{
gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20);
- switch (gBattleStruct->field_1A0)
+ switch (gBattleStruct->wishPerishSongState)
{
case 0:
- while (gBattleStruct->field_1A1 < gNoOfAllBanks)
+ while (gBattleStruct->wishPerishSongBank < gNoOfAllBanks)
{
- gActiveBank = gBattleStruct->field_1A1;
+ gActiveBank = gBattleStruct->wishPerishSongBank;
if (gAbsentBankFlags & gBitTable[gActiveBank])
{
- gBattleStruct->field_1A1++;
+ gBattleStruct->wishPerishSongBank++;
continue;
}
- gBattleStruct->field_1A1++;
+ gBattleStruct->wishPerishSongBank++;
if (gWishFutureKnock.futureSightCounter[gActiveBank] != 0
&& --gWishFutureKnock.futureSightCounter[gActiveBank] == 0
&& gBattleMons[gActiveBank].hp != 0)
@@ -1157,21 +1157,21 @@ bool8 sub_8041364(void)
}
// Why do I have to keep doing this to match?
{
- u8* var = &gBattleStruct->field_1A0;
- *var = 1;
- gBattleStruct->field_1A1 = 0;
+ u8 *state = &gBattleStruct->wishPerishSongState;
+ *state = 1;
+ gBattleStruct->wishPerishSongBank = 0;
}
// fall through
case 1:
- while (gBattleStruct->field_1A1 < gNoOfAllBanks)
+ while (gBattleStruct->wishPerishSongBank < gNoOfAllBanks)
{
- gActiveBank = gBankAttacker = gBanksByTurnOrder[gBattleStruct->field_1A1];
+ gActiveBank = gBankAttacker = gBanksByTurnOrder[gBattleStruct->wishPerishSongBank];
if (gAbsentBankFlags & gBitTable[gActiveBank])
{
- gBattleStruct->field_1A1++;
+ gBattleStruct->wishPerishSongBank++;
continue;
}
- gBattleStruct->field_1A1++;
+ gBattleStruct->wishPerishSongBank++;
if (gStatuses3[gActiveBank] & STATUS3_PERISH_SONG)
{
PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff1, 1, gDisableStructs[gActiveBank].perishSongTimer1);
@@ -1192,9 +1192,9 @@ bool8 sub_8041364(void)
}
// Hm...
{
- u8* var = &gBattleStruct->field_1A0;
- *var = 2;
- gBattleStruct->field_1A1 = 0;
+ u8 *state = &gBattleStruct->wishPerishSongState;
+ *state = 2;
+ gBattleStruct->wishPerishSongBank = 0;
}
// fall through
case 2:
@@ -1209,7 +1209,7 @@ bool8 sub_8041364(void)
gBattlescriptCurrInstr = BattleScript_82DB8F3;
BattleScriptExecute(BattleScript_82DB8F3);
- gBattleStruct->field_1A0++;
+ gBattleStruct->wishPerishSongState++;
return TRUE;
}
break;
@@ -1220,20 +1220,20 @@ bool8 sub_8041364(void)
return FALSE;
}
-#define sub_8041728_MAX_CASE 7
+#define FAINTED_ACTIONS_MAX_CASE 7
-bool8 sub_8041728(void)
+bool8 HandleFaintedMonActions(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_SAFARI)
return FALSE;
do
{
int i;
- switch (gBattleStruct->field_4D)
+ switch (gBattleStruct->faintedActionsState)
{
case 0:
- gBattleStruct->field_4E = 0;
- gBattleStruct->field_4D++;
+ gBattleStruct->faintedActionsBank = 0;
+ gBattleStruct->faintedActionsState++;
for (i = 0; i < gNoOfAllBanks; i++)
{
if (gAbsentBankFlags & gBitTable[i] && !sub_80423F4(i, 6, 6))
@@ -1243,58 +1243,58 @@ bool8 sub_8041728(void)
case 1:
do
{
- gBank1 = gBankTarget = gBattleStruct->field_4E;
- if (gBattleMons[gBattleStruct->field_4E].hp == 0
- && !(gBattleStruct->field_DF & gBitTable[gBattlePartyID[gBattleStruct->field_4E]])
- && !(gAbsentBankFlags & gBitTable[gBattleStruct->field_4E]))
+ gBank1 = gBankTarget = gBattleStruct->faintedActionsBank;
+ if (gBattleMons[gBattleStruct->faintedActionsBank].hp == 0
+ && !(gBattleStruct->field_DF & gBitTable[gBattlePartyID[gBattleStruct->faintedActionsBank]])
+ && !(gAbsentBankFlags & gBitTable[gBattleStruct->faintedActionsBank]))
{
- BattleScriptExecute(BattleScript_82DA7C4);
- gBattleStruct->field_4D = 2;
+ BattleScriptExecute(BattleScript_GiveExp);
+ gBattleStruct->faintedActionsState = 2;
return TRUE;
}
- } while (++gBattleStruct->field_4E != gNoOfAllBanks);
- gBattleStruct->field_4D = 3;
+ } while (++gBattleStruct->faintedActionsBank != gNoOfAllBanks);
+ gBattleStruct->faintedActionsState = 3;
break;
case 2:
sub_803F9EC(gBank1);
- if (++gBattleStruct->field_4E == gNoOfAllBanks)
- gBattleStruct->field_4D = 3;
+ if (++gBattleStruct->faintedActionsBank == gNoOfAllBanks)
+ gBattleStruct->faintedActionsState = 3;
else
- gBattleStruct->field_4D = 1;
+ gBattleStruct->faintedActionsState = 1;
break;
case 3:
- gBattleStruct->field_4E = 0;
- gBattleStruct->field_4D++;
+ gBattleStruct->faintedActionsBank = 0;
+ gBattleStruct->faintedActionsState++;
// fall through
case 4:
do
{
- gBank1 = gBankTarget = gBattleStruct->field_4E;
- if (gBattleMons[gBattleStruct->field_4E].hp == 0
- && !(gAbsentBankFlags & gBitTable[gBattleStruct->field_4E]))
+ gBank1 = gBankTarget = gBattleStruct->faintedActionsBank;
+ if (gBattleMons[gBattleStruct->faintedActionsBank].hp == 0
+ && !(gAbsentBankFlags & gBitTable[gBattleStruct->faintedActionsBank]))
{
- BattleScriptExecute(BattleScript_82DA7CD);
- gBattleStruct->field_4D = 5;
+ BattleScriptExecute(BattleScript_HandleFaintedMon);
+ gBattleStruct->faintedActionsState = 5;
return TRUE;
}
- } while (++gBattleStruct->field_4E != gNoOfAllBanks);
- gBattleStruct->field_4D = 6;
+ } while (++gBattleStruct->faintedActionsBank != gNoOfAllBanks);
+ gBattleStruct->faintedActionsState = 6;
break;
case 5:
- if (++gBattleStruct->field_4E == gNoOfAllBanks)
- gBattleStruct->field_4D = 6;
+ if (++gBattleStruct->faintedActionsBank == gNoOfAllBanks)
+ gBattleStruct->faintedActionsState = 6;
else
- gBattleStruct->field_4D = 4;
+ gBattleStruct->faintedActionsState = 4;
break;
case 6:
if (AbilityBattleEffects(ABILITYEFFECT_INTIMIDATE1, 0, 0, 0, 0) || AbilityBattleEffects(ABILITYEFFECT_TRACE, 0, 0, 0, 0) || ItemBattleEffects(1, 0, 1) || AbilityBattleEffects(ABILITYEFFECT_FORECAST, 0, 0, 0, 0))
return TRUE;
- gBattleStruct->field_4D++;
+ gBattleStruct->faintedActionsState++;
break;
- case 7:
+ case FAINTED_ACTIONS_MAX_CASE:
break;
}
- } while (gBattleStruct->field_4D != sub_8041728_MAX_CASE);
+ } while (gBattleStruct->faintedActionsState != FAINTED_ACTIONS_MAX_CASE);
return FALSE;
}
@@ -1313,7 +1313,7 @@ void TryClearRageStatuses(void)
u8 AtkCanceller_UnableToUseMove(void)
{
u8 effect = 0;
- s32* bideDmg = &gBattleScripting.bideDmg;
+ s32 *bideDmg = &gBattleScripting.bideDmg;
do
{
switch (gBattleStruct->atkCancellerTracker)
@@ -3182,7 +3182,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn)
&& gBattleMoves[gCurrentMove].flags & FLAG_KINGSROCK_AFFECTED
&& gBattleMons[gBankTarget].hp)
{
- gBattleCommunication[MOVE_EFFECT_BYTE] = 8;
+ gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_FLINCH;
BattleScriptPushCursor();
SetMoveEffect(0, 0);
BattleScriptPop();
@@ -3318,7 +3318,7 @@ static bool32 HasObedientBitSet(u8 bank)
return GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_OBEDIENCE, NULL);
}
-u8 IsPokeDisobedient(void)
+u8 IsMonDisobedient(void)
{
s32 rnd;
s32 calc;
diff --git a/src/battle_util2.c b/src/battle_util2.c
index e119c85d7..538c1c641 100644
--- a/src/battle_util2.c
+++ b/src/battle_util2.c
@@ -4,21 +4,17 @@
#include "malloc.h"
#include "pokemon.h"
#include "event_data.h"
-#include "abilities.h"
-#include "rng.h"
+#include "constants/abilities.h"
+#include "random.h"
+#include "battle_scripts.h"
extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT];
extern u16 gBattlePartyID[BATTLE_BANKS_COUNT];
extern u8 gUnknown_0203CF00[];
-extern const u8* gBattlescriptCurrInstr;
+extern const u8 *gBattlescriptCurrInstr;
extern u8 gBattleCommunication[];
extern u8 gActiveBank;
-extern const u8 BattleScript_MoveUsedWokeUp[];
-extern const u8 BattleScript_MoveUsedIsFrozen[];
-extern const u8 BattleScript_MoveUsedUnfroze[];
-extern const u8 BattleScript_MoveUsedIsAsleep[];
-
extern void sub_81D55D0(void);
extern void sub_81D5694(void);
extern u8 pokemon_order_func(u8);
diff --git a/src/berry.c b/src/berry.c
index 0c1553463..74b7090c0 100644
--- a/src/berry.c
+++ b/src/berry.c
@@ -2,9 +2,9 @@
#include "berry.h"
#include "main.h"
#include "item.h"
-#include "items.h"
+#include "constants/items.h"
#include "text.h"
-#include "rng.h"
+#include "random.h"
#include "event_data.h"
#include "fieldmap.h"
diff --git a/src/berry_blender.c b/src/berry_blender.c
index aa333ebaf..b1d36e2d9 100644
--- a/src/berry_blender.c
+++ b/src/berry_blender.c
@@ -1,11 +1,13 @@
#include "global.h"
+#include "constants/game_stat.h"
+#include "overworld.h"
#include "berry_blender.h"
#include "bg.h"
#include "window.h"
#include "task.h"
#include "sprite.h"
#include "sound.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "m4a.h"
#include "bg.h"
#include "palette.h"
@@ -20,10 +22,10 @@
#include "item_menu_icons.h"
#include "berry.h"
#include "item.h"
-#include "items.h"
+#include "constants/items.h"
#include "string_util.h"
#include "international_string_util.h"
-#include "rng.h"
+#include "random.h"
#include "menu.h"
#include "pokeblock.h"
#include "trig.h"
@@ -1002,35 +1004,35 @@ static void sub_807FAC8(void)
static void sub_807FD08(struct Sprite* sprite)
{
- sprite->data1 += sprite->data6;
- sprite->data2 -= sprite->data4;
- sprite->data2 += sprite->data7;
- sprite->data0 += sprite->data7;
- sprite->data4--;
+ sprite->data[1] += sprite->data[6];
+ sprite->data[2] -= sprite->data[4];
+ sprite->data[2] += sprite->data[7];
+ sprite->data[0] += sprite->data[7];
+ sprite->data[4]--;
- if (sprite->data0 < sprite->data2)
+ if (sprite->data[0] < sprite->data[2])
{
- sprite->data3 = sprite->data4 = sprite->data3 - 1;
+ sprite->data[3] = sprite->data[4] = sprite->data[3] - 1;
- if (++sprite->data5 > 3)
+ if (++sprite->data[5] > 3)
DestroySprite(sprite);
else
PlaySE(SE_TB_KARA);
}
- sprite->pos1.x = sprite->data1;
- sprite->pos1.y = sprite->data2;
+ sprite->pos1.x = sprite->data[1];
+ sprite->pos1.y = sprite->data[2];
}
static void sub_807FD64(struct Sprite* sprite, s16 a2, s16 a3, s16 a4, s16 a5, s16 a6)
{
- sprite->data0 = a3;
- sprite->data1 = a2;
- sprite->data2 = a3;
- sprite->data3 = a4;
- sprite->data4 = 10;
- sprite->data5 = 0;
- sprite->data6 = a5;
- sprite->data7 = a6;
+ sprite->data[0] = a3;
+ sprite->data[1] = a2;
+ sprite->data[2] = a3;
+ sprite->data[3] = a4;
+ sprite->data[4] = 10;
+ sprite->data[5] = 0;
+ sprite->data[6] = a5;
+ sprite->data[7] = a6;
sprite->callback = sub_807FD08;
}
@@ -1066,7 +1068,7 @@ static void Blender_SetPlayerNamesLocal(u8 opponentsNum)
sBerryBlenderData->playersNo = 2;
StringCopy(gLinkPlayers[0].name, gSaveBlock2Ptr->playerName);
- if (!FlagGet(FLAG_340))
+ if (!FlagGet(FLAG_0x340))
StringCopy(gLinkPlayers[1].name, sBlenderOpponentsNames[BLENDER_MASTER]);
else
StringCopy(gLinkPlayers[1].name, sBlenderOpponentsNames[BLENDER_MISTER]);
@@ -1590,7 +1592,7 @@ static void sub_80808D4(void)
if (gSpecialVar_0x8004 == 1)
{
- if (!FlagGet(FLAG_340))
+ if (!FlagGet(FLAG_0x340))
sBerryBlenderData->field_120[0] = CreateTask(sub_8081224, 10);
else
sBerryBlenderData->field_120[0] = CreateTask(sUnknown_083399EC[0], 10);
@@ -2909,10 +2911,10 @@ static void BerryBlender_SetBackgroundsPos(void)
static void sub_8082E3C(struct Sprite* sprite)
{
- sprite->data2 += sprite->data0;
- sprite->data3 += sprite->data1;
- sprite->pos2.x = sprite->data2 / 8;
- sprite->pos2.y = sprite->data3 / 8;
+ sprite->data[2] += sprite->data[0];
+ sprite->data[3] += sprite->data[1];
+ sprite->pos2.x = sprite->data[2] / 8;
+ sprite->pos2.y = sprite->data[3] / 8;
if (sprite->animEnded)
DestroySprite(sprite);
@@ -2935,8 +2937,8 @@ static void sub_8082E84(void)
y = gSineTable[(rand & 0xFF)] / 4;
spriteId = CreateSprite(&sUnknown_08339BE0, x + 120, y + 80, 1);
- gSprites[spriteId].data0 = 16 - (Random() % 32);
- gSprites[spriteId].data1 = 16 - (Random() % 32);
+ gSprites[spriteId].data[0] = 16 - (Random() % 32);
+ gSprites[spriteId].data[1] = 16 - (Random() % 32);
gSprites[spriteId].callback = sub_8082E3C;
}
@@ -2944,8 +2946,8 @@ static void sub_8082E84(void)
static void sub_8082F68(struct Sprite* sprite)
{
- sprite->data0++;
- sprite->pos2.y = -(sprite->data0 / 3);
+ sprite->data[0]++;
+ sprite->pos2.y = -(sprite->data[0] / 3);
if (sprite->animEnded)
DestroySprite(sprite);
@@ -2953,8 +2955,8 @@ static void sub_8082F68(struct Sprite* sprite)
static void sub_8082F9C(struct Sprite* sprite)
{
- sprite->data0++;
- sprite->pos2.y = -(sprite->data0 * 2);
+ sprite->data[0]++;
+ sprite->pos2.y = -(sprite->data[0] * 2);
if (sprite->pos2.y < -12)
sprite->pos2.y = -12;
@@ -2970,68 +2972,68 @@ static void Blender_SetBankBerryData(u8 bank, u16 itemId)
static void sub_8083010(struct Sprite* sprite)
{
- switch (sprite->data0)
+ switch (sprite->data[0])
{
case 0:
- sprite->data1 += 8;
- if (sprite->data1 > 88)
+ sprite->data[1] += 8;
+ if (sprite->data[1] > 88)
{
- sprite->data1 = 88;
- sprite->data0++;
+ sprite->data[1] = 88;
+ sprite->data[0]++;
PlaySE(SE_KON);
}
break;
case 1:
- sprite->data2 += 1;
- if (sprite->data2 > 20)
+ sprite->data[2] += 1;
+ if (sprite->data[2] > 20)
{
- sprite->data0++;
- sprite->data2 = 0;
+ sprite->data[0]++;
+ sprite->data[2] = 0;
}
break;
case 2:
- sprite->data1 += 4;
- if (sprite->data1 > 176)
+ sprite->data[1] += 4;
+ if (sprite->data[1] > 176)
{
- if (++sprite->data3 == 3)
+ if (++sprite->data[3] == 3)
{
DestroySprite(sprite);
CreateSprite(&sUnknown_08339C60, 120, -20, 2);
}
else
{
- sprite->data0 = 0;
- sprite->data1 = -16;
- StartSpriteAnim(sprite, sprite->data3);
+ sprite->data[0] = 0;
+ sprite->data[1] = -16;
+ StartSpriteAnim(sprite, sprite->data[3]);
}
}
break;
}
- sprite->pos2.y = sprite->data1;
+ sprite->pos2.y = sprite->data[1];
}
static void sub_80830C0(struct Sprite* sprite)
{
- switch (sprite->data0)
+ switch (sprite->data[0])
{
case 0:
- sprite->data1 += 8;
- if (sprite->data1 > 92)
+ sprite->data[1] += 8;
+ if (sprite->data[1] > 92)
{
- sprite->data1 = 92;
- sprite->data0++;
+ sprite->data[1] = 92;
+ sprite->data[0]++;
PlaySE(SE_PIN);
}
break;
case 1:
- sprite->data2 += 1;
- if (sprite->data2 > 20)
- sprite->data0++;
+ sprite->data[2] += 1;
+ if (sprite->data[2] > 20)
+ sprite->data[0]++;
break;
case 2:
- sprite->data1 += 4;
- if (sprite->data1 > 176)
+ sprite->data[1] += 4;
+ if (sprite->data[1] > 176)
{
sBerryBlenderData->mainState++;
DestroySprite(sprite);
@@ -3039,7 +3041,7 @@ static void sub_80830C0(struct Sprite* sprite)
break;
}
- sprite->pos2.y = sprite->data1;
+ sprite->pos2.y = sprite->data[1];
}
static void sub_8083140(u16 a0, u16 a1)
diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c
index 85b2bc509..d6924de9f 100755
--- a/src/braille_puzzles.c
+++ b/src/braille_puzzles.c
@@ -1,12 +1,12 @@
#include "global.h"
#include "event_data.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "sound.h"
#include "script.h"
-#include "species.h"
+#include "constants/species.h"
#include "task.h"
#include "field_effect.h"
-#include "flags.h"
+#include "constants/flags.h"
extern void MapGridSetMetatileIdAt(s32 x, s32 y, u16 metatileId); // fieldmap
extern void DrawWholeMapView(); // field_camera
diff --git a/src/calculate_base_damage.c b/src/calculate_base_damage.c
index 89770b17a..d30599607 100644
--- a/src/calculate_base_damage.c
+++ b/src/calculate_base_damage.c
@@ -1,14 +1,14 @@
#include "global.h"
-#include "abilities.h"
+#include "constants/abilities.h"
#include "battle.h"
-#include "hold_effects.h"
+#include "constants/hold_effects.h"
#include "event_data.h"
#include "item.h"
-#include "items.h"
+#include "constants/items.h"
#include "pokemon.h"
-#include "species.h"
-#include "moves.h"
-#include "battle_move_effects.h"
+#include "constants/species.h"
+#include "constants/moves.h"
+#include "constants/battle_move_effects.h"
extern u32 gBattleTypeFlags;
extern struct BattlePokemon gBattleMons[4];
diff --git a/src/clear_save_data_screen.c b/src/clear_save_data_screen.c
index d5e173ee8..d00944ac1 100755
--- a/src/clear_save_data_screen.c
+++ b/src/clear_save_data_screen.c
@@ -9,7 +9,7 @@
#include "gpu_regs.h"
#include "bg.h"
#include "text_window.h"
-#include "songs.h"
+#include "constants/songs.h"
extern u8 gText_ClearAllSaveData[];
extern u8 gText_ClearingData[];
diff --git a/src/daycare.c b/src/daycare.c
index 8dd45863a..ce9952531 100644
--- a/src/daycare.c
+++ b/src/daycare.c
@@ -2,14 +2,14 @@
#include "pokemon.h"
#include "daycare.h"
#include "string_util.h"
-#include "species.h"
-#include "items.h"
+#include "constants/species.h"
+#include "constants/items.h"
#include "mail.h"
#include "pokemon_storage_system.h"
#include "event_data.h"
-#include "rng.h"
+#include "random.h"
#include "main.h"
-#include "moves.h"
+#include "constants/moves.h"
#include "egg_hatch.h"
#include "text.h"
#include "menu.h"
diff --git a/src/decompress.c b/src/decompress.c
index e2ae6ce83..8e8827194 100644
--- a/src/decompress.c
+++ b/src/decompress.c
@@ -1,6 +1,6 @@
#include "global.h"
#include "decompress.h"
-#include "species.h"
+#include "constants/species.h"
#include "text.h"
#include "malloc.h"
#include "pokemon.h"
diff --git a/src/decoration.c b/src/decoration.c
index 8093825f4..987e628c5 100644
--- a/src/decoration.c
+++ b/src/decoration.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "constants/decorations.h"
#include "decompress.h"
#include "malloc.h"
#include "text.h"
@@ -8,7 +9,7 @@
#include "task.h"
#include "main.h"
#include "palette.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "overworld.h"
#include "fieldmap.h"
#include "metatile_behavior.h"
@@ -32,7 +33,7 @@
#include "tilesets.h"
#include "item_icon.h"
#include "trader.h"
-#include "map_object_constants.h"
+#include "constants/map_objects.h"
#include "decoration_inventory.h"
#include "decoration.h"
#include "graphics.h"
@@ -1302,7 +1303,7 @@ void sub_8128060(u8 taskId)
void ConfigureCameraObjectForPlacingDecoration(struct PlaceDecorationGraphicsDataBuffer *data, u8 decor)
{
- sDecor_CameraSpriteObjectIdx1 = gSprites[gUnknown_03005DD0.unk4].data0;
+ sDecor_CameraSpriteObjectIdx1 = gSprites[gUnknown_03005DD0.unk4].data[0];
gUnknown_03005DD0.unk4 = gpu_pal_decompress_alloc_tag_and_upload(data, decor);
gSprites[gUnknown_03005DD0.unk4].oam.priority = 1;
gSprites[gUnknown_03005DD0.unk4].callback = sub_81292D0;
@@ -1383,8 +1384,8 @@ void sub_812826C(u8 taskId)
void sub_81283BC(u8 taskId)
{
gTasks[taskId].data[10] = 0;
- gSprites[sDecor_CameraSpriteObjectIdx1].data7 = 1;
- gSprites[sDecor_CameraSpriteObjectIdx2].data7 = 1;
+ gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 1;
+ gSprites[sDecor_CameraSpriteObjectIdx2].data[7] = 1;
sub_8128DE0();
sub_8128950(taskId);
}
@@ -1392,8 +1393,8 @@ void sub_81283BC(u8 taskId)
void sub_8128414(u8 taskId)
{
gTasks[taskId].data[10] = 0;
- gSprites[sDecor_CameraSpriteObjectIdx1].data7 = 1;
- gSprites[sDecor_CameraSpriteObjectIdx2].data7 = 1;
+ gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 1;
+ gSprites[sDecor_CameraSpriteObjectIdx2].data[7] = 1;
sub_8128DE0();
StringExpandPlaceholders(gStringVar4, gText_CancelDecorating);
DisplayItemMessageOnField(taskId, gStringVar4, sub_8128B80);
@@ -1769,8 +1770,8 @@ bool8 sub_8128DB4(void)
void sub_8128DE0(void)
{
sDecorationLastDirectionMoved = 0;
- gSprites[sDecor_CameraSpriteObjectIdx1].data2 = 0;
- gSprites[sDecor_CameraSpriteObjectIdx1].data3 = 0;
+ gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = 0;
+ gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = 0;
}
void sub_8128E18(u8 taskId)
@@ -1778,7 +1779,7 @@ void sub_8128E18(u8 taskId)
s16 *data;
data = gTasks[taskId].data;
- if (!gSprites[sDecor_CameraSpriteObjectIdx1].data4)
+ if (!gSprites[sDecor_CameraSpriteObjectIdx1].data[4])
{
if (data[10] == 1)
{
@@ -1792,29 +1793,29 @@ void sub_8128E18(u8 taskId)
if ((gMain.heldKeys & 0x0F0) == DPAD_UP)
{
sDecorationLastDirectionMoved = DIR_SOUTH;
- gSprites[sDecor_CameraSpriteObjectIdx1].data2 = 0;
- gSprites[sDecor_CameraSpriteObjectIdx1].data3 = -2;
+ gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = 0;
+ gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = -2;
data[1]--;
}
if ((gMain.heldKeys & 0x0F0) == DPAD_DOWN)
{
sDecorationLastDirectionMoved = DIR_NORTH;
- gSprites[sDecor_CameraSpriteObjectIdx1].data2 = 0;
- gSprites[sDecor_CameraSpriteObjectIdx1].data3 = 2;
+ gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = 0;
+ gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = 2;
data[1]++;
}
if ((gMain.heldKeys & 0x0F0) == DPAD_LEFT)
{
sDecorationLastDirectionMoved = DIR_WEST;
- gSprites[sDecor_CameraSpriteObjectIdx1].data2 = -2;
- gSprites[sDecor_CameraSpriteObjectIdx1].data3 = 0;
+ gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = -2;
+ gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = 0;
data[0]--;
}
if ((gMain.heldKeys & 0x0F0) == DPAD_RIGHT)
{
sDecorationLastDirectionMoved = DIR_EAST;
- gSprites[sDecor_CameraSpriteObjectIdx1].data2 = 2;
- gSprites[sDecor_CameraSpriteObjectIdx1].data3 = 0;
+ gSprites[sDecor_CameraSpriteObjectIdx1].data[2] = 2;
+ gSprites[sDecor_CameraSpriteObjectIdx1].data[3] = 0;
data[0]++;
}
if (!sub_8128DB4() || !sub_8128D10(taskId))
@@ -1824,8 +1825,8 @@ void sub_8128E18(u8 taskId)
}
if (sDecorationLastDirectionMoved)
{
- gSprites[sDecor_CameraSpriteObjectIdx1].data4++;
- gSprites[sDecor_CameraSpriteObjectIdx1].data4 &= 7;
+ gSprites[sDecor_CameraSpriteObjectIdx1].data[4]++;
+ gSprites[sDecor_CameraSpriteObjectIdx1].data[4] &= 7;
}
if (!data[10])
{
@@ -1843,7 +1844,7 @@ void sub_8128E18(u8 taskId)
void sub_8128FD8(u8 taskId)
{
sub_8197434(0, 1);
- gSprites[sDecor_CameraSpriteObjectIdx1].data7 = 0;
+ gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 0;
gTasks[taskId].data[10] = 0;
gTasks[taskId].func = sub_8128E18;
}
@@ -1954,20 +1955,20 @@ void SetDecorSelectionBoxOamAttributes(u8 decorShape)
void sub_81292D0(struct Sprite *sprite)
{
- sprite->data2 = 0;
- sprite->data3 = 0;
- sprite->data4 = 0;
- sprite->data5 = 0;
- sprite->data6 = 0;
- sprite->data7 = 0;
+ sprite->data[2] = 0;
+ sprite->data[3] = 0;
+ sprite->data[4] = 0;
+ sprite->data[5] = 0;
+ sprite->data[6] = 0;
+ sprite->data[7] = 0;
sprite->callback = sub_81292E8;
}
void sub_81292E8(struct Sprite *sprite)
{
- if (sprite->data7 == 0)
+ if (sprite->data[7] == 0)
{
- if (sprite->data6 < 15)
+ if (sprite->data[6] < 15)
{
sprite->invisible = FALSE;
}
@@ -1975,8 +1976,8 @@ void sub_81292E8(struct Sprite *sprite)
{
sprite->invisible = TRUE;
}
- sprite->data6 ++;
- sprite->data6 &= 0x1F;
+ sprite->data[6] ++;
+ sprite->data[6] &= 0x1F;
}
else
{
@@ -2248,7 +2249,7 @@ bool8 sub_81299AC(u8 taskId)
void SetUpPuttingAwayDecorationPlayerAvatar(void)
{
player_get_direction_lower_nybble();
- sDecor_CameraSpriteObjectIdx1 = gSprites[gUnknown_03005DD0.unk4].data0;
+ sDecor_CameraSpriteObjectIdx1 = gSprites[gUnknown_03005DD0.unk4].data[0];
sub_812A39C();
gUnknown_03005DD0.unk4 = CreateSprite(&gUnknown_085A7404, 0x78, 0x50, 0);
if (gSaveBlock2Ptr->playerGender == MALE)
@@ -2299,7 +2300,7 @@ void sub_8129ABC(u8 taskId)
void sub_8129B34(u8 taskId)
{
sub_8197434(0, 1);
- gSprites[sDecor_CameraSpriteObjectIdx1].data7 = 0;
+ gSprites[sDecor_CameraSpriteObjectIdx1].data[7] = 0;
gSprites[sDecor_CameraSpriteObjectIdx1].invisible = FALSE;
gSprites[sDecor_CameraSpriteObjectIdx1].callback = sub_812A36C;
gSprites[sDecor_CameraSpriteObjectIdx2].pos1.x = 0x88;
@@ -2719,9 +2720,9 @@ void sub_812A334(void)
void sub_812A36C(struct Sprite *sprite)
{
- sprite->data0 ++;
- sprite->data0 &= 0x1F;
- if (sprite->data0 > 15)
+ sprite->data[0] ++;
+ sprite->data[0] &= 0x1F;
+ if (sprite->data[0] > 15)
{
sprite->invisible = TRUE;
}
diff --git a/src/decoration_inventory.c b/src/decoration_inventory.c
index 03ab6c00c..308320206 100644
--- a/src/decoration_inventory.c
+++ b/src/decoration_inventory.c
@@ -1,6 +1,7 @@
// Includes
#include "global.h"
+#include "constants/decorations.h"
#include "decoration.h"
#include "decoration_inventory.h"
diff --git a/src/egg_hatch.c b/src/egg_hatch.c
index d9d77d2e9..032607806 100644
--- a/src/egg_hatch.c
+++ b/src/egg_hatch.c
@@ -2,7 +2,7 @@
#include "pokemon.h"
#include "egg_hatch.h"
#include "pokedex.h"
-#include "items.h"
+#include "constants/items.h"
#include "script.h"
#include "decompress.h"
#include "task.h"
@@ -10,20 +10,20 @@
#include "main.h"
#include "event_data.h"
#include "sound.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "text.h"
#include "text_window.h"
#include "string_util.h"
#include "menu.h"
#include "trig.h"
-#include "rng.h"
+#include "random.h"
#include "malloc.h"
#include "dma3.h"
#include "gpu_regs.h"
#include "bg.h"
#include "m4a.h"
#include "window.h"
-#include "abilities.h"
+#include "constants/abilities.h"
#include "daycare.h"
#include "battle.h" // to get rid of later
@@ -709,16 +709,16 @@ static void CB2_EggHatch_1(void)
static void SpriteCB_Egg_0(struct Sprite* sprite)
{
- if (++sprite->data0 > 20)
+ if (++sprite->data[0] > 20)
{
sprite->callback = SpriteCB_Egg_1;
- sprite->data0 = 0;
+ sprite->data[0] = 0;
}
else
{
- sprite->data1 = (sprite->data1 + 20) & 0xFF;
- sprite->pos2.x = Sin(sprite->data1, 1);
- if (sprite->data0 == 15)
+ sprite->data[1] = (sprite->data[1] + 20) & 0xFF;
+ sprite->pos2.x = Sin(sprite->data[1], 1);
+ if (sprite->data[0] == 15)
{
PlaySE(SE_BOWA);
StartSpriteAnim(sprite, 1);
@@ -729,19 +729,19 @@ static void SpriteCB_Egg_0(struct Sprite* sprite)
static void SpriteCB_Egg_1(struct Sprite* sprite)
{
- if (++sprite->data2 > 30)
+ if (++sprite->data[2] > 30)
{
- if (++sprite->data0 > 20)
+ if (++sprite->data[0] > 20)
{
sprite->callback = SpriteCB_Egg_2;
- sprite->data0 = 0;
- sprite->data2 = 0;
+ sprite->data[0] = 0;
+ sprite->data[2] = 0;
}
else
{
- sprite->data1 = (sprite->data1 + 20) & 0xFF;
- sprite->pos2.x = Sin(sprite->data1, 2);
- if (sprite->data0 == 15)
+ sprite->data[1] = (sprite->data[1] + 20) & 0xFF;
+ sprite->pos2.x = Sin(sprite->data[1], 2);
+ if (sprite->data[0] == 15)
{
PlaySE(SE_BOWA);
StartSpriteAnim(sprite, 2);
@@ -752,30 +752,30 @@ static void SpriteCB_Egg_1(struct Sprite* sprite)
static void SpriteCB_Egg_2(struct Sprite* sprite)
{
- if (++sprite->data2 > 30)
+ if (++sprite->data[2] > 30)
{
- if (++sprite->data0 > 38)
+ if (++sprite->data[0] > 38)
{
u16 species;
sprite->callback = SpriteCB_Egg_3;
- sprite->data0 = 0;
+ sprite->data[0] = 0;
species = GetMonData(&gPlayerParty[sEggHatchData->eggPartyID], MON_DATA_SPECIES);
gSprites[sEggHatchData->pokeSpriteID].pos2.x = 0;
gSprites[sEggHatchData->pokeSpriteID].pos2.y = 0;
}
else
{
- sprite->data1 = (sprite->data1 + 20) & 0xFF;
- sprite->pos2.x = Sin(sprite->data1, 2);
- if (sprite->data0 == 15)
+ sprite->data[1] = (sprite->data[1] + 20) & 0xFF;
+ sprite->pos2.x = Sin(sprite->data[1], 2);
+ if (sprite->data[0] == 15)
{
PlaySE(SE_BOWA);
StartSpriteAnim(sprite, 2);
CreateRandomEggShardSprite();
CreateRandomEggShardSprite();
}
- if (sprite->data0 == 30)
+ if (sprite->data[0] == 30)
PlaySE(SE_BOWA);
}
}
@@ -783,60 +783,60 @@ static void SpriteCB_Egg_2(struct Sprite* sprite)
static void SpriteCB_Egg_3(struct Sprite* sprite)
{
- if (++sprite->data0 > 50)
+ if (++sprite->data[0] > 50)
{
sprite->callback = SpriteCB_Egg_4;
- sprite->data0 = 0;
+ sprite->data[0] = 0;
}
}
static void SpriteCB_Egg_4(struct Sprite* sprite)
{
s16 i;
- if (sprite->data0 == 0)
+ if (sprite->data[0] == 0)
BeginNormalPaletteFade(-1, -1, 0, 0x10, 0xFFFF);
- if (sprite->data0 < 4u)
+ if (sprite->data[0] < 4u)
{
for (i = 0; i <= 3; i++)
CreateRandomEggShardSprite();
}
- sprite->data0++;
+ sprite->data[0]++;
if (!gPaletteFade.active)
{
PlaySE(SE_TAMAGO);
sprite->invisible = 1;
sprite->callback = SpriteCB_Egg_5;
- sprite->data0 = 0;
+ sprite->data[0] = 0;
}
}
static void SpriteCB_Egg_5(struct Sprite* sprite)
{
- if (sprite->data0 == 0)
+ if (sprite->data[0] == 0)
{
gSprites[sEggHatchData->pokeSpriteID].invisible = 0;
StartSpriteAffineAnim(&gSprites[sEggHatchData->pokeSpriteID], 1);
}
- if (sprite->data0 == 8)
+ if (sprite->data[0] == 8)
BeginNormalPaletteFade(-1, -1, 0x10, 0, 0xFFFF);
- if (sprite->data0 <= 9)
+ if (sprite->data[0] <= 9)
gSprites[sEggHatchData->pokeSpriteID].pos1.y -= 1;
- if (sprite->data0 > 40)
+ if (sprite->data[0] > 40)
sprite->callback = SpriteCallbackDummy;
- sprite->data0++;
+ sprite->data[0]++;
}
static void SpriteCB_EggShard(struct Sprite* sprite)
{
- sprite->data4 += sprite->data1;
- sprite->data5 += sprite->data2;
+ sprite->data[4] += sprite->data[1];
+ sprite->data[5] += sprite->data[2];
- sprite->pos2.x = sprite->data4 / 256;
- sprite->pos2.y = sprite->data5 / 256;
+ sprite->pos2.x = sprite->data[4] / 256;
+ sprite->pos2.y = sprite->data[5] / 256;
- sprite->data2 += sprite->data3;
+ sprite->data[2] += sprite->data[3];
- if (sprite->pos1.y + sprite->pos2.y > sprite->pos1.y + 20 && sprite->data2 > 0)
+ if (sprite->pos1.y + sprite->pos2.y > sprite->pos1.y + 20 && sprite->data[2] > 0)
DestroySprite(sprite);
}
@@ -854,9 +854,9 @@ static void CreateRandomEggShardSprite(void)
static void CreateEggShardSprite(u8 x, u8 y, s16 data1, s16 data2, s16 data3, u8 spriteAnimIndex)
{
u8 spriteID = CreateSprite(&sSpriteTemplate_EggShard, x, y, 4);
- gSprites[spriteID].data1 = data1;
- gSprites[spriteID].data2 = data2;
- gSprites[spriteID].data3 = data3;
+ gSprites[spriteID].data[1] = data1;
+ gSprites[spriteID].data[2] = data2;
+ gSprites[spriteID].data[3] = data3;
StartSpriteAnim(&gSprites[spriteID], spriteAnimIndex);
}
diff --git a/src/event_data.c b/src/event_data.c
index e3742a147..9f1432f17 100644
--- a/src/event_data.c
+++ b/src/event_data.c
@@ -44,7 +44,7 @@ void ClearTempFieldEventData(void)
FlagClear(FLAG_SYS_ENC_DOWN_ITEM);
FlagClear(FLAG_SYS_USE_STRENGTH);
FlagClear(FLAG_SYS_CTRL_OBJ_DELETE);
- FlagClear(FLAG_SYS_UNKNOWN_880);
+ FlagClear(FLAG_0x880);
}
// probably had different flag splits at one point.
diff --git a/src/evolution_graphics.c b/src/evolution_graphics.c
index eca5d4bdc..8d02eef91 100644
--- a/src/evolution_graphics.c
+++ b/src/evolution_graphics.c
@@ -2,11 +2,11 @@
#include "evolution_graphics.h"
#include "sprite.h"
#include "trig.h"
-#include "rng.h"
+#include "random.h"
#include "decompress.h"
#include "task.h"
#include "sound.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "palette.h"
// this file's functions
@@ -112,18 +112,18 @@ static void SpriteCB_PreEvoSparkleSet1(struct Sprite* sprite)
{
u8 matrixNum;
- sprite->pos1.y = 88 - (sprite->data7 * sprite->data7) / 80;
- sprite->pos2.y = Sin((u8)(sprite->data6), sprite->data5) / 4;
- sprite->pos2.x = Cos((u8)(sprite->data6), sprite->data5);
- sprite->data6 += 4;
- if (sprite->data7 & 1)
- sprite->data5--;
- sprite->data7++;
+ sprite->pos1.y = 88 - (sprite->data[7] * sprite->data[7]) / 80;
+ sprite->pos2.y = Sin((u8)(sprite->data[6]), sprite->data[5]) / 4;
+ sprite->pos2.x = Cos((u8)(sprite->data[6]), sprite->data[5]);
+ sprite->data[6] += 4;
+ if (sprite->data[7] & 1)
+ sprite->data[5]--;
+ sprite->data[7]++;
if (sprite->pos2.y > 0)
sprite->subpriority = 1;
else
sprite->subpriority = 20;
- matrixNum = sprite->data5 / 4 + 20;
+ matrixNum = sprite->data[5] / 4 + 20;
if (matrixNum > 31)
matrixNum = 31;
sprite->oam.matrixNum = matrixNum;
@@ -137,9 +137,9 @@ static void CreatePreEvoSparkleSet1(u8 arg0)
u8 spriteID = CreateSprite(&sEvoSparkleSpriteTemplate, 120, 88, 0);
if (spriteID != MAX_SPRITES)
{
- gSprites[spriteID].data5 = 48;
- gSprites[spriteID].data6 = arg0;
- gSprites[spriteID].data7 = 0;
+ gSprites[spriteID].data[5] = 48;
+ gSprites[spriteID].data[6] = arg0;
+ gSprites[spriteID].data[7] = 0;
gSprites[spriteID].oam.affineMode = 1;
gSprites[spriteID].oam.matrixNum = 31;
gSprites[spriteID].callback = SpriteCB_PreEvoSparkleSet1;
@@ -150,11 +150,11 @@ static void SpriteCB_PreEvoSparkleSet2(struct Sprite* sprite)
{
if (sprite->pos1.y < 88)
{
- sprite->pos1.y = 8 + (sprite->data7 * sprite->data7) / 5;
- sprite->pos2.y = Sin((u8)(sprite->data6), sprite->data5) / 4;
- sprite->pos2.x = Cos((u8)(sprite->data6), sprite->data5);
- sprite->data5 = 8 + Sin((u8)(sprite->data7 * 4), 40);
- sprite->data7++;
+ sprite->pos1.y = 8 + (sprite->data[7] * sprite->data[7]) / 5;
+ sprite->pos2.y = Sin((u8)(sprite->data[6]), sprite->data[5]) / 4;
+ sprite->pos2.x = Cos((u8)(sprite->data[6]), sprite->data[5]);
+ sprite->data[5] = 8 + Sin((u8)(sprite->data[7] * 4), 40);
+ sprite->data[7]++;
}
else
DestroySprite(sprite);
@@ -165,9 +165,9 @@ static void CreatePreEvoSparkleSet2(u8 arg0)
u8 spriteID = CreateSprite(&sEvoSparkleSpriteTemplate, 120, 8, 0);
if (spriteID != MAX_SPRITES)
{
- gSprites[spriteID].data5 = 8;
- gSprites[spriteID].data6 = arg0;
- gSprites[spriteID].data7 = 0;
+ gSprites[spriteID].data[5] = 8;
+ gSprites[spriteID].data[6] = arg0;
+ gSprites[spriteID].data[7] = 0;
gSprites[spriteID].oam.affineMode = 1;
gSprites[spriteID].oam.matrixNum = 25;
gSprites[spriteID].subpriority = 1;
@@ -177,12 +177,12 @@ static void CreatePreEvoSparkleSet2(u8 arg0)
static void SpriteCB_PostEvoSparkleSet1(struct Sprite* sprite)
{
- if (sprite->data5 > 8)
+ if (sprite->data[5] > 8)
{
- sprite->pos2.y = Sin((u8)(sprite->data6), sprite->data5);
- sprite->pos2.x = Cos((u8)(sprite->data6), sprite->data5);
- sprite->data5 -= sprite->data3;
- sprite->data6 += 4;
+ sprite->pos2.y = Sin((u8)(sprite->data[6]), sprite->data[5]);
+ sprite->pos2.x = Cos((u8)(sprite->data[6]), sprite->data[5]);
+ sprite->data[5] -= sprite->data[3];
+ sprite->data[6] += 4;
}
else
DestroySprite(sprite);
@@ -193,10 +193,10 @@ static void CreatePostEvoSparkleSet1(u8 arg0, u8 arg1)
u8 spriteID = CreateSprite(&sEvoSparkleSpriteTemplate, 120, 56, 0);
if (spriteID != MAX_SPRITES)
{
- gSprites[spriteID].data3 = arg1;
- gSprites[spriteID].data5 = 120;
- gSprites[spriteID].data6 = arg0;
- gSprites[spriteID].data7 = 0;
+ gSprites[spriteID].data[3] = arg1;
+ gSprites[spriteID].data[5] = 120;
+ gSprites[spriteID].data[6] = arg0;
+ gSprites[spriteID].data[7] = 0;
gSprites[spriteID].oam.affineMode = 1;
gSprites[spriteID].oam.matrixNum = 31;
gSprites[spriteID].subpriority = 1;
@@ -206,29 +206,29 @@ static void CreatePostEvoSparkleSet1(u8 arg0, u8 arg1)
static void SpriteCB_PostEvoSparkleSet2(struct Sprite* sprite)
{
- if (!(sprite->data7 & 3))
+ if (!(sprite->data[7] & 3))
sprite->pos1.y++;
- if (sprite->data6 < 128)
+ if (sprite->data[6] < 128)
{
u8 matrixNum;
- sprite->pos2.y = -Sin((u8)(sprite->data6), sprite->data5);
- sprite->pos1.x = 120 + (sprite->data3 * sprite->data7) / 3;
- sprite->data6++;
- matrixNum = 31 - (sprite->data6 * 12 / 128);
- if (sprite->data6 > 64)
+ sprite->pos2.y = -Sin((u8)(sprite->data[6]), sprite->data[5]);
+ sprite->pos1.x = 120 + (sprite->data[3] * sprite->data[7]) / 3;
+ sprite->data[6]++;
+ matrixNum = 31 - (sprite->data[6] * 12 / 128);
+ if (sprite->data[6] > 64)
sprite->subpriority = 1;
else
{
sprite->invisible = 0;
sprite->subpriority = 20;
- if (sprite->data6 > 112 && sprite->data6 & 1)
+ if (sprite->data[6] > 112 && sprite->data[6] & 1)
sprite->invisible = 1;
}
if (matrixNum < 20)
matrixNum = 20;
sprite->oam.matrixNum = matrixNum;
- sprite->data7++;
+ sprite->data[7]++;
}
else
DestroySprite(sprite);
@@ -239,9 +239,9 @@ static void CreatePostEvoSparkleSet2(u8 arg0)
u8 spriteID = CreateSprite(&sEvoSparkleSpriteTemplate, 120, 56, 0);
if (spriteID != MAX_SPRITES)
{
- gSprites[spriteID].data3 = 3 - (Random() % 7);
- gSprites[spriteID].data5 = 48 + (Random() & 0x3F);
- gSprites[spriteID].data7 = 0;
+ gSprites[spriteID].data[3] = 3 - (Random() % 7);
+ gSprites[spriteID].data[5] = 48 + (Random() & 0x3F);
+ gSprites[spriteID].data[7] = 0;
gSprites[spriteID].oam.affineMode = 1;
gSprites[spriteID].oam.matrixNum = 31;
gSprites[spriteID].subpriority = 20;
diff --git a/src/evolution_scene.c b/src/evolution_scene.c
index 68731a14a..c17921b74 100644
--- a/src/evolution_scene.c
+++ b/src/evolution_scene.c
@@ -16,11 +16,12 @@
#include "m4a.h"
#include "menu.h"
#include "pokedex.h"
-#include "species.h"
+#include "constants/species.h"
#include "sound.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "overworld.h"
#include "battle_message.h"
+#include "battle_string_ids.h"
#include "gpu_regs.h"
#include "bg.h"
#include "link.h"
@@ -51,6 +52,7 @@ extern u8 gBattleTerrain;
extern struct SpriteTemplate gUnknown_0202499C;
extern bool8 gAffineAnimsDisabled;
extern u16 gMoveToLearn;
+extern const u8 gSpeciesNames[][11];
extern u8 gBattleCommunication[];
#define sEvoCursorPos gBattleCommunication[1] // when learning a new move
@@ -771,7 +773,7 @@ static void Task_EvolutionScene(u8 taskID)
{
BufferMoveToLearnIntoBattleTextBuff2();
PlayFanfare(BGM_FANFA1);
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[3]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNLEARNEDMOVE - BATTLESTRINGS_ID_ADDER]);
BattleHandleAddTextPrinter(gDisplayedStringBattle, 0);
gTasks[taskID].tLearnsFirstMove = 0x40; // re-used as a counter
gTasks[taskID].tState++;
@@ -788,7 +790,7 @@ static void Task_EvolutionScene(u8 taskID)
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
BufferMoveToLearnIntoBattleTextBuff2();
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[4]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE1 - BATTLESTRINGS_ID_ADDER]);
BattleHandleAddTextPrinter(gDisplayedStringBattle, 0);
gTasks[taskID].tLearnMoveState++;
}
@@ -796,7 +798,7 @@ static void Task_EvolutionScene(u8 taskID)
case 1:
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[5]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE2 - BATTLESTRINGS_ID_ADDER]);
BattleHandleAddTextPrinter(gDisplayedStringBattle, 0);
gTasks[taskID].tLearnMoveState++;
}
@@ -804,7 +806,7 @@ static void Task_EvolutionScene(u8 taskID)
case 2:
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[6]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE3 - BATTLESTRINGS_ID_ADDER]);
BattleHandleAddTextPrinter(gDisplayedStringBattle, 0);
gTasks[taskID].tData7 = 5;
gTasks[taskID].tData8 = 10;
@@ -881,7 +883,7 @@ static void Task_EvolutionScene(u8 taskID)
u16 move = GetMonData(mon, var + MON_DATA_MOVE1);
if (IsHMMove2(move))
{
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[307]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_HMMOVESCANTBEFORGOTTEN - BATTLESTRINGS_ID_ADDER]);
BattleHandleAddTextPrinter(gDisplayedStringBattle, 0);
gTasks[taskID].tLearnMoveState = 12;
}
@@ -897,14 +899,14 @@ static void Task_EvolutionScene(u8 taskID)
}
break;
case 7:
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[207]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_123POOF - BATTLESTRINGS_ID_ADDER]);
BattleHandleAddTextPrinter(gDisplayedStringBattle, 0);
gTasks[taskID].tLearnMoveState++;
break;
case 8:
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[7]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNFORGOTMOVE - BATTLESTRINGS_ID_ADDER]);
BattleHandleAddTextPrinter(gDisplayedStringBattle, 0);
gTasks[taskID].tLearnMoveState++;
}
@@ -912,20 +914,20 @@ static void Task_EvolutionScene(u8 taskID)
case 9:
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[208]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_ANDELLIPSIS - BATTLESTRINGS_ID_ADDER]);
BattleHandleAddTextPrinter(gDisplayedStringBattle, 0);
gTasks[taskID].tState = 20;
}
break;
case 10:
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[8]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_STOPLEARNINGMOVE - BATTLESTRINGS_ID_ADDER]);
BattleHandleAddTextPrinter(gDisplayedStringBattle, 0);
gTasks[taskID].tData7 = 11;
gTasks[taskID].tData8 = 0;
gTasks[taskID].tLearnMoveState = 3;
break;
case 11:
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[9]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_DIDNOTLEARNMOVE - BATTLESTRINGS_ID_ADDER]);
BattleHandleAddTextPrinter(gDisplayedStringBattle, 0);
gTasks[taskID].tState = 15;
break;
@@ -1116,7 +1118,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
{
BufferMoveToLearnIntoBattleTextBuff2();
PlayFanfare(BGM_FANFA1);
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[3]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNLEARNEDMOVE - BATTLESTRINGS_ID_ADDER]);
sub_807F1A8(0, gDisplayedStringBattle, 1);
gTasks[taskID].tLearnsFirstMove = 0x40; // re-used as a counter
gTasks[taskID].tState++;
@@ -1133,7 +1135,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
BufferMoveToLearnIntoBattleTextBuff2();
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[4]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE1 - BATTLESTRINGS_ID_ADDER]);
sub_807F1A8(0, gDisplayedStringBattle, 1);
gTasks[taskID].tLearnMoveState++;
}
@@ -1141,7 +1143,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
case 1:
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[5]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE2 - BATTLESTRINGS_ID_ADDER]);
sub_807F1A8(0, gDisplayedStringBattle, 1);
gTasks[taskID].tLearnMoveState++;
}
@@ -1149,7 +1151,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
case 2:
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[6]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE3 - BATTLESTRINGS_ID_ADDER]);
sub_807F1A8(0, gDisplayedStringBattle, 1);
gTasks[taskID].tData7 = 5;
gTasks[taskID].tData8 = 9;
@@ -1170,7 +1172,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
{
case 0:
sEvoCursorPos = 0;
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[292]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_EMPTYSTRING3 - BATTLESTRINGS_ID_ADDER]);
sub_807F1A8(0, gDisplayedStringBattle, 1);
gTasks[taskID].tLearnMoveState = gTasks[taskID].tData7;
if (gTasks[taskID].tLearnMoveState == 5)
@@ -1179,7 +1181,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
case 1:
case -1:
sEvoCursorPos = 1;
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[292]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_EMPTYSTRING3 - BATTLESTRINGS_ID_ADDER]);
sub_807F1A8(0, gDisplayedStringBattle, 1);
gTasks[taskID].tLearnMoveState = gTasks[taskID].tData8;
break;
@@ -1215,7 +1217,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
u16 move = GetMonData(mon, var + MON_DATA_MOVE1);
if (IsHMMove2(move))
{
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[307]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_HMMOVESCANTBEFORGOTTEN - BATTLESTRINGS_ID_ADDER]);
sub_807F1A8(0, gDisplayedStringBattle, 1);
gTasks[taskID].tLearnMoveState = 11;
}
@@ -1225,7 +1227,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
RemoveMonPPBonus(mon, var);
SetMonMoveSlot(mon, gMoveToLearn, var);
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[207]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_123POOF - BATTLESTRINGS_ID_ADDER]);
sub_807F1A8(0, gDisplayedStringBattle, 1);
gTasks[taskID].tLearnMoveState++;
}
@@ -1235,7 +1237,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
case 7:
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[7]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNFORGOTMOVE - BATTLESTRINGS_ID_ADDER]);
sub_807F1A8(0, gDisplayedStringBattle, 1);
gTasks[taskID].tLearnMoveState++;
}
@@ -1243,20 +1245,20 @@ static void Task_TradeEvolutionScene(u8 taskID)
case 8:
if (!IsTextPrinterActive(0) && !IsSEPlaying())
{
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[208]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_ANDELLIPSIS - BATTLESTRINGS_ID_ADDER]);
sub_807F1A8(0, gDisplayedStringBattle, 1);
gTasks[taskID].tState = 18;
}
break;
case 9:
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[8]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_STOPLEARNINGMOVE - BATTLESTRINGS_ID_ADDER]);
sub_807F1A8(0, gDisplayedStringBattle, 1);
gTasks[taskID].tData7 = 10;
gTasks[taskID].tData8 = 0;
gTasks[taskID].tLearnMoveState = 3;
break;
case 10:
- BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[9]);
+ BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_DIDNOTLEARNMOVE - BATTLESTRINGS_ID_ADDER]);
sub_807F1A8(0, gDisplayedStringBattle, 1);
gTasks[taskID].tState = 13;
break;
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index dfdeb63a3..6a99890a4 100755
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -4,7 +4,7 @@
#include "malloc.h"
#include "sprite.h"
#include "overworld.h"
-#include "rng.h"
+#include "random.h"
#include "event_scripts.h"
#include "berry.h"
#include "palette.h"
@@ -30,7 +30,7 @@
bool8 FieldObjectCB2_##name(struct MapObject *, struct Sprite *);\
void FieldObjectCB_##name(struct Sprite *sprite)\
{\
- FieldObjectStep(&gMapObjects[sprite->data0], sprite, FieldObjectCB2_##name);\
+ FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, FieldObjectCB2_##name);\
}\
bool8 FieldObjectCB2_##name(struct MapObject *mapObject, struct Sprite *sprite)\
{\
@@ -42,11 +42,11 @@ extern bool8 (*const (table)[])(struct MapObject *, struct Sprite *);\
bool8 FieldObjectCB2_##name(struct MapObject *, struct Sprite *);\
void FieldObjectCB_##name(struct Sprite *sprite)\
{\
- FieldObjectStep(&gMapObjects[sprite->data0], sprite, FieldObjectCB2_##name);\
+ FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, FieldObjectCB2_##name);\
}\
bool8 FieldObjectCB2_##name(struct MapObject *mapObject, struct Sprite *sprite)\
{\
- return (table)[sprite->data1](mapObject, sprite);\
+ return (table)[sprite->data[1]](mapObject, sprite);\
}
#define field_object_path(idx, table, sub, path, catch, coord)\
@@ -655,7 +655,7 @@ static u8 SpawnFieldObjectInternal(struct MapObjectTemplate *mapObjectTemplate,
sprite->pos1.y += 16 + sprite->centerToCornerVecY;
sprite->oam.paletteNum = paletteSlot;
sprite->coordOffsetEnabled = TRUE;
- sprite->data0 = mapObjectId;
+ sprite->data[0] = mapObjectId;
mapObject->spriteId = spriteId;
mapObject->mapobj_bit_12 = graphicsInfo->inanimate;
if (!mapObject->mapobj_bit_12)
@@ -813,8 +813,8 @@ u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction)
sprite->oam.paletteNum -= 16;
}
sprite->coordOffsetEnabled = TRUE;
- sprite->data0 = a1;
- sprite->data1 = z;
+ sprite->data[0] = a1;
+ sprite->data[1] = z;
if (graphicsInfo->paletteSlot == 10)
{
npc_load_two_palettes__and_record(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot);
@@ -1003,7 +1003,7 @@ static void sub_808E1B8(u8 mapObjectId, s16 x, s16 y)
}
sprite->oam.paletteNum = paletteSlot;
sprite->coordOffsetEnabled = TRUE;
- sprite->data0 = mapObjectId;
+ sprite->data[0] = mapObjectId;
mapObject->spriteId = spriteId;
if (!mapObject->mapobj_bit_12 && mapObject->animPattern != 0x0b)
{
@@ -1463,7 +1463,7 @@ u8 AddCameraObject(u8 linkedSpriteId)
spriteId = CreateSprite(&gUnknown_084975D4, 0, 0, 4);
gSprites[spriteId].invisible = TRUE;
- gSprites[spriteId].data0 = linkedSpriteId;
+ gSprites[spriteId].data[0] = linkedSpriteId;
return spriteId;
}
@@ -1472,15 +1472,15 @@ void ObjectCB_CameraObject(struct Sprite *sprite)
void (*callbacks[ARRAY_COUNT(gUnknown_084975EC)])(struct Sprite *);
memcpy(callbacks, gUnknown_084975EC, sizeof gUnknown_084975EC);
- callbacks[sprite->data1](sprite);
+ callbacks[sprite->data[1]](sprite);
}
/*static*/ void CameraObject_0(struct Sprite *sprite)
{
- sprite->pos1.x = gSprites[sprite->data0].pos1.x;
- sprite->pos1.y = gSprites[sprite->data0].pos1.y;
+ sprite->pos1.x = gSprites[sprite->data[0]].pos1.x;
+ sprite->pos1.y = gSprites[sprite->data[0]].pos1.y;
sprite->invisible = TRUE;
- sprite->data1 = 1;
+ sprite->data[1] = 1;
CameraObject_1(sprite);
}
@@ -1489,20 +1489,20 @@ void ObjectCB_CameraObject(struct Sprite *sprite)
s16 x;
s16 y;
- y = gSprites[sprite->data0].pos1.y;
- x = gSprites[sprite->data0].pos1.x;
- sprite->data2 = x - sprite->pos1.x;
- sprite->data3 = y - sprite->pos1.y;
+ y = gSprites[sprite->data[0]].pos1.y;
+ x = gSprites[sprite->data[0]].pos1.x;
+ sprite->data[2] = x - sprite->pos1.x;
+ sprite->data[3] = y - sprite->pos1.y;
sprite->pos1.x = x;
sprite->pos1.y = y;
}
/*static*/ void CameraObject_2(struct Sprite *sprite)
{
- sprite->pos1.x = gSprites[sprite->data0].pos1.x;
- sprite->pos1.y = gSprites[sprite->data0].pos1.y;
- sprite->data2 = 0;
- sprite->data3 = 0;
+ sprite->pos1.x = gSprites[sprite->data[0]].pos1.x;
+ sprite->pos1.y = gSprites[sprite->data[0]].pos1.y;
+ sprite->data[2] = 0;
+ sprite->data[3] = 0;
}
static struct Sprite *FindCameraObject(void)
@@ -1526,7 +1526,7 @@ void CameraObjectReset1(void)
cameraObject = FindCameraObject();
if (cameraObject != NULL)
{
- cameraObject->data1 = 0;
+ cameraObject->data[1] = 0;
cameraObject->callback(cameraObject);
}
}
@@ -1538,7 +1538,7 @@ void CameraObjectSetFollowedObjectId(u8 objectId)
cameraObject = FindCameraObject();
if (cameraObject != NULL)
{
- cameraObject->data0 = objectId;
+ cameraObject->data[0] = objectId;
CameraObjectReset1();
}
}
@@ -1552,12 +1552,12 @@ u8 CameraObjectGetFollowedObjectId(void)
{
return MAX_SPRITES;
}
- return cameraObject->data0;
+ return cameraObject->data[0];
}
void CameraObjectReset2(void)
{
- FindCameraObject()->data1 = 2;
+ FindCameraObject()->data[1] = 2;
}
u8 CopySprite(struct Sprite *sprite, s16 x, s16 y, u8 subpriority)
@@ -1818,14 +1818,14 @@ field_object_step(GoRandomDirections, gUnknown_0850D6F4)
bool8 sub_808F44C(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
bool8 sub_808F460(struct MapObject *mapObject, struct Sprite *sprite)
{
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18));
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -1836,7 +1836,7 @@ bool8 sub_808F48C(struct MapObject *mapObject, struct Sprite *sprite)
return FALSE;
}
SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]);
- sprite->data1 = 3;
+ sprite->data[1] = 3;
return TRUE;
}
@@ -1844,7 +1844,7 @@ bool8 sub_808F4C8(struct MapObject *mapObject, struct Sprite *sprite)
{
if (RunFieldObjectStepTimer(sprite))
{
- sprite->data1 = 4;
+ sprite->data[1] = 4;
return TRUE;
}
return FALSE;
@@ -1858,10 +1858,10 @@ bool8 sub_808F4E8(struct MapObject *mapObject, struct Sprite *sprite)
memcpy(directions, gUnknown_0850D710, sizeof directions);
chosenDirection = directions[Random() & 0x03];
FieldObjectSetDirection(mapObject, chosenDirection);
- sprite->data1 = 5;
+ sprite->data[1] = 5;
if (npc_block_way__next_tile(mapObject, chosenDirection))
{
- sprite->data1 = 1;
+ sprite->data[1] = 1;
}
return TRUE;
}
@@ -1870,7 +1870,7 @@ bool8 sub_808F534(struct MapObject *mapObject, struct Sprite *sprite)
{
FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->placeholder18));
mapObject->mapobj_bit_1 = TRUE;
- sprite->data1 = 6;
+ sprite->data[1] = 6;
return TRUE;
}
@@ -1879,7 +1879,7 @@ bool8 sub_808F564(struct MapObject *mapObject, struct Sprite *sprite)
if (FieldObjectExecRegularAnim(mapObject, sprite))
{
mapObject->mapobj_bit_1 = FALSE;
- sprite->data1 = 1;
+ sprite->data[1] = 1;
}
return FALSE;
}
@@ -2140,14 +2140,14 @@ field_object_step(LookRandomDirections, gUnknown_0850D740)
bool8 sub_808F988(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
bool8 sub_808F99C(struct MapObject *mapObject, struct Sprite *sprite)
{
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18));
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -2157,7 +2157,7 @@ bool8 sub_808F9C8(struct MapObject *mapObject, struct Sprite *sprite)
{
SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]);
mapObject->mapobj_bit_1 = FALSE;
- sprite->data1 = 3;
+ sprite->data[1] = 3;
}
return FALSE;
}
@@ -2166,7 +2166,7 @@ bool8 sub_808FA0C(struct MapObject *mapObject, struct Sprite *sprite)
{
if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
- sprite->data1 = 4;
+ sprite->data[1] = 4;
return TRUE;
}
return FALSE;
@@ -2184,7 +2184,7 @@ bool8 sub_808FA3C(struct MapObject *mapObject, struct Sprite *sprite)
direction = directions[Random() & 0x03];
}
FieldObjectSetDirection(mapObject, direction);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -2193,14 +2193,14 @@ field_object_step(RandomlyGoNorthOrSouth, gUnknown_0850D754)
bool8 sub_808FAC8(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
bool8 sub_808FADC(struct MapObject *mapObject, struct Sprite *sprite)
{
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18));
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -2211,7 +2211,7 @@ bool8 sub_808FB08(struct MapObject *mapObject, struct Sprite *sprite)
return FALSE;
}
SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]);
- sprite->data1 = 3;
+ sprite->data[1] = 3;
return TRUE;
}
@@ -2219,7 +2219,7 @@ bool8 sub_808FB44(struct MapObject *mapObject, struct Sprite *sprite)
{
if (RunFieldObjectStepTimer(sprite))
{
- sprite->data1 = 4;
+ sprite->data[1] = 4;
return TRUE;
}
return FALSE;
@@ -2233,10 +2233,10 @@ bool8 sub_808FB64(struct MapObject *mapObject, struct Sprite *sprite)
memcpy(directions, gUnknown_0850D770, sizeof directions);
direction = directions[Random() & 0x01];
FieldObjectSetDirection(mapObject, direction);
- sprite->data1 = 5;
+ sprite->data[1] = 5;
if (npc_block_way__next_tile(mapObject, direction))
{
- sprite->data1 = 1;
+ sprite->data[1] = 1;
}
return TRUE;
}
@@ -2245,7 +2245,7 @@ bool8 sub_808FBB0(struct MapObject *mapObject, struct Sprite *sprite)
{
FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->placeholder18));
mapObject->mapobj_bit_1 = TRUE;
- sprite->data1 = 6;
+ sprite->data[1] = 6;
return TRUE;
}
@@ -2254,7 +2254,7 @@ bool8 sub_808FBE0(struct MapObject *mapObject, struct Sprite *sprite)
if (FieldObjectExecRegularAnim(mapObject, sprite))
{
mapObject->mapobj_bit_1 = FALSE;
- sprite->data1 = 1;
+ sprite->data[1] = 1;
}
return FALSE;
}
@@ -2264,14 +2264,14 @@ field_object_step(RandomlyGoEastOrWest, gUnknown_0850D774)
bool8 sub_808FC4C(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
bool8 sub_808FC60(struct MapObject *mapObject, struct Sprite *sprite)
{
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18));
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -2282,7 +2282,7 @@ bool8 sub_808FC8C(struct MapObject *mapObject, struct Sprite *sprite)
return FALSE;
}
SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]);
- sprite->data1 = 3;
+ sprite->data[1] = 3;
return TRUE;
}
@@ -2290,7 +2290,7 @@ bool8 sub_808FCC8(struct MapObject *mapObject, struct Sprite *sprite)
{
if (RunFieldObjectStepTimer(sprite))
{
- sprite->data1 = 4;
+ sprite->data[1] = 4;
return TRUE;
}
return FALSE;
@@ -2304,10 +2304,10 @@ bool8 sub_808FCE8(struct MapObject *mapObject, struct Sprite *sprite)
memcpy(directions, gUnknown_0850D790, sizeof directions);
direction = directions[Random() & 0x01];
FieldObjectSetDirection(mapObject, direction);
- sprite->data1 = 5;
+ sprite->data[1] = 5;
if (npc_block_way__next_tile(mapObject, direction))
{
- sprite->data1 = 1;
+ sprite->data[1] = 1;
}
return TRUE;
}
@@ -2316,7 +2316,7 @@ bool8 sub_808FD34(struct MapObject *mapObject, struct Sprite *sprite)
{
FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->placeholder18));
mapObject->mapobj_bit_1 = TRUE;
- sprite->data1 = 6;
+ sprite->data[1] = 6;
return TRUE;
}
@@ -2325,7 +2325,7 @@ bool8 sub_808FD64(struct MapObject *mapObject, struct Sprite *sprite)
if (FieldObjectExecRegularAnim(mapObject, sprite))
{
mapObject->mapobj_bit_1 = FALSE;
- sprite->data1 = 1;
+ sprite->data[1] = 1;
}
return FALSE;
}
@@ -2336,7 +2336,7 @@ bool8 sub_808FDD0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18));
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -2344,7 +2344,7 @@ bool8 sub_808FDFC(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecRegularAnim(mapObject, sprite))
{
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
return FALSE;
@@ -2362,17 +2362,17 @@ void FieldObjectCB_BerryTree(struct Sprite *sprite)
{
struct MapObject *mapObject;
- mapObject = &gMapObjects[sprite->data0];
- if (!(sprite->data7 & 0x0001))
+ mapObject = &gMapObjects[sprite->data[0]];
+ if (!(sprite->data[7] & 0x0001))
{
get_berry_tree_graphics(mapObject, sprite);
- sprite->data7 |= 0x0001;
+ sprite->data[7] |= 0x0001;
}
FieldObjectStep(mapObject, sprite, FieldObjectCB2_BerryTree);
}
static bool8 FieldObjectCB2_BerryTree(struct MapObject *mapObject, struct Sprite *sprite)
{
- return gUnknown_0850D7A0[sprite->data1](mapObject, sprite);
+ return gUnknown_0850D7A0[sprite->data[1]](mapObject, sprite);
}
bool8 do_berry_tree_growth_sparkle_1 (struct MapObject *mapObject, struct Sprite *sprite)
@@ -2385,7 +2385,7 @@ bool8 do_berry_tree_growth_sparkle_1 (struct MapObject *mapObject, struct Sprite
berryStage = GetStageByBerryTreeId(mapObject->trainerRange_berryTreeId);
if (berryStage == 0)
{
- if (!(sprite->data7 & 0x0004) && sprite->animNum == 4)
+ if (!(sprite->data[7] & 0x0004) && sprite->animNum == 4)
{
gFieldEffectArguments[0] = mapObject->coords2.x;
gFieldEffectArguments[1] = mapObject->coords2.y;
@@ -2401,12 +2401,12 @@ bool8 do_berry_tree_growth_sparkle_1 (struct MapObject *mapObject, struct Sprite
berryStage --;
if (sprite->animNum != berryStage)
{
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
get_berry_tree_graphics(mapObject, sprite);
FieldObjectSetRegularAnim(mapObject, sprite, 0x39);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -2414,7 +2414,7 @@ bool8 sub_808FF48 (struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecRegularAnim(mapObject, sprite))
{
- sprite->data1 = 0;
+ sprite->data[1] = 0;
return TRUE;
}
return FALSE;
@@ -2423,9 +2423,9 @@ bool8 sub_808FF48 (struct MapObject *mapObject, struct Sprite *sprite)
bool8 do_berry_tree_growth_sparkle_2 (struct MapObject *mapObject, struct Sprite *sprite)
{
mapObject->mapobj_bit_1 = TRUE;
- sprite->data1 = 3;
- sprite->data2 = 0;
- sprite->data7 |= 0x0002;
+ sprite->data[1] = 3;
+ sprite->data[2] = 0;
+ sprite->data[7] |= 0x0002;
gFieldEffectArguments[0] = mapObject->coords2.x;
gFieldEffectArguments[1] = mapObject->coords2.y;
gFieldEffectArguments[2] = sprite->subpriority - 1;
@@ -2436,14 +2436,14 @@ bool8 do_berry_tree_growth_sparkle_2 (struct MapObject *mapObject, struct Sprite
bool8 sub_808FFB4 (struct MapObject *mapObject, struct Sprite *sprite)
{
- sprite->data2 ++;
- mapObject->mapobj_bit_13 = (sprite->data2 & 0x02) >> 1;
+ sprite->data[2] ++;
+ mapObject->mapobj_bit_13 = (sprite->data[2] & 0x02) >> 1;
sprite->animPaused = TRUE;
- if (sprite->data2 > 64)
+ if (sprite->data[2] > 64)
{
get_berry_tree_graphics(mapObject, sprite);
- sprite->data1 = 4;
- sprite->data2 = 0;
+ sprite->data[1] = 4;
+ sprite->data[2] = 0;
return TRUE;
}
return FALSE;
@@ -2451,13 +2451,13 @@ bool8 sub_808FFB4 (struct MapObject *mapObject, struct Sprite *sprite)
bool8 sub_8090004 (struct MapObject *mapObject, struct Sprite *sprite)
{
- sprite->data2 ++;
- mapObject->mapobj_bit_13 = (sprite->data2 & 0x02) >> 1;
+ sprite->data[2] ++;
+ mapObject->mapobj_bit_13 = (sprite->data[2] & 0x02) >> 1;
sprite->animPaused = TRUE;
- if (sprite->data2 > 64)
+ if (sprite->data[2] > 64)
{
- sprite->data1 = 0;
- sprite->data7 &= ~0x0002;
+ sprite->data[1] = 0;
+ sprite->data[7] &= ~0x0002;
return TRUE;
}
return FALSE;
@@ -2468,14 +2468,14 @@ field_object_step(RandomlyLookNorthOrSouth, gUnknown_0850D7B4)
bool8 sub_8090094 (struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
bool8 sub_80900A8 (struct MapObject *mapObject, struct Sprite *sprite)
{
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18));
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -2485,7 +2485,7 @@ bool8 sub_80900D4 (struct MapObject *mapObject, struct Sprite *sprite)
{
SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]);
mapObject->mapobj_bit_1 = FALSE;
- sprite->data1 = 3;
+ sprite->data[1] = 3;
}
return FALSE;
}
@@ -2494,7 +2494,7 @@ bool8 sub_8090118 (struct MapObject *mapObject, struct Sprite *sprite)
{
if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
- sprite->data1 = 4;
+ sprite->data[1] = 4;
return TRUE;
}
return FALSE;
@@ -2512,7 +2512,7 @@ bool8 sub_8090148 (struct MapObject *mapObject, struct Sprite *sprite)
direction = directions[Random() & 0x01];
}
FieldObjectSetDirection(mapObject, direction);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -2521,14 +2521,14 @@ field_object_step(RandomlyLookEastOrWest, gUnknown_0850D7C8)
bool8 sub_80901D4 (struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
bool8 sub_80901E8 (struct MapObject *mapObject, struct Sprite *sprite)
{
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18));
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -2538,7 +2538,7 @@ bool8 sub_8090214 (struct MapObject *mapObject, struct Sprite *sprite)
{
SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]);
mapObject->mapobj_bit_1 = FALSE;
- sprite->data1 = 3;
+ sprite->data[1] = 3;
}
return FALSE;
}
@@ -2547,7 +2547,7 @@ bool8 sub_8090258 (struct MapObject *mapObject, struct Sprite *sprite)
{
if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
- sprite->data1 = 4;
+ sprite->data[1] = 4;
return TRUE;
}
return FALSE;
@@ -2565,7 +2565,7 @@ bool8 sub_8090288 (struct MapObject *mapObject, struct Sprite *sprite)
direction = directions[Random() & 0x01];
}
FieldObjectSetDirection(mapObject, direction);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -2574,14 +2574,14 @@ field_object_step(RandomlyLookNorthOrWest, gUnknown_0850D7DC)
bool8 sub_8090314 (struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
bool8 sub_8090328 (struct MapObject *mapObject, struct Sprite *sprite)
{
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18));
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -2591,7 +2591,7 @@ bool8 sub_8090354 (struct MapObject *mapObject, struct Sprite *sprite)
{
SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]);
mapObject->mapobj_bit_1 = FALSE;
- sprite->data1 = 3;
+ sprite->data[1] = 3;
}
return FALSE;
}
@@ -2600,7 +2600,7 @@ bool8 sub_8090398 (struct MapObject *mapObject, struct Sprite *sprite)
{
if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
- sprite->data1 = 4;
+ sprite->data[1] = 4;
return TRUE;
}
return FALSE;
@@ -2618,7 +2618,7 @@ bool8 sub_80903C8 (struct MapObject *mapObject, struct Sprite *sprite)
direction = directions[Random() & 0x01];
}
FieldObjectSetDirection(mapObject, direction);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -2627,14 +2627,14 @@ field_object_step(RandomlyLookNorthOrEast, gUnknown_0850D7F4)
bool8 sub_8090454 (struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
bool8 sub_8090468 (struct MapObject *mapObject, struct Sprite *sprite)
{
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18));
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -2644,7 +2644,7 @@ bool8 sub_8090494 (struct MapObject *mapObject, struct Sprite *sprite)
{
SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]);
mapObject->mapobj_bit_1 = FALSE;
- sprite->data1 = 3;
+ sprite->data[1] = 3;
}
return FALSE;
}
@@ -2653,7 +2653,7 @@ bool8 sub_80904D8 (struct MapObject *mapObject, struct Sprite *sprite)
{
if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
- sprite->data1 = 4;
+ sprite->data[1] = 4;
return TRUE;
}
return FALSE;
@@ -2671,7 +2671,7 @@ bool8 sub_8090508 (struct MapObject *mapObject, struct Sprite *sprite)
direction = directions[Random() & 0x01];
}
FieldObjectSetDirection(mapObject, direction);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -2680,14 +2680,14 @@ field_object_step(RandomlyLookSouthOrWest, gUnknown_0850D80C)
bool8 sub_8090594 (struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
bool8 sub_80905A8 (struct MapObject *mapObject, struct Sprite *sprite)
{
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18));
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -2697,7 +2697,7 @@ bool8 sub_80905D4 (struct MapObject *mapObject, struct Sprite *sprite)
{
SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]);
mapObject->mapobj_bit_1 = FALSE;
- sprite->data1 = 3;
+ sprite->data[1] = 3;
}
return FALSE;
}
@@ -2706,7 +2706,7 @@ bool8 sub_8090618 (struct MapObject *mapObject, struct Sprite *sprite)
{
if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
- sprite->data1 = 4;
+ sprite->data[1] = 4;
return TRUE;
}
return FALSE;
@@ -2724,7 +2724,7 @@ bool8 sub_8090648 (struct MapObject *mapObject, struct Sprite *sprite)
direction = directions[Random() & 0x01];
}
FieldObjectSetDirection(mapObject, direction);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -2733,14 +2733,14 @@ field_object_step(RandomlyLookSouthOrEast, gUnknown_0850D824)
bool8 sub_80906D4 (struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
bool8 sub_80906E8 (struct MapObject *mapObject, struct Sprite *sprite)
{
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18));
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -2750,7 +2750,7 @@ bool8 sub_8090714 (struct MapObject *mapObject, struct Sprite *sprite)
{
SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]);
mapObject->mapobj_bit_1 = FALSE;
- sprite->data1 = 3;
+ sprite->data[1] = 3;
}
return FALSE;
}
@@ -2759,7 +2759,7 @@ bool8 sub_8090758 (struct MapObject *mapObject, struct Sprite *sprite)
{
if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
- sprite->data1 = 4;
+ sprite->data[1] = 4;
return TRUE;
}
return FALSE;
@@ -2777,7 +2777,7 @@ bool8 sub_8090788 (struct MapObject *mapObject, struct Sprite *sprite)
direction = directions[Random() & 0x01];
}
FieldObjectSetDirection(mapObject, direction);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -2786,14 +2786,14 @@ field_object_step(RandomlyLookNorthOrSouthOrWest, gUnknown_0850D83C)
bool8 sub_8090814 (struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
bool8 sub_8090828 (struct MapObject *mapObject, struct Sprite *sprite)
{
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18));
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -2803,7 +2803,7 @@ bool8 sub_8090854 (struct MapObject *mapObject, struct Sprite *sprite)
{
SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]);
mapObject->mapobj_bit_1 = FALSE;
- sprite->data1 = 3;
+ sprite->data[1] = 3;
}
return FALSE;
}
@@ -2812,7 +2812,7 @@ bool8 sub_8090898 (struct MapObject *mapObject, struct Sprite *sprite)
{
if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
- sprite->data1 = 4;
+ sprite->data[1] = 4;
return TRUE;
}
return FALSE;
@@ -2830,7 +2830,7 @@ bool8 sub_80908C8 (struct MapObject *mapObject, struct Sprite *sprite)
direction = directions[Random() & 0x03];
}
FieldObjectSetDirection(mapObject, direction);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -2839,14 +2839,14 @@ field_object_step(RandomlyLookNorthOrSouthOrEast, gUnknown_0850D854)
bool8 sub_8090954 (struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
bool8 sub_8090968 (struct MapObject *mapObject, struct Sprite *sprite)
{
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18));
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -2856,7 +2856,7 @@ bool8 sub_8090994 (struct MapObject *mapObject, struct Sprite *sprite)
{
SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]);
mapObject->mapobj_bit_1 = FALSE;
- sprite->data1 = 3;
+ sprite->data[1] = 3;
}
return FALSE;
}
@@ -2865,7 +2865,7 @@ bool8 sub_80909D8 (struct MapObject *mapObject, struct Sprite *sprite)
{
if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
- sprite->data1 = 4;
+ sprite->data[1] = 4;
return TRUE;
}
return FALSE;
@@ -2883,7 +2883,7 @@ bool8 sub_8090A08 (struct MapObject *mapObject, struct Sprite *sprite)
direction = directions[Random() & 0x03];
}
FieldObjectSetDirection(mapObject, direction);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -2892,14 +2892,14 @@ field_object_step(RandomlyLookNorthOrEastOrWest, gUnknown_0850D86C)
bool8 sub_8090A94 (struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
bool8 sub_8090AA8 (struct MapObject *mapObject, struct Sprite *sprite)
{
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18));
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -2909,7 +2909,7 @@ bool8 sub_8090AD4 (struct MapObject *mapObject, struct Sprite *sprite)
{
SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]);
mapObject->mapobj_bit_1 = FALSE;
- sprite->data1 = 3;
+ sprite->data[1] = 3;
}
return FALSE;
}
@@ -2918,7 +2918,7 @@ bool8 sub_8090B18 (struct MapObject *mapObject, struct Sprite *sprite)
{
if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
- sprite->data1 = 4;
+ sprite->data[1] = 4;
return TRUE;
}
return FALSE;
@@ -2936,7 +2936,7 @@ bool8 sub_8090B48 (struct MapObject *mapObject, struct Sprite *sprite)
direction = directions[Random() & 0x03];
}
FieldObjectSetDirection(mapObject, direction);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -2945,14 +2945,14 @@ field_object_step(RandomlyLookSouthOrEastOrWest, gUnknown_0850D884)
bool8 sub_8090BD4 (struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
bool8 sub_8090BE8 (struct MapObject *mapObject, struct Sprite *sprite)
{
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18));
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -2962,7 +2962,7 @@ bool8 sub_8090C14 (struct MapObject *mapObject, struct Sprite *sprite)
{
SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]);
mapObject->mapobj_bit_1 = FALSE;
- sprite->data1 = 3;
+ sprite->data[1] = 3;
}
return FALSE;
}
@@ -2971,7 +2971,7 @@ bool8 sub_8090C58 (struct MapObject *mapObject, struct Sprite *sprite)
{
if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
- sprite->data1 = 4;
+ sprite->data[1] = 4;
return TRUE;
}
return FALSE;
@@ -2989,7 +2989,7 @@ bool8 sub_8090C88 (struct MapObject *mapObject, struct Sprite *sprite)
direction = directions[Random() & 0x03];
}
FieldObjectSetDirection(mapObject, direction);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -2999,7 +2999,7 @@ bool8 sub_8090D14 (struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18));
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -3008,7 +3008,7 @@ bool8 sub_8090D40 (struct MapObject *mapObject, struct Sprite *sprite)
if (FieldObjectExecRegularAnim(mapObject, sprite))
{
SetFieldObjectStepTimer(sprite, 48);
- sprite->data1 = 2;
+ sprite->data[1] = 2;
}
return FALSE;
}
@@ -3017,7 +3017,7 @@ bool8 sub_8090D64 (struct MapObject *mapObject, struct Sprite *sprite)
{
if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
- sprite->data1 = 3;
+ sprite->data[1] = 3;
}
return FALSE;
}
@@ -3034,7 +3034,7 @@ bool8 sub_8090D90 (struct MapObject *mapObject, struct Sprite *sprite)
direction = directions[mapObject->mapobj_unk_18];
}
FieldObjectSetDirection(mapObject, direction);
- sprite->data1 = 0;
+ sprite->data[1] = 0;
return TRUE;
}
@@ -3044,7 +3044,7 @@ bool8 sub_8090E18 (struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18));
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -3053,7 +3053,7 @@ bool8 sub_8090E44 (struct MapObject *mapObject, struct Sprite *sprite)
if (FieldObjectExecRegularAnim(mapObject, sprite))
{
SetFieldObjectStepTimer(sprite, 48);
- sprite->data1 = 2;
+ sprite->data[1] = 2;
}
return FALSE;
}
@@ -3062,7 +3062,7 @@ bool8 sub_8090E68 (struct MapObject *mapObject, struct Sprite *sprite)
{
if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
- sprite->data1 = 3;
+ sprite->data[1] = 3;
}
return FALSE;
}
@@ -3079,7 +3079,7 @@ bool8 sub_8090E94 (struct MapObject *mapObject, struct Sprite *sprite)
direction = directions[mapObject->mapobj_unk_18];
}
FieldObjectSetDirection(mapObject, direction);
- sprite->data1 = 0;
+ sprite->data[1] = 0;
return TRUE;
}
@@ -3088,7 +3088,7 @@ field_object_step(AlternatelyGoInOppositeDirections, gUnknown_0850D8CC)
bool8 sub_8090F1C (struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -3102,7 +3102,7 @@ bool8 sub_8090F30 (struct MapObject *mapObject, struct Sprite *sprite)
direction = GetOppositeDirection(direction);
}
FieldObjectSetDirection(mapObject, direction);
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -3131,7 +3131,7 @@ bool8 sub_8090F68 (struct MapObject *mapObject, struct Sprite *sprite)
}
FieldObjectSetRegularAnim(mapObject, sprite, animId);
mapObject->mapobj_bit_1 = TRUE;
- sprite->data1 = 3;
+ sprite->data[1] = 3;
return TRUE;
}
@@ -3140,7 +3140,7 @@ bool8 sub_8091020 (struct MapObject *mapObject, struct Sprite *sprite)
if (FieldObjectExecRegularAnim(mapObject, sprite))
{
mapObject->mapobj_bit_1 = FALSE;
- sprite->data1 = 1;
+ sprite->data[1] = 1;
}
return FALSE;
}
@@ -3148,7 +3148,7 @@ bool8 sub_8091020 (struct MapObject *mapObject, struct Sprite *sprite)
bool8 sub_8091048(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -3177,7 +3177,7 @@ bool8 MoveFieldObjectInNextDirectionInSequence(struct MapObject *mapObject, stru
}
FieldObjectSetRegularAnim(mapObject, sprite, animId);
mapObject->mapobj_bit_1 = TRUE;
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -3186,7 +3186,7 @@ bool8 sub_8091110(struct MapObject *mapObject, struct Sprite *sprite)
if (FieldObjectExecRegularAnim(mapObject, sprite))
{
mapObject->mapobj_bit_1 = FALSE;
- sprite->data1 = 1;
+ sprite->data[1] = 1;
}
return FALSE;
}
@@ -3225,7 +3225,7 @@ bool8 mss_npc_reset_oampriv3_1_unk2_unk3(struct MapObject *mapObject, struct Spr
{
mapObject->mapobj_unk_21 = player_get_direction_lower_nybble();
}
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -3243,7 +3243,7 @@ bool8 sub_8091F20(struct MapObject *mapObject, struct Sprite *sprite)
if (FieldObjectExecRegularAnim(mapObject, sprite))
{
mapObject->mapobj_bit_1 = FALSE;
- sprite->data1 = 1;
+ sprite->data[1] = 1;
}
return FALSE;
}
@@ -3257,7 +3257,7 @@ bool8 sub_8091F4C(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD
{
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, playerDirection)));
mapObject->mapobj_bit_1 = TRUE;
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -3278,7 +3278,7 @@ bool8 sub_8091F94(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD
FieldObjectMoveDestCoords(mapObject, direction, &x, &y);
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction));
mapObject->mapobj_bit_1 = TRUE;
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
}
@@ -3293,7 +3293,7 @@ bool8 sub_8091F94(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction));
}
mapObject->mapobj_bit_1 = TRUE;
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -3312,7 +3312,7 @@ bool8 sub_80920A4(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction));
}
mapObject->mapobj_bit_1 = TRUE;
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -3331,7 +3331,7 @@ bool8 sub_809215C(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction));
}
mapObject->mapobj_bit_1 = TRUE;
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -3350,7 +3350,7 @@ bool8 sub_8092214(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction));
}
mapObject->mapobj_bit_1 = TRUE;
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -3362,7 +3362,7 @@ bool8 cph_IM_DIFFERENT(struct MapObject *mapObject, struct Sprite *sprite, u8 pl
direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction);
FieldObjectSetRegularAnim(mapObject, sprite, sub_80934BC(direction));
mapObject->mapobj_bit_1 = TRUE;
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -3381,7 +3381,7 @@ bool8 sub_8092314(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction));
}
mapObject->mapobj_bit_1 = TRUE;
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -3402,7 +3402,7 @@ bool8 oac_hopping(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction));
}
mapObject->mapobj_bit_1 = TRUE;
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
@@ -3423,15 +3423,15 @@ void FieldObjectCB_TreeDisguise(struct Sprite *sprite)
{
struct MapObject *mapObject;
- mapObject = &gMapObjects[sprite->data0];
- if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && !sprite->data7))
+ mapObject = &gMapObjects[sprite->data[0]];
+ if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && !sprite->data[7]))
{
FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_TREE_DISGUISE);
mapObject->mapobj_unk_21 = 1;
- sprite->data7 ++;
+ sprite->data[7] ++;
}
- FieldObjectStep(&gMapObjects[sprite->data0], sprite, sub_80925AC);
+ FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, sub_80925AC);
}
bool8 sub_80925AC(struct MapObject *mapObject, struct Sprite *sprite)
@@ -3444,15 +3444,15 @@ void FieldObjectCB_MountainDisguise(struct Sprite *sprite)
{
struct MapObject *mapObject;
- mapObject = &gMapObjects[sprite->data0];
- if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && !sprite->data7))
+ mapObject = &gMapObjects[sprite->data[0]];
+ if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && !sprite->data[7]))
{
FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE);
mapObject->mapobj_unk_21 = 1;
- sprite->data7 ++;
+ sprite->data[7] ++;
}
- FieldObjectStep(&gMapObjects[sprite->data0], sprite, sub_80925AC);
+ FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, sub_80925AC);
}
extern bool8 (*const gUnknown_0850DA9C[])(struct MapObject *, struct Sprite *);
@@ -3460,19 +3460,19 @@ bool8 sub_809268C(struct MapObject *, struct Sprite *);
void FieldObjectCB_Hidden1(struct Sprite *sprite)
{
- if (!sprite->data7)
+ if (!sprite->data[7])
{
- gMapObjects[sprite->data0].mapobj_bit_26 = TRUE;
+ gMapObjects[sprite->data[0]].mapobj_bit_26 = TRUE;
sprite->subspriteMode = 2;
sprite->oam.priority = 3;
- sprite->data7 ++;
+ sprite->data[7] ++;
}
- FieldObjectStep(&gMapObjects[sprite->data0], sprite, sub_809268C);
+ FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, sub_809268C);
}
bool8 sub_809268C(struct MapObject *mapObject, struct Sprite *sprite)
{
- return gUnknown_0850DA9C[sprite->data1](mapObject, sprite);
+ return gUnknown_0850DA9C[sprite->data[1]](mapObject, sprite);
}
bool8 sub_80926AC (struct MapObject *mapObject, struct Sprite *sprite)
@@ -3484,7 +3484,7 @@ bool8 sub_80926B8 (struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecRegularAnim(mapObject, sprite))
{
- sprite->data1 = 0;
+ sprite->data[1] = 0;
}
return FALSE;
}
@@ -3495,7 +3495,7 @@ bool8 sub_8092718(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay16AnimId(mapObject->mapobj_unk_18));
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -3505,7 +3505,7 @@ bool8 sub_8092788(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay32AnimId(mapObject->mapobj_unk_18));
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -3515,7 +3515,7 @@ bool8 sub_80927F8(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay8AnimId(mapObject->mapobj_unk_18));
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -3525,7 +3525,7 @@ bool8 sub_8092868(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay4AnimId(mapObject->mapobj_unk_18));
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
@@ -3536,14 +3536,14 @@ bool8 sub_80928D8(struct MapObject *mapObject, struct Sprite *sprite)
npc_reset(mapObject, sprite);
FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18));
mapObject->mapobj_bit_13 = TRUE;
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return TRUE;
}
bool8 sub_809290C(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecRegularAnim(mapObject, sprite))
{
- sprite->data1 = 2;
+ sprite->data[1] = 2;
return TRUE;
}
return FALSE;
@@ -3561,7 +3561,7 @@ void npc_reset(struct MapObject *mapObject, struct Sprite *sprite)
mapObject->mapobj_bit_6 = FALSE;
mapObject->mapobj_bit_7 = FALSE;
mapObject->mapobj_unk_1C = 0xFF;
- sprite->data1 = 0;
+ sprite->data[1] = 0;
}
#define dirn2anim(name, table)\
@@ -3680,7 +3680,7 @@ void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 animPattern)
mapObject->mapobj_unk_21 = 0;
mapObject->animId = 0;
gSprites[mapObject->spriteId].callback = gUnknown_08505438[animPattern];
- gSprites[mapObject->spriteId].data1 = 0;
+ gSprites[mapObject->spriteId].data[1] = 0;
}
dirn2anim(npc_running_behaviour_by_direction, gUnknown_0850DB53)
@@ -3811,7 +3811,7 @@ bool8 sub_8092E9C(u8 localId, u8 mapNum, u8 mapGroup)
{
u8 mapObjectId;
- if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId) && gSprites[gMapObjects[mapObjectId].spriteId].data7 & 0x02)
+ if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId) && gSprites[gMapObjects[mapObjectId].spriteId].data[7] & 0x02)
{
return TRUE;
}
@@ -3824,7 +3824,7 @@ void sub_8092EF0(u8 localId, u8 mapNum, u8 mapGroup)
if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId))
{
- gSprites[gMapObjects[mapObjectId].spriteId].data7 |= 0x04;
+ gSprites[gMapObjects[mapObjectId].spriteId].data[7] |= 0x04;
}
}
@@ -3975,7 +3975,7 @@ bool8 FieldObjectSetSpecialAnim(struct MapObject *mapObject, u8 specialAnimId)
mapObject->mapobj_unk_1C = specialAnimId;
mapObject->mapobj_bit_6 = TRUE;
mapObject->mapobj_bit_7 = FALSE;
- gSprites[mapObject->spriteId].data2 = 0;
+ gSprites[mapObject->spriteId].data[2] = 0;
return FALSE;
}
@@ -3998,8 +3998,8 @@ void FieldObjectClearAnim(struct MapObject *mapObject)
mapObject->mapobj_unk_1C = 0xFF;
mapObject->mapobj_bit_6 = FALSE;
mapObject->mapobj_bit_7 = FALSE;
- gSprites[mapObject->spriteId].data1 = 0;
- gSprites[mapObject->spriteId].data2 = 0;
+ gSprites[mapObject->spriteId].data[1] = 0;
+ gSprites[mapObject->spriteId].data[2] = 0;
}
u8 FieldObjectCheckIfSpecialAnimFinishedOrInactive(struct MapObject *mapObject)
@@ -4137,7 +4137,7 @@ static u32 state_to_direction(u8 a0, u32 a1, u32 a2)
static void FieldObjectExecSpecialAnim(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (gUnknown_0850DC50[mapObject->mapobj_unk_1C][sprite->data2](mapObject, sprite))
+ if (gUnknown_0850DC50[mapObject->mapobj_unk_1C][sprite->data[2]](mapObject, sprite))
{
mapObject->mapobj_bit_7 = TRUE;
}
@@ -4145,10 +4145,10 @@ static void FieldObjectExecSpecialAnim(struct MapObject *mapObject, struct Sprit
bool8 FieldObjectExecRegularAnim(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (gUnknown_0850DC50[mapObject->mapobj_unk_1C][sprite->data2](mapObject, sprite))
+ if (gUnknown_0850DC50[mapObject->mapobj_unk_1C][sprite->data[2]](mapObject, sprite))
{
mapObject->mapobj_unk_1C = 0xFF;
- sprite->data2 = 0;
+ sprite->data[2] = 0;
return TRUE;
}
return FALSE;
@@ -4157,7 +4157,7 @@ bool8 FieldObjectExecRegularAnim(struct MapObject *mapObject, struct Sprite *spr
void FieldObjectSetRegularAnim(struct MapObject *mapObject, struct Sprite *sprite, u8 animId)
{
mapObject->mapobj_unk_1C = animId;
- sprite->data2 = 0;
+ sprite->data[2] = 0;
}
// file boundary?
@@ -4168,7 +4168,7 @@ void an_look_any(struct MapObject *mapObject, struct Sprite *sprite, u8 directio
npc_coords_shift_still(mapObject);
obj_npc_animation_step(mapObject, sprite, get_go_image_anim_num(mapObject->mapobj_unk_18));
sprite->animPaused = TRUE;
- sprite->data2 = 1;
+ sprite->data[2] = 1;
}
bool8 sub_8093950(struct MapObject *mapObject, struct Sprite *sprite)
@@ -4212,7 +4212,7 @@ void npc_apply_direction(struct MapObject *mapObject, struct Sprite *sprite, u8
sprite->animPaused = TRUE;
}
mapObject->mapobj_bit_2 = TRUE;
- sprite->data2 = 1;
+ sprite->data[2] = 1;
}
void do_go_anim(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed)
@@ -4255,7 +4255,7 @@ void sub_8093AF0(struct MapObject *mapObject, struct Sprite *sprite, u8 directio
sub_80976DC(sprite, direction);
sprite->animPaused = FALSE;
mapObject->mapobj_bit_2 = TRUE;
- sprite->data2 = 1;
+ sprite->data[2] = 1;
}
void sub_8093B60(struct MapObject *mapObject, struct Sprite *sprite, u8 direction)
@@ -4287,7 +4287,7 @@ bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\
{\
if (fn2(mapObject, sprite))\
{\
- sprite->data2 = 2;\
+ sprite->data[2] = 2;\
return TRUE;\
}\
return FALSE;\
@@ -4323,7 +4323,7 @@ void sub_8093FC4(struct MapObject *mapObject, struct Sprite *sprite, u8 directio
sub_8092F88(direction, &x, &y, displacements[speed], displacements[speed]);
npc_coords_shift(mapObject, mapObject->coords2.x + x, mapObject->coords2.y + y);
sub_809783C(sprite, direction, speed, a5);
- sprite->data2 = 1;
+ sprite->data[2] = 1;
sprite->animPaused = 0;
mapObject->mapobj_bit_2 = 1;
mapObject->mapobj_bit_4 = 1;
@@ -4345,11 +4345,11 @@ u8 sub_80940C4(struct MapObject *mapObject, struct Sprite *sprite, u8 callback(s
memcpy(displacements, gUnknown_0850DFC2, sizeof gUnknown_0850DFC2);
result = callback(sprite);
- if (result == 1 && displacements[sprite->data4] != 0)
+ if (result == 1 && displacements[sprite->data[4]] != 0)
{
x = 0;
y = 0;
- sub_8092F88(mapObject->placeholder18, &x, &y, displacements[sprite->data4], displacements[sprite->data4]);
+ sub_8092F88(mapObject->placeholder18, &x, &y, displacements[sprite->data[4]], displacements[sprite->data[4]]);
npc_coords_shift(mapObject, mapObject->coords2.x + x, mapObject->coords2.y + y);
mapObject->mapobj_bit_2 = TRUE;
mapObject->mapobj_bit_4 = TRUE;
@@ -4418,7 +4418,7 @@ bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\
if (fn2(mapObject, sprite))\
{\
mapObject->mapobj_bit_22 = FALSE;\
- sprite->data2 = 2;\
+ sprite->data[2] = 2;\
return TRUE;\
}\
return FALSE;\
@@ -4431,15 +4431,15 @@ maybe_shadow_1_macro(sub_8094338, maybe_shadow_1, sub_80941B0, DIR_EAST, 2, 0)
void sub_8094390(struct Sprite *sprite, u16 duration)
{
- sprite->data2 = 1;
- sprite->data3 = duration;
+ sprite->data[2] = 1;
+ sprite->data[3] = duration;
}
bool8 sub_8094398(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (-- sprite->data3 == 0)
+ if (-- sprite->data[3] == 0)
{
- sprite->data2 = 2;
+ sprite->data[2] = 2;
return TRUE;
}
return FALSE;
@@ -4468,15 +4468,15 @@ void sub_8094554(struct MapObject *mapObject, struct Sprite *sprite, u8 directio
FieldObjectSetDirection(mapObject, direction);
npc_apply_anim_looping(mapObject, sprite, animNum);
sprite->animPaused = FALSE;
- sprite->data2 = 1;
- sprite->data3 = duration;
+ sprite->data[2] = 1;
+ sprite->data[3] = duration;
}
bool8 sub_809459C(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (-- sprite->data3 == 0)
+ if (-- sprite->data[3] == 0)
{
- sprite->data2 = 2;
+ sprite->data[2] = 2;
sprite->animPaused = TRUE;
return TRUE;
}
@@ -4485,7 +4485,7 @@ bool8 sub_809459C(struct MapObject *mapObject, struct Sprite *sprite)
bool8 sub_80945C4(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (sprite->data3 & 1)
+ if (sprite->data[3] & 1)
{
sprite->animDelayCounter ++;
}
@@ -4539,7 +4539,7 @@ void npc_set_direction_and_anim__an_proceed(struct MapObject *mapObject, struct
{
obj_anim_image_set_and_seek(sprite, animNum, 0);
FieldObjectSetDirection(mapObject, direction);
- sprite->data2 = 1;
+ sprite->data[2] = 1;
}
bool8 sub_8094DAC(struct MapObject *mapObject, struct Sprite *sprite)
@@ -4552,7 +4552,7 @@ bool8 sub_8094DC4(struct MapObject *mapObject, struct Sprite *sprite)
{
if (sub_80979BC(sprite))
{
- sprite->data2 = 2;
+ sprite->data[2] = 2;
return TRUE;
}
return FALSE;
@@ -4575,7 +4575,7 @@ bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\
{\
if (sub_80941C8(mapObject, sprite))\
{\
- sprite->data2 = 2;\
+ sprite->data[2] = 2;\
mapObject->mapobj_bit_5 = FALSE;\
return TRUE;\
}\
@@ -4595,7 +4595,7 @@ bool8 sub_8094F38(struct MapObject *mapObject, struct Sprite *sprite)
{
an_look_any(mapObject, sprite, sub_8092AF8(mapObject->coords2.x, mapObject->coords2.y, gMapObjects[mapObjectId].coords2.x, gMapObjects[mapObjectId].coords2.y));
}
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return TRUE;
}
@@ -4607,21 +4607,21 @@ bool8 sub_8094F94(struct MapObject *mapObject, struct Sprite *sprite)
{
an_look_any(mapObject, sprite, GetOppositeDirection(sub_8092AF8(mapObject->coords2.x, mapObject->coords2.y, gMapObjects[mapObjectId].coords2.x, gMapObjects[mapObjectId].coords2.y)));
}
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return TRUE;
}
bool8 sub_8094FF8(struct MapObject *mapObject, struct Sprite *sprite)
{
mapObject->mapobj_bit_9 = TRUE;
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return TRUE;
}
bool8 sub_8095008(struct MapObject *mapObject, struct Sprite *sprite)
{
mapObject->mapobj_bit_9 = FALSE;
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return TRUE;
}
@@ -4653,42 +4653,42 @@ bool8 sub_8095450(struct MapObject *mapObject, struct Sprite *sprite)
bool8 sub_8095460(struct MapObject *mapObject, struct Sprite *sprite)
{
mapObject->mapobj_bit_25 = FALSE;
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return TRUE;
}
bool8 sub_8095470(struct MapObject *mapObject, struct Sprite *sprite)
{
mapObject->mapobj_bit_25 = TRUE;
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return TRUE;
}
bool8 sub_8095480(struct MapObject *mapObject, struct Sprite *sprite)
{
mapObject->mapobj_bit_12 = TRUE;
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return TRUE;
}
bool8 sub_8095490(struct MapObject *mapObject, struct Sprite *sprite)
{
mapObject->mapobj_bit_12 = GetFieldObjectGraphicsInfo(mapObject->graphicsId)->inanimate;
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return TRUE;
}
bool8 sub_80954BC(struct MapObject *mapObject, struct Sprite *sprite)
{
mapObject->mapobj_bit_13 = TRUE;
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return TRUE;
}
bool8 sub_80954CC(struct MapObject *mapObject, struct Sprite *sprite)
{
mapObject->mapobj_bit_13 = FALSE;
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return TRUE;
}
@@ -4696,7 +4696,7 @@ bool8 do_exclamation_mark_bubble_1(struct MapObject *mapObject, struct Sprite *s
{
FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1);
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return TRUE;
}
@@ -4704,7 +4704,7 @@ bool8 do_exclamation_mark_bubble_2(struct MapObject *mapObject, struct Sprite *s
{
FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_2);
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return TRUE;
}
@@ -4712,7 +4712,7 @@ bool8 do_heart_bubble(struct MapObject *mapObject, struct Sprite *sprite)
{
FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
FieldEffectStart(FLDEFF_HEART_ICON);
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return TRUE;
}
@@ -4725,11 +4725,11 @@ bool8 sub_8095548(struct MapObject *mapObject, struct Sprite *sprite)
}
if (mapObject->animPattern != 0x39 && mapObject->animPattern != 0x3A)
{
- sprite->data2 = 2;
+ sprite->data[2] = 2;
return TRUE;
}
sub_8155D78(mapObject);
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return sub_809558C(mapObject, sprite);
}
@@ -4737,7 +4737,7 @@ bool8 sub_809558C(struct MapObject *mapObject, struct Sprite *sprite)
{
if (sub_8155DA0(mapObject))
{
- sprite->data2 = 2;
+ sprite->data[2] = 2;
return TRUE;
}
return FALSE;
@@ -4746,7 +4746,7 @@ bool8 sub_809558C(struct MapObject *mapObject, struct Sprite *sprite)
bool8 sub_80955AC(struct MapObject *mapObject, struct Sprite *sprite)
{
obj_anim_image_set_and_seek(sprite, 1, 0);
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return FALSE;
}
@@ -4755,7 +4755,7 @@ bool8 sub_80955C8(struct MapObject *mapObject, struct Sprite *sprite)
if (sub_80979BC(sprite))
{
SetFieldObjectStepTimer(sprite, 32);
- sprite->data2 = 2;
+ sprite->data[2] = 2;
}
return FALSE;
}
@@ -4766,7 +4766,7 @@ bool8 sub_80955EC(struct MapObject *mapObject, struct Sprite *sprite)
if (RunFieldObjectStepTimer(sprite))
{
mapObject->mapobj_bit_13 = TRUE;
- sprite->data2 = 3;
+ sprite->data[2] = 3;
}
return FALSE;
}
@@ -4774,7 +4774,7 @@ bool8 sub_80955EC(struct MapObject *mapObject, struct Sprite *sprite)
bool8 sub_8095628(struct MapObject *mapObject, struct Sprite *sprite)
{
obj_anim_image_set_and_seek(sprite, 1, 0);
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return FALSE;
}
@@ -4783,7 +4783,7 @@ bool8 sub_8095644(struct MapObject *mapObject, struct Sprite *sprite)
if (sub_80979BC(sprite))
{
SetFieldObjectStepTimer(sprite, 32);
- sprite->data2 = 2;
+ sprite->data[2] = 2;
}
return FALSE;
}
@@ -4794,7 +4794,7 @@ bool8 sub_8095668(struct MapObject *mapObject, struct Sprite *sprite)
if (RunFieldObjectStepTimer(sprite))
{
mapObject->mapobj_bit_13 = TRUE;
- sprite->data2 = 3;
+ sprite->data[2] = 3;
}
return FALSE;
}
@@ -4802,14 +4802,14 @@ bool8 sub_8095668(struct MapObject *mapObject, struct Sprite *sprite)
bool8 sub_80956A4(struct MapObject *mapObject, struct Sprite *sprite)
{
mapObject->mapobj_bit_26 = TRUE;
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return TRUE;
}
bool8 sub_80956B4(struct MapObject *mapObject, struct Sprite *sprite)
{
mapObject->mapobj_bit_26 = FALSE;
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return TRUE;
}
@@ -4856,7 +4856,7 @@ bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\
if (fn2(mapObject, sprite))\
{\
sprite->affineAnimPaused = TRUE;\
- sprite->data2 = 2;\
+ sprite->data[2] = 2;\
return TRUE;\
}\
return FALSE;\
@@ -4873,7 +4873,7 @@ static void sub_80958C0(struct MapObject *mapObject, struct Sprite *sprite, u8 d
npc_coords_shift_still(mapObject);
obj_npc_animation_step(mapObject, sprite, sub_80929FC(direction));
sprite->animPaused = TRUE;
- sprite->data2 = 1;
+ sprite->data[2] = 1;
}
bool8 sub_8095900(struct MapObject *mapObject, struct Sprite *sprite)
@@ -4941,7 +4941,7 @@ bool8 sub_8095B0C(struct MapObject *mapObject, struct Sprite *sprite)
bool8 sub_8095B44(struct MapObject *mapObject, struct Sprite *sprite)
{
sub_8095AF0(mapObject, sprite);
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return sub_8095B64(mapObject, sprite);
}
@@ -4949,7 +4949,7 @@ bool8 sub_8095B64(struct MapObject *mapObject, struct Sprite *sprite)
{
if (sub_8095B0C(mapObject, sprite))
{
- sprite->data2 = 2;
+ sprite->data[2] = 2;
return TRUE;
}
return FALSE;
@@ -5017,7 +5017,7 @@ an_walk_any_2_macro(sub_8096428, sub_8096330, npc_obj_ministep_stop_on_arrival,
bool8 sub_8096468(struct MapObject *mapObject, struct Sprite *sprite)
{
sub_8097FA4(mapObject);
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return TRUE;
}
@@ -5025,7 +5025,7 @@ bool8 sub_809647C(struct MapObject *mapObject, struct Sprite *sprite)
{
sub_8098044(mapObject->mapobj_unk_1B);
sprite->pos2.y = 0;
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return TRUE;
}
@@ -5034,7 +5034,7 @@ bool8 sub_8096494(struct MapObject *mapObject, struct Sprite *sprite)
if (sprite->pos2.y == 0)
{
sub_8098044(mapObject->mapobj_unk_1B);
- sprite->data2 = 1;
+ sprite->data[2] = 1;
return TRUE;
}
return FALSE;
diff --git a/src/field_poison.c b/src/field_poison.c
index d953ab29c..b83788210 100644
--- a/src/field_poison.c
+++ b/src/field_poison.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "string_util.h"
#include "party_menu.h"
-#include "species.h"
+#include "constants/species.h"
#include "task.h"
#include "field_message_box.h"
#include "strings.h"
diff --git a/src/field_special_scene.c b/src/field_special_scene.c
index f92f342eb..d46ddeaa6 100755
--- a/src/field_special_scene.c
+++ b/src/field_special_scene.c
@@ -2,11 +2,11 @@
#include "task.h"
#include "sprite.h"
#include "field_map_obj.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "sound.h"
#include "palette.h"
#include "script.h"
-#include "vars.h"
+#include "constants/vars.h"
#include "event_data.h"
#include "main.h"
diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c
index bc7177bd7..52babe346 100644
--- a/src/hall_of_fame.c
+++ b/src/hall_of_fame.c
@@ -9,21 +9,22 @@
#include "gpu_regs.h"
#include "main.h"
#include "sound.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "decompress.h"
#include "save.h"
#include "window.h"
#include "bg.h"
-#include "species.h"
-#include "game_stat.h"
+#include "constants/species.h"
+#include "constants/game_stat.h"
#include "blend_palette.h"
#include "string_util.h"
#include "m4a.h"
#include "international_string_util.h"
#include "unknown_task.h"
#include "trig.h"
-#include "rng.h"
+#include "random.h"
#include "event_data.h"
+#include "overworld.h"
struct HallofFameMon
{
@@ -57,6 +58,7 @@ extern struct MusicPlayerInfo gMPlay_BGM;
extern MainCallback gGameContinueCallback;
extern u32 gDamagedSaveSectors;
extern u8 gReservedSpritePaletteCount;
+extern const u8 gSpeciesNames[][11];
#define HALL_OF_FAME_MAX_TEAMS 50
@@ -580,9 +582,9 @@ static void Task_Hof_SetMonDisplayTask(u8 taskId)
gTasks[taskId].func = Task_Hof_DisplayMon;
}
-#define tDestinationX data1
-#define tDestinationY data2
-#define tSpecies data7
+#define tDestinationX data[1]
+#define tDestinationY data[2]
+#define tSpecies data[7]
static void Task_Hof_DisplayMon(u8 taskId)
{
@@ -613,7 +615,7 @@ static void Task_Hof_DisplayMon(u8 taskId)
spriteId = sub_818D3E4(currMon->species, currMon->tid, currMon->personality, 1, xPos, yPos, currMonId, 0xFFFF);
gSprites[spriteId].tDestinationX = field4;
gSprites[spriteId].tDestinationY = field6;
- gSprites[spriteId].data0 = 0;
+ gSprites[spriteId].data[0] = 0;
gSprites[spriteId].tSpecies = currMon->species;
gSprites[spriteId].callback = SpriteCB_GetOnScreenAndAnimate;
gTasks[taskId].tMonSpriteId(currMonId) = spriteId;
@@ -1404,13 +1406,13 @@ static void sub_81751A4(struct Sprite* sprite)
u8 tableID;
sprite->pos2.y++;
- sprite->pos2.y += sprite->data1;
+ sprite->pos2.y += sprite->data[1];
- tableID = sprite->data0;
+ tableID = sprite->data[0];
rand = (Random() % 4) + 8;
sprite->pos2.x = rand * gSineTable[tableID] / 256;
- sprite->data0 += 4;
+ sprite->data[0] += 4;
}
}
@@ -1428,9 +1430,9 @@ static bool8 sub_81751FC(void)
StartSpriteAnim(sprite, Random() % 17);
if (Random() & 3)
- sprite->data1 = 0;
+ sprite->data[1] = 0;
else
- sprite->data1 = 1;
+ sprite->data[1] = 1;
return FALSE;
}
diff --git a/src/heal_location.c b/src/heal_location.c
index efc534170..aa90fe1ae 100644
--- a/src/heal_location.c
+++ b/src/heal_location.c
@@ -1,10 +1,10 @@
// Includes
#include "global.h"
-#include "map_constants.h"
+#include "constants/maps.h"
#include "heal_location.h"
-#define HEAL_LOCATION(map, x, y) {MAP_GROUP_##map, MAP_ID_##map, x, y}
+#define HEAL_LOCATION(map, x, y) {MAP_GROUP(map), MAP_NUM(map), x, y}
// Static type declarations
diff --git a/src/item.c b/src/item.c
index 5cf9edf6c..931027e25 100644
--- a/src/item.c
+++ b/src/item.c
@@ -1,6 +1,6 @@
#include "global.h"
#include "item.h"
-#include "items.h"
+#include "constants/items.h"
#include "string_util.h"
#include "text.h"
#include "event_data.h"
diff --git a/src/lilycove_lady.c b/src/lilycove_lady.c
index 62171e475..95270974a 100644
--- a/src/lilycove_lady.c
+++ b/src/lilycove_lady.c
@@ -8,10 +8,10 @@
#include "rom6.h"
#include "event_data.h"
#include "script.h"
-#include "rng.h"
+#include "random.h"
#include "string_util.h"
#include "item.h"
-#include "items.h"
+#include "constants/items.h"
#include "item_menu.h"
#include "text.h"
#include "easy_chat.h"
diff --git a/src/load_save.c b/src/load_save.c
index 1d78bda50..e0106c0a8 100644
--- a/src/load_save.c
+++ b/src/load_save.c
@@ -1,9 +1,9 @@
-#include "global.h"
+#include "global.h"
#include "gba/flash_internal.h"
#include "load_save.h"
#include "main.h"
#include "pokemon.h"
-#include "rng.h"
+#include "random.h"
extern void* gUnknown_0203CF5C;
@@ -28,7 +28,7 @@ struct LoadedSaveData
/*0x00F0*/ struct ItemSlot pokeBalls[16];
/*0x0130*/ struct ItemSlot TMsHMs[64];
/*0x0230*/ struct ItemSlot berries[46];
- /*0x02E8*/ struct MailStruct mail[16];
+ /*0x02E8*/ struct MailStruct mail[MAIL_COUNT];
};
EWRAM_DATA struct SaveBlock2 gSaveblock2 = {0};
@@ -330,7 +330,7 @@ void LoadSerializedGame(void)
void copy_bags_and_unk_data_from_save_blocks(void)
{
int i;
-
+
// load player items.
for (i = 0; i < 30; i++)
gLoadedSaveData.items[i] = gSaveBlock1Ptr->bagPocket_Items[i];
diff --git a/src/lottery_corner.c b/src/lottery_corner.c
index 211b78f19..2ded9c943 100644
--- a/src/lottery_corner.c
+++ b/src/lottery_corner.c
@@ -2,9 +2,9 @@
#include "lottery_corner.h"
#include "event_data.h"
#include "pokemon.h"
-#include "items.h"
-#include "rng.h"
-#include "species.h"
+#include "constants/items.h"
+#include "random.h"
+#include "constants/species.h"
#include "string_util.h"
#include "text.h"
diff --git a/src/mail.c b/src/mail.c
index dddc06feb..877035fb6 100644
--- a/src/mail.c
+++ b/src/mail.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "constants/items.h"
#include "main.h"
#include "overworld.h"
#include "task.h"
@@ -14,7 +15,7 @@
#include "gpu_regs.h"
#include "bg.h"
#include "pokemon_icon.h"
-#include "species.h"
+#include "constants/species.h"
#include "malloc.h"
#include "easy_chat.h"
#include "mail_data.h"
diff --git a/src/main.c b/src/main.c
index 665a4dd84..07ce07f1c 100644
--- a/src/main.c
+++ b/src/main.c
@@ -2,7 +2,7 @@
#include "main.h"
#include "m4a.h"
#include "rtc.h"
-#include "rng.h"
+#include "random.h"
#include "dma3.h"
#include "gba/flash_internal.h"
#include "battle.h"
diff --git a/src/new_game.c b/src/new_game.c
index 75e80dc8e..12873fec9 100644
--- a/src/new_game.c
+++ b/src/new_game.c
@@ -1,6 +1,6 @@
#include "global.h"
#include "new_game.h"
-#include "rng.h"
+#include "random.h"
#include "pokemon.h"
#include "roamer.h"
#include "pokemon_size_record.h"
diff --git a/src/rom4.c b/src/overworld.c
index c538595f2..c538595f2 100644
--- a/src/rom4.c
+++ b/src/overworld.c
diff --git a/src/pokeball.c b/src/pokeball.c
new file mode 100644
index 000000000..127ba8e9d
--- /dev/null
+++ b/src/pokeball.c
@@ -0,0 +1,1282 @@
+#include "global.h"
+#include "pokemon.h"
+#include "sprite.h"
+#include "pokeball.h"
+#include "battle.h"
+#include "battle_anim.h"
+#include "task.h"
+#include "sound.h"
+#include "constants/songs.h"
+#include "trig.h"
+#include "main.h"
+#include "m4a.h"
+#include "decompress.h"
+#include "constants/species.h"
+#include "util.h"
+#include "graphics.h"
+
+extern bool8 gDoingBattleAnim;
+extern u8 gActiveBank;
+extern u8 gBankTarget;
+extern u16 gBattlePartyID[];
+extern u8 gBankSpriteIds[];
+extern u8 gHealthBoxesIds[];
+extern struct MusicPlayerInfo gMPlay_BGM;
+
+// this file's functions
+static void Task_DoPokeballSendOutAnim(u8 taskId);
+static void SpriteCB_TestBallThrow(struct Sprite *sprite);
+static void SpriteCB_PlayerMonSendOut_1(struct Sprite *sprite);
+static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite);
+static void SpriteCB_OpponentMonSendOut(struct Sprite *sprite);
+static void sub_80756D4(struct Sprite *sprite);
+static void sub_80756E0(struct Sprite *sprite);
+static void sub_807574C(struct Sprite *sprite);
+static void sub_80757E4(struct Sprite *sprite);
+static void sub_8075838(struct Sprite *sprite);
+static void sub_8075930(struct Sprite *sprite);
+static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite);
+static void SpriteCB_ReleaseMon2FromBall(struct Sprite *sprite);
+static void sub_8075970(struct Sprite *sprite);
+static void HandleBallAnimEnd(struct Sprite *sprite);
+static void sub_8075FB4(struct Sprite *sprite);
+static void sub_80760F8(struct Sprite *sprite);
+static void sub_8076524(struct Sprite *sprite);
+static void sub_80765E0(struct Sprite *sprite);
+static void sub_80767D4(struct Sprite *sprite);
+static void sub_807687C(struct Sprite *sprite);
+static void sub_80768F0(struct Sprite *sprite);
+static void sub_80769A8(struct Sprite *sprite);
+static void sub_80769CC(struct Sprite *sprite);
+static void SpriteCB_HitAnimHealthoxEffect(struct Sprite *sprite);
+static u16 GetBankPokeballItemId(u8 bank);
+
+// rom const data
+
+#define GFX_TAG_POKEBALL 55000
+#define GFX_TAG_GREATBALL 55001
+#define GFX_TAG_SAFARIBALL 55002
+#define GFX_TAG_ULTRABALL 55003
+#define GFX_TAG_MASTERBALL 55004
+#define GFX_TAG_NETBALL 55005
+#define GFX_TAG_DIVEBALL 55006
+#define GFX_TAG_NESTBALL 55007
+#define GFX_TAG_REPEATBALL 55008
+#define GFX_TAG_TIMERBALL 55009
+#define GFX_TAG_LUXURYBALL 55010
+#define GFX_TAG_PREMIERBALL 55011
+
+const struct CompressedSpriteSheet gBallSpriteSheets[POKEBALL_COUNT] =
+{
+ {gInterfaceGfx_PokeBall, 384, GFX_TAG_POKEBALL},
+ {gInterfaceGfx_GreatBall, 384, GFX_TAG_GREATBALL},
+ {gInterfaceGfx_SafariBall, 384, GFX_TAG_SAFARIBALL},
+ {gInterfaceGfx_UltraBall, 384, GFX_TAG_ULTRABALL},
+ {gInterfaceGfx_MasterBall, 384, GFX_TAG_MASTERBALL},
+ {gInterfaceGfx_NetBall, 384, GFX_TAG_NETBALL},
+ {gInterfaceGfx_DiveBall, 384, GFX_TAG_DIVEBALL},
+ {gInterfaceGfx_NestBall, 384, GFX_TAG_NESTBALL},
+ {gInterfaceGfx_RepeatBall, 384, GFX_TAG_REPEATBALL},
+ {gInterfaceGfx_TimerBall, 384, GFX_TAG_TIMERBALL},
+ {gInterfaceGfx_LuxuryBall, 384, GFX_TAG_LUXURYBALL},
+ {gInterfaceGfx_PremierBall, 384, GFX_TAG_PREMIERBALL},
+};
+
+const struct CompressedSpritePalette gBallSpritePalettes[POKEBALL_COUNT] =
+{
+ {gInterfacePal_PokeBall, GFX_TAG_POKEBALL},
+ {gInterfacePal_GreatBall, GFX_TAG_GREATBALL},
+ {gInterfacePal_SafariBall, GFX_TAG_SAFARIBALL},
+ {gInterfacePal_UltraBall, GFX_TAG_ULTRABALL},
+ {gInterfacePal_MasterBall, GFX_TAG_MASTERBALL},
+ {gInterfacePal_NetBall, GFX_TAG_NETBALL},
+ {gInterfacePal_DiveBall, GFX_TAG_DIVEBALL},
+ {gInterfacePal_NestBall, GFX_TAG_NESTBALL},
+ {gInterfacePal_RepeatBall, GFX_TAG_REPEATBALL},
+ {gInterfacePal_TimerBall, GFX_TAG_TIMERBALL},
+ {gInterfacePal_LuxuryBall, GFX_TAG_LUXURYBALL},
+ {gInterfacePal_PremierBall, GFX_TAG_PREMIERBALL},
+};
+
+static const struct OamData sBallOamData =
+{
+ .y = 0,
+ .affineMode = 3,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 1,
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const union AnimCmd sBallAnimSeq3[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd sBallAnimSeq5[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd sBallAnimSeq4[] =
+{
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd sBallAnimSeq6[] =
+{
+ ANIMCMD_FRAME(12, 1),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd sBallAnimSeq0[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sBallAnimSeq1[] =
+{
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sBallAnimSeq2[] =
+{
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd *const sBallAnimSequences[] =
+{
+ sBallAnimSeq0,
+ sBallAnimSeq1,
+ sBallAnimSeq2,
+
+ // unused?
+ sBallAnimSeq3,
+ sBallAnimSeq4,
+ sBallAnimSeq5,
+ sBallAnimSeq6,
+};
+
+static const union AffineAnimCmd sBallAffineAnimSeq0[] =
+{
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+static const union AffineAnimCmd sBallAffineAnimSeq1[] =
+{
+ AFFINEANIMCMD_FRAME(0, 0, -3, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+static const union AffineAnimCmd sBallAffineAnimSeq2[] =
+{
+ AFFINEANIMCMD_FRAME(0, 0, 3, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+static const union AffineAnimCmd sBallAffineAnimSeq3[] =
+{
+ AFFINEANIMCMD_FRAME(256, 256, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd sBallAffineAnimSeq4[] =
+{
+ AFFINEANIMCMD_FRAME(0, 0, 25, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+static const union AffineAnimCmd *const sBallAffineAnimSequences[] =
+{
+ sBallAffineAnimSeq0,
+ sBallAffineAnimSeq1,
+ sBallAffineAnimSeq2,
+ sBallAffineAnimSeq3,
+ sBallAffineAnimSeq4,
+};
+
+const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
+{
+ {
+ .tileTag = GFX_TAG_POKEBALL,
+ .paletteTag = GFX_TAG_POKEBALL,
+ .oam = &sBallOamData,
+ .anims = sBallAnimSequences,
+ .images = NULL,
+ .affineAnims = sBallAffineAnimSequences,
+ .callback = SpriteCB_TestBallThrow,
+ },
+ {
+ .tileTag = GFX_TAG_GREATBALL,
+ .paletteTag = GFX_TAG_GREATBALL,
+ .oam = &sBallOamData,
+ .anims = sBallAnimSequences,
+ .images = NULL,
+ .affineAnims = sBallAffineAnimSequences,
+ .callback = SpriteCB_TestBallThrow,
+ },
+ {
+ .tileTag = GFX_TAG_SAFARIBALL,
+ .paletteTag = GFX_TAG_SAFARIBALL,
+ .oam = &sBallOamData,
+ .anims = sBallAnimSequences,
+ .images = NULL,
+ .affineAnims = sBallAffineAnimSequences,
+ .callback = SpriteCB_TestBallThrow,
+ },
+ {
+ .tileTag = GFX_TAG_ULTRABALL,
+ .paletteTag = GFX_TAG_ULTRABALL,
+ .oam = &sBallOamData,
+ .anims = sBallAnimSequences,
+ .images = NULL,
+ .affineAnims = sBallAffineAnimSequences,
+ .callback = SpriteCB_TestBallThrow,
+ },
+ {
+ .tileTag = GFX_TAG_MASTERBALL,
+ .paletteTag = GFX_TAG_MASTERBALL,
+ .oam = &sBallOamData,
+ .anims = sBallAnimSequences,
+ .images = NULL,
+ .affineAnims = sBallAffineAnimSequences,
+ .callback = SpriteCB_TestBallThrow,
+ },
+ {
+ .tileTag = GFX_TAG_NETBALL,
+ .paletteTag = GFX_TAG_NETBALL,
+ .oam = &sBallOamData,
+ .anims = sBallAnimSequences,
+ .images = NULL,
+ .affineAnims = sBallAffineAnimSequences,
+ .callback = SpriteCB_TestBallThrow,
+ },
+ {
+ .tileTag = GFX_TAG_DIVEBALL,
+ .paletteTag = GFX_TAG_DIVEBALL,
+ .oam = &sBallOamData,
+ .anims = sBallAnimSequences,
+ .images = NULL,
+ .affineAnims = sBallAffineAnimSequences,
+ .callback = SpriteCB_TestBallThrow,
+ },
+ {
+ .tileTag = GFX_TAG_NESTBALL,
+ .paletteTag = GFX_TAG_NESTBALL,
+ .oam = &sBallOamData,
+ .anims = sBallAnimSequences,
+ .images = NULL,
+ .affineAnims = sBallAffineAnimSequences,
+ .callback = SpriteCB_TestBallThrow,
+ },
+ {
+ .tileTag = GFX_TAG_REPEATBALL,
+ .paletteTag = GFX_TAG_REPEATBALL,
+ .oam = &sBallOamData,
+ .anims = sBallAnimSequences,
+ .images = NULL,
+ .affineAnims = sBallAffineAnimSequences,
+ .callback = SpriteCB_TestBallThrow,
+ },
+ {
+ .tileTag = GFX_TAG_TIMERBALL,
+ .paletteTag = GFX_TAG_TIMERBALL,
+ .oam = &sBallOamData,
+ .anims = sBallAnimSequences,
+ .images = NULL,
+ .affineAnims = sBallAffineAnimSequences,
+ .callback = SpriteCB_TestBallThrow,
+ },
+ {
+ .tileTag = GFX_TAG_LUXURYBALL,
+ .paletteTag = GFX_TAG_LUXURYBALL,
+ .oam = &sBallOamData,
+ .anims = sBallAnimSequences,
+ .images = NULL,
+ .affineAnims = sBallAffineAnimSequences,
+ .callback = SpriteCB_TestBallThrow,
+ },
+ {
+ .tileTag = GFX_TAG_PREMIERBALL,
+ .paletteTag = GFX_TAG_PREMIERBALL,
+ .oam = &sBallOamData,
+ .anims = sBallAnimSequences,
+ .images = NULL,
+ .affineAnims = sBallAffineAnimSequences,
+ .callback = SpriteCB_TestBallThrow,
+ },
+};
+
+#define tFrames data[0]
+#define tPan data[1]
+#define tThrowId data[2]
+#define tBank data[3]
+#define tOpponentBank data[4]
+
+u8 DoPokeballSendOutAnimation(s16 pan, u8 kindOfThrow)
+{
+ u8 taskId;
+
+ gDoingBattleAnim = TRUE;
+ gBattleSpritesDataPtr->healthBoxesData[gActiveBank].ballAnimActive = 1;
+
+ taskId = CreateTask(Task_DoPokeballSendOutAnim, 5);
+ gTasks[taskId].tPan = pan;
+ gTasks[taskId].tThrowId = kindOfThrow;
+ gTasks[taskId].tBank = gActiveBank;
+
+ return 0;
+}
+
+#define sBank data[6]
+
+static void Task_DoPokeballSendOutAnim(u8 taskId)
+{
+ u16 throwCaseId;
+ u8 bank;
+ u16 itemId, ballId;
+ u8 ballSpriteId;
+ bool8 notSendOut = FALSE;
+
+ if (gTasks[taskId].tFrames == 0)
+ {
+ gTasks[taskId].tFrames++;
+ return;
+ }
+
+ throwCaseId = gTasks[taskId].tThrowId;
+ bank = gTasks[taskId].tBank;
+
+ if (GetBankSide(bank) != SIDE_PLAYER)
+ itemId = GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_POKEBALL);
+ else
+ itemId = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_POKEBALL);
+
+ ballId = ItemIdToBallId(itemId);
+ LoadBallGfx(ballId);
+ ballSpriteId = CreateSprite(&gBallSpriteTemplates[ballId], 32, 80, 29);
+ gSprites[ballSpriteId].data[0] = 0x80;
+ gSprites[ballSpriteId].data[1] = 0;
+ gSprites[ballSpriteId].data[7] = throwCaseId;
+
+ switch (throwCaseId)
+ {
+ case POKEBALL_PLAYER_SENDOUT:
+ gBankTarget = bank;
+ gSprites[ballSpriteId].pos1.x = 24;
+ gSprites[ballSpriteId].pos1.y = 68;
+ gSprites[ballSpriteId].callback = SpriteCB_PlayerMonSendOut_1;
+ break;
+ case POKEBALL_OPPONENT_SENDOUT:
+ gSprites[ballSpriteId].pos1.x = GetBankPosition(bank, BANK_X_POS);
+ gSprites[ballSpriteId].pos1.y = GetBankPosition(bank, BANK_Y_POS) + 24;
+ gBankTarget = bank;
+ gSprites[ballSpriteId].data[0] = 0;
+ gSprites[ballSpriteId].callback = SpriteCB_OpponentMonSendOut;
+ break;
+ default:
+ gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
+ notSendOut = TRUE;
+ break;
+ }
+
+ gSprites[ballSpriteId].sBank = gBankTarget;
+ if (!notSendOut)
+ {
+ DestroyTask(taskId);
+ return;
+ }
+
+ // this will perform an unused ball throw animation
+ gSprites[ballSpriteId].data[0] = 0x22;
+ gSprites[ballSpriteId].data[2] = GetBankPosition(gBankTarget, BANK_X_POS);
+ gSprites[ballSpriteId].data[4] = GetBankPosition(gBankTarget, BANK_Y_POS) - 16;
+ gSprites[ballSpriteId].data[5] = -40;
+ sub_80A68D4(&gSprites[ballSpriteId]);
+ gSprites[ballSpriteId].oam.affineParam = taskId;
+ gTasks[taskId].tOpponentBank = gBankTarget;
+ gTasks[taskId].func = TaskDummy;
+ PlaySE(SE_NAGERU);
+}
+
+static void SpriteCB_TestBallThrow(struct Sprite *sprite)
+{
+ if (AnimateBallThrow(sprite))
+ {
+ u16 ballId;
+ u8 taskId = sprite->oam.affineParam;
+ u8 opponentBank = gTasks[taskId].tOpponentBank;
+ u8 noOfShakes = gTasks[taskId].tThrowId;
+
+ StartSpriteAnim(sprite, 1);
+ sprite->affineAnimPaused = 1;
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.x = 0;
+ sprite->pos2.y = 0;
+ sprite->data[5] = 0;
+ ballId = ItemIdToBallId(GetBankPokeballItemId(opponentBank));
+ LaunchBallStarsTask(sprite->pos1.x, sprite->pos1.y - 5, 1, 0x1C, ballId);
+ sprite->data[0] = LaunchBallFadeMonTask(FALSE, opponentBank, 14, ballId);
+ sprite->sBank = opponentBank;
+ sprite->data[7] = noOfShakes;
+ DestroyTask(taskId);
+ sprite->callback = sub_80756D4;
+ }
+}
+
+#undef tFrames
+#undef tPan
+#undef tThrowId
+#undef tBank
+#undef tOpponentBank
+
+static void sub_80756D4(struct Sprite *sprite)
+{
+ sprite->callback = sub_80756E0;
+}
+
+static void sub_80756E0(struct Sprite *sprite)
+{
+ if (++sprite->data[5] == 10)
+ {
+ sprite->data[5] = 0;
+ sprite->callback = sub_807574C;
+ StartSpriteAffineAnim(&gSprites[gBankSpriteIds[sprite->sBank]], 2);
+ AnimateSprite(&gSprites[gBankSpriteIds[sprite->sBank]]);
+ gSprites[gBankSpriteIds[sprite->sBank]].data[1] = 0;
+ }
+}
+
+static void sub_807574C(struct Sprite *sprite)
+{
+ sprite->data[5]++;
+ if (sprite->data[5] == 11)
+ PlaySE(SE_SUIKOMU);
+ if (gSprites[gBankSpriteIds[sprite->sBank]].affineAnimEnded)
+ {
+ StartSpriteAnim(sprite, 2);
+ gSprites[gBankSpriteIds[sprite->sBank]].invisible = TRUE;
+ sprite->data[5] = 0;
+ sprite->callback = sub_80757E4;
+ }
+ else
+ {
+ gSprites[gBankSpriteIds[sprite->sBank]].data[1] += 0x60;
+ gSprites[gBankSpriteIds[sprite->sBank]].pos2.y = -gSprites[gBankSpriteIds[sprite->sBank]].data[1] >> 8;
+ }
+}
+
+static void sub_80757E4(struct Sprite *sprite)
+{
+ if (sprite->animEnded)
+ {
+ sprite->data[5]++;
+ if (sprite->data[5] == 1)
+ {
+ sprite->data[3] = 0;
+ sprite->data[4] = 32;
+ sprite->data[5] = 0;
+ sprite->pos1.y += Cos(0, 32);
+ sprite->pos2.y = -Cos(0, sprite->data[4]);
+ sprite->callback = sub_8075838;
+ }
+ }
+}
+
+static void sub_8075838(struct Sprite *sprite)
+{
+ bool8 r5 = FALSE;
+
+ switch (sprite->data[3] & 0xFF)
+ {
+ case 0:
+ sprite->pos2.y = -Cos(sprite->data[5], sprite->data[4]);
+ sprite->data[5] += 4 + (sprite->data[3] >> 8);
+ if (sprite->data[5] >= 64)
+ {
+ sprite->data[4] -= 10;
+ sprite->data[3] += 0x101;
+ if (sprite->data[3] >> 8 == 4)
+ r5 = TRUE;
+ switch (sprite->data[3] >> 8)
+ {
+ case 1:
+ PlaySE(SE_KON);
+ break;
+ case 2:
+ PlaySE(SE_KON2);
+ break;
+ case 3:
+ PlaySE(SE_KON3);
+ break;
+ default:
+ PlaySE(SE_KON4);
+ break;
+ }
+ }
+ break;
+ case 1:
+ sprite->pos2.y = -Cos(sprite->data[5], sprite->data[4]);
+ sprite->data[5] -= 4 + (sprite->data[3] >> 8);
+ if (sprite->data[5] <= 0)
+ {
+ sprite->data[5] = 0;
+ sprite->data[3] &= 0xFF00;
+ }
+ break;
+ }
+ if (r5)
+ {
+ sprite->data[3] = 0;
+ sprite->pos1.y += Cos(64, 32);
+ sprite->pos2.y = 0;
+ if (sprite->data[7] == 0)
+ {
+ sprite->callback = SpriteCB_ReleaseMonFromBall;
+ }
+ else
+ {
+ sprite->callback = sub_8075930;
+ sprite->data[4] = 1;
+ sprite->data[5] = 0;
+ }
+ }
+}
+
+static void sub_8075930(struct Sprite *sprite)
+{
+ sprite->data[3]++;
+ if (sprite->data[3] == 31)
+ {
+ sprite->data[3] = 0;
+ sprite->affineAnimPaused = TRUE;
+ StartSpriteAffineAnim(sprite, 1);
+ sprite->callback = sub_8075970;
+ PlaySE(SE_BOWA);
+ }
+}
+
+static void sub_8075970(struct Sprite *sprite)
+{
+ switch (sprite->data[3] & 0xFF)
+ {
+ case 0:
+ case 2:
+ sprite->pos2.x += sprite->data[4];
+ sprite->data[5] += sprite->data[4];
+ sprite->affineAnimPaused = FALSE;
+ if (sprite->data[5] > 3 || sprite->data[5] < -3)
+ {
+ sprite->data[3]++;
+ sprite->data[5] = 0;
+ }
+ break;
+ case 1:
+ sprite->data[5]++;
+ if (sprite->data[5] == 1)
+ {
+ sprite->data[5] = 0;
+ sprite->data[4] = -sprite->data[4];
+ sprite->data[3]++;
+ sprite->affineAnimPaused = FALSE;
+ if (sprite->data[4] < 0)
+ ChangeSpriteAffineAnim(sprite, 2);
+ else
+ ChangeSpriteAffineAnim(sprite, 1);
+ }
+ else
+ {
+ sprite->affineAnimPaused = TRUE;
+ }
+ break;
+ case 3:
+ sprite->data[3] += 0x100;
+ if (sprite->data[3] >> 8 == sprite->data[7])
+ {
+ sprite->callback = SpriteCB_ReleaseMonFromBall;
+ }
+ else
+ {
+ if (sprite->data[7] == 4 && sprite->data[3] >> 8 == 3)
+ {
+ sprite->callback = sub_8075FB4;
+ sprite->affineAnimPaused = TRUE;
+ }
+ else
+ {
+ sprite->data[3]++;
+ sprite->affineAnimPaused = TRUE;
+ }
+ }
+ break;
+ case 4:
+ default:
+ sprite->data[5]++;
+ if (sprite->data[5] == 31)
+ {
+ sprite->data[5] = 0;
+ sprite->data[3] &= 0xFF00;
+ StartSpriteAffineAnim(sprite, 3);
+ if (sprite->data[4] < 0)
+ StartSpriteAffineAnim(sprite, 2);
+ else
+ StartSpriteAffineAnim(sprite, 1);
+ PlaySE(SE_BOWA);
+ }
+ break;
+ }
+}
+
+#define tCryTaskSpecies data[0]
+#define tCryTaskPan data[1]
+#define tCryTaskWantedCry data[2]
+#define tCryTaskBank data[3]
+#define tCryTaskMonSpriteId data[4]
+#define tCryTaskMonPtr1 data[5]
+#define tCryTaskMonPtr2 data[6]
+#define tCryTaskFrames data[10]
+#define tCryTaskState data[15]
+
+static void Task_PlayCryWhenReleasedFromBall(u8 taskId)
+{
+ u8 wantedCry = gTasks[taskId].tCryTaskWantedCry;
+ s8 pan = gTasks[taskId].tCryTaskPan;
+ u16 species = gTasks[taskId].tCryTaskSpecies;
+ u8 bank = gTasks[taskId].tCryTaskBank;
+ u8 monSpriteId = gTasks[taskId].tCryTaskMonSpriteId;
+ struct Pokemon *mon = (void*)(u32)((gTasks[taskId].tCryTaskMonPtr1 << 0x10) | (u16)(gTasks[taskId].tCryTaskMonPtr2));
+
+ switch (gTasks[taskId].tCryTaskState)
+ {
+ case 0:
+ default:
+ if (gSprites[monSpriteId].affineAnimEnded)
+ gTasks[taskId].tCryTaskState = wantedCry + 1;
+ break;
+ case 1:
+ if (ShouldPlayNormalPokeCry(mon) == TRUE)
+ PlayCry3(species, pan, 0);
+ else
+ PlayCry3(species, pan, 11);
+ gBattleSpritesDataPtr->healthBoxesData[bank].field_1_x40 = 0;
+ DestroyTask(taskId);
+ break;
+ case 2:
+ StopCryAndClearCrySongs();
+ gTasks[taskId].tCryTaskFrames = 3;
+ gTasks[taskId].tCryTaskState = 20;
+ break;
+ case 20:
+ if (gTasks[taskId].tCryTaskFrames == 0)
+ {
+ if (ShouldPlayNormalPokeCry(mon) == TRUE)
+ PlayCry4(species, pan, 1);
+ else
+ PlayCry4(species, pan, 12);
+
+ gBattleSpritesDataPtr->healthBoxesData[bank].field_1_x40 = 0;
+ DestroyTask(taskId);
+ }
+ else
+ {
+ gTasks[taskId].tCryTaskFrames--;
+ }
+ break;
+ case 3:
+ gTasks[taskId].tCryTaskFrames = 6;
+ gTasks[taskId].tCryTaskState = 30;
+ break;
+ case 30:
+ if (gTasks[taskId].tCryTaskFrames != 0)
+ {
+ gTasks[taskId].tCryTaskFrames--;
+ break;
+ }
+ gTasks[taskId].tCryTaskState++;
+ // fall through
+ case 31:
+ if (!IsCryPlayingOrClearCrySongs())
+ {
+ StopCryAndClearCrySongs();
+ gTasks[taskId].tCryTaskFrames = 3;
+ gTasks[taskId].tCryTaskState++;
+ }
+ break;
+ case 32:
+ if (gTasks[taskId].tCryTaskFrames != 0)
+ {
+ gTasks[taskId].tCryTaskFrames--;
+ break;
+ }
+ if (ShouldPlayNormalPokeCry(mon) == TRUE)
+ PlayCry4(species, pan, 0);
+ else
+ PlayCry4(species, pan, 11);
+
+ gBattleSpritesDataPtr->healthBoxesData[bank].field_1_x40 = 0;
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite)
+{
+ u8 bank = sprite->sBank;
+ u32 ballId;
+
+ StartSpriteAnim(sprite, 1);
+ ballId = ItemIdToBallId(GetBankPokeballItemId(bank));
+ LaunchBallStarsTask(sprite->pos1.x, sprite->pos1.y - 5, 1, 0x1C, ballId);
+ sprite->data[0] = LaunchBallFadeMonTask(1, sprite->sBank, 14, ballId);
+ sprite->callback = HandleBallAnimEnd;
+
+ if (gMain.inBattle)
+ {
+ struct Pokemon *mon;
+ u16 species;
+ s8 pan;
+ u16 wantedCryCase;
+ u8 taskId;
+
+ if (GetBankSide(bank) != SIDE_PLAYER)
+ {
+ mon = &gEnemyParty[gBattlePartyID[bank]];
+ pan = 25;
+ }
+ else
+ {
+ mon = &gPlayerParty[gBattlePartyID[bank]];
+ pan = -25;
+ }
+
+ species = GetMonData(mon, MON_DATA_SPECIES);
+ if ((bank == GetBankByIdentity(IDENTITY_PLAYER_MON1) || bank == GetBankByIdentity(IDENTITY_OPPONENT_MON1))
+ && IsDoubleBattle() && gBattleSpritesDataPtr->animationData->field_9_x1)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK)
+ {
+ if (IsBGMPlaying())
+ m4aMPlayStop(&gMPlay_BGM);
+ }
+ else
+ {
+ m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 128);
+ }
+ }
+
+ if (!IsDoubleBattle() || !gBattleSpritesDataPtr->animationData->field_9_x1)
+ wantedCryCase = 0;
+ else if (bank == GetBankByIdentity(IDENTITY_PLAYER_MON1) || bank == GetBankByIdentity(IDENTITY_OPPONENT_MON1))
+ wantedCryCase = 1;
+ else
+ wantedCryCase = 2;
+
+ gBattleSpritesDataPtr->healthBoxesData[bank].field_1_x40 = 1;
+
+ taskId = CreateTask(Task_PlayCryWhenReleasedFromBall, 3);
+ gTasks[taskId].tCryTaskSpecies = species;
+ gTasks[taskId].tCryTaskPan = pan;
+ gTasks[taskId].tCryTaskWantedCry = wantedCryCase;
+ gTasks[taskId].tCryTaskBank = bank;
+ gTasks[taskId].tCryTaskMonSpriteId = gBankSpriteIds[sprite->sBank];
+ gTasks[taskId].tCryTaskMonPtr1 = (u32)(mon) >> 0x10;
+ gTasks[taskId].tCryTaskMonPtr2 = (u32)(mon);
+ gTasks[taskId].tCryTaskState = 0;
+ }
+
+ StartSpriteAffineAnim(&gSprites[gBankSpriteIds[sprite->sBank]], 1);
+
+ if (GetBankSide(sprite->sBank) == SIDE_OPPONENT)
+ gSprites[gBankSpriteIds[sprite->sBank]].callback = sub_8039B58;
+ else
+ gSprites[gBankSpriteIds[sprite->sBank]].callback = sub_8039E44;
+
+ AnimateSprite(&gSprites[gBankSpriteIds[sprite->sBank]]);
+ gSprites[gBankSpriteIds[sprite->sBank]].data[1] = 0x1000;
+}
+
+#undef tCryTaskSpecies
+#undef tCryTaskPan
+#undef tCryTaskWantedCry
+#undef tCryTaskBank
+#undef tCryTaskMonSpriteId
+#undef tCryTaskMonPtr1
+#undef tCryTaskMonPtr2
+#undef tCryTaskFrames
+#undef tCryTaskState
+
+static void sub_8075FB4(struct Sprite *sprite)
+{
+ sprite->animPaused = TRUE;
+ sprite->callback = sub_80760F8;
+ sprite->data[3] = 0;
+ sprite->data[4] = 0;
+ sprite->data[5] = 0;
+}
+
+static void HandleBallAnimEnd(struct Sprite *sprite)
+{
+ bool8 affineAnimEnded = FALSE;
+ u8 bank = sprite->sBank;
+
+ gSprites[gBankSpriteIds[bank]].invisible = FALSE;
+ if (sprite->animEnded)
+ sprite->invisible = TRUE;
+ if (gSprites[gBankSpriteIds[bank]].affineAnimEnded)
+ {
+ StartSpriteAffineAnim(&gSprites[gBankSpriteIds[bank]], 0);
+ affineAnimEnded = TRUE;
+ }
+ else
+ {
+ gSprites[gBankSpriteIds[bank]].data[1] -= 288;
+ gSprites[gBankSpriteIds[bank]].pos2.y = gSprites[gBankSpriteIds[bank]].data[1] >> 8;
+ }
+ if (sprite->animEnded && affineAnimEnded)
+ {
+ s32 i, doneBanks;
+
+ gSprites[gBankSpriteIds[bank]].pos2.y = 0;
+ gDoingBattleAnim = FALSE;
+ gBattleSpritesDataPtr->healthBoxesData[bank].ballAnimActive = 0;
+ FreeSpriteOamMatrix(sprite);
+ DestroySprite(sprite);
+
+ for (doneBanks = 0, i = 0; i < BATTLE_BANKS_COUNT; i++)
+ {
+ if (gBattleSpritesDataPtr->healthBoxesData[i].ballAnimActive == 0)
+ doneBanks++;
+ }
+ if (doneBanks == BATTLE_BANKS_COUNT)
+ {
+ for (i = 0; i < POKEBALL_COUNT; i++)
+ FreeBallGfx(i);
+ }
+ }
+}
+
+static void sub_80760F8(struct Sprite *sprite)
+{
+ u8 bank = sprite->sBank;
+
+ sprite->data[4]++;
+ if (sprite->data[4] == 40)
+ {
+ return;
+ }
+ else if (sprite->data[4] == 95)
+ {
+ gDoingBattleAnim = FALSE;
+ m4aMPlayAllStop();
+ PlaySE(BGM_FANFA5);
+ }
+ else if (sprite->data[4] == 315)
+ {
+ FreeOamMatrix(gSprites[gBankSpriteIds[sprite->sBank]].oam.matrixNum);
+ DestroySprite(&gSprites[gBankSpriteIds[sprite->sBank]]);
+ DestroySpriteAndFreeResources(sprite);
+ if (gMain.inBattle)
+ gBattleSpritesDataPtr->healthBoxesData[bank].ballAnimActive = 0;
+ }
+}
+
+static void SpriteCB_PlayerMonSendOut_1(struct Sprite *sprite)
+{
+ sprite->data[0] = 25;
+ sprite->data[2] = GetBankPosition(sprite->sBank, 2);
+ sprite->data[4] = GetBankPosition(sprite->sBank, 3) + 24;
+ sprite->data[5] = -30;
+ sprite->oam.affineParam = sprite->sBank;
+ sub_80A68D4(sprite);
+ sprite->callback = SpriteCB_PlayerMonSendOut_2;
+}
+
+#define HIBYTE(x) (((x) >> 8) & 0xFF)
+
+static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite)
+{
+ u32 r6;
+ u32 r7;
+
+ if (HIBYTE(sprite->data[7]) >= 35 && HIBYTE(sprite->data[7]) < 80)
+ {
+ s16 r4;
+
+ if ((sprite->oam.affineParam & 0xFF00) == 0)
+ {
+ r6 = sprite->data[1] & 1;
+ r7 = sprite->data[2] & 1;
+ sprite->data[1] = ((sprite->data[1] / 3) & ~1) | r6;
+ sprite->data[2] = ((sprite->data[2] / 3) & ~1) | r7;
+ StartSpriteAffineAnim(sprite, 4);
+ }
+ r4 = sprite->data[0];
+ sub_80A6F3C(sprite);
+ sprite->data[7] += sprite->sBank / 3;
+ sprite->pos2.y += Sin(HIBYTE(sprite->data[7]), sprite->data[5]);
+ sprite->oam.affineParam += 0x100;
+ if ((sprite->oam.affineParam >> 8) % 3 != 0)
+ sprite->data[0] = r4;
+ else
+ sprite->data[0] = r4 - 1;
+ if (HIBYTE(sprite->data[7]) >= 80)
+ {
+ r6 = sprite->data[1] & 1;
+ r7 = sprite->data[2] & 1;
+ sprite->data[1] = ((sprite->data[1] * 3) & ~1) | r6;
+ sprite->data[2] = ((sprite->data[2] * 3) & ~1) | r7;
+ }
+ }
+ else
+ {
+ if (AnimateBallThrow(sprite))
+ {
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.y = 0;
+ sprite->pos2.x = 0;
+ sprite->sBank = sprite->oam.affineParam & 0xFF;
+ sprite->data[0] = 0;
+
+ if (IsDoubleBattle() && gBattleSpritesDataPtr->animationData->field_9_x1
+ && sprite->sBank == GetBankByIdentity(IDENTITY_PLAYER_MON2))
+ sprite->callback = SpriteCB_ReleaseMon2FromBall;
+ else
+ sprite->callback = SpriteCB_ReleaseMonFromBall;
+
+ StartSpriteAffineAnim(sprite, 0);
+ }
+ }
+}
+
+static void SpriteCB_ReleaseMon2FromBall(struct Sprite *sprite)
+{
+ if (sprite->data[0]++ > 24)
+ {
+ sprite->data[0] = 0;
+ sprite->callback = SpriteCB_ReleaseMonFromBall;
+ }
+}
+
+static void SpriteCB_OpponentMonSendOut(struct Sprite *sprite)
+{
+ sprite->data[0]++;
+ if (sprite->data[0] > 15)
+ {
+ sprite->data[0] = 0;
+ if (IsDoubleBattle() && gBattleSpritesDataPtr->animationData->field_9_x1
+ && sprite->sBank == GetBankByIdentity(IDENTITY_OPPONENT_MON2))
+ sprite->callback = SpriteCB_ReleaseMon2FromBall;
+ else
+ sprite->callback = SpriteCB_ReleaseMonFromBall;
+ }
+}
+
+#undef sBank
+
+static u8 LaunchBallStarsTaskForPokeball(u8 x, u8 y, u8 kindOfStars, u8 d)
+{
+ return LaunchBallStarsTask(x, y, kindOfStars, d, BALL_POKE);
+}
+
+static u8 LaunchBallFadeMonTaskForPokeball(bool8 unFadeLater, u8 bank, u32 arg2)
+{
+ return LaunchBallFadeMonTask(unFadeLater, bank, arg2, BALL_POKE);
+}
+
+void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 bank, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h, u16 species)
+{
+ u8 spriteId;
+
+ LoadCompressedObjectPicUsingHeap(&gBallSpriteSheets[0]);
+ LoadCompressedObjectPaletteUsingHeap(&gBallSpritePalettes[0]);
+ spriteId = CreateSprite(&gBallSpriteTemplates[0], x, y, subpriortiy);
+
+ gSprites[spriteId].data[0] = monSpriteId;
+ gSprites[spriteId].data[5] = gSprites[monSpriteId].pos1.x;
+ gSprites[spriteId].data[6] = gSprites[monSpriteId].pos1.y;
+
+ gSprites[monSpriteId].pos1.x = x;
+ gSprites[monSpriteId].pos1.y = y;
+ gSprites[monSpriteId].data[7] = species;
+
+ gSprites[spriteId].data[1] = g;
+ gSprites[spriteId].data[2] = bank;
+ gSprites[spriteId].data[3] = h;
+ gSprites[spriteId].data[4] = h >> 0x10;
+ gSprites[spriteId].oam.priority = oamPriority;
+ gSprites[spriteId].callback = sub_8076524;
+
+ gSprites[monSpriteId].invisible = TRUE;
+}
+
+static void sub_8076524(struct Sprite *sprite)
+{
+ if (sprite->data[1] == 0)
+ {
+ u8 r5;
+ u8 r7 = sprite->data[0];
+ u8 bank = sprite->data[2];
+ u32 r4 = (u16)sprite->data[3] | ((u16)sprite->data[4] << 16);
+
+ if (sprite->subpriority != 0)
+ r5 = sprite->subpriority - 1;
+ else
+ r5 = 0;
+
+ StartSpriteAnim(sprite, 1);
+ LaunchBallStarsTaskForPokeball(sprite->pos1.x, sprite->pos1.y - 5, sprite->oam.priority, r5);
+ sprite->data[1] = LaunchBallFadeMonTaskForPokeball(1, bank, r4);
+ sprite->callback = sub_80765E0;
+ gSprites[r7].invisible = FALSE;
+ StartSpriteAffineAnim(&gSprites[r7], 1);
+ AnimateSprite(&gSprites[r7]);
+ gSprites[r7].data[1] = 0x1000;
+ sprite->data[7] = 0;
+ }
+ else
+ {
+ sprite->data[1]--;
+ }
+}
+
+static void sub_80765E0(struct Sprite *sprite)
+{
+ bool8 r12 = FALSE;
+ bool8 r6 = FALSE;
+ u8 monSpriteId = sprite->data[0];
+ u16 var1;
+ u16 var2;
+
+ if (sprite->animEnded)
+ sprite->invisible = TRUE;
+ if (gSprites[monSpriteId].affineAnimEnded)
+ {
+ StartSpriteAffineAnim(&gSprites[monSpriteId], 0);
+ r12 = TRUE;
+ }
+ var1 = (sprite->data[5] - sprite->pos1.x) * sprite->data[7] / 128 + sprite->pos1.x;
+ var2 = (sprite->data[6] - sprite->pos1.y) * sprite->data[7] / 128 + sprite->pos1.y;
+ gSprites[monSpriteId].pos1.x = var1;
+ gSprites[monSpriteId].pos1.y = var2;
+ if (sprite->data[7] < 128)
+ {
+ s16 sine = -(gSineTable[(u8)sprite->data[7]] / 8);
+
+ sprite->data[7] += 4;
+ gSprites[monSpriteId].pos2.x = sine;
+ gSprites[monSpriteId].pos2.y = sine;
+ }
+ else
+ {
+ gSprites[monSpriteId].pos1.x = sprite->data[5];
+ gSprites[monSpriteId].pos1.y = sprite->data[6];
+ gSprites[monSpriteId].pos2.x = 0;
+ gSprites[monSpriteId].pos2.y = 0;
+ r6 = TRUE;
+ }
+ if (sprite->animEnded && r12 && r6)
+ {
+ if (gSprites[monSpriteId].data[7] == SPECIES_EGG)
+ DoMonFrontSpriteAnimation(&gSprites[monSpriteId], gSprites[monSpriteId].data[7], TRUE, 0);
+ else
+ DoMonFrontSpriteAnimation(&gSprites[monSpriteId], gSprites[monSpriteId].data[7], FALSE, 0);
+
+ DestroySpriteAndFreeResources(sprite);
+ }
+}
+
+u8 sub_807671C(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h)
+{
+ u8 spriteId;
+
+ LoadCompressedObjectPicUsingHeap(&gBallSpriteSheets[0]);
+ LoadCompressedObjectPaletteUsingHeap(&gBallSpritePalettes[0]);
+ spriteId = CreateSprite(&gBallSpriteTemplates[0], x, y, subPriority);
+ gSprites[spriteId].data[0] = a;
+ gSprites[spriteId].data[1] = g;
+ gSprites[spriteId].data[2] = b;
+ gSprites[spriteId].data[3] = h;
+ gSprites[spriteId].data[4] = h >> 16;
+ gSprites[spriteId].oam.priority = oamPriority;
+ gSprites[spriteId].callback = sub_80767D4;
+ return spriteId;
+}
+
+static void sub_80767D4(struct Sprite *sprite)
+{
+ if (sprite->data[1] == 0)
+ {
+ u8 r6;
+ u8 r7 = sprite->data[0];
+ u8 r8 = sprite->data[2];
+ u32 r5 = (u16)sprite->data[3] | ((u16)sprite->data[4] << 16);
+
+ if (sprite->subpriority != 0)
+ r6 = sprite->subpriority - 1;
+ else
+ r6 = 0;
+
+ StartSpriteAnim(sprite, 1);
+ LaunchBallStarsTaskForPokeball(sprite->pos1.x, sprite->pos1.y - 5, sprite->oam.priority, r6);
+ sprite->data[1] = LaunchBallFadeMonTaskForPokeball(1, r8, r5);
+ sprite->callback = sub_807687C;
+ StartSpriteAffineAnim(&gSprites[r7], 2);
+ AnimateSprite(&gSprites[r7]);
+ gSprites[r7].data[1] = 0;
+ }
+ else
+ {
+ sprite->data[1]--;
+ }
+}
+
+static void sub_807687C(struct Sprite *sprite)
+{
+ u8 r1;
+
+ sprite->data[5]++;
+ if (sprite->data[5] == 11)
+ PlaySE(SE_SUIKOMU);
+ r1 = sprite->data[0];
+ if (gSprites[r1].affineAnimEnded)
+ {
+ StartSpriteAnim(sprite, 2);
+ gSprites[r1].invisible = TRUE;
+ sprite->data[5] = 0;
+ sprite->callback = sub_80768F0;
+ }
+ else
+ {
+ gSprites[r1].data[1] += 96;
+ gSprites[r1].pos2.y = -gSprites[r1].data[1] >> 8;
+ }
+}
+
+static void sub_80768F0(struct Sprite *sprite)
+{
+ if (sprite->animEnded)
+ sprite->callback = SpriteCallbackDummy;
+}
+
+static void DestroySpriteAndFreeResources_(struct Sprite *sprite)
+{
+ DestroySpriteAndFreeResources(sprite);
+}
+
+void sub_8076918(u8 bank)
+{
+ struct Sprite *healthboxSprite = &gSprites[gHealthBoxesIds[bank]];
+
+ healthboxSprite->data[0] = 5;
+ healthboxSprite->data[1] = 0;
+ healthboxSprite->pos2.x = 0x73;
+ healthboxSprite->pos2.y = 0;
+ healthboxSprite->callback = sub_80769CC;
+ if (GetBankSide(bank) != SIDE_PLAYER)
+ {
+ healthboxSprite->data[0] = -healthboxSprite->data[0];
+ healthboxSprite->data[1] = -healthboxSprite->data[1];
+ healthboxSprite->pos2.x = -healthboxSprite->pos2.x;
+ healthboxSprite->pos2.y = -healthboxSprite->pos2.y;
+ }
+ gSprites[healthboxSprite->data[5]].callback(&gSprites[healthboxSprite->data[5]]);
+ if (GetBankIdentity(bank) == IDENTITY_PLAYER_MON2)
+ healthboxSprite->callback = sub_80769A8;
+}
+
+static void sub_80769A8(struct Sprite *sprite)
+{
+ sprite->data[1]++;
+ if (sprite->data[1] == 20)
+ {
+ sprite->data[1] = 0;
+ sprite->callback = sub_80769CC;
+ }
+}
+
+static void sub_80769CC(struct Sprite *sprite)
+{
+ sprite->pos2.x -= sprite->data[0];
+ sprite->pos2.y -= sprite->data[1];
+ if (sprite->pos2.x == 0 && sprite->pos2.y == 0)
+ sprite->callback = SpriteCallbackDummy;
+}
+
+void DoHitAnimHealthboxEffect(u8 bank)
+{
+ u8 spriteId;
+
+ spriteId = CreateInvisibleSpriteWithCallback(SpriteCB_HitAnimHealthoxEffect);
+ gSprites[spriteId].data[0] = 1;
+ gSprites[spriteId].data[1] = gHealthBoxesIds[bank];
+ gSprites[spriteId].callback = SpriteCB_HitAnimHealthoxEffect;
+}
+
+static void SpriteCB_HitAnimHealthoxEffect(struct Sprite *sprite)
+{
+ u8 r1 = sprite->data[1];
+
+ gSprites[r1].pos2.y = sprite->data[0];
+ sprite->data[0] = -sprite->data[0];
+ sprite->data[2]++;
+ if (sprite->data[2] == 21)
+ {
+ gSprites[r1].pos2.x = 0;
+ gSprites[r1].pos2.y = 0;
+ DestroySprite(sprite);
+ }
+}
+
+void LoadBallGfx(u8 ballId)
+{
+ u16 var;
+
+ if (GetSpriteTileStartByTag(gBallSpriteSheets[ballId].tag) == 0xFFFF)
+ {
+ LoadCompressedObjectPicUsingHeap(&gBallSpriteSheets[ballId]);
+ LoadCompressedObjectPaletteUsingHeap(&gBallSpritePalettes[ballId]);
+ }
+ switch (ballId)
+ {
+ case BALL_DIVE:
+ case BALL_LUXURY:
+ case BALL_PREMIER:
+ break;
+ default:
+ var = GetSpriteTileStartByTag(gBallSpriteSheets[ballId].tag);
+ LZDecompressVram(gOpenPokeballGfx, (void *)(VRAM + 0x10100 + var * 32));
+ break;
+ }
+}
+
+void FreeBallGfx(u8 ballId)
+{
+ FreeSpriteTilesByTag(gBallSpriteSheets[ballId].tag);
+ FreeSpritePaletteByTag(gBallSpritePalettes[ballId].tag);
+}
+
+static u16 GetBankPokeballItemId(u8 bank)
+{
+ if (GetBankSide(bank) == SIDE_PLAYER)
+ return GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_POKEBALL);
+ else
+ return GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_POKEBALL);
+}
diff --git a/src/pokemon_1.c b/src/pokemon_1.c
index f56ade967..98a35454f 100644
--- a/src/pokemon_1.c
+++ b/src/pokemon_1.c
@@ -1,8 +1,8 @@
#include "global.h"
#include "pokemon.h"
-#include "rng.h"
+#include "random.h"
#include "main.h"
-#include "items.h"
+#include "constants/items.h"
#include "string_util.h"
#include "text.h"
diff --git a/src/pokemon_2.c b/src/pokemon_2.c
index 4602b2f7a..db176e025 100644
--- a/src/pokemon_2.c
+++ b/src/pokemon_2.c
@@ -2,9 +2,9 @@
#include "pokemon.h"
#include "battle.h"
#include "event_data.h"
-#include "rng.h"
+#include "random.h"
#include "sprite.h"
-#include "species.h"
+#include "constants/species.h"
#include "text.h"
#include "string_util.h"
diff --git a/src/pokemon_3.c b/src/pokemon_3.c
index b7a95fc64..6a1698152 100644
--- a/src/pokemon_3.c
+++ b/src/pokemon_3.c
@@ -1,25 +1,25 @@
#include "global.h"
#include "pokemon.h"
#include "main.h"
-#include "items.h"
+#include "constants/items.h"
#include "string_util.h"
#include "battle_message.h"
#include "rtc.h"
#include "item.h"
#include "battle.h"
-#include "species.h"
+#include "constants/species.h"
#include "link.h"
-#include "hold_effects.h"
-#include "rng.h"
+#include "constants/hold_effects.h"
+#include "random.h"
#include "trainer_classes.h"
#include "trainer_ids.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "sound.h"
#include "m4a.h"
#include "task.h"
#include "sprite.h"
#include "text.h"
-#include "abilities.h"
+#include "constants/abilities.h"
#include "pokemon_animation.h"
#include "pokedex.h"
diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c
index ec0103bc7..fe3b3e8dd 100644
--- a/src/pokemon_size_record.c
+++ b/src/pokemon_size_record.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "pokemon_size_record.h"
#include "event_data.h"
-#include "species.h"
+#include "constants/species.h"
#include "string_util.h"
#include "text.h"
#include "pokemon.h"
diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c
index f82a52d38..bdf4427c7 100644
--- a/src/pokemon_storage_system.c
+++ b/src/pokemon_storage_system.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "pokemon_storage_system.h"
#include "pokemon.h"
-#include "species.h"
+#include "constants/species.h"
#include "event_data.h"
#include "string_util.h"
#include "text.h"
diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c
index e9cd3e215..b00979945 100755
--- a/src/pokemon_summary_screen.c
+++ b/src/pokemon_summary_screen.c
@@ -3,17 +3,17 @@
#include "bg.h"
#include "decompress.h"
#include "item.h"
-#include "items.h"
+#include "constants/items.h"
#include "link.h"
#include "m4a.h"
#include "main.h"
#include "malloc.h"
-#include "moves.h"
+#include "constants/moves.h"
#include "palette.h"
#include "pokemon.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "sound.h"
-#include "species.h"
+#include "constants/species.h"
#include "sprite.h"
#include "unk_text_util.h"
#include "string_util.h"
@@ -937,7 +937,7 @@ void sub_81C0704(u8 taskId)
gUnknown_0203CF1C->unk40D3 = sub_81C45F4(&gUnknown_0203CF1C->currentMon, &data[1]);
if (gUnknown_0203CF1C->unk40D3 == 0xFF)
return;
- gSprites[gUnknown_0203CF1C->unk40D3].data2 = 1;
+ gSprites[gUnknown_0203CF1C->unk40D3].data[2] = 1;
sub_81C0E24();
data[1] = 0;
break;
@@ -952,7 +952,7 @@ void sub_81C0704(u8 taskId)
sub_81C2524();
break;
case 12:
- gSprites[gUnknown_0203CF1C->unk40D3].data2 = 0;
+ gSprites[gUnknown_0203CF1C->unk40D3].data[2] = 0;
break;
default:
if (sub_81221EC() == 0 && FuncIsActiveTask(sub_81C20F0) == 0)
diff --git a/src/rng.c b/src/random.c
index ddd149018..f2f0ede58 100644
--- a/src/rng.c
+++ b/src/random.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "rng.h"
+#include "random.h"
// The number 1103515245 comes from the example implementation of rand and srand
// in the ISO C standard.
diff --git a/src/recorded_battle.c b/src/recorded_battle.c
index e843ff7cb..4f3fe4ab9 100644
--- a/src/recorded_battle.c
+++ b/src/recorded_battle.c
@@ -3,7 +3,7 @@
#include "recorded_battle.h"
#include "main.h"
#include "pokemon.h"
-#include "rng.h"
+#include "random.h"
#include "event_data.h"
#include "link.h"
#include "string_util.h"
diff --git a/src/region_map.c b/src/region_map.c
index 8c8f64df9..b7fc625ca 100644
--- a/src/region_map.c
+++ b/src/region_map.c
@@ -7,9 +7,9 @@
#include "palette.h"
#include "party_menu.h"
#include "trig.h"
-#include "map_constants.h"
+#include "constants/maps.h"
#include "overworld.h"
-#include "flags.h"
+#include "constants/flags.h"
#include "event_data.h"
#include "rom6.h"
#include "secret_base.h"
@@ -17,7 +17,7 @@
#include "international_string_util.h"
#include "strings.h"
#include "text_window.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "m4a.h"
#include "field_effect.h"
#include "region_map.h"
@@ -242,56 +242,56 @@ static const u16 Unknown_085A1D48[] = INCBIN_U16("graphics/pokenav/fly_target_ic
static const u8 gUnknown_085A1D68[] = INCBIN_U8("graphics/pokenav/fly_target_icons.4bpp.lz");
static const u8 gUnknown_085A1E3C[][3] = {
- {MAP_GROUP_LITTLEROOT_TOWN, MAP_ID_LITTLEROOT_TOWN, 1},
- {MAP_GROUP_OLDALE_TOWN, MAP_ID_OLDALE_TOWN, 14},
- {MAP_GROUP_DEWFORD_TOWN, MAP_ID_DEWFORD_TOWN, 15},
- {MAP_GROUP_LAVARIDGE_TOWN, MAP_ID_LAVARIDGE_TOWN, 16},
- {MAP_GROUP_FALLARBOR_TOWN, MAP_ID_FALLARBOR_TOWN, 17},
- {MAP_GROUP_VERDANTURF_TOWN, MAP_ID_VERDANTURF_TOWN, 18},
- {MAP_GROUP_PACIFIDLOG_TOWN, MAP_ID_PACIFIDLOG_TOWN, 19},
- {MAP_GROUP_PETALBURG_CITY, MAP_ID_PETALBURG_CITY, 3},
- {MAP_GROUP_SLATEPORT_CITY, MAP_ID_SLATEPORT_CITY, 4},
- {MAP_GROUP_MAUVILLE_CITY, MAP_ID_MAUVILLE_CITY, 5},
- {MAP_GROUP_RUSTBORO_CITY, MAP_ID_RUSTBORO_CITY, 6},
- {MAP_GROUP_FORTREE_CITY, MAP_ID_FORTREE_CITY, 7},
- {MAP_GROUP_LILYCOVE_CITY, MAP_ID_LILYCOVE_CITY, 8},
- {MAP_GROUP_MOSSDEEP_CITY, MAP_ID_MOSSDEEP_CITY, 9},
- {MAP_GROUP_SOOTOPOLIS_CITY, MAP_ID_SOOTOPOLIS_CITY, 10},
- {MAP_GROUP_EVER_GRANDE_CITY, MAP_ID_EVER_GRANDE_CITY, 11},
- {MAP_GROUP_ROUTE101, MAP_ID_ROUTE101, 0},
- {MAP_GROUP_ROUTE102, MAP_ID_ROUTE102, 0},
- {MAP_GROUP_ROUTE103, MAP_ID_ROUTE103, 0},
- {MAP_GROUP_ROUTE104, MAP_ID_ROUTE104, 0},
- {MAP_GROUP_ROUTE105, MAP_ID_ROUTE105, 0},
- {MAP_GROUP_ROUTE106, MAP_ID_ROUTE106, 0},
- {MAP_GROUP_ROUTE107, MAP_ID_ROUTE107, 0},
- {MAP_GROUP_ROUTE108, MAP_ID_ROUTE108, 0},
- {MAP_GROUP_ROUTE109, MAP_ID_ROUTE109, 0},
- {MAP_GROUP_ROUTE110, MAP_ID_ROUTE110, 0},
- {MAP_GROUP_ROUTE111, MAP_ID_ROUTE111, 0},
- {MAP_GROUP_ROUTE112, MAP_ID_ROUTE112, 0},
- {MAP_GROUP_ROUTE113, MAP_ID_ROUTE113, 0},
- {MAP_GROUP_ROUTE114, MAP_ID_ROUTE114, 0},
- {MAP_GROUP_ROUTE115, MAP_ID_ROUTE115, 0},
- {MAP_GROUP_ROUTE116, MAP_ID_ROUTE116, 0},
- {MAP_GROUP_ROUTE117, MAP_ID_ROUTE117, 0},
- {MAP_GROUP_ROUTE118, MAP_ID_ROUTE118, 0},
- {MAP_GROUP_ROUTE119, MAP_ID_ROUTE119, 0},
- {MAP_GROUP_ROUTE120, MAP_ID_ROUTE120, 0},
- {MAP_GROUP_ROUTE121, MAP_ID_ROUTE121, 0},
- {MAP_GROUP_ROUTE122, MAP_ID_ROUTE122, 0},
- {MAP_GROUP_ROUTE123, MAP_ID_ROUTE123, 0},
- {MAP_GROUP_ROUTE124, MAP_ID_ROUTE124, 0},
- {MAP_GROUP_ROUTE125, MAP_ID_ROUTE125, 0},
- {MAP_GROUP_ROUTE126, MAP_ID_ROUTE126, 0},
- {MAP_GROUP_ROUTE127, MAP_ID_ROUTE127, 0},
- {MAP_GROUP_ROUTE128, MAP_ID_ROUTE128, 0},
- {MAP_GROUP_ROUTE129, MAP_ID_ROUTE129, 0},
- {MAP_GROUP_ROUTE130, MAP_ID_ROUTE130, 0},
- {MAP_GROUP_ROUTE131, MAP_ID_ROUTE131, 0},
- {MAP_GROUP_ROUTE132, MAP_ID_ROUTE132, 0},
- {MAP_GROUP_ROUTE133, MAP_ID_ROUTE133, 0},
- {MAP_GROUP_ROUTE134, MAP_ID_ROUTE134, 0}
+ {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), 1},
+ {MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), 14},
+ {MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), 15},
+ {MAP_GROUP(LAVARIDGE_TOWN), MAP_NUM(LAVARIDGE_TOWN), 16},
+ {MAP_GROUP(FALLARBOR_TOWN), MAP_NUM(FALLARBOR_TOWN), 17},
+ {MAP_GROUP(VERDANTURF_TOWN), MAP_NUM(VERDANTURF_TOWN), 18},
+ {MAP_GROUP(PACIFIDLOG_TOWN), MAP_NUM(PACIFIDLOG_TOWN), 19},
+ {MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), 3},
+ {MAP_GROUP(SLATEPORT_CITY), MAP_NUM(SLATEPORT_CITY), 4},
+ {MAP_GROUP(MAUVILLE_CITY), MAP_NUM(MAUVILLE_CITY), 5},
+ {MAP_GROUP(RUSTBORO_CITY), MAP_NUM(RUSTBORO_CITY), 6},
+ {MAP_GROUP(FORTREE_CITY), MAP_NUM(FORTREE_CITY), 7},
+ {MAP_GROUP(LILYCOVE_CITY), MAP_NUM(LILYCOVE_CITY), 8},
+ {MAP_GROUP(MOSSDEEP_CITY), MAP_NUM(MOSSDEEP_CITY), 9},
+ {MAP_GROUP(SOOTOPOLIS_CITY), MAP_NUM(SOOTOPOLIS_CITY), 10},
+ {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), 11},
+ {MAP_GROUP(ROUTE101), MAP_NUM(ROUTE101), 0},
+ {MAP_GROUP(ROUTE102), MAP_NUM(ROUTE102), 0},
+ {MAP_GROUP(ROUTE103), MAP_NUM(ROUTE103), 0},
+ {MAP_GROUP(ROUTE104), MAP_NUM(ROUTE104), 0},
+ {MAP_GROUP(ROUTE105), MAP_NUM(ROUTE105), 0},
+ {MAP_GROUP(ROUTE106), MAP_NUM(ROUTE106), 0},
+ {MAP_GROUP(ROUTE107), MAP_NUM(ROUTE107), 0},
+ {MAP_GROUP(ROUTE108), MAP_NUM(ROUTE108), 0},
+ {MAP_GROUP(ROUTE109), MAP_NUM(ROUTE109), 0},
+ {MAP_GROUP(ROUTE110), MAP_NUM(ROUTE110), 0},
+ {MAP_GROUP(ROUTE111), MAP_NUM(ROUTE111), 0},
+ {MAP_GROUP(ROUTE112), MAP_NUM(ROUTE112), 0},
+ {MAP_GROUP(ROUTE113), MAP_NUM(ROUTE113), 0},
+ {MAP_GROUP(ROUTE114), MAP_NUM(ROUTE114), 0},
+ {MAP_GROUP(ROUTE115), MAP_NUM(ROUTE115), 0},
+ {MAP_GROUP(ROUTE116), MAP_NUM(ROUTE116), 0},
+ {MAP_GROUP(ROUTE117), MAP_NUM(ROUTE117), 0},
+ {MAP_GROUP(ROUTE118), MAP_NUM(ROUTE118), 0},
+ {MAP_GROUP(ROUTE119), MAP_NUM(ROUTE119), 0},
+ {MAP_GROUP(ROUTE120), MAP_NUM(ROUTE120), 0},
+ {MAP_GROUP(ROUTE121), MAP_NUM(ROUTE121), 0},
+ {MAP_GROUP(ROUTE122), MAP_NUM(ROUTE122), 0},
+ {MAP_GROUP(ROUTE123), MAP_NUM(ROUTE123), 0},
+ {MAP_GROUP(ROUTE124), MAP_NUM(ROUTE124), 0},
+ {MAP_GROUP(ROUTE125), MAP_NUM(ROUTE125), 0},
+ {MAP_GROUP(ROUTE126), MAP_NUM(ROUTE126), 0},
+ {MAP_GROUP(ROUTE127), MAP_NUM(ROUTE127), 0},
+ {MAP_GROUP(ROUTE128), MAP_NUM(ROUTE128), 0},
+ {MAP_GROUP(ROUTE129), MAP_NUM(ROUTE129), 0},
+ {MAP_GROUP(ROUTE130), MAP_NUM(ROUTE130), 0},
+ {MAP_GROUP(ROUTE131), MAP_NUM(ROUTE131), 0},
+ {MAP_GROUP(ROUTE132), MAP_NUM(ROUTE132), 0},
+ {MAP_GROUP(ROUTE133), MAP_NUM(ROUTE133), 0},
+ {MAP_GROUP(ROUTE134), MAP_NUM(ROUTE134), 0}
};
static const u8 *const gUnknown_085A1ED4[] = {
@@ -871,10 +871,10 @@ static void RegionMap_InitializeStateBasedOnPlayerLocation(void)
u16 xOnMap;
struct WarpData *storedWarp;
- if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP_SS_TIDAL_CORRIDOR
- && (gSaveBlock1Ptr->location.mapNum == MAP_ID_SS_TIDAL_CORRIDOR
- || gSaveBlock1Ptr->location.mapNum == MAP_ID_SS_TIDAL_LOWER_DECK
- || gSaveBlock1Ptr->location.mapNum == MAP_ID_SS_TIDAL_ROOMS))
+ if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SS_TIDAL_CORRIDOR)
+ && (gSaveBlock1Ptr->location.mapNum == MAP_NUM(SS_TIDAL_CORRIDOR)
+ || gSaveBlock1Ptr->location.mapNum == MAP_NUM(SS_TIDAL_LOWER_DECK)
+ || gSaveBlock1Ptr->location.mapNum == MAP_NUM(SS_TIDAL_ROOMS)))
{
RegionMap_InitializeStateBasedOnSSTidalLocation();
return;
@@ -1332,9 +1332,9 @@ void CreateRegionMapCursor(u16 tileTag, u16 paletteTag)
gRegionMap->cursorSprite->pos1.x = 8 * gRegionMap->cursorPosX + 4;
gRegionMap->cursorSprite->pos1.y = 8 * gRegionMap->cursorPosY + 4;
}
- gRegionMap->cursorSprite->data1 = 2;
- gRegionMap->cursorSprite->data2 = (IndexOfSpritePaletteTag(paletteTag) << 4) + 0x101;
- gRegionMap->cursorSprite->data3 = TRUE;
+ gRegionMap->cursorSprite->data[1] = 2;
+ gRegionMap->cursorSprite->data[2] = (IndexOfSpritePaletteTag(paletteTag) << 4) + 0x101;
+ gRegionMap->cursorSprite->data[3] = TRUE;
}
}
@@ -1350,12 +1350,12 @@ static void FreeRegionMapCursorSprite(void)
void sub_8124268(void)
{
- gRegionMap->cursorSprite->data3 = TRUE;
+ gRegionMap->cursorSprite->data[3] = TRUE;
}
void sub_8124278(void)
{
- gRegionMap->cursorSprite->data3 = FALSE;
+ gRegionMap->cursorSprite->data[3] = FALSE;
}
void CreateRegionMapPlayerIcon(u16 tileTag, u16 paletteTag)
@@ -1429,17 +1429,17 @@ static void RegionMapPlayerIconSpriteCallback_Zoomed(struct Sprite *sprite)
{
sprite->pos2.x = -2 * gRegionMap->scrollX;
sprite->pos2.y = -2 * gRegionMap->scrollY;
- sprite->data0 = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY;
- sprite->data1 = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX;
- if (sprite->data0 < -8 || sprite->data0 > 0xa8 || sprite->data1 < -8 || sprite->data1 > 0xf8)
+ sprite->data[0] = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY;
+ sprite->data[1] = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX;
+ if (sprite->data[0] < -8 || sprite->data[0] > 0xa8 || sprite->data[1] < -8 || sprite->data[1] > 0xf8)
{
- sprite->data2 = FALSE;
+ sprite->data[2] = FALSE;
}
else
{
- sprite->data2 = TRUE;
+ sprite->data[2] = TRUE;
}
- if (sprite->data2 == TRUE)
+ if (sprite->data[2] == TRUE)
{
RegionMapPlayerIconSpriteCallback(sprite);
}
@@ -1458,9 +1458,9 @@ static void RegionMapPlayerIconSpriteCallback(struct Sprite *sprite)
{
if (gRegionMap->blinkPlayerIcon)
{
- if (++sprite->data7 > 16)
+ if (++sprite->data[7] > 16)
{
- sprite->data7 = 0;
+ sprite->data[7] = 0;
sprite->invisible = sprite->invisible ? FALSE : TRUE;
}
}
@@ -1790,7 +1790,7 @@ static void sub_8124AD4(void)
shape += 3;
}
StartSpriteAnim(&gSprites[spriteId], shape);
- gSprites[spriteId].data0 = i;
+ gSprites[spriteId].data[0] = i;
}
canFlyFlag++;
}
@@ -1820,7 +1820,7 @@ static void sub_8124BE4(void)
gSprites[spriteId].oam.size = 1;
gSprites[spriteId].callback = sub_8124CBC;
StartSpriteAnim(&gSprites[spriteId], 6);
- gSprites[spriteId].data0 = mapSecId;
+ gSprites[spriteId].data[0] = mapSecId;
}
}
}
@@ -1828,17 +1828,17 @@ static void sub_8124BE4(void)
static void sub_8124CBC(struct Sprite *sprite)
{
- if (gUnknown_0203A148->regionMap.mapSecId == sprite->data0)
+ if (gUnknown_0203A148->regionMap.mapSecId == sprite->data[0])
{
- if (++sprite->data1 > 16)
+ if (++sprite->data[1] > 16)
{
- sprite->data1 = 0;
+ sprite->data[1] = 0;
sprite->invisible = sprite->invisible ? FALSE : TRUE;
}
}
else
{
- sprite->data1 = 16;
+ sprite->data[1] = 16;
sprite->invisible = FALSE;
}
}
diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c
index 3177a8946..a034ca089 100644
--- a/src/reshow_battle_screen.c
+++ b/src/reshow_battle_screen.c
@@ -10,7 +10,7 @@
#include "battle_controllers.h"
#include "link.h"
#include "sprite.h"
-#include "species.h"
+#include "constants/species.h"
#include "battle_interface.h"
extern u16 gBattle_BG0_X;
@@ -42,7 +42,7 @@ extern u8 GetBankSpriteDefault_Y(u8 bank);
extern u8 sub_80A82E4(u8 bank);
extern void sub_806A068(u16 species, u8 bankIdentity);
extern void sub_806A12C(u16 backPicId, u8 bankIdentity);
-extern u8 sub_80A5C6C(u8 bank, u8 caseId);
+extern u8 GetBankPosition(u8 bank, u8 caseId);
// this file's functions
static void CB2_ReshowBattleScreenAfterMenu(void);
@@ -260,11 +260,11 @@ static void CreateBankSprite(u8 bank)
return;
sub_806A068(GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES), GetBankIdentity(bank));
- gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, sub_80A5C6C(bank, 2), posY, sub_80A82E4(bank));
+ gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, GetBankPosition(bank, 2), posY, sub_80A82E4(bank));
gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank;
gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy;
- gSprites[gBankSpriteIds[bank]].data0 = bank;
- gSprites[gBankSpriteIds[bank]].data2 = GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
+ gSprites[gBankSpriteIds[bank]].data[0] = bank;
+ gSprites[gBankSpriteIds[bank]].data[2] = GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]);
if (gBattleSpritesDataPtr->bankData[bank].transformSpecies == SPECIES_CASTFORM)
@@ -278,7 +278,7 @@ static void CreateBankSprite(u8 bank)
sub_80A82E4(0));
gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank;
gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy;
- gSprites[gBankSpriteIds[bank]].data0 = bank;
+ gSprites[gBankSpriteIds[bank]].data[0] = bank;
}
else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && bank == 0)
{
@@ -288,7 +288,7 @@ static void CreateBankSprite(u8 bank)
sub_80A82E4(0));
gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank;
gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy;
- gSprites[gBankSpriteIds[bank]].data0 = bank;
+ gSprites[gBankSpriteIds[bank]].data[0] = bank;
}
else
{
@@ -296,11 +296,11 @@ static void CreateBankSprite(u8 bank)
return;
sub_806A068(GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES), GetBankIdentity(bank));
- gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, sub_80A5C6C(bank, 2), posY, sub_80A82E4(bank));
+ gBankSpriteIds[bank] = CreateSprite(&gUnknown_0202499C, GetBankPosition(bank, 2), posY, sub_80A82E4(bank));
gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank;
gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy;
- gSprites[gBankSpriteIds[bank]].data0 = bank;
- gSprites[gBankSpriteIds[bank]].data2 = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
+ gSprites[gBankSpriteIds[bank]].data[0] = bank;
+ gSprites[gBankSpriteIds[bank]].data[2] = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]);
if (gBattleSpritesDataPtr->bankData[bank].transformSpecies == SPECIES_CASTFORM)
diff --git a/src/roamer.c b/src/roamer.c
index cbe1b6312..fbd25bfad 100644
--- a/src/roamer.c
+++ b/src/roamer.c
@@ -1,8 +1,8 @@
#include "global.h"
#include "roamer.h"
#include "pokemon.h"
-#include "rng.h"
-#include "species.h"
+#include "random.h"
+#include "constants/species.h"
#include "event_data.h"
enum
diff --git a/src/safari_zone.c b/src/safari_zone.c
index 38abcdd4c..f1d59907d 100644
--- a/src/safari_zone.c
+++ b/src/safari_zone.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "safari_zone.h"
#include "event_data.h"
-#include "game_stat.h"
+#include "constants/game_stat.h"
#include "main.h"
#include "battle.h"
#include "string_util.h"
diff --git a/src/save.c b/src/save.c
index 528c67145..023ca6870 100644
--- a/src/save.c
+++ b/src/save.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "gba/flash_internal.h"
#include "save.h"
-#include "game_stat.h"
+#include "constants/game_stat.h"
#include "task.h"
extern struct SaveSectionLocation gRamSaveSectionLocations[0xE];
diff --git a/src/save_location.c b/src/save_location.c
index 61a5fd30d..262aaf40c 100755
--- a/src/save_location.c
+++ b/src/save_location.c
@@ -1,9 +1,6 @@
#include "global.h"
#include "save_location.h"
-#include "map_constants.h"
-
-// used to make the list defines a little less ugly.
-#define MAP(name) ((MAP_GROUP_##name << 8) + (MAP_ID_##name))
+#include "constants/maps.h"
// specialSaveWarp flags
#define POKECENTER_SAVEWARP (1 << 1)
@@ -29,44 +26,44 @@ static bool32 IsCurMapInLocationList(const u16 *list)
// TODO: Not require a packed u16 array for these lists
static const u16 sSaveLocationPokeCenterList[] =
{
- MAP(OLDALE_TOWN_POKEMON_CENTER_1F),
- MAP(OLDALE_TOWN_POKEMON_CENTER_2F),
- MAP(DEWFORD_TOWN_POKEMON_CENTER_1F),
- MAP(DEWFORD_TOWN_POKEMON_CENTER_2F),
- MAP(LAVARIDGE_TOWN_POKEMON_CENTER_1F),
- MAP(LAVARIDGE_TOWN_POKEMON_CENTER_2F),
- MAP(FALLARBOR_TOWN_POKEMON_CENTER_1F),
- MAP(FALLARBOR_TOWN_POKEMON_CENTER_2F),
- MAP(VERDANTURF_TOWN_POKEMON_CENTER_1F),
- MAP(VERDANTURF_TOWN_POKEMON_CENTER_2F),
- MAP(PACIFIDLOG_TOWN_POKEMON_CENTER_1F),
- MAP(PACIFIDLOG_TOWN_POKEMON_CENTER_2F),
- MAP(PETALBURG_CITY_POKEMON_CENTER_1F),
- MAP(PETALBURG_CITY_POKEMON_CENTER_2F),
- MAP(SLATEPORT_CITY_POKEMON_CENTER_1F),
- MAP(SLATEPORT_CITY_POKEMON_CENTER_2F),
- MAP(MAUVILLE_CITY_POKEMON_CENTER_1F),
- MAP(MAUVILLE_CITY_POKEMON_CENTER_2F),
- MAP(RUSTBORO_CITY_POKEMON_CENTER_1F),
- MAP(RUSTBORO_CITY_POKEMON_CENTER_2F),
- MAP(FORTREE_CITY_POKEMON_CENTER_1F),
- MAP(FORTREE_CITY_POKEMON_CENTER_2F),
- MAP(LILYCOVE_CITY_POKEMON_CENTER_1F),
- MAP(LILYCOVE_CITY_POKEMON_CENTER_2F),
- MAP(MOSSDEEP_CITY_POKEMON_CENTER_1F),
- MAP(MOSSDEEP_CITY_POKEMON_CENTER_2F),
- MAP(SOOTOPOLIS_CITY_POKEMON_CENTER_1F),
- MAP(SOOTOPOLIS_CITY_POKEMON_CENTER_2F),
- MAP(EVER_GRANDE_CITY_POKEMON_CENTER_1F),
- MAP(EVER_GRANDE_CITY_POKEMON_CENTER_2F),
- MAP(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F),
- MAP(EVER_GRANDE_CITY_POKEMON_LEAGUE_2F),
- MAP(BATTLE_FRONTIER_POKEMON_CENTER_1F),
- MAP(BATTLE_FRONTIER_POKEMON_CENTER_2F),
- MAP(SINGLE_BATTLE_COLOSSEUM),
- MAP(TRADE_CENTER),
- MAP(RECORD_CORNER),
- MAP(DOUBLE_BATTLE_COLOSSEUM),
+ MAP_OLDALE_TOWN_POKEMON_CENTER_1F,
+ MAP_OLDALE_TOWN_POKEMON_CENTER_2F,
+ MAP_DEWFORD_TOWN_POKEMON_CENTER_1F,
+ MAP_DEWFORD_TOWN_POKEMON_CENTER_2F,
+ MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F,
+ MAP_LAVARIDGE_TOWN_POKEMON_CENTER_2F,
+ MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F,
+ MAP_FALLARBOR_TOWN_POKEMON_CENTER_2F,
+ MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F,
+ MAP_VERDANTURF_TOWN_POKEMON_CENTER_2F,
+ MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F,
+ MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_2F,
+ MAP_PETALBURG_CITY_POKEMON_CENTER_1F,
+ MAP_PETALBURG_CITY_POKEMON_CENTER_2F,
+ MAP_SLATEPORT_CITY_POKEMON_CENTER_1F,
+ MAP_SLATEPORT_CITY_POKEMON_CENTER_2F,
+ MAP_MAUVILLE_CITY_POKEMON_CENTER_1F,
+ MAP_MAUVILLE_CITY_POKEMON_CENTER_2F,
+ MAP_RUSTBORO_CITY_POKEMON_CENTER_1F,
+ MAP_RUSTBORO_CITY_POKEMON_CENTER_2F,
+ MAP_FORTREE_CITY_POKEMON_CENTER_1F,
+ MAP_FORTREE_CITY_POKEMON_CENTER_2F,
+ MAP_LILYCOVE_CITY_POKEMON_CENTER_1F,
+ MAP_LILYCOVE_CITY_POKEMON_CENTER_2F,
+ MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F,
+ MAP_MOSSDEEP_CITY_POKEMON_CENTER_2F,
+ MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F,
+ MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F,
+ MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F,
+ MAP_EVER_GRANDE_CITY_POKEMON_CENTER_2F,
+ MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F,
+ MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F,
+ MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F,
+ MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F,
+ MAP_SINGLE_BATTLE_COLOSSEUM,
+ MAP_TRADE_CENTER,
+ MAP_RECORD_CORNER,
+ MAP_DOUBLE_BATTLE_COLOSSEUM,
0xFFFF,
};
@@ -77,7 +74,7 @@ static bool32 IsCurMapPokeCenter(void)
static const u16 sSaveLocationReloadLocList[] = // there's only 1 location, and it's presumed its for the save reload feature for battle tower
{
- MAP(BATTLE_TOWER_LOBBY),
+ MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY,
0xFFFF,
};
diff --git a/src/scrcmd.c b/src/scrcmd.c
index f292bd769..8f67d1990 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -34,7 +34,7 @@
#include "party_menu.h"
#include "pokemon_3.h"
#include "pokemon_storage_system.h"
-#include "rng.h"
+#include "random.h"
#include "overworld.h"
#include "rtc.h"
#include "script.h"
diff --git a/src/secret_base.c b/src/secret_base.c
index 0550d7786..cc320e5d7 100644
--- a/src/secret_base.c
+++ b/src/secret_base.c
@@ -1,6 +1,7 @@
// Includes
#include "global.h"
+#include "constants/decorations.h"
#include "malloc.h"
#include "task.h"
#include "palette.h"
@@ -10,8 +11,8 @@
#include "menu_helpers.h"
#include "new_menu_helpers.h"
#include "menu_indicators.h"
-#include "map_constants.h"
-#include "songs.h"
+#include "constants/maps.h"
+#include "constants/songs.h"
#include "sound.h"
#include "overworld.h"
#include "fieldmap.h"
@@ -89,30 +90,30 @@ const struct {
};
const u8 gUnknown_0858CFE8[] = {
- MAP_ID_SECRET_BASE_RED_CAVE1, 0x00, 0x01, 0x03,
- MAP_ID_SECRET_BASE_RED_CAVE2, 0x00, 0x05, 0x09,
- MAP_ID_SECRET_BASE_RED_CAVE3, 0x00, 0x01, 0x03,
- MAP_ID_SECRET_BASE_RED_CAVE4, 0x00, 0x07, 0x0d,
- MAP_ID_SECRET_BASE_BROWN_CAVE1, 0x00, 0x02, 0x03,
- MAP_ID_SECRET_BASE_BROWN_CAVE2, 0x00, 0x09, 0x02,
- MAP_ID_SECRET_BASE_BROWN_CAVE3, 0x00, 0x0d, 0x04,
- MAP_ID_SECRET_BASE_BROWN_CAVE4, 0x00, 0x01, 0x02,
- MAP_ID_SECRET_BASE_BLUE_CAVE1, 0x00, 0x01, 0x03,
- MAP_ID_SECRET_BASE_BLUE_CAVE2, 0x00, 0x01, 0x02,
- MAP_ID_SECRET_BASE_BLUE_CAVE3, 0x00, 0x03, 0x0f,
- MAP_ID_SECRET_BASE_BLUE_CAVE4, 0x00, 0x03, 0x0e,
- MAP_ID_SECRET_BASE_YELLOW_CAVE1, 0x00, 0x09, 0x03,
- MAP_ID_SECRET_BASE_YELLOW_CAVE2, 0x00, 0x08, 0x07,
- MAP_ID_SECRET_BASE_YELLOW_CAVE3, 0x00, 0x03, 0x06,
- MAP_ID_SECRET_BASE_YELLOW_CAVE4, 0x00, 0x05, 0x09,
- MAP_ID_SECRET_BASE_TREE1, 0x00, 0x02, 0x03,
- MAP_ID_SECRET_BASE_TREE2, 0x00, 0x05, 0x06,
- MAP_ID_SECRET_BASE_TREE3, 0x00, 0x0f, 0x03,
- MAP_ID_SECRET_BASE_TREE4, 0x00, 0x04, 0x0a,
- MAP_ID_SECRET_BASE_SHRUB1, 0x00, 0x03, 0x03,
- MAP_ID_SECRET_BASE_SHRUB2, 0x00, 0x01, 0x02,
- MAP_ID_SECRET_BASE_SHRUB3, 0x00, 0x07, 0x08,
- MAP_ID_SECRET_BASE_SHRUB4, 0x00, 0x09, 0x06
+ MAP_NUM(SECRET_BASE_RED_CAVE1), 0x00, 0x01, 0x03,
+ MAP_NUM(SECRET_BASE_RED_CAVE2), 0x00, 0x05, 0x09,
+ MAP_NUM(SECRET_BASE_RED_CAVE3), 0x00, 0x01, 0x03,
+ MAP_NUM(SECRET_BASE_RED_CAVE4), 0x00, 0x07, 0x0d,
+ MAP_NUM(SECRET_BASE_BROWN_CAVE1), 0x00, 0x02, 0x03,
+ MAP_NUM(SECRET_BASE_BROWN_CAVE2), 0x00, 0x09, 0x02,
+ MAP_NUM(SECRET_BASE_BROWN_CAVE3), 0x00, 0x0d, 0x04,
+ MAP_NUM(SECRET_BASE_BROWN_CAVE4), 0x00, 0x01, 0x02,
+ MAP_NUM(SECRET_BASE_BLUE_CAVE1), 0x00, 0x01, 0x03,
+ MAP_NUM(SECRET_BASE_BLUE_CAVE2), 0x00, 0x01, 0x02,
+ MAP_NUM(SECRET_BASE_BLUE_CAVE3), 0x00, 0x03, 0x0f,
+ MAP_NUM(SECRET_BASE_BLUE_CAVE4), 0x00, 0x03, 0x0e,
+ MAP_NUM(SECRET_BASE_YELLOW_CAVE1), 0x00, 0x09, 0x03,
+ MAP_NUM(SECRET_BASE_YELLOW_CAVE2), 0x00, 0x08, 0x07,
+ MAP_NUM(SECRET_BASE_YELLOW_CAVE3), 0x00, 0x03, 0x06,
+ MAP_NUM(SECRET_BASE_YELLOW_CAVE4), 0x00, 0x05, 0x09,
+ MAP_NUM(SECRET_BASE_TREE1), 0x00, 0x02, 0x03,
+ MAP_NUM(SECRET_BASE_TREE2), 0x00, 0x05, 0x06,
+ MAP_NUM(SECRET_BASE_TREE3), 0x00, 0x0f, 0x03,
+ MAP_NUM(SECRET_BASE_TREE4), 0x00, 0x04, 0x0a,
+ MAP_NUM(SECRET_BASE_SHRUB1), 0x00, 0x03, 0x03,
+ MAP_NUM(SECRET_BASE_SHRUB2), 0x00, 0x01, 0x02,
+ MAP_NUM(SECRET_BASE_SHRUB3), 0x00, 0x07, 0x08,
+ MAP_NUM(SECRET_BASE_SHRUB4), 0x00, 0x09, 0x06
};
const struct MenuAction gUnknown_0858D048[] = {
@@ -360,7 +361,7 @@ void sub_80E8F9C(void)
s8 idx;
idx = sCurSecretBaseId / 10 * 4;
- warp1_set_2(MAP_GROUP_SECRET_BASE_RED_CAVE1, gUnknown_0858CFE8[idx], gUnknown_0858CFE8[idx + 1]);
+ warp1_set_2(MAP_GROUP(SECRET_BASE_RED_CAVE1), gUnknown_0858CFE8[idx], gUnknown_0858CFE8[idx + 1]);
}
void sub_80E8FD0(u8 taskId)
@@ -455,7 +456,7 @@ void sub_80E91F8(void)
bool8 CurrentMapIsSecretBase(void)
{
- if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP_SECRET_BASE_RED_CAVE1 && (u8)gSaveBlock1Ptr->location.mapNum <= MAP_ID_SECRET_BASE_SHRUB4)
+ if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SECRET_BASE_RED_CAVE1) && (u8)gSaveBlock1Ptr->location.mapNum <= MAP_NUM(SECRET_BASE_SHRUB4))
{
return TRUE;
}
diff --git a/src/sound.c b/src/sound.c
index a95511ece..086fede67 100644
--- a/src/sound.c
+++ b/src/sound.c
@@ -5,7 +5,7 @@
#include "m4a.h"
#include "main.h"
#include "pokemon.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "task.h"
struct Fanfare
diff --git a/src/sprite.c b/src/sprite.c
index daa019019..9db61d2e9 100644
--- a/src/sprite.c
+++ b/src/sprite.c
@@ -168,14 +168,7 @@ static const struct Sprite sDummySprite =
.animPaused = 0,
.affineAnimPaused = 0,
.animLoopCounter = 0,
- .data0 = 0,
- .data1 = 0,
- .data2 = 0,
- .data3 = 0,
- .data4 = 0,
- .data5 = 0,
- .data6 = 0,
- .data7 = 0,
+ .data = {0, 0, 0, 0, 0, 0, 0},
.inUse = 0,
.coordOffsetEnabled = 0,
.invisible = 0,
@@ -1075,7 +1068,7 @@ void BeginAffineAnim(struct Sprite *sprite)
ApplyAffineAnimFrame(matrixNum, &frameCmd);
sAffineAnimStates[matrixNum].delayCounter = frameCmd.duration;
if (sprite->flags_f)
- obj_update_pos2(sprite, sprite->data6, sprite->data7);
+ obj_update_pos2(sprite, sprite->data[6], sprite->data[7]);
}
}
@@ -1101,7 +1094,7 @@ void ContinueAffineAnim(struct Sprite *sprite)
sAffineAnimCmdFuncs[funcIndex](matrixNum, sprite);
}
if (sprite->flags_f)
- obj_update_pos2(sprite, sprite->data6, sprite->data7);
+ obj_update_pos2(sprite, sprite->data[6], sprite->data[7]);
}
}
@@ -1197,8 +1190,8 @@ u8 GetSpriteMatrixNum(struct Sprite *sprite)
void sub_8007E18(struct Sprite* sprite, s16 a2, s16 a3)
{
- sprite->data6 = a2;
- sprite->data7 = a3;
+ sprite->data[6] = a2;
+ sprite->data[7] = a3;
sprite->flags_f = 1;
}
diff --git a/src/starter_choose.c b/src/starter_choose.c
index 8cf3cfefa..82f8f75f6 100644
--- a/src/starter_choose.c
+++ b/src/starter_choose.c
@@ -12,7 +12,7 @@
#include "decompress.h"
#include "menu.h"
#include "sound.h"
-#include "songs.h"
+#include "constants/songs.h"
#include "event_data.h"
#include "pokedex.h"
#include "data2.h"
@@ -170,20 +170,20 @@ void CB2_ChooseStarter(void)
// Create hand sprite
spriteId = CreateSprite(&sSpriteTemplate_Hand, 120, 56, 2);
- gSprites[spriteId].data0 = taskId;
+ gSprites[spriteId].data[0] = taskId;
// Create three Pokeball sprites
spriteId = CreateSprite(&sSpriteTemplate_PokeBall, sPokeballCoords[0][0], sPokeballCoords[0][1], 2);
- gSprites[spriteId].data0 = taskId;
- gSprites[spriteId].data1 = 0;
+ gSprites[spriteId].data[0] = taskId;
+ gSprites[spriteId].data[1] = 0;
spriteId = CreateSprite(&sSpriteTemplate_PokeBall, sPokeballCoords[1][0], sPokeballCoords[1][1], 2);
- gSprites[spriteId].data0 = taskId;
- gSprites[spriteId].data1 = 1;
+ gSprites[spriteId].data[0] = taskId;
+ gSprites[spriteId].data[1] = 1;
spriteId = CreateSprite(&sSpriteTemplate_PokeBall, sPokeballCoords[2][0], sPokeballCoords[2][1], 2);
- gSprites[spriteId].data0 = taskId;
- gSprites[spriteId].data1 = 2;
+ gSprites[spriteId].data[0] = taskId;
+ gSprites[spriteId].data[1] = 2;
sStarterChooseWindowId = 0xFF;
}
@@ -363,15 +363,15 @@ static u8 CreatePokemonFrontSprite(u16 species, u8 x, u8 y)
static void sub_81346DC(struct Sprite *sprite)
{
- sprite->pos1.x = gUnknown_085B1E28[gTasks[sprite->data0].tStarterSelection][0];
- sprite->pos1.y = gUnknown_085B1E28[gTasks[sprite->data0].tStarterSelection][1];
- sprite->pos2.y = Sin(sprite->data1, 8);
- sprite->data1 = (u8)(sprite->data1) + 4;
+ sprite->pos1.x = gUnknown_085B1E28[gTasks[sprite->data[0]].tStarterSelection][0];
+ sprite->pos1.y = gUnknown_085B1E28[gTasks[sprite->data[0]].tStarterSelection][1];
+ sprite->pos2.y = Sin(sprite->data[1], 8);
+ sprite->data[1] = (u8)(sprite->data[1]) + 4;
}
static void sub_813473C(struct Sprite *sprite)
{
- if (gTasks[sprite->data0].tStarterSelection == sprite->data1)
+ if (gTasks[sprite->data[0]].tStarterSelection == sprite->data[1])
StartSpriteAnimIfDifferent(sprite, 1);
else
StartSpriteAnimIfDifferent(sprite, 0);
diff --git a/src/tv.c b/src/tv.c
index 1d978b093..1605be29c 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -3,8 +3,8 @@
#include "global.h"
#include "rtc.h"
#include "overworld.h"
-#include "map_constants.h"
-#include "rng.h"
+#include "constants/maps.h"
+#include "random.h"
#include "event_data.h"
#include "fieldmap.h"
#include "field_camera.h"
@@ -14,12 +14,12 @@
#include "pokemon_storage_system.h"
#include "field_message_box.h"
#include "easy_chat.h"
-#include "species.h"
-#include "moves.h"
+#include "constants/species.h"
+#include "constants/moves.h"
#include "battle.h"
#include "battle_tower.h"
#include "contest.h"
-#include "items.h"
+#include "constants/items.h"
#include "item.h"
#include "link.h"
#include "main.h"
@@ -38,6 +38,9 @@
#include "secret_base.h"
#include "tv.h"
+extern const u8 gSpeciesNames[][11];
+extern const u8 gMoveNames[][13];
+
// Static type declarations
#define rbernoulli(num, den) TV_BernoulliTrial(0xFFFF * (num) / (den))
@@ -832,7 +835,7 @@ void UpdateTVScreensOnMap(int width, int height)
case 2:
break;
default:
- if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F && gSaveBlock1Ptr->location.mapNum == MAP_ID_LILYCOVE_CITY_COVE_LILY_MOTEL_1F)
+ if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(LILYCOVE_CITY_COVE_LILY_MOTEL_1F) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(LILYCOVE_CITY_COVE_LILY_MOTEL_1F))
{
SetTVMetatilesOnMap(width, height, 0x3);
}
@@ -1575,7 +1578,9 @@ void SaveRecordedItemPurchasesForTVShow(void)
TVShow *show;
u8 i;
- if (!(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP_TRAINER_HILL_LOBBY && gSaveBlock1Ptr->location.mapNum == MAP_ID_TRAINER_HILL_LOBBY) && !(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP_BATTLE_FRONTIER_MART && gSaveBlock1Ptr->location.mapNum == MAP_ID_BATTLE_FRONTIER_MART) && !rbernoulli(1, 3))
+ if (!(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(TRAINER_HILL_ENTRANCE) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_HILL_ENTRANCE))
+ && !(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_MART) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_MART))
+ && !rbernoulli(1, 3))
{
sCurTVShowSlot = FindEmptyTVSlotBeyondFirstFiveShowsOfArray(gSaveBlock1Ptr->tvShows);
if (sCurTVShowSlot != -1 && HasMixableShowAlreadyBeenSpawnedWithPlayerID(TVSHOW_SMART_SHOPPER, FALSE) != TRUE)
@@ -2959,13 +2964,13 @@ bool8 IsPriceDiscounted(u8 newsKind)
switch (newsKind)
{
case POKENEWS_SLATEPORT:
- if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP_SLATEPORT_CITY && gSaveBlock1Ptr->location.mapNum == MAP_ID_SLATEPORT_CITY && gSpecialVar_LastTalked == 25)
+ if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SLATEPORT_CITY) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(SLATEPORT_CITY) && gSpecialVar_LastTalked == 25)
{
return TRUE;
}
return FALSE;
case POKENEWS_LILYCOVE:
- if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP && gSaveBlock1Ptr->location.mapNum == MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP)
+ if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP))
{
return TRUE;
}
@@ -3694,20 +3699,20 @@ u32 GetPlayerIDAsU32(void)
u8 CheckForBigMovieOrEmergencyNewsOnTV(void)
{
- if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F)
+ if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F))
{
return 0;
}
if (gSaveBlock2Ptr->playerGender == MALE)
{
- if (gSaveBlock1Ptr->location.mapNum != MAP_ID_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F)
+ if (gSaveBlock1Ptr->location.mapNum != MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F))
{
return 0;
}
}
else
{
- if (gSaveBlock1Ptr->location.mapNum != MAP_ID_LITTLEROOT_TOWN_MAYS_HOUSE_1F)
+ if (gSaveBlock1Ptr->location.mapNum != MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_1F))
{
return 0;
}
@@ -3725,11 +3730,11 @@ u8 CheckForBigMovieOrEmergencyNewsOnTV(void)
void GetMomOrDadStringForTVMessage(void)
{
- if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F)
+ if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F))
{
if (gSaveBlock2Ptr->playerGender == MALE)
{
- if (gSaveBlock1Ptr->location.mapNum == MAP_ID_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F)
+ if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F))
{
StringCopy(gStringVar1, gText_Mom);
VarSet(VAR_0x4003, 1);
@@ -3737,7 +3742,7 @@ void GetMomOrDadStringForTVMessage(void)
}
else
{
- if (gSaveBlock1Ptr->location.mapNum == MAP_ID_LITTLEROOT_TOWN_MAYS_HOUSE_1F)
+ if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_1F))
{
StringCopy(gStringVar1, gText_Mom);
VarSet(VAR_0x4003, 1);
diff --git a/src/wild_encounter.c b/src/wild_encounter.c
index ce1e02e5e..705c4416c 100644
--- a/src/wild_encounter.c
+++ b/src/wild_encounter.c
@@ -1,23 +1,24 @@
#include "global.h"
#include "wild_encounter.h"
#include "pokemon.h"
-#include "species.h"
+#include "constants/species.h"
#include "metatile_behavior.h"
#include "fieldmap.h"
-#include "rng.h"
-#include "map_constants.h"
+#include "random.h"
+#include "constants/maps.h"
#include "field_player_avatar.h"
-#include "abilities.h"
+#include "constants/abilities.h"
#include "event_data.h"
#include "safari_zone.h"
+#include "overworld.h"
#include "pokeblock.h"
#include "battle_setup.h"
#include "roamer.h"
-#include "game_stat.h"
+#include "constants/game_stat.h"
#include "tv.h"
#include "link.h"
#include "script.h"
-#include "items.h"
+#include "constants/items.h"
extern const u8 EventScript_RepelWoreOff[];
@@ -84,8 +85,8 @@ static bool8 CheckFeebas(void)
u8 route119Section = 0;
u16 waterTileNum;
- if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP_ROUTE119
- && gSaveBlock1Ptr->location.mapNum == MAP_ID_ROUTE119)
+ if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE119)
+ && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE119))
{
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
x -= 7;
@@ -283,8 +284,8 @@ static u16 GetCurrentMapWildMonHeaderId(void)
if (gWildMonHeaders[i].mapGroup == gSaveBlock1Ptr->location.mapGroup &&
gWildMonHeaders[i].mapNum == gSaveBlock1Ptr->location.mapNum)
{
- if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP_ALTERING_CAVE &&
- gSaveBlock1Ptr->location.mapNum == MAP_ID_ALTERING_CAVE)
+ if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ALTERING_CAVE) &&
+ gSaveBlock1Ptr->location.mapNum == MAP_NUM(ALTERING_CAVE))
{
u16 alteringCaveId = VarGet(VAR_ALTERING_CAVE_WILD_SET);
if (alteringCaveId > 8)
@@ -513,8 +514,8 @@ static bool8 DoGlobalWildEncounterDiceRoll(void)
static bool8 AreLegendariesInSootopolisPreventingEncounters(void)
{
- if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP_SOOTOPOLIS_CITY
- || gSaveBlock1Ptr->location.mapNum != MAP_ID_SOOTOPOLIS_CITY)
+ if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(SOOTOPOLIS_CITY)
+ || gSaveBlock1Ptr->location.mapNum != MAP_NUM(SOOTOPOLIS_CITY))
{
return FALSE;
}
diff --git a/sym_bss.txt b/sym_bss.txt
index e2f03b8f3..a4d3c2d82 100644
--- a/sym_bss.txt
+++ b/sym_bss.txt
@@ -2,32 +2,32 @@
.include "src/malloc.o"
.include "src/dma3_manager.o"
.include "src/gpu_regs.o"
- .include "src/bg.o"
+ .include "src/bg.o"
.include "src/text.o"
.include "src/sprite.o"
- .include "src/link.o"
- .include "src/rtc.o"
- .include "src/main_menu.o"
- .include "src/battle_1.o"
- .include "src/egg_hatch.o"
- .include "src/berry_blender.o"
- .include "src/play_time.o"
- .include "src/rom4.o"
- .include "src/field_camera.o"
- .include "src/script.o"
- .include "src/scrcmd.o"
- .include "src/tileset_anims.o"
- .include "src/palette.o"
- .include "src/sound.o"
- .include "src/field_screen.o"
- .include "src/field_effect.o"
- .include "src/pokemon_storage_system.o"
- .include "src/fldeff_cut.o"
- .include "src/script_menu.o"
- .include "src/record_mixing.o"
- .include "src/tv.o"
-
- .space 1 @ TODO: define this u32 in mauville_old_man
+ .include "src/link.o"
+ .include "src/rtc.o"
+ .include "src/main_menu.o"
+ .include "src/battle_1.o"
+ .include "src/egg_hatch.o"
+ .include "src/berry_blender.o"
+ .include "src/play_time.o"
+ .include "src/overworld.o"
+ .include "src/field_camera.o"
+ .include "src/script.o"
+ .include "src/scrcmd.o"
+ .include "src/tileset_anims.o"
+ .include "src/palette.o"
+ .include "src/sound.o"
+ .include "src/field_screen.o"
+ .include "src/field_effect.o"
+ .include "src/pokemon_storage_system.o"
+ .include "src/fldeff_cut.o"
+ .include "src/script_menu.o"
+ .include "src/record_mixing.o"
+ .include "src/tv.o"
+
+ .space 1 @ TODO: define this u32 in mauville_old_man
gUnknown_03001178: @ 3001178
.space 0x4
@@ -54,9 +54,9 @@ gUnknown_030011F6: @ 30011F6
gUnknown_030011F7: @ 30011F7
.space 0x1
- .include "src/starter_choose.o"
-
- .align 0x2
+ .include "src/starter_choose.o"
+
+ .align 0x2
gUnknown_030011FC: @ 30011FC
.space 0x2
@@ -138,7 +138,7 @@ gUnknown_03001298: @ 3001298
gUnknown_030012A8: @ 30012A8
.space 0x10
- .include "src/berry_fix_program.o"
+ .include "src/berry_fix_program.o"
gUnknown_030012BC: @ 30012BC
.space 0x4
diff --git a/sym_ewram.txt b/sym_ewram.txt
index ef9230b39..31ecf2085 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -543,7 +543,7 @@ gUnknown_0202499C: @ 202499C
gUnknown_020249B4: @ 20249B4
.space 0x8
- .include "src/rng.o"
+ .include "src/random.o"
.include "src/daycare.o"
.include "src/load_save.o"